Contract Overview
Balance:
0 MATIC
My Name Tag:
Not Available
Txn Hash |
Method
|
Block
|
From
|
To
|
Value | [Txn Fee] | |||
---|---|---|---|---|---|---|---|---|---|
0x7662ec485e7fef0dadbf7dbe249654119cd8388a14ec82e30b4a7b6417cc0fb6 | 0x60a06040 | 19267712 | 543 days 17 hrs ago | 0x693ad12dba5f6e07de86faa21098b691f60a1bea | IN | Create: OlympusBondingCalculator | 0 MATIC | 0.002294715 |
[ Download CSV Export ]
Contract Name:
OlympusBondingCalculator
Compiler Version
v0.7.5+commit.eb77ed08
Contract Source Code (Solidity)
/** *Submitted for verification at polygonscan.com on 2021-10-01 */ /** *Submitted for verification at Etherscan.io on 2021-05-28 */ // 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 OlympusBondingCalculator is IBondingCalculator { using FixedPoint for *; using SafeMath for uint; using SafeMath for uint112; address public immutable OHM; constructor( address _OHM ) { require( _OHM != address(0) ); OHM = _OHM; } 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() == OHM ) { reserve = reserve1; } else { reserve = reserve0; } return reserve.mul( 2 * ( 10 ** IERC20( OHM ).decimals() ) ).div( getTotalValue( _pair ) ); } }
[{"inputs":[{"internalType":"address","name":"_OHM","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"OHM","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"}]
Contract Creation Code
60a060405234801561001057600080fd5b50604051610d61380380610d618339818101604052602081101561003357600080fd5b50516001600160a01b03811661004857600080fd5b606081901b6001600160601b0319166080526001600160a01b0316610cdd610084600039806101d1528061026f52806106c75250610cdd6000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c806332da80a31461005c5780634249719f14610094578063490084ef146100c057806368637549146100e6578063a6c41fec1461010c575b600080fd5b6100826004803603602081101561007257600080fd5b50356001600160a01b0316610130565b60408051918252519081900360200190f35b610082600480360360408110156100aa57600080fd5b506001600160a01b038135169060200135610313565b610082600480360360208110156100d657600080fd5b50356001600160a01b03166103bb565b610082600480360360208110156100fc57600080fd5b50356001600160a01b03166106a1565b6101146106c5565b604080516001600160a01b039092168252519081900360200190f35b6000806000836001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561016e57600080fd5b505afa158015610182573d6000803e3d6000fd5b505050506040513d606081101561019857600080fd5b50805160209182015160408051630dfe168160e01b815290516001600160701b0393841696509290911693506000926001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081169390891692630dfe1681926004808301939192829003018186803b15801561021957600080fd5b505afa15801561022d573d6000803e3d6000fd5b505050506040513d602081101561024357600080fd5b50516001600160a01b0316141561025b57508061025e565b50815b61030861026a866106a1565b6103027f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156102c657600080fd5b505afa1580156102da573d6000803e3d6000fd5b505050506040513d60208110156102f057600080fd5b5051849060ff16600a0a6002026106e9565b90610749565b93505050505b919050565b60008061031f846106a1565b90506000846001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561035c57600080fd5b505afa158015610370573d6000803e3d6000fd5b505050506040513d602081101561038657600080fd5b505190506103b2670de0b6b3a76400006103026103ab6103a6888661078b565b610902565b85906106e9565b95945050505050565b600080826001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b1580156103f757600080fd5b505afa15801561040b573d6000803e3d6000fd5b505050506040513d602081101561042157600080fd5b50516040805163313ce56760e01b815290516001600160a01b039092169163313ce56791600480820192602092909190829003018186803b15801561046557600080fd5b505afa158015610479573d6000803e3d6000fd5b505050506040513d602081101561048f57600080fd5b50516040805163d21220a760e01b8152905160ff90921692506000916001600160a01b0386169163d21220a7916004808301926020929190829003018186803b1580156104db57600080fd5b505afa1580156104ef573d6000803e3d6000fd5b505050506040513d602081101561050557600080fd5b50516040805163313ce56760e01b815290516001600160a01b039092169163313ce56791600480820192602092909190829003018186803b15801561054957600080fd5b505afa15801561055d573d6000803e3d6000fd5b505050506040513d602081101561057357600080fd5b50516040805163313ce56760e01b8152905160ff9092169250600091610603916001600160a01b0388169163313ce56791600480820192602092909190829003018186803b1580156105c457600080fd5b505afa1580156105d8573d6000803e3d6000fd5b505050506040513d60208110156105ee57600080fd5b505160ff166105fd858561091a565b90610974565b9050600080866001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561064157600080fd5b505afa158015610655573d6000803e3d6000fd5b505050506040513d606081101561066b57600080fd5b5080516020909101516001600160701b039182169350169050610696600a84900a61030284846106e9565b979650505050505050565b60006106bf60026106b96106b4856103bb565b6109b6565b906106e9565b92915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000826106f8575060006106bf565b8282028284828161070557fe5b04146107425760405162461bcd60e51b8152600401808060200182810382526021815260200180610c876021913960400191505060405180910390fd5b9392505050565b600061074283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610a20565b610793610c4e565b600082116107d25760405162461bcd60e51b8152600401808060200182810382526026815260200180610c616026913960400191505060405180910390fd5b826107ec57506040805160208101909152600081526106bf565b71ffffffffffffffffffffffffffffffffffff831161089357600082607085901b8161081457fe5b0490506001600160e01b03811115610873576040805162461bcd60e51b815260206004820152601e60248201527f4669786564506f696e743a3a6672616374696f6e3a206f766572666c6f770000604482015290519081900360640190fd5b6040518060200160405280826001600160e01b03168152509150506106bf565b60006108a484600160701b85610ac2565b90506001600160e01b03811115610873576040805162461bcd60e51b815260206004820152601e60248201527f4669786564506f696e743a3a6672616374696f6e3a206f766572666c6f770000604482015290519081900360640190fd5b516612725dd1d243ab6001600160e01b039091160490565b600082820183811015610742576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600061074283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610b57565b60006003821115610a1257508060006109da6109d3836002610749565b600161091a565b90505b81811015610a0c57809150610a056109fe6109f88584610749565b8361091a565b6002610749565b90506109dd565b5061030e565b811561030e57506001919050565b60008183610aac5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610a71578181015183820152602001610a59565b50505050905090810190601f168015610a9e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581610ab857fe5b0495945050505050565b6000806000610ad18686610bb1565b9150915060008480610adf57fe5b868809905082811115610af3576001820391505b8083039250848210610b4c576040805162461bcd60e51b815260206004820152601a60248201527f46756c6c4d6174683a3a6d756c4469763a206f766572666c6f77000000000000604482015290519081900360640190fd5b610696838387610bde565b60008184841115610ba95760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610a71578181015183820152602001610a59565b505050900390565b6000808060001984860990508385029250828103915082811015610bd6576001820391505b509250929050565b60008181038216808381610bee57fe5b049250808581610bfa57fe5b049450808160000381610c0957fe5b60028581038087028203028087028203028087028203028087028203028087028203028087028203029586029003909402930460010193909302939093010292915050565b6040805160208101909152600081529056fe4669786564506f696e743a3a6672616374696f6e3a206469766973696f6e206279207a65726f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a26469706673582212200337df86dc18ba572ccbc87eaddd09072660de4fb55817d8b6eea73eee3db3ca64736f6c634300070500330000000000000000000000006b4499909fd8947a3bdea5d524fb3697018fc750
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000006b4499909fd8947a3bdea5d524fb3697018fc750
-----Decoded View---------------
Arg [0] : _OHM (address): 0x6b4499909fd8947a3bdea5d524fb3697018fc750
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000006b4499909fd8947a3bdea5d524fb3697018fc750
Deployed ByteCode Sourcemap
7632:1695:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8887:437;;;;;;;;;;;;;;;;-1:-1:-1;8887:437:0;-1:-1:-1;;;;;8887:437:0;;:::i;:::-;;;;;;;;;;;;;;;;8543:336;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;8543:336:0;;;;;;;;:::i;7933:457::-;;;;;;;;;;;;;;;;-1:-1:-1;7933:457:0;-1:-1:-1;;;;;7933:457:0;;:::i;8398:137::-;;;;;;;;;;;;;;;;-1:-1:-1;8398:137:0;-1:-1:-1;;;;;8398:137:0;;:::i;7791:28::-;;;:::i;:::-;;;;-1:-1:-1;;;;;7791:28:0;;;;;;;;;;;;;;8887:437;8946:4;8966:13;8981;9016:5;-1:-1:-1;;;;;9000:35:0;;:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9000:37:0;;;;;;;;9078:32;;-1:-1:-1;;;9078:32:0;;;;-1:-1:-1;;;;;8964:73:0;;;;-1:-1:-1;8964:73:0;;;;;-1:-1:-1;9050:12:0;;-1:-1:-1;;;;;9114:3:0;9078:39;;;:30;;;;;;:32;;;;;9000:37;;9078:32;;;;;:30;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9078:32:0;-1:-1:-1;;;;;9078:39:0;;9073:143;;;-1:-1:-1;9145:8:0;9073:143;;;-1:-1:-1;9196:8:0;9073:143;9233:83;9292:22;9307:5;9292:13;:22::i;:::-;9233:53;9266:3;-1:-1:-1;;;;;9258:22:0;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9258:24:0;9233:7;;9252:30;;:2;:30;9246:1;:38;9233:11;:53::i;:::-;:57;;:83::i;:::-;9226:90;;;;;8887:437;;;;:::o;8543:336::-;8626:11;8651:15;8669:22;8684:5;8669:13;:22::i;:::-;8651:40;;8702:16;8737:5;-1:-1:-1;;;;;8721:35:0;;:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8721:37:0;;-1:-1:-1;8780:91:0;8865:4;8780:79;8796:61;:43;8817:7;8721:37;8796:19;:43::i;:::-;:59;:61::i;:::-;8780:10;;:14;:79::i;:91::-;8771:100;8543:336;-1:-1:-1;;;;;8543:336:0:o;7933:457::-;7990:7;8011:11;8049:5;-1:-1:-1;;;;;8033:30:0;;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8033:32:0;8025:53;;;-1:-1:-1;;;8025:53:0;;;;-1:-1:-1;;;;;8025:51:0;;;;;;:53;;;;;8033:32;;8025:53;;;;;;;;:51;:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8025:53:0;8111:32;;;-1:-1:-1;;;8111:32:0;;;;8011:67;;;;;-1:-1:-1;8089:11:0;;-1:-1:-1;;;;;8111:30:0;;;;;:32;;;;;8025:53;;8111:32;;;;;;;:30;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8111:32:0;8103:53;;;-1:-1:-1;;;8103:53:0;;;;-1:-1:-1;;;;;8103:51:0;;;;;;:53;;;;;8111:32;;8103:53;;;;;;;;:51;:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8103:53:0;8209:26;;;-1:-1:-1;;;8209:26:0;;;;8089:67;;;;;-1:-1:-1;8167:13:0;;8183:54;;-1:-1:-1;;;;;8209:24:0;;;;;:26;;;;;8103:53;;8209:26;;;;;;;;:24;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8209:26:0;8183:54;;:20;:6;8195;8183:10;:20::i;:::-;:24;;:54::i;:::-;8167:70;;8251:13;8266;8301:5;-1:-1:-1;;;;;8285:35:0;;:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8285:37:0;;;;;;;-1:-1:-1;;;;;8250:72:0;;;;-1:-1:-1;8250:72:0;;-1:-1:-1;8338:44:0;8366:2;:14;;;8338:22;8250:72;;8338:12;:22::i;:44::-;8333:49;7933:457;-1:-1:-1;;;;;;;7933:457:0:o;8398:137::-;8460:11;8494:33;8525:1;8494:26;:18;8505:5;8494:9;:18::i;:::-;:24;:26::i;:::-;:30;;:33::i;:::-;8485:42;8398:137;-1:-1:-1;;8398:137:0:o;7791:28::-;;;:::o;6021:252::-;6079:7;6105:6;6101:47;;-1:-1:-1;6135:1:0;6128:8;;6101:47;6172:5;;;6176:1;6172;:5;:1;6196:5;;;;;:10;6188:56;;;;-1:-1:-1;;;6188:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6264:1;6021:252;-1:-1:-1;;;6021:252:0:o;6281:132::-;6339:7;6366:39;6370:1;6373;6366:39;;;;;;;;;;;;;;;;;:3;:39::i;4197:719::-;4278:16;;:::i;:::-;4329:1;4315:11;:15;4307:66;;;;-1:-1:-1;;;4307:66:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4388:14;4384:50;;-1:-1:-1;4411:23:0;;;;;;;;;-1:-1:-1;4411:23:0;;4404:30;;4384:50;4451:24;;;4447:462;;4492:14;4537:11;3478:3;4510:23;;;4537:11;4509:39;;;;;;-1:-1:-1;;;;;;4571:21:0;;;4563:64;;;;;-1:-1:-1;;;4563:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;4649:26;;;;;;;;4667:6;-1:-1:-1;;;;;4649:26:0;;;;4642:33;;;;;4447:462;4708:14;4725:45;4741:9;-1:-1:-1;;;4758:11:0;4725:15;:45::i;:::-;4708:62;-1:-1:-1;;;;;;4793:21:0;;;4785:64;;;;;-1:-1:-1;;;4785:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;4054:135;4154:7;4165:16;-1:-1:-1;;;;;4149:13:0;;;:32;;4054:135::o;5488:181::-;5546:7;5578:5;;;5602:6;;;;5594:46;;;;;-1:-1:-1;;;5594:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;5677:136;5735:7;5762:43;5766:1;5769;5762:43;;;;;;;;;;;;;;;;;:3;:43::i;6707:333::-;6756:6;6783:1;6779;:5;6775:258;;;-1:-1:-1;6805:1:0;6821:6;6830:20;6835:10;6805:1;6843;6835:3;:10::i;:::-;6847:1;6830:3;:20::i;:::-;6821:29;;6865:107;6876:1;6872;:5;6865:107;;;6902:1;6898:5;;6926:30;6931:20;6936:11;6941:1;6944;6936:3;:11::i;:::-;6949:1;6931:3;:20::i;:::-;6953:1;6926:3;:30::i;:::-;6922:34;;6865:107;;;6775:258;;;;6993:6;;6989:44;;-1:-1:-1;7020:1:0;6707:333;;;:::o;6421:278::-;6507:7;6542:12;6535:5;6527:28;;;;-1:-1:-1;;;6527:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6566:9;6582:1;6578;:5;;;;;;;6421:278;-1:-1:-1;;;;;6421:278:0:o;876:347::-;982:7;1003:9;1014;1027:13;1035:1;1038;1027:7;:13::i;:::-;1002:38;;;;1051:10;1077:1;1064:15;;;;;1074:1;1071;1064:15;1051:28;;1099:1;1094:2;:6;1090:18;;;1107:1;1102:6;;;;1090:18;1124:2;1119:7;;;;1149:1;1145;:5;1137:44;;;;;-1:-1:-1;;;1137:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;1199:16;1207:1;1210;1213;1199:7;:16::i;5821:192::-;5907:7;5943:12;5935:6;;;;5927:29;;;;-1:-1:-1;;;5927:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5979:5:0;;;5821:192::o;168:210::-;229:9;;;-1:-1:-1;;285:1:0;282;275:25;262:38;;319:1;315;:5;311:9;;340:1;335:2;:6;331:10;;361:1;356:2;:6;352:18;;;369:1;364:6;;;;352:18;168:210;;;;;;:::o;386:482::-;492:7;531:2;;;527:6;;;532:1;527:6;544:9;;;;;;;569:4;564:9;;;;;;;;;604:4;596;595:5;;594:14;;;;;653:1;:9;;;682:5;;;678:9;;673:14;707:5;;;703:9;;698:14;732:5;;;728:9;;723:14;757:5;;;753:9;;748:14;782:5;;;778:9;;773:14;807:5;;;803:9;;798:14;832:5;;;828:9;;823:14;;;594;;611:1;594:18;589:24;;;;584:29;;;;855:5;;386:482;-1:-1:-1;;386:482:0:o;-1:-1:-1:-;;;;;;;;;;;;;;:::o
Swarm Source
ipfs://0337df86dc18ba572ccbc87eaddd09072660de4fb55817d8b6eea73eee3db3ca
Age | Block | Fee Address | BC Fee Address | Voting Power | Jailed | Incoming |
---|