Source Code
Latest 25 from a total of 124 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Deposit | 22844787 | 4 days ago | IN | 0.0001 ETH | 0.00012218 | ||||
Deposit | 22716432 | 22 days ago | IN | 0.001 ETH | 0.00023209 | ||||
Deposit | 22649703 | 31 days ago | IN | 0.0032 ETH | 0.00012606 | ||||
Deposit | 22548782 | 45 days ago | IN | 0.0001 ETH | 0.00016835 | ||||
Deposit | 22539890 | 47 days ago | IN | 0.0001 ETH | 0.00294928 | ||||
Deposit | 22484659 | 54 days ago | IN | 100 ETH | 0.00017739 | ||||
Deposit | 22465442 | 57 days ago | IN | 3 ETH | 0.00033764 | ||||
Deposit | 22399166 | 67 days ago | IN | 50 ETH | 0.00012338 | ||||
Deposit | 22397448 | 67 days ago | IN | 26.94 ETH | 0.0003936 | ||||
Deposit | 22314222 | 78 days ago | IN | 1.85318498 ETH | 0.00013657 | ||||
Deposit | 22145886 | 102 days ago | IN | 0.01 ETH | 0.00015126 | ||||
Deposit | 22116201 | 106 days ago | IN | 12 ETH | 0.00010893 | ||||
Deposit | 22014226 | 120 days ago | IN | 0.5 ETH | 0.00016308 | ||||
Deposit | 21994287 | 123 days ago | IN | 27.8 ETH | 0.00010623 | ||||
Deposit | 21980086 | 125 days ago | IN | 32 ETH | 0.00019866 | ||||
Deposit | 21969649 | 126 days ago | IN | 20.20563759 ETH | 0.00024666 | ||||
Deposit | 21958986 | 128 days ago | IN | 150 ETH | 0.00017563 | ||||
Deposit | 21930164 | 132 days ago | IN | 6 ETH | 0.00016153 | ||||
Deposit | 21917929 | 134 days ago | IN | 194 ETH | 0.00014978 | ||||
Deposit | 21917901 | 134 days ago | IN | 0.1 ETH | 0.00015209 | ||||
Deposit | 21896576 | 137 days ago | IN | 5 ETH | 0.00050291 | ||||
Deposit | 21888793 | 138 days ago | IN | 9.65 ETH | 0.0002997 | ||||
Deposit | 21877307 | 139 days ago | IN | 39.08 ETH | 0.00012444 | ||||
Deposit | 21867270 | 141 days ago | IN | 0.9 ETH | 0.00366972 | ||||
Deposit | 21866019 | 141 days ago | IN | 8.68 ETH | 0.00093571 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Method | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|---|
Deposit | 22844787 | 4 days ago | 0.0001 ETH | ||||
Deposit | 22716432 | 22 days ago | 0.001 ETH | ||||
Deposit | 22649703 | 31 days ago | 0.0032 ETH | ||||
Deposit | 22548782 | 45 days ago | 0.0001 ETH | ||||
Deposit | 22539890 | 47 days ago | 0.0001 ETH | ||||
Deposit | 22484659 | 54 days ago | 100 ETH | ||||
Deposit | 22465442 | 57 days ago | 3 ETH | ||||
Deposit | 22399166 | 67 days ago | 50 ETH | ||||
Deposit | 22397448 | 67 days ago | 26.94 ETH | ||||
Deposit | 22314222 | 78 days ago | 1.85318498 ETH | ||||
Deposit | 22145886 | 102 days ago | 0.01 ETH | ||||
Deposit | 22116201 | 106 days ago | 12 ETH | ||||
Deposit | 22023153 | 119 days ago | 10 ETH | ||||
Deposit | 22023153 | 119 days ago | 10 ETH | ||||
Deposit | 22014226 | 120 days ago | 0.5 ETH | ||||
Deposit | 21994287 | 123 days ago | 27.8 ETH | ||||
Deposit | 21980086 | 125 days ago | 32 ETH | ||||
Deposit | 21970934 | 126 days ago | 2.5 ETH | ||||
Deposit | 21970934 | 126 days ago | 2.5 ETH | ||||
Deposit | 21969649 | 126 days ago | 20.20563759 ETH | ||||
Deposit | 21967765 | 127 days ago | 1,000 ETH | ||||
Deposit | 21967765 | 127 days ago | 1,000 ETH | ||||
Deposit | 21958986 | 128 days ago | 150 ETH | ||||
Deposit | 21930164 | 132 days ago | 6 ETH | ||||
Deposit | 21917929 | 134 days ago | 194 ETH |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
ZapperLidoARM
Compiler Version
v0.8.23+commit.f704f362
Optimization Enabled:
Yes with 200 runs
Other Settings:
paris EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity ^0.8.23; // Contracts import {Ownable} from "./Ownable.sol"; // Interfaces import {IWETH} from "./Interfaces.sol"; import {IERC20} from "./Interfaces.sol"; import {ILiquidityProviderARM} from "./Interfaces.sol"; /** * @title Zapper contract for the Lido (stETH) Automated Redemption Manager (ARM) * Converts ETH to WETH and deposits it to the Lido ARM to receive ARM LP shares. * @author Origin Protocol Inc */ contract ZapperLidoARM is Ownable { IWETH public immutable weth; /// @notice The address of the Lido ARM contract ILiquidityProviderARM public immutable lidoArm; event Zap(address indexed sender, uint256 assets, uint256 shares); constructor(address _weth, address _lidoArm) { weth = IWETH(_weth); lidoArm = ILiquidityProviderARM(_lidoArm); weth.approve(_lidoArm, type(uint256).max); } /// @notice Deposit ETH to LidoARM and receive ARM LP shares receive() external payable { deposit(); } /// @notice Deposit ETH to LidoARM and receive shares /// @return shares The amount of ARM LP shares sent to the depositor function deposit() public payable returns (uint256 shares) { // Wrap all ETH to WETH uint256 ethBalance = address(this).balance; weth.deposit{value: ethBalance}(); // Deposit all WETH to LidoARM shares = lidoArm.deposit(ethBalance, msg.sender); // Emit event emit Zap(msg.sender, ethBalance, shares); } /// @notice Rescue ERC20 tokens /// @param token The address of the ERC20 token function rescueERC20(address token, uint256 amount) external onlyOwner { IERC20(token).transfer(msg.sender, amount); } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.23; contract Ownable { /// @notice The slot used to store the owner of the contract. /// This is also used as the proxy admin. /// keccak256(“eip1967.proxy.admin”) - 1 per EIP 1967 bytes32 internal constant OWNER_SLOT = 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103; event AdminChanged(address previousAdmin, address newAdmin); constructor() { assert(OWNER_SLOT == bytes32(uint256(keccak256("eip1967.proxy.admin")) - 1)); _setOwner(msg.sender); } /// @notice The contract owner and proxy admin. function owner() external view returns (address) { return _owner(); } /// @notice Set the owner and proxy admin of the contract. /// @param newOwner The address of the new owner. function setOwner(address newOwner) external onlyOwner { _setOwner(newOwner); } function _owner() internal view returns (address ownerOut) { bytes32 position = OWNER_SLOT; // solhint-disable-next-line no-inline-assembly assembly { ownerOut := sload(position) } } function _setOwner(address newOwner) internal { emit AdminChanged(_owner(), newOwner); bytes32 position = OWNER_SLOT; // solhint-disable-next-line no-inline-assembly assembly { sstore(position, newOwner) } } function _onlyOwner() internal view { require(msg.sender == _owner(), "ARM: Only owner can call this function."); } modifier onlyOwner() { _onlyOwner(); _; } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.23; interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address to, uint256 value) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 value) external returns (bool); function transferFrom(address from, address to, uint256 value) external returns (bool); function decimals() external view returns (uint8); event Transfer(address indexed from, address indexed to, uint256 value); } interface IOethARM { function token0() external returns (address); function token1() external returns (address); function owner() external returns (address); /** * @notice Swaps an exact amount of input tokens for as many output tokens as possible. * msg.sender should have already given the ARM contract an allowance of * at least amountIn on the input token. * * @param inToken Input token. * @param outToken Output token. * @param amountIn The amount of input tokens to send. * @param amountOutMin The minimum amount of output tokens that must be received for the transaction not to revert. * @param to Recipient of the output tokens. */ function swapExactTokensForTokens( IERC20 inToken, IERC20 outToken, uint256 amountIn, uint256 amountOutMin, address to ) external; /** * @notice Uniswap V2 Router compatible interface. Swaps an exact amount of * input tokens for as many output tokens as possible. * msg.sender should have already given the ARM contract an allowance of * at least amountIn on the input token. * * @param amountIn The amount of input tokens to send. * @param amountOutMin The minimum amount of output tokens that must be received for the transaction not to revert. * @param path The input and output token addresses. * @param to Recipient of the output tokens. * @param deadline Unix timestamp after which the transaction will revert. * @return amounts The input and output token amounts. */ function swapExactTokensForTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); /** * @notice Receive an exact amount of output tokens for as few input tokens as possible. * msg.sender should have already given the router an allowance of * at least amountInMax on the input token. * * @param inToken Input token. * @param outToken Output token. * @param amountOut The amount of output tokens to receive. * @param amountInMax The maximum amount of input tokens that can be required before the transaction reverts. * @param to Recipient of the output tokens. */ function swapTokensForExactTokens( IERC20 inToken, IERC20 outToken, uint256 amountOut, uint256 amountInMax, address to ) external; /** * @notice Uniswap V2 Router compatible interface. Receive an exact amount of * output tokens for as few input tokens as possible. * msg.sender should have already given the router an allowance of * at least amountInMax on the input token. * * @param amountOut The amount of output tokens to receive. * @param amountInMax The maximum amount of input tokens that can be required before the transaction reverts. * @param path The input and output token addresses. * @param to Recipient of the output tokens. * @param deadline Unix timestamp after which the transaction will revert. * @return amounts The input and output token amounts. */ function swapTokensForExactTokens( uint256 amountOut, uint256 amountInMax, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function setOwner(address newOwner) external; function transferToken(address token, address to, uint256 amount) external; // From OethLiquidityManager function requestWithdrawal(uint256 amount) external returns (uint256 requestId, uint256 queued); function claimWithdrawal(uint256 requestId) external; function claimWithdrawals(uint256[] calldata requestIds) external; } interface ILiquidityProviderARM is IERC20 { function previewDeposit(uint256 assets) external returns (uint256 shares); function deposit(uint256 assets) external returns (uint256 shares); function deposit(uint256 assets, address liquidityProvider) external returns (uint256 shares); function previewRedeem(uint256 shares) external returns (uint256 assets); function requestRedeem(uint256 shares) external returns (uint256 requestId, uint256 assets); function claimRedeem(uint256 requestId) external returns (uint256 assets); function totalAssets() external returns (uint256 assets); function convertToShares(uint256 assets) external returns (uint256 shares); function convertToAssets(uint256 shares) external returns (uint256 assets); function lastTotalAssets() external returns (uint256 assets); } interface ICapManager { function postDepositHook(address liquidityProvider, uint256 assets) external; } interface LegacyAMM { function transferToken(address tokenOut, address to, uint256 amount) external; } interface IOETHVault { function mint(address _asset, uint256 _amount, uint256 _minimumOusdAmount) external; function redeem(uint256 _amount, uint256 _minimumUnitAmount) external; function requestWithdrawal(uint256 amount) external returns (uint256 requestId, uint256 queued); function claimWithdrawal(uint256 requestId) external returns (uint256 amount); function claimWithdrawals(uint256[] memory requestIds) external returns (uint256[] memory amounts, uint256 totalAmount); function addWithdrawalQueueLiquidity() external; function setMaxSupplyDiff(uint256 _maxSupplyDiff) external; function governor() external view returns (address); function dripper() external view returns (address); function withdrawalQueueMetadata() external view returns (uint128 queued, uint128 claimable, uint128 claimed, uint128 nextWithdrawalIndex); function withdrawalRequests(uint256 requestId) external view returns (address withdrawer, bool claimed, uint40 timestamp, uint128 amount, uint128 queued); function claimDelay() external view returns (uint256); } interface IGovernance { enum ProposalState { Pending, Active, Canceled, Defeated, Succeeded, Queued, Expired, Executed } function state(uint256 proposalId) external view returns (ProposalState); function proposalSnapshot(uint256 proposalId) external view returns (uint256); function proposalDeadline(uint256 proposalId) external view returns (uint256); function proposalEta(uint256 proposalId) external view returns (uint256); function votingDelay() external view returns (uint256); function castVote(uint256 proposalId, uint8 support) external returns (uint256 balance); function queue(uint256 proposalId) external; function execute(uint256 proposalId) external; } interface IWETH is IERC20 { event Deposit(address indexed dst, uint256 wad); event Withdrawal(address indexed src, uint256 wad); function deposit() external payable; function withdraw(uint256 wad) external; } interface ISTETH is IERC20 { event Submitted(address indexed sender, uint256 amount, address referral); // function() external payable; function submit(address _referral) external payable returns (uint256); } interface IStETHWithdrawal { event WithdrawalRequested( uint256 indexed requestId, address indexed requestor, address indexed owner, uint256 amountOfStETH, uint256 amountOfShares ); event WithdrawalsFinalized( uint256 indexed from, uint256 indexed to, uint256 amountOfETHLocked, uint256 sharesToBurn, uint256 timestamp ); event WithdrawalClaimed( uint256 indexed requestId, address indexed owner, address indexed receiver, uint256 amountOfETH ); struct WithdrawalRequestStatus { /// @notice stETH token amount that was locked on withdrawal queue for this request uint256 amountOfStETH; /// @notice amount of stETH shares locked on withdrawal queue for this request uint256 amountOfShares; /// @notice address that can claim or transfer this request address owner; /// @notice timestamp of when the request was created, in seconds uint256 timestamp; /// @notice true, if request is finalized bool isFinalized; /// @notice true, if request is claimed. Request is claimable if (isFinalized && !isClaimed) bool isClaimed; } function transferFrom(address _from, address _to, uint256 _requestId) external; function ownerOf(uint256 _requestId) external returns (address); function requestWithdrawals(uint256[] calldata _amounts, address _owner) external returns (uint256[] memory requestIds); function getLastCheckpointIndex() external view returns (uint256); function findCheckpointHints(uint256[] calldata _requestIds, uint256 _firstIndex, uint256 _lastIndex) external view returns (uint256[] memory hintIds); function claimWithdrawals(uint256[] calldata _requestIds, uint256[] calldata _hints) external; function getWithdrawalStatus(uint256[] calldata _requestIds) external view returns (WithdrawalRequestStatus[] memory statuses); function getWithdrawalRequests(address _owner) external view returns (uint256[] memory requestsIds); function getLastRequestId() external view returns (uint256); }
{ "remappings": [ "forge-std/=lib/forge-std/src/", "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/", "@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/", "@solmate/=lib/solmate/src/" ], "optimizer": { "enabled": true, "runs": 200 }, "metadata": { "useLiteralContent": false, "bytecodeHash": "ipfs", "appendCBOR": true }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "evmVersion": "paris", "viaIR": false, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_weth","type":"address"},{"internalType":"address","name":"_lidoArm","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"previousAdmin","type":"address"},{"indexed":false,"internalType":"address","name":"newAdmin","type":"address"}],"name":"AdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"assets","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"shares","type":"uint256"}],"name":"Zap","type":"event"},{"inputs":[],"name":"deposit","outputs":[{"internalType":"uint256","name":"shares","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"lidoArm","outputs":[{"internalType":"contract ILiquidityProviderARM","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"rescueERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"setOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"weth","outputs":[{"internalType":"contract IWETH","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60c060405234801561001057600080fd5b506040516107bd3803806107bd83398101604081905261002f9161018f565b61005a60017fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61046101c2565b60008051602061079d83398151915214610076576100766101e9565b61007f33610108565b6001600160a01b03828116608081905290821660a081905260405163095ea7b360e01b81526004810191909152600019602482015263095ea7b3906044016020604051808303816000875af11580156100dc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061010091906101ff565b505050610228565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61013f60008051602061079d8339815191525490565b604080516001600160a01b03928316815291841660208301520160405180910390a160008051602061079d83398151915255565b80516001600160a01b038116811461018a57600080fd5b919050565b600080604083850312156101a257600080fd5b6101ab83610173565b91506101b960208401610173565b90509250929050565b818103818111156101e357634e487b7160e01b600052601160045260246000fd5b92915050565b634e487b7160e01b600052600160045260246000fd5b60006020828403121561021157600080fd5b8151801515811461022157600080fd5b9392505050565b60805160a05161054461025960003960008181607f01526101f001526000818160f0015261016501526105446000f3fe6080604052600436106100595760003560e01c80630569dcad1461006d57806313af4035146100be5780633fc8cef3146100de5780638cd4426d146101125780638da5cb5b14610132578063d0e30db01461014757600080fd5b366100685761006661015d565b005b600080fd5b34801561007957600080fd5b506100a17f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100ca57600080fd5b506100666100d9366004610467565b6102ab565b3480156100ea57600080fd5b506100a17f000000000000000000000000000000000000000000000000000000000000000081565b34801561011e57600080fd5b5061006661012d366004610489565b6102bf565b34801561013e57600080fd5b506100a161033d565b61014f61015d565b6040519081526020016100b5565b6000804790507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b1580156101be57600080fd5b505af11580156101d2573d6000803e3d6000fd5b5050604051636e553f6560e01b8152600481018590523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169350636e553f65925060440190506020604051808303816000875af1158015610245573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061026991906104b3565b604080518381526020810183905291935033917f4a5e9c74490922edc73617d3f521bffd83682ac8c6d5bfe58d1386853c483dff910160405180910390a25090565b6102b361035a565b6102bc816103e0565b50565b6102c761035a565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb906044016020604051808303816000875af1158015610314573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061033891906104cc565b505050565b60006103556000805160206104ef8339815191525490565b905090565b6000805160206104ef833981519152546001600160a01b0316336001600160a01b0316146103de5760405162461bcd60e51b815260206004820152602760248201527f41524d3a204f6e6c79206f776e65722063616e2063616c6c20746869732066756044820152663731ba34b7b71760c91b606482015260840160405180910390fd5b565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6104176000805160206104ef8339815191525490565b604080516001600160a01b03928316815291841660208301520160405180910390a16000805160206104ef83398151915255565b80356001600160a01b038116811461046257600080fd5b919050565b60006020828403121561047957600080fd5b6104828261044b565b9392505050565b6000806040838503121561049c57600080fd5b6104a58361044b565b946020939093013593505050565b6000602082840312156104c557600080fd5b5051919050565b6000602082840312156104de57600080fd5b8151801515811461048257600080fdfeb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103a264697066735822122023cf1a9d382117256e91854499da95860f625271e3a51aa4aeef02614e4c89b264736f6c63430008170033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000085b78aca6deae198fbf201c82daf6ca21942acc6
Deployed Bytecode
0x6080604052600436106100595760003560e01c80630569dcad1461006d57806313af4035146100be5780633fc8cef3146100de5780638cd4426d146101125780638da5cb5b14610132578063d0e30db01461014757600080fd5b366100685761006661015d565b005b600080fd5b34801561007957600080fd5b506100a17f00000000000000000000000085b78aca6deae198fbf201c82daf6ca21942acc681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100ca57600080fd5b506100666100d9366004610467565b6102ab565b3480156100ea57600080fd5b506100a17f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b34801561011e57600080fd5b5061006661012d366004610489565b6102bf565b34801561013e57600080fd5b506100a161033d565b61014f61015d565b6040519081526020016100b5565b6000804790507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b1580156101be57600080fd5b505af11580156101d2573d6000803e3d6000fd5b5050604051636e553f6560e01b8152600481018590523360248201527f00000000000000000000000085b78aca6deae198fbf201c82daf6ca21942acc66001600160a01b03169350636e553f65925060440190506020604051808303816000875af1158015610245573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061026991906104b3565b604080518381526020810183905291935033917f4a5e9c74490922edc73617d3f521bffd83682ac8c6d5bfe58d1386853c483dff910160405180910390a25090565b6102b361035a565b6102bc816103e0565b50565b6102c761035a565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb906044016020604051808303816000875af1158015610314573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061033891906104cc565b505050565b60006103556000805160206104ef8339815191525490565b905090565b6000805160206104ef833981519152546001600160a01b0316336001600160a01b0316146103de5760405162461bcd60e51b815260206004820152602760248201527f41524d3a204f6e6c79206f776e65722063616e2063616c6c20746869732066756044820152663731ba34b7b71760c91b606482015260840160405180910390fd5b565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6104176000805160206104ef8339815191525490565b604080516001600160a01b03928316815291841660208301520160405180910390a16000805160206104ef83398151915255565b80356001600160a01b038116811461046257600080fd5b919050565b60006020828403121561047957600080fd5b6104828261044b565b9392505050565b6000806040838503121561049c57600080fd5b6104a58361044b565b946020939093013593505050565b6000602082840312156104c557600080fd5b5051919050565b6000602082840312156104de57600080fd5b8151801515811461048257600080fdfeb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103a264697066735822122023cf1a9d382117256e91854499da95860f625271e3a51aa4aeef02614e4c89b264736f6c63430008170033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000085b78aca6deae198fbf201c82daf6ca21942acc6
-----Decoded View---------------
Arg [0] : _weth (address): 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2
Arg [1] : _lidoArm (address): 0x85B78AcA6Deae198fBF201c82DAF6Ca21942acc6
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
Arg [1] : 00000000000000000000000085b78aca6deae198fbf201c82daf6ca21942acc6
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 35 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
Loading...
Loading
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.