Source code for genlayer.py.evm

"""
This module is responsible for interactions with ghost/external contracts
"""

__all__ = (
	'contract_interface',
	'signature_of',
	'type_name_of',
	'selector_of',
	'MethodEncoder',
	'encode',
	'decode',
	'ContractProxy',
	'ContractDeclaration',
	'InplaceTuple',
	'bytes1',
	'bytes2',
	'bytes3',
	'bytes4',
	'bytes5',
	'bytes6',
	'bytes7',
	'bytes8',
	'bytes9',
	'bytes10',
	'bytes11',
	'bytes12',
	'bytes13',
	'bytes14',
	'bytes15',
	'bytes16',
	'bytes17',
	'bytes18',
	'bytes19',
	'bytes20',
	'bytes21',
	'bytes22',
	'bytes23',
	'bytes24',
	'bytes25',
	'bytes26',
	'bytes27',
	'bytes28',
	'bytes29',
	'bytes30',
	'bytes31',
	'bytes32',
)

from .calldata import *
from .support import *
from .generate import contract_generator, ContractProxy, ContractDeclaration

import typing
from ..types import Address


[docs] def contract_interface[TView, TWrite](
contr: ContractDeclaration[TView, TWrite], ) -> typing.Callable[[Address], ContractProxy[TView, TWrite]]: ...