Skip to content

Commit a2ea80a

Browse files
Fix after self-review.
1 parent afeb1ef commit a2ea80a

File tree

2 files changed

+29
-41
lines changed

2 files changed

+29
-41
lines changed

systemtests/config.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
from dataclasses import dataclass
33

44
# These work fine for localnet:
5-
# https://github.com/multiversx/mx-sdk-testwallets/blob/main/users/alice.pem.
6-
DEFAULT_SPONSOR_SECRET_KEY = "413f42575f7f26fad3317a778771212fdb80245850981e48b58a4f25e344e8f9"
5+
# https://github.com/multiversx/mx-sdk-testwallets/blob/main/users/bob.pem.
6+
DEFAULT_SPONSOR_SECRET_KEY = "b8ca6f8203fb4b545a8e83c5384da033c415db155b53fb5b8eba7ff5a039d639"
77
# https://github.com/multiversx/mx-sdk-testwallets/blob/main/users/mnemonic.txt.
88
DEFAULT_USERS_MNEMONIC = "moral volcano peasant pass circle pen over picture flat shop clap goat never lyrics gather prepare woman film husband gravity behind test tiger improve"
99

systemtests/generate_testdata_on_network.py

Lines changed: 27 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -83,16 +83,16 @@ def do_setup(args: Any):
8383
print("Do contract deployments...")
8484
controller.do_create_contract_deployments()
8585

86-
print("Issue non-fungible token...")
87-
controller.issue_non_fungible_token("NFT")
86+
print("Create some NFTs...")
87+
controller.create_non_fungible_tokens("NFT")
8888

89-
print("Do airdrops for non-fungible tokens...")
89+
print("Do airdrops for NFTs...")
9090
controller.do_airdrops_for_non_fungible_tokens()
9191

92-
print("Issue semi-fungible token...")
93-
controller.issue_semi_fungible_token("SFT")
92+
print("Create some SFTs...")
93+
controller.create_semi_fungible_tokens("SFT")
9494

95-
print("Do airdrops for semi-fungible tokens...")
95+
print("Do airdrops for SFTs...")
9696
controller.do_airdrops_for_semi_fungible_tokens()
9797

