def math(rpc_server, rpc_client, eth_coinbase):
    Math = Contract(rpc_client, 'Math', contract)

    txn_hash = Math.deploy(_from=eth_coinbase)
    receipt = rpc_client.get_transaction_receipt(txn_hash)

    math = Math(receipt['contractAddress'])
    return math
Example #2
0
def math(rpc_server, rpc_client, eth_coinbase):
    Math = Contract(rpc_client, 'Math', contract)

    txn_hash = Math.deploy(_from=eth_coinbase)
    receipt = rpc_client.get_transaction_receipt(txn_hash)

    math = Math(receipt['contractAddress'])
    return math
Example #3
0
def contracts(request, rpc_client):
    from populus.utils import load_contracts
    from populus.contracts import Contract

    project_dir = getattr(request.module, "project_dir", os.getcwd())

    contracts = load_contracts(project_dir)

    contract_classes = {
        name: Contract(rpc_client, name, contract)
        for name, contract in contracts.items()
    }

    _dict = {
        '__iter__': lambda s: iter(contract_classes.items()),
        '__getitem__': lambda s, k: contract_classes.__getitem__[k],
    }
    _dict.update(contract_classes)

    return type('contracts', (object, ), _dict)()
Example #4
0
def get_contract(contract_name):
    return Contract(contract_json[contract_name], contract_name)
Example #5
0
def get_contract(contract_name):
    with open(os.path.join(os.path.dirname(__file__),
                           'alarm.json')) as contract_json:
        contracts = json.loads(contract_json.read())
    return Contract(contracts[contract_name], contract_name)
Example #6
0
def test_contract_deploy(rpc_server, rpc_client, eth_coinbase):
    Math = Contract(rpc_client, 'Math', contract)
    deploy_txn_hash = Math.deploy(_from=eth_coinbase)
    receipt = rpc_client.get_transaction_receipt(deploy_txn_hash)
    assert receipt
    assert receipt['contractAddress']
def test_contract_deploy_data(math_contract_meta):
    Math = Contract(math_contract_meta, 'Math')
    deploy_data = Math.get_deploy_data()
    assert deploy_data == '0x606060405260f8806100126000396000f30060606040526000357c01000000000000000000000000000000000000000000000000000000009004806316216f3914604b578063a5f3c23b14606a578063dcf537b1146095576049565b005b605460045060e6565b6040518082815260200191505060405180910390f35b607f60048035906020018035906020015060ba565b6040518082815260200191505060405180910390f35b60a460048035906020015060d0565b6040518082815260200191505060405180910390f35b60008183019050805080905060ca565b92915050565b6000600782029050805080905060e1565b919050565b6000600d9050805080905060f5565b9056'
def test_contract_deploy_data_with_constructor(named_contract_meta):
    Named = Contract(named_contract_meta, 'Named')
    deploy_data = Named.get_deploy_data('test-name')
    # check that the hex encoded name is in the deploy data.
    assert '746573742d6e616d65' in deploy_data
    assert deploy_data == '0x606060405260405160208060948339016040526060805190602001505b806000600050819055505b50605f8060356000396000f30060606040526000357c01000000000000000000000000000000000000000000000000000000009004806306fdde03146037576035565b005b60406004506056565b6040518082815260200191505060405180910390f35b6000600050548156746573742d6e616d650000000000000000000000000000000000000000000000'
def test_contract_deploy_data_constructor_args_error(math_contract_meta):
    Math = Contract(math_contract_meta, 'Math')
    with pytest.raises(ValueError):
        Math.get_deploy_data('unexpected-argument')
Example #10
0
def Math(math_contract_meta):
    from populus.contracts import Contract
    Math = Contract(math_contract_meta, 'Math')
    return Math
Example #11
0
def LogsEvents(logs_events_contract_meta):
    from populus.contracts import Contract
    LogsEvents = Contract(logs_events_contract_meta, 'LogsEvents')
    return LogsEvents
Example #12
0
def Named(named_contract_meta):
    from populus.contracts import Contract
    Named = Contract(named_contract_meta, 'Named')
    return Named
def test_contract_deploy(rpc_server, rpc_client, eth_coinbase):
    Math = Contract(rpc_client, 'Math', contract)
    deploy_txn_hash = Math.deploy(_from=eth_coinbase)
    receipt = rpc_client.get_transaction_receipt(deploy_txn_hash)
    assert receipt
    assert receipt['contractAddress']
def Math(rpc_client):
    Math = Contract(rpc_client, 'Math', contract)
    return Math
Example #15
0
import os
import json

from populus.contracts import Contract

BASE_DIR = os.path.dirname(__file__)
CONTRACT_ABI_PATH = os.path.join(BASE_DIR, 'contracts.json')

contract_json = json.loads(open(CONTRACT_ABI_PATH).read())

future_block_call_meta = contract_json['FutureBlockCall']
FutureBlockCall = Contract(future_block_call_meta, "FutureBlockCall")

call_lib_meta = contract_json['CallLib']
CallLib = Contract(call_lib_meta, "CallLib")