Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 29 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer Ownersh... | 14828770 | 836 days ago | IN | 0 ETH | 0.00033352 | ||||
Set Configs | 12501457 | 1199 days ago | IN | 0 ETH | 0.01002714 | ||||
Set Oracle | 12406076 | 1214 days ago | IN | 0 ETH | 0.00709155 | ||||
Set Oracle | 12394956 | 1215 days ago | IN | 0 ETH | 0.01282648 | ||||
Set Oracle | 12394233 | 1215 days ago | IN | 0 ETH | 0.00362075 | ||||
Set Configs | 11540343 | 1347 days ago | IN | 0 ETH | 0.0025479 | ||||
Set Configs | 11516574 | 1350 days ago | IN | 0 ETH | 0.0021794 | ||||
Set Configs | 11495323 | 1354 days ago | IN | 0 ETH | 0.00164217 | ||||
Set Configs | 11419895 | 1365 days ago | IN | 0 ETH | 0.00354819 | ||||
Set Configs | 11411839 | 1367 days ago | IN | 0 ETH | 0.0047256 | ||||
Set Configs | 11366489 | 1374 days ago | IN | 0 ETH | 0.00371695 | ||||
Set Configs | 11340742 | 1377 days ago | IN | 0 ETH | 0.00077852 | ||||
Set Configs | 11340717 | 1377 days ago | IN | 0 ETH | 0.00134417 | ||||
Set Configs | 11339279 | 1378 days ago | IN | 0 ETH | 0.00108215 | ||||
Set Configs | 11324988 | 1380 days ago | IN | 0 ETH | 0.00332755 | ||||
Set Configs | 11313997 | 1382 days ago | IN | 0 ETH | 0.004318 | ||||
Set Configs | 11288144 | 1386 days ago | IN | 0 ETH | 0.00212397 | ||||
Set Configs | 11281690 | 1387 days ago | IN | 0 ETH | 0.00346915 | ||||
Set Configs | 11274989 | 1388 days ago | IN | 0 ETH | 0.00353995 | ||||
Set Configs | 11241392 | 1393 days ago | IN | 0 ETH | 0.00312304 | ||||
Set Configs | 11228537 | 1395 days ago | IN | 0 ETH | 0.0017404 | ||||
Set Configs | 11194969 | 1400 days ago | IN | 0 ETH | 0.00568602 | ||||
Set Configs | 11184300 | 1401 days ago | IN | 0 ETH | 0.00140643 | ||||
Set Configs | 11183996 | 1402 days ago | IN | 0 ETH | 0.00108187 | ||||
Set Configs | 11183727 | 1402 days ago | IN | 0 ETH | 0.00202723 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
UniswapGoblinConfig
Compiler Version
v0.5.16+commit.9c3226ce
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-10-15 */ // File: openzeppelin-solidity-2.3.0/contracts/ownership/Ownable.sol pragma solidity ^0.5.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. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be aplied to your functions to restrict their use to * the owner. */ contract Ownable { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor () internal { _owner = msg.sender; emit OwnershipTransferred(address(0), _owner); } /** * @dev Returns the address of the current owner. */ function owner() public view returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(isOwner(), "Ownable: caller is not the owner"); _; } /** * @dev Returns true if the caller is the current owner. */ function isOwner() public view returns (bool) { return msg.sender == _owner; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * > Note: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = 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 onlyOwner { _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). */ function _transferOwnership(address newOwner) internal { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } // File: openzeppelin-solidity-2.3.0/contracts/math/SafeMath.sol pragma solidity ^0.5.0; /** * @dev Wrappers over Solidity's arithmetic operations with added overflow * checks. * * Arithmetic operations in Solidity wrap on overflow. This can easily result * in bugs, because programmers usually assume that an overflow raises an * error, which is the standard behavior in high level programming languages. * `SafeMath` restores this intuition by reverting the transaction when an * operation overflows. * * Using this library instead of the unchecked operations eliminates an entire * class of bugs, so it's recommended to use it always. */ library SafeMath { /** * @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) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } /** * @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) { require(b <= a, "SafeMath: subtraction overflow"); uint256 c = a - b; return c; } /** * @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) { // 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-solidity/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } /** * @dev Returns the integer division of two unsigned integers. Reverts 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) internal pure returns (uint256) { // Solidity only automatically asserts when dividing by 0 require(b > 0, "SafeMath: division by zero"); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts 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) { require(b != 0, "SafeMath: modulo by zero"); return a % b; } } // File: @uniswap/v2-core/contracts/interfaces/IUniswapV2Pair.sol pragma solidity >=0.5.0; interface IUniswapV2Pair { event Approval(address indexed owner, address indexed spender, uint value); event Transfer(address indexed from, address indexed to, uint value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint); function balanceOf(address owner) external view returns (uint); function allowance(address owner, address spender) external view returns (uint); function approve(address spender, uint value) external returns (bool); function transfer(address to, uint value) external returns (bool); function transferFrom(address from, address to, uint value) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint); function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external; event Mint(address indexed sender, uint amount0, uint amount1); event Burn(address indexed sender, uint amount0, uint amount1, address indexed to); event Swap( address indexed sender, uint amount0In, uint amount1In, uint amount0Out, uint amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint); function factory() external view returns (address); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast); function price0CumulativeLast() external view returns (uint); function price1CumulativeLast() external view returns (uint); function kLast() external view returns (uint); function mint(address to) external returns (uint liquidity); function burn(address to) external returns (uint amount0, uint amount1); function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } // File: contracts/GoblinConfig.sol pragma solidity 0.5.16; interface GoblinConfig { /// @dev Return whether the given goblin accepts more debt. function acceptDebt(address goblin) external view returns (bool); /// @dev Return the work factor for the goblin + ETH debt, using 1e4 as denom. function workFactor(address goblin, uint256 debt) external view returns (uint256); /// @dev Return the kill factor for the goblin + ETH debt, using 1e4 as denom. function killFactor(address goblin, uint256 debt) external view returns (uint256); } // File: contracts/PriceOracle.sol pragma solidity 0.5.16; interface PriceOracle { /// @dev Return the wad price of token0/token1, multiplied by 1e18 /// NOTE: (if you have 1 token0 how much you can sell it for token1) function getPrice(address token0, address token1) external view returns (uint256 price, uint256 lastUpdate); } // File: contracts/SafeToken.sol pragma solidity 0.5.16; interface ERC20Interface { function balanceOf(address user) external view returns (uint256); } library SafeToken { function myBalance(address token) internal view returns (uint256) { return ERC20Interface(token).balanceOf(address(this)); } function balanceOf(address token, address user) internal view returns (uint256) { return ERC20Interface(token).balanceOf(user); } function safeApprove(address token, address to, uint256 value) internal { // bytes4(keccak256(bytes('approve(address,uint256)'))); (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0x095ea7b3, to, value)); require(success && (data.length == 0 || abi.decode(data, (bool))), "!safeApprove"); } function safeTransfer(address token, address to, uint256 value) internal { // bytes4(keccak256(bytes('transfer(address,uint256)'))); (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0xa9059cbb, to, value)); require(success && (data.length == 0 || abi.decode(data, (bool))), "!safeTransfer"); } function safeTransferFrom(address token, address from, address to, uint256 value) internal { // bytes4(keccak256(bytes('transferFrom(address,address,uint256)'))); (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0x23b872dd, from, to, value)); require(success && (data.length == 0 || abi.decode(data, (bool))), "!safeTransferFrom"); } function safeTransferETH(address to, uint256 value) internal { (bool success, ) = to.call.value(value)(new bytes(0)); require(success, "!safeTransferETH"); } } // File: contracts/UniswapGoblinConfig.sol pragma solidity 0.5.16; pragma experimental ABIEncoderV2; interface IUniswapGoblin { function lpToken() external view returns (IUniswapV2Pair); } contract UniswapGoblinConfig is Ownable, GoblinConfig { using SafeToken for address; using SafeMath for uint256; struct Config { bool acceptDebt; uint64 workFactor; uint64 killFactor; uint64 maxPriceDiff; } PriceOracle public oracle; mapping (address => Config) public goblins; constructor(PriceOracle _oracle) public { oracle = _oracle; } /// @dev Set oracle address. Must be called by owner. function setOracle(PriceOracle _oracle) external onlyOwner { oracle = _oracle; } /// @dev Set goblin configurations. Must be called by owner. function setConfigs(address[] calldata addrs, Config[] calldata configs) external onlyOwner { uint256 len = addrs.length; require(configs.length == len, "bad len"); for (uint256 idx = 0; idx < len; idx++) { goblins[addrs[idx]] = Config({ acceptDebt: configs[idx].acceptDebt, workFactor: configs[idx].workFactor, killFactor: configs[idx].killFactor, maxPriceDiff: configs[idx].maxPriceDiff }); } } /// @dev Return whether the given goblin is stable, presumably not under manipulation. function isStable(address goblin) public view returns (bool) { IUniswapV2Pair lp = IUniswapGoblin(goblin).lpToken(); address token0 = lp.token0(); address token1 = lp.token1(); // 1. Check that reserves and balances are consistent (within 1%) (uint256 r0, uint256 r1,) = lp.getReserves(); uint256 t0bal = token0.balanceOf(address(lp)); uint256 t1bal = token1.balanceOf(address(lp)); require(t0bal.mul(100) <= r0.mul(101), "bad t0 balance"); require(t1bal.mul(100) <= r1.mul(101), "bad t1 balance"); // 2. Check that price is in the acceptable range (uint256 price, uint256 lastUpdate) = oracle.getPrice(token0, token1); require(lastUpdate >= now - 7 days, "price too stale"); uint256 lpPrice = r1.mul(1e18).div(r0); uint256 maxPriceDiff = goblins[goblin].maxPriceDiff; require(lpPrice <= price.mul(maxPriceDiff).div(10000), "price too high"); require(lpPrice >= price.mul(10000).div(maxPriceDiff), "price too low"); // 3. Done return true; } /// @dev Return whether the given goblin accepts more debt. function acceptDebt(address goblin) external view returns (bool) { require(isStable(goblin), "!stable"); return goblins[goblin].acceptDebt; } /// @dev Return the work factor for the goblin + ETH debt, using 1e4 as denom. function workFactor(address goblin, uint256 /* debt */) external view returns (uint256) { require(isStable(goblin), "!stable"); return uint256(goblins[goblin].workFactor); } /// @dev Return the kill factor for the goblin + ETH debt, using 1e4 as denom. function killFactor(address goblin, uint256 /* debt */) external view returns (uint256) { require(isStable(goblin), "!stable"); return uint256(goblins[goblin].killFactor); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"contract PriceOracle","name":"_oracle","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"constant":true,"inputs":[{"internalType":"address","name":"goblin","type":"address"}],"name":"acceptDebt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"goblins","outputs":[{"internalType":"bool","name":"acceptDebt","type":"bool"},{"internalType":"uint64","name":"workFactor","type":"uint64"},{"internalType":"uint64","name":"killFactor","type":"uint64"},{"internalType":"uint64","name":"maxPriceDiff","type":"uint64"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"goblin","type":"address"}],"name":"isStable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"goblin","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"killFactor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"oracle","outputs":[{"internalType":"contract PriceOracle","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address[]","name":"addrs","type":"address[]"},{"components":[{"internalType":"bool","name":"acceptDebt","type":"bool"},{"internalType":"uint64","name":"workFactor","type":"uint64"},{"internalType":"uint64","name":"killFactor","type":"uint64"},{"internalType":"uint64","name":"maxPriceDiff","type":"uint64"}],"internalType":"struct UniswapGoblinConfig.Config[]","name":"configs","type":"tuple[]"}],"name":"setConfigs","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"contract PriceOracle","name":"_oracle","type":"address"}],"name":"setOracle","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"goblin","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"workFactor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"}]
Contract Creation Code
60806040523480156200001157600080fd5b5060405162001403380380620014038339810160408190526200003491620000b6565b600080546001600160a01b03191633178082556040516001600160a01b039190911691907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3600180546001600160a01b0319166001600160a01b03929092169190911790556200011f565b8051620000b08162000105565b92915050565b600060208284031215620000c957600080fd5b6000620000d78484620000a3565b949350505050565b6000620000b082620000f9565b6000620000b082620000df565b6001600160a01b031690565b6200011081620000ec565b81146200011c57600080fd5b50565b6112d4806200012f6000396000f3fe608060405234801561001057600080fd5b50600436106100b35760003560e01c80638da5cb5b116100715780638da5cb5b146101465780638f32d59b1461015b5780639185f6ec14610163578063a71d6f4314610176578063ad58e57314610199578063f2fde38b146101ac576100b3565b80620237f0146100b85780630e803bf5146100e157806313f6321b146100f6578063715018a6146101165780637adbf9731461011e5780637dc0d1d014610131575b600080fd5b6100cb6100c6366004610c6b565b6101bf565b6040516100d891906110db565b60405180910390f35b6100f46100ef366004610ce9565b61020e565b005b610109610104366004610caf565b6103ec565b6040516100d891906111e5565b6100f4610444565b6100f461012c366004610d93565b6104b2565b6101396104f8565b6040516100d89190611127565b61014e610507565b6040516100d891906110b2565b6100cb610516565b6100cb610171366004610c6b565b610527565b610189610184366004610c6b565b610942565b6040516100d894939291906110e9565b6101096101a7366004610caf565b61097c565b6100f46101ba366004610c6b565b6109ce565b60006101ca82610527565b6101ef5760405162461bcd60e51b81526004016101e690611175565b60405180910390fd5b506001600160a01b031660009081526002602052604090205460ff1690565b610216610516565b6102325760405162461bcd60e51b81526004016101e6906111a5565b828181146102525760405162461bcd60e51b81526004016101e6906111c5565b60005b818110156103e457604051806080016040528085858481811061027457fe5b61028a9260206080909202019081019150610d57565b1515815260200185858481811061029d57fe5b90506080020160200160206102b59190810190610e4c565b6001600160401b031681526020018585848181106102cf57fe5b90506080020160400160206102e79190810190610e4c565b6001600160401b0316815260200185858481811061030157fe5b90506080020160600160206103199190810190610e4c565b6001600160401b031690526002600088888581811061033457fe5b90506020020160206103499190810190610c6b565b6001600160a01b03168152602080820192909252604090810160002083518154938501519285015160609095015160ff199094169015151768ffffffffffffffff0019166101006001600160401b03938416021770ffffffffffffffff0000000000000000001916600160481b948316949094029390931767ffffffffffffffff60881b1916600160881b9190921602179055600101610255565b505050505050565b60006103f783610527565b6104135760405162461bcd60e51b81526004016101e690611175565b506001600160a01b038216600090815260026020526040902054600160481b90046001600160401b03165b92915050565b61044c610516565b6104685760405162461bcd60e51b81526004016101e6906111a5565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6104ba610516565b6104d65760405162461bcd60e51b81526004016101e6906111a5565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b031681565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b600080826001600160a01b0316635fcbd2856040518163ffffffff1660e01b815260040160206040518083038186803b15801561056357600080fd5b505afa158015610577573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061059b9190810190610d75565b90506000816001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b1580156105d857600080fd5b505afa1580156105ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106109190810190610c91565b90506000826001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b15801561064d57600080fd5b505afa158015610661573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106859190810190610c91565b9050600080846001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b1580156106c357600080fd5b505afa1580156106d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106fb9190810190610db1565b506001600160701b03918216935016905060006107276001600160a01b0386168763ffffffff6109fe16565b905060006107446001600160a01b0386168863ffffffff6109fe16565b905061075784606563ffffffff610a8416565b61076883606463ffffffff610a8416565b11156107865760405162461bcd60e51b81526004016101e6906111b5565b61079783606563ffffffff610a8416565b6107a882606463ffffffff610a8416565b11156107c65760405162461bcd60e51b81526004016101e690611155565b600154604051635620c32d60e11b815260009182916001600160a01b039091169063ac41865a906107fd908b908b906004016110c0565b604080518083038186803b15801561081457600080fd5b505afa158015610828573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061084c9190810190610e1c565b9150915062093a8042038110156108755760405162461bcd60e51b81526004016101e690611185565b600061089f8761089388670de0b6b3a764000063ffffffff610a8416565b9063ffffffff610abe16565b6001600160a01b038d16600090815260026020526040902054909150600160881b90046001600160401b03166108db6127106108938684610a84565b8211156108fa5760405162461bcd60e51b81526004016101e6906111d5565b610910816108938661271063ffffffff610a8416565b82101561092f5760405162461bcd60e51b81526004016101e690611145565b5060019c9b505050505050505050505050565b60026020526000908152604090205460ff8116906001600160401b036101008204811691600160481b8104821691600160881b9091041684565b600061098783610527565b6109a35760405162461bcd60e51b81526004016101e690611175565b50506001600160a01b031660009081526002602052604090205461010090046001600160401b031690565b6109d6610516565b6109f25760405162461bcd60e51b81526004016101e6906111a5565b6109fb81610af3565b50565b6040516370a0823160e01b81526000906001600160a01b038416906370a0823190610a2d9085906004016110b2565b60206040518083038186803b158015610a4557600080fd5b505afa158015610a59573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a7d9190810190610dfe565b9392505050565b600082610a935750600061043e565b82820282848281610aa057fe5b0414610a7d5760405162461bcd60e51b81526004016101e690611195565b6000808211610adf5760405162461bcd60e51b81526004016101e690611165565b6000828481610aea57fe5b04949350505050565b6001600160a01b038116610b195760405162461bcd60e51b81526004016101e690611135565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b803561043e81611247565b805161043e81611247565b60008083601f840112610b9c57600080fd5b5081356001600160401b03811115610bb357600080fd5b602083019150836020820283011115610bcb57600080fd5b9250929050565b60008083601f840112610be457600080fd5b5081356001600160401b03811115610bfb57600080fd5b602083019150836080820283011115610bcb57600080fd5b803561043e8161125b565b805161043e81611264565b803561043e81611264565b805161043e8161126d565b803561043e81611276565b805161043e81611276565b805161043e8161127f565b803561043e81611288565b600060208284031215610c7d57600080fd5b6000610c898484610b74565b949350505050565b600060208284031215610ca357600080fd5b6000610c898484610b7f565b60008060408385031215610cc257600080fd5b6000610cce8585610b74565b9250506020610cdf85828601610c3f565b9150509250929050565b60008060008060408587031215610cff57600080fd5b84356001600160401b03811115610d1557600080fd5b610d2187828801610b8a565b945094505060208501356001600160401b03811115610d3f57600080fd5b610d4b87828801610bd2565b95989497509550505050565b600060208284031215610d6957600080fd5b6000610c898484610c13565b600060208284031215610d8757600080fd5b6000610c898484610c1e565b600060208284031215610da557600080fd5b6000610c898484610c29565b600080600060608486031215610dc657600080fd5b6000610dd28686610c34565b9350506020610de386828701610c34565b9250506040610df486828701610c55565b9150509250925092565b600060208284031215610e1057600080fd5b6000610c898484610c4a565b60008060408385031215610e2f57600080fd5b6000610e3b8585610c4a565b9250506020610cdf85828601610c4a565b600060208284031215610e5e57600080fd5b6000610c898484610c60565b610e73816111fc565b82525050565b610e7381611207565b610e738161120c565b6000610e986026836111f3565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206181526564647265737360d01b602082015260400192915050565b6000610ee0600d836111f3565b6c707269636520746f6f206c6f7760981b815260200192915050565b6000610f09600e836111f3565b6d6261642074312062616c616e636560901b815260200192915050565b6000610f33601a836111f3565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000610f6c6007836111f3565b6621737461626c6560c81b815260200192915050565b6000610f8f600f836111f3565b6e707269636520746f6f207374616c6560881b815260200192915050565b6000610fba6021836111f3565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000610ffd6020836111f3565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572815260200192915050565b6000611036600e836111f3565b6d6261642074302062616c616e636560901b815260200192915050565b60006110606007836111f3565b663130b2103632b760c91b815260200192915050565b6000611083600e836111f3565b6d0e0e4d2c6ca40e8dede40d0d2ced60931b815260200192915050565b610e738161122f565b610e738161123b565b6020810161043e8284610e6a565b604081016110ce8285610e6a565b610a7d6020830184610e6a565b6020810161043e8284610e79565b608081016110f78287610e79565b61110460208301866110a9565b61111160408301856110a9565b61111e60608301846110a9565b95945050505050565b6020810161043e8284610e82565b6020808252810161043e81610e8b565b6020808252810161043e81610ed3565b6020808252810161043e81610efc565b6020808252810161043e81610f26565b6020808252810161043e81610f5f565b6020808252810161043e81610f82565b6020808252810161043e81610fad565b6020808252810161043e81610ff0565b6020808252810161043e81611029565b6020808252810161043e81611053565b6020808252810161043e81611076565b6020810161043e82846110a0565b90815260200190565b600061043e82611223565b151590565b600061043e826111fc565b6001600160701b031690565b6001600160a01b031690565b90565b63ffffffff1690565b6001600160401b031690565b611250816111fc565b81146109fb57600080fd5b61125081611207565b6112508161120c565b61125081611217565b6112508161122f565b61125081611232565b6112508161123b56fea365627a7a72315820cfa9f0a55388c8efcb876f0a567723a52edbf577c7f83744c47f68750c599a426c6578706572696d656e74616cf564736f6c6343000510004000000000000000000000000005e7b38931948e10171e643e5f3004dcd0bef22b
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100b35760003560e01c80638da5cb5b116100715780638da5cb5b146101465780638f32d59b1461015b5780639185f6ec14610163578063a71d6f4314610176578063ad58e57314610199578063f2fde38b146101ac576100b3565b80620237f0146100b85780630e803bf5146100e157806313f6321b146100f6578063715018a6146101165780637adbf9731461011e5780637dc0d1d014610131575b600080fd5b6100cb6100c6366004610c6b565b6101bf565b6040516100d891906110db565b60405180910390f35b6100f46100ef366004610ce9565b61020e565b005b610109610104366004610caf565b6103ec565b6040516100d891906111e5565b6100f4610444565b6100f461012c366004610d93565b6104b2565b6101396104f8565b6040516100d89190611127565b61014e610507565b6040516100d891906110b2565b6100cb610516565b6100cb610171366004610c6b565b610527565b610189610184366004610c6b565b610942565b6040516100d894939291906110e9565b6101096101a7366004610caf565b61097c565b6100f46101ba366004610c6b565b6109ce565b60006101ca82610527565b6101ef5760405162461bcd60e51b81526004016101e690611175565b60405180910390fd5b506001600160a01b031660009081526002602052604090205460ff1690565b610216610516565b6102325760405162461bcd60e51b81526004016101e6906111a5565b828181146102525760405162461bcd60e51b81526004016101e6906111c5565b60005b818110156103e457604051806080016040528085858481811061027457fe5b61028a9260206080909202019081019150610d57565b1515815260200185858481811061029d57fe5b90506080020160200160206102b59190810190610e4c565b6001600160401b031681526020018585848181106102cf57fe5b90506080020160400160206102e79190810190610e4c565b6001600160401b0316815260200185858481811061030157fe5b90506080020160600160206103199190810190610e4c565b6001600160401b031690526002600088888581811061033457fe5b90506020020160206103499190810190610c6b565b6001600160a01b03168152602080820192909252604090810160002083518154938501519285015160609095015160ff199094169015151768ffffffffffffffff0019166101006001600160401b03938416021770ffffffffffffffff0000000000000000001916600160481b948316949094029390931767ffffffffffffffff60881b1916600160881b9190921602179055600101610255565b505050505050565b60006103f783610527565b6104135760405162461bcd60e51b81526004016101e690611175565b506001600160a01b038216600090815260026020526040902054600160481b90046001600160401b03165b92915050565b61044c610516565b6104685760405162461bcd60e51b81526004016101e6906111a5565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6104ba610516565b6104d65760405162461bcd60e51b81526004016101e6906111a5565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b031681565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b600080826001600160a01b0316635fcbd2856040518163ffffffff1660e01b815260040160206040518083038186803b15801561056357600080fd5b505afa158015610577573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061059b9190810190610d75565b90506000816001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b1580156105d857600080fd5b505afa1580156105ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106109190810190610c91565b90506000826001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b15801561064d57600080fd5b505afa158015610661573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106859190810190610c91565b9050600080846001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b1580156106c357600080fd5b505afa1580156106d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106fb9190810190610db1565b506001600160701b03918216935016905060006107276001600160a01b0386168763ffffffff6109fe16565b905060006107446001600160a01b0386168863ffffffff6109fe16565b905061075784606563ffffffff610a8416565b61076883606463ffffffff610a8416565b11156107865760405162461bcd60e51b81526004016101e6906111b5565b61079783606563ffffffff610a8416565b6107a882606463ffffffff610a8416565b11156107c65760405162461bcd60e51b81526004016101e690611155565b600154604051635620c32d60e11b815260009182916001600160a01b039091169063ac41865a906107fd908b908b906004016110c0565b604080518083038186803b15801561081457600080fd5b505afa158015610828573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061084c9190810190610e1c565b9150915062093a8042038110156108755760405162461bcd60e51b81526004016101e690611185565b600061089f8761089388670de0b6b3a764000063ffffffff610a8416565b9063ffffffff610abe16565b6001600160a01b038d16600090815260026020526040902054909150600160881b90046001600160401b03166108db6127106108938684610a84565b8211156108fa5760405162461bcd60e51b81526004016101e6906111d5565b610910816108938661271063ffffffff610a8416565b82101561092f5760405162461bcd60e51b81526004016101e690611145565b5060019c9b505050505050505050505050565b60026020526000908152604090205460ff8116906001600160401b036101008204811691600160481b8104821691600160881b9091041684565b600061098783610527565b6109a35760405162461bcd60e51b81526004016101e690611175565b50506001600160a01b031660009081526002602052604090205461010090046001600160401b031690565b6109d6610516565b6109f25760405162461bcd60e51b81526004016101e6906111a5565b6109fb81610af3565b50565b6040516370a0823160e01b81526000906001600160a01b038416906370a0823190610a2d9085906004016110b2565b60206040518083038186803b158015610a4557600080fd5b505afa158015610a59573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a7d9190810190610dfe565b9392505050565b600082610a935750600061043e565b82820282848281610aa057fe5b0414610a7d5760405162461bcd60e51b81526004016101e690611195565b6000808211610adf5760405162461bcd60e51b81526004016101e690611165565b6000828481610aea57fe5b04949350505050565b6001600160a01b038116610b195760405162461bcd60e51b81526004016101e690611135565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b803561043e81611247565b805161043e81611247565b60008083601f840112610b9c57600080fd5b5081356001600160401b03811115610bb357600080fd5b602083019150836020820283011115610bcb57600080fd5b9250929050565b60008083601f840112610be457600080fd5b5081356001600160401b03811115610bfb57600080fd5b602083019150836080820283011115610bcb57600080fd5b803561043e8161125b565b805161043e81611264565b803561043e81611264565b805161043e8161126d565b803561043e81611276565b805161043e81611276565b805161043e8161127f565b803561043e81611288565b600060208284031215610c7d57600080fd5b6000610c898484610b74565b949350505050565b600060208284031215610ca357600080fd5b6000610c898484610b7f565b60008060408385031215610cc257600080fd5b6000610cce8585610b74565b9250506020610cdf85828601610c3f565b9150509250929050565b60008060008060408587031215610cff57600080fd5b84356001600160401b03811115610d1557600080fd5b610d2187828801610b8a565b945094505060208501356001600160401b03811115610d3f57600080fd5b610d4b87828801610bd2565b95989497509550505050565b600060208284031215610d6957600080fd5b6000610c898484610c13565b600060208284031215610d8757600080fd5b6000610c898484610c1e565b600060208284031215610da557600080fd5b6000610c898484610c29565b600080600060608486031215610dc657600080fd5b6000610dd28686610c34565b9350506020610de386828701610c34565b9250506040610df486828701610c55565b9150509250925092565b600060208284031215610e1057600080fd5b6000610c898484610c4a565b60008060408385031215610e2f57600080fd5b6000610e3b8585610c4a565b9250506020610cdf85828601610c4a565b600060208284031215610e5e57600080fd5b6000610c898484610c60565b610e73816111fc565b82525050565b610e7381611207565b610e738161120c565b6000610e986026836111f3565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206181526564647265737360d01b602082015260400192915050565b6000610ee0600d836111f3565b6c707269636520746f6f206c6f7760981b815260200192915050565b6000610f09600e836111f3565b6d6261642074312062616c616e636560901b815260200192915050565b6000610f33601a836111f3565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000610f6c6007836111f3565b6621737461626c6560c81b815260200192915050565b6000610f8f600f836111f3565b6e707269636520746f6f207374616c6560881b815260200192915050565b6000610fba6021836111f3565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000610ffd6020836111f3565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572815260200192915050565b6000611036600e836111f3565b6d6261642074302062616c616e636560901b815260200192915050565b60006110606007836111f3565b663130b2103632b760c91b815260200192915050565b6000611083600e836111f3565b6d0e0e4d2c6ca40e8dede40d0d2ced60931b815260200192915050565b610e738161122f565b610e738161123b565b6020810161043e8284610e6a565b604081016110ce8285610e6a565b610a7d6020830184610e6a565b6020810161043e8284610e79565b608081016110f78287610e79565b61110460208301866110a9565b61111160408301856110a9565b61111e60608301846110a9565b95945050505050565b6020810161043e8284610e82565b6020808252810161043e81610e8b565b6020808252810161043e81610ed3565b6020808252810161043e81610efc565b6020808252810161043e81610f26565b6020808252810161043e81610f5f565b6020808252810161043e81610f82565b6020808252810161043e81610fad565b6020808252810161043e81610ff0565b6020808252810161043e81611029565b6020808252810161043e81611053565b6020808252810161043e81611076565b6020810161043e82846110a0565b90815260200190565b600061043e82611223565b151590565b600061043e826111fc565b6001600160701b031690565b6001600160a01b031690565b90565b63ffffffff1690565b6001600160401b031690565b611250816111fc565b81146109fb57600080fd5b61125081611207565b6112508161120c565b61125081611217565b6112508161122f565b61125081611232565b6112508161123b56fea365627a7a72315820cfa9f0a55388c8efcb876f0a567723a52edbf577c7f83744c47f68750c599a426c6578706572696d656e74616cf564736f6c63430005100040
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000005e7b38931948e10171e643e5f3004dcd0bef22b
-----Decoded View---------------
Arg [0] : _oracle (address): 0x05e7B38931948E10171E643E5F3004Dcd0Bef22b
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000005e7b38931948e10171e643e5f3004dcd0bef22b
Deployed Bytecode Sourcemap
11664:3220:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11664:3220:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14141:164;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;12329:531;;;;;;;;;:::i;:::-;;14685:196;;;;;;;;;:::i;:::-;;;;;;;;1724:140;;;:::i;12161:94::-;;;;;;;;;:::i;11936:25::-;;;:::i;:::-;;;;;;;;913:79;;;:::i;:::-;;;;;;;;1279:92;;;:::i;12960:1108::-;;;;;;;;;:::i;11968:42::-;;;;;;;;;:::i;:::-;;;;;;;;;;;14397:196;;;;;;;;;:::i;2019:109::-;;;;;;;;;:::i;14141:164::-;14200:4;14225:16;14234:6;14225:8;:16::i;:::-;14217:36;;;;-1:-1:-1;;;14217:36:0;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;14271:15:0;;;;;:7;:15;;;;;:26;;;;14141:164::o;12329:531::-;1125:9;:7;:9::i;:::-;1117:54;;;;-1:-1:-1;;;1117:54:0;;;;;;;;;12446:5;12477:21;;;12469:41;;;;-1:-1:-1;;;12469:41:0;;;;;;;;;12526:11;12521:332;12549:3;12543;:9;12521:332;;;12598:243;;;;;;;;12636:7;;12644:3;12636:12;;;;;;;:23;;;:12;;;;;:23;;;;-1:-1:-1;12636:23:0;;;12598:243;;;;;;12690:7;;12698:3;12690:12;;;;;;;;;;;;:23;;;;;;;;;;;;-1:-1:-1;;;;;12598:243:0;;;;;12744:7;;12752:3;12744:12;;;;;;;;;;;;:23;;;;;;;;;;;;-1:-1:-1;;;;;12598:243:0;;;;;12800:7;;12808:3;12800:12;;;;;;;;;;;;:25;;;;;;;;;;;;-1:-1:-1;;;;;12598:243:0;;;12576:7;:19;12584:5;;12590:3;12584:10;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12576:19:0;;;;;;;;;;;;;;;-1:-1:-1;12576:19:0;:265;;;;;;;;;;;;;;;;;-1:-1:-1;;12576:265:0;;;;;;;-1:-1:-1;;12576:265:0;;-1:-1:-1;;;;;12576:265:0;;;;;-1:-1:-1;;12576:265:0;-1:-1:-1;;;12576:265:0;;;;;;;;;;;-1:-1:-1;;;;12576:265:0;-1:-1:-1;;;12576:265:0;;;;;;;;-1:-1:-1;12554:5:0;12521:332;;;;1182:1;12329:531;;;;:::o;14685:196::-;14764:7;14792:16;14801:6;14792:8;:16::i;:::-;14784:36;;;;-1:-1:-1;;;14784:36:0;;;;;;;;;-1:-1:-1;;;;;;14846:15:0;;;;;;:7;:15;;;;;:26;-1:-1:-1;;;14846:26:0;;-1:-1:-1;;;;;14846:26:0;14685:196;;;;;:::o;1724:140::-;1125:9;:7;:9::i;:::-;1117:54;;;;-1:-1:-1;;;1117:54:0;;;;;;;;;1823:1;1807:6;;1786:40;;-1:-1:-1;;;;;1807:6:0;;;;1786:40;;1823:1;;1786:40;1854:1;1837:19;;-1:-1:-1;;;;;;1837:19:0;;;1724:140::o;12161:94::-;1125:9;:7;:9::i;:::-;1117:54;;;;-1:-1:-1;;;1117:54:0;;;;;;;;;12231:6;:16;;-1:-1:-1;;;;;;12231:16:0;-1:-1:-1;;;;;12231:16:0;;;;;;;;;;12161:94::o;11936:25::-;;;-1:-1:-1;;;;;11936:25:0;;:::o;913:79::-;951:7;978:6;-1:-1:-1;;;;;978:6:0;913:79;:::o;1279:92::-;1319:4;1357:6;-1:-1:-1;;;;;1357:6:0;1343:10;:20;;1279:92::o;12960:1108::-;13015:4;13032:17;13067:6;-1:-1:-1;;;;;13052:30:0;;:32;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13052:32:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13052:32:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13052:32:0;;;;;;;;;13032:52;;13095:14;13112:2;-1:-1:-1;;;;;13112:9:0;;:11;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13112:11:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13112:11:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13112:11:0;;;;;;;;;13095:28;;13134:14;13151:2;-1:-1:-1;;;;;13151:9:0;;:11;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13151:11:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13151:11:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13151:11:0;;;;;;;;;13134:28;;13249:10;13261;13276:2;-1:-1:-1;;;;;13276:14:0;;:16;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13276:16:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13276:16:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13276:16:0;;;;;;;;;-1:-1:-1;;;;;;13248:44:0;;;;-1:-1:-1;13248:44:0;;-1:-1:-1;13303:13:0;13319:29;-1:-1:-1;;;;;13319:16:0;;13344:2;13319:29;:16;:29;:::i;:::-;13303:45;-1:-1:-1;13359:13:0;13375:29;-1:-1:-1;;;;;13375:16:0;;13400:2;13375:29;:16;:29;:::i;:::-;13359:45;-1:-1:-1;13441:11:0;:2;13448:3;13441:11;:6;:11;:::i;:::-;13423:14;:5;13433:3;13423:14;:9;:14;:::i;:::-;:29;;13415:56;;;;-1:-1:-1;;;13415:56:0;;;;;;;;;13508:11;:2;13515:3;13508:11;:6;:11;:::i;:::-;13490:14;:5;13500:3;13490:14;:9;:14;:::i;:::-;:29;;13482:56;;;;-1:-1:-1;;;13482:56:0;;;;;;;;;13646:6;;:31;;-1:-1:-1;;;13646:31:0;;13609:13;;;;-1:-1:-1;;;;;13646:6:0;;;;:15;;:31;;13662:6;;13670;;13646:31;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13646:31:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13646:31:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13646:31:0;;;;;;;;;13608:69;;;;13716:6;13710:3;:12;13696:10;:26;;13688:54;;;;-1:-1:-1;;;13688:54:0;;;;;;;;;13753:15;13771:20;13788:2;13771:12;:2;13778:4;13771:12;:6;:12;:::i;:::-;:16;:20;:16;:20;:::i;:::-;-1:-1:-1;;;;;13825:15:0;;13802:20;13825:15;;;:7;:15;;;;;:28;13753:38;;-1:-1:-1;;;;13825:28:0;;-1:-1:-1;;;;;13825:28:0;13883:34;13911:5;13883:23;:5;13825:28;13883:9;:23::i;:34::-;13872:7;:45;;13864:72;;;;-1:-1:-1;;;13864:72:0;;;;;;;;;13966:34;13987:12;13966:16;:5;13976;13966:16;:9;:16;:::i;:34::-;13955:7;:45;;13947:71;;;;-1:-1:-1;;;13947:71:0;;;;;;;;;-1:-1:-1;14056:4:0;;12960:1108;-1:-1:-1;;;;;;;;;;;;12960:1108:0:o;11968:42::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11968:42:0;;;;;;-1:-1:-1;;;11968:42:0;;;;;-1:-1:-1;;;11968:42:0;;;;;:::o;14397:196::-;14476:7;14504:16;14513:6;14504:8;:16::i;:::-;14496:36;;;;-1:-1:-1;;;14496:36:0;;;;;;;;;-1:-1:-1;;;;;;;14558:15:0;;;;;:7;:15;;;;;:26;;;;-1:-1:-1;;;;;14558:26:0;;14397:196::o;2019:109::-;1125:9;:7;:9::i;:::-;1117:54;;;;-1:-1:-1;;;1117:54:0;;;;;;;;;2092:28;2111:8;2092:18;:28::i;:::-;2019:109;:::o;10010:143::-;10108:37;;-1:-1:-1;;;10108:37:0;;10081:7;;-1:-1:-1;;;;;10108:31:0;;;;;:37;;10140:4;;10108:37;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10108:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10108:37:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;10108:37:0;;;;;;;;;10101:44;10010:143;-1:-1:-1;;;10010:143:0:o;4288:470::-;4346:7;4590:6;4586:47;;-1:-1:-1;4620:1:0;4613:8;;4586:47;4657:5;;;4661:1;4657;:5;:1;4681:5;;;;;:10;4673:56;;;;-1:-1:-1;;;4673:56:0;;;;;;;;5226:333;5284:7;5383:1;5379;:5;5371:44;;;;-1:-1:-1;;;5371:44:0;;;;;;;;;5426:9;5442:1;5438;:5;;;;;;;5226:333;-1:-1:-1;;;;5226:333:0:o;2234:229::-;-1:-1:-1;;;;;2308:22:0;;2300:73;;;;-1:-1:-1;;;2300:73:0;;;;;;;;;2410:6;;;2389:38;;-1:-1:-1;;;;;2389:38:0;;;;2410:6;;;2389:38;;;2438:6;:17;;-1:-1:-1;;;;;;2438:17:0;-1:-1:-1;;;;;2438:17:0;;;;;;;;;;2234:229::o;5:130:-1:-;72:20;;97:33;72:20;97:33;;142:134;220:13;;238:33;220:13;238:33;;301:352;;;431:3;424:4;416:6;412:17;408:27;398:2;;449:1;446;439:12;398:2;-1:-1;469:20;;-1:-1;;;;;498:30;;495:2;;;541:1;538;531:12;495:2;575:4;567:6;563:17;551:29;;626:3;618:4;610:6;606:17;596:8;592:32;589:41;586:2;;;643:1;640;633:12;586:2;391:262;;;;;;705:373;;;856:3;849:4;841:6;837:17;833:27;823:2;;874:1;871;864:12;823:2;-1:-1;894:20;;-1:-1;;;;;923:30;;920:2;;;966:1;963;956:12;920:2;1000:4;992:6;988:17;976:29;;1051:3;1043:4;1035:6;1031:17;1021:8;1017:32;1014:41;1011:2;;;1068:1;1065;1058:12;1086:124;1150:20;;1175:30;1150:20;1175:30;;1217:178;1317:13;;1335:55;1317:13;1335:55;;1402:168;1488:20;;1513:52;1488:20;1513:52;;1577:134;1655:13;;1673:33;1655:13;1673:33;;1718:130;1785:20;;1810:33;1785:20;1810:33;;1855:134;1933:13;;1951:33;1933:13;1951:33;;1996:132;2073:13;;2091:32;2073:13;2091:32;;2135:128;2201:20;;2226:32;2201:20;2226:32;;2270:241;;2374:2;2362:9;2353:7;2349:23;2345:32;2342:2;;;2390:1;2387;2380:12;2342:2;2425:1;2442:53;2487:7;2467:9;2442:53;;;2432:63;2336:175;-1:-1;;;;2336:175;2518:263;;2633:2;2621:9;2612:7;2608:23;2604:32;2601:2;;;2649:1;2646;2639:12;2601:2;2684:1;2701:64;2757:7;2737:9;2701:64;;2788:366;;;2909:2;2897:9;2888:7;2884:23;2880:32;2877:2;;;2925:1;2922;2915:12;2877:2;2960:1;2977:53;3022:7;3002:9;2977:53;;;2967:63;;2939:97;3067:2;3085:53;3130:7;3121:6;3110:9;3106:22;3085:53;;;3075:63;;3046:98;2871:283;;;;;;3161:720;;;;;3373:2;3361:9;3352:7;3348:23;3344:32;3341:2;;;3389:1;3386;3379:12;3341:2;3424:31;;-1:-1;;;;;3464:30;;3461:2;;;3507:1;3504;3497:12;3461:2;3535:80;3607:7;3598:6;3587:9;3583:22;3535:80;;;3525:90;;;;3403:218;3680:2;3669:9;3665:18;3652:32;-1:-1;;;;;3696:6;3693:30;3690:2;;;3736:1;3733;3726:12;3690:2;3764:101;3857:7;3848:6;3837:9;3833:22;3764:101;;;3335:546;;;;-1:-1;3754:111;-1:-1;;;;3335:546;3888:235;;3989:2;3977:9;3968:7;3964:23;3960:32;3957:2;;;4005:1;4002;3995:12;3957:2;4040:1;4057:50;4099:7;4079:9;4057:50;;4130:307;;4267:2;4255:9;4246:7;4242:23;4238:32;4235:2;;;4283:1;4280;4273:12;4235:2;4318:1;4335:86;4413:7;4393:9;4335:86;;4444:279;;4567:2;4555:9;4546:7;4542:23;4538:32;4535:2;;;4583:1;4580;4573:12;4535:2;4618:1;4635:72;4699:7;4679:9;4635:72;;4730:533;;;;4878:2;4866:9;4857:7;4853:23;4849:32;4846:2;;;4894:1;4891;4884:12;4846:2;4929:1;4946:64;5002:7;4982:9;4946:64;;;4936:74;;4908:108;5047:2;5065:64;5121:7;5112:6;5101:9;5097:22;5065:64;;;5055:74;;5026:109;5166:2;5184:63;5239:7;5230:6;5219:9;5215:22;5184:63;;;5174:73;;5145:108;4840:423;;;;;;5270:263;;5385:2;5373:9;5364:7;5360:23;5356:32;5353:2;;;5401:1;5398;5391:12;5353:2;5436:1;5453:64;5509:7;5489:9;5453:64;;5540:399;;;5672:2;5660:9;5651:7;5647:23;5643:32;5640:2;;;5688:1;5685;5678:12;5640:2;5723:1;5740:64;5796:7;5776:9;5740:64;;;5730:74;;5702:108;5841:2;5859:64;5915:7;5906:6;5895:9;5891:22;5859:64;;5946:239;;6049:2;6037:9;6028:7;6024:23;6020:32;6017:2;;;6065:1;6062;6055:12;6017:2;6100:1;6117:52;6161:7;6141:9;6117:52;;6192:113;6275:24;6293:5;6275:24;;;6270:3;6263:37;6257:48;;;6312:104;6389:21;6404:5;6389:21;;6423:164;6525:56;6575:5;6525:56;;6595:375;;6755:67;6819:2;6814:3;6755:67;;;6855:34;6835:55;;-1:-1;;;6919:2;6910:12;;6903:30;6961:2;6952:12;;6741:229;-1:-1;;6741:229;6979:313;;7139:67;7203:2;7198:3;7139:67;;;-1:-1;;;7219:36;;7283:2;7274:12;;7125:167;-1:-1;;7125:167;7301:314;;7461:67;7525:2;7520:3;7461:67;;;-1:-1;;;7541:37;;7606:2;7597:12;;7447:168;-1:-1;;7447:168;7624:326;;7784:67;7848:2;7843:3;7784:67;;;7884:28;7864:49;;7941:2;7932:12;;7770:180;-1:-1;;7770:180;7959:306;;8119:66;8183:1;8178:3;8119:66;;;-1:-1;;;8198:30;;8256:2;8247:12;;8105:160;-1:-1;;8105:160;8274:315;;8434:67;8498:2;8493:3;8434:67;;;-1:-1;;;8514:38;;8580:2;8571:12;;8420:169;-1:-1;;8420:169;8598:370;;8758:67;8822:2;8817:3;8758:67;;;8858:34;8838:55;;-1:-1;;;8922:2;8913:12;;8906:25;8959:2;8950:12;;8744:224;-1:-1;;8744:224;8977:332;;9137:67;9201:2;9196:3;9137:67;;;9237:34;9217:55;;9300:2;9291:12;;9123:186;-1:-1;;9123:186;9318:314;;9478:67;9542:2;9537:3;9478:67;;;-1:-1;;;9558:37;;9623:2;9614:12;;9464:168;-1:-1;;9464:168;9641:306;;9801:66;9865:1;9860:3;9801:66;;;-1:-1;;;9880:30;;9938:2;9929:12;;9787:160;-1:-1;;9787:160;9956:314;;10116:67;10180:2;10175:3;10116:67;;;-1:-1;;;10196:37;;10261:2;10252:12;;10102:168;-1:-1;;10102:168;10278:113;10361:24;10379:5;10361:24;;10398:110;10479:23;10496:5;10479:23;;10515:213;10633:2;10618:18;;10647:71;10622:9;10691:6;10647:71;;10735:324;10881:2;10866:18;;10895:71;10870:9;10939:6;10895:71;;;10977:72;11045:2;11034:9;11030:18;11021:6;10977:72;;11066:201;11178:2;11163:18;;11192:65;11167:9;11230:6;11192:65;;11274:523;11464:3;11449:19;;11479:65;11453:9;11517:6;11479:65;;;11555:70;11621:2;11610:9;11606:18;11597:6;11555:70;;;11636;11702:2;11691:9;11687:18;11678:6;11636:70;;;11717;11783:2;11772:9;11768:18;11759:6;11717:70;;;11435:362;;;;;;;;11804:251;11941:2;11926:18;;11955:90;11930:9;12018:6;11955:90;;12062:407;12253:2;12267:47;;;12238:18;;12328:131;12238:18;12328:131;;12476:407;12667:2;12681:47;;;12652:18;;12742:131;12652:18;12742:131;;12890:407;13081:2;13095:47;;;13066:18;;13156:131;13066:18;13156:131;;13304:407;13495:2;13509:47;;;13480:18;;13570:131;13480:18;13570:131;;13718:407;13909:2;13923:47;;;13894:18;;13984:131;13894:18;13984:131;;14132:407;14323:2;14337:47;;;14308:18;;14398:131;14308:18;14398:131;;14546:407;14737:2;14751:47;;;14722:18;;14812:131;14722:18;14812:131;;14960:407;15151:2;15165:47;;;15136:18;;15226:131;15136:18;15226:131;;15374:407;15565:2;15579:47;;;15550:18;;15640:131;15550:18;15640:131;;15788:407;15979:2;15993:47;;;15964:18;;16054:131;15964:18;16054:131;;16202:407;16393:2;16407:47;;;16378:18;;16468:131;16378:18;16468:131;;16616:213;16734:2;16719:18;;16748:71;16723:9;16792:6;16748:71;;16837:163;16940:19;;;16989:4;16980:14;;16933:67;17008:91;;17070:24;17088:5;17070:24;;17106:85;17172:13;17165:21;;17148:43;17198:113;;17282:24;17300:5;17282:24;;17435:109;-1:-1;;;;;17497:42;;17480:64;17551:121;-1:-1;;;;;17613:54;;17596:76;17679:72;17741:5;17724:27;17758:88;17830:10;17819:22;;17802:44;17853:96;-1:-1;;;;;17914:30;;17897:52;18256:117;18325:24;18343:5;18325:24;;;18318:5;18315:35;18305:2;;18364:1;18361;18354:12;18380:111;18446:21;18461:5;18446:21;;18498:161;18589:46;18629:5;18589:46;;18828:117;18897:24;18915:5;18897:24;;18952:117;19021:24;19039:5;19021:24;;19076:115;19144:23;19161:5;19144:23;;19198:115;19266:23;19283:5;19266:23;
Swarm Source
bzzr://cfa9f0a55388c8efcb876f0a567723a52edbf577c7f83744c47f68750c599a42
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.