9898
print("Setup done.")
@@ -199,7 +199,7 @@ def do_run(args: Any):
199199
print("## Cross-shard, transfer & execute with native & custom transfer")
200200
controller.send(controller.create_transfer_and_execute(
201201
sender=accounts.get_user(shard=SOME_SHARD, index=1),
202-
contract=accounts.get_contract_address("dummy", shard=SOME_SHARD, index=0),
202+
receiver=accounts.get_contract_address("dummy", shard=SOME_SHARD, index=0),
203203
function="doSomething",
204204
arguments=[],
205205
gas_limit=3_000_000,
@@ -210,7 +210,7 @@ def do_run(args: Any):
210210
print("## Intra-shard, transfer & execute with native & custom transfer")
211211
controller.send(controller.create_transfer_and_execute(
212212
sender=accounts.get_user(shard=SOME_SHARD, index=3),
213-
contract=accounts.get_contract_address("dummy", shard=SOME_SHARD, index=0),
213+
receiver=accounts.get_contract_address("dummy", shard=SOME_SHARD, index=0),
214214
function="doSomething",
215215
arguments=[],
216216
gas_limit=3_000_000,
@@ -239,7 +239,7 @@ def do_run(args: Any):
239239
print("## Intra-shard, contract call with MoveBalance, with signal error")
240240
controller.send(controller.create_transfer_and_execute(
241241
sender=accounts.get_user(shard=SOME_SHARD, index=0),
242-
contract=accounts.get_contract_address("adder", shard=SOME_SHARD, index=0),
242+
receiver=accounts.get_contract_address("adder", shard=SOME_SHARD, index=0),
243243
function="missingFunction",
244244
arguments=[BigUIntValue(42)],
245245
gas_limit=5_000_000,
@@ -250,7 +250,7 @@ def do_run(args: Any):
250250
print("## Cross-shard, contract call with MoveBalance, with signal error")
251251
controller.send(controller.create_transfer_and_execute(
252252
sender=accounts.get_user(shard=SOME_SHARD, index=0),
253-
contract=accounts.get_contract_address("adder", shard=OTHER_SHARD, index=0),
253+
receiver=accounts.get_contract_address("adder", shard=OTHER_SHARD, index=0),
254254
function="missingFunction",
255255
arguments=[BigUIntValue(42)],
256256
gas_limit=5_000_000,
@@ -890,18 +890,8 @@ def do_run_relayed_builtin_functions(memento: "Memento", accounts: "BunchOfAccou
890890
"z": accounts.get_contract_address("adder", shard=0, index=0),
891891
}
892892

893-
named_addresses = {
894-
"sponsor": named_accounts["sponsor"].address,
895-
"a": named_accounts["a"].address,
896-
"b": named_accounts["b"].address,
897-
"c": named_accounts["c"].address,
898-
"m": named_accounts["m"].address,
899-
"n": named_accounts["n"].address,
900-
"p": named_accounts["p"].address,
901-
"x": named_contracts["x"],
902-
"y": named_contracts["y"],
903-
"z": named_contracts["z"],
904-
}
893+
# Addresses of "named_accounts" and "named_contracts".
894+
named_addresses = {name: account.address for name, account in {**named_accounts, **named_contracts}.items()}
905895

906896
fungible_token = memento.get_custom_currencies()[0]
907897
non_fungible_token = memento.get_non_fungible_tokens()[0]
@@ -918,7 +908,7 @@ def do_run_relayed_builtin_functions(memento: "Memento", accounts: "BunchOfAccou
918908

919909
controller.send(controller.create_transfer_and_execute(
920910
sender=named_accounts[sender],
921-
contract=named_contracts[contract],
911+
receiver=named_contracts[contract],
922912
function="ClaimDeveloperRewards",
923913
arguments=[],
924914
gas_limit=6_000_000,
@@ -935,7 +925,7 @@ def do_run_relayed_builtin_functions(memento: "Memento", accounts: "BunchOfAccou
935925

936926
controller.send(controller.create_transfer_and_execute(
937927
sender=named_accounts[sender],
938-
contract=named_contracts[contract],
928+
receiver=named_contracts[contract],
939929
function="ChangeOwnerAddress",
940930
# Keep "a" as the owner.
941931
arguments=[AddressValue.new_from_address(named_accounts["a"].address)],
@@ -953,7 +943,7 @@ def do_run_relayed_builtin_functions(memento: "Memento", accounts: "BunchOfAccou
953943

954944
controller.send(controller.create_transfer_and_execute(
955945
sender=named_accounts[sender],
956-
contract=named_accounts[sender].address,
946+
receiver=named_accounts[sender].address,
957947
function="SaveKeyValue",
958948
arguments=[StringValue("test"), StringValue("test")],
959949
gas_limit=1_000_000,
@@ -963,6 +953,7 @@ def do_run_relayed_builtin_functions(memento: "Memento", accounts: "BunchOfAccou
963953
), await_processing_started=True)
964954

965955
# ESDTTransfer
956+
# https://docs.multiversx.com/tokens/fungible-tokens#transfers
966957

967958
for (sender, receiver, relayer) in [
968959
("a", "b", "c"), ("a", "a", "c"), ("a", "b", "b"), ("a", "a", "a"),
@@ -987,7 +978,7 @@ def do_run_relayed_builtin_functions(memento: "Memento", accounts: "BunchOfAccou
987978

988979
controller.send(controller.create_transfer_and_execute(
989980
sender=named_accounts[sender],
990-
contract=named_accounts[sender].address,
981+
receiver=named_accounts[sender].address,
991982
function="ESDTLocalMint",
992983
arguments=[TokenIdentifierValue(fungible_token), U32Value(1)],
993984
gas_limit=300_000,
@@ -1004,7 +995,7 @@ def do_run_relayed_builtin_functions(memento: "Memento", accounts: "BunchOfAccou
1004995

1005996
controller.send(controller.create_transfer_and_execute(
1006997
sender=named_accounts[sender],
1007-
contract=named_accounts[sender].address,
998+
receiver=named_accounts[sender].address,
1008999
function="ESDTLocalBurn",
10091000
arguments=[TokenIdentifierValue(fungible_token), U32Value(1)],
10101001
gas_limit=300_000,
@@ -1014,6 +1005,7 @@ def do_run_relayed_builtin_functions(memento: "Memento", accounts: "BunchOfAccou
10141005
), await_processing_started=True)
10151006

10161007
# ESDTNFTTransfer
1008+
# https://docs.multiversx.com/tokens/nft-tokens/#transfers
10171009

10181010
for (sender, receiver, relayer) in [
10191011
# Send, then receive back.
@@ -1097,7 +1089,7 @@ def do_run_relayed_builtin_functions(memento: "Memento", accounts: "BunchOfAccou
10971089

10981090
controller.send(controller.create_transfer_and_execute(
10991091
sender=named_accounts[sender],
1100-
contract=named_accounts[sender].address,
1092+
receiver=named_accounts[sender].address,
11011093
function="ESDTNFTAddURI",
11021094
arguments=[TokenIdentifierValue(non_fungible_token), U32Value(0x64), StringValue("e"), StringValue("f"), StringValue("g")],
11031095
gas_limit=500_000,
@@ -1113,7 +1105,7 @@ def do_run_relayed_builtin_functions(memento: "Memento", accounts: "BunchOfAccou
11131105

11141106
controller.send(controller.create_transfer_and_execute(
11151107
sender=named_accounts[sender],
1116-
contract=named_accounts[sender].address,
1108+
receiver=named_accounts[sender].address,
11171109
function="ESDTSetNewURIs",
11181110
arguments=[TokenIdentifierValue(non_fungible_token), U32Value(0x65), StringValue("new")],
11191111
gas_limit=1_000_000,
@@ -1489,7 +1481,7 @@ def do_airdrops_for_custom_currencies(self):
14891481
print("Wait for the last transaction to be processed (optimization)...")
14901482
self.await_processing_started(transactions[-1:])
14911483

1492-
def issue_non_fungible_token(self, name: str):
1484+
def create_non_fungible_tokens(self, name: str):
14931485
transaction = self.token_management_transactions_factory.create_transaction_for_issuing_non_fungible(
14941486
sender=self.accounts.sponsor.address,
14951487
token_name=name,
@@ -1584,7 +1576,7 @@ def do_airdrops_for_non_fungible_tokens(self):
15841576
print("Wait for the last transaction to be processed (optimization)...")
15851577
self.await_processing_started(transactions[-1:])
15861578

1587-
def issue_semi_fungible_token(self, name: str):
1579+
def create_semi_fungible_tokens(self, name: str):
15881580
transaction = self.token_management_transactions_factory.create_transaction_for_issuing_semi_fungible(
15891581
sender=self.accounts.sponsor.address,
15901582
token_name=name,
@@ -1900,7 +1892,7 @@ def create_transfer(self, sender: "Account", receiver: Address, native_amount: i
19001892

19011893
return transaction
19021894

1903-
def create_transfer_and_execute(self, sender: "Account", contract: Address, function: str, arguments: list[Any], gas_limit: int, native_amount: int, custom_amount: int, relayer: Optional["Account"] = None) -> Transaction:
1895+
def create_transfer_and_execute(self, sender: "Account", receiver: Address, function: str, arguments: list[Any], gas_limit: int, native_amount: int, custom_amount: int, relayer: Optional["Account"] = None) -> Transaction:
19041896
token_transfers: List[TokenTransfer] = []
19051897

19061898
if custom_amount:
@@ -1909,7 +1901,7 @@ def create_transfer_and_execute(self, sender: "Account", contract: Address, func
19091901

19101902
transaction = self.contracts_transactions_factory.create_transaction_for_execute(
19111903
sender=sender.address,
1912-
contract=contract,
1904+
contract=receiver,
19131905
function=function,
19141906
arguments=arguments,
19151907
gas_limit=gas_limit,
@@ -2171,29 +2163,25 @@ def send(self, transaction: Transaction, await_processing_started: bool = False,
21712163
self.transactions_hashes_accumulator.append(transaction_hash.hex())
21722164

21732165
def await_completed(self, transactions: List[Transaction]) -> List[TransactionOnNetwork]:
2174-
# print(f" ⏳ Awaiting completion of {len(transactions)} transactions...")
2175-
21762166
def await_completed_one(transaction: Transaction) -> TransactionOnNetwork:
21772167
transaction_hash = self.transaction_computer.compute_transaction_hash(transaction).hex()
21782168
transaction_on_network = self.network_provider.await_transaction_completed(transaction_hash, self.awaiting_options)
21792169

2180-
# print(f" ✓ Completed: {self.configuration.view_url.replace('{hash}', transaction_hash)}")
2170+
print(f" ✓ Completed: {self.configuration.view_url.replace('{hash}', transaction_hash)}")
21812171
return transaction_on_network
21822172

21832173
transactions_on_network = Pool(8).map(await_completed_one, transactions)
21842174
return transactions_on_network
21852175

21862176
def await_processing_started(self, transactions: List[Transaction]) -> List[TransactionOnNetwork]:
2187-
# print(f" ⏳ Awaiting processing start of {len(transactions)} transactions...")
2188-
21892177
def await_processing_started_one(transaction: Transaction) -> TransactionOnNetwork:
21902178
condition: Callable[[AccountOnNetwork], bool] = lambda account: account.nonce > transaction.nonce
21912179
self.network_provider.await_account_on_condition(transaction.sender, condition, self.awaiting_options)
21922180

21932181
transaction_hash = self.transaction_computer.compute_transaction_hash(transaction).hex()
21942182
transaction_on_network = self.network_provider.get_transaction(transaction_hash)
21952183

2196-
# print(f" ✓ Processing started: {self.configuration.view_url.replace('{hash}', transaction_hash)}")
2184+
print(f" ✓ Processing started: {self.configuration.view_url.replace('{hash}', transaction_hash)}")
21972185
return transaction_on_network
21982186

21992187
transactions_on_network = Pool(8).map(await_processing_started_one, transactions)

0 commit comments

Comments
 (0)