Contract 0x92c7e16d66ddcc1fdcccbdd2eeb507eed0baecb2

Txn Hash Method
Block
From
To
Value [Txn Fee]
0x644c0b494a9d28bc82c914e7001f563db0f103e3d733291170b407b7e48984100x60a0604070137582021-11-16 8:00:46223 days 15 hrs ago0x304a97c9a85c92c93ca24e0a85b69f892b67355e IN  Create: TimeBondingCalculator0 AVAX0.01912232525
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
TimeBondingCalculator

Compiler Version
v0.7.5+commit.eb77ed08

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at snowtrace.io on 2021-11-16
*/

// SPDX-License-Identifier: AGPL-3.0-or-later
pragma solidity 0.7.5;

library FullMath {
    function fullMul(uint256 x, uint256 y) private pure returns (uint256 l, uint256 h) {
        uint256 mm = mulmod(x, y, uint256(-1));
        l = x * y;
        h = mm - l;
        if (mm < l) h -= 1;
    }

    function fullDiv(
        uint256 l,
        uint256 h,
        uint256 d
    ) private pure returns (uint256) {
        uint256 pow2 = d & -d;
        d /= pow2;
        l /= pow2;
        l += h * ((-pow2) / pow2 + 1);
        uint256 r = 1;
        r *= 2 - d * r;
        r *= 2 - d * r;
        r *= 2 - d * r;
        r *= 2 - d * r;
        r *= 2 - d * r;
        r *= 2 - d * r;
        r *= 2 - d * r;
        r *= 2 - d * r;
        return l * r;
    }

    function mulDiv(
        uint256 x,
        uint256 y,
        uint256 d
    ) internal pure returns (uint256) {
        (uint256 l, uint256 h) = fullMul(x, y);
        uint256 mm = mulmod(x, y, d);
        if (mm > l) h -= 1;
        l -= mm;
        require(h < d, 'FullMath::mulDiv: overflow');
        return fullDiv(l, h, d);
    }
}

library Babylonian {

    function sqrt(uint256 x) internal pure returns (uint256) {
        if (x == 0) return 0;

        uint256 xx = x;
        uint256 r = 1;
        if (xx >= 0x100000000000000000000000000000000) {
            xx >>= 128;
            r <<= 64;
        }
        if (xx >= 0x10000000000000000) {
            xx >>= 64;
            r <<= 32;
        }
        if (xx >= 0x100000000) {
            xx >>= 32;
            r <<= 16;
        }
        if (xx >= 0x10000) {
            xx >>= 16;
            r <<= 8;
        }
        if (xx >= 0x100) {
            xx >>= 8;
            r <<= 4;
        }
        if (xx >= 0x10) {
            xx >>= 4;
            r <<= 2;
        }
        if (xx >= 0x8) {
            r <<= 1;
        }
        r = (r + x / r) >> 1;
        r = (r + x / r) >> 1;
        r = (r + x / r) >> 1;
        r = (r + x / r) >> 1;
        r = (r + x / r) >> 1;
        r = (r + x / r) >> 1;
        r = (r + x / r) >> 1; // Seven iterations should be enough
        uint256 r1 = x / r;
        return (r < r1 ? r : r1);
    }
}

library BitMath {

    function mostSignificantBit(uint256 x) internal pure returns (uint8 r) {
        require(x > 0, 'BitMath::mostSignificantBit: zero');

        if (x >= 0x100000000000000000000000000000000) {
            x >>= 128;
            r += 128;
        }
        if (x >= 0x10000000000000000) {
            x >>= 64;
            r += 64;
        }
        if (x >= 0x100000000) {
            x >>= 32;
            r += 32;
        }
        if (x >= 0x10000) {
            x >>= 16;
            r += 16;
        }
        if (x >= 0x100) {
            x >>= 8;
            r += 8;
        }
        if (x >= 0x10) {
            x >>= 4;
            r += 4;
        }
        if (x >= 0x4) {
            x >>= 2;
            r += 2;
        }
        if (x >= 0x2) r += 1;
    }
}

