示例#1
0
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'])
示例#2
0
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)
示例#3
0
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