def test_transfer_confirm(self): account = Account(address="b50c2404e699fd985f71b2c3f032059f13d6543b") print(account) balance1 = account.get_balance() print("Account1 balance", balance1) with pytest.raises(RuntimeError): account.transfer("to_addr", 1) account2 = Account.from_keystore("zxcvbnm,", path_join("crypto", "zilliqa_keystore.json")) print(account2) balance = account2.get_balance() print("Account2 balance", balance) assert balance > 0 result = account2.transfer(account.checksum_address, Zil(10.3), confirm=True, timeout=300, sleep=20) print("Transfer Result", result) pprint(account2.last_params) pprint(account2.last_txn_info) pprint(account2.last_txn_details) balance2 = account.get_balance() print("Account1 balance", balance2) assert balance2 >= balance1 + 10.299 account = Account(private_key="d0b47febbef2bd0c4a4ee04aa20b60d61eb02635e8df5e7fd62409a2b1f5ddf8") result = account.transfer(account2.bech32_address, 10.3, confirm=True, timeout=600, sleep=20) print("Transfer Result", result) pprint(account2.last_params) pprint(account2.last_txn_info) pprint(account2.last_txn_details)
def _test_transfer_qa(self): chain.set_active_chain(chain.TestNet) account = Account(address="b50c2404e699fd985f71b2c3f032059f13d6543b") print(account) print("Account1 balance", repr(account.get_balance())) account2 = Account.from_keystore( "zxcvbnm,", path_join("crypto", "zilliqa_keystore.json")) print(account2) balance = account2.get_balance() print("Account2 balance", repr(balance)) assert balance > 0 txn_info = account2.transfer(account.bech32_address, Qa(123456789)) pprint(txn_info) txn_details = account2.wait_txn_confirm(txn_info["TranID"], timeout=240) pprint(txn_details) assert txn_details print("Account1 balance", repr(account.get_balance())) print("Account1 balance", repr(account.get_balance_qa())) account = Account( private_key= "d0b47febbef2bd0c4a4ee04aa20b60d61eb02635e8df5e7fd62409a2b1f5ddf8") txn_info = account.transfer(account2.checksum_address, Qa(123456789), confirm=True) pprint(txn_info)
def test_transfer(self): chain.set_active_chain(chain.TestNet) account = Account(address="b50c2404e699fd985f71b2c3f032059f13d6543b") print(account) balance1 = account.get_balance() print("Account1 balance", balance1) with pytest.raises(RuntimeError): account.transfer("to_addr", 1) account2 = Account.from_keystore("zxcvbnm,", path_join("crypto", "zilliqa_keystore.json")) print(account2) balance = account2.get_balance() print("Account2 balance", balance) assert balance > 0 to_addr = account.address with pytest.raises(ValueError): account2.transfer(to_addr, 50000) txn_info = account2.transfer(to_addr, Zil(10.3)) pprint(txn_info) txn_details = account2.wait_txn_confirm(txn_info["TranID"], timeout=120) pprint(txn_details) assert txn_details balance2 = account.get_balance() print("Account1 balance", balance2) assert balance2 >= balance1 + 10.3
def test_transfer(self): chain.set_active_chain(chain.TestNet) account = Account(address="b50c2404e699fd985f71b2c3f032059f13d6543b") print(account) balance1 = account.get_balance() print("Account1 balance", balance1) with pytest.raises(RuntimeError): account.transfer("to_addr", 1) account2 = Account.from_keystore( "zxcvbnm,", path_join("crypto", "zilliqa_keystore.json")) print(account2) balance = account2.get_balance() print("Account2 balance", balance) assert balance > 0 # check address format with pytest.raises(ValueError): account2.transfer(account.address, Zil(10.3)) with pytest.raises(ValueError): account2.transfer(account.address0x, Zil(10.3)) # checksum address # check insufficient balance with pytest.raises(ValueError): account2.transfer(account.checksum_address, 50000) txn_info = account2.transfer(account.checksum_address, Zil(10.3)) pprint(txn_info) txn_details = account2.wait_txn_confirm(txn_info["TranID"], timeout=240) pprint(txn_details) assert txn_details balance2 = account.get_balance() print("Account1 balance", balance2) assert balance2 >= balance1 + 10.299 account = Account( private_key= "d0b47febbef2bd0c4a4ee04aa20b60d61eb02635e8df5e7fd62409a2b1f5ddf8") # bech32 address txn_info = account.transfer(account2.bech32_address, 10.3, confirm=True) pprint(txn_info)
def test_call_other_account(self): address = self.contracts["hello"] contract = Contract.load_from_address(address) print(contract) print(contract.status) account2 = Account(private_key="d0b47febbef2bd0c4a4ee04aa20b60d61eb02635e8df5e7fd62409a2b1f5ddf8") print("Account2 balance", account2.get_balance()) contract.account = account2 resp = contract.call(gas_price=1000000000, method="setHello", params=[ Contract.value_dict("msg", "String", "hello from another account") ]) print(resp) pprint(contract.last_receipt) assert contract.last_receipt["success"] assert contract.last_receipt["event_logs"][0]["params"][0]["vname"] == "code" assert contract.last_receipt["event_logs"][0]["params"][0]["value"] == "1" resp = contract.call(gas_price=1000000000, method="getHello", params=[]) print(resp) pprint(contract.last_receipt) assert contract.last_receipt["success"] assert contract.last_receipt["event_logs"][0]["_eventname"] == "getHello()" assert contract.last_receipt["event_logs"][0]["params"][0]["vname"] == "msg" assert contract.last_receipt["event_logs"][0]["params"][0]["type"] == "String" assert contract.last_receipt["event_logs"][0]["params"][0]["value"] == "hi contract."
def test_balance(self): account = Account(address="b50c2404e699fd985f71b2c3f032059f13d6543b") balance = account.get_balance() print("balance", balance) assert balance > 0 nonce = account.get_nonce() print("nonce", nonce) assert nonce >= 0 account2 = Account(address="b50c2404e699fd985f71b2c3f032059f13d65432") balance = account2.get_balance() print("balance", balance) assert balance == 0 account3 = Account.from_keystore("zxcvbnm,", path_join("crypto", "zilliqa_keystore.json")) balance = account3.get_balance() print("balance", balance) assert balance > 0
def test_txn(args): global ERROR_MESSAGE global SEND_ZILS_FORWARD_OR_BACK # Load source account account = Account(address=args['srchex'], private_key=args['srckey']) balance = account.get_balance() # Load destination account account2 = Account(address=args['dsthex'], private_key=args['dstkey']) balance2 = account2.get_balance() if SEND_ZILS_FORWARD_OR_BACK == True: print("SRC: {}: {}".format(account, balance)) print("DST: {}: {}".format(account2, balance2)) # Send 100 Qa from srchex to dstzil txn_info = account.transfer(to_addr=args['dstzil'], zils=Qa(100)) SEND_ZILS_FORWARD_OR_BACK = False else: print("SRC: {}: {}".format(account2, balance2)) print("DST: {}: {}".format(account, balance)) # Send 100 Qa from dsthex to srczil txn_info = account2.transfer(to_addr=args['srczil'], zils=Qa(100)) SEND_ZILS_FORWARD_OR_BACK = True pprint(txn_info) txn_id = txn_info["TranID"] sys.stdout.flush() # Wait for confirmation (timeout = 20mins, to take into account a view change) txn_details = account.wait_txn_confirm(txn_id, timeout=1200) pprint(txn_details) if txn_details and txn_details["receipt"]["success"]: print("Txn success: {}".format(txn_id)) else: print("Txn failed: {}".format(txn_id)) raise Exception("Txn failed: {}".format(txn_id))
def test_transfer_qa(self): chain.set_active_chain(chain.TestNet) account = Account(address="b50c2404e699fd985f71b2c3f032059f13d6543b") print(account) print("Account1 balance", repr(account.get_balance())) account2 = Account.from_keystore("zxcvbnm,", path_join("crypto", "zilliqa_keystore.json")) print(account2) balance = account2.get_balance() print("Account2 balance", repr(balance)) assert balance > 0 to_addr = account.address txn_info = account2.transfer(to_addr, Qa(123456789)) pprint(txn_info) txn_details = account2.wait_txn_confirm(txn_info["TranID"], timeout=120) pprint(txn_details) assert txn_details print("Account1 balance", repr(account.get_balance())) print("Account1 balance", repr(account.get_balance_qa()))
def deploy_contract(contract_file, account_sk): # deploy the contract code = open(contract_file).read() contract = Contract.new_from_code(code) print(contract) account = Account(private_key=account_sk) balance = account.get_balance() print("{}: {}".format(account, balance)) # set account before deploy contract.account = account contract.deploy(timeout=300, sleep=10, priority=True) assert contract.status == Contract.Status.Deployed
from pprint import pprint from pyzil.crypto import zilkey from pyzil.zilliqa import chain from pyzil.account import Account from pyzil.contract import Contract from pyzil.zilliqa.api import ZilliqaAPI chain.set_active_chain(chain.TestNet) # user account account = Account( private_key= "919457fa2d81c0b7f1f1918683b1ff6b459c444aefec494c92f34d746ebb6b73") balance = account.get_balance() print("{}: {}".format(account, balance)) contract_addr = "zil1cfq4we3nmf2t7687qjvdwlz89qw2gzy700qwff" contract = Contract.load_from_address(contract_addr) contract.account = account def new_swap_request_test(swap_chain, initial_money, swap_money, target_addr, swap_chain_initial_addr, swap_chain_target_addr): resp = contract.call(method="request_swap", params=[ Contract.value_dict("swap_chain", "String", swap_chain), Contract.value_dict("initial_money", "Uint128", str(initial_money)),