More Info
Private Name Tags
ContractCreator
TokenTracker
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Loading...
Loading
Contract Name:
Token
Compiler Version
v0.8.19+commit.7dd6d404
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity 0.8.19;import "@openzeppelin/contracts/token/ERC20/ERC20.sol";import "@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol";import { IEntropyConsumer } from "@pythnetwork/entropy-sdk-solidity/IEntropyConsumer.sol";import { IEntropy } from "@pythnetwork/entropy-sdk-solidity/IEntropy.sol";import { INonfungiblePositionManager } from "./interfaces/uniswap/INonfungiblePositionManager.sol";import { IUniswapV3Pool } from "./interfaces/uniswap/IUniswapV3Pool.sol";import { TransferHelper } from "./libraries/TransferHelper.sol";import { TickMath } from "./vendor0.8/uniswap/TickMath.sol";import { FullMath } from "./vendor0.8/uniswap/FullMath.sol";contract Token is IEntropyConsumer, ERC20, ERC721Holder {using TransferHelper for address;uint32 public constant TWAP_DURATION = 10 minutes;uint256 public constant TWAP_DEVIATION = 300; // 3%uint256 public constant BP = 10_000;uint256 public constant EMERGENCY_PUMP_INTERVAL = 60 days;uint256 public immutable pumpInterval;uint256 public immutable pumpBPS;IEntropy immutable entropy;
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.9.0) (token/ERC20/ERC20.sol)pragma solidity ^0.8.0;import "./IERC20.sol";import "./extensions/IERC20Metadata.sol";import "../../utils/Context.sol";/*** @dev Implementation of the {IERC20} interface.** This implementation is agnostic to the way tokens are created. This means* that a supply mechanism has to be added in a derived contract using {_mint}.* For a generic mechanism see {ERC20PresetMinterPauser}.** TIP: For a detailed writeup see our guide* https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How* to implement supply mechanisms].** The default value of {decimals} is 18. To change this, you should override* this function so it returns a different value.** We have followed general OpenZeppelin Contracts guidelines: functions revert* instead returning `false` on failure. This behavior is nonetheless* conventional and does not conflict with the expectations of ERC20
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts v4.4.1 (token/ERC20/extensions/IERC20Metadata.sol)pragma solidity ^0.8.0;import "../IERC20.sol";/*** @dev Interface for the optional metadata functions from the ERC20 standard.** _Available since v4.1._*/interface IERC20Metadata is IERC20 {/*** @dev Returns the name of the token.*/function name() external view returns (string memory);/*** @dev Returns the symbol of the token.*/function symbol() external view returns (string memory);/*** @dev Returns the decimals places of the token.*/
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.9.0) (token/ERC20/IERC20.sol)pragma solidity ^0.8.0;/*** @dev Interface of the ERC20 standard as defined in the EIP.*/interface IERC20 {/*** @dev Emitted when `value` tokens are moved from one account (`from`) to* another (`to`).** Note that `value` may be zero.*/event Transfer(address indexed from, address indexed to, uint256 value);/*** @dev Emitted when the allowance of a `spender` for an `owner` is set by* a call to {approve}. `value` is the new allowance.*/event Approval(address indexed owner, address indexed spender, uint256 value);/*** @dev Returns the amount of tokens in existence.*/
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.6.0) (token/ERC721/IERC721Receiver.sol)pragma solidity ^0.8.0;/*** @title ERC721 token receiver interface* @dev Interface for any contract that wants to support safeTransfers* from ERC721 asset contracts.*/interface IERC721Receiver {/*** @dev Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom}* by `operator` from `from`, this function is called.** It must return its Solidity selector to confirm the token transfer.* If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted.** The selector can be obtained in Solidity with `IERC721Receiver.onERC721Received.selector`.*/function onERC721Received(address operator,address from,uint256 tokenId,bytes calldata data) external returns (bytes4);
1234567891011121314151617181920212223// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.9.0) (token/ERC721/utils/ERC721Holder.sol)pragma solidity ^0.8.0;import "../IERC721Receiver.sol";/*** @dev Implementation of the {IERC721Receiver} interface.** Accepts all token transfers.* Make sure the contract is able to use its token with {IERC721-safeTransferFrom}, {IERC721-approve} or {IERC721-setApprovalForAll}.*/contract ERC721Holder is IERC721Receiver {/*** @dev See {IERC721Receiver-onERC721Received}.** Always returns `IERC721Receiver.onERC721Received.selector`.*/function onERC721Received(address, address, uint256, bytes memory) public virtual override returns (bytes4) {return this.onERC721Received.selector;}}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.9.4) (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;}function _contextSuffixLength() internal view virtual returns (uint256) {return 0;
1234567891011121314151617181920212223242526// SPDX-License-Identifier: Apache-2.0pragma solidity ^0.8.0;import "./EntropyStructs.sol";interface EntropyEvents {event Registered(EntropyStructs.ProviderInfo provider);event Requested(EntropyStructs.Request request);event RequestedWithCallback(address indexed provider,address indexed requestor,uint64 indexed sequenceNumber,bytes32 userRandomNumber,EntropyStructs.Request request);event Revealed(EntropyStructs.Request request,bytes32 userRevelation,bytes32 providerRevelation,bytes32 blockHash,bytes32 randomNumber);event RevealedWithCallback(EntropyStructs.Request request,
1234567891011121314151617181920212223242526// SPDX-License-Identifier: Apache 2pragma solidity ^0.8.0;contract EntropyStructs {struct ProviderInfo {uint128 feeInWei;uint128 accruedFeesInWei;// The commitment that the provider posted to the blockchain, and the sequence number// where they committed to this. This value is not advanced after the provider commits,// and instead is stored to help providers track where they are in the hash chain.bytes32 originalCommitment;uint64 originalCommitmentSequenceNumber;// Metadata for the current commitment. Providers may optionally use this field to help// manage rotations (i.e., to pick the sequence number from the correct hash chain).bytes commitmentMetadata;// Optional URI where clients can retrieve revelations for the provider.// Client SDKs can use this field to automatically determine how to retrieve random values for each provider.// TODO: specify the API that must be implemented at this URIbytes uri;// The first sequence number that is *not* included in the current commitment (i.e., an exclusive end index).// The contract maintains the invariant that sequenceNumber <= endSequenceNumber.// If sequenceNumber == endSequenceNumber, the provider must rotate their commitment to add additional random values.uint64 endSequenceNumber;// The sequence number that will be assigned to the next inbound user request.uint64 sequenceNumber;
1234567891011121314151617181920212223242526// SPDX-License-Identifier: Apache 2pragma solidity ^0.8.0;import "./EntropyEvents.sol";interface IEntropy is EntropyEvents {// Register msg.sender as a randomness provider. The arguments are the provider's configuration parameters// and initial commitment. Re-registering the same provider rotates the provider's commitment (and updates// the feeInWei).//// chainLength is the number of values in the hash chain *including* the commitment, that is, chainLength >= 1.function register(uint128 feeInWei,bytes32 commitment,bytes calldata commitmentMetadata,uint64 chainLength,bytes calldata uri) external;// Withdraw a portion of the accumulated fees for the provider msg.sender.// Calling this function will transfer `amount` wei to the caller (provided that they have accrued a sufficient// balance of fees in the contract).function withdraw(uint128 amount) external;// Withdraw a portion of the accumulated fees for provider. The msg.sender must be the fee manager for this provider.// Calling this function will transfer `amount` wei to the caller (provided that they have accrued a sufficient
1234567891011121314151617181920212223242526// SPDX-License-Identifier: Apache 2pragma solidity ^0.8.0;abstract contract IEntropyConsumer {// This method is called by Entropy to provide the random number to the consumer.// It asserts that the msg.sender is the Entropy contract. It is not meant to be// override by the consumer.function _entropyCallback(uint64 sequence,address provider,bytes32 randomNumber) external {address entropy = getEntropy();require(entropy != address(0), "Entropy address not set");require(msg.sender == entropy, "Only Entropy can call this function");entropyCallback(sequence, provider, randomNumber);}// getEntropy returns Entropy contract address. The method is being used to check that the// callback is indeed from Entropy contract. The consumer is expected to implement this method.// Entropy address can be found here - https://docs.pyth.network/entropy/contract-addressesfunction getEntropy() internal view virtual returns (address);// This method is expected to be implemented by the consumer to handle the random number.// It will be called by _entropyCallback after _entropyCallback ensures that the call is
1234567891011121314151617181920212223242526// SPDX-License-Identifier: GPL-2.0-or-laterpragma solidity ^0.8.0;interface INonfungiblePositionManager {/// @notice Returns the position information associated with a given token ID./// @dev Throws if the token ID is not valid./// @param tokenId The ID of the token that represents the position/// @return nonce The nonce for permits/// @return operator The address that is approved for spending/// @return token0 The address of the token0 for a specific pool/// @return token1 The address of the token1 for a specific pool/// @return fee The fee associated with the pool/// @return tickLower The lower end of the tick range for the position/// @return tickUpper The higher end of the tick range for the position/// @return liquidity The liquidity of the position/// @return feeGrowthInside0LastX128 The fee growth of token0 as of the last action on the individual position/// @return feeGrowthInside1LastX128 The fee growth of token1 as of the last action on the individual position/// @return tokensOwed0 The uncollected amount of token0 owed to the position as of the last computation/// @return tokensOwed1 The uncollected amount of token1 owed to the position as of the last computationfunction positions(uint256 tokenId)externalviewreturns (uint96 nonce,
1234567891011121314151617181920212223242526// SPDX-License-Identifier: GPL-2.0-or-laterpragma solidity >=0.5.0;import {IUniswapV3PoolImmutables} from './pool/IUniswapV3PoolImmutables.sol';import {IUniswapV3PoolState} from './pool/IUniswapV3PoolState.sol';import {IUniswapV3PoolDerivedState} from './pool/IUniswapV3PoolDerivedState.sol';import {IUniswapV3PoolActions} from './pool/IUniswapV3PoolActions.sol';import {IUniswapV3PoolOwnerActions} from './pool/IUniswapV3PoolOwnerActions.sol';import {IUniswapV3PoolErrors} from './pool/IUniswapV3PoolErrors.sol';import {IUniswapV3PoolEvents} from './pool/IUniswapV3PoolEvents.sol';/// @title The interface for a Uniswap V3 Pool/// @notice A Uniswap pool facilitates swapping and automated market making between any two assets that strictly conform/// to the ERC20 specification/// @dev The pool interface is broken up into many smaller piecesinterface IUniswapV3Pool isIUniswapV3PoolImmutables,IUniswapV3PoolState,IUniswapV3PoolDerivedState,IUniswapV3PoolActions,IUniswapV3PoolOwnerActions,IUniswapV3PoolErrors,IUniswapV3PoolEvents{}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: GPL-2.0-or-laterpragma solidity >=0.5.0;/// @title Permissionless pool actions/// @notice Contains pool methods that can be called by anyoneinterface IUniswapV3PoolActions {/// @notice Sets the initial price for the pool/// @dev Price is represented as a sqrt(amountToken1/amountToken0) Q64.96 value/// @param sqrtPriceX96 the initial sqrt price of the pool as a Q64.96function initialize(uint160 sqrtPriceX96) external;/// @notice Adds liquidity for the given recipient/tickLower/tickUpper position/// @dev The caller of this method receives a callback in the form of IUniswapV3MintCallback#uniswapV3MintCallback/// in which they must pay any token0 or token1 owed for the liquidity. The amount of token0/token1 due depends/// on tickLower, tickUpper, the amount of liquidity, and the current price./// @param recipient The address for which the liquidity will be created/// @param tickLower The lower tick of the position in which to add liquidity/// @param tickUpper The upper tick of the position in which to add liquidity/// @param amount The amount of liquidity to mint/// @param data Any data that should be passed through to the callback/// @return amount0 The amount of token0 that was paid to mint the given amount of liquidity. Matches the value in the callback/// @return amount1 The amount of token1 that was paid to mint the given amount of liquidity. Matches the value in the callbackfunction mint(address recipient,int24 tickLower,int24 tickUpper,
1234567891011121314151617181920212223242526// SPDX-License-Identifier: GPL-2.0-or-laterpragma solidity >=0.5.0;/// @title Pool state that is not stored/// @notice Contains view functions to provide information about the pool that is computed rather than stored on the/// blockchain. The functions here may have variable gas costs.interface IUniswapV3PoolDerivedState {/// @notice Returns the cumulative tick and liquidity as of each timestamp `secondsAgo` from the current block timestamp/// @dev To get a time weighted average tick or liquidity-in-range, you must call this with two values, one representing/// the beginning of the period and another for the end of the period. E.g., to get the last hour time-weighted average tick,/// you must call it with secondsAgos = [3600, 0]./// @dev The time weighted average tick represents the geometric time weighted average price of the pool, in/// log base sqrt(1.0001) of token1 / token0. The TickMath library can be used to go from a tick value to a ratio./// @param secondsAgos From how long ago each cumulative tick and liquidity value should be returned/// @return tickCumulatives Cumulative tick values as of each `secondsAgos` from the current block timestamp/// @return secondsPerLiquidityCumulativeX128s Cumulative seconds per liquidity-in-range value as of each `secondsAgos` from the current block/// timestampfunction observe(uint32[] calldata secondsAgos)externalviewreturns (int56[] memory tickCumulatives, uint160[] memory secondsPerLiquidityCumulativeX128s);/// @notice Returns a snapshot of the tick cumulative, seconds per liquidity and seconds inside a tick range/// @dev Snapshots must only be compared to other snapshots, taken over a period for which a position existed./// I.e., snapshots cannot be compared if a position is not held for the entire period between when the first/// snapshot is taken and the second snapshot is taken.
12345678910111213141516171819// SPDX-License-Identifier: GPL-2.0-or-laterpragma solidity >=0.5.0;/// @title Errors emitted by a pool/// @notice Contains all events emitted by the poolinterface IUniswapV3PoolErrors {error LOK();error TLU();error TLM();error TUM();error AI();error M0();error M1();error AS();error IIA();error L();error F0();error F1();}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: GPL-2.0-or-laterpragma solidity >=0.5.0;/// @title Events emitted by a pool/// @notice Contains all events emitted by the poolinterface IUniswapV3PoolEvents {/// @notice Emitted exactly once by a pool when #initialize is first called on the pool/// @dev Mint/Burn/Swap cannot be emitted by the pool before Initialize/// @param sqrtPriceX96 The initial sqrt price of the pool, as a Q64.96/// @param tick The initial tick of the pool, i.e. log base 1.0001 of the starting price of the poolevent Initialize(uint160 sqrtPriceX96, int24 tick);/// @notice Emitted when liquidity is minted for a given position/// @param sender The address that minted the liquidity/// @param owner The owner of the position and recipient of any minted liquidity/// @param tickLower The lower tick of the position/// @param tickUpper The upper tick of the position/// @param amount The amount of liquidity minted to the position range/// @param amount0 How much token0 was required for the minted liquidity/// @param amount1 How much token1 was required for the minted liquidityevent Mint(address sender,address indexed owner,int24 indexed tickLower,int24 indexed tickUpper,uint128 amount,
1234567891011121314151617181920212223242526// SPDX-License-Identifier: GPL-2.0-or-laterpragma solidity >=0.5.0;/// @title Pool state that never changes/// @notice These parameters are fixed for a pool forever, i.e., the methods will always return the same valuesinterface IUniswapV3PoolImmutables {/// @notice The contract that deployed the pool, which must adhere to the IUniswapV3Factory interface/// @return The contract addressfunction factory() external view returns (address);/// @notice The first of the two tokens of the pool, sorted by address/// @return The token contract addressfunction token0() external view returns (address);/// @notice The second of the two tokens of the pool, sorted by address/// @return The token contract addressfunction token1() external view returns (address);/// @notice The pool's fee in hundredths of a bip, i.e. 1e-6/// @return The feefunction fee() external view returns (uint24);/// @notice The pool tick spacing/// @dev Ticks can only be used at multiples of this value, minimum of 1 and always positive/// e.g.: a tickSpacing of 3 means ticks can be initialized every 3rd tick, i.e., ..., -6, -3, 0, 3, 6, .../// This value is an int24 to avoid casting even though it is always positive.
1234567891011121314151617181920212223// SPDX-License-Identifier: GPL-2.0-or-laterpragma solidity >=0.5.0;/// @title Permissioned pool actions/// @notice Contains pool methods that may only be called by the factory ownerinterface IUniswapV3PoolOwnerActions {/// @notice Set the denominator of the protocol's % share of the fees/// @param feeProtocol0 new protocol fee for token0 of the pool/// @param feeProtocol1 new protocol fee for token1 of the poolfunction setFeeProtocol(uint8 feeProtocol0, uint8 feeProtocol1) external;/// @notice Collect the protocol fee accrued to the pool/// @param recipient The address to which collected protocol fees should be sent/// @param amount0Requested The maximum amount of token0 to send, can be 0 to collect fees in only token1/// @param amount1Requested The maximum amount of token1 to send, can be 0 to collect fees in only token0/// @return amount0 The protocol fee collected in token0/// @return amount1 The protocol fee collected in token1function collectProtocol(address recipient,uint128 amount0Requested,uint128 amount1Requested) external returns (uint128 amount0, uint128 amount1);}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: GPL-2.0-or-laterpragma solidity >=0.5.0;/// @title Pool state that can change/// @notice These methods compose the pool's state, and can change with any frequency including multiple times/// per transactioninterface IUniswapV3PoolState {/// @notice The 0th storage slot in the pool stores many values, and is exposed as a single method to save gas/// when accessed externally./// @return sqrtPriceX96 The current price of the pool as a sqrt(token1/token0) Q64.96 value/// @return tick The current tick of the pool, i.e. according to the last tick transition that was run./// This value may not always be equal to SqrtTickMath.getTickAtSqrtRatio(sqrtPriceX96) if the price is on a tick/// boundary./// @return observationIndex The index of the last oracle observation that was written,/// @return observationCardinality The current maximum number of observations stored in the pool,/// @return observationCardinalityNext The next maximum number of observations, to be updated when the observation./// @return feeProtocol The protocol fee for both tokens of the pool./// Encoded as two 4 bit values, where the protocol fee of token1 is shifted 4 bits and the protocol fee of token0/// is the lower 4 bits. Used as the denominator of a fraction of the swap fee, e.g. 4 means 1/4th of the swap fee./// unlocked Whether the pool is currently locked to reentrancyfunction slot0()externalviewreturns (uint160 sqrtPriceX96,int24 tick,
1234567891011121314151617181920212223242526// SPDX-License-Identifier: GPL-2.0-or-later// https://github.com/Uniswap/v3-periphery/blob/main/contracts/libraries/TransferHelper.solpragma solidity 0.8.19;import "@openzeppelin/contracts/token/ERC20/IERC20.sol";library TransferHelper {/// @notice Transfers tokens from the targeted address to the given destination/// @notice Errors with 'STF' if transfer fails/// @param token The contract address of the token to be transferred/// @param from The originating address from which the tokens will be transferred/// @param to The destination address of the transfer/// @param value The amount to be transferredfunction safeTransferFrom(address token, address from, address to, uint256 value) internal {(bool success, bytes memory data) = token.call(abi.encodeWithSelector(IERC20.transferFrom.selector, from, to, value));require(success && (data.length == 0 || abi.decode(data, (bool))), "BP-STF");}/// @notice Transfers tokens from msg.sender to a recipient/// @dev Errors with ST if transfer fails/// @param token The contract address of the token which will be transferred/// @param to The recipient of the transfer/// @param value The value of the transferfunction safeTransfer(address token, address to, uint256 value) internal {
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity 0.8.19;/// @title Contains 512-bit math functions/// @notice Facilitates multiplication and division that can have overflow of an intermediate value without any loss of precision/// @dev Handles "phantom overflow" i.e., allows multiplication and division where an intermediate value overflows 256 bitslibrary FullMath {/// @notice Calculates floor(a×b÷denominator) with full precision. Throws if result overflows a uint256 or denominator == 0/// @param a The multiplicand/// @param b The multiplier/// @param denominator The divisor/// @return result The 256-bit result/// @dev Credit to Remco Bloemen under MIT license https://xn--2-umb.com/21/muldivfunction mulDiv(uint256 a,uint256 b,uint256 denominator) internal pure returns (uint256 result) {unchecked {// 512-bit multiply [prod1 prod0] = a * b// Compute the product mod 2**256 and mod 2**256 - 1// then use the Chinese Remainder Theorem to reconstruct// the 512 bit result. The result is stored in two 256// variables such that product = prod1 * 2**256 + prod0uint256 prod0 = a * b; // Least significant 256 bits of the productuint256 prod1; // Most significant 256 bits of the product
1234567891011121314151617181920212223242526// SPDX-License-Identifier: GPL-2.0-or-laterpragma solidity 0.8.19;/// @title Math library for computing sqrt prices from ticks and vice versa/// @notice Computes sqrt price for ticks of size 1.0001, i.e. sqrt(1.0001^tick) as fixed point Q64.96 numbers. Supports/// prices between 2**-128 and 2**128library TickMath {/// @notice Thrown when the tick passed to #getSqrtRatioAtTick is not between MIN_TICK and MAX_TICKerror InvalidTick();/// @notice Thrown when the ratio passed to #getTickAtSqrtRatio does not correspond to a price between MIN_TICK and MAX_TICKerror InvalidSqrtRatio();/// @dev The minimum tick that may be passed to #getSqrtRatioAtTick computed from log base 1.0001 of 2**-128int24 internal constant MIN_TICK = -887272;/// @dev The maximum tick that may be passed to #getSqrtRatioAtTick computed from log base 1.0001 of 2**128int24 internal constant MAX_TICK = -MIN_TICK;/// @dev The minimum value that can be returned from #getSqrtRatioAtTick. Equivalent to getSqrtRatioAtTick(MIN_TICK)uint160 internal constant MIN_SQRT_RATIO = 4295128739;/// @dev The maximum value that can be returned from #getSqrtRatioAtTick. Equivalent to getSqrtRatioAtTick(MAX_TICK)uint160 internal constant MAX_SQRT_RATIO = 1461446703485210103287273052203988822378723970342;/// @notice Given a tickSpacing, compute the maximum usable tickfunction maxUsableTick(int24 tickSpacing) internal pure returns (int24) {unchecked {return (MAX_TICK / tickSpacing) * tickSpacing;
1234567891011121314151617181920212223{"viaIR": true,"optimizer": {"enabled": true,"runs": 200},"metadata": {"bytecodeHash": "none"},"outputSelection": {"*": {"*": ["evm.bytecode","evm.deployedBytecode","devdoc","userdoc","metadata","abi"]}},"libraries": {}}
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_entropyAddress","type":"address"},{"internalType":"address","name":"_coin","type":"address"},{"internalType":"address","name":"_positionManagerAddress","type":"address"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"uint256","name":"_pumpInterval","type":"uint256"},{"internalType":"uint256","name":"_pumpBPS","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"uint256","name":"sent","type":"uint256"},{"internalType":"uint256","name":"minimum","type":"uint256"}],"name":"AmountOfEthSentIsTooSmall","type":"error"},{"inputs":[],"name":"InvalidTick","type":"error"},{"inputs":[{"internalType":"uint256","name":"deviation","type":"uint256"}],"name":"PriceDeviationTooHigh","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"pampAmt","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"burnAmt","type":"uint256"}],"name":"Pump","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"},{"indexed":false,"internalType":"uint64","name":"requestId","type":"uint64"}],"name":"PumpEnabled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"requestId","type":"uint64"}],"name":"TryToEnablePump","type":"event"},{"inputs":[],"name":"BP","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"EMERGENCY_PUMP_INTERVAL","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TWAP_DEVIATION","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TWAP_DURATION","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"V3Deployer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"V3Pool","outputs":[{"internalType":"contract IUniswapV3Pool","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint64","name":"sequence","type":"uint64"},{"internalType":"address","name":"provider","type":"address"},{"internalType":"bytes32","name":"randomNumber","type":"bytes32"}],"name":"_entropyCallback","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"coin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"emergencyEnablePump","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getEntropyFee","outputs":[{"internalType":"address","name":"entropyProvider","type":"address"},{"internalType":"uint256","name":"fee","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"zeroForOne","type":"bool"},{"internalType":"address","name":"V3PoolAddress","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isTimeToEmergencyEnablePump","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isTimeToPump","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"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":[{"internalType":"uint64","name":"","type":"uint64"}],"name":"pendingRequestIds","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"posTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"positionManager","outputs":[{"internalType":"contract INonfungiblePositionManager","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pump","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"pumpBPS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pumpEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pumpInterval","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pumpLastTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_userRandomNumber","type":"bytes32"}],"name":"tryToEnablePump","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"int256","name":"amount0Delta","type":"int256"},{"internalType":"int256","name":"amount1Delta","type":"int256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"uniswapV3SwapCallback","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"zeroForTokenIn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
61014060405234620004005762002855803803806200001e8162000405565b92833981019060e08183031262000400576200003a816200042b565b916020916200004b8382016200042b565b936200005a604083016200042b565b606083015190946001600160401b039490918581116200040057816200008291860162000440565b9060808501519086821162000400576200009e91860162000440565b9460c060a086015195015195825182811162000300576003918254916001958684811c94168015620003f5575b88851014620003df578190601f9485811162000389575b508890858311600114620003225760009262000316575b505060001982861b1c191690861b1783555b8051938411620003005760049586548681811c91168015620002f5575b82821014620002e05783811162000295575b50809285116001146200022757509383949184926000956200021b575b50501b92600019911b1c19161790555b60018060a01b0380911660c052610100948552610120931683523360e05260805260a052604051906123a29283620004b384396080518381816104d90152818161073001528181610acb0152610d5f015260a0518381816109010152610ede015260c05183818161079a01528181610a6f0152611d8e015260e0518381816109f501528181610c8201526116320152518281816102b101528181610e9601526118280152518181816109570152610e3c0152f35b01519350388062000157565b92919084601f1981168860005285600020956000905b898383106200027a57505050106200025f575b50505050811b01905562000167565b01519060f884600019921b161c191690553880808062000250565b8587015189559097019694850194889350908101906200023d565b87600052816000208480880160051c820192848910620002d6575b0160051c019087905b828110620002c95750506200013a565b60008155018790620002b9565b92508192620002b0565b602288634e487b7160e01b6000525260246000fd5b90607f169062000128565b634e487b7160e01b600052604160045260246000fd5b015190503880620000f9565b90889350601f19831691876000528a6000209260005b8c82821062000372575050841162000359575b505050811b0183556200010b565b015160001983881b60f8161c191690553880806200034b565b8385015186558c9790950194938401930162000338565b90915085600052886000208580850160051c8201928b8610620003d5575b918a91869594930160051c01915b828110620003c5575050620000e2565b600081558594508a9101620003b5565b92508192620003a7565b634e487b7160e01b600052602260045260246000fd5b93607f1693620000cb565b600080fd5b6040519190601f01601f191682016001600160401b038111838210176200030057604052565b51906001600160a01b03821682036200040057565b919080601f84011215620004005782516001600160401b038111620003005760209062000476601f8201601f1916830162000405565b92818452828287010111620004005760005b8181106200049e57508260009394955001015290565b85810183015184820184015282016200048856fe608080604052600436101561001357600080fd5b60003560e01c90816306fdde03146118e1575080630780fc2a146118a2578063095ea7b31461187c5780630a1926321461185757806311df99951461181257806311ea5441146117e9578063150b7a021461175b57806318160ddd1461173d57806323b872dd1461167f57806325d4995e1461166157806325de60361461161c5780632d971e63146115e6578063313ce567146115ca5780633950935114611579578063395ea61b14610d8e57806339986e8114610d4457806340c10f1914610c565780634f590f0814610c3057806352a5f1f814610a4b57806353806ec7146109c057806370a0823114610986578063791b98bc14610941578063879ac8f8146109245780638a6af663146108e95780638c7b6e921461070357806395d89b41146105f15780639cfdbd5e146105d4578063a457c2d71461052d578063a9059cbb146104fc578063dce0e92b146104c1578063dd62ed3e14610470578063e3767dd61461044a578063e6dacb921461042d578063ebd2ee7b146103ba578063fa461e33146101f7578063fbd09a7c146101d95763fc1afd20146101b657600080fd5b346101d45760003660031901126101d4576020600654604051908152f35b600080fd5b346101d45760003660031901126101d4576020600754604051908152f35b346101d45760603660031901126101d457602460043581356044356001600160401b038082116101d457366023830112156101d45781600401359081116101d4573691018401116101d4576005546001600160a01b031633036103905760008213801580610385575b61035257600092839290911561034b57505b6040805163a9059cbb60e01b602080830191825233888401908152908101949094529290916102ac9183910103601f198101835282611a3e565b5190827f00000000000000000000000000000000000000000000000000000000000000005af16102da611f10565b81610314575b50156102e857005b60649060056040519162461bcd60e51b8352602060048401528201526410940b54d560da1b6044820152fd5b8051801592508215610329575b5050826102e0565b81925090602091810103126101d45760206103449101611eac565b8280610321565b9050610272565b60405162461bcd60e51b815260206004820152600c818601526b0696e76616c696420737761760a41b6044820152606490fd5b506000821315610260565b60405162461bcd60e51b81526020600482015260038185015262692d6360e81b6044820152606490fd5b346101d45760003660031901126101d4576103db6103d6611d27565b611d3c565b7f42886893c2c02827643a75f50ecf4556313dada98ba97caf3c36f857829f6d2c6040600160a01b60ff60a01b196005541617806005554260065560ff82519160a01c161515815260006020820152a1005b346101d45760003660031901126101d457602060405161012c8152f35b346101d45760003660031901126101d457602060ff60055460a01c166040519015158152f35b346101d45760403660031901126101d4576104896119f7565b610491611a0d565b9060018060a01b038091166000526001602052604060002091166000526020526020604060002054604051908152f35b346101d45760003660031901126101d45760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b346101d45760403660031901126101d4576105226105186119f7565b6024359033611a87565b602060405160018152f35b346101d45760403660031901126101d4576105466119f7565b60243590336000526001602052604060002060018060a01b038216600052602052604060002054918083106105815761052292039033611bf5565b60405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608490fd5b346101d45760003660031901126101d45760206040516127108152f35b346101d45760003660031901126101d457604051600060045490600182811c918184169182156106f9575b60209485851084146106e35785879486865291826000146106c3575050600114610666575b5061064e92500383611a3e565b6106626040519282849384528301906119a1565b0390f35b84915060046000527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b906000915b8583106106ab57505061064e935082010185610641565b80548389018501528794508693909201918101610694565b60ff19168582015261064e95151560051b85010192508791506106419050565b634e487b7160e01b600052602260045260246000fd5b92607f169261061c565b6020806003193601126101d457600754156108bf5760ff60055460a01c166108895761075c6107556006547f000000000000000000000000000000000000000000000000000000000000000090611a7a565b4211611d3c565b610764611d74565b9081341061086a5782906044604051809481936319cb825f60e01b835260018060a01b03809116600484015260043560248401527f0000000000000000000000000000000000000000000000000000000000000000165af190811561085e57600091610818575b7f31cc170ef68cc97ae6f7f5530435b792096d77885d0d3d0a3ed2d2e7ba136906836001600160401b03841680600052600882526040600020600160ff19825416179055604051908152a1005b90508181813d8311610857575b61082f8183611a3e565b810103126101d45751906001600160401b03821682036101d457906001600160401b036107cb565b503d610825565b6040513d6000823e3d90fd5b604051633ce6d0ef60e21b815234600482015260248101839052604490fd5b6064906040519062461bcd60e51b82526004820152600f60248201526e185b1c9958591e48195b98589b1959608a1b6044820152fd5b6064906040519062461bcd60e51b8252600482015260036024820152626e2d6960e81b6044820152fd5b346101d45760003660031901126101d45760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b346101d45760003660031901126101d45760206040516102588152f35b346101d45760003660031901126101d4576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101d45760203660031901126101d4576001600160a01b036109a76119f7565b1660005260006020526020604060002054604051908152f35b346101d45760603660031901126101d4576004358015908115036101d4576109e6611a0d565b906001600160a01b03610a1c337f0000000000000000000000000000000000000000000000000000000000000000831614611cf7565b60058054604435600755600161ff0160a01b031916919093161760a89190911b60ff60a81b1617905542600655005b346101d45760603660031901126101d457610a646119e1565b610a6c611a0d565b507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168015610beb573303610b9a576001600160401b031680600052600860205260ff6040600020541615610b6f57610af06006547f000000000000000000000000000000000000000000000000000000000000000090611a7a565b4211610b0f575b6000908152600860205260409020805460ff19169055005b426006557f42886893c2c02827643a75f50ecf4556313dada98ba97caf3c36f857829f6d2c604060055460ff60a01b6001604435161560a01b169060ff60a01b1916178060055560ff82519160a01c1615158152836020820152a1610af7565b606460405162461bcd60e51b81526020600482015260046024820152631a4b525960e21b6044820152fd5b60405162461bcd60e51b815260206004820152602360248201527f4f6e6c7920456e74726f70792063616e2063616c6c20746869732066756e637460448201526234b7b760e91b6064820152608490fd5b60405162461bcd60e51b815260206004820152601760248201527f456e74726f70792061646472657373206e6f74207365740000000000000000006044820152606490fd5b346101d45760003660031901126101d457602060ff60055460a81c166040519015158152f35b346101d45760403660031901126101d457610c6f6119f7565b602435906001600160a01b0390610ca9337f0000000000000000000000000000000000000000000000000000000000000000841614611cf7565b16908115610cff577fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602082610ce3600094600254611a7a565b60025584845283825260408420818154019055604051908152a3005b60405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606490fd5b346101d45760003660031901126101d4576020610d846006547f000000000000000000000000000000000000000000000000000000000000000090611a7a565b4211604051908152f35b346101d45760003660031901126101d45760055460ff8160a01c16156115415760ff60a01b191660055560075460405190608082016001600160401b0381118382101761129d57604090815290825230602083019081526001600160801b0383830181815260608501828152845163fc6f786560e01b81529551600487015292516001600160a01b0390811660248701529051821660448601529151166064840152829060849082906000907f0000000000000000000000000000000000000000000000000000000000000000165af1801561085e57611516575b5060008060405160208101906370a0823160e01b825230602482015260248152610e9281611a23565b51907f00000000000000000000000000000000000000000000000000000000000000005afa610ebf611f10565b908061150a575b156101d4576020818051810103126101d457602001517f000000000000000000000000000000000000000000000000000000000000000090818102918183041490151715611307576127108104610f1957005b600554604051633850c7bd60e01b815260e0816004816001600160a01b0386165afa90811561085e5760009161147e575b50604051610f5781611a23565b6002815260208101906040368337610258610f7182611ed0565b526000610f7d82611ef3565b5260405163883bdbfd60e01b8152602060048201529051602482018190529091829160448301919060005b81811061145f57506000939283900391508290506001600160a01b0387165afa90811561085e5760009161132e575b50610feb610fe482611ef3565b5191611ed0565b5160060b9060060b03667fffffffffffff8113667fffffffffffff198212176113075760060b90610258820560020b9160008112908161131d575b506112f0575b906110686110586110486110426110809561200e565b9361200e565b926001600160a01b031680611f40565b916001600160a01b031680611f40565b9081808211156112e65761107b91611f03565b611f8c565b61012c81116112ce575060ff8160a81c16806000146112b3576401000276a4915b6040519060208201938285106001600160401b0386111761129d576000604094611112968652818552855196879586948593630251596160e31b8552306004860152151560248501526127108b04604485015260018060a01b0316606484015260a0608484015260a48301906119a1565b03926001600160a01b03165af1801561085e57611272575b5030600052600060205260406000205490301561122357306000526000602052604060002054908282106111d357827fddbfb0687fbb06c476f9de1e483e656b4c56516f7580ab8224fbf91c81ed9f51936040933060005260006020520383600020558060025403600255600083518281527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60203092a36127108351920482526020820152a1005b60405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608490fd5b604090813d8311611296575b6112888183611a3e565b810103126101d4578161112a565b503d61127e565b634e487b7160e01b600052604160045260246000fd5b73fffd8963efd1fc6a506488495d951d5263988d25916110a1565b602490604051906303aa7b4160e61b82526004820152fd5b9061107b91611f03565b627fffff198214611307576000199091019061102c565b634e487b7160e01b600052601160045260246000fd5b61025891500760060b151585611026565b3d9150816000823e6113408282611a3e565b60408183810103126101d4578051916001600160401b0383116101d457808201601f8484010112156101d457828201519261137a84611eb9565b936113886040519586611a3e565b808552602085019183850160208360051b8388010101116101d45791602083860101925b60208360051b8288010101841061143f575050505060208201516001600160401b0381116101d4578201818301601f820112156101d4578051916020806113f285611eb9565b6113ff6040519182611a3e565b858152019360051b830101930183116101d457602001905b8282106114275750505084610fd7565b6020809161143484611e89565b815201910190611417565b8351918260060b83036101d45760208181948293520194019391506113ac565b825163ffffffff16845285945060209384019390920191600101610fa8565b905060e0813d8211611502575b8161149860e09383611a3e565b810103126101d4576114a981611e89565b506020810151908160020b82036101d4576114c660408201611e9d565b506114d360608201611e9d565b506114e060808201611e9d565b5060a081015160ff8116036101d45760c06114fb9101611eac565b5083610f4a565b3d915061148b565b50602081511015610ec6565b604090813d831161153a575b61152c8183611a3e565b810103126101d45780610e69565b503d611522565b60405162461bcd60e51b815260206004820152601060248201526f1c1d5b5c081b9bdd08195b98589b195960821b6044820152606490fd5b346101d45760403660031901126101d4576105226115956119f7565b336000526001602052604060002060018060a01b0382166000526020526115c3602435604060002054611a7a565b9033611bf5565b346101d45760003660031901126101d457602060405160128152f35b346101d45760003660031901126101d4576115ff611d74565b604080516001600160a01b03939093168352602083019190915290f35b346101d45760003660031901126101d4576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101d45760003660031901126101d4576020604051624f1a008152f35b346101d45760603660031901126101d4576116986119f7565b6116a0611a0d565b6044359060018060a01b03831660005260016020526040600020336000526020526040600020549260001984036116dc575b6105229350611a87565b8284106116f8576116f38361052295033383611bf5565b6116d2565b60405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606490fd5b346101d45760003660031901126101d4576020600254604051908152f35b346101d45760803660031901126101d4576117746119f7565b5061177d611a0d565b506064356001600160401b0381116101d457366023820112156101d4578060040135906117a982611a5f565b916117b76040519384611a3e565b80835236602482840101116101d4576000928160246020940184830137010152604051630a85bd0160e11b8152602090f35b346101d45760003660031901126101d4576005546040516001600160a01b039091168152602090f35b346101d45760003660031901126101d4576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101d45760003660031901126101d4576020611872611d27565b6040519015158152f35b346101d45760403660031901126101d4576105226118986119f7565b6024359033611bf5565b346101d45760203660031901126101d4576001600160401b036118c36119e1565b166000526008602052602060ff604060002054166040519015158152f35b346101d45760003660031901126101d457600060035490600182811c91818416918215611997575b60209485851084146106e35785879486865291826000146106c357505060011461193a575061064e92500383611a3e565b84915060036000527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b906000915b85831061197f57505061064e935082010185610641565b80548389018501528794508693909201918101611968565b92607f1692611909565b919082519283825260005b8481106119cd575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016119ac565b600435906001600160401b03821682036101d457565b600435906001600160a01b03821682036101d457565b602435906001600160a01b03821682036101d457565b606081019081106001600160401b0382111761129d57604052565b90601f801991011681019081106001600160401b0382111761129d57604052565b6001600160401b03811161129d57601f01601f191660200190565b9190820180921161130757565b6001600160a01b03908116918215611ba25716918215611b5157600082815280602052604081205491808310611afd57604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef958760209652828652038282205586815220818154019055604051908152a3565b60405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608490fd5b60405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608490fd5b6001600160a01b03908116918215611ca65716918215611c565760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260018252604060002085600052825280604060002055604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b15611cfe57565b60405162461bcd60e51b81526020600482015260016024820152603360f91b6044820152606490fd5b600654624f1a00810180911161130757421190565b15611d4357565b60405162461bcd60e51b8152602060048201526009602482015268746f6f206561726c7960b81b6044820152606490fd5b6040516320bba64360e21b81529060206001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116908285600481855afa94851561085e57600095611e4f575b5082906024866040519485938492631711922960e31b84521660048301525afa91821561085e57600092611e04575b50506001600160801b031690565b81813d8311611e48575b611e188183611a3e565b81010312611e445751906001600160801b0382168203611e4157506001600160801b0338611df6565b80fd5b5080fd5b503d611e0e565b8381819793973d8311611e82575b611e678183611a3e565b81010312611e445751908582168203611e4157509382611dc7565b503d611e5d565b51906001600160a01b03821682036101d457565b519061ffff821682036101d457565b519081151582036101d457565b6001600160401b03811161129d5760051b60200190565b805115611edd5760200190565b634e487b7160e01b600052603260045260246000fd5b805160011015611edd5760400190565b9190820391821161130757565b3d15611f3b573d90611f2182611a5f565b91611f2f6040519384611a3e565b82523d6000602084013e565b606090565b81810291906000198282099183808410930391838303936801000000000000000093858511156101d45714611f82570990828211900360c01b910360401c1790565b5050505060401c90565b906127108083029190600019818509938380861095039480860395868511156101d45714612006579082910981806000031680920460028082600302188083028203028083028203028083028203028083028203028083028203028092029003029360018380600003040190848311900302920304170290565b505091500490565b60020b600081121561238f5780600003905b620d89e8821161237d57600182161561236b576001600160881b036ffffcb933bd6fad37aa2d162d1a5940015b16916002811661234f575b60048116612333575b60088116612317575b601081166122fb575b602081166122df575b604081166122c3575b6080908181166122a8575b610100811661228d575b6102008116612272575b6104008116612257575b610800811661223c575b6110008116612221575b6120008116612206575b61400081166121eb575b61800081166121d0575b6201000081166121b5575b62020000811661219b575b620400008116612181575b6208000016612166575b50600012612141575b63ffffffff8116612139576000905b60201c60ff91909116016001600160a01b031690565b600190612123565b80156121505760001904612114565b634e487b7160e01b600052601260045260246000fd5b6b048a170391f7dc42444e8fa26000929302901c919061210b565b6d2216e584f5fa1ea926041bedfe98909302811c92612101565b926e5d6af8dedb81196699c329225ee60402811c926120f6565b926f09aa508b5b7a84e1c677de54f3e99bc902811c926120eb565b926f31be135f97d08fd981231505542fcfa602811c926120e0565b926f70d869a156d2a1b890bb3df62baf32f702811c926120d6565b926fa9f746462d870fdf8a65dc1f90e061e502811c926120cc565b926fd097f3bdfd2022b8845ad8f792aa582502811c926120c2565b926fe7159475a2c29b7443b29c7fa6e889d902811c926120b8565b926ff3392b0822b70005940c7a398e4b70f302811c926120ae565b926ff987a7253ac413176f2b074cf7815e5402811c926120a4565b926ffcbe86c7900a88aedcffc83b479aa3a402811c9261209a565b926ffe5dee046a99a2a811c461f1969c305302811c92612090565b916fff2ea16466c96a3843ec78b326b528610260801c91612085565b916fff973b41fa98c081472e6896dfb254c00260801c9161207c565b916fffcb9843d60f6159c9db58835c9266440260801c91612073565b916fffe5caca7e10e4e61c3624eaa0941cd00260801c9161206a565b916ffff2e50f5f656932ef12357cf3c7fdcc0260801c91612061565b916ffff97272373d413259a46990580e213a0260801c91612058565b6001600160881b03600160801b61204d565b6040516333a3bdff60e21b8152600490fd5b8061202056fea164736f6c6343000813000a00000000000000000000000036825bf3fbdf5a29e2d5148bfe7dcf7b5639e320000000000000000000000000fffff4d5c35b709809bba92e76b421a246c7e7e200000000000000000000000077dcc9b09c6ae94cdc726540735682a38e18d69000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000025800000000000000000000000000000000000000000000000000000000000027100000000000000000000000000000000000000000000000000000000000000008546573743132333400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035445520000000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x608080604052600436101561001357600080fd5b60003560e01c90816306fdde03146118e1575080630780fc2a146118a2578063095ea7b31461187c5780630a1926321461185757806311df99951461181257806311ea5441146117e9578063150b7a021461175b57806318160ddd1461173d57806323b872dd1461167f57806325d4995e1461166157806325de60361461161c5780632d971e63146115e6578063313ce567146115ca5780633950935114611579578063395ea61b14610d8e57806339986e8114610d4457806340c10f1914610c565780634f590f0814610c3057806352a5f1f814610a4b57806353806ec7146109c057806370a0823114610986578063791b98bc14610941578063879ac8f8146109245780638a6af663146108e95780638c7b6e921461070357806395d89b41146105f15780639cfdbd5e146105d4578063a457c2d71461052d578063a9059cbb146104fc578063dce0e92b146104c1578063dd62ed3e14610470578063e3767dd61461044a578063e6dacb921461042d578063ebd2ee7b146103ba578063fa461e33146101f7578063fbd09a7c146101d95763fc1afd20146101b657600080fd5b346101d45760003660031901126101d4576020600654604051908152f35b600080fd5b346101d45760003660031901126101d4576020600754604051908152f35b346101d45760603660031901126101d457602460043581356044356001600160401b038082116101d457366023830112156101d45781600401359081116101d4573691018401116101d4576005546001600160a01b031633036103905760008213801580610385575b61035257600092839290911561034b57505b6040805163a9059cbb60e01b602080830191825233888401908152908101949094529290916102ac9183910103601f198101835282611a3e565b5190827f000000000000000000000000fffff4d5c35b709809bba92e76b421a246c7e7e25af16102da611f10565b81610314575b50156102e857005b60649060056040519162461bcd60e51b8352602060048401528201526410940b54d560da1b6044820152fd5b8051801592508215610329575b5050826102e0565b81925090602091810103126101d45760206103449101611eac565b8280610321565b9050610272565b60405162461bcd60e51b815260206004820152600c818601526b0696e76616c696420737761760a41b6044820152606490fd5b506000821315610260565b60405162461bcd60e51b81526020600482015260038185015262692d6360e81b6044820152606490fd5b346101d45760003660031901126101d4576103db6103d6611d27565b611d3c565b7f42886893c2c02827643a75f50ecf4556313dada98ba97caf3c36f857829f6d2c6040600160a01b60ff60a01b196005541617806005554260065560ff82519160a01c161515815260006020820152a1005b346101d45760003660031901126101d457602060405161012c8152f35b346101d45760003660031901126101d457602060ff60055460a01c166040519015158152f35b346101d45760403660031901126101d4576104896119f7565b610491611a0d565b9060018060a01b038091166000526001602052604060002091166000526020526020604060002054604051908152f35b346101d45760003660031901126101d45760206040517f00000000000000000000000000000000000000000000000000000000000002588152f35b346101d45760403660031901126101d4576105226105186119f7565b6024359033611a87565b602060405160018152f35b346101d45760403660031901126101d4576105466119f7565b60243590336000526001602052604060002060018060a01b038216600052602052604060002054918083106105815761052292039033611bf5565b60405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608490fd5b346101d45760003660031901126101d45760206040516127108152f35b346101d45760003660031901126101d457604051600060045490600182811c918184169182156106f9575b60209485851084146106e35785879486865291826000146106c3575050600114610666575b5061064e92500383611a3e565b6106626040519282849384528301906119a1565b0390f35b84915060046000527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b906000915b8583106106ab57505061064e935082010185610641565b80548389018501528794508693909201918101610694565b60ff19168582015261064e95151560051b85010192508791506106419050565b634e487b7160e01b600052602260045260246000fd5b92607f169261061c565b6020806003193601126101d457600754156108bf5760ff60055460a01c166108895761075c6107556006547f000000000000000000000000000000000000000000000000000000000000025890611a7a565b4211611d3c565b610764611d74565b9081341061086a5782906044604051809481936319cb825f60e01b835260018060a01b03809116600484015260043560248401527f00000000000000000000000036825bf3fbdf5a29e2d5148bfe7dcf7b5639e320165af190811561085e57600091610818575b7f31cc170ef68cc97ae6f7f5530435b792096d77885d0d3d0a3ed2d2e7ba136906836001600160401b03841680600052600882526040600020600160ff19825416179055604051908152a1005b90508181813d8311610857575b61082f8183611a3e565b810103126101d45751906001600160401b03821682036101d457906001600160401b036107cb565b503d610825565b6040513d6000823e3d90fd5b604051633ce6d0ef60e21b815234600482015260248101839052604490fd5b6064906040519062461bcd60e51b82526004820152600f60248201526e185b1c9958591e48195b98589b1959608a1b6044820152fd5b6064906040519062461bcd60e51b8252600482015260036024820152626e2d6960e81b6044820152fd5b346101d45760003660031901126101d45760206040517f00000000000000000000000000000000000000000000000000000000000027108152f35b346101d45760003660031901126101d45760206040516102588152f35b346101d45760003660031901126101d4576040517f00000000000000000000000077dcc9b09c6ae94cdc726540735682a38e18d6906001600160a01b03168152602090f35b346101d45760203660031901126101d4576001600160a01b036109a76119f7565b1660005260006020526020604060002054604051908152f35b346101d45760603660031901126101d4576004358015908115036101d4576109e6611a0d565b906001600160a01b03610a1c337f000000000000000000000000a63532878168c4d8df56a85b7f0f8a1f6abb792e831614611cf7565b60058054604435600755600161ff0160a01b031916919093161760a89190911b60ff60a81b1617905542600655005b346101d45760603660031901126101d457610a646119e1565b610a6c611a0d565b507f00000000000000000000000036825bf3fbdf5a29e2d5148bfe7dcf7b5639e3206001600160a01b03168015610beb573303610b9a576001600160401b031680600052600860205260ff6040600020541615610b6f57610af06006547f000000000000000000000000000000000000000000000000000000000000025890611a7a565b4211610b0f575b6000908152600860205260409020805460ff19169055005b426006557f42886893c2c02827643a75f50ecf4556313dada98ba97caf3c36f857829f6d2c604060055460ff60a01b6001604435161560a01b169060ff60a01b1916178060055560ff82519160a01c1615158152836020820152a1610af7565b606460405162461bcd60e51b81526020600482015260046024820152631a4b525960e21b6044820152fd5b60405162461bcd60e51b815260206004820152602360248201527f4f6e6c7920456e74726f70792063616e2063616c6c20746869732066756e637460448201526234b7b760e91b6064820152608490fd5b60405162461bcd60e51b815260206004820152601760248201527f456e74726f70792061646472657373206e6f74207365740000000000000000006044820152606490fd5b346101d45760003660031901126101d457602060ff60055460a81c166040519015158152f35b346101d45760403660031901126101d457610c6f6119f7565b602435906001600160a01b0390610ca9337f000000000000000000000000a63532878168c4d8df56a85b7f0f8a1f6abb792e841614611cf7565b16908115610cff577fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602082610ce3600094600254611a7a565b60025584845283825260408420818154019055604051908152a3005b60405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606490fd5b346101d45760003660031901126101d4576020610d846006547f000000000000000000000000000000000000000000000000000000000000025890611a7a565b4211604051908152f35b346101d45760003660031901126101d45760055460ff8160a01c16156115415760ff60a01b191660055560075460405190608082016001600160401b0381118382101761129d57604090815290825230602083019081526001600160801b0383830181815260608501828152845163fc6f786560e01b81529551600487015292516001600160a01b0390811660248701529051821660448601529151166064840152829060849082906000907f00000000000000000000000077dcc9b09c6ae94cdc726540735682a38e18d690165af1801561085e57611516575b5060008060405160208101906370a0823160e01b825230602482015260248152610e9281611a23565b51907f000000000000000000000000fffff4d5c35b709809bba92e76b421a246c7e7e25afa610ebf611f10565b908061150a575b156101d4576020818051810103126101d457602001517f000000000000000000000000000000000000000000000000000000000000271090818102918183041490151715611307576127108104610f1957005b600554604051633850c7bd60e01b815260e0816004816001600160a01b0386165afa90811561085e5760009161147e575b50604051610f5781611a23565b6002815260208101906040368337610258610f7182611ed0565b526000610f7d82611ef3565b5260405163883bdbfd60e01b8152602060048201529051602482018190529091829160448301919060005b81811061145f57506000939283900391508290506001600160a01b0387165afa90811561085e5760009161132e575b50610feb610fe482611ef3565b5191611ed0565b5160060b9060060b03667fffffffffffff8113667fffffffffffff198212176113075760060b90610258820560020b9160008112908161131d575b506112f0575b906110686110586110486110426110809561200e565b9361200e565b926001600160a01b031680611f40565b916001600160a01b031680611f40565b9081808211156112e65761107b91611f03565b611f8c565b61012c81116112ce575060ff8160a81c16806000146112b3576401000276a4915b6040519060208201938285106001600160401b0386111761129d576000604094611112968652818552855196879586948593630251596160e31b8552306004860152151560248501526127108b04604485015260018060a01b0316606484015260a0608484015260a48301906119a1565b03926001600160a01b03165af1801561085e57611272575b5030600052600060205260406000205490301561122357306000526000602052604060002054908282106111d357827fddbfb0687fbb06c476f9de1e483e656b4c56516f7580ab8224fbf91c81ed9f51936040933060005260006020520383600020558060025403600255600083518281527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60203092a36127108351920482526020820152a1005b60405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608490fd5b604090813d8311611296575b6112888183611a3e565b810103126101d4578161112a565b503d61127e565b634e487b7160e01b600052604160045260246000fd5b73fffd8963efd1fc6a506488495d951d5263988d25916110a1565b602490604051906303aa7b4160e61b82526004820152fd5b9061107b91611f03565b627fffff198214611307576000199091019061102c565b634e487b7160e01b600052601160045260246000fd5b61025891500760060b151585611026565b3d9150816000823e6113408282611a3e565b60408183810103126101d4578051916001600160401b0383116101d457808201601f8484010112156101d457828201519261137a84611eb9565b936113886040519586611a3e565b808552602085019183850160208360051b8388010101116101d45791602083860101925b60208360051b8288010101841061143f575050505060208201516001600160401b0381116101d4578201818301601f820112156101d4578051916020806113f285611eb9565b6113ff6040519182611a3e565b858152019360051b830101930183116101d457602001905b8282106114275750505084610fd7565b6020809161143484611e89565b815201910190611417565b8351918260060b83036101d45760208181948293520194019391506113ac565b825163ffffffff16845285945060209384019390920191600101610fa8565b905060e0813d8211611502575b8161149860e09383611a3e565b810103126101d4576114a981611e89565b506020810151908160020b82036101d4576114c660408201611e9d565b506114d360608201611e9d565b506114e060808201611e9d565b5060a081015160ff8116036101d45760c06114fb9101611eac565b5083610f4a565b3d915061148b565b50602081511015610ec6565b604090813d831161153a575b61152c8183611a3e565b810103126101d45780610e69565b503d611522565b60405162461bcd60e51b815260206004820152601060248201526f1c1d5b5c081b9bdd08195b98589b195960821b6044820152606490fd5b346101d45760403660031901126101d4576105226115956119f7565b336000526001602052604060002060018060a01b0382166000526020526115c3602435604060002054611a7a565b9033611bf5565b346101d45760003660031901126101d457602060405160128152f35b346101d45760003660031901126101d4576115ff611d74565b604080516001600160a01b03939093168352602083019190915290f35b346101d45760003660031901126101d4576040517f000000000000000000000000a63532878168c4d8df56a85b7f0f8a1f6abb792e6001600160a01b03168152602090f35b346101d45760003660031901126101d4576020604051624f1a008152f35b346101d45760603660031901126101d4576116986119f7565b6116a0611a0d565b6044359060018060a01b03831660005260016020526040600020336000526020526040600020549260001984036116dc575b6105229350611a87565b8284106116f8576116f38361052295033383611bf5565b6116d2565b60405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606490fd5b346101d45760003660031901126101d4576020600254604051908152f35b346101d45760803660031901126101d4576117746119f7565b5061177d611a0d565b506064356001600160401b0381116101d457366023820112156101d4578060040135906117a982611a5f565b916117b76040519384611a3e565b80835236602482840101116101d4576000928160246020940184830137010152604051630a85bd0160e11b8152602090f35b346101d45760003660031901126101d4576005546040516001600160a01b039091168152602090f35b346101d45760003660031901126101d4576040517f000000000000000000000000fffff4d5c35b709809bba92e76b421a246c7e7e26001600160a01b03168152602090f35b346101d45760003660031901126101d4576020611872611d27565b6040519015158152f35b346101d45760403660031901126101d4576105226118986119f7565b6024359033611bf5565b346101d45760203660031901126101d4576001600160401b036118c36119e1565b166000526008602052602060ff604060002054166040519015158152f35b346101d45760003660031901126101d457600060035490600182811c91818416918215611997575b60209485851084146106e35785879486865291826000146106c357505060011461193a575061064e92500383611a3e565b84915060036000527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b906000915b85831061197f57505061064e935082010185610641565b80548389018501528794508693909201918101611968565b92607f1692611909565b919082519283825260005b8481106119cd575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016119ac565b600435906001600160401b03821682036101d457565b600435906001600160a01b03821682036101d457565b602435906001600160a01b03821682036101d457565b606081019081106001600160401b0382111761129d57604052565b90601f801991011681019081106001600160401b0382111761129d57604052565b6001600160401b03811161129d57601f01601f191660200190565b9190820180921161130757565b6001600160a01b03908116918215611ba25716918215611b5157600082815280602052604081205491808310611afd57604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef958760209652828652038282205586815220818154019055604051908152a3565b60405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608490fd5b60405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608490fd5b6001600160a01b03908116918215611ca65716918215611c565760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260018252604060002085600052825280604060002055604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b15611cfe57565b60405162461bcd60e51b81526020600482015260016024820152603360f91b6044820152606490fd5b600654624f1a00810180911161130757421190565b15611d4357565b60405162461bcd60e51b8152602060048201526009602482015268746f6f206561726c7960b81b6044820152606490fd5b6040516320bba64360e21b81529060206001600160a01b037f00000000000000000000000036825bf3fbdf5a29e2d5148bfe7dcf7b5639e3208116908285600481855afa94851561085e57600095611e4f575b5082906024866040519485938492631711922960e31b84521660048301525afa91821561085e57600092611e04575b50506001600160801b031690565b81813d8311611e48575b611e188183611a3e565b81010312611e445751906001600160801b0382168203611e4157506001600160801b0338611df6565b80fd5b5080fd5b503d611e0e565b8381819793973d8311611e82575b611e678183611a3e565b81010312611e445751908582168203611e4157509382611dc7565b503d611e5d565b51906001600160a01b03821682036101d457565b519061ffff821682036101d457565b519081151582036101d457565b6001600160401b03811161129d5760051b60200190565b805115611edd5760200190565b634e487b7160e01b600052603260045260246000fd5b805160011015611edd5760400190565b9190820391821161130757565b3d15611f3b573d90611f2182611a5f565b91611f2f6040519384611a3e565b82523d6000602084013e565b606090565b81810291906000198282099183808410930391838303936801000000000000000093858511156101d45714611f82570990828211900360c01b910360401c1790565b5050505060401c90565b906127108083029190600019818509938380861095039480860395868511156101d45714612006579082910981806000031680920460028082600302188083028203028083028203028083028203028083028203028083028203028092029003029360018380600003040190848311900302920304170290565b505091500490565b60020b600081121561238f5780600003905b620d89e8821161237d57600182161561236b576001600160881b036ffffcb933bd6fad37aa2d162d1a5940015b16916002811661234f575b60048116612333575b60088116612317575b601081166122fb575b602081166122df575b604081166122c3575b6080908181166122a8575b610100811661228d575b6102008116612272575b6104008116612257575b610800811661223c575b6110008116612221575b6120008116612206575b61400081166121eb575b61800081166121d0575b6201000081166121b5575b62020000811661219b575b620400008116612181575b6208000016612166575b50600012612141575b63ffffffff8116612139576000905b60201c60ff91909116016001600160a01b031690565b600190612123565b80156121505760001904612114565b634e487b7160e01b600052601260045260246000fd5b6b048a170391f7dc42444e8fa26000929302901c919061210b565b6d2216e584f5fa1ea926041bedfe98909302811c92612101565b926e5d6af8dedb81196699c329225ee60402811c926120f6565b926f09aa508b5b7a84e1c677de54f3e99bc902811c926120eb565b926f31be135f97d08fd981231505542fcfa602811c926120e0565b926f70d869a156d2a1b890bb3df62baf32f702811c926120d6565b926fa9f746462d870fdf8a65dc1f90e061e502811c926120cc565b926fd097f3bdfd2022b8845ad8f792aa582502811c926120c2565b926fe7159475a2c29b7443b29c7fa6e889d902811c926120b8565b926ff3392b0822b70005940c7a398e4b70f302811c926120ae565b926ff987a7253ac413176f2b074cf7815e5402811c926120a4565b926ffcbe86c7900a88aedcffc83b479aa3a402811c9261209a565b926ffe5dee046a99a2a811c461f1969c305302811c92612090565b916fff2ea16466c96a3843ec78b326b528610260801c91612085565b916fff973b41fa98c081472e6896dfb254c00260801c9161207c565b916fffcb9843d60f6159c9db58835c9266440260801c91612073565b916fffe5caca7e10e4e61c3624eaa0941cd00260801c9161206a565b916ffff2e50f5f656932ef12357cf3c7fdcc0260801c91612061565b916ffff97272373d413259a46990580e213a0260801c91612058565b6001600160881b03600160801b61204d565b6040516333a3bdff60e21b8152600490fd5b8061202056fea164736f6c6343000813000a
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000036825bf3fbdf5a29e2d5148bfe7dcf7b5639e320000000000000000000000000fffff4d5c35b709809bba92e76b421a246c7e7e200000000000000000000000077dcc9b09c6ae94cdc726540735682a38e18d69000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000025800000000000000000000000000000000000000000000000000000000000027100000000000000000000000000000000000000000000000000000000000000008546573743132333400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035445520000000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : _entropyAddress (address): 0x36825bf3Fbdf5a29E2d5148bfe7Dcf7B5639e320
Arg [1] : _coin (address): 0xfffff4d5c35B709809BBA92E76b421A246C7e7E2
Arg [2] : _positionManagerAddress (address): 0x77DcC9b09C6Ae94CDC726540735682A38e18d690
Arg [3] : _name (string): Test1234
Arg [4] : _symbol (string): TER
Arg [5] : _pumpInterval (uint256): 600
Arg [6] : _pumpBPS (uint256): 10000
-----Encoded View---------------
11 Constructor Arguments found :
Arg [0] : 00000000000000000000000036825bf3fbdf5a29e2d5148bfe7dcf7b5639e320
Arg [1] : 000000000000000000000000fffff4d5c35b709809bba92e76b421a246c7e7e2
Arg [2] : 00000000000000000000000077dcc9b09c6ae94cdc726540735682a38e18d690
Arg [3] : 00000000000000000000000000000000000000000000000000000000000000e0
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000120
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000258
Arg [6] : 0000000000000000000000000000000000000000000000000000000000002710
Arg [7] : 0000000000000000000000000000000000000000000000000000000000000008
Arg [8] : 5465737431323334000000000000000000000000000000000000000000000000
Arg [9] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [10] : 5445520000000000000000000000000000000000000000000000000000000000
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 34 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.