Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 1 from a total of 1 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer | 18241468 | 420 days ago | IN | 0.02 ETH | 0.00021 |
Loading...
Loading
Contract Name:
Deposit
Compiler Version
v0.8.20+commit.a1b79de6
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import "IERC20Lite.sol"; /** * @title Deposit contract * @notice Creates a contract with a known address and withdraws tokens from it. * After deployment, the Vault will call fetch() to withdraw tokens. * @dev Any change in this contract, including comments, will affect the final * bytecode and therefore will affect the create2 derived addresses. * Do NOT modify unless the consequences of doing so are fully understood. */ contract Deposit { address payable private immutable vault; /** * @notice Upon deployment it fetches the tokens (native or ERC20) to the Vault. * @param token The address of the token to fetch */ constructor(address token) { vault = payable(msg.sender); // Slightly cheaper to use msg.sender instead of Vault. if (token == 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE) { // solhint-disable-next-line avoid-low-level-calls (bool success, ) = msg.sender.call{value: address(this).balance}(""); require(success); } else { // IERC20Lite.transfer doesn't have a return bool to avoid reverts on non-standard ERC20s IERC20Lite(token).transfer(msg.sender, IERC20Lite(token).balanceOf(address(this))); } } /** * @notice Allows the Vault to fetch ERC20 tokens from this contract. * @param token The address of the token to fetch */ function fetch(address token) external { require(msg.sender == vault); // IERC20Lite.transfer doesn't have a return bool to avoid reverts on non-standard ERC20s IERC20Lite(token).transfer(msg.sender, IERC20Lite(token).balanceOf(address(this))); } /// @notice Receives native tokens, emits an event and sends them to the Vault. Note that this // requires the sender to forward some more gas than for a simple transfer. receive() external payable { // solhint-disable-next-line avoid-low-level-calls (bool success, ) = vault.call{value: address(this).balance}(""); require(success); } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; /** * @title ERC20 Lite Interface * @notice The interface for functions ERC20Lite implements. This is intended to * be used only in the Deposit contract. * @dev Any change in this contract, including comments, will affect the final * bytecode and therefore will affect the create2 derived addresses. * Do NOT modify unless the consequences of doing so are fully understood. */ interface IERC20Lite { /// @dev Removed the return bool to avoid reverts on non-standard ERC20s. function transfer(address, uint256) external; function balanceOf(address) external view returns (uint256); }
{ "evmVersion": "paris", "optimizer": { "enabled": true, "runs": 800 }, "libraries": { "Deposit.sol": {} }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"token","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"fetch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60a060405234801561001057600080fd5b5060405161045a38038061045a83398101604081905261002f91610189565b336080526001600160a01b03811673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee036100b257604051600090339047908381818185875af1925050503d8060008114610099576040519150601f19603f3d011682016040523d82523d6000602084013e61009e565b606091505b50509050806100ac57600080fd5b50610183565b6040516370a0823160e01b81523060048201526001600160a01b0382169063a9059cbb90339083906370a0823190602401602060405180830381865afa158015610100573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061012491906101b9565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801561016a57600080fd5b505af115801561017e573d6000803e3d6000fd5b505050505b506101d2565b60006020828403121561019b57600080fd5b81516001600160a01b03811681146101b257600080fd5b9392505050565b6000602082840312156101cb57600080fd5b5051919050565b6080516102686101f260003960008181602b015260d401526102686000f3fe6080604052600436106100225760003560e01c8063f109a0be146100ae57600080fd5b366100a95760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03164760405160006040518083038185875af1925050503d8060008114610094576040519150601f19603f3d011682016040523d82523d6000602084013e610099565b606091505b50509050806100a757600080fd5b005b600080fd5b3480156100ba57600080fd5b506100a76100c93660046101e9565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146100fe57600080fd5b6040516370a0823160e01b81523060048201526001600160a01b0382169063a9059cbb90339083906370a0823190602401602060405180830381865afa15801561014c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101709190610219565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b1580156101ce57600080fd5b505af11580156101e2573d6000803e3d6000fd5b5050505050565b6000602082840312156101fb57600080fd5b81356001600160a01b038116811461021257600080fd5b9392505050565b60006020828403121561022b57600080fd5b505191905056fea26469706673582212207a3063a75755b8b3364bcf7137526722a9ac4adcc81866e63e0a9dfb44df3a3e64736f6c63430008140033000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
Deployed Bytecode
0x6080604052600436106100225760003560e01c8063f109a0be146100ae57600080fd5b366100a95760007f000000000000000000000000806cdba7e42adde2b6cb09b748943e4b9a9188e56001600160a01b03164760405160006040518083038185875af1925050503d8060008114610094576040519150601f19603f3d011682016040523d82523d6000602084013e610099565b606091505b50509050806100a757600080fd5b005b600080fd5b3480156100ba57600080fd5b506100a76100c93660046101e9565b336001600160a01b037f000000000000000000000000806cdba7e42adde2b6cb09b748943e4b9a9188e516146100fe57600080fd5b6040516370a0823160e01b81523060048201526001600160a01b0382169063a9059cbb90339083906370a0823190602401602060405180830381865afa15801561014c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101709190610219565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b1580156101ce57600080fd5b505af11580156101e2573d6000803e3d6000fd5b5050505050565b6000602082840312156101fb57600080fd5b81356001600160a01b038116811461021257600080fd5b9392505050565b60006020828403121561022b57600080fd5b505191905056fea26469706673582212207a3063a75755b8b3364bcf7137526722a9ac4adcc81866e63e0a9dfb44df3a3e64736f6c63430008140033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000EeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE
-----Decoded View---------------
Arg [0] : token (address): 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000EeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.