Skip to content

Commit f1e7715

Browse files
authored
Iroha/cba76c34 (#160)
* update java-sdk, created data precondition for perf tests Signed-off-by: timofeevmd <timofeevmd@gmail.com> * update java-sdk, created data precondition for perf tests Signed-off-by: timofeevmd <timofeevmd@gmail.com> * update java version to 21 java-sdk to e50bd2f661, update genesis.json to iroha.commit:2ca19116 Signed-off-by: timofeevmd <timofeevmd@gmail.com> * executor was updated Signed-off-by: timofeevmd <timofeevmd@gmail.com> Signed-off-by: timofeevmd <timofeevmd@gmail.com> * genesis.json docker-compose.yml was updated Signed-off-by: timofeevmd <timofeevmd@gmail.com> Signed-off-by: timofeevmd <timofeevmd@gmail.com> --------- Signed-off-by: timofeevmd <timofeevmd@gmail.com>
1 parent 5bb8562 commit f1e7715

File tree

20 files changed

+101067
-120
lines changed

20 files changed

+101067
-120
lines changed

performance-generator/pom.xml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,9 @@
5555
<plugin>
5656
<groupId>org.apache.maven.plugins</groupId>
5757
<artifactId>maven-compiler-plugin</artifactId>
58-
<version>3.8.1</version>
58+
<version>3.13.0</version>
5959
<configuration>
60-
<source>16</source>
61-
<target>16</target>
60+
<release>21</release>
6261
<annotationProcessorPaths>
6362
<path>
6463
<groupId>org.projectlombok</groupId>

performance-generator/src/main/java/smartcontractService/Constants.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import jp.co.soramitsu.iroha2.CryptoUtils;
44

55
import java.security.KeyPair;
6+
import java.util.UUID;
67

78
public class Constants {
89

@@ -13,5 +14,7 @@ public class Constants {
1314
"9ac47abf59b356e0bd7dcbbbb4dec080e302156a48ca907e47cb6aea1d32719e"
1415
);
1516

17+
public static final UUID CHAIN_ID = new UUID( 0L,0L);
18+
1619
public static final String ALICE_ACCOUNT_RC20_ID = "alice@wonderland";
1720
}
Lines changed: 25 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package smartcontractService;
22

3+
import jp.co.soramitsu.iroha2.ExtensionsKt;
34
import jp.co.soramitsu.iroha2.ExtensionsKt;
45
import jp.co.soramitsu.iroha2.generated.*;
56

@@ -9,7 +10,7 @@
910

1011
public class LimitedMetadataBuilder {
1112

12-
private final Map<Name, Value> metadataMap;
13+
private final Map<Name, Json> metadataMap;
1314

1415
private LimitedMetadataBuilder() {
1516
this.metadataMap = new HashMap<>();
@@ -22,79 +23,76 @@ public static LimitedMetadataBuilder builder() {
2223
public LimitedMetadataBuilder withCurrency(AssetDefinitionId currency) {
2324
metadataMap.put(
2425
ExtensionsKt.asName("currency"),
25-
ExtensionsKt.asValue(currency));
26-
26+
ExtensionsKt.writeValue(Json.Companion, currency)
27+
);
2728
return this;
2829
}
2930

3031
public LimitedMetadataBuilder withNominalValue(BigDecimal nominalValue) {
3132
metadataMap.put(
3233
ExtensionsKt.asName("nominal_value"),
33-
ExtensionsKt.asValue(nominalValue));
34-
34+
ExtensionsKt.writeValue(Json.Companion, nominalValue.toString())
35+
);
3536
return this;
3637
}
3738

3839
public LimitedMetadataBuilder withCouponRate(BigDecimal couponRate) {
3940
metadataMap.put(
4041
ExtensionsKt.asName("coupon_rate"),
41-
ExtensionsKt.asValue(couponRate));
42-
42+
ExtensionsKt.writeValue(Json.Companion, couponRate.toString())
43+
);
4344
return this;
4445
}
4546

46-
public LimitedMetadataBuilder withPaymentFrequencySeconds(long paymentFrequencySeconds) {
47+
public LimitedMetadataBuilder withPaymentFrequencySeconds(Long paymentFrequencySeconds) {
4748
metadataMap.put(
4849
ExtensionsKt.asName("payment_frequency_seconds"),
49-
ExtensionsKt.asValue(paymentFrequencySeconds));
50-
50+
ExtensionsKt.writeValue(Json.Companion, paymentFrequencySeconds.toString())
51+
);
5152
return this;
5253
}
5354

5455
public LimitedMetadataBuilder withFixedFee(BigDecimal fixedFee) {
5556
metadataMap.put(
5657
ExtensionsKt.asName("fixed_fee"),
57-
ExtensionsKt.asValue(fixedFee));
58-
58+
ExtensionsKt.writeValue(Json.Companion, fixedFee.toString())
59+
);
5960
return this;
6061
}
6162

