Contract 0x5671B249391cA5E6a8FE28CEb1e85Dc41c12Ba7D 9

Txn Hash Method
Block
From
To
Value [Txn Fee]
0xd8f4bb7edcb08dac5d58b66837fa010cc87125b33d034392c4a79a1779c7e646Get Result20012252022-06-11 10:11:24168 days 1 hr ago0xaf0a7b32ccc793fcf5ea5829de2489ee37708e5d IN  Impermax: Price Oracle0 MOVR0.000194537
0xfef88e5b105f95b944b087559a16556cfd08515057c3123041c4db7dd93d9980Get Result18131902022-05-12 8:24:30198 days 3 hrs ago0xaf0a7b32ccc793fcf5ea5829de2489ee37708e5d IN  Impermax: Price Oracle0 MOVR0.0001945335
0xa159e9826659d32108bc3dba16caa05ac96e549d1bad8af7ab492e5797afbd7bGet Result18053442022-05-10 23:33:06199 days 12 hrs ago0xaf0a7b32ccc793fcf5ea5829de2489ee37708e5d IN  Impermax: Price Oracle0 MOVR0.0001945335
0x1dccb00e43824b857af5bc8c6ffa1865561a3b28c88fe221d7d029f2cafef52aGet Result17995622022-05-09 17:34:48200 days 18 hrs ago0xaf0a7b32ccc793fcf5ea5829de2489ee37708e5d IN  Impermax: Price Oracle0 MOVR0.000194537
0x48f008df3e637e22f9b138683c5fd1461bd5f97054bd3b49c6c74cfa8568265bGet Result17932602022-05-08 4:41:54202 days 7 hrs ago0xaf0a7b32ccc793fcf5ea5829de2489ee37708e5d IN  Impermax: Price Oracle0 MOVR0.0001945335
0x9187695cdf05c986d37cad4b0837fbc6fe22d1530e2a826f0bc25cbae16803f0Get Result17652442022-04-30 23:52:12209 days 12 hrs ago0xaf0a7b32ccc793fcf5ea5829de2489ee37708e5d IN  Impermax: Price Oracle0 MOVR0.000194537
0x4e341f8f869ff863e862e47e11d992840aafe7e867d6572b2326a24975cfe3eeGet Result15895212022-03-13 12:34:54257 days 23 hrs ago0xaf0a7b32ccc793fcf5ea5829de2489ee37708e5d IN  Impermax: Price Oracle0 MOVR0.00014042
0x80436749365578b220d82e3f7aba8a872bfef8c4b4a1c82d16f2d29d478ea912Get Result15854772022-03-12 13:03:54258 days 22 hrs ago0xaf0a7b32ccc793fcf5ea5829de2489ee37708e5d IN  Impermax: Price Oracle0 MOVR0.000194537
0xde5272a3689fa3db086952a04c4e94d458d406eda22fd0dd756d6c7d97b25d82Get Result15457042022-03-02 13:34:42268 days 22 hrs ago0xaf0a7b32ccc793fcf5ea5829de2489ee37708e5d IN  Impermax: Price Oracle0 MOVR0.0001404165
0x20aa209b63b363dd76ca684bba05a7179a8f3c88fcbefce4c1e17d5bb2ef83f8Get Result15454542022-03-02 12:10:30268 days 23 hrs ago0xaf0a7b32ccc793fcf5ea5829de2489ee37708e5d IN  Impermax: Price Oracle0 MOVR0.000194537
0xa0f2d354e398450db013a92c1a2ac40bd10cb0df6fd51d273239dd29ae2906d3Get Result15436022022-03-02 1:47:54269 days 10 hrs ago0xaf0a7b32ccc793fcf5ea5829de2489ee37708e5d IN  Impermax: Price Oracle0 MOVR0.0001945335
0x035e475bef3c4b108458b7ab77e096f9deca24f0e61bf704ea3db6d225d55122Get Result15122622022-02-21 22:36:00277 days 13 hrs ago0xaf0a7b32ccc793fcf5ea5829de2489ee37708e5d IN  Impermax: Price Oracle0 MOVR0.000055582
0x8409cb0a069a32c53182357c538378f7e8976f6727e8a18234118879027b2cd5Get Result15110402022-02-21 14:07:42277 days 21 hrs ago0xaf0a7b32ccc793fcf5ea5829de2489ee37708e5d IN  Impermax: Price Oracle0 MOVR0.000055581
0x254b9e2ae1e1ff8259929f626057fd4689ffb166e8c7d071f2171c909b4f0eb4Get Result15072792022-02-20 13:57:48278 days 22 hrs ago0xaf0a7b32ccc793fcf5ea5829de2489ee37708e5d IN  Impermax: Price Oracle0 MOVR0.000055581
0x91c8714a5cd4e9c51ceb80b38cb78ab9d63ec6a3a685c7e6f7c77e9dc285ebf7Get Result14736202022-02-12 4:25:24287 days 7 hrs ago0xaf0a7b32ccc793fcf5ea5829de2489ee37708e5d IN  Impermax: Price Oracle0 MOVR0.000055581
0xfa9f45ea8368d947dc962526c554641ef4aa177913527135d8627d4304c84b30Get Result14526012022-02-07 10:26:12292 days 1 hr ago0xaf0a7b32ccc793fcf5ea5829de2489ee37708e5d IN  Impermax: Price Oracle0 MOVR0.000049781
0xe400ebdb3a4b5c1260068f02edef283a407328033e52387ce834aa5b2ad09c8bGet Result13607612022-01-24 9:27:24306 days 2 hrs ago0xaf0a7b32ccc793fcf5ea5829de2489ee37708e5d IN  Impermax: Price Oracle0 MOVR0.000049782
0x8fae0b2d919e737ee6eb2105d95d92e008d3595dcadc6b70f0bd9ed76e5a7d21Get Result13602842022-01-24 7:46:25306 days 4 hrs ago0xaf0a7b32ccc793fcf5ea5829de2489ee37708e5d IN  Impermax: Price Oracle0 MOVR0.000049782
0x3ac9d2aacf98dc0300e4abc21a8b3ef79d5a918b9501e51a1e35422dd6a296f3Get Result13387502022-01-21 2:27:55309 days 9 hrs ago0xaf0a7b32ccc793fcf5ea5829de2489ee37708e5d IN  Impermax: Price Oracle0 MOVR0.000049782
0x5ca5e25da7a4d0528bf3b72019bbc44ac9712cfd748973735b6202630611f7a0Get Result13225182022-01-18 15:40:24311 days 20 hrs ago0xaf0a7b32ccc793fcf5ea5829de2489ee37708e5d IN  Impermax: Price Oracle0 MOVR0.000049782
0xf15c906543fe0d96231168e9eac660a65507ba7bd1990dc9afe96c4fb774b7faGet Result13220192022-01-18 13:53:00311 days 22 hrs ago0xaf0a7b32ccc793fcf5ea5829de2489ee37708e5d IN  Impermax: Price Oracle0 MOVR0.000049781
0x4e39fa2d6a8d9e2f4687843338aa9ad8474bf72fd6bf07ca0071c87503592481Get Result13218722022-01-18 13:20:18311 days 22 hrs ago0xaf0a7b32ccc793fcf5ea5829de2489ee37708e5d IN  Impermax: Price Oracle0 MOVR0.000049781
0x358ec513006252be517afbe4ed1b9285f24414b7a8f888e025e29fa2dcf162c9Get Result13218662022-01-18 13:19:06311 days 22 hrs ago0xaf0a7b32ccc793fcf5ea5829de2489ee37708e5d IN  Impermax: Price Oracle0 MOVR0.000049782
0x92791aa02d983136f03e45190a7ac5672f052ca5ab78983ca265950a0ae8afecGet Result13213562022-01-18 11:27:18312 days 35 mins ago0xaf0a7b32ccc793fcf5ea5829de2489ee37708e5d IN  Impermax: Price Oracle0 MOVR0.000049782
0x1af0cbaf053ef58390c0ca2cc5ea0c04f50f681e80b55edea871ffde2932fcb2Get Result13213532022-01-18 11:26:36312 days 36 mins ago0xaf0a7b32ccc793fcf5ea5829de2489ee37708e5d IN  Impermax: Price Oracle0 MOVR0.000049781
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
SimpleUniswapOracle

