Skip to content

Commit

Permalink
Merge pull request #157 from kryptokrauts/feature/106-arbitrary-point…
Browse files Browse the repository at this point in the history
…er-keys

Feature/106 arbitrary pointer keys
  • Loading branch information
mitch-lbw authored May 24, 2021
2 parents 19351dd + 8ceecc4 commit 447febc
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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())
Expand All @@ -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();
Expand All @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -25,24 +25,30 @@ public class NameEntryResult extends GenericResultObject<NameEntry, NameEntryRes
private Map<String, String> pointers;

public Optional<String> 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<String> 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<String> 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<String> 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();
}

Expand Down

0 comments on commit 447febc

Please sign in to comment.