safe_eth.safe.account_abstraction package
Submodules
safe_eth.safe.account_abstraction.safe_operation module
- class safe_eth.safe.account_abstraction.safe_operation.SafeOperation(safe: ChecksumAddress, nonce: int, init_code_hash: bytes, call_data_hash: bytes, call_gas_limit: int, verification_gas_limit: int, pre_verification_gas: int, max_fee_per_gas: int, max_priority_fee_per_gas: int, paymaster_and_data_hash: bytes, valid_after: int, valid_until: int, entry_point: ChecksumAddress, signature: bytes, TYPE_HASH: bytes = HexBytes('0x84aa190356f56b8c87825f54884392a9907c23ee0f8e1ea86336b763faf021bd'), DOMAIN_SEPARATOR_TYPE_HASH: bytes = HexBytes('0x47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a79469218'), safe_operation_hash: bytes | None = None)
Bases:
objectSafe EIP4337 operation More info: https://github.com/safe-global/safe-modules/blob/main/modules/4337/contracts/Safe4337Module.sol#L55
TypeHash calculation:
keccak256( "SafeOp(address safe,uint256 nonce,bytes initCode,bytes callData,uint256 callGasLimit,uint256 verificationGasLimit,uint256 preVerificationGas,uint256 maxFeePerGas,uint256 maxPriorityFeePerGas,bytes paymasterAndData,uint48 validAfter,uint48 validUntil,address entryPoint)" )
Domain separator calculation:
- DOMAIN_SEPARATOR_TYPE_HASH: bytes = HexBytes('0x47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a79469218')
- TYPE_HASH: bytes = HexBytes('0x84aa190356f56b8c87825f54884392a9907c23ee0f8e1ea86336b763faf021bd')
- call_data_hash: bytes
- call_gas_limit: int
- entry_point: ChecksumAddress
- classmethod from_user_operation(user_operation: UserOperation | UserOperationV07)
- get_domain_separator(chain_id: int, module_address: ChecksumAddress) bytes
- get_safe_operation_hash(chain_id: int, module_address: ChecksumAddress) bytes
- init_code_hash: bytes
- max_fee_per_gas: int
- max_priority_fee_per_gas: int
- nonce: int
- paymaster_and_data_hash: bytes
- pre_verification_gas: int
- safe: ChecksumAddress
- safe_operation_hash: bytes | None = None
- property safe_operation_hash_preimage: bytes
- signature: bytes
- valid_after: int
- property valid_after_as_datetime: datetime | None
- valid_until: int
- property valid_until_as_datetime: datetime | None
- verification_gas_limit: int
Module contents
Safe Account abstraction utils