Compiler Version
v0.5.16+commit.9c3226ce

Optimization Enabled:
Yes with 999999 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at moonriver.moonscan.io on 2021-11-15
*/

// File: contracts\libraries\UQ112x112.sol

pragma solidity =0.5.16;

// a library for handling binary fixed point numbers (https://en.wikipedia.org/wiki/Q_(number_format))

// range: [0, 2**112 - 1]
// resolution: 1 / 2**112

library UQ112x112 {
    uint224 constant Q112 = 2**112;

    // encode a uint112 as a UQ112x112
    function encode(uint112 y) internal pure returns (uint224 z) {
        z = uint224(y) * Q112; // never overflows
    }

    // divide a UQ112x112 by a uint112, returning a UQ112x112
    function uqdiv(uint224 x, uint112 y) internal pure returns (uint224 z) {
        z = x / uint224(y);
    }
}

// File: contracts\interfaces\IUniswapV2Pair.sol

pragma solidity =0.5.16;

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 view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view 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 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);
}

// File: contracts\interfaces\ISimpleUniswapOracle.sol

pragma solidity =0.5.16;

interface ISimpleUniswapOracle {
	event PriceUpdate(address indexed pair, uint256 priceCumulative, uint32 blockTimestamp, bool lastIsA);
	function MIN_T() external pure returns (uint32);
	function getBlockTimestamp() external view returns (uint32);
	function getPair(address uniswapV2Pair) external view returns (
		uint256 priceCumulativeA,
		uint256 priceCumulativeB,
		uint32 updateA,
		uint32 updateB,
		bool lastIsA,
		bool initialized
	);
	function initialize(address uniswapV2Pair) external;
	function getResult(address uniswapV2Pair) external returns (uint224 price, uint32 T);
}

