More Info
Private Name Tags
ContractCreator
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
128838189 | 140 days ago | 3 wei | ||||
128838189 | 140 days ago | 3 wei | ||||
126194911 | 201 days ago | 1 wei | ||||
126194911 | 201 days ago | 1 wei | ||||
125661616 | 214 days ago | 0.0000037417849 ETH | ||||
125661616 | 214 days ago | 0.0000037417849 ETH | ||||
125330561 | 221 days ago | 0.000004209658223 ETH | ||||
125330561 | 221 days ago | 0.000004209658223 ETH | ||||
125035950 | 228 days ago | 0.000183386222222 ETH | ||||
125035950 | 228 days ago | 0.000183386222222 ETH | ||||
124721773 | 235 days ago | 11 wei | ||||
124721773 | 235 days ago | 11 wei | ||||
124706179 | 236 days ago | 0.002742080853783 ETH | ||||
124706179 | 236 days ago | 0.002742080853783 ETH | ||||
124671386 | 237 days ago | 0.01409456727719 ETH | ||||
124671386 | 237 days ago | 0.01409456727719 ETH | ||||
124668092 | 237 days ago | 0.018941769166137 ETH | ||||
124668092 | 237 days ago | 0.018941769166137 ETH | ||||
124668086 | 237 days ago | 0.004213528154832 ETH | ||||
124668086 | 237 days ago | 0.004213528154832 ETH | ||||
124659301 | 237 days ago | 0.000762945433041 ETH | ||||
124659301 | 237 days ago | 0.000762945433041 ETH | ||||
124659300 | 237 days ago | 0.000765315617791 ETH | ||||
124659300 | 237 days ago | 0.000765315617791 ETH | ||||
124655875 | 237 days ago | 0.000717800567834 ETH |
Loading...
Loading
Contract Name:
WethUnwrapper
Compiler Version
v0.8.17+commit.8df45f5f
Optimization Enabled:
Yes with 1000000 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity 0.8.17; pragma abicoder v1; import "@1inch/solidity-utils/contracts/OnlyWethReceiver.sol"; import "@1inch/solidity-utils/contracts/interfaces/IWETH.sol"; import "../interfaces/IPostInteractionNotificationReceiver.sol"; import "../libraries/Errors.sol"; contract WethUnwrapper is OnlyWethReceiver, IPostInteractionNotificationReceiver { IWETH private immutable _WETH; // solhint-disable-line var-name-mixedcase uint256 private constant _RAW_CALL_GAS_LIMIT = 5000; constructor(IWETH weth) OnlyWethReceiver(address(weth)) { _WETH = weth; } function fillOrderPostInteraction( bytes32 /* orderHash */, address maker, address /* taker */, uint256 /* makingAmount */, uint256 takingAmount, uint256 /* remainingMakerAmount */, bytes calldata interactiveData ) external override { _WETH.withdraw(takingAmount); address receiver = maker; if (interactiveData.length == 20) { receiver = address(bytes20(interactiveData)); } // solhint-disable-next-line avoid-low-level-calls (bool success, ) = receiver.call{value: takingAmount, gas: _RAW_CALL_GAS_LIMIT}(""); if (!success) revert Errors.ETHTransferFailed(); } }
// SPDX-License-Identifier: MIT pragma solidity 0.8.17; pragma abicoder v1; /** * @title Interface for interactor which acts after `taker -> maker` transfers. * @notice The order filling steps are `preInteraction` =>` Transfer "maker -> taker"` => `Interaction` => `Transfer "taker -> maker"` => **`postInteraction`** */ interface IPostInteractionNotificationReceiver { /** * @notice Callback method that gets called after all funds transfers * @param orderHash Hash of the order being processed * @param maker Maker address * @param taker Taker address * @param makingAmount Actual making amount * @param takingAmount Actual taking amount * @param remainingAmount Limit order remaining maker amount after the swap * @param interactionData Interaction calldata */ function fillOrderPostInteraction( bytes32 orderHash, address maker, address taker, uint256 makingAmount, uint256 takingAmount, uint256 remainingAmount, bytes memory interactionData ) external; }
// SPDX-License-Identifier: MIT pragma solidity 0.8.17; library Errors { error InvalidMsgValue(); error ETHTransferFailed(); }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; pragma abicoder v1; import "./EthReceiver.sol"; abstract contract OnlyWethReceiver is EthReceiver { address private immutable _WETH; // solhint-disable-line var-name-mixedcase constructor(address weth) { _WETH = address(weth); } function _receive() internal virtual override { if (msg.sender != _WETH) revert EthDepositRejected(); } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; pragma abicoder v1; import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; interface IWETH is IERC20 { function deposit() external payable; function withdraw(uint256 amount) external; }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; pragma abicoder v1; abstract contract EthReceiver { error EthDepositRejected(); receive() external payable { _receive(); } function _receive() internal virtual { // solhint-disable-next-line avoid-tx-origin if (msg.sender == tx.origin) revert EthDepositRejected(); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.6.0) (token/ERC20/IERC20.sol) pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `to`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address to, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `from` to `to` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom( address from, address to, uint256 amount ) external returns (bool); }
{ "optimizer": { "enabled": true, "runs": 1000000 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "metadata": { "useLiteralContent": true }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"contract IWETH","name":"weth","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"ETHTransferFailed","type":"error"},{"inputs":[],"name":"EthDepositRejected","type":"error"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"address","name":"maker","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"takingAmount","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"interactiveData","type":"bytes"}],"name":"fillOrderPostInteraction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60c060405234801561001057600080fd5b506040516103973803806103978339818101604052602081101561003357600080fd5b50516001600160a01b0316608081905260a08190528061032f610068600039600061016401526000610109015261032f6000f3fe6080604052600436106100225760003560e01c80633504ed621461003657600080fd5b366100315761002f6100f1565b005b600080fd5b34801561004257600080fd5b5061002f600480360360e081101561005957600080fd5b81359173ffffffffffffffffffffffffffffffffffffffff602082013581169260408301359091169160608101359160808201359160a08101359181019060e0810160c08201356401000000008111156100b257600080fd5b8201836020820111156100c457600080fd5b803590602001918460018302840111640100000000831117156100e657600080fd5b509092509050610162565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610160576040517f1b10b0f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d856040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156101d557600080fd5b505af11580156101e9573d6000803e3d6000fd5b50899250505060148290036102085761020282846102b1565b60601c90505b60405160009073ffffffffffffffffffffffffffffffffffffffff83169061138890889084818181858888f193505050503d8060008114610265576040519150601f19603f3d011682016040523d82523d6000602084013e61026a565b606091505b50509050806102a5576040517fb12d13eb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050505050505050565b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000081358181169160148510156102f15780818660140360031b1b83161692505b50509291505056fea26469706673582212202796b400597a988afcb28ecf5f83180939b37ba2ef7b6c2f72bdab5c034bbf6d64736f6c634300081100330000000000000000000000004200000000000000000000000000000000000006
Deployed Bytecode
0x6080604052600436106100225760003560e01c80633504ed621461003657600080fd5b366100315761002f6100f1565b005b600080fd5b34801561004257600080fd5b5061002f600480360360e081101561005957600080fd5b81359173ffffffffffffffffffffffffffffffffffffffff602082013581169260408301359091169160608101359160808201359160a08101359181019060e0810160c08201356401000000008111156100b257600080fd5b8201836020820111156100c457600080fd5b803590602001918460018302840111640100000000831117156100e657600080fd5b509092509050610162565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000042000000000000000000000000000000000000061614610160576040517f1b10b0f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b7f000000000000000000000000420000000000000000000000000000000000000673ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d856040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156101d557600080fd5b505af11580156101e9573d6000803e3d6000fd5b50899250505060148290036102085761020282846102b1565b60601c90505b60405160009073ffffffffffffffffffffffffffffffffffffffff83169061138890889084818181858888f193505050503d8060008114610265576040519150601f19603f3d011682016040523d82523d6000602084013e61026a565b606091505b50509050806102a5576040517fb12d13eb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050505050505050565b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000081358181169160148510156102f15780818660140360031b1b83161692505b50509291505056fea26469706673582212202796b400597a988afcb28ecf5f83180939b37ba2ef7b6c2f72bdab5c034bbf6d64736f6c63430008110033
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
Multichain Portfolio | 34 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ARB | 17.06% | <$0.000001 | 99,234,224,477.5382 | $9.92 | |
ARB | 15.70% | $3.33 | 2.7435 | $9.14 | |
ARB | 15.32% | $92,634 | 0.0000962 | $8.91 | |
ARB | 8.20% | $0.020176 | 236.3414 | $4.77 | |
ARB | 4.63% | $0.000007 | 391,446.6584 | $2.69 | |
ARB | 4.61% | $1 | 2.6743 | $2.69 | |
ARB | 3.81% | $1 | 2.2183 | $2.22 | |
ARB | 3.14% | $2,146.7 | 0.00085218 | $1.83 | |
ARB | 2.64% | $5,796.04 | 0.00026462 | $1.53 | |
ARB | 2.26% | $1 | 1.3149 | $1.32 | |
ARB | 1.97% | $3.53 | 0.3252 | $1.15 | |
ARB | 1.89% | $0.999965 | 1.1002 | $1.1 | |
ARB | 1.87% | $1 | 1.0862 | $1.09 | |
ARB | 1.36% | $0.050922 | 15.5423 | $0.7914 | |
ARB | 1.18% | $176.08 | 0.00389337 | $0.6855 | |
ARB | 1.05% | $2,014.62 | 0.00030434 | $0.6131 | |
ARB | 0.95% | $0.20975 | 2.6349 | $0.5526 | |
ARB | 0.94% | $0.068923 | 7.939 | $0.5471 | |
ARB | 0.91% | $0.997276 | 0.5326 | $0.5311 | |
ARB | 0.90% | $1.54 | 0.3413 | $0.5255 | |
ARB | 0.82% | $0.80076 | 0.5974 | $0.4783 | |
ARB | 0.76% | $0.999921 | 0.4445 | $0.4444 | |
ARB | 0.72% | $1,793.32 | 0.00023223 | $0.4164 | |
ARB | 0.66% | $0.199226 | 1.9317 | $0.3848 | |
ARB | 0.53% | $0.030967 | 9.99 | $0.3093 | |
ARB | 0.53% | $0.657301 | 0.4679 | $0.3075 | |
ARB | 0.52% | $0.195887 | 1.5431 | $0.3022 | |
ARB | 0.52% | $14.83 | 0.0202 | $0.3003 | |
ARB | 0.51% | $1.8 | 0.1636 | $0.2944 | |
ARB | 0.50% | $382.79 | 0.0007557 | $0.2892 | |
ARB | 0.46% | $0.982905 | 0.2746 | $0.2699 | |
ARB | 0.44% | $0.206718 | 1.2299 | $0.2542 | |
ARB | 0.38% | $0.000397 | 555.8197 | $0.2209 | |
ARB | 0.36% | $0.20032 | 1.0565 | $0.2116 | |
ARB | 0.34% | $7.52 | 0.0265 | $0.199 | |
ARB | 0.34% | $0.000636 | 309.8656 | $0.1969 | |
ARB | 0.33% | $0.000899 | 212.2713 | $0.1907 | |
ARB | 0.27% | $0.000069 | 2,240.9043 | $0.1542 | |
ARB | 0.24% | $4.44 | 0.0313 | $0.1388 | |
ARB | 0.20% | $0.006388 | 18.3797 | $0.1174 | |
ARB | 0.18% | $0.001077 | 98.368 | $0.1059 |
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.