Source Code
| Transaction Hash |
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
Latest 25 internal transactions (View All)
Advanced mode:
| Parent Transaction Hash | Block | From | To | |||
|---|---|---|---|---|---|---|
| 150536897 | 8 hrs ago | 0.350000054434241 ETH | ||||
| 150536897 | 8 hrs ago | 0.350000054434241 ETH | ||||
| 150536547 | 8 hrs ago | 0.962658048896449 ETH | ||||
| 150536547 | 8 hrs ago | 0.962658048896449 ETH | ||||
| 150535009 | 9 hrs ago | 3.500004792767439 ETH | ||||
| 150535009 | 9 hrs ago | 3.500004792767439 ETH | ||||
| 150503907 | 26 hrs ago | 0.300146551239347 ETH | ||||
| 150503907 | 26 hrs ago | 0.300146551239347 ETH | ||||
| 150492344 | 32 hrs ago | 1.360021377480697 ETH | ||||
| 150492344 | 32 hrs ago | 1.360021377480697 ETH | ||||
| 150485144 | 36 hrs ago | 0.000010190229453 ETH | ||||
| 150485144 | 36 hrs ago | 0.000010190229453 ETH | ||||
| 150474245 | 42 hrs ago | 0.082953958685433 ETH | ||||
| 150474245 | 42 hrs ago | 0.082953958685433 ETH | ||||
| 150454077 | 2 days ago | 0.050000004827643 ETH | ||||
| 150454077 | 2 days ago | 0.050000004827643 ETH | ||||
| 150453862 | 2 days ago | 0.050000037064564 ETH | ||||
| 150453862 | 2 days ago | 0.050000037064564 ETH | ||||
| 150449476 | 2 days ago | 0.0074 ETH | ||||
| 150449476 | 2 days ago | 0.0074 ETH | ||||
| 150449399 | 2 days ago | 0.022 ETH | ||||
| 150449399 | 2 days ago | 0.022 ETH | ||||
| 150437758 | 2 days ago | 0.25 ETH | ||||
| 150437758 | 2 days ago | 0.25 ETH | ||||
| 150351415 | 4 days ago | 0.000000004103583 ETH |
Cross-Chain Transactions
Loading...
Loading
Contract Name:
WethUnwrapper
Compiler Version
v0.8.19+commit.7dd6d404
Optimization Enabled:
Yes with 1 runs
Other Settings:
paris EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: BSD-3-Clause
pragma solidity 0.8.19;
import {WETH9} from "@protocol/router/IWETH.sol";
contract WethUnwrapper {
/// @notice reference to the WETH contract
address public immutable weth;
/// @notice construct a new WethUnwrapper
/// @param _weth the WETH contract address
constructor(address _weth) {
weth = _weth;
}
/// @notice transfer ETH underlying to the recipient
/// first unwrap the WETH into raw ETH, then transfer
/// @param to the recipient address
/// @param amount the amount of ETH to transfer
function send(address payable to, uint256 amount) external {
WETH9(weth).withdraw(amount);
(bool success, bytes memory returndata) = to.call{value: amount}("");
if (!success) {
if (returndata.length == 0) revert();
assembly {
revert(add(32, returndata), mload(returndata))
}
}
}
receive() external payable {
require(msg.sender == weth, "not accepting eth");
}
}/**
*Submitted for verification at Etherscan.io on 2017-12-12
*/
// Copyright (C) 2015, 2016, 2017 Dapphub
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
pragma solidity 0.8.19;
interface WETH9 {
function balanceOf(address guy) external view returns (uint);
function allowance(address, address) external view returns (uint);
function deposit() external payable;
function withdraw(uint wad) external;
function totalSupply() external view returns (uint);
function approve(address guy, uint wad) external returns (bool);
function transfer(address dst, uint wad) external returns (bool);
function transferFrom(
address src,
address dst,
uint wad
) external returns (bool);
}{
"remappings": [
"@forge-std/=lib/forge-std/src/",
"@openzeppelin-contracts/=lib/openzeppelin-contracts/",
"@openzeppelin/=lib/openzeppelin-contracts/",
"@openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/",
"@wormhole/=lib/wormhole/ethereum/contracts/",
"@protocol/=src/",
"@test/=test/",
"@proposals/=src/proposals/",
"@utils/=src/utils/",
"@zelt/=lib/zelt/",
"@zelt-src/=lib/zelt/src/",
"@zelt-test/=lib/zelt/test/",
"ds-test/=lib/solmate/lib/ds-test/src/",
"erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/",
"forge-std/=lib/forge-std/src/",
"openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/",
"openzeppelin-contracts/=lib/openzeppelin-contracts/",
"openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/",
"solmate/=lib/solmate/src/",
"wormhole/=lib/wormhole/",
"zelt/=lib/zelt/src/"
],
"optimizer": {
"enabled": true,
"runs": 1
},
"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"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address payable","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"send","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"weth","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
60a060405234801561001057600080fd5b5060405161030c38038061030c83398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b60805161027561009760003960008181603d0152818160bb015261012a01526102756000f3fe60806040526004361061002d5760003560e01c80633fc8cef3146100a9578063d0679d34146100f957600080fd5b366100a457336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146100a25760405162461bcd60e51b81526020600482015260116024820152700dcdee840c2c6c6cae0e8d2dcce40cae8d607b1b604482015260640160405180910390fd5b005b600080fd5b3480156100b557600080fd5b506100dd7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b34801561010557600080fd5b506100a2610114366004610207565b604051632e1a7d4d60e01b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d90602401600060405180830381600087803b15801561017657600080fd5b505af115801561018a573d6000803e3d6000fd5b50505050600080836001600160a01b03168360405160006040518083038185875af1925050503d80600081146101dc576040519150601f19603f3d011682016040523d82523d6000602084013e6101e1565b606091505b5091509150816102015780516000036101f957600080fd5b805181602001fd5b50505050565b6000806040838503121561021a57600080fd5b82356001600160a01b038116811461023157600080fd5b94602093909301359350505056fea264697066735822122090df6979545aeab724616211943df1952c7879d15b681c463cb260dc382553eb64736f6c634300081300330000000000000000000000004200000000000000000000000000000000000006
Deployed Bytecode
0x60806040526004361061002d5760003560e01c80633fc8cef3146100a9578063d0679d34146100f957600080fd5b366100a457336001600160a01b037f000000000000000000000000420000000000000000000000000000000000000616146100a25760405162461bcd60e51b81526020600482015260116024820152700dcdee840c2c6c6cae0e8d2dcce40cae8d607b1b604482015260640160405180910390fd5b005b600080fd5b3480156100b557600080fd5b506100dd7f000000000000000000000000420000000000000000000000000000000000000681565b6040516001600160a01b03909116815260200160405180910390f35b34801561010557600080fd5b506100a2610114366004610207565b604051632e1a7d4d60e01b8152600481018290527f00000000000000000000000042000000000000000000000000000000000000066001600160a01b031690632e1a7d4d90602401600060405180830381600087803b15801561017657600080fd5b505af115801561018a573d6000803e3d6000fd5b50505050600080836001600160a01b03168360405160006040518083038185875af1925050503d80600081146101dc576040519150601f19603f3d011682016040523d82523d6000602084013e6101e1565b606091505b5091509150816102015780516000036101f957600080fd5b805181602001fd5b50505050565b6000806040838503121561021a57600080fd5b82356001600160a01b038116811461023157600080fd5b94602093909301359350505056fea264697066735822122090df6979545aeab724616211943df1952c7879d15b681c463cb260dc382553eb64736f6c63430008130033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000004200000000000000000000000000000000000006
-----Decoded View---------------
Arg [0] : _weth (address): 0x4200000000000000000000000000000000000006
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000004200000000000000000000000000000000000006
Loading...
Loading
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 32 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ 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.