Overview
S Balance
S Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 15 from a total of 15 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Update | 12846354 | 1 hr ago | IN | 0 S | 0.00816045 | ||||
Update | 12765409 | 11 hrs ago | IN | 0 S | 0.00411331 | ||||
Update | 12762406 | 11 hrs ago | IN | 0 S | 0.00816045 | ||||
Update | 12717856 | 17 hrs ago | IN | 0 S | 0.00816045 | ||||
Update | 12712526 | 17 hrs ago | IN | 0 S | 0.00897487 | ||||
Update | 12706859 | 18 hrs ago | IN | 0 S | 0.00816045 | ||||
Update | 12678124 | 21 hrs ago | IN | 0 S | 0.00411331 | ||||
Update | 12674847 | 21 hrs ago | IN | 0 S | 0.00904904 | ||||
Update | 12670911 | 22 hrs ago | IN | 0 S | 0.00420155 | ||||
Update | 12667442 | 22 hrs ago | IN | 0 S | 0.00934573 | ||||
Update | 12663079 | 23 hrs ago | IN | 0 S | 0.00816045 | ||||
Update | 12653494 | 24 hrs ago | IN | 0 S | 0.00816045 | ||||
Update | 12646705 | 25 hrs ago | IN | 0 S | 0.00411331 | ||||
Update | 12645413 | 25 hrs ago | IN | 0 S | 0.00411331 | ||||
Update | 12644412 | 25 hrs ago | IN | 0 S | 0.00881317 |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
OracleV2
Compiler Version
v0.8.26+commit.8a97fa7a
Contract Source Code (Solidity)
/** *Submitted for verification at SonicScan.org on 2025-03-08 */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; // CAUTION // This version of SafeMath should only be used with Solidity 0.8 or later, // because it relies on the compiler's built in overflow checks. /** * @dev Wrappers over Solidity's arithmetic operations. * * NOTE: `SafeMath` is generally not needed starting with Solidity 0.8, since the compiler * now has built in overflow checking. */ library SafeMath { /** * @dev Returns the addition of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } } /** * @dev Returns the subtraction of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b > a) return (false, 0); return (true, a - b); } } /** * @dev Returns the multiplication of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) return (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } } /** * @dev Returns the division of two unsigned integers, with a division by zero flag. * * _Available since v3.4._ */ function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a / b); } } /** * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag. * * _Available since v3.4._ */ function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a % b); } } /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } /** * @dev Returns the integer division of two unsigned integers, reverting on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { return a % b; } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {trySub}. * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } /** * @dev Returns the integer division of two unsigned integers, reverting with custom message on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a / b; } } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting with custom message when dividing by zero. * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {tryMod}. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a % b; } } } /** * @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; } } /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _transferOwnership(_msgSender()); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { _checkOwner(); _; } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if the sender is not the owner. */ function _checkOwner() internal view virtual { require(owner() == _msgSender(), "Ownable: caller is not the owner"); } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby disabling any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } contract Operator is Context, Ownable { address private _operator; event OperatorTransferred(address indexed previousOperator, address indexed newOperator); constructor() { _operator = _msgSender(); emit OperatorTransferred(address(0), _operator); } function operator() public view returns (address) { return _operator; } modifier onlyOperator() { require(_operator == msg.sender, "operator: caller is not the operator"); _; } function isOperator() public view returns (bool) { return _msgSender() == _operator; } function transferOperator(address newOperator_) public onlyOwner { _transferOperator(newOperator_); } function _transferOperator(address newOperator_) internal { require(newOperator_ != address(0), "operator: zero address given for new operator"); emit OperatorTransferred(address(0), newOperator_); _operator = newOperator_; } function _renounceOperator() public onlyOwner { emit OperatorTransferred(_operator, address(0)); _operator = address(0); } } interface IPool { error NOT_AUTHORIZED(); error UNSTABLE_RATIO(); /// @dev safe transfer failed error STF(); error OVERFLOW(); /// @dev skim disabled error SD(); /// @dev insufficient liquidity minted error ILM(); /// @dev insufficient liquidity burned error ILB(); /// @dev insufficient output amount error IOA(); /// @dev insufficient input amount error IIA(); error IL(); error IT(); error K(); event Mint(address indexed sender, uint256 amount0, uint256 amount1); event Burn( address indexed sender, uint256 amount0, uint256 amount1, address indexed to ); event Swap( address indexed sender, uint256 amount0In, uint256 amount1In, uint256 amount0Out, uint256 amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); /// @notice Same as prices with with an additional window argument. /// Window = 2 means 2 * 30min (or 1 hr) between observations /// @param tokenIn . /// @param amountIn . /// @param points . /// @param window . /// @return Array of TWAP prices function sample( address tokenIn, uint256 amountIn, uint256 points, uint256 window ) external view returns (uint256[] memory); function observations(uint256 index) external view returns (uint256 timestamp, uint256 reserve0Cumulative, uint256 reserve1Cumulative); function current(address tokenIn, uint256 amountIn) external view returns (uint256 amountOut); /// @notice Provides twap price with user configured granularity, up to the full window size /// @param tokenIn . /// @param amountIn . /// @param granularity . /// @return amountOut . function quote(address tokenIn, uint256 amountIn, uint256 granularity) external view returns (uint256 amountOut); /// @notice Get the number of observations recorded function observationLength() external view returns (uint256); /// @notice Address of token in the pool with the lower address value function token0() external view returns (address); /// @notice Address of token in the poool with the higher address value function token1() external view returns (address); /// @notice initialize the pool, called only once programatically function initialize( address _token0, address _token1, bool _stable ) external; /// @notice calculate the current reserves of the pool and their last 'seen' timestamp /// @return _reserve0 amount of token0 in reserves /// @return _reserve1 amount of token1 in reserves /// @return _blockTimestampLast the timestamp when the pool was last updated function getReserves() external view returns ( uint112 _reserve0, uint112 _reserve1, uint32 _blockTimestampLast ); /// @notice mint the pair tokens (LPs) /// @param to where to mint the LP tokens to /// @return liquidity amount of LP tokens to mint function mint(address to) external returns (uint256 liquidity); /// @notice burn the pair tokens (LPs) /// @param to where to send the underlying /// @return amount0 amount of amount0 /// @return amount1 amount of amount1 function burn( address to ) external returns (uint256 amount0, uint256 amount1); /// @notice direct swap through the pool function swap( uint256 amount0Out, uint256 amount1Out, address to, bytes calldata data ) external; /// @notice force balances to match reserves, can be used to harvest rebases from rebasing tokens or other external factors /// @param to where to send the excess tokens to function skim(address to) external; /// @notice force reserves to match balances, prevents skim excess if skim is enabled function sync() external; /// @notice set the pair fees contract address function setFeeRecipient(address _pairFees) external; /// @notice set the feesplit variable function setFeeSplit(uint256 _feeSplit) external; /// @notice sets the swap fee of the pair /// @dev max of 10_000 (10%) /// @param _fee the fee function setFee(uint256 _fee) external; /// @notice 'mint' the fees as LP tokens /// @dev this is used for protocol/voter fees function mintFee() external; /// @notice calculates the amount of tokens to receive post swap /// @param amountIn the token amount /// @param tokenIn the address of the token function getAmountOut( uint256 amountIn, address tokenIn ) external view returns (uint256 amountOut); /// @notice returns various metadata about the pair function metadata() external view returns ( uint256 _decimals0, uint256 _decimals1, uint256 _reserve0, uint256 _reserve1, bool _stable, address _token0, address _token1 ); /// @notice returns the feeSplit of the pair function feeSplit() external view returns (uint256); /// @notice returns the fee of the pair function fee() external view returns (uint256); /// @notice returns the feeRecipient of the pair function feeRecipient() external view returns (address); } contract OracleV2 is Operator { using SafeMath for uint256; address public token0; address public token1; IPool public pair; constructor(IPool _pair) public { pair = _pair; token0 = pair.token0(); token1 = pair.token1(); uint256 reserve0; uint256 reserve1; (reserve0, reserve1, ) = pair.getReserves(); require(reserve0 != 0 && reserve1 != 0, "Oracle: No reserves"); } function update() external { pair.sync(); } function consult( address _token, uint256 _amountIn ) external view returns (uint256 amountOut) { if (_token == token0) { amountOut = _quote(_token, _amountIn, 12); } else { require(_token == token1, "Oracle: Invalid token"); amountOut = _quote(_token, _amountIn, 12); } } function twap( address _token, uint256 _amountIn ) external view returns (uint256 amountOut) { if (_token == token0) { amountOut = _quote(_token, _amountIn, 2); } else { require(_token == token1, "Oracle: Invalid token"); amountOut = _quote(_token, _amountIn, 2); } } // Note the window parameter is removed as its always 1 (30min), granularity at 12 for example is (12 * 30min) = 6 hours function _quote( address tokenIn, uint256 amountIn, uint256 granularity // number of observations to query ) internal view returns (uint256 amountOut) { uint256 observationLength = IPool(pair).observationLength(); require( granularity <= observationLength, "Oracle: Not enough observations" ); uint256 price = IPool(pair).quote(tokenIn, amountIn, granularity); amountOut = price; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"contract IPool","name":"_pair","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOperator","type":"address"},{"indexed":true,"internalType":"address","name":"newOperator","type":"address"}],"name":"OperatorTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[],"name":"_renounceOperator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_amountIn","type":"uint256"}],"name":"consult","outputs":[{"internalType":"uint256","name":"amountOut","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isOperator","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"operator","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"contract IPool","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"token0","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token1","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOperator_","type":"address"}],"name":"transferOperator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_amountIn","type":"uint256"}],"name":"twap","outputs":[{"internalType":"uint256","name":"amountOut","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"update","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561000f575f80fd5b506040516117383803806117388339818101604052810190610031919061053c565b61004d61004261040560201b60201c565b61040c60201b60201c565b61005b61040560201b60201c565b60015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f74da04524d50c64947f5dd5381ef1a4dca5cba8ed1d816243f9e48aa0b5617ed60405160405180910390a38060045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101bf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101e39190610591565b60025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa15801561028c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102b09190610591565b60035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f8060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa15801561035b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061037f9190610638565b826dffffffffffffffffffffffffffff169250816dffffffffffffffffffffffffffff1691505080925081935050505f82141580156103be57505f8114155b6103fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103f4906106e2565b60405180910390fd5b505050610700565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6104fa826104d1565b9050919050565b5f61050b826104f0565b9050919050565b61051b81610501565b8114610525575f80fd5b50565b5f8151905061053681610512565b92915050565b5f60208284031215610551576105506104cd565b5b5f61055e84828501610528565b91505092915050565b610570816104f0565b811461057a575f80fd5b50565b5f8151905061058b81610567565b92915050565b5f602082840312156105a6576105a56104cd565b5b5f6105b38482850161057d565b91505092915050565b5f6dffffffffffffffffffffffffffff82169050919050565b6105de816105bc565b81146105e8575f80fd5b50565b5f815190506105f9816105d5565b92915050565b5f63ffffffff82169050919050565b610617816105ff565b8114610621575f80fd5b50565b5f815190506106328161060e565b92915050565b5f805f6060848603121561064f5761064e6104cd565b5b5f61065c868287016105eb565b935050602061066d868287016105eb565b925050604061067e86828701610624565b9150509250925092565b5f82825260208201905092915050565b7f4f7261636c653a204e6f207265736572766573000000000000000000000000005f82015250565b5f6106cc601383610688565b91506106d782610698565b602082019050919050565b5f6020820190508181035f8301526106f9816106c0565b9050919050565b61102b8061070d5f395ff3fe608060405234801561000f575f80fd5b50600436106100cd575f3560e01c8063715018a61161008a578063a2e6204511610064578063a2e62045146101d9578063a8aa1b31146101e3578063d21220a714610201578063f2fde38b1461021f576100cd565b8063715018a6146101a75780638a27f103146101b15780638da5cb5b146101bb576100cd565b80630dfe1681146100d157806329605e77146100ef5780633ddac9531461010b5780634456eda21461013b578063570ca735146101595780636808a12814610177575b5f80fd5b6100d961023b565b6040516100e69190610b6b565b60405180910390f35b61010960048036038101906101049190610bb2565b610260565b005b61012560048036038101906101209190610c10565b610274565b6040516101329190610c5d565b60405180910390f35b610143610380565b6040516101509190610c90565b60405180910390f35b6101616103dd565b60405161016e9190610b6b565b60405180910390f35b610191600480360381019061018c9190610c10565b610405565b60405161019e9190610c5d565b60405180910390f35b6101af610511565b005b6101b9610524565b005b6101c36105e9565b6040516101d09190610b6b565b60405180910390f35b6101e1610610565b005b6101eb61068e565b6040516101f89190610d04565b60405180910390f35b6102096106b3565b6040516102169190610b6b565b60405180910390f35b61023960048036038101906102349190610bb2565b6106d8565b005b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61026861075a565b610271816107d8565b50565b5f60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036102dc576102d58383600c6108e3565b905061037a565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461036b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161036290610d77565b60405180910390fd5b6103778383600c6108e3565b90505b92915050565b5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166103c1610a64565b73ffffffffffffffffffffffffffffffffffffffff1614905090565b5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361046d57610466838360026108e3565b905061050b565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146104fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104f390610d77565b60405180910390fd5b610508838360026108e3565b90505b92915050565b61051961075a565b6105225f610a6b565b565b61052c61075a565b5f73ffffffffffffffffffffffffffffffffffffffff1660015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f74da04524d50c64947f5dd5381ef1a4dca5cba8ed1d816243f9e48aa0b5617ed60405160405180910390a35f60015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610676575f80fd5b505af1158015610688573d5f803e3d5ffd5b50505050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6106e061075a565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361074e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074590610e05565b60405180910390fd5b61075781610a6b565b50565b610762610a64565b73ffffffffffffffffffffffffffffffffffffffff166107806105e9565b73ffffffffffffffffffffffffffffffffffffffff16146107d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107cd90610e6d565b60405180910390fd5b565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610846576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083d90610efb565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f74da04524d50c64947f5dd5381ef1a4dca5cba8ed1d816243f9e48aa0b5617ed60405160405180910390a38060015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f8060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ebeb31db6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561094f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109739190610f2d565b9050808311156109b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109af90610fa2565b60405180910390fd5b5f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639e8cc04b8787876040518463ffffffff1660e01b8152600401610a1793929190610fc0565b602060405180830381865afa158015610a32573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a569190610f2d565b905080925050509392505050565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610b5582610b2c565b9050919050565b610b6581610b4b565b82525050565b5f602082019050610b7e5f830184610b5c565b92915050565b5f80fd5b610b9181610b4b565b8114610b9b575f80fd5b50565b5f81359050610bac81610b88565b92915050565b5f60208284031215610bc757610bc6610b84565b5b5f610bd484828501610b9e565b91505092915050565b5f819050919050565b610bef81610bdd565b8114610bf9575f80fd5b50565b5f81359050610c0a81610be6565b92915050565b5f8060408385031215610c2657610c25610b84565b5b5f610c3385828601610b9e565b9250506020610c4485828601610bfc565b9150509250929050565b610c5781610bdd565b82525050565b5f602082019050610c705f830184610c4e565b92915050565b5f8115159050919050565b610c8a81610c76565b82525050565b5f602082019050610ca35f830184610c81565b92915050565b5f819050919050565b5f610ccc610cc7610cc284610b2c565b610ca9565b610b2c565b9050919050565b5f610cdd82610cb2565b9050919050565b5f610cee82610cd3565b9050919050565b610cfe81610ce4565b82525050565b5f602082019050610d175f830184610cf5565b92915050565b5f82825260208201905092915050565b7f4f7261636c653a20496e76616c696420746f6b656e00000000000000000000005f82015250565b5f610d61601583610d1d565b9150610d6c82610d2d565b602082019050919050565b5f6020820190508181035f830152610d8e81610d55565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f610def602683610d1d565b9150610dfa82610d95565b604082019050919050565b5f6020820190508181035f830152610e1c81610de3565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f610e57602083610d1d565b9150610e6282610e23565b602082019050919050565b5f6020820190508181035f830152610e8481610e4b565b9050919050565b7f6f70657261746f723a207a65726f206164647265737320676976656e20666f725f8201527f206e6577206f70657261746f7200000000000000000000000000000000000000602082015250565b5f610ee5602d83610d1d565b9150610ef082610e8b565b604082019050919050565b5f6020820190508181035f830152610f1281610ed9565b9050919050565b5f81519050610f2781610be6565b92915050565b5f60208284031215610f4257610f41610b84565b5b5f610f4f84828501610f19565b91505092915050565b7f4f7261636c653a204e6f7420656e6f756768206f62736572766174696f6e73005f82015250565b5f610f8c601f83610d1d565b9150610f9782610f58565b602082019050919050565b5f6020820190508181035f830152610fb981610f80565b9050919050565b5f606082019050610fd35f830186610b5c565b610fe06020830185610c4e565b610fed6040830184610c4e565b94935050505056fea2646970667358221220beac308adb0eb46be602b7b64af9f7c186dc729cbd6e93b46e28efd61750b99764736f6c634300081a0033000000000000000000000000fb5c6a1232aa36fe9982fdab18c1988b3e653662
Deployed Bytecode
0x608060405234801561000f575f80fd5b50600436106100cd575f3560e01c8063715018a61161008a578063a2e6204511610064578063a2e62045146101d9578063a8aa1b31146101e3578063d21220a714610201578063f2fde38b1461021f576100cd565b8063715018a6146101a75780638a27f103146101b15780638da5cb5b146101bb576100cd565b80630dfe1681146100d157806329605e77146100ef5780633ddac9531461010b5780634456eda21461013b578063570ca735146101595780636808a12814610177575b5f80fd5b6100d961023b565b6040516100e69190610b6b565b60405180910390f35b61010960048036038101906101049190610bb2565b610260565b005b61012560048036038101906101209190610c10565b610274565b6040516101329190610c5d565b60405180910390f35b610143610380565b6040516101509190610c90565b60405180910390f35b6101616103dd565b60405161016e9190610b6b565b60405180910390f35b610191600480360381019061018c9190610c10565b610405565b60405161019e9190610c5d565b60405180910390f35b6101af610511565b005b6101b9610524565b005b6101c36105e9565b6040516101d09190610b6b565b60405180910390f35b6101e1610610565b005b6101eb61068e565b6040516101f89190610d04565b60405180910390f35b6102096106b3565b6040516102169190610b6b565b60405180910390f35b61023960048036038101906102349190610bb2565b6106d8565b005b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61026861075a565b610271816107d8565b50565b5f60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036102dc576102d58383600c6108e3565b905061037a565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461036b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161036290610d77565b60405180910390fd5b6103778383600c6108e3565b90505b92915050565b5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166103c1610a64565b73ffffffffffffffffffffffffffffffffffffffff1614905090565b5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361046d57610466838360026108e3565b905061050b565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146104fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104f390610d77565b60405180910390fd5b610508838360026108e3565b90505b92915050565b61051961075a565b6105225f610a6b565b565b61052c61075a565b5f73ffffffffffffffffffffffffffffffffffffffff1660015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f74da04524d50c64947f5dd5381ef1a4dca5cba8ed1d816243f9e48aa0b5617ed60405160405180910390a35f60015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610676575f80fd5b505af1158015610688573d5f803e3d5ffd5b50505050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6106e061075a565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361074e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074590610e05565b60405180910390fd5b61075781610a6b565b50565b610762610a64565b73ffffffffffffffffffffffffffffffffffffffff166107806105e9565b73ffffffffffffffffffffffffffffffffffffffff16146107d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107cd90610e6d565b60405180910390fd5b565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610846576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083d90610efb565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f74da04524d50c64947f5dd5381ef1a4dca5cba8ed1d816243f9e48aa0b5617ed60405160405180910390a38060015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f8060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ebeb31db6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561094f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109739190610f2d565b9050808311156109b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109af90610fa2565b60405180910390fd5b5f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639e8cc04b8787876040518463ffffffff1660e01b8152600401610a1793929190610fc0565b602060405180830381865afa158015610a32573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a569190610f2d565b905080925050509392505050565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610b5582610b2c565b9050919050565b610b6581610b4b565b82525050565b5f602082019050610b7e5f830184610b5c565b92915050565b5f80fd5b610b9181610b4b565b8114610b9b575f80fd5b50565b5f81359050610bac81610b88565b92915050565b5f60208284031215610bc757610bc6610b84565b5b5f610bd484828501610b9e565b91505092915050565b5f819050919050565b610bef81610bdd565b8114610bf9575f80fd5b50565b5f81359050610c0a81610be6565b92915050565b5f8060408385031215610c2657610c25610b84565b5b5f610c3385828601610b9e565b9250506020610c4485828601610bfc565b9150509250929050565b610c5781610bdd565b82525050565b5f602082019050610c705f830184610c4e565b92915050565b5f8115159050919050565b610c8a81610c76565b82525050565b5f602082019050610ca35f830184610c81565b92915050565b5f819050919050565b5f610ccc610cc7610cc284610b2c565b610ca9565b610b2c565b9050919050565b5f610cdd82610cb2565b9050919050565b5f610cee82610cd3565b9050919050565b610cfe81610ce4565b82525050565b5f602082019050610d175f830184610cf5565b92915050565b5f82825260208201905092915050565b7f4f7261636c653a20496e76616c696420746f6b656e00000000000000000000005f82015250565b5f610d61601583610d1d565b9150610d6c82610d2d565b602082019050919050565b5f6020820190508181035f830152610d8e81610d55565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f610def602683610d1d565b9150610dfa82610d95565b604082019050919050565b5f6020820190508181035f830152610e1c81610de3565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f610e57602083610d1d565b9150610e6282610e23565b602082019050919050565b5f6020820190508181035f830152610e8481610e4b565b9050919050565b7f6f70657261746f723a207a65726f206164647265737320676976656e20666f725f8201527f206e6577206f70657261746f7200000000000000000000000000000000000000602082015250565b5f610ee5602d83610d1d565b9150610ef082610e8b565b604082019050919050565b5f6020820190508181035f830152610f1281610ed9565b9050919050565b5f81519050610f2781610be6565b92915050565b5f60208284031215610f4257610f41610b84565b5b5f610f4f84828501610f19565b91505092915050565b7f4f7261636c653a204e6f7420656e6f756768206f62736572766174696f6e73005f82015250565b5f610f8c601f83610d1d565b9150610f9782610f58565b602082019050919050565b5f6020820190508181035f830152610fb981610f80565b9050919050565b5f606082019050610fd35f830186610b5c565b610fe06020830185610c4e565b610fed6040830184610c4e565b94935050505056fea2646970667358221220beac308adb0eb46be602b7b64af9f7c186dc729cbd6e93b46e28efd61750b99764736f6c634300081a0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000fb5c6a1232aa36fe9982fdab18c1988b3e653662
-----Decoded View---------------
Arg [0] : _pair (address): 0xfB5C6a1232AA36FE9982FDab18C1988B3e653662
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000fb5c6a1232aa36fe9982fdab18c1988b3e653662
Deployed Bytecode Sourcemap
17013:1900:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17085:21;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10868:115;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17550:366;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10760:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10532:85;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17924:361;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9416:103;;;:::i;:::-;;11256:145;;;:::i;:::-;;8775:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17485:57;;;:::i;:::-;;17141:17;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17113:21;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9674:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17085:21;;;;;;;;;;;;;:::o;10868:115::-;8661:13;:11;:13::i;:::-;10944:31:::1;10962:12;10944:17;:31::i;:::-;10868:115:::0;:::o;17550:366::-;17650:17;17694:6;;;;;;;;;;;17684:16;;:6;:16;;;17680:229;;17729:29;17736:6;17744:9;17755:2;17729:6;:29::i;:::-;17717:41;;17680:229;;;17809:6;;;;;;;;;;;17799:16;;:6;:16;;;17791:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;17868:29;17875:6;17883:9;17894:2;17868:6;:29::i;:::-;17856:41;;17680:229;17550:366;;;;:::o;10760:100::-;10803:4;10843:9;;;;;;;;;;;10827:25;;:12;:10;:12::i;:::-;:25;;;10820:32;;10760:100;:::o;10532:85::-;10573:7;10600:9;;;;;;;;;;;10593:16;;10532:85;:::o;17924:361::-;18021:17;18065:6;;;;;;;;;;;18055:16;;:6;:16;;;18051:227;;18100:28;18107:6;18115:9;18126:1;18100:6;:28::i;:::-;18088:40;;18051:227;;;18179:6;;;;;;;;;;;18169:16;;:6;:16;;;18161:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;18238:28;18245:6;18253:9;18264:1;18238:6;:28::i;:::-;18226:40;;18051:227;17924:361;;;;:::o;9416:103::-;8661:13;:11;:13::i;:::-;9481:30:::1;9508:1;9481:18;:30::i;:::-;9416:103::o:0;11256:145::-;8661:13;:11;:13::i;:::-;11357:1:::1;11318:42;;11338:9;;;;;;;;;;;11318:42;;;;;;;;;;;;11391:1;11371:9;;:22;;;;;;;;;;;;;;;;;;11256:145::o:0;8775:87::-;8821:7;8848:6;;;;;;;;;;;8841:13;;8775:87;:::o;17485:57::-;17523:4;;;;;;;;;;;:9;;;:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17485:57::o;17141:17::-;;;;;;;;;;;;;:::o;17113:21::-;;;;;;;;;;;;;:::o;9674:201::-;8661:13;:11;:13::i;:::-;9783:1:::1;9763:22;;:8;:22;;::::0;9755:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;9839:28;9858:8;9839:18;:28::i;:::-;9674:201:::0;:::o;8940:132::-;9015:12;:10;:12::i;:::-;9004:23;;:7;:5;:7::i;:::-;:23;;;8996:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8940:132::o;10991:257::-;11092:1;11068:26;;:12;:26;;;11060:84;;;;;;;;;;;;:::i;:::-;;;;;;;;;11192:12;11160:45;;11188:1;11160:45;;;;;;;;;;;;11228:12;11216:9;;:24;;;;;;;;;;;;;;;;;;10991:257;:::o;18419:491::-;18583:17;18613:25;18647:4;;;;;;;;;;;18641:29;;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18613:59;;18720:17;18705:11;:32;;18683:113;;;;;;;;;;;;:::i;:::-;;;;;;;;;18809:13;18831:4;;;;;;;;;;;18825:17;;;18843:7;18852:8;18862:11;18825:49;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18809:65;;18897:5;18885:17;;18602:308;;18419:491;;;;;:::o;7375:98::-;7428:7;7455:10;7448:17;;7375:98;:::o;10035:191::-;10109:16;10128:6;;;;;;;;;;;10109:25;;10154:8;10145:6;;:17;;;;;;;;;;;;;;;;;;10209:8;10178:40;;10199:8;10178:40;;;;;;;;;;;;10098:128;10035:191;:::o;7:126:1:-;44:7;84:42;77:5;73:54;62:65;;7:126;;;:::o;139:96::-;176:7;205:24;223:5;205:24;:::i;:::-;194:35;;139:96;;;:::o;241:118::-;328:24;346:5;328:24;:::i;:::-;323:3;316:37;241:118;;:::o;365:222::-;458:4;496:2;485:9;481:18;473:26;;509:71;577:1;566:9;562:17;553:6;509:71;:::i;:::-;365:222;;;;:::o;674:117::-;783:1;780;773:12;920:122;993:24;1011:5;993:24;:::i;:::-;986:5;983:35;973:63;;1032:1;1029;1022:12;973:63;920:122;:::o;1048:139::-;1094:5;1132:6;1119:20;1110:29;;1148:33;1175:5;1148:33;:::i;:::-;1048:139;;;;:::o;1193:329::-;1252:6;1301:2;1289:9;1280:7;1276:23;1272:32;1269:119;;;1307:79;;:::i;:::-;1269:119;1427:1;1452:53;1497:7;1488:6;1477:9;1473:22;1452:53;:::i;:::-;1442:63;;1398:117;1193:329;;;;:::o;1528:77::-;1565:7;1594:5;1583:16;;1528:77;;;:::o;1611:122::-;1684:24;1702:5;1684:24;:::i;:::-;1677:5;1674:35;1664:63;;1723:1;1720;1713:12;1664:63;1611:122;:::o;1739:139::-;1785:5;1823:6;1810:20;1801:29;;1839:33;1866:5;1839:33;:::i;:::-;1739:139;;;;:::o;1884:474::-;1952:6;1960;2009:2;1997:9;1988:7;1984:23;1980:32;1977:119;;;2015:79;;:::i;:::-;1977:119;2135:1;2160:53;2205:7;2196:6;2185:9;2181:22;2160:53;:::i;:::-;2150:63;;2106:117;2262:2;2288:53;2333:7;2324:6;2313:9;2309:22;2288:53;:::i;:::-;2278:63;;2233:118;1884:474;;;;;:::o;2364:118::-;2451:24;2469:5;2451:24;:::i;:::-;2446:3;2439:37;2364:118;;:::o;2488:222::-;2581:4;2619:2;2608:9;2604:18;2596:26;;2632:71;2700:1;2689:9;2685:17;2676:6;2632:71;:::i;:::-;2488:222;;;;:::o;2716:90::-;2750:7;2793:5;2786:13;2779:21;2768:32;;2716:90;;;:::o;2812:109::-;2893:21;2908:5;2893:21;:::i;:::-;2888:3;2881:34;2812:109;;:::o;2927:210::-;3014:4;3052:2;3041:9;3037:18;3029:26;;3065:65;3127:1;3116:9;3112:17;3103:6;3065:65;:::i;:::-;2927:210;;;;:::o;3143:60::-;3171:3;3192:5;3185:12;;3143:60;;;:::o;3209:142::-;3259:9;3292:53;3310:34;3319:24;3337:5;3319:24;:::i;:::-;3310:34;:::i;:::-;3292:53;:::i;:::-;3279:66;;3209:142;;;:::o;3357:126::-;3407:9;3440:37;3471:5;3440:37;:::i;:::-;3427:50;;3357:126;;;:::o;3489:139::-;3552:9;3585:37;3616:5;3585:37;:::i;:::-;3572:50;;3489:139;;;:::o;3634:157::-;3734:50;3778:5;3734:50;:::i;:::-;3729:3;3722:63;3634:157;;:::o;3797:248::-;3903:4;3941:2;3930:9;3926:18;3918:26;;3954:84;4035:1;4024:9;4020:17;4011:6;3954:84;:::i;:::-;3797:248;;;;:::o;4051:169::-;4135:11;4169:6;4164:3;4157:19;4209:4;4204:3;4200:14;4185:29;;4051:169;;;;:::o;4226:171::-;4366:23;4362:1;4354:6;4350:14;4343:47;4226:171;:::o;4403:366::-;4545:3;4566:67;4630:2;4625:3;4566:67;:::i;:::-;4559:74;;4642:93;4731:3;4642:93;:::i;:::-;4760:2;4755:3;4751:12;4744:19;;4403:366;;;:::o;4775:419::-;4941:4;4979:2;4968:9;4964:18;4956:26;;5028:9;5022:4;5018:20;5014:1;5003:9;4999:17;4992:47;5056:131;5182:4;5056:131;:::i;:::-;5048:139;;4775:419;;;:::o;5200:225::-;5340:34;5336:1;5328:6;5324:14;5317:58;5409:8;5404:2;5396:6;5392:15;5385:33;5200:225;:::o;5431:366::-;5573:3;5594:67;5658:2;5653:3;5594:67;:::i;:::-;5587:74;;5670:93;5759:3;5670:93;:::i;:::-;5788:2;5783:3;5779:12;5772:19;;5431:366;;;:::o;5803:419::-;5969:4;6007:2;5996:9;5992:18;5984:26;;6056:9;6050:4;6046:20;6042:1;6031:9;6027:17;6020:47;6084:131;6210:4;6084:131;:::i;:::-;6076:139;;5803:419;;;:::o;6228:182::-;6368:34;6364:1;6356:6;6352:14;6345:58;6228:182;:::o;6416:366::-;6558:3;6579:67;6643:2;6638:3;6579:67;:::i;:::-;6572:74;;6655:93;6744:3;6655:93;:::i;:::-;6773:2;6768:3;6764:12;6757:19;;6416:366;;;:::o;6788:419::-;6954:4;6992:2;6981:9;6977:18;6969:26;;7041:9;7035:4;7031:20;7027:1;7016:9;7012:17;7005:47;7069:131;7195:4;7069:131;:::i;:::-;7061:139;;6788:419;;;:::o;7213:232::-;7353:34;7349:1;7341:6;7337:14;7330:58;7422:15;7417:2;7409:6;7405:15;7398:40;7213:232;:::o;7451:366::-;7593:3;7614:67;7678:2;7673:3;7614:67;:::i;:::-;7607:74;;7690:93;7779:3;7690:93;:::i;:::-;7808:2;7803:3;7799:12;7792:19;;7451:366;;;:::o;7823:419::-;7989:4;8027:2;8016:9;8012:18;8004:26;;8076:9;8070:4;8066:20;8062:1;8051:9;8047:17;8040:47;8104:131;8230:4;8104:131;:::i;:::-;8096:139;;7823:419;;;:::o;8248:143::-;8305:5;8336:6;8330:13;8321:22;;8352:33;8379:5;8352:33;:::i;:::-;8248:143;;;;:::o;8397:351::-;8467:6;8516:2;8504:9;8495:7;8491:23;8487:32;8484:119;;;8522:79;;:::i;:::-;8484:119;8642:1;8667:64;8723:7;8714:6;8703:9;8699:22;8667:64;:::i;:::-;8657:74;;8613:128;8397:351;;;;:::o;8754:181::-;8894:33;8890:1;8882:6;8878:14;8871:57;8754:181;:::o;8941:366::-;9083:3;9104:67;9168:2;9163:3;9104:67;:::i;:::-;9097:74;;9180:93;9269:3;9180:93;:::i;:::-;9298:2;9293:3;9289:12;9282:19;;8941:366;;;:::o;9313:419::-;9479:4;9517:2;9506:9;9502:18;9494:26;;9566:9;9560:4;9556:20;9552:1;9541:9;9537:17;9530:47;9594:131;9720:4;9594:131;:::i;:::-;9586:139;;9313:419;;;:::o;9738:442::-;9887:4;9925:2;9914:9;9910:18;9902:26;;9938:71;10006:1;9995:9;9991:17;9982:6;9938:71;:::i;:::-;10019:72;10087:2;10076:9;10072:18;10063:6;10019:72;:::i;:::-;10101;10169:2;10158:9;10154:18;10145:6;10101:72;:::i;:::-;9738:442;;;;;;:::o
Swarm Source
ipfs://beac308adb0eb46be602b7b64af9f7c186dc729cbd6e93b46e28efd61750b997
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 35 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.