diff --git a/src/integrationTest/java/com/kryptokrauts/aeternity/generated/api/TransactionNameServiceTest.java b/src/integrationTest/java/com/kryptokrauts/aeternity/generated/api/TransactionNameServiceTest.java index 670fd198..e4f68126 100644 --- a/src/integrationTest/java/com/kryptokrauts/aeternity/generated/api/TransactionNameServiceTest.java +++ b/src/integrationTest/java/com/kryptokrauts/aeternity/generated/api/TransactionNameServiceTest.java @@ -198,6 +198,8 @@ public void postUpdateAndSpendTxTest(TestContext context) { String channelPointer = keyPair.getAddress().replace("ak_", "ch_"); String oraclePointer = keyPair.getOracleAddress(); + KeyPair anotherKeyPair = keyPairService.generateKeyPair(); + NameUpdateTransactionModel nameUpdateTx = NameUpdateTransactionModel.builder() .accountId(keyPair.getAddress()) @@ -213,6 +215,14 @@ public void postUpdateAndSpendTxTest(TestContext context) { put(AENS.POINTER_KEY_CHANNEL, channelPointer); put(AENS.POINTER_KEY_CONTRACT, contractPointer); put(AENS.POINTER_KEY_ORACLE, oraclePointer); + put("arbitrary-account-pointer-key", anotherKeyPair.getAddress()); + put( + "arbitrary-channel-pointer-key", + anotherKeyPair.getAddress().replace("ak_", "ch_")); + put( + "arbitrary-contract-pointer-key", + anotherKeyPair.getContractAddress()); + put("arbitrary-oracle-pointer-key", anotherKeyPair.getOracleAddress()); } }) .build(); @@ -233,6 +243,10 @@ public void postUpdateAndSpendTxTest(TestContext context) { context.assertEquals(channelPointer, nameEntryResult.getChannelPointer().get()); context.assertEquals(contractPointer, nameEntryResult.getContractPointer().get()); context.assertEquals(oraclePointer, nameEntryResult.getOraclePointer().get()); + context.assertEquals( + anotherKeyPair.getAddress(), + nameEntryResult.getPointers().get("arbitrary-account-pointer-key")); + context.assertTrue(nameEntryResult.getPointers().size() == 8); BigInteger updatedTTL = nameEntryResult.getTtl(); // subtract 170000 because initial default ttl is 180000 and // updated ttl was 10000 diff --git a/src/main/java/com/kryptokrauts/aeternity/sdk/service/name/domain/NameEntryResult.java b/src/main/java/com/kryptokrauts/aeternity/sdk/service/name/domain/NameEntryResult.java index 8abb40e6..77fd2785 100644 --- a/src/main/java/com/kryptokrauts/aeternity/sdk/service/name/domain/NameEntryResult.java +++ b/src/main/java/com/kryptokrauts/aeternity/sdk/service/name/domain/NameEntryResult.java @@ -2,7 +2,7 @@ import com.kryptokrauts.aeternity.generated.model.NameEntry; import com.kryptokrauts.aeternity.generated.model.NamePointer; -import com.kryptokrauts.aeternity.sdk.constants.ApiIdentifiers; +import com.kryptokrauts.aeternity.sdk.constants.AENS; import com.kryptokrauts.aeternity.sdk.domain.GenericResultObject; import java.math.BigInteger; import java.util.Collections; @@ -25,24 +25,30 @@ public class NameEntryResult extends GenericResultObject pointers; public Optional getAccountPointer() { - return pointers.values().stream() - .filter(p -> p.startsWith(ApiIdentifiers.ACCOUNT_PUBKEY)) + return pointers.entrySet().stream() + .filter(e -> e.getKey().equals(AENS.POINTER_KEY_ACCOUNT)) + .map(e -> e.getValue()) .findFirst(); } public Optional getChannelPointer() { - return pointers.values().stream().filter(p -> p.startsWith(ApiIdentifiers.CHANNEL)).findFirst(); + return pointers.entrySet().stream() + .filter(e -> e.getKey().equals(AENS.POINTER_KEY_CHANNEL)) + .map(e -> e.getValue()) + .findFirst(); } public Optional getContractPointer() { - return pointers.values().stream() - .filter(p -> p.startsWith(ApiIdentifiers.CONTRACT_PUBKEY)) + return pointers.entrySet().stream() + .filter(e -> e.getKey().equals(AENS.POINTER_KEY_CONTRACT)) + .map(e -> e.getValue()) .findFirst(); } public Optional getOraclePointer() { - return pointers.values().stream() - .filter(p -> p.startsWith(ApiIdentifiers.ORACLE_PUBKEY)) + return pointers.entrySet().stream() + .filter(e -> e.getKey().equals(AENS.POINTER_KEY_ORACLE)) + .map(e -> e.getValue()) .findFirst(); }