library FixedPoint {
    // range: [0, 2**112 - 1]
    // resolution: 1 / 2**112
    struct uq112x112 {
        uint224 _x;
    }

    // range: [0, 2**144 - 1]
    // resolution: 1 / 2**112
    struct uq144x112 {
        uint256 _x;
    }

    uint8 private constant RESOLUTION = 112;
    uint256 private constant Q112 = 0x10000000000000000000000000000;
    uint256 private constant Q224 = 0x100000000000000000000000000000000000000000000000000000000;
    uint256 private constant LOWER_MASK = 0xffffffffffffffffffffffffffff; // decimal of UQ*x112 (lower 112 bits)

    // decode a UQ112x112 into a uint112 by truncating after the radix point
    function decode(uq112x112 memory self) internal pure returns (uint112) {
        return uint112(self._x >> RESOLUTION);
    }

    // decode a uq112x112 into a uint with 18 decimals of precision
    function decode112with18(uq112x112 memory self) internal pure returns (uint) {
        return uint(self._x) / 5192296858534827;
    }

    function fraction(uint256 numerator, uint256 denominator) internal pure returns (uq112x112 memory) {
        require(denominator > 0, 'FixedPoint::fraction: division by zero');
        if (numerator == 0) return FixedPoint.uq112x112(0);

        if (numerator <= uint144(-1)) {
            uint256 result = (numerator << RESOLUTION) / denominator;
            require(result <= uint224(-1), 'FixedPoint::fraction: overflow');
            return uq112x112(uint224(result));
        } else {
            uint256 result = FullMath.mulDiv(numerator, Q112, denominator);
            require(result <= uint224(-1), 'FixedPoint::fraction: overflow');
            return uq112x112(uint224(result));
        }
    }

    // square root of a UQ112x112
    // lossy between 0/1 and 40 bits
    function sqrt(uq112x112 memory self) internal pure returns (uq112x112 memory) {
        if (self._x <= uint144(-1)) {
            return uq112x112(uint224(Babylonian.sqrt(uint256(self._x) << 112)));
        }

        uint8 safeShiftBits = 255 - BitMath.mostSignificantBit(self._x);
        safeShiftBits -= safeShiftBits % 2;
        return uq112x112(uint224(Babylonian.sqrt(uint256(self._x) << safeShiftBits) << ((112 - safeShiftBits) / 2)));
    }
}