6263
public LimitedMetadataBuilder withFeeRecipientAccountId(AccountId feeRecipientAccountId) {
6364
metadataMap.put(
6465
ExtensionsKt.asName("fee_recipient_account_id"),
65-
ExtensionsKt.asValue(feeRecipientAccountId));
66-
66+
ExtensionsKt.writeValue(Json.Companion, feeRecipientAccountId)
67+
);
6768
return this;
6869
}
6970

70-
public LimitedMetadataBuilder withMaturityDateMs(long maturityDateMs) {
71+
public LimitedMetadataBuilder withMaturityDateMs(Long maturityDateMs) {
7172
metadataMap.put(
7273
ExtensionsKt.asName("maturation_date_ms"),
73-
ExtensionsKt.asValue(maturityDateMs));
74-
74+
ExtensionsKt.writeValue(Json.Companion, maturityDateMs.toString())
75+
);
7576
return this;
7677
}
7778

78-
public LimitedMetadataBuilder withRegistrationDateMs(long registrationDateMs) {
79+
public LimitedMetadataBuilder withRegistrationDateMs(Long registrationDateMs) {
7980
metadataMap.put(
8081
ExtensionsKt.asName("registration_time_ms"),
81-
ExtensionsKt.asValue(registrationDateMs));
82-
82+
ExtensionsKt.writeValue(Json.Companion, registrationDateMs.toString())
83+
);
8384
return this;
8485
}
8586

86-
public LimitedMetadataBuilder withQuantity(int quantity) {
87+
public LimitedMetadataBuilder withQuantity(Integer quantity) {
8788
metadataMap.put(
8889
ExtensionsKt.asName("quantity"),
89-
ExtensionsKt.asValue(quantity)
90+
ExtensionsKt.writeValue(Json.Companion, quantity.toString())
9091
);
91-
9292
return this;
9393
}
9494

95-
public Value.LimitedMetadata build() {
96-
Metadata metadata = new Metadata(metadataMap);
97-
98-
return new Value.LimitedMetadata(metadata);
95+
public Metadata build() {
96+
return new Metadata(metadataMap);
9997
}
10098
}

performance-generator/src/main/java/smartcontractService/impl/BondImpl.java

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -31,32 +31,34 @@ public SignedTransaction getSignedRegisterBondAssetTx(Bond bond, String accountI
3131
final var bondMetadata = buildBondMetadata(bond);
3232
final var newAssetDefinition = new NewAssetDefinition(
3333
bond.bondId(),
34-
new AssetValueType.Quantity(),
34+
new AssetType.Numeric(new NumericSpec()),
3535
new Mintable.Infinitely(),
3636
null,
37-
bondMetadata.getMetadata());
37+
bondMetadata);
3838

3939
final var triggerId = new TriggerId(
40-
null, // Triggers with `null` domain are considered as "global" triggers
41-
ExtensionsKt.asName(palauProperties.getTrigger().getRegisterBondId()));
40+
// Triggers with `null` domain are considered as "global" triggers
41+
ExtensionsKt.asName(palauProperties.getTrigger().getRegisterBondId())
42+
);
4243

