print(f'[+] Created token owner account ', token_owner_account.name_) symbolic_value = m.make_symbolic_value(name="VALUE1") token_account = m.solidity_create_contract(token_contract, owner=token_owner_account, name='token_account', args=[symbolic_value]) owner_account = m.create_account(balance=1000, name='owner_account') print(f'[+] Created owner account ', owner_account.name_) with open(DISPENSER_JSON_PATH) as f: contract_json = f.read() contract_account = m.json_create_contract(contract_json, owner=owner_account, name='contract_account') symbolic_address_1 = m.make_symbolic_value(name="ADDRESS1") contract_account.initialize(token_account.address, symbolic_address_1, caller=owner_account, value=0, signature='(address,address)') # At this point, it should not revert, unless one of these addresses is 0x0. #print("[+] First symbolic transaction") #symbolic_data = m.make_symbolic_buffer(320) #symbolic_address = m.make_symbolic_value(name="ADDRESS1") #symbolic_caller = m.make_symbolic_value(name="CALLER1")
"type": "event" } } } } } }, "updatedAt": "2017-05-15T20:46:00Z", "schemaVersion": "0.0.5" } ''' user_account = m.create_account(balance=1000, name='user_account') print("[+] Creating a user account", user_account.name_) contract_account = m.json_create_contract(truffle_json, owner=user_account, name='contract_account') print("[+] Creating a contract account", contract_account.name_) contract_account.sendCoin(1,1) print("[+] Now the symbolic values") symbolic_data = m.make_symbolic_buffer(320) symbolic_value = m.make_symbolic_value(name="VALUE") symbolic_address = m.make_symbolic_value(name="ADDRESS") symbolic_caller = m.make_symbolic_value(name="CALLER") m.transaction(caller=symbolic_caller, address=symbolic_address, data=symbolic_data, value=symbolic_value ) #Let seth know we are not sending more transactions m.finalize()