@@ -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