43-
final var registerBond = TransactionBuilder.Companion.builder()
44-
.setKeyValue(
44+
final var registerBond = new TransactionBuilder(CHAIN_ID).addInstructions(
45+
new SetKeyValueOfTrigger(
4546
triggerId,
4647
ExtensionsKt.asName(palauProperties.getTrigger().getRegisterBondTriggerKey()),
47-
//ExtensionsKt.asValue(newAssetDefinition.component1());
48-
ExtensionsKt.asValue(newAssetDefinition)
48+
ExtensionsKt.writeValue(Json.Companion, newAssetDefinition.component1()))
49+
);
4950

50-
)
51-
.account(ExtensionsKt.asAccountId(accountId));
51+
enrichMetadata(
52+
registerBond,
53+
TRANSACTION_TYPE_METADATA_KEY,
54+
TransactionType.BOND_ASSET_ISSUE.name()
55+
);
5256

53-
enrichMetadata(registerBond, TRANSACTION_TYPE_METADATA_KEY,
54-
TransactionType.BOND_ASSET_ISSUE.name());
55-
56-
return registerBond.buildSigned(ALICE_KEYPAIR);
57+
return registerBond.signAs(ExtensionsKt.asAccountId(ALICE_ACCOUNT_RC20_ID), ALICE_KEYPAIR);
5758
}
5859

59-
private Value.LimitedMetadata buildBondMetadata(Bond bond) {
60+
private Metadata buildBondMetadata(Bond bond) {
61+
6062
return LimitedMetadataBuilder.builder()
6163
.withCurrency(bond.currency())
6264
.withNominalValue(bond.nominalValue())

performance-generator/src/main/java/smartcontractService/impl/SmartContractImpl.java

Lines changed: 27 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ public SignedTransaction deployRegisterRedeemBondsTrigger(String activationCode)
6565

6666
@SneakyThrows
6767
private SignedTransaction registerBuyBondsTrigger(String buyBondId, String buyBondWasm) {
68-
final var triggerId = new TriggerId(null, ExtensionsKt.asName(buyBondId));
68+
final var triggerId = new TriggerId(ExtensionsKt.asName(buyBondId));
6969

7070
final var wasm = Objects
7171
.requireNonNull(getClass().getClassLoader().getResource(buyBondWasm))
@@ -75,15 +75,17 @@ private SignedTransaction registerBuyBondsTrigger(String buyBondId, String buyBo
7575

7676
final var filter = Filters.INSTANCE.data(
7777
EntityFilters.INSTANCE.byAccount(
78-
null,
79-
new AccountEventFilter.ByMetadataInserted()));
78+
1L,
79+
ExtensionsKt.asAccountId("ed0120CE7FA46C9DCE7EA4B125E2E36BDB63EA33073E7590AC92816AE1E861B7048B03@wonderland")
80+
)
81+
);
8082

8183
return buildAndSubmitRegisterTriggerTransaction(triggerId, wasm, filter);
8284
}
8385

8486
@SneakyThrows
8587
private SignedTransaction registerRedeemBondsTrigger(String redeemBondId, String redeemBondWasm) {
86-
final var triggerId = new TriggerId(null, ExtensionsKt.asName(redeemBondId));
88+
final var triggerId = new TriggerId(ExtensionsKt.asName(redeemBondId));
8789

8890
final var wasm = Objects
8991
.requireNonNull(getClass().getClassLoader().getResource(redeemBondWasm))
@@ -93,15 +95,17 @@ private SignedTransaction registerRedeemBondsTrigger(String redeemBondId, String
9395

9496
final var filter = Filters.INSTANCE.data(
9597
EntityFilters.INSTANCE.byAccount(
96-
null,
97-
new AccountEventFilter.ByMetadataInserted()));
98+
1L,
99+
ExtensionsKt.asAccountId("ed0120CE7FA46C9DCE7EA4B125E2E36BDB63EA33073E7590AC92816AE1E861B7048B03@wonderland")
100+
)
101+
);
98102

99103
return buildAndSubmitRegisterTriggerTransaction(triggerId, wasm, filter);
100104
}
101105

