More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 41,781 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Multi Swap Token... | 8583927 | 41 hrs ago | IN | 0 GLMR | 0.141354 | ||||
Multi Swap Eth F... | 8512037 | 6 days ago | IN | 1 GLMR | 0.10316678 | ||||
Multi Swap Eth F... | 8499033 | 7 days ago | IN | 1 GLMR | 0.29645616 | ||||
Multi Swap Token... | 8395298 | 15 days ago | IN | 0 GLMR | 0.41420288 | ||||
Multi Swap Token... | 8395239 | 15 days ago | IN | 0 GLMR | 0.49912531 | ||||
Multi Swap Token... | 8395229 | 15 days ago | IN | 0 GLMR | 0.2664024 | ||||
Multi Swap Token... | 7688757 | 64 days ago | IN | 0 GLMR | 0.141418 | ||||
Multi Swap Token... | 7685072 | 65 days ago | IN | 0 GLMR | 0.53906736 | ||||
Multi Swap Token... | 7685068 | 65 days ago | IN | 0 GLMR | 0.44346016 | ||||
Multi Swap Token... | 7685064 | 65 days ago | IN | 0 GLMR | 0.46362368 | ||||
Multi Swap Token... | 7673721 | 66 days ago | IN | 0 GLMR | 0.088846 | ||||
Multi Swap Token... | 7670831 | 66 days ago | IN | 0 GLMR | 0.64622812 | ||||
Multi Swap Token... | 7670827 | 66 days ago | IN | 0 GLMR | 0.64857712 | ||||
Multi Swap Token... | 7670823 | 66 days ago | IN | 0 GLMR | 0.42306046 | ||||
Multi Swap Token... | 7656503 | 67 days ago | IN | 0 GLMR | 0.377674 | ||||
Multi Swap Token... | 7656499 | 67 days ago | IN | 0 GLMR | 0.51176 | ||||
Multi Swap Token... | 7656495 | 67 days ago | IN | 0 GLMR | 0.334734 | ||||
Multi Swap Token... | 7642239 | 68 days ago | IN | 0 GLMR | 0.4785809 | ||||
Multi Swap Token... | 7642235 | 68 days ago | IN | 0 GLMR | 0.64681537 | ||||
Multi Swap Token... | 7642231 | 68 days ago | IN | 0 GLMR | 0.42247321 | ||||
Multi Swap Token... | 7636209 | 68 days ago | IN | 0 GLMR | 0.088846 | ||||
Multi Swap Token... | 7630508 | 69 days ago | IN | 0 GLMR | 0.088846 | ||||
Multi Swap Token... | 7628046 | 69 days ago | IN | 0 GLMR | 0.53271296 | ||||
Multi Swap Token... | 7628043 | 69 days ago | IN | 0 GLMR | 0.39278096 | ||||
Multi Swap Token... | 7628040 | 69 days ago | IN | 0 GLMR | 0.42364771 |
Latest 25 internal transactions (View All)
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
8512037 | 6 days ago | 1 GLMR | ||||
8499033 | 7 days ago | 1 GLMR | ||||
7673721 | 66 days ago | 2.3297065 GLMR | ||||
7673721 | 66 days ago | 2.3297065 GLMR | ||||
7636209 | 68 days ago | 23.8051805 GLMR | ||||
7636209 | 68 days ago | 23.8051805 GLMR | ||||
7631282 | 69 days ago | 13.43731329 GLMR | ||||
7631282 | 69 days ago | 13.43731329 GLMR | ||||
7630508 | 69 days ago | 145.77581394 GLMR | ||||
7630508 | 69 days ago | 145.77581394 GLMR | ||||
7627732 | 69 days ago | 264.85239621 GLMR | ||||
7627732 | 69 days ago | 264.85239621 GLMR | ||||
7604743 | 70 days ago | 193.76504899 GLMR | ||||
7604743 | 70 days ago | 193.76504899 GLMR | ||||
7591400 | 71 days ago | 267.69907251 GLMR | ||||
7591400 | 71 days ago | 267.69907251 GLMR | ||||
7588638 | 71 days ago | 8,282 GLMR | ||||
7576947 | 72 days ago | 8,342 GLMR | ||||
7576113 | 72 days ago | 84 GLMR | ||||
7576113 | 72 days ago | 84 GLMR | ||||
7575096 | 72 days ago | 5.16684682 GLMR | ||||
7575096 | 72 days ago | 5.16684682 GLMR | ||||
7532395 | 75 days ago | 3.58267466 GLMR | ||||
7532395 | 75 days ago | 3.58267466 GLMR | ||||
7518045 | 76 days ago | 52.08148671 GLMR |
Loading...
Loading
Contract Name:
BrainDexRouterV2s1
Compiler Version
v0.8.15+commit.e14f2714
Optimization Enabled:
Yes with 10000 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity 0.8.15; import "@openzeppelin/contracts/access/Ownable.sol"; import { IWETH } from "../interface/IWETH.sol"; import { IERC20 } from "../interface/IERC20.sol"; import { IBrainDexExecutor } from "../interface/IBrainDexExecutor.sol"; import '../libraries/TransferHelper.sol'; error BDEX_AmountOutLow(); error BDEX_Expired(); error BDEX_Paused(); error BDEX_BadFeeOrder(); error BDEX_FeeTooHigh(); error BDEX_AddressZero(); error BDEX_AmountOutMinZero(); error BDEX_SwapDataZero(); error BDEX_EthTransferFailed(); contract BrainDexRouterV2s1 is Ownable { address private _feeDeposit; uint256 private _minFee; // In bips uint256 private _maxFee; // In bips uint256 constant private feeCap = 200; address public immutable WETH; IBrainDexExecutor private _executor; bool private _feeOn; bool private _paused; constructor(address WETH_, address executor_) { _feeDeposit = msg.sender; _minFee = 5; _maxFee = 20; WETH = WETH_; _executor = IBrainDexExecutor(executor_); _feeOn = true; } modifier ensureDeadline(uint256 deadline) { if (deadline < block.timestamp) revert BDEX_Expired(); _; } modifier notPaused() { if (_paused) revert BDEX_Paused(); _; } /** * @notice Upon completion of any swap, the executor contract will transfer its balance of `tokenOut` back * to this contract, final balance checks will be completed, fees will be processed and the results of the * swap will be transferred to the user. */ /** * @notice Performs a multi-path swap using the network token as the principal input and tokens as the principal output. * @param tokenOut Token to recieve after swap. * @param to Address to recieve resulting amount of tokenOut tokens. * @param amountOutMin Minimum amount of tokenOut to recieve, pre optimizer fee. * @param deadline Deadline for executing the swap. The transaction will revert if blocktime exceeds `deadline`. * @param swapData bytes package defining swap parameters for the executor contract. */ function multiSwapEthForTokens( address tokenOut, address to, uint256 amountOutMin, uint256 deadline, bytes calldata swapData ) external payable notPaused ensureDeadline(deadline) returns(uint256 netTokens, uint256 feeAmount) { if (amountOutMin == 0) revert BDEX_AmountOutMinZero(); if (swapData.length == 0) revert BDEX_SwapDataZero(); IWETH(WETH).deposit{value: msg.value}(); TransferHelper.safeTransfer(WETH, address(_executor), msg.value); _executor.executeSplitSwap( WETH, tokenOut, msg.value, amountOutMin, swapData ); // Final balance checking netTokens = IERC20(tokenOut).balanceOf(address(this)); if (netTokens < amountOutMin) revert BDEX_AmountOutLow(); (feeAmount, netTokens) = _feeOn ? _sendAdminFee(tokenOut, netTokens, amountOutMin) : (0, netTokens); address receiver = to == address(0) ? msg.sender : to; // Transfer tokens net fees to user. TransferHelper.safeTransfer(tokenOut, receiver, netTokens); } /** * @notice Performs a multi-path swap using tokens as the principal input and ETH as the principal output. * @param tokenIn Input token for swap. * @param to Address to recieve resulting amount of tokenOut tokens. * @param amountIn Amount of `tokenIn` tokens with which to initiate the swap. * @param amountOutMin Minimum amount of tokenOut to recieve, pre optimizer fee. * @param deadline Deadline for executing the swap. The transaction will revert if blocktime exceeds `deadline`. * @param swapData bytes package defining swap parameters for the executor contract. */ function multiSwapTokensForEth( address tokenIn, address to, uint256 amountIn, uint256 amountOutMin, uint256 deadline, bytes calldata swapData ) external notPaused ensureDeadline(deadline) returns(uint256 netTokens, uint256 feeAmount) { if (amountOutMin == 0) revert BDEX_AmountOutMinZero(); if (swapData.length == 0) revert BDEX_SwapDataZero(); // Initial transfer of tokens from user TransferHelper.safeTransferFrom(tokenIn, msg.sender, address(_executor), amountIn); _executor.executeSplitSwap( tokenIn, WETH, amountIn, amountOutMin, swapData ); // Final balance checking netTokens = IERC20(WETH).balanceOf(address(this)); if (netTokens < amountOutMin) revert BDEX_AmountOutLow(); (feeAmount, netTokens) = _feeOn ? _sendAdminFee(WETH, netTokens, amountOutMin) : (0, netTokens); address receiver = to == address(0) ? msg.sender : to; IWETH(WETH).withdraw(netTokens); _sendEth(receiver, netTokens); } /** * @notice Performs a multi-path swap using tokens as the principal input and tokens as the principal output. * @param tokenIn Input token for swap. * @param tokenOut Token to recieve after swap. * @param to Address to recieve resulting amount of tokenOut tokens. * @param amountIn Amount of `tokenIn` tokens with which to initiate the swap. * @param amountOutMin Minimum amount of tokenOut to recieve, pre optimizer fee. * @param deadline Deadline for executing the swap. The transaction will revert if blocktime exceeds `deadline`. * @param swapData bytes package defining swap parameters for the executor contract. */ function multiSwapTokensForTokens( address tokenIn, address tokenOut, address to, uint256 amountIn, uint256 amountOutMin, uint256 deadline, bytes calldata swapData ) external notPaused ensureDeadline(deadline) returns(uint256 netTokens, uint256 feeAmount) { if (amountOutMin == 0) revert BDEX_AmountOutMinZero(); if (swapData.length == 0) revert BDEX_SwapDataZero(); // Initial transfer of tokens from user TransferHelper.safeTransferFrom(tokenIn, msg.sender, address(_executor), amountIn); _executor.executeSplitSwap( tokenIn, tokenOut, amountIn, amountOutMin, swapData ); // Final balance checking netTokens = IERC20(tokenOut).balanceOf(address(this)); if (netTokens < amountOutMin) revert BDEX_AmountOutLow(); (feeAmount, netTokens) = _feeOn ? _sendAdminFee(tokenOut, netTokens, amountOutMin) : (0, netTokens); address receiver = to == address(0) ? msg.sender : to; // Transfer tokens net fees to user. TransferHelper.safeTransfer(tokenOut, receiver, netTokens); } // Fee is equal to half of the difference between netTokens and AmountOutMin, floored at _minFee // and capped at _maxFee. function getFee( uint256 netTokens, uint256 amountOutMin ) public view returns(uint256, uint256) { return _getFee(netTokens, amountOutMin); } function _getFee( uint256 netTokens, uint256 amountOutMin ) internal view returns(uint256, uint256) { uint256 amountDiff = netTokens - amountOutMin; uint256 feePercent = amountDiff * 10000 / ((amountOutMin + netTokens) / 2) / 2; // in bips if (feePercent < _minFee) { feePercent = _minFee; } else if (feePercent > _maxFee) { feePercent = _maxFee; } uint256 feeAmount = (netTokens * feePercent / 10000); uint256 amountNetFee = netTokens - feeAmount; return (feeAmount, amountNetFee); } function setExecutor(address newExecutor) external onlyOwner { if (newExecutor == address(0)) revert BDEX_AddressZero(); _executor = IBrainDexExecutor(newExecutor); } function setFeeDeposit(address newFeeDeposit) external onlyOwner { if (newFeeDeposit == address(0)) revert BDEX_AddressZero(); _feeDeposit = newFeeDeposit; } function setFees(uint256 minFee_, uint256 maxFee_) external onlyOwner { if (minFee_ > maxFee_) revert BDEX_BadFeeOrder(); if (maxFee_ > feeCap) revert BDEX_FeeTooHigh(); _minFee = minFee_; _maxFee = maxFee_; } function setFeeOn(bool state) external onlyOwner { _feeOn = state; } function setPaused(bool state) external onlyOwner { _paused = state; } function isPaused() external view returns(bool paused) { paused = _paused; } function minFee() public view returns(uint256 fee) { fee = _minFee; } function maxFee() public view returns(uint256 fee) { fee = _maxFee; } function executor() public view returns (address executor) { executor = address(_executor); } function feeDeposit() external view returns(address feeDeposit) { feeDeposit = _feeDeposit; } function feeOn() public view returns (bool isFeeOn) { isFeeOn = _feeOn; } function rescueTokens(address token, uint256 amount) external onlyOwner { TransferHelper.safeTransfer(token, owner(), amount); } function rescueEth(uint256 amount) external onlyOwner { _sendEth(owner(), amount); } function _sendAdminFee( address token, uint256 netTokens, uint256 amountOutMin ) internal returns(uint256 feeAmount, uint256 amountNetFee) { (feeAmount, amountNetFee) = _getFee(netTokens, amountOutMin); if (feeAmount > 0) { TransferHelper.safeTransfer(token, _feeDeposit, feeAmount); } } function _sendEth(address to, uint256 value) private { (bool success, ) = to.call{value: value}(new bytes(0)); if(!success) revert BDEX_EthTransferFailed(); } receive() external payable { assert(msg.sender == WETH); // only accept ETH via fallback from the WETH contract } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.7.0) (access/Ownable.sol) pragma solidity ^0.8.0; import "../utils/Context.sol"; /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _transferOwnership(_msgSender()); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { _checkOwner(); _; } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if the sender is not the owner. */ function _checkOwner() internal view virtual { require(owner() == _msgSender(), "Ownable: caller is not the owner"); } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (utils/Context.sol) pragma solidity ^0.8.0; /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; interface IBrainDexExecutor { function executeSplitSwap(address tokenIn, address tokenOut, uint256 amountIn, uint256 amountOutMin, bytes calldata swapData) external; }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; interface IERC20 { function transferFrom(address from, address to, uint256 amount) external; function transfer(address to, uint256 amount) external; function balanceOf(address who) external view returns (uint256); function approve(address user, uint256 amount) external; function totalSupply() external view returns (uint256); function allowance(address owner, address spender) external view returns(uint256); }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; interface IWETH { function deposit() external payable; function transfer(address to, uint value) external returns (bool); function withdraw(uint) external; }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; error THELP_ApproveFailed(); error THELP_TransferFailed(); error THELP_TransferFromFailed(); error THELP_EthTransferFailed(); library TransferHelper { function safeApprove(address token, address to, uint value) internal { // bytes4(keccak256(bytes('approve(address,uint256)'))); (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0x095ea7b3, to, value)); if (!success || !(data.length == 0 || abi.decode(data, (bool)))) revert THELP_ApproveFailed(); } function safeTransfer(address token, address to, uint value) internal { // bytes4(keccak256(bytes('transfer(address,uint256)'))); (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0xa9059cbb, to, value)); if (!success || !(data.length == 0 || abi.decode(data, (bool)))) revert THELP_TransferFailed(); } function safeTransferFrom(address token, address from, address to, uint value) internal { // bytes4(keccak256(bytes('transferFrom(address,address,uint256)'))); (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0x23b872dd, from, to, value)); if (!success || !(data.length == 0 || abi.decode(data, (bool)))) revert THELP_TransferFromFailed(); } function safeTransferETH(address to, uint value) internal { (bool success,) = to.call{value:value}(new bytes(0)); if (!success) revert THELP_EthTransferFailed(); } }
{ "optimizer": { "enabled": true, "runs": 10000 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"WETH_","type":"address"},{"internalType":"address","name":"executor_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"BDEX_AddressZero","type":"error"},{"inputs":[],"name":"BDEX_AmountOutLow","type":"error"},{"inputs":[],"name":"BDEX_AmountOutMinZero","type":"error"},{"inputs":[],"name":"BDEX_BadFeeOrder","type":"error"},{"inputs":[],"name":"BDEX_EthTransferFailed","type":"error"},{"inputs":[],"name":"BDEX_Expired","type":"error"},{"inputs":[],"name":"BDEX_FeeTooHigh","type":"error"},{"inputs":[],"name":"BDEX_Paused","type":"error"},{"inputs":[],"name":"BDEX_SwapDataZero","type":"error"},{"inputs":[],"name":"THELP_TransferFailed","type":"error"},{"inputs":[],"name":"THELP_TransferFromFailed","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[],"name":"WETH","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"executor","outputs":[{"internalType":"address","name":"executor","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeDeposit","outputs":[{"internalType":"address","name":"feeDeposit","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeOn","outputs":[{"internalType":"bool","name":"isFeeOn","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"netTokens","type":"uint256"},{"internalType":"uint256","name":"amountOutMin","type":"uint256"}],"name":"getFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isPaused","outputs":[{"internalType":"bool","name":"paused","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxFee","outputs":[{"internalType":"uint256","name":"fee","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minFee","outputs":[{"internalType":"uint256","name":"fee","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenOut","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amountOutMin","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"bytes","name":"swapData","type":"bytes"}],"name":"multiSwapEthForTokens","outputs":[{"internalType":"uint256","name":"netTokens","type":"uint256"},{"internalType":"uint256","name":"feeAmount","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenIn","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amountIn","type":"uint256"},{"internalType":"uint256","name":"amountOutMin","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"bytes","name":"swapData","type":"bytes"}],"name":"multiSwapTokensForEth","outputs":[{"internalType":"uint256","name":"netTokens","type":"uint256"},{"internalType":"uint256","name":"feeAmount","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenIn","type":"address"},{"internalType":"address","name":"tokenOut","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amountIn","type":"uint256"},{"internalType":"uint256","name":"amountOutMin","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"bytes","name":"swapData","type":"bytes"}],"name":"multiSwapTokensForTokens","outputs":[{"internalType":"uint256","name":"netTokens","type":"uint256"},{"internalType":"uint256","name":"feeAmount","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"rescueEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"rescueTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newExecutor","type":"address"}],"name":"setExecutor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newFeeDeposit","type":"address"}],"name":"setFeeDeposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"state","type":"bool"}],"name":"setFeeOn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"minFee_","type":"uint256"},{"internalType":"uint256","name":"maxFee_","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"state","type":"bool"}],"name":"setPaused","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60a06040523480156200001157600080fd5b5060405162001ee438038062001ee48339810160408190526200003491620000f7565b6200003f336200008a565b600180546001600160a01b03191633179055600560025560146003556001600160a01b03918216608052600480546001600160a81b0319169190921617600160a01b1790556200012f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b0381168114620000f257600080fd5b919050565b600080604083850312156200010b57600080fd5b6200011683620000da565b91506200012660208401620000da565b90509250929050565b608051611d61620001836000396000818161018b015281816103fa015281816106e30152818161076f0152818161085c015281816108de01528181610f830152818161100901526110970152611d616000f3fe60806040526004361061016e5760003560e01c80637a883d6e116100cb578063ad5c46481161007f578063d250185c11610059578063d250185c14610478578063f2fde38b14610498578063fc4064b3146104b857600080fd5b8063ad5c4648146103e8578063b187bd261461041c578063c34c08e51461044d57600080fd5b80638da5cb5b116100b05780638da5cb5b1461035e578063a9b1a08e146103aa578063abca7290146103bd57600080fd5b80637a883d6e1461031e578063840f94981461033e57600080fd5b806324ec759011610122578063573761981161010757806357376198146102c9578063715018a6146102e9578063739f08c8146102fe57600080fd5b806324ec7590146102785780634f335d0a1461028d57600080fd5b806312a6a6d41161015357806312a6a6d41461020357806316c38b3c146102385780631c3c0ea81461025857600080fd5b806301f59d16146101bf5780630b78f9c0146101e357600080fd5b366101ba573373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146101b8576101b8611886565b005b600080fd5b3480156101cb57600080fd5b506003545b6040519081526020015b60405180910390f35b3480156101ef57600080fd5b506101b86101fe3660046118b5565b6104d8565b34801561020f57600080fd5b5061022361021e366004611942565b610560565b604080519283526020830191909152016101da565b34801561024457600080fd5b506101b86102533660046119d2565b610967565b34801561026457600080fd5b506101b86102733660046119f6565b6109ba565b34801561028457600080fd5b506002546101d0565b34801561029957600080fd5b5060045474010000000000000000000000000000000000000000900460ff165b60405190151581526020016101da565b3480156102d557600080fd5b506101b86102e4366004611a11565b610a56565b3480156102f557600080fd5b506101b8610a8b565b34801561030a57600080fd5b506101b8610319366004611a3b565b610a9f565b34801561032a57600080fd5b506101b86103393660046119f6565b610ad2565b34801561034a57600080fd5b50610223610359366004611a54565b610b6e565b34801561036a57600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101da565b6102236103b8366004611ae6565b610e76565b3480156103c957600080fd5b5060015473ffffffffffffffffffffffffffffffffffffffff16610385565b3480156103f457600080fd5b506103857f000000000000000000000000000000000000000000000000000000000000000081565b34801561042857600080fd5b506004547501000000000000000000000000000000000000000000900460ff166102b9565b34801561045957600080fd5b5060045473ffffffffffffffffffffffffffffffffffffffff16610385565b34801561048457600080fd5b506102236104933660046118b5565b61123c565b3480156104a457600080fd5b506101b86104b33660046119f6565b611255565b3480156104c457600080fd5b506101b86104d33660046119d2565b61130e565b6104e0611360565b8082111561051a576040517f5c770fe900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60c8811115610555576040517f248459ca00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600291909155600355565b60045460009081907501000000000000000000000000000000000000000000900460ff16156105bb576040517f63f6f61a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84428110156105f6576040517f1106078400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b86600003610630576040517f85ac02b000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084900361066b576040517f0e29e6ae00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600454610692908b90339073ffffffffffffffffffffffffffffffffffffffff168b6113e1565b600480546040517fb5bd447b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169163b5bd447b91610711918e917f0000000000000000000000000000000000000000000000000000000000000000918e918e918d918d9101611b5e565b600060405180830381600087803b15801561072b57600080fd5b505af115801561073f573d6000803e3d6000fd5b50506040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1692506370a082319150602401602060405180830381865afa1580156107cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f19190611be4565b92508683101561082d576040517f7e52ee5e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045474010000000000000000000000000000000000000000900460ff1661085757600083610882565b6108827f0000000000000000000000000000000000000000000000000000000000000000848961152d565b93509150600073ffffffffffffffffffffffffffffffffffffffff8a16156108aa57896108ac565b335b6040517f2e1a7d4d000000000000000000000000000000000000000000000000000000008152600481018690529091507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690632e1a7d4d90602401600060405180830381600087803b15801561093757600080fd5b505af115801561094b573d6000803e3d6000fd5b505050506109598185611572565b505097509795505050505050565b61096f611360565b600480549115157501000000000000000000000000000000000000000000027fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff909216919091179055565b6109c2611360565b73ffffffffffffffffffffffffffffffffffffffff8116610a0f576040517f9698cd7500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610a5e611360565b610a8782610a8160005473ffffffffffffffffffffffffffffffffffffffff1690565b8361162b565b5050565b610a93611360565b610a9d600061176e565b565b610aa7611360565b610acf610ac960005473ffffffffffffffffffffffffffffffffffffffff1690565b82611572565b50565b610ada611360565b73ffffffffffffffffffffffffffffffffffffffff8116610b27576040517f9698cd7500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60045460009081907501000000000000000000000000000000000000000000900460ff1615610bc9576040517f63f6f61a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8442811015610c04576040517f1106078400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b86600003610c3e576040517f85ac02b000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000849003610c79576040517f0e29e6ae00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600454610ca0908c90339073ffffffffffffffffffffffffffffffffffffffff168b6113e1565b600480546040517fb5bd447b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169163b5bd447b91610cff918f918f918e918e918d918d9101611b5e565b600060405180830381600087803b158015610d1957600080fd5b505af1158015610d2d573d6000803e3d6000fd5b50506040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8d1692506370a082319150602401602060405180830381865afa158015610d9b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dbf9190611be4565b925086831015610dfb576040517f7e52ee5e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045474010000000000000000000000000000000000000000900460ff16610e2557600083610e30565b610e308a848961152d565b93509150600073ffffffffffffffffffffffffffffffffffffffff8a1615610e585789610e5a565b335b9050610e678b828661162b565b50509850989650505050505050565b60045460009081907501000000000000000000000000000000000000000000900460ff1615610ed1576040517f63f6f61a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8442811015610f0c576040517f1106078400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b86600003610f46576040517f85ac02b000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000849003610f81576040517f0e29e6ae00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b158015610fe957600080fd5b505af1158015610ffd573d6000803e3d6000fd5b505060045461104893507f0000000000000000000000000000000000000000000000000000000000000000925073ffffffffffffffffffffffffffffffffffffffff1690503461162b565b600480546040517fb5bd447b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169163b5bd447b916110c7917f0000000000000000000000000000000000000000000000000000000000000000918e9134918e918d918d9101611b5e565b600060405180830381600087803b1580156110e157600080fd5b505af11580156110f5573d6000803e3d6000fd5b50506040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8c1692506370a082319150602401602060405180830381865afa158015611163573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111879190611be4565b9250868310156111c3576040517f7e52ee5e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045474010000000000000000000000000000000000000000900460ff166111ed576000836111f8565b6111f889848961152d565b93509150600073ffffffffffffffffffffffffffffffffffffffff8916156112205788611222565b335b905061122f8a828661162b565b5050965096945050505050565b60008061124984846117e3565b915091505b9250929050565b61125d611360565b73ffffffffffffffffffffffffffffffffffffffff8116611305576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610acf8161176e565b611316611360565b6004805491151574010000000000000000000000000000000000000000027fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff909216919091179055565b60005473ffffffffffffffffffffffffffffffffffffffff163314610a9d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016112fc565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd0000000000000000000000000000000000000000000000000000000017905291516000928392908816916114809190611bfd565b6000604051808303816000865af19150503d80600081146114bd576040519150601f19603f3d011682016040523d82523d6000602084013e6114c2565b606091505b50915091508115806114ee5750805115806114ec5750808060200190518101906114ec9190611c38565b155b15611525576040517ff275e43500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050565b60008061153a84846117e3565b9092509050811561156a5760015461156a90869073ffffffffffffffffffffffffffffffffffffffff168461162b565b935093915050565b6040805160008082526020820190925273ffffffffffffffffffffffffffffffffffffffff84169083906040516115a99190611bfd565b60006040518083038185875af1925050503d80600081146115e6576040519150601f19603f3d011682016040523d82523d6000602084013e6115eb565b606091505b5050905080611626576040517f65eaa9b100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b6040805173ffffffffffffffffffffffffffffffffffffffff8481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb0000000000000000000000000000000000000000000000000000000017905291516000928392908716916116c29190611bfd565b6000604051808303816000865af19150503d80600081146116ff576040519150601f19603f3d011682016040523d82523d6000602084013e611704565b606091505b509150915081158061173057508051158061172e57508080602001905181019061172e9190611c38565b155b15611767576040517fe9e9cd1f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050505050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600080806117f18486611c84565b905060006002806118028888611c9b565b61180c9190611cb3565b61181884612710611cee565b6118229190611cb3565b61182c9190611cb3565b90506002548110156118415750600254611850565b60035481111561185057506003545b600061271061185f8389611cee565b6118699190611cb3565b905060006118778289611c84565b91989197509095505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b600080604083850312156118c857600080fd5b50508035926020909101359150565b803573ffffffffffffffffffffffffffffffffffffffff811681146118fb57600080fd5b919050565b60008083601f84011261191257600080fd5b50813567ffffffffffffffff81111561192a57600080fd5b60208301915083602082850101111561124e57600080fd5b600080600080600080600060c0888a03121561195d57600080fd5b611966886118d7565b9650611974602089016118d7565b955060408801359450606088013593506080880135925060a088013567ffffffffffffffff8111156119a557600080fd5b6119b18a828b01611900565b989b979a50959850939692959293505050565b8015158114610acf57600080fd5b6000602082840312156119e457600080fd5b81356119ef816119c4565b9392505050565b600060208284031215611a0857600080fd5b6119ef826118d7565b60008060408385031215611a2457600080fd5b611a2d836118d7565b946020939093013593505050565b600060208284031215611a4d57600080fd5b5035919050565b60008060008060008060008060e0898b031215611a7057600080fd5b611a79896118d7565b9750611a8760208a016118d7565b9650611a9560408a016118d7565b9550606089013594506080890135935060a0890135925060c089013567ffffffffffffffff811115611ac657600080fd5b611ad28b828c01611900565b999c989b5096995094979396929594505050565b60008060008060008060a08789031215611aff57600080fd5b611b08876118d7565b9550611b16602088016118d7565b94506040870135935060608701359250608087013567ffffffffffffffff811115611b4057600080fd5b611b4c89828a01611900565b979a9699509497509295939492505050565b600073ffffffffffffffffffffffffffffffffffffffff808916835280881660208401525085604083015284606083015260a060808301528260a0830152828460c0840137600060c0848401015260c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501168301019050979650505050505050565b600060208284031215611bf657600080fd5b5051919050565b6000825160005b81811015611c1e5760208186018101518583015201611c04565b81811115611c2d576000828501525b509190910192915050565b600060208284031215611c4a57600080fd5b81516119ef816119c4565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082821015611c9657611c96611c55565b500390565b60008219821115611cae57611cae611c55565b500190565b600082611ce9577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611d2657611d26611c55565b50029056fea264697066735822122024862ade9bfa27d263c27e7cb72bc61cffe26a37c5a268d491853c93a8c7581d64736f6c634300080f0033000000000000000000000000acc15dc74880c9944775448304b263d191c6077f000000000000000000000000a081899315654830488bc325122076ec77553d02
Deployed Bytecode
0x60806040526004361061016e5760003560e01c80637a883d6e116100cb578063ad5c46481161007f578063d250185c11610059578063d250185c14610478578063f2fde38b14610498578063fc4064b3146104b857600080fd5b8063ad5c4648146103e8578063b187bd261461041c578063c34c08e51461044d57600080fd5b80638da5cb5b116100b05780638da5cb5b1461035e578063a9b1a08e146103aa578063abca7290146103bd57600080fd5b80637a883d6e1461031e578063840f94981461033e57600080fd5b806324ec759011610122578063573761981161010757806357376198146102c9578063715018a6146102e9578063739f08c8146102fe57600080fd5b806324ec7590146102785780634f335d0a1461028d57600080fd5b806312a6a6d41161015357806312a6a6d41461020357806316c38b3c146102385780631c3c0ea81461025857600080fd5b806301f59d16146101bf5780630b78f9c0146101e357600080fd5b366101ba573373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000acc15dc74880c9944775448304b263d191c6077f16146101b8576101b8611886565b005b600080fd5b3480156101cb57600080fd5b506003545b6040519081526020015b60405180910390f35b3480156101ef57600080fd5b506101b86101fe3660046118b5565b6104d8565b34801561020f57600080fd5b5061022361021e366004611942565b610560565b604080519283526020830191909152016101da565b34801561024457600080fd5b506101b86102533660046119d2565b610967565b34801561026457600080fd5b506101b86102733660046119f6565b6109ba565b34801561028457600080fd5b506002546101d0565b34801561029957600080fd5b5060045474010000000000000000000000000000000000000000900460ff165b60405190151581526020016101da565b3480156102d557600080fd5b506101b86102e4366004611a11565b610a56565b3480156102f557600080fd5b506101b8610a8b565b34801561030a57600080fd5b506101b8610319366004611a3b565b610a9f565b34801561032a57600080fd5b506101b86103393660046119f6565b610ad2565b34801561034a57600080fd5b50610223610359366004611a54565b610b6e565b34801561036a57600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101da565b6102236103b8366004611ae6565b610e76565b3480156103c957600080fd5b5060015473ffffffffffffffffffffffffffffffffffffffff16610385565b3480156103f457600080fd5b506103857f000000000000000000000000acc15dc74880c9944775448304b263d191c6077f81565b34801561042857600080fd5b506004547501000000000000000000000000000000000000000000900460ff166102b9565b34801561045957600080fd5b5060045473ffffffffffffffffffffffffffffffffffffffff16610385565b34801561048457600080fd5b506102236104933660046118b5565b61123c565b3480156104a457600080fd5b506101b86104b33660046119f6565b611255565b3480156104c457600080fd5b506101b86104d33660046119d2565b61130e565b6104e0611360565b8082111561051a576040517f5c770fe900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60c8811115610555576040517f248459ca00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600291909155600355565b60045460009081907501000000000000000000000000000000000000000000900460ff16156105bb576040517f63f6f61a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84428110156105f6576040517f1106078400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b86600003610630576040517f85ac02b000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084900361066b576040517f0e29e6ae00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600454610692908b90339073ffffffffffffffffffffffffffffffffffffffff168b6113e1565b600480546040517fb5bd447b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169163b5bd447b91610711918e917f000000000000000000000000acc15dc74880c9944775448304b263d191c6077f918e918e918d918d9101611b5e565b600060405180830381600087803b15801561072b57600080fd5b505af115801561073f573d6000803e3d6000fd5b50506040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201527f000000000000000000000000acc15dc74880c9944775448304b263d191c6077f73ffffffffffffffffffffffffffffffffffffffff1692506370a082319150602401602060405180830381865afa1580156107cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f19190611be4565b92508683101561082d576040517f7e52ee5e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045474010000000000000000000000000000000000000000900460ff1661085757600083610882565b6108827f000000000000000000000000acc15dc74880c9944775448304b263d191c6077f848961152d565b93509150600073ffffffffffffffffffffffffffffffffffffffff8a16156108aa57896108ac565b335b6040517f2e1a7d4d000000000000000000000000000000000000000000000000000000008152600481018690529091507f000000000000000000000000acc15dc74880c9944775448304b263d191c6077f73ffffffffffffffffffffffffffffffffffffffff1690632e1a7d4d90602401600060405180830381600087803b15801561093757600080fd5b505af115801561094b573d6000803e3d6000fd5b505050506109598185611572565b505097509795505050505050565b61096f611360565b600480549115157501000000000000000000000000000000000000000000027fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff909216919091179055565b6109c2611360565b73ffffffffffffffffffffffffffffffffffffffff8116610a0f576040517f9698cd7500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610a5e611360565b610a8782610a8160005473ffffffffffffffffffffffffffffffffffffffff1690565b8361162b565b5050565b610a93611360565b610a9d600061176e565b565b610aa7611360565b610acf610ac960005473ffffffffffffffffffffffffffffffffffffffff1690565b82611572565b50565b610ada611360565b73ffffffffffffffffffffffffffffffffffffffff8116610b27576040517f9698cd7500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60045460009081907501000000000000000000000000000000000000000000900460ff1615610bc9576040517f63f6f61a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8442811015610c04576040517f1106078400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b86600003610c3e576040517f85ac02b000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000849003610c79576040517f0e29e6ae00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600454610ca0908c90339073ffffffffffffffffffffffffffffffffffffffff168b6113e1565b600480546040517fb5bd447b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169163b5bd447b91610cff918f918f918e918e918d918d9101611b5e565b600060405180830381600087803b158015610d1957600080fd5b505af1158015610d2d573d6000803e3d6000fd5b50506040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8d1692506370a082319150602401602060405180830381865afa158015610d9b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dbf9190611be4565b925086831015610dfb576040517f7e52ee5e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045474010000000000000000000000000000000000000000900460ff16610e2557600083610e30565b610e308a848961152d565b93509150600073ffffffffffffffffffffffffffffffffffffffff8a1615610e585789610e5a565b335b9050610e678b828661162b565b50509850989650505050505050565b60045460009081907501000000000000000000000000000000000000000000900460ff1615610ed1576040517f63f6f61a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8442811015610f0c576040517f1106078400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b86600003610f46576040517f85ac02b000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000849003610f81576040517f0e29e6ae00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f000000000000000000000000acc15dc74880c9944775448304b263d191c6077f73ffffffffffffffffffffffffffffffffffffffff1663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b158015610fe957600080fd5b505af1158015610ffd573d6000803e3d6000fd5b505060045461104893507f000000000000000000000000acc15dc74880c9944775448304b263d191c6077f925073ffffffffffffffffffffffffffffffffffffffff1690503461162b565b600480546040517fb5bd447b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169163b5bd447b916110c7917f000000000000000000000000acc15dc74880c9944775448304b263d191c6077f918e9134918e918d918d9101611b5e565b600060405180830381600087803b1580156110e157600080fd5b505af11580156110f5573d6000803e3d6000fd5b50506040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8c1692506370a082319150602401602060405180830381865afa158015611163573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111879190611be4565b9250868310156111c3576040517f7e52ee5e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045474010000000000000000000000000000000000000000900460ff166111ed576000836111f8565b6111f889848961152d565b93509150600073ffffffffffffffffffffffffffffffffffffffff8916156112205788611222565b335b905061122f8a828661162b565b5050965096945050505050565b60008061124984846117e3565b915091505b9250929050565b61125d611360565b73ffffffffffffffffffffffffffffffffffffffff8116611305576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610acf8161176e565b611316611360565b6004805491151574010000000000000000000000000000000000000000027fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff909216919091179055565b60005473ffffffffffffffffffffffffffffffffffffffff163314610a9d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016112fc565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd0000000000000000000000000000000000000000000000000000000017905291516000928392908816916114809190611bfd565b6000604051808303816000865af19150503d80600081146114bd576040519150601f19603f3d011682016040523d82523d6000602084013e6114c2565b606091505b50915091508115806114ee5750805115806114ec5750808060200190518101906114ec9190611c38565b155b15611525576040517ff275e43500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050565b60008061153a84846117e3565b9092509050811561156a5760015461156a90869073ffffffffffffffffffffffffffffffffffffffff168461162b565b935093915050565b6040805160008082526020820190925273ffffffffffffffffffffffffffffffffffffffff84169083906040516115a99190611bfd565b60006040518083038185875af1925050503d80600081146115e6576040519150601f19603f3d011682016040523d82523d6000602084013e6115eb565b606091505b5050905080611626576040517f65eaa9b100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b6040805173ffffffffffffffffffffffffffffffffffffffff8481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb0000000000000000000000000000000000000000000000000000000017905291516000928392908716916116c29190611bfd565b6000604051808303816000865af19150503d80600081146116ff576040519150601f19603f3d011682016040523d82523d6000602084013e611704565b606091505b509150915081158061173057508051158061172e57508080602001905181019061172e9190611c38565b155b15611767576040517fe9e9cd1f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050505050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600080806117f18486611c84565b905060006002806118028888611c9b565b61180c9190611cb3565b61181884612710611cee565b6118229190611cb3565b61182c9190611cb3565b90506002548110156118415750600254611850565b60035481111561185057506003545b600061271061185f8389611cee565b6118699190611cb3565b905060006118778289611c84565b91989197509095505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b600080604083850312156118c857600080fd5b50508035926020909101359150565b803573ffffffffffffffffffffffffffffffffffffffff811681146118fb57600080fd5b919050565b60008083601f84011261191257600080fd5b50813567ffffffffffffffff81111561192a57600080fd5b60208301915083602082850101111561124e57600080fd5b600080600080600080600060c0888a03121561195d57600080fd5b611966886118d7565b9650611974602089016118d7565b955060408801359450606088013593506080880135925060a088013567ffffffffffffffff8111156119a557600080fd5b6119b18a828b01611900565b989b979a50959850939692959293505050565b8015158114610acf57600080fd5b6000602082840312156119e457600080fd5b81356119ef816119c4565b9392505050565b600060208284031215611a0857600080fd5b6119ef826118d7565b60008060408385031215611a2457600080fd5b611a2d836118d7565b946020939093013593505050565b600060208284031215611a4d57600080fd5b5035919050565b60008060008060008060008060e0898b031215611a7057600080fd5b611a79896118d7565b9750611a8760208a016118d7565b9650611a9560408a016118d7565b9550606089013594506080890135935060a0890135925060c089013567ffffffffffffffff811115611ac657600080fd5b611ad28b828c01611900565b999c989b5096995094979396929594505050565b60008060008060008060a08789031215611aff57600080fd5b611b08876118d7565b9550611b16602088016118d7565b94506040870135935060608701359250608087013567ffffffffffffffff811115611b4057600080fd5b611b4c89828a01611900565b979a9699509497509295939492505050565b600073ffffffffffffffffffffffffffffffffffffffff808916835280881660208401525085604083015284606083015260a060808301528260a0830152828460c0840137600060c0848401015260c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501168301019050979650505050505050565b600060208284031215611bf657600080fd5b5051919050565b6000825160005b81811015611c1e5760208186018101518583015201611c04565b81811115611c2d576000828501525b509190910192915050565b600060208284031215611c4a57600080fd5b81516119ef816119c4565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082821015611c9657611c96611c55565b500390565b60008219821115611cae57611cae611c55565b500190565b600082611ce9577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611d2657611d26611c55565b50029056fea264697066735822122024862ade9bfa27d263c27e7cb72bc61cffe26a37c5a268d491853c93a8c7581d64736f6c634300080f0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000acc15dc74880c9944775448304b263d191c6077f000000000000000000000000a081899315654830488bc325122076ec77553d02
-----Decoded View---------------
Arg [0] : WETH_ (address): 0xAcc15dC74880C9944775448304B263D191c6077F
Arg [1] : executor_ (address): 0xa081899315654830488Bc325122076Ec77553d02
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000acc15dc74880c9944775448304b263d191c6077f
Arg [1] : 000000000000000000000000a081899315654830488bc325122076ec77553d02
Loading...
Loading
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 29 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
POL | 100.00% | $0.741288 | 2.8379 | $2.1 |
[ 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.