Source Code
Latest 25 from a total of 47 transactions
| Transaction Hash |
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
| Swap And Burn | 30663398 | 21 days ago | IN | 0 HYPE | 0.00001398 | ||||
| Claim Fees | 30663344 | 21 days ago | IN | 0 HYPE | 0.00047614 | ||||
| Claim Fees | 28051045 | 51 days ago | IN | 0 HYPE | 0.00048339 | ||||
| Swap And Burn | 27079120 | 62 days ago | IN | 0 HYPE | 0.00013645 | ||||
| Claim Fees | 27079119 | 62 days ago | IN | 0 HYPE | 0.00189156 | ||||
| Claim Fees | 27079058 | 62 days ago | IN | 0 HYPE | 0.00140029 | ||||
| Swap And Burn | 26928360 | 63 days ago | IN | 0 HYPE | 0.0000172 | ||||
| Swap And Burn | 26928313 | 63 days ago | IN | 0 HYPE | 0.00007299 | ||||
| Claim Fees | 26928266 | 63 days ago | IN | 0 HYPE | 0.00209923 | ||||
| Swap And Burn | 26148540 | 72 days ago | IN | 0 HYPE | 0.00001399 | ||||
| Claim Fees | 26148477 | 72 days ago | IN | 0 HYPE | 0.0004723 | ||||
| Claim Fees | 26148477 | 72 days ago | IN | 0 HYPE | 0.00048159 | ||||
| Renounce Ownersh... | 26040674 | 74 days ago | IN | 0 HYPE | 0.00002254 | ||||
| Swap And Burn | 26036228 | 74 days ago | IN | 0 HYPE | 0.00001398 | ||||
| Claim Fees | 26036176 | 74 days ago | IN | 0 HYPE | 0.00048159 | ||||
| Swap And Burn | 25878598 | 75 days ago | IN | 0 HYPE | 0.00005471 | ||||
| Claim Fees | 25878581 | 75 days ago | IN | 0 HYPE | 0.00090474 | ||||
| Claim Fees | 25878520 | 75 days ago | IN | 0 HYPE | 0.0005616 | ||||
| Claim Fees | 25878459 | 75 days ago | IN | 0 HYPE | 0.0005628 | ||||
| Claim Fees | 25878459 | 75 days ago | IN | 0 HYPE | 0.00096124 | ||||
| Swap And Burn | 25262199 | 82 days ago | IN | 0 HYPE | 0.0000431 | ||||
| Claim Fees | 25262081 | 82 days ago | IN | 0 HYPE | 0.00058228 | ||||
| Swap And Burn | 24774958 | 88 days ago | IN | 0 HYPE | 0.00001385 | ||||
| Claim Fees | 24774900 | 88 days ago | IN | 0 HYPE | 0.00049117 | ||||
| Claim Fees | 24019903 | 97 days ago | IN | 0 HYPE | 0.00047702 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Cross-Chain Transactions
Loading...
Loading
Contract Name:
WGC_CollectBuyBurn
Compiler Version
v0.8.20+commit.a1b79de6
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.20;
/*
WGC Collect, Buy & Burn
Collects LP fees from delegated Hyperswap V3 positions, swaps WHYPE → WGC, burns all WGC.
Both claimFees() and swapAndBurn() are permissionless.
*/
interface IERC721 {
function safeTransferFrom(address from, address to, uint256 tokenId) external;
}
interface IERC721Receiver {
function onERC721Received(address, address, uint256, bytes calldata) external returns (bytes4);
}
interface IERC20 {
function balanceOf(address) external view returns (uint256);
function approve(address, uint256) external returns (bool);
function transfer(address, uint256) external returns (bool);
}
library SafeERC20 {
function safeApprove(IERC20 token, address spender, uint256 value) internal {
require(token.approve(spender, value), "APPROVE_FAILED");
}
function safeTransfer(IERC20 token, address to, uint256 value) internal {
require(token.transfer(to, value), "TRANSFER_FAILED");
}
}
interface IDelegatedPositionVault {
function bulkClaim(uint256[] calldata tokenIds) external;
}
interface ISwapRouter02 {
struct ExactInputSingleParams {
address tokenIn;
address tokenOut;
uint24 fee;
address recipient;
uint256 amountIn;
uint256 amountOutMinimum;
uint160 sqrtPriceLimitX96;
}
function exactInputSingle(ExactInputSingleParams calldata params) external payable returns (uint256);
}
interface IUniswapV3Pool {
function slot0() external view returns (uint160, int24, uint16, uint16, uint16, uint8, bool);
function observe(uint32[] calldata) external view returns (int56[] memory, uint160[] memory);
}
library TickMath {
function getSqrtRatioAtTick(int24 tick) internal pure returns (uint160) {
unchecked {
require(tick >= -887272 && tick <= 887272, "T");
uint256 absTick = uint256(tick < 0 ? -int256(tick) : int256(tick));
uint256 ratio = absTick & 0x1 != 0 ? 0xfffcb933bd6fad37aa2d162d1a594001 : 0x100000000000000000000000000000000;
if (absTick & 0x2 != 0) ratio = (ratio * 0xfff97272373d413259a46990580e213a) >> 128;
if (absTick & 0x4 != 0) ratio = (ratio * 0xfff2e50f5f656932ef12357cf3c7fdcc) >> 128;
if (absTick & 0x8 != 0) ratio = (ratio * 0xffe5caca7e10e4e61c3624eaa0941cd0) >> 128;
if (absTick & 0x10 != 0) ratio = (ratio * 0xffcb9843d60f6159c9db58835c926644) >> 128;
if (absTick & 0x20 != 0) ratio = (ratio * 0xff973b41fa98c081472e6896dfb254c0) >> 128;
if (absTick & 0x40 != 0) ratio = (ratio * 0xff2ea16466c96a3843ec78b326b52861) >> 128;
if (absTick & 0x80 != 0) ratio = (ratio * 0xfe5dee046a99a2a811c461f1969c3053) >> 128;
if (absTick & 0x100 != 0) ratio = (ratio * 0xfcbe86c7900a88aedcffc83b479aa3a4) >> 128;
if (absTick & 0x200 != 0) ratio = (ratio * 0xf987a7253ac413176f2b074cf7815e54) >> 128;
if (absTick & 0x400 != 0) ratio = (ratio * 0xf3392b0822b70005940c7a398e4b70f3) >> 128;
if (absTick & 0x800 != 0) ratio = (ratio * 0xe7159475a2c29b7443b29c7fa6e889d9) >> 128;
if (absTick & 0x1000 != 0) ratio = (ratio * 0xd097f3bdfd2022b8845ad8f792aa5825) >> 128;
if (absTick & 0x2000 != 0) ratio = (ratio * 0xa9f746462d870fdf8a65dc1f90e061e5) >> 128;
if (absTick & 0x4000 != 0) ratio = (ratio * 0x70d869a156d2a1b890bb3df62baf32f7) >> 128;
if (absTick & 0x8000 != 0) ratio = (ratio * 0x31be135f97d08fd981231505542fcfa6) >> 128;
if (absTick & 0x10000 != 0) ratio = (ratio * 0x9aa508b5b7a84e1c677de54f3e99bc9) >> 128;
if (absTick & 0x20000 != 0) ratio = (ratio * 0x5d6af8dedb81196699c329225ee604) >> 128;
if (absTick & 0x40000 != 0) ratio = (ratio * 0x2216e584f5fa1ea926041bedfe98) >> 128;
if (absTick & 0x80000 != 0) ratio = (ratio * 0x48a170391f7dc42444e8fa2) >> 128;
if (tick > 0) ratio = type(uint256).max / ratio;
return uint160((ratio >> 32) + (ratio % (1 << 32) == 0 ? 0 : 1));
}
}
}
contract WGC_CollectBuyBurn is IERC721Receiver {
using SafeERC20 for IERC20;
// ══════════════════════════════════════════════════════════════════════
// CONSTANTS
// ══════════════════════════════════════════════════════════════════════
address public constant VAULT = 0x744C89B7b7F8Cb1E955B1Dcd842A5378d75c96Dc;
address public constant ROUTER = 0x6D99e7f6747AF2cDbB5164b6DD50e40D4fDe1e77;
address public constant POOL = 0xF1085DEC2B534C09cc56CD0a38816B4ac5DF004f;
address public constant WHYPE_ADDR = 0x5555555555555555555555555555555555555555;
address public constant WGC_ADDR = 0xc53ac24320E3A54C7211e4993c8095078a0Cb3Cf;
address public constant BURN_ADDR = 0x000000000000000000000000000000000000dEaD;
uint24 public constant POOL_FEE = 10000;
// TWAP: 120s window, max 500 tick deviation (~5%), min 95% of expected output
uint32 public constant TWAP_SECONDS = 120;
uint16 public constant MAX_TICK_DEVIATION = 500;
uint16 public constant MIN_OUTPUT_BPS = 9500;
// ══════════════════════════════════════════════════════════════════════
// IMMUTABLES
// ══════════════════════════════════════════════════════════════════════
uint256 public immutable MIN_WHYPE_TO_SWAP;
IERC20 public immutable WHYPE;
IERC20 public immutable WGC;
// ══════════════════════════════════════════════════════════════════════
// STATE
// ══════════════════════════════════════════════════════════════════════
address public owner;
uint256 public totalWgcBurned;
uint256[] private tokenIds;
uint256 private _locked = 1;
// ══════════════════════════════════════════════════════════════════════
// EVENTS
// ══════════════════════════════════════════════════════════════════════
event FeesClaimed(uint256 whypeReceived, uint256 wgcReceived);
event SwapCompleted(uint256 whypeIn, uint256 wgcOut);
event Burned(uint256 wgcBurned);
event OwnershipRenounced(address previousOwner);
event TokenIdsAdded(uint256 count);
// ══════════════════════════════════════════════════════════════════════
// MODIFIERS
// ══════════════════════════════════════════════════════════════════════
modifier nonReentrant() {
require(_locked == 1, "REENTRANT");
_locked = 2;
_;
_locked = 1;
}
modifier onlyOwner() {
require(msg.sender == owner, "NOT_OWNER");
_;
}
// ══════════════════════════════════════════════════════════════════════
// CONSTRUCTOR
// ══════════════════════════════════════════════════════════════════════
constructor(uint256 _minWhypeToSwap) {
owner = msg.sender;
WHYPE = IERC20(WHYPE_ADDR);
WGC = IERC20(WGC_ADDR);
MIN_WHYPE_TO_SWAP = _minWhypeToSwap;
WHYPE.safeApprove(ROUTER, 0);
WHYPE.safeApprove(ROUTER, type(uint256).max);
}
// ══════════════════════════════════════════════════════════════════════
// ERC721 RECEIVER — only accepts NFTs from VAULT
// ══════════════════════════════════════════════════════════════════════
function onERC721Received(address, address, uint256, bytes calldata)
external override returns (bytes4)
{
require(msg.sender == VAULT, "ONLY_VAULT_NFTS");
return IERC721Receiver.onERC721Received.selector;
}
// ══════════════════════════════════════════════════════════════════════
// OWNER FUNCTIONS
// ══════════════════════════════════════════════════════════════════════
function addTokenIds(uint256[] calldata newIds) external onlyOwner {
for (uint256 i = 0; i < newIds.length; i++) {
tokenIds.push(newIds[i]);
}
emit TokenIdsAdded(newIds.length);
}
function rescueERC721(address token, address to, uint256 id) external onlyOwner {
require(to != address(0), "BAD_TO");
IERC721(token).safeTransferFrom(address(this), to, id);
}
function rescueERC20(address token, address to, uint256 amount) external onlyOwner {
require(to != address(0), "BAD_TO");
IERC20(token).safeTransfer(to, amount);
}
function renounceOwnership() external onlyOwner {
emit OwnershipRenounced(owner);
owner = address(0);
}
// ══════════════════════════════════════════════════════════════════════
// VIEW FUNCTIONS
// ══════════════════════════════════════════════════════════════════════
function getTokenIds() external view returns (uint256[] memory) {
return tokenIds;
}
function getBalances() external view returns (uint256 whypeBal, uint256 wgcBal) {
return (WHYPE.balanceOf(address(this)), WGC.balanceOf(address(this)));
}
function previewSwap(uint256 whypeAmount) external view returns (
int24 spotTick, int24 twapTick, int24 deviation,
bool wouldPass, uint256 expectedOut, uint256 minOut
) {
(twapTick, spotTick) = _getTwapTick();
deviation = _abs(spotTick - twapTick);
wouldPass = deviation <= int24(uint24(MAX_TICK_DEVIATION));
if (whypeAmount > 0) {
expectedOut = _expectedWgcOut(whypeAmount, TickMath.getSqrtRatioAtTick(twapTick));
minOut = (expectedOut * MIN_OUTPUT_BPS) / 10_000;
}
}
// ══════════════════════════════════════════════════════════════════════
// PUBLIC FUNCTIONS
// ══════════════════════════════════════════════════════════════════════
function claimFees() external nonReentrant {
uint256 whypeBefore = WHYPE.balanceOf(address(this));
uint256 wgcBefore = WGC.balanceOf(address(this));
IDelegatedPositionVault(VAULT).bulkClaim(tokenIds);
emit FeesClaimed(
WHYPE.balanceOf(address(this)) - whypeBefore,
WGC.balanceOf(address(this)) - wgcBefore
);
}
function swapAndBurn() external nonReentrant {
uint256 whypeBal = WHYPE.balanceOf(address(this));
require(whypeBal >= MIN_WHYPE_TO_SWAP, "WHYPE_TOO_LOW");
(int24 twapTick, int24 spotTick) = _getTwapTick();
int24 maxDev = int24(uint24(MAX_TICK_DEVIATION));
require(_abs(spotTick - twapTick) <= maxDev, "PRICE_DEVIATION");
uint256 expectedOut = _expectedWgcOut(whypeBal, TickMath.getSqrtRatioAtTick(twapTick));
uint256 minOut = (expectedOut * MIN_OUTPUT_BPS) / 10_000;
uint256 amountOut = ISwapRouter02(ROUTER).exactInputSingle(
ISwapRouter02.ExactInputSingleParams({
tokenIn: WHYPE_ADDR,
tokenOut: WGC_ADDR,
fee: POOL_FEE,
recipient: address(this),
amountIn: whypeBal,
amountOutMinimum: minOut,
sqrtPriceLimitX96: TickMath.getSqrtRatioAtTick(twapTick - maxDev)
})
);
emit SwapCompleted(whypeBal, amountOut);
uint256 wgcBal = WGC.balanceOf(address(this));
if (wgcBal > 0) {
WGC.safeTransfer(BURN_ADDR, wgcBal);
totalWgcBurned += wgcBal;
emit Burned(wgcBal);
}
}
// ══════════════════════════════════════════════════════════════════════
// INTERNAL FUNCTIONS
// ══════════════════════════════════════════════════════════════════════
function _abs(int24 x) internal pure returns (int24) {
return x < 0 ? -x : x;
}
function _getTwapTick() internal view returns (int24 twapTick, int24 spotTick) {
(, spotTick,,,,,) = IUniswapV3Pool(POOL).slot0();
uint32[] memory ago = new uint32[](2);
ago[0] = TWAP_SECONDS;
(int56[] memory cum,) = IUniswapV3Pool(POOL).observe(ago);
int56 delta = cum[1] - cum[0];
int56 avg = delta / int56(uint56(TWAP_SECONDS));
if (delta < 0 && delta % int56(uint56(TWAP_SECONDS)) != 0) avg--;
twapTick = int24(avg);
}
function _expectedWgcOut(uint256 amountIn, uint160 sqrtPriceX96) internal pure returns (uint256) {
uint256 p = uint256(sqrtPriceX96);
return (amountIn * p * p) >> 192;
}
}{
"optimizer": {
"enabled": true,
"runs": 200
},
"evmVersion": "paris",
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"uint256","name":"_minWhypeToSwap","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"wgcBurned","type":"uint256"}],"name":"Burned","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"whypeReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"wgcReceived","type":"uint256"}],"name":"FeesClaimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"previousOwner","type":"address"}],"name":"OwnershipRenounced","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"whypeIn","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"wgcOut","type":"uint256"}],"name":"SwapCompleted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"count","type":"uint256"}],"name":"TokenIdsAdded","type":"event"},{"inputs":[],"name":"BURN_ADDR","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_TICK_DEVIATION","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MIN_OUTPUT_BPS","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MIN_WHYPE_TO_SWAP","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"POOL","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"POOL_FEE","outputs":[{"internalType":"uint24","name":"","type":"uint24"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ROUTER","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TWAP_SECONDS","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"VAULT","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"WGC","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"WGC_ADDR","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"WHYPE","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"WHYPE_ADDR","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"newIds","type":"uint256[]"}],"name":"addTokenIds","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getBalances","outputs":[{"internalType":"uint256","name":"whypeBal","type":"uint256"},{"internalType":"uint256","name":"wgcBal","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTokenIds","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"whypeAmount","type":"uint256"}],"name":"previewSwap","outputs":[{"internalType":"int24","name":"spotTick","type":"int24"},{"internalType":"int24","name":"twapTick","type":"int24"},{"internalType":"int24","name":"deviation","type":"int24"},{"internalType":"bool","name":"wouldPass","type":"bool"},{"internalType":"uint256","name":"expectedOut","type":"uint256"},{"internalType":"uint256","name":"minOut","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"rescueERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"rescueERC721","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndBurn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalWgcBurned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]Contract Creation Code
60e060405260016003553480156200001657600080fd5b506040516200201638038062002016833981016040819052620000399162000196565b600080546001600160a01b0319163317815573555555555555555555555555555555555555555560a081905273c53ac24320e3a54c7211e4993c8095078a0cb3cf60c0526080839052620000a391736d99e7f6747af2cdbb5164b6dd50e40d4fde1e7790620000d9565b60a051620000d2906001600160a01b0316736d99e7f6747af2cdbb5164b6dd50e40d4fde1e77600019620000d9565b50620001db565b60405163095ea7b360e01b81526001600160a01b0383811660048301526024820183905284169063095ea7b3906044016020604051808303816000875af115801562000129573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014f9190620001b0565b620001915760405162461bcd60e51b815260206004820152600e60248201526d1054141493d59157d1905253115160921b604482015260640160405180910390fd5b505050565b600060208284031215620001a957600080fd5b5051919050565b600060208284031215620001c357600080fd5b81518015158114620001d457600080fd5b9392505050565b60805160a05160c051611dc56200025160003960008181610372015281816104c2015281816108a90152818161093101528181610e590152610ffe0152600081816102ee015281816104420152818161059d01528181610dc30152610f7201526000818161028301526106140152611dc56000f3fe608060405234801561001057600080fd5b50600436106101725760003560e01c8063715018a6116100de5780638da5cb5b11610097578063bfba2ffa11610071578063bfba2ffa146103d5578063d294f093146103f2578063dd1b9c4a146103fa578063f3539f5b1461041757600080fd5b80638da5cb5b14610394578063adafb40e146103a7578063b2118a8d146103c257600080fd5b8063715018a614610325578063741f43b71461032d5780637535d24614610336578063783028a9146103515780637df325e11461035a5780638691bb5c1461036d57600080fd5b806333dd439f1161013057806333dd439f14610231578063368060ff1461027e578063411557d1146102b3578063417419c4146102ce57806359f613a4146102e957806367f718a91461031057600080fd5b8062113e081461017757806301f3ff3f14610199578063030a5a75146101b5578063150b7a02146101bf578063263419b1146101eb57806332fe7b26146101fe575b600080fd5b61017f610420565b604080519283526020830191909152015b60405180910390f35b6101a261251c81565b60405161ffff9091168152602001610190565b6101bd61053d565b005b6101d26101cd3660046116f3565b6109b4565b6040516001600160e01b03199091168152602001610190565b6101bd6101f9366004611792565b610a1d565b610219736d99e7f6747af2cdbb5164b6dd50e40d4fde1e7781565b6040516001600160a01b039091168152602001610190565b61024461023f366004611807565b610ad2565b60408051600297880b815295870b60208701529390950b9284019290925215156060830152608082015260a081019190915260c001610190565b6102a57f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610190565b61021973744c89b7b7f8cb1e955b1dcd842a5378d75c96dc81565b61021973555555555555555555555555555555555555555581565b6102197f000000000000000000000000000000000000000000000000000000000000000081565b610318610b3c565b6040516101909190611820565b6101bd610b94565b6101a26101f481565b61021973f1085dec2b534c09cc56cd0a38816b4ac5df004f81565b61021961dead81565b6101bd610368366004611864565b610c10565b6102197f000000000000000000000000000000000000000000000000000000000000000081565b600054610219906001600160a01b031681565b61021973c53ac24320e3a54c7211e4993c8095078a0cb3cf81565b6101bd6103d0366004611864565b610ce6565b6103dd607881565b60405163ffffffff9091168152602001610190565b6101bd610d68565b61040361271081565b60405162ffffff9091168152602001610190565b6102a560015481565b6040516370a0823160e01b815230600482015260009081906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015610489573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ad91906118a5565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610511573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061053591906118a5565b915091509091565b6003546001146105805760405162461bcd60e51b815260206004820152600960248201526814915153951490539560ba1b60448201526064015b60405180910390fd5b60026003556040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa1580156105ec573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061091906118a5565b90507f00000000000000000000000000000000000000000000000000000000000000008110156106725760405162461bcd60e51b815260206004820152600d60248201526c57485950455f544f4f5f4c4f5760981b6044820152606401610577565b60008061067d61109c565b90925090506101f48061069861069385856118d4565b611290565b60020b13156106db5760405162461bcd60e51b815260206004820152600f60248201526e282924a1a2afa222ab24a0aa24a7a760891b6044820152606401610577565b60006106ef856106ea866112b1565b6115fd565b9050600061271061070261251c846118f9565b61070c9190611926565b6040805160e081018252735555555555555555555555555555555555555555815273c53ac24320e3a54c7211e4993c8095078a0cb3cf6020820152612710918101919091523060608201526080810188905260a08101829052909150600090736d99e7f6747af2cdbb5164b6dd50e40d4fde1e77906304e45aaf9060c0810161079d610798898c6118d4565b6112b1565b6001600160a01b03908116909152604080516001600160e01b031960e086901b1681528351831660048201526020840151831660248201529083015162ffffff1660448201526060830151821660648201526080830151608482015260a083015160a482015260c0909201511660c482015260e4016020604051808303816000875af1158015610831573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085591906118a5565b60408051898152602081018390529192507f19e358413b77c4e90878dfd18da749fa4208a97d4bbd4598d699d6ba1b57fa70910160405180910390a16040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa1580156108f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091c91906118a5565b905080156109a55761095a6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001661dead8361162a565b806001600082825461096c919061193a565b90915550506040518181527fd83c63197e8e676d80ab0122beba9a9d20f3828839e9a1d6fe81d242e9cd7e6e9060200160405180910390a15b50506001600355505050505050565b60003373744c89b7b7f8cb1e955b1dcd842a5378d75c96dc14610a0b5760405162461bcd60e51b815260206004820152600f60248201526e4f4e4c595f5641554c545f4e46545360881b6044820152606401610577565b50630a85bd0160e11b95945050505050565b6000546001600160a01b03163314610a475760405162461bcd60e51b81526004016105779061194d565b60005b81811015610a9a576002838383818110610a6657610a66611970565b8354600181018555600094855260209485902091909402929092013591909201555080610a9281611986565b915050610a4a565b506040518181527f7247f028e577c687a75b49f54ee5633b43ee226bb2de4f3e5b36de48d1cd0cf59060200160405180910390a15050565b600080600080600080610ae361109c565b96509450610af461069386886118d4565b93506101f4600285900b131592508615610b3357610b15876106ea876112b1565b9150612710610b2661251c846118f9565b610b309190611926565b90505b91939550919395565b60606002805480602002602001604051908101604052809291908181526020018280548015610b8a57602002820191906000526020600020905b815481526020019060010190808311610b76575b5050505050905090565b6000546001600160a01b03163314610bbe5760405162461bcd60e51b81526004016105779061194d565b6000546040516001600160a01b0390911681527ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c648209060200160405180910390a1600080546001600160a01b0319169055565b6000546001600160a01b03163314610c3a5760405162461bcd60e51b81526004016105779061194d565b6001600160a01b038216610c795760405162461bcd60e51b81526020600482015260066024820152654241445f544f60d01b6044820152606401610577565b604051632142170760e11b81523060048201526001600160a01b038381166024830152604482018390528416906342842e0e90606401600060405180830381600087803b158015610cc957600080fd5b505af1158015610cdd573d6000803e3d6000fd5b50505050505050565b6000546001600160a01b03163314610d105760405162461bcd60e51b81526004016105779061194d565b6001600160a01b038216610d4f5760405162461bcd60e51b81526020600482015260066024820152654241445f544f60d01b6044820152606401610577565b610d636001600160a01b038416838361162a565b505050565b600354600114610da65760405162461bcd60e51b815260206004820152600960248201526814915153951490539560ba1b6044820152606401610577565b60026003556040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610e12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3691906118a5565b6040516370a0823160e01b81523060048201529091506000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015610ea0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec491906118a5565b60405163e34f0e9960e01b815290915073744c89b7b7f8cb1e955b1dcd842a5378d75c96dc9063e34f0e9990610eff9060029060040161199f565b600060405180830381600087803b158015610f1957600080fd5b505af1158015610f2d573d6000803e3d6000fd5b50506040516370a0823160e01b81523060048201527fa1f87f32d0f17fab0242ca800d736293de8988c14b27747e218cf13d5c249f5392508491506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015610fb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fdd91906118a5565b610fe791906119da565b6040516370a0823160e01b815230600482015283907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa15801561104d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107191906118a5565b61107b91906119da565b6040805192835260208301919091520160405180910390a150506001600355565b60008073f1085dec2b534c09cc56cd0a38816b4ac5df004f6001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e060405180830381865afa1580156110f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111159190611a14565b50939550600094506002935061112a92505050565b604051908082528060200260200182016040528015611153578160200160208202803683370190505b50905060788160008151811061116b5761116b611970565b63ffffffff9092166020928302919091019091015260405163883bdbfd60e01b815260009073f1085dec2b534c09cc56cd0a38816b4ac5df004f9063883bdbfd906111ba908590600401611ac4565b600060405180830381865afa1580156111d7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111ff9190810190611bcb565b50905060008160008151811061121757611217611970565b60200260200101518260018151811061123257611232611970565b60200260200101516112449190611c97565b90506000611253607883611cc4565b905060008260060b128015611274575061126e607883611d02565b60060b15155b15611287578061128381611d24565b9150505b95939450505050565b6000808260020b126112a257816112ab565b6112ab82611d4b565b92915050565b6000620d89e7198260020b121580156112d05750620d89e88260020b13155b6113005760405162461bcd60e51b81526020600482015260016024820152601560fa1b6044820152606401610577565b6000808360020b12611315578260020b61131d565b8260020b6000035b905060008160011660000361133657600160801b611348565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff169050600282161561137c576ffff97272373d413259a46990580e213a0260801c5b600482161561139b576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b60088216156113ba576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b60108216156113d9576fffcb9843d60f6159c9db58835c9266440260801c5b60208216156113f8576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615611417576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615611436576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615611456576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615611476576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615611496576ff3392b0822b70005940c7a398e4b70f30260801c5b6108008216156114b6576fe7159475a2c29b7443b29c7fa6e889d90260801c5b6110008216156114d6576fd097f3bdfd2022b8845ad8f792aa58250260801c5b6120008216156114f6576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615611516576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615611536576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615611557576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b62020000821615611577576e5d6af8dedb81196699c329225ee6040260801c5b62040000821615611596576d2216e584f5fa1ea926041bedfe980260801c5b620800008216156115b3576b048a170391f7dc42444e8fa20260801c5b60008460020b13156115d45780600019816115d0576115d0611910565b0490505b6401000000008106156115e85760016115eb565b60005b60ff16602082901c0192505050919050565b60006001600160a01b03821660c08161161681876118f9565b61162091906118f9565b901c949350505050565b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb906044016020604051808303816000875af1158015611679573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061169d9190611d6d565b610d635760405162461bcd60e51b815260206004820152600f60248201526e1514905394d1915497d19052531151608a1b6044820152606401610577565b6001600160a01b03811681146116f057600080fd5b50565b60008060008060006080868803121561170b57600080fd5b8535611716816116db565b94506020860135611726816116db565b935060408601359250606086013567ffffffffffffffff8082111561174a57600080fd5b818801915088601f83011261175e57600080fd5b81358181111561176d57600080fd5b89602082850101111561177f57600080fd5b9699959850939650602001949392505050565b600080602083850312156117a557600080fd5b823567ffffffffffffffff808211156117bd57600080fd5b818501915085601f8301126117d157600080fd5b8135818111156117e057600080fd5b8660208260051b85010111156117f557600080fd5b60209290920196919550909350505050565b60006020828403121561181957600080fd5b5035919050565b6020808252825182820181905260009190848201906040850190845b818110156118585783518352928401929184019160010161183c565b50909695505050505050565b60008060006060848603121561187957600080fd5b8335611884816116db565b92506020840135611894816116db565b929592945050506040919091013590565b6000602082840312156118b757600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b600282810b9082900b03627fffff198112627fffff821317156112ab576112ab6118be565b80820281158282048414176112ab576112ab6118be565b634e487b7160e01b600052601260045260246000fd5b60008261193557611935611910565b500490565b808201808211156112ab576112ab6118be565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600060018201611998576119986118be565b5060010190565b6020808252825482820181905260008481528281209092916040850190845b81811015611858578354835260019384019392850192016119be565b818103818111156112ab576112ab6118be565b805161ffff811681146119ff57600080fd5b919050565b805180151581146119ff57600080fd5b600080600080600080600060e0888a031215611a2f57600080fd5b8751611a3a816116db565b8097505060208801518060020b8114611a5257600080fd5b9550611a60604089016119ed565b9450611a6e606089016119ed565b9350611a7c608089016119ed565b925060a088015160ff81168114611a9257600080fd5b9150611aa060c08901611a04565b905092959891949750929550565b634e487b7160e01b600052604160045260246000fd5b6020808252825182820181905260009190848201906040850190845b8181101561185857835163ffffffff1683529284019291840191600101611ae0565b604051601f8201601f1916810167ffffffffffffffff81118282101715611b2b57611b2b611aae565b604052919050565b600067ffffffffffffffff821115611b4d57611b4d611aae565b5060051b60200190565b600082601f830112611b6857600080fd5b81516020611b7d611b7883611b33565b611b02565b82815260059290921b84018101918181019086841115611b9c57600080fd5b8286015b84811015611bc0578051611bb3816116db565b8352918301918301611ba0565b509695505050505050565b60008060408385031215611bde57600080fd5b825167ffffffffffffffff80821115611bf657600080fd5b818501915085601f830112611c0a57600080fd5b81516020611c1a611b7883611b33565b82815260059290921b84018101918181019089841115611c3957600080fd5b948201945b83861015611c675785518060060b8114611c585760008081fd5b82529482019490820190611c3e565b91880151919650909350505080821115611c8057600080fd5b50611c8d85828601611b57565b9150509250929050565b600682810b9082900b03667fffffffffffff198112667fffffffffffff821317156112ab576112ab6118be565b60008160060b8360060b80611cdb57611cdb611910565b667fffffffffffff19821460001982141615611cf957611cf96118be565b90059392505050565b60008260060b80611d1557611d15611910565b808360060b0791505092915050565b60008160060b667fffffffffffff198103611d4157611d416118be565b6000190192915050565b60008160020b627fffff198103611d6457611d646118be565b60000392915050565b600060208284031215611d7f57600080fd5b611d8882611a04565b939250505056fea2646970667358221220930c8f6b2650ed6b839ebf7a3411f56450e041e9ad7bd788f78c025b8cc025a764736f6c63430008140033000000000000000000000000000000000000000000000000016345785d8a0000
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101725760003560e01c8063715018a6116100de5780638da5cb5b11610097578063bfba2ffa11610071578063bfba2ffa146103d5578063d294f093146103f2578063dd1b9c4a146103fa578063f3539f5b1461041757600080fd5b80638da5cb5b14610394578063adafb40e146103a7578063b2118a8d146103c257600080fd5b8063715018a614610325578063741f43b71461032d5780637535d24614610336578063783028a9146103515780637df325e11461035a5780638691bb5c1461036d57600080fd5b806333dd439f1161013057806333dd439f14610231578063368060ff1461027e578063411557d1146102b3578063417419c4146102ce57806359f613a4146102e957806367f718a91461031057600080fd5b8062113e081461017757806301f3ff3f14610199578063030a5a75146101b5578063150b7a02146101bf578063263419b1146101eb57806332fe7b26146101fe575b600080fd5b61017f610420565b604080519283526020830191909152015b60405180910390f35b6101a261251c81565b60405161ffff9091168152602001610190565b6101bd61053d565b005b6101d26101cd3660046116f3565b6109b4565b6040516001600160e01b03199091168152602001610190565b6101bd6101f9366004611792565b610a1d565b610219736d99e7f6747af2cdbb5164b6dd50e40d4fde1e7781565b6040516001600160a01b039091168152602001610190565b61024461023f366004611807565b610ad2565b60408051600297880b815295870b60208701529390950b9284019290925215156060830152608082015260a081019190915260c001610190565b6102a57f000000000000000000000000000000000000000000000000016345785d8a000081565b604051908152602001610190565b61021973744c89b7b7f8cb1e955b1dcd842a5378d75c96dc81565b61021973555555555555555555555555555555555555555581565b6102197f000000000000000000000000555555555555555555555555555555555555555581565b610318610b3c565b6040516101909190611820565b6101bd610b94565b6101a26101f481565b61021973f1085dec2b534c09cc56cd0a38816b4ac5df004f81565b61021961dead81565b6101bd610368366004611864565b610c10565b6102197f000000000000000000000000c53ac24320e3a54c7211e4993c8095078a0cb3cf81565b600054610219906001600160a01b031681565b61021973c53ac24320e3a54c7211e4993c8095078a0cb3cf81565b6101bd6103d0366004611864565b610ce6565b6103dd607881565b60405163ffffffff9091168152602001610190565b6101bd610d68565b61040361271081565b60405162ffffff9091168152602001610190565b6102a560015481565b6040516370a0823160e01b815230600482015260009081906001600160a01b037f000000000000000000000000555555555555555555555555555555555555555516906370a0823190602401602060405180830381865afa158015610489573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ad91906118a5565b6040516370a0823160e01b81523060048201527f000000000000000000000000c53ac24320e3a54c7211e4993c8095078a0cb3cf6001600160a01b0316906370a0823190602401602060405180830381865afa158015610511573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061053591906118a5565b915091509091565b6003546001146105805760405162461bcd60e51b815260206004820152600960248201526814915153951490539560ba1b60448201526064015b60405180910390fd5b60026003556040516370a0823160e01b81523060048201526000907f00000000000000000000000055555555555555555555555555555555555555556001600160a01b0316906370a0823190602401602060405180830381865afa1580156105ec573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061091906118a5565b90507f000000000000000000000000000000000000000000000000016345785d8a00008110156106725760405162461bcd60e51b815260206004820152600d60248201526c57485950455f544f4f5f4c4f5760981b6044820152606401610577565b60008061067d61109c565b90925090506101f48061069861069385856118d4565b611290565b60020b13156106db5760405162461bcd60e51b815260206004820152600f60248201526e282924a1a2afa222ab24a0aa24a7a760891b6044820152606401610577565b60006106ef856106ea866112b1565b6115fd565b9050600061271061070261251c846118f9565b61070c9190611926565b6040805160e081018252735555555555555555555555555555555555555555815273c53ac24320e3a54c7211e4993c8095078a0cb3cf6020820152612710918101919091523060608201526080810188905260a08101829052909150600090736d99e7f6747af2cdbb5164b6dd50e40d4fde1e77906304e45aaf9060c0810161079d610798898c6118d4565b6112b1565b6001600160a01b03908116909152604080516001600160e01b031960e086901b1681528351831660048201526020840151831660248201529083015162ffffff1660448201526060830151821660648201526080830151608482015260a083015160a482015260c0909201511660c482015260e4016020604051808303816000875af1158015610831573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085591906118a5565b60408051898152602081018390529192507f19e358413b77c4e90878dfd18da749fa4208a97d4bbd4598d699d6ba1b57fa70910160405180910390a16040516370a0823160e01b81523060048201526000907f000000000000000000000000c53ac24320e3a54c7211e4993c8095078a0cb3cf6001600160a01b0316906370a0823190602401602060405180830381865afa1580156108f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091c91906118a5565b905080156109a55761095a6001600160a01b037f000000000000000000000000c53ac24320e3a54c7211e4993c8095078a0cb3cf1661dead8361162a565b806001600082825461096c919061193a565b90915550506040518181527fd83c63197e8e676d80ab0122beba9a9d20f3828839e9a1d6fe81d242e9cd7e6e9060200160405180910390a15b50506001600355505050505050565b60003373744c89b7b7f8cb1e955b1dcd842a5378d75c96dc14610a0b5760405162461bcd60e51b815260206004820152600f60248201526e4f4e4c595f5641554c545f4e46545360881b6044820152606401610577565b50630a85bd0160e11b95945050505050565b6000546001600160a01b03163314610a475760405162461bcd60e51b81526004016105779061194d565b60005b81811015610a9a576002838383818110610a6657610a66611970565b8354600181018555600094855260209485902091909402929092013591909201555080610a9281611986565b915050610a4a565b506040518181527f7247f028e577c687a75b49f54ee5633b43ee226bb2de4f3e5b36de48d1cd0cf59060200160405180910390a15050565b600080600080600080610ae361109c565b96509450610af461069386886118d4565b93506101f4600285900b131592508615610b3357610b15876106ea876112b1565b9150612710610b2661251c846118f9565b610b309190611926565b90505b91939550919395565b60606002805480602002602001604051908101604052809291908181526020018280548015610b8a57602002820191906000526020600020905b815481526020019060010190808311610b76575b5050505050905090565b6000546001600160a01b03163314610bbe5760405162461bcd60e51b81526004016105779061194d565b6000546040516001600160a01b0390911681527ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c648209060200160405180910390a1600080546001600160a01b0319169055565b6000546001600160a01b03163314610c3a5760405162461bcd60e51b81526004016105779061194d565b6001600160a01b038216610c795760405162461bcd60e51b81526020600482015260066024820152654241445f544f60d01b6044820152606401610577565b604051632142170760e11b81523060048201526001600160a01b038381166024830152604482018390528416906342842e0e90606401600060405180830381600087803b158015610cc957600080fd5b505af1158015610cdd573d6000803e3d6000fd5b50505050505050565b6000546001600160a01b03163314610d105760405162461bcd60e51b81526004016105779061194d565b6001600160a01b038216610d4f5760405162461bcd60e51b81526020600482015260066024820152654241445f544f60d01b6044820152606401610577565b610d636001600160a01b038416838361162a565b505050565b600354600114610da65760405162461bcd60e51b815260206004820152600960248201526814915153951490539560ba1b6044820152606401610577565b60026003556040516370a0823160e01b81523060048201526000907f00000000000000000000000055555555555555555555555555555555555555556001600160a01b0316906370a0823190602401602060405180830381865afa158015610e12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3691906118a5565b6040516370a0823160e01b81523060048201529091506000906001600160a01b037f000000000000000000000000c53ac24320e3a54c7211e4993c8095078a0cb3cf16906370a0823190602401602060405180830381865afa158015610ea0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec491906118a5565b60405163e34f0e9960e01b815290915073744c89b7b7f8cb1e955b1dcd842a5378d75c96dc9063e34f0e9990610eff9060029060040161199f565b600060405180830381600087803b158015610f1957600080fd5b505af1158015610f2d573d6000803e3d6000fd5b50506040516370a0823160e01b81523060048201527fa1f87f32d0f17fab0242ca800d736293de8988c14b27747e218cf13d5c249f5392508491506001600160a01b037f000000000000000000000000555555555555555555555555555555555555555516906370a0823190602401602060405180830381865afa158015610fb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fdd91906118a5565b610fe791906119da565b6040516370a0823160e01b815230600482015283907f000000000000000000000000c53ac24320e3a54c7211e4993c8095078a0cb3cf6001600160a01b0316906370a0823190602401602060405180830381865afa15801561104d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107191906118a5565b61107b91906119da565b6040805192835260208301919091520160405180910390a150506001600355565b60008073f1085dec2b534c09cc56cd0a38816b4ac5df004f6001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e060405180830381865afa1580156110f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111159190611a14565b50939550600094506002935061112a92505050565b604051908082528060200260200182016040528015611153578160200160208202803683370190505b50905060788160008151811061116b5761116b611970565b63ffffffff9092166020928302919091019091015260405163883bdbfd60e01b815260009073f1085dec2b534c09cc56cd0a38816b4ac5df004f9063883bdbfd906111ba908590600401611ac4565b600060405180830381865afa1580156111d7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111ff9190810190611bcb565b50905060008160008151811061121757611217611970565b60200260200101518260018151811061123257611232611970565b60200260200101516112449190611c97565b90506000611253607883611cc4565b905060008260060b128015611274575061126e607883611d02565b60060b15155b15611287578061128381611d24565b9150505b95939450505050565b6000808260020b126112a257816112ab565b6112ab82611d4b565b92915050565b6000620d89e7198260020b121580156112d05750620d89e88260020b13155b6113005760405162461bcd60e51b81526020600482015260016024820152601560fa1b6044820152606401610577565b6000808360020b12611315578260020b61131d565b8260020b6000035b905060008160011660000361133657600160801b611348565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff169050600282161561137c576ffff97272373d413259a46990580e213a0260801c5b600482161561139b576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b60088216156113ba576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b60108216156113d9576fffcb9843d60f6159c9db58835c9266440260801c5b60208216156113f8576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615611417576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615611436576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615611456576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615611476576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615611496576ff3392b0822b70005940c7a398e4b70f30260801c5b6108008216156114b6576fe7159475a2c29b7443b29c7fa6e889d90260801c5b6110008216156114d6576fd097f3bdfd2022b8845ad8f792aa58250260801c5b6120008216156114f6576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615611516576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615611536576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615611557576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b62020000821615611577576e5d6af8dedb81196699c329225ee6040260801c5b62040000821615611596576d2216e584f5fa1ea926041bedfe980260801c5b620800008216156115b3576b048a170391f7dc42444e8fa20260801c5b60008460020b13156115d45780600019816115d0576115d0611910565b0490505b6401000000008106156115e85760016115eb565b60005b60ff16602082901c0192505050919050565b60006001600160a01b03821660c08161161681876118f9565b61162091906118f9565b901c949350505050565b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb906044016020604051808303816000875af1158015611679573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061169d9190611d6d565b610d635760405162461bcd60e51b815260206004820152600f60248201526e1514905394d1915497d19052531151608a1b6044820152606401610577565b6001600160a01b03811681146116f057600080fd5b50565b60008060008060006080868803121561170b57600080fd5b8535611716816116db565b94506020860135611726816116db565b935060408601359250606086013567ffffffffffffffff8082111561174a57600080fd5b818801915088601f83011261175e57600080fd5b81358181111561176d57600080fd5b89602082850101111561177f57600080fd5b9699959850939650602001949392505050565b600080602083850312156117a557600080fd5b823567ffffffffffffffff808211156117bd57600080fd5b818501915085601f8301126117d157600080fd5b8135818111156117e057600080fd5b8660208260051b85010111156117f557600080fd5b60209290920196919550909350505050565b60006020828403121561181957600080fd5b5035919050565b6020808252825182820181905260009190848201906040850190845b818110156118585783518352928401929184019160010161183c565b50909695505050505050565b60008060006060848603121561187957600080fd5b8335611884816116db565b92506020840135611894816116db565b929592945050506040919091013590565b6000602082840312156118b757600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b600282810b9082900b03627fffff198112627fffff821317156112ab576112ab6118be565b80820281158282048414176112ab576112ab6118be565b634e487b7160e01b600052601260045260246000fd5b60008261193557611935611910565b500490565b808201808211156112ab576112ab6118be565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600060018201611998576119986118be565b5060010190565b6020808252825482820181905260008481528281209092916040850190845b81811015611858578354835260019384019392850192016119be565b818103818111156112ab576112ab6118be565b805161ffff811681146119ff57600080fd5b919050565b805180151581146119ff57600080fd5b600080600080600080600060e0888a031215611a2f57600080fd5b8751611a3a816116db565b8097505060208801518060020b8114611a5257600080fd5b9550611a60604089016119ed565b9450611a6e606089016119ed565b9350611a7c608089016119ed565b925060a088015160ff81168114611a9257600080fd5b9150611aa060c08901611a04565b905092959891949750929550565b634e487b7160e01b600052604160045260246000fd5b6020808252825182820181905260009190848201906040850190845b8181101561185857835163ffffffff1683529284019291840191600101611ae0565b604051601f8201601f1916810167ffffffffffffffff81118282101715611b2b57611b2b611aae565b604052919050565b600067ffffffffffffffff821115611b4d57611b4d611aae565b5060051b60200190565b600082601f830112611b6857600080fd5b81516020611b7d611b7883611b33565b611b02565b82815260059290921b84018101918181019086841115611b9c57600080fd5b8286015b84811015611bc0578051611bb3816116db565b8352918301918301611ba0565b509695505050505050565b60008060408385031215611bde57600080fd5b825167ffffffffffffffff80821115611bf657600080fd5b818501915085601f830112611c0a57600080fd5b81516020611c1a611b7883611b33565b82815260059290921b84018101918181019089841115611c3957600080fd5b948201945b83861015611c675785518060060b8114611c585760008081fd5b82529482019490820190611c3e565b91880151919650909350505080821115611c8057600080fd5b50611c8d85828601611b57565b9150509250929050565b600682810b9082900b03667fffffffffffff198112667fffffffffffff821317156112ab576112ab6118be565b60008160060b8360060b80611cdb57611cdb611910565b667fffffffffffff19821460001982141615611cf957611cf96118be565b90059392505050565b60008260060b80611d1557611d15611910565b808360060b0791505092915050565b60008160060b667fffffffffffff198103611d4157611d416118be565b6000190192915050565b60008160020b627fffff198103611d6457611d646118be565b60000392915050565b600060208284031215611d7f57600080fd5b611d8882611a04565b939250505056fea2646970667358221220930c8f6b2650ed6b839ebf7a3411f56450e041e9ad7bd788f78c025b8cc025a764736f6c63430008140033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000016345785d8a0000
-----Decoded View---------------
Arg [0] : _minWhypeToSwap (uint256): 100000000000000000
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000000000000000000000000000016345785d8a0000
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in HYPE
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.