More Info
Private Name Tags
ContractCreator
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Latest 9 internal transactions
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
104060378 | 12 days ago | 14.05329864 FTM | ||||
104060378 | 12 days ago | 14.05329864 FTM | ||||
78111217 | 328 days ago | 5.988006 FTM | ||||
78111217 | 328 days ago | 5.988006 FTM | ||||
59071500 | 683 days ago | 0.97665 FTM | ||||
59071500 | 683 days ago | 0.97665 FTM | ||||
40517406 | 977 days ago | 1.951625 FTM | ||||
40517406 | 977 days ago | 1.951625 FTM | ||||
32916898 | 1075 days ago | Contract Creation | 0 FTM |
Loading...
Loading
Contract Name:
WethGate
Compiler Version
v0.8.7+commit.e28d00a7
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: BUSL-1.1 pragma solidity 0.8.7; import "../interfaces/IWETH.sol"; import "../interfaces/IWethGate.sol"; /// @dev Upgradable contracts cannot receive ether via `transfer` because of increased SLOAD gas cost. /// We use this non-upgradeable contract as the recipient and then immediately transfer to an upgradable contract. /// More details about this issue can be found /// [here](https://forum.openzeppelin.com/t/openzeppelin-upgradeable-contracts-affected-by-istanbul-hardfork/1616). contract WethGate is IWethGate { /// @dev Wrapped native token contract IWETH public weth; /* ========== ERRORS ========== */ error EthTransferFailed(); /* ========== EVENTS ========== */ /// @dev Emitted when any amount is withdrawn. event Withdrawal(address indexed receiver, uint wad); /* ========== CONSTRUCTOR ========== */ constructor(IWETH _weth) { weth = _weth; } /// @inheritdoc IWethGate function withdraw(address _receiver, uint _wad) external override { weth.withdraw(_wad); _safeTransferETH(_receiver, _wad); emit Withdrawal(_receiver, _wad); } function _safeTransferETH(address _to, uint256 _value) internal { (bool success, ) = _to.call{value: _value}(new bytes(0)); if (!success) revert EthTransferFailed(); } // we need to accept ETH sends to unwrap WETH receive() external payable { } // ============ Version Control ============ /// @dev Get this contract's version function version() external pure returns (uint256) { return 101; // 1.0.1 } }
// SPDX-License-Identifier: MIT pragma solidity 0.8.7; interface IWETH { function deposit() external payable; function withdraw(uint256 wad) external; function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); }
// SPDX-License-Identifier: BUSL-1.1 pragma solidity 0.8.7; interface IWethGate { /// @dev Transfer assets to a receiver. /// @param receiver This address will receive a transfer. /// @param wad Amount in wei function withdraw(address receiver, uint wad) external; }
{ "optimizer": { "enabled": true, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "metadata": { "useLiteralContent": true }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"contract IWETH","name":"_weth","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"EthTransferFailed","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"receiver","type":"address"},{"indexed":false,"internalType":"uint256","name":"wad","type":"uint256"}],"name":"Withdrawal","type":"event"},{"inputs":[],"name":"version","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"weth","outputs":[{"internalType":"contract IWETH","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_receiver","type":"address"},{"internalType":"uint256","name":"_wad","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405234801561001057600080fd5b5060405161033d38038061033d83398101604081905261002f91610054565b600080546001600160a01b0319166001600160a01b0392909216919091179055610084565b60006020828403121561006657600080fd5b81516001600160a01b038116811461007d57600080fd5b9392505050565b6102aa806100936000396000f3fe6080604052600436106100385760003560e01c80633fc8cef31461004457806354fd4d5014610081578063f3fef3a31461009d57600080fd5b3661003f57005b600080fd5b34801561005057600080fd5b50600054610064906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561008d57600080fd5b5060405160658152602001610078565b3480156100a957600080fd5b506100bd6100b8366004610201565b6100bf565b005b600054604051632e1a7d4d60e01b8152600481018390526001600160a01b0390911690632e1a7d4d90602401600060405180830381600087803b15801561010557600080fd5b505af1158015610119573d6000803e3d6000fd5b50505050610127828261016e565b816001600160a01b03167f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b658260405161016291815260200190565b60405180910390a25050565b604080516000808252602082019092526001600160a01b0384169083906040516101989190610239565b60006040518083038185875af1925050503d80600081146101d5576040519150601f19603f3d011682016040523d82523d6000602084013e6101da565b606091505b50509050806101fc57604051630db2c7f160e31b815260040160405180910390fd5b505050565b6000806040838503121561021457600080fd5b82356001600160a01b038116811461022b57600080fd5b946020939093013593505050565b6000825160005b8181101561025a5760208186018101518583015201610240565b81811115610269576000828501525b50919091019291505056fea264697066735822122072e937b694514d9587be41383ab5be750c976763a2d3cd04314269b91790000364736f6c6343000807003300000000000000000000000021be370d5312f44cb42ce377bc9b8a0cef1a4c83
Deployed Bytecode
0x6080604052600436106100385760003560e01c80633fc8cef31461004457806354fd4d5014610081578063f3fef3a31461009d57600080fd5b3661003f57005b600080fd5b34801561005057600080fd5b50600054610064906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561008d57600080fd5b5060405160658152602001610078565b3480156100a957600080fd5b506100bd6100b8366004610201565b6100bf565b005b600054604051632e1a7d4d60e01b8152600481018390526001600160a01b0390911690632e1a7d4d90602401600060405180830381600087803b15801561010557600080fd5b505af1158015610119573d6000803e3d6000fd5b50505050610127828261016e565b816001600160a01b03167f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b658260405161016291815260200190565b60405180910390a25050565b604080516000808252602082019092526001600160a01b0384169083906040516101989190610239565b60006040518083038185875af1925050503d80600081146101d5576040519150601f19603f3d011682016040523d82523d6000602084013e6101da565b606091505b50509050806101fc57604051630db2c7f160e31b815260040160405180910390fd5b505050565b6000806040838503121561021457600080fd5b82356001600160a01b038116811461022b57600080fd5b946020939093013593505050565b6000825160005b8181101561025a5760208186018101518583015201610240565b81811115610269576000828501525b50919091019291505056fea264697066735822122072e937b694514d9587be41383ab5be750c976763a2d3cd04314269b91790000364736f6c63430008070033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000021be370d5312f44cb42ce377bc9b8a0cef1a4c83
-----Decoded View---------------
Arg [0] : _weth (address): 0x21be370D5312f44cB42ce377BC9b8a0cEF1A4C83
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000021be370d5312f44cb42ce377bc9b8a0cef1a4c83
Loading...
Loading
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 31 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
[ 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.