def deploy(account, src): if not eosapi.get_account(account): print('account does not exists, create it.') r = eosapi.create_account2('eosio', account, initeos.key1, initeos.key2) assert r ''' abs_src_file = os.path.dirname(__file__) last_update = eosapi.get_code_update_time_ms(account) modify_time = os.path.getmtime(abs_src_file)*1000 if last_update >= modify_time: return ''' actions = [] _src_dir = os.path.dirname(__file__) abi_file = os.path.join(_src_dir, 'tester.abi') setabi = eosapi.pack_setabi(abi_file, eosapi.N(account)) act = ['eosio', 'setabi', setabi, {account: 'active'}] actions.append(act) args = eosapi.pack_args( "eosio", 'setcode', { 'account': account, 'vmtype': 10, 'vmversion': 0, 'code': src.encode('utf8').hex() }) act = ['eosio', 'setcode', args, {account: 'active'}] actions.append(act) r, cost = eosapi.push_actions(actions) print(r['except']) print(r['elapsed'])
def setUp(account='evm', main_class='<stdin>:Tester', src_file='tester.sol'): global contract_abi if not eosapi.get_account(account): print('evm account not exist, create it.') r = eosapi.create_account2('eosio', account, initeos.key1, initeos.key2) assert r abs_src_file = os.path.join(os.path.dirname(__file__), src_file) last_update = eosapi.get_code_update_time_ms(account) modify_time = os.path.getmtime(abs_src_file)*1000 if last_update >= modify_time: return # print(bin) contract_abi, bin = compile(src_file, main_class) deploy(account, bin)
def test_call(): src_file = 'callee.sol' main_class = '<stdin>:Callee' account = 'callee' if not eosapi.get_account(account): print('account not exist, create it.') r = eosapi.create_account2('eosio', account, initeos.key1, initeos.key2) assert r abs_src_file = os.path.join(os.path.dirname(__file__), src_file) last_update = eosapi.get_code_update_time_ms(account) modify_time = os.path.getmtime(abs_src_file)*1000 if last_update < modify_time: contract_abi, bin = compile(src_file, main_class) deploy(account, bin) call('testCall', ('0x00000000000000000000000041a3152800000000', 120)) n = eosapi.N(account) itr = rodb.find_i256(n, n, n, 0) assert itr >= 0 assert rodb.get_i256(itr) == 120