Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
- feat: add `closeTime`, `headerXdr`, and `metadataXdr` to `GetLatestLedgerResponse`. ([#768](https://github.com/lightsail-network/java-stellar-sdk/pull/768))
- chore: bump [stellar-xdr](https://github.com/stellar/stellar-xdr) to v25.0. ([#769](https://github.com/lightsail-network/java-stellar-sdk/pull/769))
- refactor!: remove deprecated `StrKey` helpers `encodeEd25519PublicKey(AccountID)`, `encodeMuxedAccount(MuxedAccount)`, `decodeMuxedAccount(String)`, `encodeToXDRAccountId(String)`, and `encodeToXDRMuxedAccount(String)`; use `StrKey.encodeEd25519PublicKey(byte[])`, `org.stellar.sdk.MuxedAccount`, and `KeyPair#getXdrAccountId()` instead. ([#779](https://github.com/lightsail-network/java-stellar-sdk/pull/779))
- chore: bump [stellar-xdr](https://github.com/stellar/stellar-xdr) to v26.0.

## 2.2.3

Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ xdr/Stellar-transaction.x \
xdr/Stellar-types.x

# stellar-xdr commit to use, see https://github.com/stellar/stellar-xdr
XDR_COMMIT=0a621ec7811db000a60efae5b35f78dee3aa2533
XDR_COMMIT=cff714a5ebaaaf2dac343b3546c2df73f0b7a36e

.PHONY: xdr xdr-clean xdr-update xdr-generator-test xdr-generator-update-snapshots

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
* case CLAIM_CLAIMABLE_BALANCE_LINE_FULL:
* case CLAIM_CLAIMABLE_BALANCE_NO_TRUST:
* case CLAIM_CLAIMABLE_BALANCE_NOT_AUTHORIZED:
* case CLAIM_CLAIMABLE_BALANCE_TRUSTLINE_FROZEN:
* void;
* };
* </pre>
Expand All @@ -45,6 +46,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
case CLAIM_CLAIMABLE_BALANCE_LINE_FULL:
case CLAIM_CLAIMABLE_BALANCE_NO_TRUST:
case CLAIM_CLAIMABLE_BALANCE_NOT_AUTHORIZED:
case CLAIM_CLAIMABLE_BALANCE_TRUSTLINE_FROZEN:
break;
}
}
Expand All @@ -68,6 +70,7 @@ public static ClaimClaimableBalanceResult decode(XdrDataInputStream stream, int
case CLAIM_CLAIMABLE_BALANCE_LINE_FULL:
case CLAIM_CLAIMABLE_BALANCE_NO_TRUST:
case CLAIM_CLAIMABLE_BALANCE_NOT_AUTHORIZED:
case CLAIM_CLAIMABLE_BALANCE_TRUSTLINE_FROZEN:
break;
default:
throw new IOException("Unknown discriminant value: " + discriminant);
Expand Down Expand Up @@ -119,6 +122,9 @@ Object toJsonObject() {
if (discriminant == ClaimClaimableBalanceResultCode.CLAIM_CLAIMABLE_BALANCE_NOT_AUTHORIZED) {
return "not_authorized";
}
if (discriminant == ClaimClaimableBalanceResultCode.CLAIM_CLAIMABLE_BALANCE_TRUSTLINE_FROZEN) {
return "trustline_frozen";
}
throw new IllegalArgumentException("Unknown discriminant: " + discriminant);
}

Expand All @@ -131,7 +137,8 @@ static ClaimClaimableBalanceResult fromJsonObject(Object json) {
|| strVal.equals("cannot_claim")
|| strVal.equals("line_full")
|| strVal.equals("no_trust")
|| strVal.equals("not_authorized"))) {
|| strVal.equals("not_authorized")
|| strVal.equals("trustline_frozen"))) {
throw new IllegalArgumentException(
"Unexpected string '" + strVal + "' for ClaimClaimableBalanceResult");
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,8 @@
* CLAIM_CLAIMABLE_BALANCE_CANNOT_CLAIM = -2,
* CLAIM_CLAIMABLE_BALANCE_LINE_FULL = -3,
* CLAIM_CLAIMABLE_BALANCE_NO_TRUST = -4,
* CLAIM_CLAIMABLE_BALANCE_NOT_AUTHORIZED = -5
* CLAIM_CLAIMABLE_BALANCE_NOT_AUTHORIZED = -5,
* CLAIM_CLAIMABLE_BALANCE_TRUSTLINE_FROZEN = -6
* };
* </pre>
*/
Expand All @@ -28,7 +29,8 @@ public enum ClaimClaimableBalanceResultCode implements XdrElement {
CLAIM_CLAIMABLE_BALANCE_CANNOT_CLAIM(-2),
CLAIM_CLAIMABLE_BALANCE_LINE_FULL(-3),
CLAIM_CLAIMABLE_BALANCE_NO_TRUST(-4),
CLAIM_CLAIMABLE_BALANCE_NOT_AUTHORIZED(-5);
CLAIM_CLAIMABLE_BALANCE_NOT_AUTHORIZED(-5),
CLAIM_CLAIMABLE_BALANCE_TRUSTLINE_FROZEN(-6);

private final int value;

Expand Down Expand Up @@ -57,6 +59,8 @@ public static ClaimClaimableBalanceResultCode decode(XdrDataInputStream stream,
return CLAIM_CLAIMABLE_BALANCE_NO_TRUST;
case -5:
return CLAIM_CLAIMABLE_BALANCE_NOT_AUTHORIZED;
case -6:
return CLAIM_CLAIMABLE_BALANCE_TRUSTLINE_FROZEN;
default:
throw new IllegalArgumentException("Unknown enum value: " + value);
}
Expand Down Expand Up @@ -106,6 +110,8 @@ Object toJsonObject() {
return "no_trust";
case CLAIM_CLAIMABLE_BALANCE_NOT_AUTHORIZED:
return "not_authorized";
case CLAIM_CLAIMABLE_BALANCE_TRUSTLINE_FROZEN:
return "trustline_frozen";
default:
throw new IllegalArgumentException("Unknown enum value: " + this.value);
}
Expand All @@ -126,6 +132,8 @@ static ClaimClaimableBalanceResultCode fromJsonObject(Object json) {
return CLAIM_CLAIMABLE_BALANCE_NO_TRUST;
case "not_authorized":
return CLAIM_CLAIMABLE_BALANCE_NOT_AUTHORIZED;
case "trustline_frozen":
return CLAIM_CLAIMABLE_BALANCE_TRUSTLINE_FROZEN;
default:
throw new IllegalArgumentException("Unknown JSON value: " + value);
}
Expand Down
85 changes: 85 additions & 0 deletions src/main/java/org/stellar/sdk/xdr/ConfigSettingEntry.java
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,14 @@
* ConfigSettingContractLedgerCostExtV0 contractLedgerCostExt;
* case CONFIG_SETTING_SCP_TIMING:
* ConfigSettingSCPTiming contractSCPTiming;
* case CONFIG_SETTING_FROZEN_LEDGER_KEYS:
* FrozenLedgerKeys frozenLedgerKeys;
* case CONFIG_SETTING_FROZEN_LEDGER_KEYS_DELTA:
* FrozenLedgerKeysDelta frozenLedgerKeysDelta;
* case CONFIG_SETTING_FREEZE_BYPASS_TXS:
* FreezeBypassTxs freezeBypassTxs;
* case CONFIG_SETTING_FREEZE_BYPASS_TXS_DELTA:
* FreezeBypassTxsDelta freezeBypassTxsDelta;
* };
* </pre>
*/
Expand All @@ -79,6 +87,10 @@ public class ConfigSettingEntry implements XdrElement {
private ConfigSettingContractParallelComputeV0 contractParallelCompute;
private ConfigSettingContractLedgerCostExtV0 contractLedgerCostExt;
private ConfigSettingSCPTiming contractSCPTiming;
private FrozenLedgerKeys frozenLedgerKeys;
private FrozenLedgerKeysDelta frozenLedgerKeysDelta;
private FreezeBypassTxs freezeBypassTxs;
private FreezeBypassTxsDelta freezeBypassTxsDelta;

public void encode(XdrDataOutputStream stream) throws IOException {
stream.writeInt(discriminant.getValue());
Expand Down Expand Up @@ -138,6 +150,18 @@ public void encode(XdrDataOutputStream stream) throws IOException {
case CONFIG_SETTING_SCP_TIMING:
contractSCPTiming.encode(stream);
break;
case CONFIG_SETTING_FROZEN_LEDGER_KEYS:
frozenLedgerKeys.encode(stream);
break;
case CONFIG_SETTING_FROZEN_LEDGER_KEYS_DELTA:
frozenLedgerKeysDelta.encode(stream);
break;
case CONFIG_SETTING_FREEZE_BYPASS_TXS:
freezeBypassTxs.encode(stream);
break;
case CONFIG_SETTING_FREEZE_BYPASS_TXS_DELTA:
freezeBypassTxsDelta.encode(stream);
break;
}
}

Expand Down Expand Up @@ -232,6 +256,20 @@ public static ConfigSettingEntry decode(XdrDataInputStream stream, int maxDepth)
decodedConfigSettingEntry.contractSCPTiming =
ConfigSettingSCPTiming.decode(stream, maxDepth);
break;
case CONFIG_SETTING_FROZEN_LEDGER_KEYS:
decodedConfigSettingEntry.frozenLedgerKeys = FrozenLedgerKeys.decode(stream, maxDepth);
break;
case CONFIG_SETTING_FROZEN_LEDGER_KEYS_DELTA:
decodedConfigSettingEntry.frozenLedgerKeysDelta =
FrozenLedgerKeysDelta.decode(stream, maxDepth);
break;
case CONFIG_SETTING_FREEZE_BYPASS_TXS:
decodedConfigSettingEntry.freezeBypassTxs = FreezeBypassTxs.decode(stream, maxDepth);
break;
case CONFIG_SETTING_FREEZE_BYPASS_TXS_DELTA:
decodedConfigSettingEntry.freezeBypassTxsDelta =
FreezeBypassTxsDelta.decode(stream, maxDepth);
break;
default:
throw new IOException("Unknown discriminant value: " + discriminant);
}
Expand Down Expand Up @@ -353,6 +391,26 @@ Object toJsonObject() {
jsonMap.put("scp_timing", contractSCPTiming.toJsonObject());
return jsonMap;
}
if (discriminant == ConfigSettingID.CONFIG_SETTING_FROZEN_LEDGER_KEYS) {
LinkedHashMap<String, Object> jsonMap = new LinkedHashMap<>();
jsonMap.put("frozen_ledger_keys", frozenLedgerKeys.toJsonObject());
return jsonMap;
}
if (discriminant == ConfigSettingID.CONFIG_SETTING_FROZEN_LEDGER_KEYS_DELTA) {
LinkedHashMap<String, Object> jsonMap = new LinkedHashMap<>();
jsonMap.put("frozen_ledger_keys_delta", frozenLedgerKeysDelta.toJsonObject());
return jsonMap;
}
if (discriminant == ConfigSettingID.CONFIG_SETTING_FREEZE_BYPASS_TXS) {
LinkedHashMap<String, Object> jsonMap = new LinkedHashMap<>();
jsonMap.put("freeze_bypass_txs", freezeBypassTxs.toJsonObject());
return jsonMap;
}
if (discriminant == ConfigSettingID.CONFIG_SETTING_FREEZE_BYPASS_TXS_DELTA) {
LinkedHashMap<String, Object> jsonMap = new LinkedHashMap<>();
jsonMap.put("freeze_bypass_txs_delta", freezeBypassTxsDelta.toJsonObject());
return jsonMap;
}
throw new IllegalArgumentException("Unknown discriminant: " + discriminant);
}

Expand Down Expand Up @@ -492,6 +550,33 @@ static ConfigSettingEntry fromJsonObject(Object json) {
instance.contractSCPTiming = ConfigSettingSCPTiming.fromJsonObject(jsonMap.get("scp_timing"));
return instance;
}
if (key.equals("frozen_ledger_keys")) {
ConfigSettingEntry instance = new ConfigSettingEntry();
instance.discriminant = discriminant;
instance.frozenLedgerKeys =
FrozenLedgerKeys.fromJsonObject(jsonMap.get("frozen_ledger_keys"));
return instance;
}
if (key.equals("frozen_ledger_keys_delta")) {
ConfigSettingEntry instance = new ConfigSettingEntry();
instance.discriminant = discriminant;
instance.frozenLedgerKeysDelta =
FrozenLedgerKeysDelta.fromJsonObject(jsonMap.get("frozen_ledger_keys_delta"));
return instance;
}
if (key.equals("freeze_bypass_txs")) {
ConfigSettingEntry instance = new ConfigSettingEntry();
instance.discriminant = discriminant;
instance.freezeBypassTxs = FreezeBypassTxs.fromJsonObject(jsonMap.get("freeze_bypass_txs"));
return instance;
}
if (key.equals("freeze_bypass_txs_delta")) {
ConfigSettingEntry instance = new ConfigSettingEntry();
instance.discriminant = discriminant;
instance.freezeBypassTxsDelta =
FreezeBypassTxsDelta.fromJsonObject(jsonMap.get("freeze_bypass_txs_delta"));
return instance;
}
throw new IllegalArgumentException("Unknown key '" + key + "' for ConfigSettingEntry");
}
}
36 changes: 34 additions & 2 deletions src/main/java/org/stellar/sdk/xdr/ConfigSettingID.java
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,11 @@
* CONFIG_SETTING_EVICTION_ITERATOR = 13,
* CONFIG_SETTING_CONTRACT_PARALLEL_COMPUTE_V0 = 14,
* CONFIG_SETTING_CONTRACT_LEDGER_COST_EXT_V0 = 15,
* CONFIG_SETTING_SCP_TIMING = 16
* CONFIG_SETTING_SCP_TIMING = 16,
* CONFIG_SETTING_FROZEN_LEDGER_KEYS = 17,
* CONFIG_SETTING_FROZEN_LEDGER_KEYS_DELTA = 18,
* CONFIG_SETTING_FREEZE_BYPASS_TXS = 19,
* CONFIG_SETTING_FREEZE_BYPASS_TXS_DELTA = 20
* };
* </pre>
*/
Expand All @@ -50,7 +54,11 @@ public enum ConfigSettingID implements XdrElement {
CONFIG_SETTING_EVICTION_ITERATOR(13),
CONFIG_SETTING_CONTRACT_PARALLEL_COMPUTE_V0(14),
CONFIG_SETTING_CONTRACT_LEDGER_COST_EXT_V0(15),
CONFIG_SETTING_SCP_TIMING(16);
CONFIG_SETTING_SCP_TIMING(16),
CONFIG_SETTING_FROZEN_LEDGER_KEYS(17),
CONFIG_SETTING_FROZEN_LEDGER_KEYS_DELTA(18),
CONFIG_SETTING_FREEZE_BYPASS_TXS(19),
CONFIG_SETTING_FREEZE_BYPASS_TXS_DELTA(20);

private final int value;

Expand Down Expand Up @@ -100,6 +108,14 @@ public static ConfigSettingID decode(XdrDataInputStream stream, int maxDepth) th
return CONFIG_SETTING_CONTRACT_LEDGER_COST_EXT_V0;
case 16:
return CONFIG_SETTING_SCP_TIMING;
case 17:
return CONFIG_SETTING_FROZEN_LEDGER_KEYS;
case 18:
return CONFIG_SETTING_FROZEN_LEDGER_KEYS_DELTA;
case 19:
return CONFIG_SETTING_FREEZE_BYPASS_TXS;
case 20:
return CONFIG_SETTING_FREEZE_BYPASS_TXS_DELTA;
default:
throw new IllegalArgumentException("Unknown enum value: " + value);
}
Expand Down Expand Up @@ -170,6 +186,14 @@ Object toJsonObject() {
return "contract_ledger_cost_ext_v0";
case CONFIG_SETTING_SCP_TIMING:
return "scp_timing";
case CONFIG_SETTING_FROZEN_LEDGER_KEYS:
return "frozen_ledger_keys";
case CONFIG_SETTING_FROZEN_LEDGER_KEYS_DELTA:
return "frozen_ledger_keys_delta";
case CONFIG_SETTING_FREEZE_BYPASS_TXS:
return "freeze_bypass_txs";
case CONFIG_SETTING_FREEZE_BYPASS_TXS_DELTA:
return "freeze_bypass_txs_delta";
default:
throw new IllegalArgumentException("Unknown enum value: " + this.value);
}
Expand Down Expand Up @@ -212,6 +236,14 @@ static ConfigSettingID fromJsonObject(Object json) {
return CONFIG_SETTING_CONTRACT_LEDGER_COST_EXT_V0;
case "scp_timing":
return CONFIG_SETTING_SCP_TIMING;
case "frozen_ledger_keys":
return CONFIG_SETTING_FROZEN_LEDGER_KEYS;
case "frozen_ledger_keys_delta":
return CONFIG_SETTING_FROZEN_LEDGER_KEYS_DELTA;
case "freeze_bypass_txs":
return CONFIG_SETTING_FREEZE_BYPASS_TXS;
case "freeze_bypass_txs_delta":
return CONFIG_SETTING_FREEZE_BYPASS_TXS_DELTA;
default:
throw new IllegalArgumentException("Unknown JSON value: " + value);
}
Expand Down
13 changes: 11 additions & 2 deletions src/main/java/org/stellar/sdk/xdr/ContractCostType.java
Original file line number Diff line number Diff line change
Expand Up @@ -192,7 +192,9 @@
* // Cost of performing BN254 scalar element exponentiation
* Bn254FrPow = 83,
* // Cost of performing BN254 scalar element inversion
* Bn254FrInv = 84
* Bn254FrInv = 84,
* // Cost of performing BN254 G1 multi-scalar multiplication (MSM)
* Bn254G1Msm = 85
* };
* </pre>
*/
Expand Down Expand Up @@ -281,7 +283,8 @@ public enum ContractCostType implements XdrElement {
Bn254FrAddSub(81),
Bn254FrMul(82),
Bn254FrPow(83),
Bn254FrInv(84);
Bn254FrInv(84),
Bn254G1Msm(85);

private final int value;

Expand Down Expand Up @@ -468,6 +471,8 @@ public static ContractCostType decode(XdrDataInputStream stream, int maxDepth)
return Bn254FrPow;
case 84:
return Bn254FrInv;
case 85:
return Bn254G1Msm;
default:
throw new IllegalArgumentException("Unknown enum value: " + value);
}
Expand Down Expand Up @@ -674,6 +679,8 @@ Object toJsonObject() {
return "bn254frpow";
case Bn254FrInv:
return "bn254frinv";
case Bn254G1Msm:
return "bn254g1msm";
default:
throw new IllegalArgumentException("Unknown enum value: " + this.value);
}
Expand Down Expand Up @@ -852,6 +859,8 @@ static ContractCostType fromJsonObject(Object json) {
return Bn254FrPow;
case "bn254frinv":
return Bn254FrInv;
case "bn254g1msm":
return Bn254G1Msm;
default:
throw new IllegalArgumentException("Unknown JSON value: " + value);
}
Expand Down
Loading
Loading