Address Contract Partially Verified
Address
0x905ade25B1f8f39Cf470E39c5A768EAF1f91Fd3e
Balance
0 ETH
Nonce
1
Code Size
1624 bytes
Creator
0x7fb85Bab...778d at tx 0xd48dfe54...7f2e41
Indexed Transactions
0
Contract Bytecode
1624 bytes
0x6080604052600436106100295760003560e01c8063131e7e1c1461002e578063259debfe1461006a575b600080fd5b34801561003a57600080fd5b5060005461004e906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b61007d6100783660046103ec565b61007f565b005b600080548351602085015160408087015190517f1688f0b90000000000000000000000000000000000000000000000000000000081526001600160a01b0390941693631688f0b9936100d793909290916004016104ea565b6020604051808303816000875af11580156100f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061011a919061051c565b9050806001600160a01b0316636a76120234846000015185602001518660400151876060015160ff16600181111561015457610154610540565b88608001518960a001518a60c001518b60e001518c61010001518d61012001516040518c63ffffffff1660e01b81526004016101999a99989796959493929190610556565b60206040518083038185885af11580156101b7573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906101dc9190610600565b50505050565b634e487b7160e01b600052604160045260246000fd5b604051610140810167ffffffffffffffff8111828210171561021c5761021c6101e2565b60405290565b6040516060810167ffffffffffffffff8111828210171561021c5761021c6101e2565b6001600160a01b038116811461025a57600080fd5b50565b803561026881610245565b919050565b600082601f83011261027e57600080fd5b813567ffffffffffffffff80821115610299576102996101e2565b604051601f8301601f19908116603f011681019082821181831017156102c1576102c16101e2565b816040528381528660208588010111156102da57600080fd5b836020870160208301376000602085830101528094505050505092915050565b803560ff8116811461026857600080fd5b6000610140828403121561031e57600080fd5b6103266101f8565b90506103318261025d565b815260208201356020820152604082013567ffffffffffffffff8082111561035857600080fd5b6103648583860161026d565b6040840152610375606085016102fa565b60608401526080840135608084015260a084013560a084015260c084013560c08401526103a460e0850161025d565b60e084015261010091506103b982850161025d565b82840152610120915081840135818111156103d357600080fd5b6103df8682870161026d565b8385015250505092915050565b600080604083850312156103ff57600080fd5b823567ffffffffffffffff8082111561041757600080fd5b908401906060828703121561042b57600080fd5b610433610222565b823561043e81610245565b815260208301358281111561045257600080fd5b61045e8882860161026d565b6020830152506040830135604082015280945050602085013591508082111561048657600080fd5b506104938582860161030b565b9150509250929050565b6000815180845260005b818110156104c3576020818501810151868301820152016104a7565b818111156104d5576000602083870101525b50601f01601f19169290920160200192915050565b6001600160a01b038416815260606020820152600061050c606083018561049d565b9050826040830152949350505050565b60006020828403121561052e57600080fd5b815161053981610245565b9392505050565b634e487b7160e01b600052602160045260246000fd5b60006101406001600160a01b038d1683528b602084015280604084015261057f8184018c61049d565b905060028a1061059f57634e487b7160e01b600052602160045260246000fd5b8960608401528860808401528760a08401528660c08401526105cc60e08401876001600160a01b03169052565b6001600160a01b0385166101008401528281036101208401526105ef818561049d565b9d9c50505050505050505050505050565b60006020828403121561061257600080fd5b8151801515811461053957600080fdfea2646970667358221220961cc47623edec8f5be5550912748ec915856c8b01714d5f57155d8aa3428f3064736f6c634300080a0033
Verified Source Code Partial Match
Compiler: v0.8.10+commit.fc410830
EVM: london
Optimization: Yes (1000 runs)
DFSSafeFactory.sol 182 lines
// SPDX-License-Identifier: MIT
pragma solidity =0.8.10;
interface ISafe {
enum Operation {
Call,
DelegateCall
}
function setup(
address[] calldata _owners,
uint256 _threshold,
address to,
bytes calldata data,
address fallbackHandler,
address paymentToken,
uint256 payment,
address payable paymentReceiver
) external;
function execTransaction(
address to,
uint256 value,
bytes calldata data,
Operation operation,
uint256 safeTxGas,
uint256 baseGas,
uint256 gasPrice,
address gasToken,
address payable refundReceiver,
bytes memory signatures
) external payable returns (bool success);
function execTransactionFromModule(
address to,
uint256 value,
bytes memory data,
Operation operation
) external returns (bool success);
function checkSignatures(
bytes32 dataHash,
bytes memory data,
bytes memory signatures
) external view;
function checkNSignatures(
address executor,
bytes32 dataHash,
bytes memory /* data */,
bytes memory signatures,
uint256 requiredSignatures
) external view;
function approveHash(bytes32 hashToApprove) external;
function domainSeparator() external view returns (bytes32);
function getTransactionHash(
address to,
uint256 value,
bytes calldata data,
Operation operation,
uint256 safeTxGas,
uint256 baseGas,
uint256 gasPrice,
address gasToken,
address refundReceiver,
uint256 _nonce
) external view returns (bytes32);
function nonce() external view returns (uint256);
function setFallbackHandler(address handler) external;
function getOwners() external view returns (address[] memory);
function isOwner(address owner) external view returns (bool);
function getThreshold() external view returns (uint256);
function enableModule(address module) external;
function isModuleEnabled(address module) external view returns (bool);
function disableModule(address prevModule, address module) external;
function getModulesPaginated(
address start,
uint256 pageSize
) external view returns (address[] memory array, address next);
}
interface ISafeProxyFactory {
event ProxyCreation(address indexed proxy, address singleton);
function createProxyWithNonce(address singleton, bytes memory initializer, uint256 saltNonce) external returns (address proxy);
function proxyCreationCode() external pure returns (bytes memory);
}
contract DFSSafeFactory {
error UnsupportedChain(uint256);
struct SafeCreationData {
address singleton;
bytes initializer;
uint256 saltNonce;
}
struct SafeExecutionData {
address to;
uint256 value;
bytes data;
uint8 operation;
uint256 safeTxGas;
uint256 baseGas;
uint256 gasPrice;
address gasToken;
address payable refundReceiver;
bytes signatures;
}
ISafeProxyFactory public safeFactory;
constructor(){
uint256 chainId = block.chainid;
if (chainId == 1){
safeFactory = ISafeProxyFactory(0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2);
} else if (chainId == 10){
safeFactory = ISafeProxyFactory(0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC);
} else if (chainId == 42161){
safeFactory = ISafeProxyFactory(0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2);
} else if (chainId == 8453){
safeFactory = ISafeProxyFactory(0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC);
} else {
revert UnsupportedChain(chainId);
}
}
function createSafeAndExecute(SafeCreationData memory _creationData, SafeExecutionData memory _executionData) public payable {
ISafe createdSafe = ISafe(safeFactory.createProxyWithNonce(
_creationData.singleton,
_creationData.initializer,
_creationData.saltNonce
));
createdSafe.execTransaction{value: msg.value}(
_executionData.to,
_executionData.value,
_executionData.data,
ISafe.Operation(_executionData.operation),
_executionData.safeTxGas,
_executionData.baseGas,
_executionData.gasPrice,
_executionData.gasToken,
_executionData.refundReceiver,
_executionData.signatures
);
}
}
Read Contract
safeFactory 0x131e7e1c → address
Write Contract 1 functions
These functions modify contract state and require a wallet transaction to execute.
createSafeAndExecute 0xf7771136
tuple _creationData
tuple _executionData
Recent Transactions
No transactions found for this address