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

GnosisSafe V1.3.0: 0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552 GnosisSafe V1.1.1: 0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F GnosisSafe V1.1.0: 0xaE32496491b53841efb51829d6f886387708F99B GnosisSafe V1.0.0: 0xb6029EA3B2c51D09a50B53CA8012FeEB05bDa35A

Factories ProxyFactory V1.3.0: 0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2 ProxyFactory V1.1.0: 0x50e55Af101C777bA7A1d560a774A82eF002ced9F ProxyFactory V1.0.0: 0x12302fE9c02ff50939BaAaaf415fc226C078613C

FallbackHandler CompatibilityFallBackHandler V1.3.0: 0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4

Libraries CreateAndAddModules: 0x1a56aE690ab0818aF5cA349b7D21f1d7e76a3d36 MultiSend: 0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761

gnosis.eth.contracts.generate_contract_fn(contract: Dict[str, Any])

Dynamically generate functions to work with the contracts

Parameters

contract

Returns

gnosis.eth.contracts.get_compatibility_fallback_handler_V1_3_0_contract(w3: Web3, address: Optional[ChecksumAddress] = None)
gnosis.eth.contracts.get_cpk_factory_contract(w3: Web3, address: Optional[ChecksumAddress] = None)
gnosis.eth.contracts.get_delegate_constructor_proxy_contract(w3: Web3, address: Optional[ChecksumAddress] = None)
gnosis.eth.contracts.get_erc1155_contract(w3: Web3, address: Optional[ChecksumAddress] = None)
gnosis.eth.contracts.get_erc20_contract(w3: Web3, address: Optional[ChecksumAddress] = None)
gnosis.eth.contracts.get_erc721_contract(w3: Web3, address: Optional[ChecksumAddress] = None)
gnosis.eth.contracts.get_example_erc20_contract(w3: Web3, address: Optional[ChecksumAddress] = None)
gnosis.eth.contracts.get_kyber_network_proxy_contract(w3: Web3, address: Optional[ChecksumAddress] = None)
gnosis.eth.contracts.get_multi_send_contract(w3: Web3, address: Optional[ChecksumAddress] = None)
gnosis.eth.contracts.get_paying_proxy_contract(w3: Web3, address: Optional[ChecksumAddress] = None)
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_contract(w3: Web3, address: Optional[ChecksumAddress] = None)
gnosis.eth.contracts.get_proxy_factory_V1_0_0_contract(w3: Web3, address: Optional[ChecksumAddress] = None)
gnosis.eth.contracts.get_proxy_factory_V1_1_1_contract(w3: Web3, address: Optional[ChecksumAddress] = None)
gnosis.eth.contracts.get_proxy_factory_contract(w3: Web3, address: Optional[ChecksumAddress] = None)
gnosis.eth.contracts.get_safe_V0_0_1_contract(w3: Web3, address: Optional[ChecksumAddress] = None)
gnosis.eth.contracts.get_safe_V1_0_0_contract(w3: Web3, address: Optional[ChecksumAddress] = None)
gnosis.eth.contracts.get_safe_V1_1_1_contract(w3: Web3, address: Optional[ChecksumAddress] = None)
gnosis.eth.contracts.get_safe_V1_3_0_contract(w3: Web3, address: Optional[ChecksumAddress] = None)
gnosis.eth.contracts.get_safe_contract(w3: Web3, address: Optional[str] = None) Contract
Parameters
  • w3

  • address

Returns

Latest available safe contract (v1.3.0)

gnosis.eth.contracts.get_uniswap_exchange_contract(w3: Web3, address: Optional[ChecksumAddress] = None)
gnosis.eth.contracts.get_uniswap_factory_contract(w3: Web3, address: Optional[ChecksumAddress] = None)
gnosis.eth.contracts.get_uniswap_v2_factory_contract(w3: Web3, address: Optional[ChecksumAddress] = None)
gnosis.eth.contracts.get_uniswap_v2_pair_contract(w3: Web3, address: Optional[ChecksumAddress] = None)
gnosis.eth.contracts.get_uniswap_v2_router_contract(w3: Web3, address: Optional[ChecksumAddress] = None)
gnosis.eth.contracts.load_contract_interface(file_name)