Skip to content

Commit 5f3b188

Browse files
committed
returning TestTokenData
1 parent 7d5265e commit 5f3b188

3 files changed

Lines changed: 58 additions & 18 deletions

File tree

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

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
* Mint transaction data with full constructor matching TypeScript
2626
*/
2727
public class MintTransactionData<T extends ISerializable> implements ISerializable {
28-
// TOKENID string SHA-256 hash
2928
private static final byte[] MINT_SUFFIX = HexConverter.decode("9e82002c144d7c5796c50f6db50a0c7bbd7f717ae3af6c6c71a3e9eba3022730");
3029
private final TokenId tokenId;
3130
private final TokenType tokenType;
@@ -36,8 +35,8 @@ public class MintTransactionData<T extends ISerializable> implements ISerializab
3635
private final byte[] salt;
3736
private final DirectAddress recipient;
3837
private final Object reason; // Optional reason field
39-
private DataHash hash;
40-
private RequestId sourceState;
38+
private final DataHash hash; // Hash of the encoded transaction
39+
private final RequestId sourceState;
4140

4241
/**
4342
* Constructor matching TypeScript implementation

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

Lines changed: 5 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import com.unicity.sdk.transaction.Transaction;
2828
import com.unicity.sdk.transaction.TransactionData;
2929
import com.unicity.sdk.utils.InclusionProofUtils;
30+
import com.unicity.sdk.utils.TestTokenData;
3031

3132
import java.math.BigInteger;
3233
import java.nio.charset.StandardCharsets;
@@ -67,24 +68,13 @@ public static void testTransferFlow(StateTransitionClient client) throws Excepti
6768
aliceSigningService,
6869
HashAlgorithm.SHA256,
6970
aliceNonce
70-
).get();
71+
).get(); //correct
7172

7273
DirectAddress aliceAddress = DirectAddress.create(alicePredicate.getReference()).get();
7374
TokenState aliceTokenState = TokenState.create(alicePredicate, new byte[0]);
74-
75-
// Mint token to Alice
76-
ISerializable tokenData = new ISerializable() {
77-
@Override
78-
public Object toJSON() {
79-
return "{}";
80-
}
81-
82-
@Override
83-
public byte[] toCBOR() {
84-
return new byte[0];
85-
}
86-
};
87-
75+
76+
var tokenData = new TestTokenData(randomBytes(32));
77+
8878
MintTransactionData<ISerializable> mintData = new MintTransactionData<>(
8979
tokenId,
9080
tokenType,
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
package com.unicity.sdk.utils;
2+
3+
import com.unicity.sdk.ISerializable;
4+
import com.unicity.sdk.shared.cbor.CborEncoder;
5+
import com.unicity.sdk.shared.util.HexConverter;
6+
7+
import java.util.Arrays;
8+
import java.util.Objects;
9+
10+
/**
11+
* Test token data implementation
12+
*/
13+
public class TestTokenData implements ISerializable {
14+
private final byte[] data;
15+
16+
public TestTokenData(byte[] data) {
17+
this.data = Arrays.copyOf(data, data.length);
18+
}
19+
20+
public byte[] getData() {
21+
return Arrays.copyOf(data, data.length);
22+
}
23+
24+
@Override
25+
public Object toJSON() {
26+
return HexConverter.encode(data);
27+
}
28+
29+
@Override
30+
public byte[] toCBOR() {
31+
return CborEncoder.encodeByteString(data);
32+
}
33+
34+
@Override
35+
public String toString() {
36+
return "TestTokenData: " + HexConverter.encode(data);
37+
}
38+
39+
@Override
40+
public boolean equals(Object o) {
41+
if (this == o) return true;
42+
if (o == null || getClass() != o.getClass()) return false;
43+
TestTokenData that = (TestTokenData) o;
44+
return Arrays.equals(data, that.data);
45+
}
46+
47+
@Override
48+
public int hashCode() {
49+
return Arrays.hashCode(data);
50+
}
51+
}

0 commit comments

Comments
 (0)