102106
@SneakyThrows
103107
private SignedTransaction registerRegisterBondTrigger(String registerBondId, String registerBondWasm) {
104-
final var triggerId = new TriggerId(null, ExtensionsKt.asName(registerBondId));
108+
final var triggerId = new TriggerId(ExtensionsKt.asName(registerBondId));
105109

106110
final var filter = buildFilterByTriggerMetadataInserted(triggerId);
107111

@@ -114,33 +118,24 @@ private SignedTransaction registerRegisterBondTrigger(String registerBondId, Str
114118
return buildAndSubmitRegisterTriggerTransaction(triggerId, wasm, filter);
115119
}
116120

117-
private SignedTransaction buildAndSubmitRegisterTriggerTransaction(TriggerId triggerId, byte[] wasm, TriggeringFilterBox.Data filter) {
118-
final var wasmTrigger = TransactionBuilder.Companion.builder()
119-
.registerWasmTrigger(
120-
triggerId,
121-
wasm,
122-
new Repeats.Indefinitely(),
123-
ExtensionsKt.asAccountId(ALICE_ACCOUNT_RC20_ID),
124-
new Metadata(Map.of()),
125-
filter)
126-
.account(ExtensionsKt.asAccountId(ALICE_ACCOUNT_RC20_ID))
127-
.buildSigned(ALICE_KEYPAIR);
121+
private SignedTransaction buildAndSubmitRegisterTriggerTransaction(TriggerId triggerId, byte[] wasm, EventFilterBox filter) {
122+
final var wasmTrigger = new TransactionBuilder(CHAIN_ID).addInstruction(
123+
new RegisterOfTrigger(
124+
new Trigger(
125+
triggerId,
126+
new Action(
127+
new Executable.Wasm(new WasmSmartContract(wasm)),
128+
new Repeats.Indefinitely(),
129+
ExtensionsKt.asAccountId(ALICE_ACCOUNT_RC20_ID),
130+
filter,
131+
new Metadata(Map.of())
132+
)
133+
))
134+
).signAs(ExtensionsKt.asAccountId(ALICE_ACCOUNT_RC20_ID), ALICE_KEYPAIR);
128135
return wasmTrigger;
129136
}
130137

131-
private TriggeringFilterBox.Data buildFilterByTriggerMetadataInserted(TriggerId id) {
132-
final var orot = new OriginFilterOfTriggerEvent(id);
133-
final var byMetadataInserted = new TriggerEventFilter.ByMetadataInserted();
134-
135-
final var orotWrapper = new FilterOptOfOriginFilterOfTriggerEvent.BySome(orot);
136-
final var byMetadataWrapper = new FilterOptOfTriggerEventFilter.BySome(byMetadataInserted);
137-
138-
final var triggerFilter = new TriggerFilter(orotWrapper, byMetadataWrapper);
139-
final var triggerFilterWrapper = new FilterOptOfTriggerFilter.BySome(triggerFilter);
140-
141-
final var filter = new DataEntityFilter.ByTrigger(triggerFilterWrapper);
142-
final var bySomeFilter = new FilterOptOfDataEntityFilter.BySome(filter);
143-
144-
return new TriggeringFilterBox.Data(bySomeFilter);
138+
private EventFilterBox.Data buildFilterByTriggerMetadataInserted(TriggerId id) {
139+
return new EventFilterBox.Data(new DataEventFilter.Trigger(new TriggerEventFilter(id, 16)));
145140
}
146141
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
chain = "00000000-0000-0000-0000-000000000000"
2+
torii_url = "http://127.0.0.1:8080/"
3+
4+
[basic_auth]
5+
web_login = "mad_hatter"
6+
password = "ilovetea"
7+
8+
[account]
9+
domain = "wonderland"
10+
public_key = "ed0120CE7FA46C9DCE7EA4B125E2E36BDB63EA33073E7590AC92816AE1E861B7048B03"
11+
private_key = "802620CCF31D85E3B32A4BEA59987CE0C78E3B8E2DB93881468AB2435FE45D5C9DCD53"

0 commit comments

Comments
 (0)