library SafeMath {

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {

        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    function sqrrt(uint256 a) internal pure returns (uint c) {
        if (a > 3) {
            c = a;
            uint b = add( div( a, 2), 1 );
            while (b < c) {
                c = b;
                b = div( add( div( a, b ), b), 2 );
            }
        } else if (a != 0) {
            c = 1;
        }
    }
}

interface IERC20 {
    function decimals() external view returns (uint8);
}

interface IUniswapV2ERC20 {
    function totalSupply() external view returns (uint);
}

interface IUniswapV2Pair is IUniswapV2ERC20 {
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function token0() external view returns ( address );
    function token1() external view returns ( address );
}

interface IBondingCalculator {
  function valuation( address pair_, uint amount_ ) external view returns ( uint _value );
}

contract TimeBondingCalculator is IBondingCalculator {

    using FixedPoint for *;
    using SafeMath for uint;
    using SafeMath for uint112;

    address public immutable Time;

    constructor( address _Time ) {
        require( _Time != address(0) );
        Time = _Time;
    }

    function getKValue( address _pair ) public view returns( uint k_ ) {
        uint token0 = IERC20( IUniswapV2Pair( _pair ).token0() ).decimals();
        uint token1 = IERC20( IUniswapV2Pair( _pair ).token1() ).decimals();
        uint decimals = token0.add( token1 ).sub( IERC20( _pair ).decimals() );

        (uint reserve0, uint reserve1, ) = IUniswapV2Pair( _pair ).getReserves();
        k_ = reserve0.mul(reserve1).div( 10 ** decimals );
    }

    function getTotalValue( address _pair ) public view returns ( uint _value ) {
        _value = getKValue( _pair ).sqrrt().mul(2);
    }

    function valuation( address _pair, uint amount_ ) external view override returns ( uint _value ) {
        uint totalValue = getTotalValue( _pair );
        uint totalSupply = IUniswapV2Pair( _pair ).totalSupply();

        _value = totalValue.mul( FixedPoint.fraction( amount_, totalSupply ).decode112with18() ).div( 1e18 );
    }

    function markdown( address _pair ) external view returns ( uint ) {
        ( uint reserve0, uint reserve1, ) = IUniswapV2Pair( _pair ).getReserves();

        uint reserve;
        if ( IUniswapV2Pair( _pair ).token0() == Time ) {
            reserve = reserve1;
        } else {
            reserve = reserve0;
        }
        return reserve.mul( 2 * ( 10 ** IERC20( Time ).decimals() ) ).div( getTotalValue( _pair ) );
    }
}

Contract ABI

[{"inputs":[{"internalType":"address","name":"_Time","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"Time","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_pair","type":"address"}],"name":"getKValue","outputs":[{"internalType":"uint256","name":"k_","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_pair","type":"address"}],"name":"getTotalValue","outputs":[{"internalType":"uint256","name":"_value","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_pair","type":"address"}],"name":"markdown","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_pair","type":"address"},{"internalType":"uint256","name":"amount_","type":"uint256"}],"name":"valuation","outputs":[{"internalType":"uint256","name":"_value","type":"uint256"}],"stateMutability":"view","type":"function"}]

60a060405234801561001057600080fd5b50604051610d61380380610d618339818101604052602081101561003357600080fd5b50516001600160a01b03811661004857600080fd5b606081901b6001600160601b0319166080526001600160a01b0316610cdd610084600039806101d1528061026f52806106c75250610cdd6000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c806332da80a31461005c5780634249719f14610094578063490084ef146100c057806368637549146100e6578063f8e157ea1461010c575b600080fd5b6100826004803603602081101561007257600080fd5b50356001600160a01b0316610130565b60408051918252519081900360200190f35b610082600480360360408110156100aa57600080fd5b506001600160a01b038135169060200135610313565b610082600480360360208110156100d657600080fd5b50356001600160a01b03166103bb565b610082600480360360208110156100fc57600080fd5b50356001600160a01b03166106a1565b6101146106c5565b604080516001600160a01b039092168252519081900360200190f35b6000806000836001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561016e57600080fd5b505afa158015610182573d6000803e3d6000fd5b505050506040513d606081101561019857600080fd5b50805160209182015160408051630dfe168160e01b815290516001600160701b0393841696509290911693506000926001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081169390891692630dfe1681926004808301939192829003018186803b15801561021957600080fd5b505afa15801561022d573d6000803e3d6000fd5b505050506040513d602081101561024357600080fd5b50516001600160a01b0316141561025b57508061025e565b50815b61030861026a866106a1565b6103027f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156102c657600080fd5b505afa1580156102da573d6000803e3d6000fd5b505050506040513d60208110156102f057600080fd5b5051849060ff16600a0a6002026106e9565b90610749565b93505050505b919050565b60008061031f846106a1565b90506000846001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561035c57600080fd5b505afa158015610370573d6000803e3d6000fd5b505050506040513d602081101561038657600080fd5b505190506103b2670de0b6b3a76400006103026103ab6103a6888661078b565b610902565b85906106e9565b95945050505050565b600080826001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b1580156103f757600080fd5b505afa15801561040b573d6000803e3d6000fd5b505050506040513d602081101561042157600080fd5b50516040805163313ce56760e01b815290516001600160a01b039092169163313ce56791600480820192602092909190829003018186803b15801561046557600080fd5b505afa158015610479573d6000803e3d6000fd5b505050506040513d602081101561048f57600080fd5b50516040805163d21220a760e01b8152905160ff90921692506000916001600160a01b0386169163d21220a7916004808301926020929190829003018186803b1580156104db57600080fd5b505afa1580156104ef573d6000803e3d6000fd5b505050506040513d602081101561050557600080fd5b50516040805163313ce56760e01b815290516001600160a01b039092169163313ce56791600480820192602092909190829003018186803b15801561054957600080fd5b505afa15801561055d573d6000803e3d6000fd5b505050506040513d602081101561057357600080fd5b50516040805163313ce56760e01b8152905160ff9092169250600091610603916001600160a01b0388169163313ce56791600480820192602092909190829003018186803b1580156105c457600080fd5b505afa1580156105d8573d6000803e3d6000fd5b505050506040513d60208110156105ee57600080fd5b505160ff166105fd858561091a565b90610974565b9050600080866001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561064157600080fd5b505afa158015610655573d6000803e3d6000fd5b505050506040513d606081101561066b57600080fd5b5080516020909101516001600160701b039182169350169050610696600a84900a61030284846106e9565b979650505050505050565b60006106bf60026106b96106b4856103bb565b6109b6565b906106e9565b92915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000826106f8575060006106bf565b8282028284828161070557fe5b04146107425760405162461bcd60e51b8152600401808060200182810382526021815260200180610c876021913960400191505060405180910390fd5b9392505050565b600061074283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610a20565b610793610c4e565b600082116107d25760405162461bcd60e51b8152600401808060200182810382526026815260200180610c616026913960400191505060405180910390fd5b826107ec57506040805160208101909152600081526106bf565b71ffffffffffffffffffffffffffffffffffff831161089357600082607085901b8161081457fe5b0490506001600160e01b03811115610873576040805162461bcd60e51b815260206004820152601e60248201527f4669786564506f696e743a3a6672616374696f6e3a206f766572666c6f770000604482015290519081900360640190fd5b6040518060200160405280826001600160e01b03168152509150506106bf565b60006108a484600160701b85610ac2565b90506001600160e01b03811115610873576040805162461bcd60e51b815260206004820152601e60248201527f4669786564506f696e743a3a6672616374696f6e3a206f766572666c6f770000604482015290519081900360640190fd5b516612725dd1d243ab6001600160e01b039091160490565b600082820183811015610742576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600061074283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610b57565b60006003821115610a1257508060006109da6109d3836002610749565b600161091a565b90505b81811015610a0c57809150610a056109fe6109f88584610749565b8361091a565b6002610749565b90506109dd565b5061030e565b811561030e57506001919050565b60008183610aac5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610a71578181015183820152602001610a59565b50505050905090810190601f168015610a9e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581610ab857fe5b0495945050505050565b6000806000610ad18686610bb1565b9150915060008480610adf57fe5b868809905082811115610af3576001820391505b8083039250848210610b4c576040805162461bcd60e51b815260206004820152601a60248201527f46756c6c4d6174683a3a6d756c4469763a206f766572666c6f77000000000000604482015290519081900360640190fd5b610696838387610bde565b60008184841115610ba95760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610a71578181015183820152602001610a59565b505050900390565b6000808060001984860990508385029250828103915082811015610bd6576001820391505b509250929050565b60008181038216808381610bee57fe5b049250808581610bfa57fe5b049450808160000381610c0957fe5b60028581038087028203028087028203028087028203028087028203028087028203028087028203029586029003909402930460010193909302939093010292915050565b6040805160208101909152600081529056fe4669786564506f696e743a3a6672616374696f6e3a206469766973696f6e206279207a65726f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220bc82b6ef80ceb1a71de4f1b1d64d2ad3f708e930e5174f9577c862d033241b4c64736f6c63430007050033000000000000000000000000b8ef3a190b68175000b74b4160d325fd5024760e

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000b8ef3a190b68175000b74b4160d325fd5024760e

-----Decoded View---------------
Arg [0] : _Time (address): 0xb8ef3a190b68175000b74b4160d325fd5024760e

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000b8ef3a190b68175000b74b4160d325fd5024760e


Deployed ByteCode Sourcemap

7561:1699:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8818:439;;;;;;;;;;;;;;;;-1:-1:-1;8818:439:0;-1:-1:-1;;;;;8818:439:0;;:::i;:::-;;;;;;;;;;;;;;;;8474:336;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;8474:336:0;;;;;;;;:::i;7864:457::-;;;;;;;;;;;;;;;;-1:-1:-1;7864:457:0;-1:-1:-1;;;;;7864:457:0;;:::i;8329:137::-;;;;;;;;;;;;;;;;-1:-1:-1;8329:137:0;-1:-1:-1;;;;;8329:137:0;;:::i;7717:29::-;;;:::i;:::-;;;;-1:-1:-1;;;;;7717:29:0;;;;;;;;;;;;;;8818:439;8877:4;8897:13;8912;8947:5;-1:-1:-1;;;;;8931:35:0;;:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8931:37:0;;;;;;;;9009:32;;-1:-1:-1;;;9009:32:0;;;;-1:-1:-1;;;;;8895:73:0;;;;-1:-1:-1;8895:73:0;;;;;-1:-1:-1;8981:12:0;;-1:-1:-1;;;;;9045:4:0;9009:40;;;:30;;;;;;:32;;;;;8931:37;;9009:32;;;;;:30;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9009:32:0;-1:-1:-1;;;;;9009:40:0;;9004:144;;;-1:-1:-1;9077:8:0;9004:144;;;-1:-1:-1;9128:8:0;9004:144;9165:84;9225:22;9240:5;9225:13;:22::i;:::-;9165:54;9198:4;-1:-1:-1;;;;;9190:23:0;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9190:25:0;9165:7;;9184:31;;:2;:31;9178:1;:39;9165:11;:54::i;:::-;:58;;:84::i;:::-;9158:91;;;;;8818:439;;;;:::o;8474:336::-;8557:11;8582:15;8600:22;8615:5;8600:13;:22::i;:::-;8582:40;;8633:16;8668:5;-1:-1:-1;;;;;8652:35:0;;:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8652:37:0;;-1:-1:-1;8711:91:0;8796:4;8711:79;8727:61;:43;8748:7;8652:37;8727:19;:43::i;:::-;:59;:61::i;:::-;8711:10;;:14;:79::i;:91::-;8702:100;8474:336;-1:-1:-1;;;;;8474:336:0:o;7864:457::-;7921:7;7942:11;7980:5;-1:-1:-1;;;;;7964:30:0;;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7964:32:0;7956:53;;;-1:-1:-1;;;7956:53:0;;;;-1:-1:-1;;;;;7956:51:0;;;;;;:53;;;;;7964:32;;7956:53;;;;;;;;:51;:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7956:53:0;8042:32;;;-1:-1:-1;;;8042:32:0;;;;7942:67;;;;;-1:-1:-1;8020:11:0;;-1:-1:-1;;;;;8042:30:0;;;;;:32;;;;;7956:53;;8042:32;;;;;;;:30;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8042:32:0;8034:53;;;-1:-1:-1;;;8034:53:0;;;;-1:-1:-1;;;;;8034:51:0;;;;;;:53;;;;;8042:32;;8034:53;;;;;;;;:51;:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8034:53:0;8140:26;;;-1:-1:-1;;;8140:26:0;;;;8020:67;;;;;-1:-1:-1;8098:13:0;;8114:54;;-1:-1:-1;;;;;8140:24:0;;;;;:26;;;;;8034:53;;8140:26;;;;;;;;:24;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8140:26:0;8114:54;;:20;:6;8126;8114:10;:20::i;:::-;:24;;:54::i;:::-;8098:70;;8182:13;8197;8232:5;-1:-1:-1;;;;;8216:35:0;;:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8216:37:0;;;;;;;-1:-1:-1;;;;;8181:72:0;;;;-1:-1:-1;8181:72:0;;-1:-1:-1;8269:44:0;8297:2;:14;;;8269:22;8181:72;;8269:12;:22::i;:44::-;8264:49;7864:457;-1:-1:-1;;;;;;;7864:457:0:o;8329:137::-;8391:11;8425:33;8456:1;8425:26;:18;8436:5;8425:9;:18::i;:::-;:24;:26::i;:::-;:30;;:33::i;:::-;8416:42;8329:137;-1:-1:-1;;8329:137:0:o;7717:29::-;;;:::o;5950:252::-;6008:7;6034:6;6030:47;;-1:-1:-1;6064:1:0;6057:8;;6030:47;6101:5;;;6105:1;6101;:5;:1;6125:5;;;;;:10;6117:56;;;;-1:-1:-1;;;6117:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6193:1;5950:252;-1:-1:-1;;;5950:252:0:o;6210:132::-;6268:7;6295:39;6299:1;6302;6295:39;;;;;;;;;;;;;;;;;:3;:39::i;4126:719::-;4207:16;;:::i;:::-;4258:1;4244:11;:15;4236:66;;;;-1:-1:-1;;;4236:66:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4317:14;4313:50;;-1:-1:-1;4340:23:0;;;;;;;;;-1:-1:-1;4340:23:0;;4333:30;;4313:50;4380:24;;;4376:462;;4421:14;4466:11;3407:3;4439:23;;;4466:11;4438:39;;;;;;-1:-1:-1;;;;;;4500:21:0;;;4492:64;;;;;-1:-1:-1;;;4492:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;4578:26;;;;;;;;4596:6;-1:-1:-1;;;;;4578:26:0;;;;4571:33;;;;;4376:462;4637:14;4654:45;4670:9;-1:-1:-1;;;4687:11:0;4654:15;:45::i;:::-;4637:62;-1:-1:-1;;;;;;4722:21:0;;;4714:64;;;;;-1:-1:-1;;;4714:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;3983:135;4083:7;4094:16;-1:-1:-1;;;;;4078:13:0;;;:32;;3983:135::o;5417:181::-;5475:7;5507:5;;;5531:6;;;;5523:46;;;;;-1:-1:-1;;;5523:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;5606:136;5664:7;5691:43;5695:1;5698;5691:43;;;;;;;;;;;;;;;;;:3;:43::i;6636:333::-;6685:6;6712:1;6708;:5;6704:258;;;-1:-1:-1;6734:1:0;6750:6;6759:20;6764:10;6734:1;6772;6764:3;:10::i;:::-;6776:1;6759:3;:20::i;:::-;6750:29;;6794:107;6805:1;6801;:5;6794:107;;;6831:1;6827:5;;6855:30;6860:20;6865:11;6870:1;6873;6865:3;:11::i;:::-;6878:1;6860:3;:20::i;:::-;6882:1;6855:3;:30::i;:::-;6851:34;;6794:107;;;6704:258;;;;6922:6;;6918:44;;-1:-1:-1;6949:1:0;6636:333;;;:::o;6350:278::-;6436:7;6471:12;6464:5;6456:28;;;;-1:-1:-1;;;6456:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6495:9;6511:1;6507;:5;;;;;;;6350:278;-1:-1:-1;;;;;6350:278:0:o;805:347::-;911:7;932:9;943;956:13;964:1;967;956:7;:13::i;:::-;931:38;;;;980:10;1006:1;993:15;;;;;1003:1;1000;993:15;980:28;;1028:1;1023:2;:6;1019:18;;;1036:1;1031:6;;;;1019:18;1053:2;1048:7;;;;1078:1;1074;:5;1066:44;;;;;-1:-1:-1;;;1066:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;1128:16;1136:1;1139;1142;1128:7;:16::i;5750:192::-;5836:7;5872:12;5864:6;;;;5856:29;;;;-1:-1:-1;;;5856:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5908:5:0;;;5750:192::o;97:210::-;158:9;;;-1:-1:-1;;214:1:0;211;204:25;191:38;;248:1;244;:5;240:9;;269:1;264:2;:6;260:10;;290:1;285:2;:6;281:18;;;298:1;293:6;;;;281:18;97:210;;;;;;:::o;315:482::-;421:7;460:2;;;456:6;;;461:1;456:6;473:9;;;;;;;498:4;493:9;;;;;;;;;533:4;525;524:5;;523:14;;;;;582:1;:9;;;611:5;;;607:9;;602:14;636:5;;;632:9;;627:14;661:5;;;657:9;;652:14;686:5;;;682:9;;677:14;711:5;;;707:9;;702:14;736:5;;;732:9;;727:14;761:5;;;757:9;;752:14;;;523;;540:1;523:18;518:24;;;;513:29;;;;784:5;;315:482;-1:-1:-1;;315:482:0:o;-1:-1:-1:-;;;;;;;;;;;;;;:::o

Swarm Source

ipfs://bc82b6ef80ceb1a71de4f1b1d64d2ad3f708e930e5174f9577c862d033241b4c
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.