// File: contracts\SimpleUniswapOracle.sol

pragma solidity =0.5.16;




contract SimpleUniswapOracle is ISimpleUniswapOracle {
	using UQ112x112 for uint224;
	
	uint32 public constant MIN_T = 1800;
	
	struct Pair {
		uint256 priceCumulativeA;
		uint256 priceCumulativeB;
		uint32 updateA;
		uint32 updateB;
		bool lastIsA;
		bool initialized;
	}
	mapping(address => Pair) public getPair;

	event PriceUpdate(address indexed pair, uint256 priceCumulative, uint32 blockTimestamp, bool lastIsA);
	
	function toUint224(uint256 input) internal pure returns (uint224) {
		require(input <= uint224(-1), "UniswapOracle: UINT224_OVERFLOW");
		return uint224(input);
	}
	
	function getPriceCumulativeCurrent(address uniswapV2Pair) internal view returns (uint256 priceCumulative) {
		priceCumulative = IUniswapV2Pair(uniswapV2Pair).price0CumulativeLast();
		(uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast) = IUniswapV2Pair(uniswapV2Pair).getReserves();
		uint224 priceLast = UQ112x112.encode(reserve1).uqdiv(reserve0);
		uint32 timeElapsed = getBlockTimestamp() - blockTimestampLast; // overflow is desired
		// * never overflows, and + overflow is desired
		priceCumulative += uint256(priceLast) * timeElapsed;
	}
	
	function initialize(address uniswapV2Pair) external {
		Pair storage pairStorage = getPair[uniswapV2Pair];
		require(!pairStorage.initialized, "UniswapOracle: ALREADY_INITIALIZED");
		
		uint256 priceCumulativeCurrent = getPriceCumulativeCurrent(uniswapV2Pair);
		uint32 blockTimestamp = getBlockTimestamp();
		pairStorage.priceCumulativeA = priceCumulativeCurrent;
		pairStorage.priceCumulativeB = priceCumulativeCurrent;
		pairStorage.updateA = blockTimestamp;
		pairStorage.updateB = blockTimestamp;
		pairStorage.lastIsA = true;
		pairStorage.initialized = true;
		emit PriceUpdate(uniswapV2Pair, priceCumulativeCurrent, blockTimestamp, true);
	}
	
	function getResult(address uniswapV2Pair) external returns (uint224 price, uint32 T) {
		Pair memory pair = getPair[uniswapV2Pair];
		require(pair.initialized, "UniswapOracle: NOT_INITIALIZED");
		Pair storage pairStorage = getPair[uniswapV2Pair];
				
		uint32 blockTimestamp = getBlockTimestamp();
		uint32 updateLast = pair.lastIsA ? pair.updateA : pair.updateB;
		uint256 priceCumulativeCurrent = getPriceCumulativeCurrent(uniswapV2Pair);
		uint256 priceCumulativeLast;
		
		if (blockTimestamp - updateLast >= MIN_T) {
			// update
			priceCumulativeLast = pair.lastIsA ? pair.priceCumulativeA : pair.priceCumulativeB;
			if (pair.lastIsA) {
				pairStorage.priceCumulativeB = priceCumulativeCurrent;
				pairStorage.updateB = blockTimestamp;
			} else {
				pairStorage.priceCumulativeA = priceCumulativeCurrent;
				pairStorage.updateA = blockTimestamp;
			}
			pairStorage.lastIsA = !pair.lastIsA;
			emit PriceUpdate(uniswapV2Pair, priceCumulativeCurrent, blockTimestamp, !pair.lastIsA);
		}
		else {
			// don't update and return price using previous priceCumulative
			updateLast = pair.lastIsA ? pair.updateB : pair.updateA;
			priceCumulativeLast = pair.lastIsA ? pair.priceCumulativeB : pair.priceCumulativeA;
		}
		
		T = blockTimestamp - updateLast; // overflow is desired
		require(T >= MIN_T, "UniswapOracle: NOT_READY"); //reverts only if the pair has just been initialized
		// / is safe, and - overflow is desired
		price = toUint224((priceCumulativeCurrent - priceCumulativeLast) / T);
	}
	
	/*** Utilities ***/
	
	function getBlockTimestamp() public view returns (uint32) {
		return uint32(block.timestamp % 2**32);
	}
}

