safe_eth.eth.contracts package
Subpackages
Submodules
safe_eth.eth.contracts.contract_base module
- class safe_eth.eth.contracts.contract_base.ContractBase(address: ChecksumAddress, ethereum_client: EthereumClient, *args, **kwargs)
Bases:
object- property contract: Contract
- abstractmethod get_contract_fn() Callable[[Web3, ChecksumAddress | None], Contract]
- Returns:
Contract function to get the proper contract
Module contents
Safe Addresses. Should be the same for every chain except for the ones with chainId protection. Check: https://github.com/safe-global/safe-deployments/tree/main/src/assets
Safe V1.5.0: 0xFf51A5898e281Db6DfC7855790607438dF2ca44b Safe V1.4.1: 0x41675C099F32341bf84BFc5382aF534df5C7461a GnosisSafe V1.3.0: 0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552 GnosisSafe V1.1.1: 0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F GnosisSafe V1.1.0: 0xaE32496491b53841efb51829d6f886387708F99B GnosisSafe V1.0.0: 0xb6029EA3B2c51D09a50B53CA8012FeEB05bDa35A
Factories SafeProxyFactory V1.5.0: 0x14F2982D601c9458F93bd70B218933A6f8165e7b SafeProxyFactory V1.4.1: 0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67 ProxyFactory V1.3.0: 0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2 ProxyFactory V1.1.0: 0x50e55Af101C777bA7A1d560a774A82eF002ced9F ProxyFactory V1.0.0: 0x12302fE9c02ff50939BaAaaf415fc226C078613C
FallbackHandler CompatibilityFallBackHandler V1.5.0: 0x3EfCBb83A4A7AfcB4F68D501E2c2203a38be77f4 CompatibilityFallBackHandler V1.4.1: 0xfd0732Dc9E303f09fCEf3a7388Ad10A83459Ec99 CompatibilityFallBackHandler V1.3.0: 0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4 ExtensibleFallbackHandler V1.5.0: 0x85a8ca358D388530ad0fB95D0cb89Dd44Fc242c3
Libraries CreateAndAddModules: 0x1a56aE690ab0818aF5cA349b7D21f1d7e76a3d36 MultiSend V1.5.0: 0x218543288004CD07832472D464648173c77D7eB7 MultiSend V1.4.1: 0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526 MultiSendCallOnly V1.5.0: 0xA83c336B20401Af773B6219BA5027174338D1836 MultiSendCallOnly V1.4.1: 0x9641d764fc13c8B624c04430C7356C1C7C8102e2 SimulateTxAccessor: 0x3d4BA2E0884aa488718476ca2FB8Efc291A46199 SignMessageLib: 0xd53cd0aB83D845Ac265BE939c57F53AD838012c9 SafeToL2Migration: 0xfF83F6335d8930cBad1c0D439A841f01888D9f69
- safe_eth.eth.contracts.generate_contract_fn(contract: Dict[str, Any]) Callable[[Web3, ChecksumAddress | None], Type[Contract] | Contract]
Dynamically generate a function to build a Web3 Contract for the provided contract ABI
- Parameters:
contract
- Returns:
function that will return a Web3 Contract from an ABI
- safe_eth.eth.contracts.get_compatibility_fallback_handler_V1_3_0_contract(w3: Web3, address: ChecksumAddress | None = None) Type[Contract] | Contract
- safe_eth.eth.contracts.get_compatibility_fallback_handler_V1_4_1_contract(w3: Web3, address: ChecksumAddress | None = None) Type[Contract] | Contract
- safe_eth.eth.contracts.get_compatibility_fallback_handler_V1_5_0_contract(w3: Web3, address: ChecksumAddress | None = None) Type[Contract] | Contract
- safe_eth.eth.contracts.get_compatibility_fallback_handler_contract(w3: Web3 | AsyncWeb3, address: ChecksumAddress | None = None) Contract
- Parameters:
w3
address – Usually a Safe address
- Returns:
Latest available Compatibility Fallback handler contract
- safe_eth.eth.contracts.get_cpk_factory_contract(w3: Web3, address: ChecksumAddress | None = None) Type[Contract] | Contract
- safe_eth.eth.contracts.get_delegate_constructor_proxy_contract(w3: Web3, address: ChecksumAddress | None = None) Type[Contract] | Contract
- safe_eth.eth.contracts.get_erc1155_contract(w3: Web3, address: ChecksumAddress | None = None) Type[Contract] | Contract
- safe_eth.eth.contracts.get_erc20_contract(w3: Web3, address: ChecksumAddress | None = None) Type[Contract] | Contract
- safe_eth.eth.contracts.get_erc721_contract(w3: Web3, address: ChecksumAddress | None = None) Type[Contract] | Contract
- safe_eth.eth.contracts.get_example_erc20_contract(w3: Web3, address: ChecksumAddress | None = None) Type[Contract] | Contract
- safe_eth.eth.contracts.get_extensible_fallback_handler_V1_5_0_contract(w3: Web3, address: ChecksumAddress | None = None) Type[Contract] | Contract
- safe_eth.eth.contracts.get_extensible_fallback_handler_contract(w3: Web3, address: ChecksumAddress | None = None) Contract
- Parameters:
w3
address – Usually a Safe address
- Returns:
Latest available Extensible Fallback handler contract
- safe_eth.eth.contracts.get_kyber_network_proxy_contract(w3: Web3, address: ChecksumAddress | None = None) Type[Contract] | Contract
- safe_eth.eth.contracts.get_multi_send_V1_4_1_contract(w3: Web3, address: ChecksumAddress | None = None) Type[Contract] | Contract
- safe_eth.eth.contracts.get_multi_send_V1_5_0_contract(w3: Web3, address: ChecksumAddress | None = None) Type[Contract] | Contract
- safe_eth.eth.contracts.get_multi_send_call_only_V1_4_1_contract(w3: Web3, address: ChecksumAddress | None = None) Type[Contract] | Contract
- safe_eth.eth.contracts.get_multi_send_call_only_V1_5_0_contract(w3: Web3, address: ChecksumAddress | None = None) Type[Contract] | Contract
- safe_eth.eth.contracts.get_multi_send_call_only_contract(w3: Web3, address: ChecksumAddress | None = None) Contract
- safe_eth.eth.contracts.get_multi_send_contract(w3: Web3, address: ChecksumAddress | None = None) Contract
- safe_eth.eth.contracts.get_multicall_v3_contract(w3: Web3, address: ChecksumAddress | None = None)
- safe_eth.eth.contracts.get_paying_proxy_contract(w3: Web3, address: ChecksumAddress | None = None) Type[Contract] | Contract
- safe_eth.eth.contracts.get_paying_proxy_deployed_bytecode() bytes
- safe_eth.eth.contracts.get_proxy_1_0_0_deployed_bytecode() bytes
- safe_eth.eth.contracts.get_proxy_1_1_1_deployed_bytecode() bytes
- safe_eth.eth.contracts.get_proxy_1_1_1_mainnet_deployed_bytecode() bytes
Somehow it’s different from the generated version compiling the contracts
- safe_eth.eth.contracts.get_proxy_1_3_0_deployed_bytecode() bytes
- safe_eth.eth.contracts.get_proxy_1_4_1_deployed_bytecode() bytes
- safe_eth.eth.contracts.get_proxy_1_5_0_deployed_bytecode() bytes
- safe_eth.eth.contracts.get_proxy_contract(w3: Web3, address: ChecksumAddress | None = None) Type[Contract] | Contract
- safe_eth.eth.contracts.get_proxy_factory_V1_0_0_contract(w3: Web3, address: ChecksumAddress | None = None) Type[Contract] | Contract
- safe_eth.eth.contracts.get_proxy_factory_V1_1_1_contract(w3: Web3, address: ChecksumAddress | None = None) Type[Contract] | Contract
- safe_eth.eth.contracts.get_proxy_factory_V1_3_0_contract(w3: Web3, address: ChecksumAddress | None = None) Type[Contract] | Contract
- safe_eth.eth.contracts.get_proxy_factory_V1_4_1_contract(w3: Web3, address: ChecksumAddress | None = None) Type[Contract] | Contract
- safe_eth.eth.contracts.get_proxy_factory_V1_5_0_contract(w3: Web3, address: ChecksumAddress | None = None) Type[Contract] | Contract
- safe_eth.eth.contracts.get_proxy_factory_contract(w3: Web3, address: ChecksumAddress | None = None) Contract
- Parameters:
w3
address
- Returns:
Latest available Safe Proxy Factory
- safe_eth.eth.contracts.get_safe_V0_0_1_contract(w3: Web3, address: ChecksumAddress | None = None) Type[Contract] | Contract
- safe_eth.eth.contracts.get_safe_V1_0_0_contract(w3: Web3, address: ChecksumAddress | None = None) Type[Contract] | Contract
- safe_eth.eth.contracts.get_safe_V1_1_1_contract(w3: Web3, address: ChecksumAddress | None = None) Type[Contract] | Contract
- safe_eth.eth.contracts.get_safe_V1_3_0_contract(w3: Web3, address: ChecksumAddress | None = None) Type[Contract] | Contract
- safe_eth.eth.contracts.get_safe_V1_4_1_contract(w3: Web3, address: ChecksumAddress | None = None) Type[Contract] | Contract
- safe_eth.eth.contracts.get_safe_V1_5_0_contract(w3: Web3, address: ChecksumAddress | None = None) Type[Contract] | Contract
- safe_eth.eth.contracts.get_safe_contract(w3: Web3, address: ChecksumAddress | None = None) Contract
- Parameters:
w3
address
- Returns:
Latest available Safe Contract
- safe_eth.eth.contracts.get_safe_contract_by_version(version: str, w3: Web3, address: ChecksumAddress | None = None) Contract
Get Safe contract instance for a specific version.
- Parameters:
version – Version string (e.g., “1.5.0”, “1.4.1”)
w3 – Web3 instance
address – Optional contract address
- Returns:
Safe contract instance
- Raises:
ValueError – If version is not supported
- safe_eth.eth.contracts.get_safe_to_l2_migration_contract(w3: Web3, address: ChecksumAddress | None = None) Type[Contract] | Contract
- safe_eth.eth.contracts.get_sign_message_lib_contract(w3: Web3, address: ChecksumAddress | None = None) Type[Contract] | Contract
- safe_eth.eth.contracts.get_simulate_tx_accessor_V1_4_1_contract(w3: Web3, address: ChecksumAddress | None = None) Type[Contract] | Contract
- safe_eth.eth.contracts.get_simulate_tx_accessor_V1_5_0_contract(w3: Web3, address: ChecksumAddress | None = None) Type[Contract] | Contract
- safe_eth.eth.contracts.get_uniswap_exchange_contract(w3: Web3, address: ChecksumAddress | None = None) Type[Contract] | Contract
- safe_eth.eth.contracts.get_uniswap_factory_contract(w3: Web3, address: ChecksumAddress | None = None) Type[Contract] | Contract
- safe_eth.eth.contracts.get_uniswap_v2_factory_contract(w3: Web3, address: ChecksumAddress | None = None) Type[Contract] | Contract
- safe_eth.eth.contracts.get_uniswap_v2_pair_contract(w3: Web3, address: ChecksumAddress | None = None) Type[Contract] | Contract
- safe_eth.eth.contracts.get_uniswap_v2_router_contract(w3: Web3, address: ChecksumAddress | None = None) Type[Contract] | Contract
- safe_eth.eth.contracts.load_contract_interface(file_name: str) Dict[str, Any]
- Parameters:
file_name
- Returns:
Get parsed JSON to ABI with the relative filename to this file path