from web3 import Web3, HTTPProvider import json provider = HTTPProvider('https://ropsten.infura.io/<Redacted Key>') w3 = Web3(provider) assert w3.isConnected() pdb.set_trace() abi = str(<Here I am pasting my abi in. How should I do this, since I didn't build the contract in Python?> escrow = w3.eth.contract(address='0x8850259566e9d03a1524e35687db2c78d4003409', abi=abi)
... When I get to this line, the program crashes:
File "/usr/local/lib/python3.6/dist-packages/web3/eth.py", line 351, in contract ContractFactory = ContractFactoryClass.factory(self.web3, **kwargs) File "/usr/local/lib/python3.6/dist-packages/web3/contract.py", line 225, in factory normalizers=normalizers) File "/usr/local/lib/python3.6/dist-packages/web3/utils/datatypes.py", line 36, in __new__ namespace) File "cytoolz/functoolz.pyx", line 236, in cytoolz.functoolz.curry.__call__ File "cytoolz/functoolz.pyx", line 232, in cytoolz.functoolz.curry.__call__ File "/usr/local/lib/python3.6/dist-packages/eth_utils/functional.py", line 22, in inner return callback(fn(*args, **kwargs)) File "/usr/local/lib/python3.6/dist-packages/web3/utils/formatters.py", line 69, in apply_formatters_to_dict raise type(exc)("Could not format value %r as field %r" % (item, key)) from exc TypeError: __init__() missing 2 required positional arguments: 'doc' and 'pos'