Skip to content

Commit 110103c

Browse files
committed
feat: add support for non-zero shard and realm
Signed-off-by: Mustafa Uzun <mustafa.uzun@limechain.tech>
1 parent a0c6ce6 commit 110103c

File tree

2 files changed

+47
-28
lines changed

2 files changed

+47
-28
lines changed

tools-and-tests/simulator/src/main/java/org/hiero/block/simulator/generator/itemhandler/TransactionResultHandler.java

Lines changed: 28 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -37,39 +37,49 @@ private TransactionResult createTransactionResult() {
3737
}
3838

3939
private TransferList createTransferList() {
40+
long shardNum = generateRandomValue(1, 100);
41+
long realmNum = generateRandomValue(1, 100);
4042
long creditAccount = generateRandomValue(1, 100);
4143
long debitAccount = generateRandomValue(1, 100);
4244
long amount = generateRandomValue(100, 200);
4345

4446
return TransferList.newBuilder()
45-
.addAccountAmounts(createAccountAmount(creditAccount, -amount))
46-
.addAccountAmounts(createAccountAmount(debitAccount, amount))
47-
.build();
48-
}
49-
50-
private AccountAmount createAccountAmount(long accountNum, long accountAmount) {
51-
Preconditions.requirePositive(accountNum);
52-
// todo(700) Add support for non-zero shard/realm entity
53-
return AccountAmount.newBuilder()
54-
.setAccountID(AccountID.newBuilder()
55-
.setRealmNum(0)
56-
.setShardNum(0)
57-
.setAccountNum(accountNum)
58-
.build())
59-
.setAmount(accountAmount)
47+
.addAccountAmounts(createAccountAmount(shardNum, realmNum, creditAccount, -amount))
48+
.addAccountAmounts(createAccountAmount(shardNum, realmNum, debitAccount, amount))
6049
.build();
6150
}
6251

6352
private TokenTransferList createTokenTransferList() {
6453
long tokenId = generateRandomValue(1, 100);
54+
long shardNum = generateRandomValue(1, 100);
55+
long realmNum = generateRandomValue(1, 100);
6556
long creditAccount = generateRandomValue(1, 100);
6657
long debitAccount = generateRandomValue(1, 100);
6758
long amount = generateRandomValue(100, 200);
6859

6960
return TokenTransferList.newBuilder()
70-
.setToken(TokenID.newBuilder().setRealmNum(0).setShardNum(0).setTokenNum(tokenId))
71-
.addTransfers(createAccountAmount(creditAccount, -amount))
72-
.addTransfers(createAccountAmount(debitAccount, amount))
61+
.setToken(TokenID.newBuilder()
62+
.setShardNum(shardNum)
63+
.setRealmNum(realmNum)
64+
.setTokenNum(tokenId))
65+
.addTransfers(createAccountAmount(shardNum, realmNum, creditAccount, -amount))
66+
.addTransfers(createAccountAmount(shardNum, realmNum, debitAccount, amount))
67+
.build();
68+
}
69+
70+
private AccountAmount createAccountAmount(
71+
final long shardNum, final long realmNum, final long accountNum, final long accountAmount) {
72+
Preconditions.requirePositive(shardNum);
73+
Preconditions.requirePositive(realmNum);
74+
Preconditions.requirePositive(accountNum);
75+
76+
return AccountAmount.newBuilder()
77+
.setAccountID(AccountID.newBuilder()
78+
.setShardNum(shardNum)
79+
.setRealmNum(realmNum)
80+
.setAccountNum(accountNum)
81+
.build())
82+
.setAmount(accountAmount)
7383
.build();
7484
}
7585
}

tools-and-tests/simulator/src/test/java/org/hiero/block/simulator/generator/itemhandler/TransactionResultHandlerTest.java

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -54,10 +54,12 @@ void testTransferList() {
5454
assertTrue(credit.getAmount() > 0);
5555
assertEquals(-debit.getAmount(), credit.getAmount());
5656

57-
assertTrue(debit.getAccountID().getAccountNum() >= 1);
58-
assertTrue(debit.getAccountID().getAccountNum() <= 100);
59-
assertTrue(credit.getAccountID().getAccountNum() >= 1);
60-
assertTrue(credit.getAccountID().getAccountNum() <= 100);
57+
assertTrue(isNumInRange(debit.getAccountID().getShardNum()));
58+
assertTrue(isNumInRange(debit.getAccountID().getRealmNum()));
59+
assertTrue(isNumInRange(debit.getAccountID().getAccountNum()));
60+
assertTrue(isNumInRange(credit.getAccountID().getShardNum()));
61+
assertTrue(isNumInRange(credit.getAccountID().getRealmNum()));
62+
assertTrue(isNumInRange(credit.getAccountID().getAccountNum()));
6163
}
6264

6365
@Test
@@ -67,8 +69,9 @@ void testTokenTransferList() {
6769
handler.getItem().getTransactionResult().getTokenTransferLists(0);
6870

6971
assertNotNull(tokenTransfers.getToken());
70-
assertTrue(tokenTransfers.getToken().getTokenNum() >= 1);
71-
assertTrue(tokenTransfers.getToken().getTokenNum() <= 100);
72+
assertTrue(isNumInRange(tokenTransfers.getToken().getShardNum()));
73+
assertTrue(isNumInRange(tokenTransfers.getToken().getRealmNum()));
74+
assertTrue(isNumInRange(tokenTransfers.getToken().getTokenNum()));
7275

7376
assertEquals(2, tokenTransfers.getTransfersCount());
7477

@@ -79,9 +82,15 @@ void testTokenTransferList() {
7982
assertTrue(credit.getAmount() > 0);
8083
assertEquals(-debit.getAmount(), credit.getAmount());
8184

82-
assertTrue(debit.getAccountID().getAccountNum() >= 1);
83-
assertTrue(debit.getAccountID().getAccountNum() <= 100);
84-
assertTrue(credit.getAccountID().getAccountNum() >= 1);
85-
assertTrue(credit.getAccountID().getAccountNum() <= 100);
85+
assertTrue(isNumInRange(debit.getAccountID().getShardNum()));
86+
assertTrue(isNumInRange(debit.getAccountID().getRealmNum()));
87+
assertTrue(isNumInRange(debit.getAccountID().getAccountNum()));
88+
assertTrue(isNumInRange(credit.getAccountID().getShardNum()));
89+
assertTrue(isNumInRange(credit.getAccountID().getRealmNum()));
90+
assertTrue(isNumInRange(credit.getAccountID().getAccountNum()));
91+
}
92+
93+
private boolean isNumInRange(final long num) {
94+
return num >= 1 && num <= 100;
8695
}
8796
}

0 commit comments

Comments
 (0)