Exemple #1
0
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")
Exemple #2
0
              "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()