gnosis.eth.contracts package

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.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.4.1: 0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67 ProxyFactory V1.3.0: 0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2 ProxyFactory V1.1.0: 0x50e55Af101C777bA7A1d560a774A82eF002ced9F ProxyFactory V1.0.0: 0x12302fE9c02ff50939BaAaaf415fc226C078613C

FallbackHandler CompatibilityFallBackHandler V1.4.1: 0xfd0732Dc9E303f09fCEf3a7388Ad10A83459Ec99 CompatibilityFallBackHandler V1.3.0: 0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4

Libraries CreateAndAddModules: 0x1a56aE690ab0818aF5cA349b7D21f1d7e76a3d36 MultiSend: 0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526 MultiSendCallOnly: 0x9641d764fc13c8B624c04430C7356C1C7C8102e2 SimulateTxAccessor: 0x3d4BA2E0884aa488718476ca2FB8Efc291A46199 SignMessageLib: 0xd53cd0aB83D845Ac265BE939c57F53AD838012c9

gnosis.eth.contracts.generate_contract_fn(contract: Dict[str, Any]) Callable[[Web3, ChecksumAddress | None], 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

gnosis.eth.contracts.get_compatibility_fallback_handler_V1_3_0_contract(w3: Web3, address: ChecksumAddress | None = None) Contract
gnosis.eth.contracts.get_compatibility_fallback_handler_V1_4_1_contract(w3: Web3, address: ChecksumAddress | None = None) Contract
gnosis.eth.contracts.get_compatibility_fallback_handler_contract(w3: Web3, address: ChecksumAddress | None = None) Contract
Parameters:
  • w3

  • address – Usually a Safe address

Returns:

Latest available Compatibility Fallback handler contract

gnosis.eth.contracts.get_cpk_factory_contract(w3: Web3, address: ChecksumAddress | None = None) Contract
gnosis.eth.contracts.get_delegate_constructor_proxy_contract(w3: Web3, address: ChecksumAddress | None = None) Contract
gnosis.eth.contracts.get_erc1155_contract(w3: Web3, address: ChecksumAddress | None = None) Contract
gnosis.eth.contracts.get_erc20_contract(w3: Web3, address: ChecksumAddress | None = None) Contract
gnosis.eth.contracts.get_erc721_contract(w3: Web3, address: ChecksumAddress | None = None) Contract
gnosis.eth.contracts.get_example_erc20_contract(w3: Web3, address: ChecksumAddress | None = None) Contract
gnosis.eth.contracts.get_kyber_network_proxy_contract(w3: Web3, address: ChecksumAddress | None = None) Contract
gnosis.eth.contracts.get_multi_send_contract(w3: Web3, address: ChecksumAddress | None = None) Contract
gnosis.eth.contracts.get_multicall_v3_contract(w3: Web3, address: ChecksumAddress | None = None)
gnosis.eth.contracts.get_paying_proxy_contract(w3: Web3, address: ChecksumAddress | None = None) Contract
gnosis.eth.contracts.get_paying_proxy_deployed_bytecode() bytes
gnosis.eth.contracts.get_proxy_1_0_0_deployed_bytecode() bytes
gnosis.eth.contracts.get_proxy_1_1_1_deployed_bytecode() bytes
gnosis.eth.contracts.get_proxy_1_1_1_mainnet_deployed_bytecode() bytes

Somehow it’s different from the generated version compiling the contracts

gnosis.eth.contracts.get_proxy_1_3_0_deployed_bytecode() bytes
gnosis.eth.contracts.get_proxy_1_4_1_deployed_bytecode() bytes
gnosis.eth.contracts.get_proxy_contract(w3: Web3, address: ChecksumAddress | None = None) Contract
gnosis.eth.contracts.get_proxy_factory_V1_0_0_contract(w3: Web3, address: ChecksumAddress | None = None) Contract
gnosis.eth.contracts.get_proxy_factory_V1_1_1_contract(w3: Web3, address: ChecksumAddress | None = None) Contract
gnosis.eth.contracts.get_proxy_factory_V1_3_0_contract(w3: Web3, address: ChecksumAddress | None = None) Contract
gnosis.eth.contracts.get_proxy_factory_V1_4_1_contract(w3: Web3, address: ChecksumAddress | None = None) Contract
gnosis.eth.contracts.get_proxy_factory_contract(w3: Web3, address: str | None = None) Contract
Parameters:
  • w3

  • address

Returns:

Latest available Safe Proxy Factory

gnosis.eth.contracts.get_safe_V0_0_1_contract(w3: Web3, address: ChecksumAddress | None = None) Contract
gnosis.eth.contracts.get_safe_V1_0_0_contract(w3: Web3, address: ChecksumAddress | None = None) Contract
gnosis.eth.contracts.get_safe_V1_1_1_contract(w3: Web3, address: ChecksumAddress | None = None) Contract
gnosis.eth.contracts.get_safe_V1_3_0_contract(w3: Web3, address: ChecksumAddress | None = None) Contract
gnosis.eth.contracts.get_safe_V1_4_1_contract(w3: Web3, address: ChecksumAddress | None = None) Contract
gnosis.eth.contracts.get_safe_contract(w3: Web3, address: ChecksumAddress | None = None) Contract
Parameters:
  • w3

  • address

Returns:

Latest available Safe Contract

gnosis.eth.contracts.get_sign_message_lib_contract(w3: Web3, address: ChecksumAddress | None = None) Contract
gnosis.eth.contracts.get_simulate_tx_accessor_V1_4_1_contract(w3: Web3, address: ChecksumAddress | None = None) Contract
gnosis.eth.contracts.get_uniswap_exchange_contract(w3: Web3, address: ChecksumAddress | None = None) Contract
gnosis.eth.contracts.get_uniswap_factory_contract(w3: Web3, address: ChecksumAddress | None = None) Contract
gnosis.eth.contracts.get_uniswap_v2_factory_contract(w3: Web3, address: ChecksumAddress | None = None) Contract
gnosis.eth.contracts.get_uniswap_v2_pair_contract(w3: Web3, address: ChecksumAddress | None = None) Contract
gnosis.eth.contracts.get_uniswap_v2_router_contract(w3: Web3, address: ChecksumAddress | None = None) Contract
gnosis.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