Source Code
Overview
ETH Balance
0 ETH
Token Holdings
More Info
ContractCreator
Multi Chain
Multichain Addresses
N/ALatest 22 from a total of 22 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
Value | ||||
---|---|---|---|---|---|---|---|---|---|
Fallback | 7236001 | 510 days 9 hrs ago | IN | 0 ETH | 0.00052514 | ||||
Init Wallet | 7216399 | 513 days 19 hrs ago | IN | 0 ETH | 0.00015484 | ||||
Execute Transact... | 7208905 | 515 days 3 hrs ago | IN | 0 ETH | 0.00016188 | ||||
Confirm Transact... | 7208901 | 515 days 3 hrs ago | IN | 0 ETH | 0.00019505 | ||||
Submit Transacti... | 7208894 | 515 days 3 hrs ago | IN | 0 ETH | 0.00022003 | ||||
Confirm Transact... | 7208883 | 515 days 3 hrs ago | IN | 0 ETH | 0.00019505 | ||||
Submit Transacti... | 7208878 | 515 days 3 hrs ago | IN | 0 ETH | 0.00026885 | ||||
Confirm Transact... | 7208874 | 515 days 3 hrs ago | IN | 0 ETH | 0.00008709 | ||||
Confirm Transact... | 7208865 | 515 days 3 hrs ago | IN | 0 ETH | 0.00008709 | ||||
Confirm Transact... | 7208862 | 515 days 3 hrs ago | IN | 0 ETH | 0.00019505 | ||||
Submit Transacti... | 7208853 | 515 days 3 hrs ago | IN | 0 ETH | 0.00026882 | ||||
Init Wallet | 7208827 | 515 days 3 hrs ago | IN | 0 ETH | 0.00041876 | ||||
Init Wallet | 7208819 | 515 days 3 hrs ago | IN | 0 ETH | 0.00019873 | ||||
Execute Transact... | 7203255 | 516 days 3 hrs ago | IN | 0 ETH | 0.0001819 | ||||
Confirm Transact... | 7203254 | 516 days 3 hrs ago | IN | 0 ETH | 0.0001592 | ||||
Submit Transacti... | 7203253 | 516 days 3 hrs ago | IN | 0 ETH | 0.00021272 | ||||
Init Wallet | 7203252 | 516 days 3 hrs ago | IN | 0 ETH | 0.00007981 | ||||
Transfer | 7202844 | 516 days 4 hrs ago | IN | 0 ETH | 0.00003158 | ||||
Transfer | 7202467 | 516 days 6 hrs ago | IN | 0 ETH | 0.0004211 | ||||
Init Wallet | 7202404 | 516 days 6 hrs ago | IN | 0 ETH | 0.00016028 | ||||
Transfer | 7202390 | 516 days 6 hrs ago | IN | 1 wei | 0.0004211 | ||||
0x60806040 | 7197929 | 517 days 1 hr ago | IN | Create: Wallet | 0 ETH | 0.00152508 |
Latest 24 internal transactions
Advanced mode:
Parent Txn Hash | Block | From | To | Value | ||
---|---|---|---|---|---|---|
7236001 | 510 days 9 hrs ago | 0 ETH | ||||
7216399 | 513 days 19 hrs ago | 0 ETH | ||||
7208905 | 515 days 3 hrs ago | 0 ETH | ||||
7208905 | 515 days 3 hrs ago | 0 ETH | ||||
7208901 | 515 days 3 hrs ago | 0 ETH | ||||
7208894 | 515 days 3 hrs ago | 0 ETH | ||||
7208883 | 515 days 3 hrs ago | 0 ETH | ||||
7208878 | 515 days 3 hrs ago | 0 ETH | ||||
7208874 | 515 days 3 hrs ago | 0 ETH | ||||
7208865 | 515 days 3 hrs ago | 0 ETH | ||||
7208862 | 515 days 3 hrs ago | 0 ETH | ||||
7208853 | 515 days 3 hrs ago | 0 ETH | ||||
7208827 | 515 days 3 hrs ago | 0 ETH | ||||
7208819 | 515 days 3 hrs ago | 0 ETH | ||||
7203255 | 516 days 3 hrs ago | 1 wei | ||||
7203255 | 516 days 3 hrs ago | 0 ETH | ||||
7203254 | 516 days 3 hrs ago | 0 ETH | ||||
7203253 | 516 days 3 hrs ago | 0 ETH | ||||
7203252 | 516 days 3 hrs ago | 0 ETH | ||||
7202803 | 516 days 4 hrs ago | 0 ETH | ||||
7202803 | 516 days 4 hrs ago | 0 ETH | ||||
7202791 | 516 days 4 hrs ago | 0 ETH | ||||
7202404 | 516 days 6 hrs ago | 0 ETH | ||||
7197929 | 517 days 1 hr ago | 0 ETH |
Loading...
Loading
Contract Name:
Wallet
Compiler Version
v0.8.13+commit.abaa5c0e
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity ^0.8.13; /** * A lightweight multisig wallet contract * Calls will be delegated to the wallet library contract * Owners can: * - Submit a transaction * - Approve and revoke approval of pending transactions * - Anyone can execute a transaction after enough owners approved it */ contract Wallet { address public walletLibrary; address[] public owners; mapping(address => bool) public isOwner; uint256 public numConfirmationsRequired; struct Transaction { address to; uint256 value; bytes data; bool executed; uint256 numConfirmations; } // mapping from tx index => owner => bool mapping(uint256 => mapping(address => bool)) public isConfirmed; Transaction[] public transactions; constructor( address _walletLibrary, address[] memory _owners, uint256 _numConfirmationsRequired ) { walletLibrary = _walletLibrary; (bool success, ) = _walletLibrary.delegatecall( abi.encodeWithSignature( "initWallet(address[],uint256)", _owners, _numConfirmationsRequired ) ); require(success, "initWallet failed"); } receive() external payable {} fallback() external payable { _delegate(walletLibrary); } function _delegate(address _imp) internal virtual { assembly { // calldatacopy(t, f, s) // copy s bytes from calldata at position f to mem at position t calldatacopy(0, 0, calldatasize()) // delegatecall(g, a, in, insize, out, outsize) // - call contract at address a // - with input mem[in…(in+insize)) // - providing g gas // - and output area mem[out…(out+outsize)) // - returning 0 on error and 1 on success let result := delegatecall(gas(), _imp, 0, calldatasize(), 0, 0) // returndatacopy(t, f, s) // copy s bytes from returndata at position f to mem at position t returndatacopy(0, 0, returndatasize()) switch result case 0 { // revert(p, s) // end execution, revert state changes, return data mem[p…(p+s)) revert(0, returndatasize()) } default { // return(p, s) // end execution, return data mem[p…(p+s)) return(0, returndatasize()) } } } }
{ "remappings": [ "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "script/=script/", "src/=src/", "test/=test/", "src/=src/", "test/=test/", "script/=script/" ], "optimizer": { "enabled": true, "runs": 200 }, "metadata": { "bytecodeHash": "ipfs" }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "evmVersion": "london", "libraries": {} }
[{"inputs":[{"internalType":"address","name":"_walletLibrary","type":"address"},{"internalType":"address[]","name":"_owners","type":"address[]"},{"internalType":"uint256","name":"_numConfirmationsRequired","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"stateMutability":"payable","type":"fallback"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"name":"isConfirmed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"numConfirmationsRequired","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"owners","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"transactions","outputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bool","name":"executed","type":"bool"},{"internalType":"uint256","name":"numConfirmations","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"walletLibrary","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405234801561001057600080fd5b5060405161071638038061071683398101604081905261002f91610158565b600080546001600160a01b0319166001600160a01b038516908117825560405161005f908590859060240161023a565b60408051601f198184030181529181526020820180516001600160e01b03166356b0738f60e11b17905251610094919061028b565b600060405180830381855af49150503d80600081146100cf576040519150601f19603f3d011682016040523d82523d6000602084013e6100d4565b606091505b505090508061011d5760405162461bcd60e51b81526020600482015260116024820152701a5b9a5d15d85b1b195d0819985a5b1959607a1b604482015260640160405180910390fd5b505050506102c6565b80516001600160a01b038116811461013d57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561016d57600080fd5b61017684610126565b602085810151919450906001600160401b038082111561019557600080fd5b818701915087601f8301126101a957600080fd5b8151818111156101bb576101bb610142565b8060051b604051601f19603f830116810181811085821117156101e0576101e0610142565b60405291825284820192508381018501918a8311156101fe57600080fd5b938501935b828510156102235761021485610126565b84529385019392850192610203565b809750505050505050604084015190509250925092565b604080825283519082018190526000906020906060840190828701845b8281101561027c5781516001600160a01b031684529284019290840190600101610257565b50505092019290925292915050565b6000825160005b818110156102ac5760208186018101518583015201610292565b818111156102bb576000828501525b509190910192915050565b610441806102d56000396000f3fe6080604052600436106100595760003560e01c8063025e7c27146100775780632f54bf6e146100b457806380f59a65146100f45780639ace38c21461012f578063c876b30814610160578063d0549b851461018057610060565b3661006057005b600054610075906001600160a01b03166101a4565b005b34801561008357600080fd5b506100976100923660046102cb565b6101c8565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100c057600080fd5b506100e46100cf366004610300565b60026020526000908152604090205460ff1681565b60405190151581526020016100ab565b34801561010057600080fd5b506100e461010f366004610322565b600460209081526000928352604080842090915290825290205460ff1681565b34801561013b57600080fd5b5061014f61014a3660046102cb565b6101f2565b6040516100ab95949392919061034e565b34801561016c57600080fd5b50600054610097906001600160a01b031681565b34801561018c57600080fd5b5061019660035481565b6040519081526020016100ab565b3660008037600080366000845af43d6000803e8080156101c3573d6000f35b3d6000fd5b600181815481106101d857600080fd5b6000918252602090912001546001600160a01b0316905081565b6005818154811061020257600080fd5b60009182526020909120600590910201805460018201546002830180546001600160a01b039093169450909291610238906103d1565b80601f0160208091040260200160405190810160405280929190818152602001828054610264906103d1565b80156102b15780601f10610286576101008083540402835291602001916102b1565b820191906000526020600020905b81548152906001019060200180831161029457829003601f168201915b505050506003830154600490930154919260ff1691905085565b6000602082840312156102dd57600080fd5b5035919050565b80356001600160a01b03811681146102fb57600080fd5b919050565b60006020828403121561031257600080fd5b61031b826102e4565b9392505050565b6000806040838503121561033557600080fd5b82359150610345602084016102e4565b90509250929050565b60018060a01b038616815260006020868184015260a0604084015285518060a085015260005b818110156103905787810183015185820160c001528201610374565b818111156103a257600060c083870101525b50601f01601f1916830160c00191506103c19050606083018515159052565b8260808301529695505050505050565b600181811c908216806103e557607f821691505b60208210810361040557634e487b7160e01b600052602260045260246000fd5b5091905056fea2646970667358221220c82fccc2480dae37099228f71c0ae48ca8bba014a122edf31815ea56020e976264736f6c634300080d003300000000000000000000000043ff315d0003365fe1246344115a3142b9ebfe0b00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000300000000000000000000000089d8632bc8020a7ddd540e6d9b118aa9ec19af270000000000000000000000008a5722860c6691f2a25d141d73e678bf1078aac30000000000000000000000006813eb9362372eef6200f3b1dbc3f819671cba69
Deployed Bytecode
0x6080604052600436106100595760003560e01c8063025e7c27146100775780632f54bf6e146100b457806380f59a65146100f45780639ace38c21461012f578063c876b30814610160578063d0549b851461018057610060565b3661006057005b600054610075906001600160a01b03166101a4565b005b34801561008357600080fd5b506100976100923660046102cb565b6101c8565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100c057600080fd5b506100e46100cf366004610300565b60026020526000908152604090205460ff1681565b60405190151581526020016100ab565b34801561010057600080fd5b506100e461010f366004610322565b600460209081526000928352604080842090915290825290205460ff1681565b34801561013b57600080fd5b5061014f61014a3660046102cb565b6101f2565b6040516100ab95949392919061034e565b34801561016c57600080fd5b50600054610097906001600160a01b031681565b34801561018c57600080fd5b5061019660035481565b6040519081526020016100ab565b3660008037600080366000845af43d6000803e8080156101c3573d6000f35b3d6000fd5b600181815481106101d857600080fd5b6000918252602090912001546001600160a01b0316905081565b6005818154811061020257600080fd5b60009182526020909120600590910201805460018201546002830180546001600160a01b039093169450909291610238906103d1565b80601f0160208091040260200160405190810160405280929190818152602001828054610264906103d1565b80156102b15780601f10610286576101008083540402835291602001916102b1565b820191906000526020600020905b81548152906001019060200180831161029457829003601f168201915b505050506003830154600490930154919260ff1691905085565b6000602082840312156102dd57600080fd5b5035919050565b80356001600160a01b03811681146102fb57600080fd5b919050565b60006020828403121561031257600080fd5b61031b826102e4565b9392505050565b6000806040838503121561033557600080fd5b82359150610345602084016102e4565b90509250929050565b60018060a01b038616815260006020868184015260a0604084015285518060a085015260005b818110156103905787810183015185820160c001528201610374565b818111156103a257600060c083870101525b50601f01601f1916830160c00191506103c19050606083018515159052565b8260808301529695505050505050565b600181811c908216806103e557607f821691505b60208210810361040557634e487b7160e01b600052602260045260246000fd5b5091905056fea2646970667358221220c82fccc2480dae37099228f71c0ae48ca8bba014a122edf31815ea56020e976264736f6c634300080d0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000043ff315d0003365fe1246344115a3142b9ebfe0b00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000300000000000000000000000089d8632bc8020a7ddd540e6d9b118aa9ec19af270000000000000000000000008a5722860c6691f2a25d141d73e678bf1078aac30000000000000000000000006813eb9362372eef6200f3b1dbc3f819671cba69
-----Decoded View---------------
Arg [0] : _walletLibrary (address): 0x43FF315d0003365fe1246344115A3142b9EBfe0b
Arg [1] : _owners (address[]): 0x89d8632bc8020a7ddd540E6D9B118Aa9EC19af27,0x8a5722860c6691F2a25d141D73e678bF1078aac3,0x6813Eb9362372EEF6200f3b1dbC3f819671cBA69
Arg [2] : _numConfirmationsRequired (uint256): 2
-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 00000000000000000000000043ff315d0003365fe1246344115a3142b9ebfe0b
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000002
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [4] : 00000000000000000000000089d8632bc8020a7ddd540e6d9b118aa9ec19af27
Arg [5] : 0000000000000000000000008a5722860c6691f2a25d141d73e678bf1078aac3
Arg [6] : 0000000000000000000000006813eb9362372eef6200f3b1dbc3f819671cba69
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.