Contract ABI

[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"pair","type":"address"},{"indexed":false,"internalType":"uint256","name":"priceCumulative","type":"uint256"},{"indexed":false,"internalType":"uint32","name":"blockTimestamp","type":"uint32"},{"indexed":false,"internalType":"bool","name":"lastIsA","type":"bool"}],"name":"PriceUpdate","type":"event"},{"constant":true,"inputs":[],"name":"MIN_T","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getBlockTimestamp","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"getPair","outputs":[{"internalType":"uint256","name":"priceCumulativeA","type":"uint256"},{"internalType":"uint256","name":"priceCumulativeB","type":"uint256"},{"internalType":"uint32","name":"updateA","type":"uint32"},{"internalType":"uint32","name":"updateB","type":"uint32"},{"internalType":"bool","name":"lastIsA","type":"bool"},{"internalType":"bool","name":"initialized","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"uniswapV2Pair","type":"address"}],"name":"getResult","outputs":[{"internalType":"uint224","name":"price","type":"uint224"},{"internalType":"uint32","name":"T","type":"uint32"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"uniswapV2Pair","type":"address"}],"name":"initialize","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b50610a99806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c8063796b89b911610050578063796b89b91461014d578063c4d66de81461016e578063f51b5531146101a357610067565b80631a788a021461006c578063446a37e0146100dd575b600080fd5b61009f6004803603602081101561008257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166101ab565b60408051968752602087019590955263ffffffff938416868601529190921660608501529015156080840152151560a0830152519081900360c00190f35b610110600480360360208110156100f357600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610200565b604080517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff909316835263ffffffff90911660208301528051918290030190f35b61015561058f565b6040805163ffffffff9092168252519081900360200190f35b6101a16004803603602081101561018457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610599565b005b61015561076f565b60006020819052908152604090208054600182015460029092015490919063ffffffff8082169164010000000081049091169060ff680100000000000000008204811691690100000000000000000090041686565b60008061020b610a0d565b5073ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604091829020825160c081018452815481526001820154928101929092526002015463ffffffff808216938301939093526401000000008104909216606082015260ff6801000000000000000083048116151560808301526901000000000000000000909204909116151560a0820181905261030a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f556e69737761704f7261636c653a204e4f545f494e495449414c495a45440000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff841660009081526020819052604081209061033861058f565b90506000836080015161034f578360600151610355565b83604001515b9050600061036288610775565b9050600061070883850363ffffffff16106104b857856080015161038a57856020015161038d565b85515b90508560800151156103de57600185018290556002850180547fffffffffffffffffffffffffffffffffffffffffffffffff00000000ffffffff1664010000000063ffffffff871602179055610414565b8185556002850180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001663ffffffff86161790555b60808601516002860180546801000000000000000092159283027fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff9091161790556040805184815263ffffffff87166020820152808201929092525173ffffffffffffffffffffffffffffffffffffffff8b16917fc58c63744da19faddae8e37958053493f49d71b8f78d4facf6002cd1c2618fcf919081900360600190a26104ec565b85608001516104cb5785604001516104d1565b85606001515b925085608001516104e35785516104e9565b85602001515b90505b828403965061070863ffffffff8816101561056857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761704f7261636c653a204e4f545f52454144590000000000000000604482015290519081900360640190fd5b6105828763ffffffff168284038161057c57fe5b04610917565b9750505050505050915091565b63ffffffff421690565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260208190526040902060028101546901000000000000000000900460ff1615610629576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180610a436022913960400191505060405180910390fd5b600061063483610775565b9050600061064061058f565b82845560018085018490556002850180546901000000000000000000680100000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000090921663ffffffff86169081177fffffffffffffffffffffffffffffffffffffffffffffffff00000000ffffffff166401000000008202177fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16929092177fffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffff161790915560408051868152602081019290925281810192909252905191925073ffffffffffffffffffffffffffffffffffffffff8616917fc58c63744da19faddae8e37958053493f49d71b8f78d4facf6002cd1c2618fcf916060908290030190a250505050565b61070881565b60008173ffffffffffffffffffffffffffffffffffffffff16635909c0d56040518163ffffffff1660e01b815260040160206040518083038186803b1580156107bd57600080fd5b505afa1580156107d1573d6000803e3d6000fd5b505050506040513d60208110156107e757600080fd5b5051604080517f0902f1ac00000000000000000000000000000000000000000000000000000000815290519192506000918291829173ffffffffffffffffffffffffffffffffffffffff871691630902f1ac916004808301926060929190829003018186803b15801561085957600080fd5b505afa15801561086d573d6000803e3d6000fd5b505050506040513d606081101561088357600080fd5b5080516020820151604090920151909450909250905060006108d2846108a8856109a8565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff6109cc16565b90506000826108df61058f565b0390508063ffffffff16827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1602860195505050505050919050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8211156109a457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f556e69737761704f7261636c653a2055494e543232345f4f564552464c4f5700604482015290519081900360640190fd5b5090565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681610a0557fe5b049392505050565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a08101919091529056fe556e69737761704f7261636c653a20414c52454144595f494e495449414c495a4544a265627a7a72315820a5e9b4cf90cdd1bdbd9dab111d59e00484f36e64d93c014713932eb24530360264736f6c63430005100032

