Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support muxed accounts by default. #399

Merged
merged 2 commits into from
Jan 10, 2022
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 @@ -10,6 +10,7 @@ As this project is pre 1.0, breaking changes may happen for minor version bumps.
### Breaking changes
* org.stellar.sdk.Asset.createNonNativeAsset() is now private. ([#398](https://github.com/stellar/java-stellar-sdk/pull/398)).
* org.stellar.sdk.responses.effects.TrustlineCUDResponse, removed non-default public constructor, it wasn't needed. ([#398](https://github.com/stellar/java-stellar-sdk/pull/398)).
* Muxed accounts are now supported by default. Previously we added opt in support for muxed accounts. But now we are changing the default behavior so that muxed accounts are rendered using their 'M' address encoding ([#399](https://github.com/stellar/java-stellar-sdk/pull/399)).

## 0.30.0

Expand Down
4 changes: 2 additions & 2 deletions src/main/java/org/stellar/sdk/AbstractTransaction.java
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ public static AbstractTransaction fromEnvelopeXdr(AccountConverter accountConver
* @return
*/
public static AbstractTransaction fromEnvelopeXdr(TransactionEnvelope envelope, Network network) {
return fromEnvelopeXdr(AccountConverter.disableMuxed(), envelope, network);
return fromEnvelopeXdr(AccountConverter.enableMuxed(), envelope, network);
}

/**
Expand All @@ -150,7 +150,7 @@ public static AbstractTransaction fromEnvelopeXdr(AccountConverter accountConver
* @throws IOException
*/
public static AbstractTransaction fromEnvelopeXdr(String envelope, Network network) throws IOException {
return fromEnvelopeXdr(AccountConverter.disableMuxed(), envelope, network);
return fromEnvelopeXdr(AccountConverter.enableMuxed(), envelope, network);
}

public static byte[] getTransactionSignatureBase(TransactionSignaturePayload.TransactionSignaturePayloadTaggedTransaction taggedTransaction,
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/org/stellar/sdk/FeeBumpTransaction.java
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ public static FeeBumpTransaction fromFeeBumpTransactionEnvelope(AccountConverter
}

public static FeeBumpTransaction fromFeeBumpTransactionEnvelope(FeeBumpTransactionEnvelope envelope, Network network) {
return fromFeeBumpTransactionEnvelope(AccountConverter.disableMuxed(), envelope, network);
return fromFeeBumpTransactionEnvelope(AccountConverter.enableMuxed(), envelope, network);
}

private org.stellar.sdk.xdr.FeeBumpTransaction toXdr() {
Expand Down Expand Up @@ -140,7 +140,7 @@ public Builder(AccountConverter accountConverter, Transaction inner) {
* @param inner The inner transaction which will be fee bumped.
*/
public Builder(Transaction inner) {
this(AccountConverter.disableMuxed(), inner);
this(AccountConverter.enableMuxed(), inner);
}

public FeeBumpTransaction.Builder setBaseFee(long baseFee) {
Expand Down
6 changes: 3 additions & 3 deletions src/main/java/org/stellar/sdk/Operation.java
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ public org.stellar.sdk.xdr.Operation toXdr(AccountConverter accountConverter) {
* Generates Operation XDR object.
*/
public org.stellar.sdk.xdr.Operation toXdr() {
return toXdr(AccountConverter.disableMuxed());
return toXdr(AccountConverter.enableMuxed());
}

/**
Expand All @@ -70,7 +70,7 @@ public String toXdrBase64(AccountConverter accountConverter) {
* Returns base64-encoded Operation XDR object.
*/
public String toXdrBase64() {
return toXdrBase64(AccountConverter.disableMuxed());
return toXdrBase64(AccountConverter.enableMuxed());
}


Expand Down Expand Up @@ -199,7 +199,7 @@ public static Operation fromXdr(AccountConverter accountConverter, org.stellar.s
* @param xdr XDR object
*/
public static Operation fromXdr(org.stellar.sdk.xdr.Operation xdr) {
return fromXdr(AccountConverter.disableMuxed(), xdr);
return fromXdr(AccountConverter.enableMuxed(), xdr);
}

/**
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/org/stellar/sdk/Sep10Challenge.java
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ public static Transaction newChallenge(
.setSourceAccount(sourceAccount.getAccountId())
.build();

Transaction.Builder builder = new Transaction.Builder(AccountConverter.disableMuxed(), sourceAccount, network)
Transaction.Builder builder = new Transaction.Builder(AccountConverter.enableMuxed(), sourceAccount, network)
.addTimeBounds(timebounds)
.setBaseFee(100)
.addOperation(domainNameOperation)
Expand Down Expand Up @@ -137,7 +137,7 @@ public static ChallengeTransaction readChallengeTransaction(String challengeXdr,
}

// decode the received input as a base64-urlencoded XDR representation of Stellar transaction envelope
AbstractTransaction parsed = Transaction.fromEnvelopeXdr(AccountConverter.disableMuxed(), challengeXdr, network);
AbstractTransaction parsed = Transaction.fromEnvelopeXdr(AccountConverter.enableMuxed(), challengeXdr, network);
if (!(parsed instanceof Transaction)) {
throw new InvalidSep10ChallengeException("Transaction cannot be a fee bump transaction");
}
Expand Down
8 changes: 4 additions & 4 deletions src/main/java/org/stellar/sdk/Transaction.java
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,7 @@ private TransactionV0 toXdr() {
// operations
org.stellar.sdk.xdr.Operation[] operations = new org.stellar.sdk.xdr.Operation[mOperations.length];
for (int i = 0; i < mOperations.length; i++) {
operations[i] = mOperations[i].toXdr(AccountConverter.disableMuxed());
operations[i] = mOperations[i].toXdr(AccountConverter.enableMuxed());
}
// ext
TransactionV0.TransactionV0Ext ext = new TransactionV0.TransactionV0Ext();
Expand Down Expand Up @@ -223,7 +223,7 @@ public static Transaction fromV0EnvelopeXdr(AccountConverter accountConverter, T
}

public static Transaction fromV0EnvelopeXdr(TransactionV0Envelope envelope, Network network) {
return fromV0EnvelopeXdr(AccountConverter.disableMuxed(), envelope, network);
return fromV0EnvelopeXdr(AccountConverter.enableMuxed(), envelope, network);
}

public static Transaction fromV1EnvelopeXdr(AccountConverter accountConverter, TransactionV1Envelope envelope, Network network) {
Expand Down Expand Up @@ -254,7 +254,7 @@ public static Transaction fromV1EnvelopeXdr(AccountConverter accountConverter, T
}

public static Transaction fromV1EnvelopeXdr(TransactionV1Envelope envelope, Network network) {
return fromV1EnvelopeXdr(AccountConverter.disableMuxed(), envelope, network);
return fromV1EnvelopeXdr(AccountConverter.enableMuxed(), envelope, network);
}

/**
Expand Down Expand Up @@ -320,7 +320,7 @@ public Builder(AccountConverter accountConverter, TransactionBuilderAccount sour
* will be incremented.
*/
public Builder(TransactionBuilderAccount sourceAccount, Network network) {
this(AccountConverter.disableMuxed(), sourceAccount, network);
this(AccountConverter.enableMuxed(), sourceAccount, network);
}

public int getOperationsCount() {
Expand Down
34 changes: 17 additions & 17 deletions src/test/java/org/stellar/sdk/OperationTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -90,9 +90,9 @@ public void testMuxedPaymentOperation() throws FormatException, IOException, Ass
assertEquals(destination, parsedOperation.getDestination());
assertEquals(source, parsedOperation.getSourceAccount());

parsedOperation = (PaymentOperation) Operation.fromXdr(AccountConverter.disableMuxed(), xdr);
assertEquals("GDQNY3PBOJOKYZSRMK2S7LHHGWZIUISD4QORETLMXEWXBI7KFZZMKTL3", parsedOperation.getDestination());
assertEquals("GA7QYNF7SOWQ3GLR2BGMZEHXAVIRZA4KVWLTJJFC7MGXUA74P7UJVSGZ", parsedOperation.getSourceAccount());
parsedOperation = (PaymentOperation) Operation.fromXdr(AccountConverter.enableMuxed(), xdr);
assertEquals("MDQNY3PBOJOKYZSRMK2S7LHHGWZIUISD4QORETLMXEWXBI7KFZZMKAAAAAAMV7V2XYGQO", parsedOperation.getDestination());
assertEquals("MA7QYNF7SOWQ3GLR2BGMZEHXAVIRZA4KVWLTJJFC7MGXUA74P7UJVAAAAAAAAAAAAAJLK", parsedOperation.getSourceAccount());
}

@Test
Expand Down Expand Up @@ -200,9 +200,9 @@ public void testMuxedPathPaymentStrictReceiveOperation() throws FormatException,
assertEquals(destination, parsedOperation.getDestination());
assertEquals(source, parsedOperation.getSourceAccount());

parsedOperation = (PathPaymentStrictReceiveOperation) Operation.fromXdr(AccountConverter.disableMuxed(), xdr);
assertEquals("GDQNY3PBOJOKYZSRMK2S7LHHGWZIUISD4QORETLMXEWXBI7KFZZMKTL3", parsedOperation.getDestination());
assertEquals("GA7QYNF7SOWQ3GLR2BGMZEHXAVIRZA4KVWLTJJFC7MGXUA74P7UJVSGZ", parsedOperation.getSourceAccount());
parsedOperation = (PathPaymentStrictReceiveOperation) Operation.fromXdr(AccountConverter.enableMuxed(), xdr);
assertEquals("MDQNY3PBOJOKYZSRMK2S7LHHGWZIUISD4QORETLMXEWXBI7KFZZMKAAAAAAMV7V2XYGQO", parsedOperation.getDestination());
assertEquals("MA7QYNF7SOWQ3GLR2BGMZEHXAVIRZA4KVWLTJJFC7MGXUA74P7UJVAAAAAAAAAAAAAJLK", parsedOperation.getSourceAccount());
}

@Test
Expand Down Expand Up @@ -316,9 +316,9 @@ public void testMuxedPathPaymentStrictSendOperation() throws FormatException, IO
assertEquals(destination, parsedOperation.getDestination());
assertEquals(source, parsedOperation.getSourceAccount());

parsedOperation = (PathPaymentStrictSendOperation) Operation.fromXdr(AccountConverter.disableMuxed(), xdr);
assertEquals("GDQNY3PBOJOKYZSRMK2S7LHHGWZIUISD4QORETLMXEWXBI7KFZZMKTL3", parsedOperation.getDestination());
assertEquals("GA7QYNF7SOWQ3GLR2BGMZEHXAVIRZA4KVWLTJJFC7MGXUA74P7UJVSGZ", parsedOperation.getSourceAccount());
parsedOperation = (PathPaymentStrictSendOperation) Operation.fromXdr(AccountConverter.enableMuxed(), xdr);
assertEquals("MDQNY3PBOJOKYZSRMK2S7LHHGWZIUISD4QORETLMXEWXBI7KFZZMKAAAAAAMV7V2XYGQO", parsedOperation.getDestination());
assertEquals("MA7QYNF7SOWQ3GLR2BGMZEHXAVIRZA4KVWLTJJFC7MGXUA74P7UJVAAAAAAAAAAAAAJLK", parsedOperation.getSourceAccount());
}

@Test
Expand Down Expand Up @@ -729,9 +729,9 @@ public void testMuxedAccountMergeOperation() throws IOException, FormatException
assertEquals(destination, parsedOperation.getDestination());
assertEquals(source, parsedOperation.getSourceAccount());

parsedOperation = (AccountMergeOperation) Operation.fromXdr(AccountConverter.disableMuxed(), xdr);
assertEquals("GDQNY3PBOJOKYZSRMK2S7LHHGWZIUISD4QORETLMXEWXBI7KFZZMKTL3", parsedOperation.getDestination());
assertEquals("GA7QYNF7SOWQ3GLR2BGMZEHXAVIRZA4KVWLTJJFC7MGXUA74P7UJVSGZ", parsedOperation.getSourceAccount());
parsedOperation = (AccountMergeOperation) Operation.fromXdr(AccountConverter.enableMuxed(), xdr);
assertEquals("MDQNY3PBOJOKYZSRMK2S7LHHGWZIUISD4QORETLMXEWXBI7KFZZMKAAAAAAMV7V2XYGQO", parsedOperation.getDestination());
assertEquals("MA7QYNF7SOWQ3GLR2BGMZEHXAVIRZA4KVWLTJJFC7MGXUA74P7UJVAAAAAAAAAAAAAJLK", parsedOperation.getSourceAccount());
}

@Test
Expand Down Expand Up @@ -1044,9 +1044,9 @@ public void testMuxedClawbackOperation() throws IOException, FormatException {
assertEquals(from, parsedOperation.getFrom());
assertEquals(source, parsedOperation.getSourceAccount());

parsedOperation = (ClawbackOperation) Operation.fromXdr(AccountConverter.disableMuxed(), xdr);
assertEquals("GDQNY3PBOJOKYZSRMK2S7LHHGWZIUISD4QORETLMXEWXBI7KFZZMKTL3", parsedOperation.getFrom());
assertEquals("GA7QYNF7SOWQ3GLR2BGMZEHXAVIRZA4KVWLTJJFC7MGXUA74P7UJVSGZ", parsedOperation.getSourceAccount());
parsedOperation = (ClawbackOperation) Operation.fromXdr(AccountConverter.enableMuxed(), xdr);
assertEquals("MDQNY3PBOJOKYZSRMK2S7LHHGWZIUISD4QORETLMXEWXBI7KFZZMKAAAAAAMV7V2XYGQO", parsedOperation.getFrom());
assertEquals("MA7QYNF7SOWQ3GLR2BGMZEHXAVIRZA4KVWLTJJFC7MGXUA74P7UJVAAAAAAAAAAAAAJLK", parsedOperation.getSourceAccount());
}

@Test
Expand All @@ -1064,9 +1064,9 @@ public void testMixedMuxedClawbackOperation() throws IOException, FormatExceptio
assertEquals(from, parsedOperation.getFrom());
assertEquals(source, parsedOperation.getSourceAccount());

parsedOperation = (ClawbackOperation) Operation.fromXdr(AccountConverter.disableMuxed(), xdr);
parsedOperation = (ClawbackOperation) Operation.fromXdr(AccountConverter.enableMuxed(), xdr);
assertEquals(from, parsedOperation.getFrom());
assertEquals("GA7QYNF7SOWQ3GLR2BGMZEHXAVIRZA4KVWLTJJFC7MGXUA74P7UJVSGZ", parsedOperation.getSourceAccount());
assertEquals("MA7QYNF7SOWQ3GLR2BGMZEHXAVIRZA4KVWLTJJFC7MGXUA74P7UJVAAAAAAAAAAAAAJLK", parsedOperation.getSourceAccount());
}

@Test
Expand Down