Skip to content

Commit c74798e

Browse files
martti007MastaP
authored andcommitted
Fix some checkstyle errors
1 parent 9e9946c commit c74798e

10 files changed

Lines changed: 83 additions & 70 deletions

File tree

src/main/java/com/unicity/sdk/StateTransitionClient.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11

22
package com.unicity.sdk;
33

4-
import com.unicity.sdk.api.AggregatorClient;
54
import com.unicity.sdk.api.IAggregatorClient;
65
import com.unicity.sdk.api.RequestId;
76
import com.unicity.sdk.api.SubmitCommitmentResponse;
@@ -49,15 +48,15 @@ public CompletableFuture<SubmitCommitmentResponse> submitCommitment(
4948
.calculateHash(token.getId(), token.getType()), commitment.getAuthenticator());
5049
}
5150

52-
public <T extends Transaction<MintTransactionData<?>>> Token<T> finalizeTransaction(
51+
public <T extends MintTransactionData<?>> Token<T> finalizeTransaction(
5352
Token<T> token,
5453
TokenState state,
5554
Transaction<TransferTransactionData> transaction
5655
) {
5756
return this.finalizeTransaction(token, state, transaction, List.of());
5857
}
5958

60-
public <T extends Transaction<MintTransactionData<?>>> Token<T> finalizeTransaction(
59+
public <T extends MintTransactionData<?>> Token<T> finalizeTransaction(
6160
Token<T> token,
6261
TokenState state,
6362
Transaction<TransferTransactionData> transaction,
@@ -69,7 +68,7 @@ public <T extends Transaction<MintTransactionData<?>>> Token<T> finalizeTransact
6968
}
7069

7170
public CompletableFuture<InclusionProofVerificationStatus> getTokenStatus(
72-
Token<? extends Transaction<MintTransactionData<?>>> token,
71+
Token<? extends MintTransactionData<?>> token,
7372
byte[] publicKey) {
7473
RequestId requestId = RequestId.create(publicKey,
7574
token.getState().calculateHash(token.getId(), token.getType()));

src/main/java/com/unicity/sdk/address/ProxyAddress.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,10 @@ private ProxyAddress(TokenId data, byte[] checksum) {
2626
this.checksum = Arrays.copyOf(checksum, checksum.length);
2727
}
2828

29+
public static ProxyAddress create(String name) {
30+
return ProxyAddress.create(TokenId.fromNameTag(name));
31+
}
32+
2933
public static ProxyAddress create(TokenId tokenId) {
3034
DataHash checksum = new DataHasher(HashAlgorithm.SHA256).update(tokenId.getBytes())
3135
.digest();

src/main/java/com/unicity/sdk/serializer/cbor/token/TokenCbor.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,10 @@ public void serialize(Token value, JsonGenerator gen, SerializerProvider seriali
4646
}
4747

4848
public static class Deserializer extends
49-
JsonDeserializer<Token<Transaction<MintTransactionData<?>>>> {
49+
JsonDeserializer<Token<MintTransactionData<?>>> {
5050

5151
@Override
52-
public Token<Transaction<MintTransactionData<?>>> deserialize(JsonParser p,
52+
public Token<MintTransactionData<?>> deserialize(JsonParser p,
5353
DeserializationContext ctx) throws IOException {
5454
if (!p.isExpectedStartArrayToken()) {
5555
throw MismatchedInputException.from(p, Token.class, "Expected array value");

src/main/java/com/unicity/sdk/serializer/json/token/TokenJson.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,10 +49,10 @@ public void serialize(Token value, JsonGenerator gen,
4949
}
5050

5151
public static class Deserializer extends
52-
JsonDeserializer<Token<Transaction<MintTransactionData<?>>>> {
52+
JsonDeserializer<Token<MintTransactionData<?>>> {
5353

5454
@Override
55-
public Token<Transaction<MintTransactionData<?>>> deserialize(JsonParser p,
55+
public Token<MintTransactionData<?>> deserialize(JsonParser p,
5656
DeserializationContext ctx)
5757
throws IOException {
5858
TokenState state = null;

src/main/java/com/unicity/sdk/token/Token.java

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -22,16 +22,16 @@
2222
import java.util.Objects;
2323
import java.util.Optional;
2424

25-
public class Token<T extends Transaction<MintTransactionData<?>>> {
25+
public class Token<T extends MintTransactionData<?>> {
2626

2727
public static final String TOKEN_VERSION = "2.0";
2828

2929
private final TokenState state;
30-
private final T genesis;
30+
private final Transaction<T> genesis;
3131
private final List<Transaction<TransferTransactionData>> transactions;
3232
private final List<Token<?>> nametags;
3333

34-
public Token(TokenState state, T genesis, List<Transaction<TransferTransactionData>> transactions,
34+
public Token(TokenState state, Transaction<T> genesis, List<Transaction<TransferTransactionData>> transactions,
3535
List<Token<?>> nametags) {
3636
Objects.requireNonNull(state, "State cannot be null");
3737
Objects.requireNonNull(genesis, "Genesis cannot be null");
@@ -44,7 +44,7 @@ public Token(TokenState state, T genesis, List<Transaction<TransferTransactionDa
4444
this.nametags = List.copyOf(nametags);
4545
}
4646

47-
public Token(TokenState state, T genesis) {
47+
public Token(TokenState state, Transaction<T> genesis) {
4848
this(state, genesis, List.of(), List.of());
4949
}
5050

@@ -72,7 +72,7 @@ public TokenState getState() {
7272
return this.state;
7373
}
7474

75-
public T getGenesis() {
75+
public Transaction<T> getGenesis() {
7676
return this.genesis;
7777
}
7878

@@ -216,13 +216,12 @@ private VerificationResult verifyTransaction(
216216
return VerificationResult.success();
217217
}
218218

219-
private VerificationResult verifyGenesis(
220-
Transaction<MintTransactionData<?>> transaction) {
221-
if (!transaction.getInclusionProof().getAuthenticator().isPresent()) {
219+
private VerificationResult verifyGenesis(Transaction<T> transaction) {
220+
if (transaction.getInclusionProof().getAuthenticator().isEmpty()) {
222221
return VerificationResult.fail("Missing authenticator.");
223222
}
224223

225-
if (!transaction.getInclusionProof().getTransactionHash().isPresent()) {
224+
if (transaction.getInclusionProof().getTransactionHash().isEmpty()) {
226225
return VerificationResult.fail("Missing transaction hash.");
227226
}
228227

src/main/java/com/unicity/sdk/token/TokenId.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11

22
package com.unicity.sdk.token;
33

4+
import com.unicity.sdk.hash.DataHasher;
5+
import com.unicity.sdk.hash.HashAlgorithm;
46
import com.unicity.sdk.util.BitString;
57
import com.unicity.sdk.util.HexConverter;
8+
import java.nio.charset.StandardCharsets;
69
import java.util.Arrays;
710

811
/**
@@ -23,6 +26,15 @@ public BitString toBitString() {
2326
return new BitString(this.bytes);
2427
}
2528

29+
public static TokenId fromNameTag(String name) {
30+
return new TokenId(
31+
new DataHasher(HashAlgorithm.SHA256)
32+
.update(name.getBytes(StandardCharsets.UTF_8))
33+
.digest()
34+
.getImprint()
35+
);
36+
}
37+
2638
@Override
2739
public boolean equals(Object o) {
2840
if (this == o) {

src/main/java/com/unicity/sdk/transaction/MintCommitment.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ public Transaction<T> toTransaction(InclusionProof inclusionProof) {
4848
throw new RuntimeException("Inclusion proof verification failed.");
4949
}
5050

51-
if (!inclusionProof.getAuthenticator().isPresent()) {
51+
if (inclusionProof.getAuthenticator().isEmpty()) {
5252
throw new RuntimeException("Authenticator is missing from inclusion proof.");
5353
}
5454

src/main/java/com/unicity/sdk/transaction/MintTransactionData.java

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ public MintTransactionData(
5656
this.reason = reason;
5757
}
5858

59-
public static MintTransactionData<MintTransactionReason> createNametag(
59+
public static MintTransactionData<MintTransactionReason> createForNametag(
6060
String name,
6161
TokenType tokenType,
6262
byte[] tokenData,
@@ -69,12 +69,7 @@ public static MintTransactionData<MintTransactionReason> createNametag(
6969
Objects.requireNonNull(targetAddress, "Target address cannot be null");
7070

7171
return new MintTransactionData<>(
72-
new TokenId(
73-
new DataHasher(HashAlgorithm.SHA256)
74-
.update(name.getBytes(StandardCharsets.UTF_8))
75-
.digest()
76-
.getImprint()
77-
),
72+
TokenId.fromNameTag(name),
7873
tokenType,
7974
tokenData,
8075
coinData,

src/test/java/com/unicity/sdk/e2e/CommonTestFlow.java

Lines changed: 48 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import com.unicity.sdk.token.TokenState;
2525
import com.unicity.sdk.token.TokenType;
2626
import com.unicity.sdk.token.fungible.CoinId;
27+
import com.unicity.sdk.transaction.MintTransactionReason;
2728
import com.unicity.sdk.transaction.split.SplitMintReason;
2829
import com.unicity.sdk.token.fungible.TokenCoinData;
2930
import com.unicity.sdk.transaction.InclusionProof;
@@ -48,7 +49,6 @@
4849
/**
4950
* Common test flows for token operations, matching TypeScript SDK's CommonTestFlow.
5051
*/
51-
@SuppressWarnings({"unchecked", "rawtypes"})
5252
public class CommonTestFlow {
5353

5454
private static final byte[] ALICE_SECRET = "Alice".getBytes(StandardCharsets.UTF_8);
@@ -76,8 +76,8 @@ public static void testTransferFlow(StateTransitionClient client) throws Excepti
7676
Address aliceAddress = alicePredicate.getReference(tokenType).toAddress();
7777
TokenState aliceTokenState = new TokenState(alicePredicate, null);
7878

79-
MintCommitment<?> aliceMintCommitment = MintCommitment.create(
80-
new MintTransactionData(
79+
MintCommitment<MintTransactionData<MintTransactionReason>> aliceMintCommitment = MintCommitment.create(
80+
new MintTransactionData<>(
8181
tokenId,
8282
tokenType,
8383
new TestTokenData(randomBytes(32)).getData(),
@@ -104,13 +104,49 @@ public static void testTransferFlow(StateTransitionClient client) throws Excepti
104104
).get();
105105

106106
// Create mint transaction
107-
Token aliceToken = new Token(
107+
Token<?> aliceToken = new Token<>(
108108
aliceTokenState,
109109
aliceMintCommitment.toTransaction(mintInclusionProof)
110110
);
111111

112112
assertTrue(aliceToken.verify().isSuccessful());
113113

114+
String bobNameTag = UUID.randomUUID().toString();
115+
116+
// Alice transfers to Bob
117+
String bobCustomData = "Bob's custom data";
118+
byte[] bobStateData = bobCustomData.getBytes(StandardCharsets.UTF_8);
119+
DataHash bobDataHash = new DataHasher(HashAlgorithm.SHA256).update(bobStateData).digest();
120+
121+
// Submit transfer transaction
122+
TransferCommitment aliceToBobTransferCommitment = TransferCommitment.create(
123+
aliceToken,
124+
ProxyAddress.create(bobNameTag),
125+
randomBytes(32),
126+
bobDataHash,
127+
null,
128+
aliceSigningService
129+
);
130+
SubmitCommitmentResponse aliceToBobTransferSubmitResponse = client.submitCommitment(aliceToken,
131+
aliceToBobTransferCommitment).get();
132+
133+
if (aliceToBobTransferSubmitResponse.getStatus() != SubmitCommitmentStatus.SUCCESS) {
134+
throw new Exception(String.format("Failed to submit transaction commitment: %s",
135+
aliceToBobTransferSubmitResponse.getStatus()));
136+
}
137+
138+
// Wait for inclusion proof
139+
InclusionProof aliceToBobTransferInclusionProof = InclusionProofUtils.waitInclusionProof(
140+
client,
141+
aliceToBobTransferCommitment
142+
).get();
143+
144+
// Create transfer transaction
145+
Transaction<TransferTransactionData> aliceToBobTransferTransaction = aliceToBobTransferCommitment.toTransaction(
146+
aliceToken,
147+
aliceToBobTransferInclusionProof
148+
);
149+
114150
// Bob prepares to receive the token
115151
byte[] bobNonce = randomBytes(32);
116152
SigningService bobSigningService = SigningService.createFromSecret(BOB_SECRET, bobNonce);
@@ -119,6 +155,7 @@ public static void testTransferFlow(StateTransitionClient client) throws Excepti
119155
DirectAddress bobAddress = bobPredicate.getReference(tokenType).toAddress();
120156

121157
// Bob mints a name tag tokens
158+
122159
byte[] bobNametagNonce = randomBytes(32);
123160
MaskedPredicate bobNametagPredicate = MaskedPredicate.create(
124161
SigningService.createFromSecret(BOB_SECRET, bobNametagNonce),
@@ -129,15 +166,16 @@ public static void testTransferFlow(StateTransitionClient client) throws Excepti
129166
DirectAddress bobNametagAddress = bobNametagPredicate.getReference(bobNametagTokenType)
130167
.toAddress();
131168
MintCommitment<?> nametagMintCommitment = MintCommitment.create(
132-
MintTransactionData.createNametag(
133-
UUID.randomUUID().toString(),
169+
MintTransactionData.createForNametag(
170+
bobNameTag,
134171
bobNametagTokenType,
135172
new byte[10],
136173
null,
137174
bobNametagAddress,
138175
randomBytes(32),
139176
bobAddress
140177
));
178+
141179
SubmitCommitmentResponse nametagMintResponse = client.submitCommitment(nametagMintCommitment)
142180
.get();
143181
if (nametagMintResponse.getStatus() != SubmitCommitmentStatus.SUCCESS) {
@@ -151,47 +189,13 @@ public static void testTransferFlow(StateTransitionClient client) throws Excepti
151189
nametagMintCommitment
152190
).get()
153191
);
154-
Token<?> bobNametagToken = new Token(
192+
Token<?> bobNametagToken = new Token<>(
155193
new NameTagTokenState(bobNametagPredicate, bobAddress),
156194
bobNametagGenesis
157195
);
158196

159-
// Alice transfers to Bob
160-
String bobCustomData = "Bob's custom data";
161-
byte[] bobStateData = bobCustomData.getBytes(StandardCharsets.UTF_8);
162-
DataHash bobDataHash = new DataHasher(HashAlgorithm.SHA256).update(bobStateData).digest();
163-
164-
// Submit transfer transaction
165-
TransferCommitment aliceToBobTransferCommitment = TransferCommitment.create(
166-
aliceToken,
167-
ProxyAddress.create(bobNametagGenesis.getData().getTokenId()),
168-
randomBytes(32),
169-
bobDataHash,
170-
null,
171-
aliceSigningService
172-
);
173-
SubmitCommitmentResponse aliceToBobTransferSubmitResponse = client.submitCommitment(aliceToken,
174-
aliceToBobTransferCommitment).get();
175-
176-
if (aliceToBobTransferSubmitResponse.getStatus() != SubmitCommitmentStatus.SUCCESS) {
177-
throw new Exception(String.format("Failed to submit transaction commitment: %s",
178-
aliceToBobTransferSubmitResponse.getStatus()));
179-
}
180-
181-
// Wait for inclusion proof
182-
InclusionProof aliceToBobTransferInclusionProof = InclusionProofUtils.waitInclusionProof(
183-
client,
184-
aliceToBobTransferCommitment
185-
).get();
186-
187-
// Create transfer transaction
188-
Transaction<TransferTransactionData> aliceToBobTransferTransaction = aliceToBobTransferCommitment.toTransaction(
189-
aliceToken,
190-
aliceToBobTransferInclusionProof
191-
);
192-
193197
// Bob finalizes the token
194-
Token bobToken = client.finalizeTransaction(
198+
Token<?> bobToken = client.finalizeTransaction(
195199
aliceToken,
196200
new TokenState(bobPredicate, bobStateData),
197201
aliceToBobTransferTransaction,
@@ -246,7 +250,7 @@ public static void testTransferFlow(StateTransitionClient client) throws Excepti
246250
carolNonce
247251
);
248252

249-
Token carolToken = client.finalizeTransaction(
253+
Token<?> carolToken = client.finalizeTransaction(
250254
bobToken,
251255
new TokenState(carolPredicate, null),
252256
bobToCarolTransaction
@@ -410,7 +414,7 @@ public static void testTransferFlow(StateTransitionClient client) throws Excepti
410414
);
411415

412416
Assertions.assertTrue(
413-
new Token(
417+
new Token<>(
414418
new TokenState(splitTokenPredicate, null),
415419
splitTransactions.get(0)
416420
).verify().isSuccessful()

src/test/java/com/unicity/sdk/token/TokenTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ public void testJsonSerialization() throws IOException {
4747
nametagNonce),
4848
DirectAddress.create(new DataHash(HashAlgorithm.SHA256, TestUtils.randomBytes(32)))
4949
);
50-
MintTransactionData<?> nametagGenesisData = MintTransactionData.createNametag(
50+
MintTransactionData<?> nametagGenesisData = MintTransactionData.createForNametag(
5151
UUID.randomUUID().toString(),
5252
new TokenType(TestUtils.randomBytes(32)),
5353
TestUtils.randomBytes(5),

0 commit comments

Comments
 (0)