Deployed ByteCode Sourcemap

2684:3532:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2684:3532:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2971:39;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2971:39:0;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4534:1542;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4534:1542:0;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;6107:106;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3865:663;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3865:663:0;;;;:::i;:::-;;2775:35;;;:::i;2971:39::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4534:1542::-;4594:13;4609:8;4624:16;;:::i;:::-;-1:-1:-1;4643:22:0;;;:7;:22;;;;;;;;;;;;4624:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4670:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4761:22;;;4734:24;4761:22;;;;;;;;;;;4818:19;:17;:19::i;:::-;4794:43;;4842:17;4862:4;:12;;;:42;;4892:4;:12;;;4862:42;;;4877:4;:12;;;4862:42;4842:62;;4909:30;4942:40;4968:13;4942:25;:40::i;:::-;4909:73;-1:-1:-1;4987:27:0;2806:4;5027:27;;;:36;;;5023:764;;5107:4;:12;;;:60;;5146:4;:21;;;5107:60;;;5122:21;;5107:60;5085:82;;5177:4;:12;;;5173:244;;;5198:28;;;:53;;;5258:19;;;:36;;;;;;;;;;;;5173:244;;;5314:53;;;5374:19;;;:36;;;;;;;;;;5173:244;5445:12;;;;5422:19;;;:35;;;5444:13;;5422:35;;;;;;;;;;5468:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5023:764;;;5651:4;:12;;;:42;;5681:4;:12;;;5651:42;;;5666:4;:12;;;5651:42;5638:55;;5721:4;:12;;;:60;;5760:21;;5721:60;;;5736:4;:21;;;5721:60;5699:82;;5023:764;5799:27;;;;-1:-1:-1;2806:4:0;5862:10;;;;;5854:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6010:61;6069:1;6020:50;;6046:19;6021:22;:44;6020:50;;;;;;6010:9;:61::i;:::-;6002:69;;4534:1542;;;;;;;;;:::o;6107:106::-;6184:23;:15;:23;;6107:106::o;3865:663::-;3949:22;;;3922:24;3949:22;;;;;;;;;;3985:23;;;;;;;;;3984:24;3976:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4056:30;4089:40;4115:13;4089:25;:40::i;:::-;4056:73;;4134:21;4158:19;:17;:19::i;:::-;4182:53;;;4240:28;;;;:53;;;4298:19;;;:36;;4411:30;4380:26;4298:36;;;;;;;;;;4339;;;;;;4380:26;;;;;;4411:30;;;;;;4451:72;;;;;;;;;;;;;;;;;;;;;;4298:36;;-1:-1:-1;4451:72:0;;;;;;;;;;;;;;3865:663;;;;:::o;2775:35::-;2806:4;2775:35;:::o;3296:563::-;3377:23;3440:13;3425:50;;;:52;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3425:52:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3425:52:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3425:52:0;3548:43;;;;;;;;3425:52;;-1:-1:-1;3483:16:0;;;;;;3548:41;;;;;;:43;;;;;;;;;;;;;;:41;:43;;;5:2:-1;;;;30:1;27;20:12;5:2;3548:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3548:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3548:43:0;;;;;;;;;;;;;-1:-1:-1;3548:43:0;;-1:-1:-1;3548:43:0;-1:-1:-1;3596:17:0;3616:42;3548:43;3616:26;3548:43;3616:16;:26::i;:::-;:32;;;:42;:32;:42;:::i;:::-;3596:62;;3663:18;3706;3684:19;:17;:19::i;:::-;:40;3663:61;;3843:11;3822:32;;3830:9;3822:18;;:32;3803:51;;;;3296:563;;;;;;;;:::o;3124:166::-;3181:7;3203:20;;;;3195:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3279:5:0;3124:166::o;340:120::-;416:10;;285:6;416:17;;340:120::o;531:108::-;591:9;621:10;;;617:14;;;621:10;617:14;;;;;;531:108;-1:-1:-1;;;531:108:0:o;2684:3532::-;;;;;;;;;-1:-1:-1;2684:3532:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o

Swarm Source

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