Ejemplo n.º 1
0
    def encode_calldata(self, web3: Web3, fn_signature: str, arguments: List,
                        contract_abi) -> Calldata:
        """ encode inputted contract and methods with call arguments as pymaker.Calldata """
        assert isinstance(web3, Web3)
        assert isinstance(fn_signature, str)
        assert isinstance(arguments, List)

        return Calldata.from_contract_abi(web3, fn_signature, arguments,
                                          contract_abi)
Ejemplo n.º 2
0
    def test_from_contract_abi(self, web3):
        # given
        calldata1a = Calldata(
            '0xa9059cbb'  # function 4byte signature
            '00000000000000000000000011223344556600000000000000000000000000ff'
            '000000000000000000000000000000000000000000000000000000000000007b')

        calldata1b = Calldata.from_contract_abi(
            web3, 'transfer(address,uint256)',
            ['0x11223344556600000000000000000000000000ff', 123], test_abi)

        # expect
        assert calldata1a == calldata1b