{"repo":"banteg/multicall.py","free":true,"listed":false,"github":"https://github.com/banteg/multicall.py","clone":"git clone https://github.com/banteg/multicall.py.git","description":"aggregate results of multiple smart contract calls into one","language":"C","stars":274,"topics":["ethereum","makerdao","multicall","web3","web3py","daistats"],"license":"MIT","category":"blockchain-web3","readme_excerpt":"multicall.py python interface for makerdao's multicall and a port of multicall.js installation example for a full example, see implementation of daistats. original daistats.com made by nanexcool. api Signature(signature) - signature is a seth-style function signature of function name(input,types)(output,types) . it also supports structs which need to be broken down to basic parts, e.g. (address,bytes)[] . use encode data(args) with input args to get the calldata. use decode data(output) with the output to decode the result. Call(target, function, returns) - target is the to address which is supplied to eth call . - function can be either seth-style signature of method(input,types)(output,types) or a list of [signature, args] . - returns is a list of tuples of (name, handler) for return values. if returns argument is omitted, you get a tuple, otherwise you get a dict. to skip processing of a value, pass None as a handler. use Call(...)() with predefined args or Call(...)(args) to reuse a prepared call with different args. use decode output(output) with to decode the output and process it with returns handlers. Multicall(calls) - calls is a list of calls with prepared values. use Multicall(...)() to get the result of a prepared multicall. Environment Variables - GAS LIMIT: sets overridable default gas limit for Multicall to prevent out of gas errors. Default: 50,000,000 - MULTICALL DEBUG: if set, sets logging level for all library loggers to logging.DEBUG - AIOHTTP TIMEOUT: set","default_branch":null,"files":null,"tree":[],"storefront":"/r/banteg","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/banteg/multicall.py/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}