Contract 0xe195a15533c01c8cd6b28f09066842486f80f8f2

 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xfa2c825a207305b7f9026fde147bc1aa0c97feedd5f645512bf0d116620a1400Settle Orders417967632022-11-28 5:24:281 min ago0x17f81a65f922dc0e50fc4375e33a36cb8089850c IN  CAP Finance: Oracle0 ETH0.00077051
0x23b697b043e2231b7203d2941b5ba8dc2ded7d3cfd622e7fd8e63a4a2b175bcfSettle Orders417964372022-11-28 5:22:283 mins ago0x17f81a65f922dc0e50fc4375e33a36cb8089850c IN  CAP Finance: Oracle0 ETH0.00091562
0xe849072924e136515e4b32d87ed49a8694b55aa5fd09e445609ee82a30614a8cSettle Orders417931842022-11-28 5:00:4325 mins ago0x17f81a65f922dc0e50fc4375e33a36cb8089850c IN  CAP Finance: Oracle0 ETH0.00084969
0xe1059f7867a399f9bbab3d9f2fae25b7da54dbf0a25ff25ed00cbeb7c6b99a34Settle Orders417915562022-11-28 4:49:4336 mins ago0x17f81a65f922dc0e50fc4375e33a36cb8089850c IN  CAP Finance: Oracle0 ETH0.00082851
0x592380293fdc31e129e6c58dee5dc4a2507ebcb642b66b81fe5ba5eb44211e08Settle Orders417895432022-11-28 4:36:5849 mins ago0x17f81a65f922dc0e50fc4375e33a36cb8089850c IN  CAP Finance: Oracle0 ETH0.00090811
0xda903bcebfb1ab269772dc0152447682bc5397e118b1f1337ec3f28d0c1cfbfaSettle Orders417892742022-11-28 4:35:3150 mins ago0x17f81a65f922dc0e50fc4375e33a36cb8089850c IN  CAP Finance: Oracle0 ETH0.00090572
0x100ff486adfa965de54d0f30962628e37fc345d2b19c35b86071715bc0eaec6dSettle Orders417856042022-11-28 4:10:041 hr 15 mins ago0x17f81a65f922dc0e50fc4375e33a36cb8089850c IN  CAP Finance: Oracle0 ETH0.00095306
0x31298053aa45efac8736d5dc6db5d1121d4173ac3286cefcbac350d3d1354eebSettle Orders417854912022-11-28 4:09:101 hr 16 mins ago0x17f81a65f922dc0e50fc4375e33a36cb8089850c IN  CAP Finance: Oracle0 ETH0.00095745
0x2f33b9a3839db606a6c12af8af93eb9ea7b317b7c3de587be82d2c2559e3f805Settle Orders417846292022-11-28 4:03:041 hr 22 mins ago0x17f81a65f922dc0e50fc4375e33a36cb8089850c IN  CAP Finance: Oracle0 ETH0.00090766
0x6053938da5e0c24a4c24559dcd245d66ee8ef750877562bbade1d33913962238Settle Orders417836972022-11-28 3:56:281 hr 29 mins ago0x17f81a65f922dc0e50fc4375e33a36cb8089850c IN  CAP Finance: Oracle0 ETH0.0008034
0xc060f52ec9896588a541c364de0db2afc9f320e5331e404662ac773ba5894acfSettle Orders417836842022-11-28 3:56:221 hr 29 mins ago0x17f81a65f922dc0e50fc4375e33a36cb8089850c IN  CAP Finance: Oracle0 ETH0.00087441
0x7c3ef844672c04db4539a114e52b82a85bcd3cf20c42c5dc5a3182b1567a34adSettle Orders417831292022-11-28 3:52:281 hr 33 mins ago0x17f81a65f922dc0e50fc4375e33a36cb8089850c IN  CAP Finance: Oracle0 ETH0.00077741
0xc84ece54d8c0cc41d196b493f8701838d9548fcfe9ef2604b97de55a1dc9a93fSettle Orders417827872022-11-28 3:50:281 hr 35 mins ago0x17f81a65f922dc0e50fc4375e33a36cb8089850c IN  CAP Finance: Oracle0 ETH0.00091163
0xbea7b25865c3fb2b1f44f5cb87f8d1a02748bab7b0eb2dabc810c73ca19af759Settle Orders417819852022-11-28 3:45:071 hr 40 mins ago0x17f81a65f922dc0e50fc4375e33a36cb8089850c IN  CAP Finance: Oracle0 ETH0.00084074
0x726552373262d0e78d280d1a4f0adc7989631b5a04e39dbb84f3a64f613bed0dSettle Orders417808522022-11-28 3:38:341 hr 47 mins ago0x17f81a65f922dc0e50fc4375e33a36cb8089850c IN  CAP Finance: Oracle0 ETH0.00077817
0x3056e1acba9a4f456889f4a7f8b55d3dce6cc8e8675ad3e68a18202ae20b1e61Settle Orders417802082022-11-28 3:35:161 hr 50 mins ago0x17f81a65f922dc0e50fc4375e33a36cb8089850c IN  CAP Finance: Oracle0 ETH0.00086227
0x7fe14ce24162212ecdff8f4c2faac9e42205476529e115ae621e58401fbf6cc0Settle Orders417755182022-11-28 3:10:462 hrs 15 mins ago0x17f81a65f922dc0e50fc4375e33a36cb8089850c IN  CAP Finance: Oracle0 ETH0.00093324
0x20810ddb2c568700390d40bf8cc06b730c9005212a630b23436eb7d30bc5bd1cSettle Orders417720002022-11-28 2:50:222 hrs 35 mins ago0x17f81a65f922dc0e50fc4375e33a36cb8089850c IN  CAP Finance: Oracle0 ETH0.00098563
0x4079a13ebea10732f18e21350ee32917d93f996eb67db0110ff252dd3f6b5a7cSettle Orders417716132022-11-28 2:48:112 hrs 37 mins ago0x17f81a65f922dc0e50fc4375e33a36cb8089850c IN  CAP Finance: Oracle0 ETH0.00097225
0x22178b288c4bee19f0fd802b5c70b498836d194a1ed3f0bed0e73419fc437f33Settle Orders417667402022-11-28 2:20:303 hrs 5 mins ago0x17f81a65f922dc0e50fc4375e33a36cb8089850c IN  CAP Finance: Oracle0 ETH0.00094847
0xb4062df09607743fd08add3901ddcff6cae5b37e1f8922d1c0f3a5fc447f50a9Settle Orders417636892022-11-28 2:03:283 hrs 22 mins ago0x17f81a65f922dc0e50fc4375e33a36cb8089850c IN  CAP Finance: Oracle0 ETH0.00096297
0x5d64dc5bf310048b83b7adf1f80e4f92c85ff49970d5c12f78c86ac225735008Settle Orders417636572022-11-28 2:03:183 hrs 22 mins ago0x17f81a65f922dc0e50fc4375e33a36cb8089850c IN  CAP Finance: Oracle0 ETH0.00101951
0xa2458e22637343427de428eee1462498fdb16d4b9678e34f2c327e318869a117Settle Orders417625152022-11-28 1:56:573 hrs 29 mins ago0x17f81a65f922dc0e50fc4375e33a36cb8089850c IN  CAP Finance: Oracle0 ETH0.00110033
0xcf7c41f623e8126f668f385e261a732aaaea918ff0b58b1123e95a2f26b32b81Settle Orders417623862022-11-28 1:56:163 hrs 29 mins ago0x17f81a65f922dc0e50fc4375e33a36cb8089850c IN  CAP Finance: Oracle0 ETH0.00099824
0x8949fcc5998040debc3c63046757d128c5ef5baee3d85799a96610052f3b2b14Settle Orders417619732022-11-28 1:53:573 hrs 32 mins ago0x17f81a65f922dc0e50fc4375e33a36cb8089850c IN  CAP Finance: Oracle0 ETH0.00095987
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xfa2c825a207305b7f9026fde147bc1aa0c97feedd5f645512bf0d116620a1400417967632022-11-28 5:24:281 min ago CAP Finance: Oracle0xbed32937d8a5d1421241f52809908f1a17d75bdb0 ETH
0x23b697b043e2231b7203d2941b5ba8dc2ded7d3cfd622e7fd8e63a4a2b175bcf417964372022-11-28 5:22:283 mins ago CAP Finance: Oracle0xbed32937d8a5d1421241f52809908f1a17d75bdb0 ETH
0xe849072924e136515e4b32d87ed49a8694b55aa5fd09e445609ee82a30614a8c417931842022-11-28 5:00:4325 mins ago CAP Finance: Oracle0xbed32937d8a5d1421241f52809908f1a17d75bdb0 ETH
0xe1059f7867a399f9bbab3d9f2fae25b7da54dbf0a25ff25ed00cbeb7c6b99a34417915562022-11-28 4:49:4336 mins ago CAP Finance: Oracle0xbed32937d8a5d1421241f52809908f1a17d75bdb0 ETH
0x592380293fdc31e129e6c58dee5dc4a2507ebcb642b66b81fe5ba5eb44211e08417895432022-11-28 4:36:5849 mins ago CAP Finance: Oracle0xbed32937d8a5d1421241f52809908f1a17d75bdb0 ETH
0xda903bcebfb1ab269772dc0152447682bc5397e118b1f1337ec3f28d0c1cfbfa417892742022-11-28 4:35:3150 mins ago CAP Finance: Oracle0xbed32937d8a5d1421241f52809908f1a17d75bdb0 ETH
0x100ff486adfa965de54d0f30962628e37fc345d2b19c35b86071715bc0eaec6d417856042022-11-28 4:10:041 hr 15 mins ago CAP Finance: Oracle0xbed32937d8a5d1421241f52809908f1a17d75bdb0 ETH
0x31298053aa45efac8736d5dc6db5d1121d4173ac3286cefcbac350d3d1354eeb417854912022-11-28 4:09:101 hr 16 mins ago CAP Finance: Oracle0xbed32937d8a5d1421241f52809908f1a17d75bdb0 ETH
0x2f33b9a3839db606a6c12af8af93eb9ea7b317b7c3de587be82d2c2559e3f805417846292022-11-28 4:03:041 hr 22 mins ago CAP Finance: Oracle0xbed32937d8a5d1421241f52809908f1a17d75bdb0 ETH
0x6053938da5e0c24a4c24559dcd245d66ee8ef750877562bbade1d33913962238417836972022-11-28 3:56:281 hr 29 mins ago CAP Finance: Oracle0xbed32937d8a5d1421241f52809908f1a17d75bdb0 ETH
0xc060f52ec9896588a541c364de0db2afc9f320e5331e404662ac773ba5894acf417836842022-11-28 3:56:221 hr 29 mins ago CAP Finance: Oracle0xbed32937d8a5d1421241f52809908f1a17d75bdb0 ETH
0x7c3ef844672c04db4539a114e52b82a85bcd3cf20c42c5dc5a3182b1567a34ad417831292022-11-28 3:52:281 hr 33 mins ago CAP Finance: Oracle0xbed32937d8a5d1421241f52809908f1a17d75bdb0 ETH
0xc84ece54d8c0cc41d196b493f8701838d9548fcfe9ef2604b97de55a1dc9a93f417827872022-11-28 3:50:281 hr 35 mins ago CAP Finance: Oracle0xbed32937d8a5d1421241f52809908f1a17d75bdb0 ETH
0xbea7b25865c3fb2b1f44f5cb87f8d1a02748bab7b0eb2dabc810c73ca19af759417819852022-11-28 3:45:071 hr 40 mins ago CAP Finance: Oracle0xbed32937d8a5d1421241f52809908f1a17d75bdb0 ETH
0x726552373262d0e78d280d1a4f0adc7989631b5a04e39dbb84f3a64f613bed0d417808522022-11-28 3:38:341 hr 47 mins ago CAP Finance: Oracle0xbed32937d8a5d1421241f52809908f1a17d75bdb0 ETH
0x3056e1acba9a4f456889f4a7f8b55d3dce6cc8e8675ad3e68a18202ae20b1e61417802082022-11-28 3:35:161 hr 50 mins ago CAP Finance: Oracle0xbed32937d8a5d1421241f52809908f1a17d75bdb0 ETH
0x7fe14ce24162212ecdff8f4c2faac9e42205476529e115ae621e58401fbf6cc0417755182022-11-28 3:10:462 hrs 15 mins ago CAP Finance: Oracle0xbed32937d8a5d1421241f52809908f1a17d75bdb0 ETH
0x20810ddb2c568700390d40bf8cc06b730c9005212a630b23436eb7d30bc5bd1c417720002022-11-28 2:50:222 hrs 35 mins ago CAP Finance: Oracle0xbed32937d8a5d1421241f52809908f1a17d75bdb0 ETH
0x4079a13ebea10732f18e21350ee32917d93f996eb67db0110ff252dd3f6b5a7c417716132022-11-28 2:48:112 hrs 37 mins ago CAP Finance: Oracle0xbed32937d8a5d1421241f52809908f1a17d75bdb0 ETH
0x22178b288c4bee19f0fd802b5c70b498836d194a1ed3f0bed0e73419fc437f33417667402022-11-28 2:20:303 hrs 5 mins ago CAP Finance: Oracle0xbed32937d8a5d1421241f52809908f1a17d75bdb0 ETH
0xb4062df09607743fd08add3901ddcff6cae5b37e1f8922d1c0f3a5fc447f50a9417636892022-11-28 2:03:283 hrs 22 mins ago CAP Finance: Oracle0xbed32937d8a5d1421241f52809908f1a17d75bdb0 ETH
0x5d64dc5bf310048b83b7adf1f80e4f92c85ff49970d5c12f78c86ac225735008417636572022-11-28 2:03:183 hrs 22 mins ago CAP Finance: Oracle0xbed32937d8a5d1421241f52809908f1a17d75bdb0 ETH
0xa2458e22637343427de428eee1462498fdb16d4b9678e34f2c327e318869a117417625152022-11-28 1:56:573 hrs 29 mins ago CAP Finance: Oracle0xbed32937d8a5d1421241f52809908f1a17d75bdb0 ETH
0xcf7c41f623e8126f668f385e261a732aaaea918ff0b58b1123e95a2f26b32b81417623862022-11-28 1:56:163 hrs 29 mins ago CAP Finance: Oracle0xbed32937d8a5d1421241f52809908f1a17d75bdb0 ETH
0x8949fcc5998040debc3c63046757d128c5ef5baee3d85799a96610052f3b2b14417619732022-11-28 1:53:573 hrs 32 mins ago CAP Finance: Oracle0xbed32937d8a5d1421241f52809908f1a17d75bdb0 ETH
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Oracle

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, BSD-3-Clause license
/**
 *Submitted for verification at Arbiscan on 2021-11-19
*/

// SPDX-License-Identifier: BUSL-1.1
pragma solidity ^0.8.0;

interface IRouter {
    function trading() external view returns (address);

    function capPool() external view returns (address);

    function oracle() external view returns (address);

    function treasury() external view returns (address);

    function darkOracle() external view returns (address);

    function isSupportedCurrency(address currency) external view returns (bool);

    function currencies(uint256 index) external view returns (address);

    function currenciesLength() external view returns (uint256);

    function getDecimals(address currency) external view returns(uint8);

    function getPool(address currency) external view returns (address);

    function getPoolShare(address currency) external view returns(uint256);

    function getCapShare(address currency) external view returns(uint256);

    function getPoolRewards(address currency) external view returns (address);

    function getCapRewards(address currency) external view returns (address);
}

interface ITreasury {
    function fundOracle(address destination, uint256 amount) external;

    function notifyFeeReceived(address currency, uint256 amount) external;
}

interface ITrading {

    function distributeFees(address currency) external;
    
    function settleOrder(address user, bytes32 productId, address currency, bool isLong, uint256 price) external;

    function liquidatePosition(address user, bytes32 productId, address currency, bool isLong, uint256 price) external;

    function getPendingFee(address currency) external view returns(uint256);
    
}

contract Oracle {

	// Contract dependencies
	address public owner;
	address public router;
	address public darkOracle;
	address public treasury;
	address public trading;

	// Variables
	uint256 public requestsPerFunding = 100;
	uint256 public costPerRequest = 6 * 10**14; // 0.0006 ETH
	uint256 public requestsSinceFunding;

	event SettlementError(
		address indexed user,
		address currency,
		bytes32 productId,
		bool isLong,
		string reason
	);

	constructor() {
		owner = msg.sender;
	}

	// Governance methods

	function setOwner(address newOwner) external onlyOwner {
		owner = newOwner;
	}

	function setRouter(address _router) external onlyOwner {
		router = _router;
		trading = IRouter(router).trading();
		treasury = IRouter(router).treasury();
		darkOracle = IRouter(router).darkOracle();
	}

	function setParams(
		uint256 _requestsPerFunding, 
		uint256 _costPerRequest
	) external onlyOwner {
		requestsPerFunding = _requestsPerFunding;
		costPerRequest = _costPerRequest;
	}

	// Methods

	function settleOrders(
		address[] calldata users,
		bytes32[] calldata productIds,
		address[] calldata currencies,
		bool[] calldata directions,
		uint256[] calldata prices
	) external onlyDarkOracle {

		for (uint256 i = 0; i < users.length; i++) {

			address user = users[i];
			address currency = currencies[i];
			bytes32 productId = productIds[i];
			bool isLong = directions[i];

			try ITrading(trading).settleOrder(user, productId, currency, isLong, prices[i]) {

			} catch Error(string memory reason) {
				emit SettlementError(
					user,
					currency,
					productId,
					isLong,
					reason
				);
			}

		}

		_tallyOracleRequests(users.length);

	}

	function liquidatePositions(
		address[] calldata users,
		bytes32[] calldata productIds,
		address[] calldata currencies,
		bool[] calldata directions,
		uint256[] calldata prices
	) external onlyDarkOracle {
		for (uint256 i = 0; i < users.length; i++) {
			address user = users[i];
			bytes32 productId = productIds[i];
			address currency = currencies[i];
			bool isLong = directions[i];
			ITrading(trading).liquidatePosition(user, productId, currency, isLong, prices[i]);
		}
		_tallyOracleRequests(users.length);
	}

	function _tallyOracleRequests(uint256 newRequests) internal {
		if (newRequests == 0) return;
		requestsSinceFunding += newRequests;
		if (requestsSinceFunding >= requestsPerFunding) {
			requestsSinceFunding = 0;
			ITreasury(treasury).fundOracle(darkOracle, costPerRequest * requestsPerFunding);
		}
	}

	// Modifiers

	modifier onlyOwner() {
		require(msg.sender == owner, "!owner");
		_;
	}

	modifier onlyDarkOracle() {
		require(msg.sender == darkOracle, "!dark-oracle");
		_;
	}

}

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"address","name":"currency","type":"address"},{"indexed":false,"internalType":"bytes32","name":"productId","type":"bytes32"},{"indexed":false,"internalType":"bool","name":"isLong","type":"bool"},{"indexed":false,"internalType":"string","name":"reason","type":"string"}],"name":"SettlementError","type":"event"},{"inputs":[],"name":"costPerRequest","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"darkOracle","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"users","type":"address[]"},{"internalType":"bytes32[]","name":"productIds","type":"bytes32[]"},{"internalType":"address[]","name":"currencies","type":"address[]"},{"internalType":"bool[]","name":"directions","type":"bool[]"},{"internalType":"uint256[]","name":"prices","type":"uint256[]"}],"name":"liquidatePositions","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"requestsPerFunding","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"requestsSinceFunding","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"setOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_requestsPerFunding","type":"uint256"},{"internalType":"uint256","name":"_costPerRequest","type":"uint256"}],"name":"setParams","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_router","type":"address"}],"name":"setRouter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"users","type":"address[]"},{"internalType":"bytes32[]","name":"productIds","type":"bytes32[]"},{"internalType":"address[]","name":"currencies","type":"address[]"},{"internalType":"bool[]","name":"directions","type":"bool[]"},{"internalType":"uint256[]","name":"prices","type":"uint256[]"}],"name":"settleOrders","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"trading","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"treasury","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

60806040526064600555660221b262dd800060065534801561002057600080fd5b50600080546001600160a01b03191633179055610d0f806100426000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80638da5cb5b1161008c578063c0d7865511610066578063c0d786551461018e578063cc064c8c146101a1578063ec44acf2146101b4578063f887ea40146101c757600080fd5b80638da5cb5b1461015f578063a9b3f17714610172578063c0324c771461017b57600080fd5b80630e99abc0146100d457806313af4035146100f057806330f6a8891461010557806344787b3e1461011857806361d027b3146101215780638c6909f71461014c575b600080fd5b6100dd60075481565b6040519081526020015b60405180910390f35b6101036100fe36600461095a565b6101da565b005b61010361011336600461099b565b61022f565b6100dd60055481565b600354610134906001600160a01b031681565b6040516001600160a01b0390911681526020016100e7565b600254610134906001600160a01b031681565b600054610134906001600160a01b031681565b6100dd60065481565b610103610189366004610aae565b6103f6565b61010361019c36600461095a565b61042b565b6101036101af36600461099b565b610625565b600454610134906001600160a01b031681565b600154610134906001600160a01b031681565b6000546001600160a01b0316331461020d5760405162461bcd60e51b815260040161020490610b45565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6002546001600160a01b031633146102785760405162461bcd60e51b815260206004820152600c60248201526b216461726b2d6f7261636c6560a01b6044820152606401610204565b60005b898110156103e05760008b8b8381811061029757610297610c08565b90506020020160208101906102ac919061095a565b905060008a8a848181106102c2576102c2610c08565b90506020020135905060008989858181106102df576102df610c08565b90506020020160208101906102f4919061095a565b9050600088888681811061030a5761030a610c08565b905060200201602081019061031f9190610a8c565b6004549091506001600160a01b03166321465739858585858c8c8c81811061034957610349610c08565b60405160e089901b6001600160e01b03191681526001600160a01b0397881660048201526024810196909652939095166044850152901515606484015260209091020135608482015260a4019050600060405180830381600087803b1580156103b157600080fd5b505af11580156103c5573d6000803e3d6000fd5b505050505050505080806103d890610bd7565b91505061027b565b506103ea89610854565b50505050505050505050565b6000546001600160a01b031633146104205760405162461bcd60e51b815260040161020490610b45565b600591909155600655565b6000546001600160a01b031633146104555760405162461bcd60e51b815260040161020490610b45565b600180546001600160a01b0319166001600160a01b03831690811790915560408051637622567960e11b8152905163ec44acf291600480820192602092909190829003018186803b1580156104a957600080fd5b505afa1580156104bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e1919061097e565b600480546001600160a01b0319166001600160a01b03928316178155600154604080516361d027b360e01b8152905191909316926361d027b39281810192602092909190829003018186803b15801561053957600080fd5b505afa15801561054d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610571919061097e565b600380546001600160a01b0319166001600160a01b0392831617905560015460408051638c6909f760e01b815290519190921691638c6909f7916004808301926020929190829003018186803b1580156105ca57600080fd5b505afa1580156105de573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610602919061097e565b600280546001600160a01b0319166001600160a01b039290921691909117905550565b6002546001600160a01b0316331461066e5760405162461bcd60e51b815260206004820152600c60248201526b216461726b2d6f7261636c6560a01b6044820152606401610204565b60005b898110156103e05760008b8b8381811061068d5761068d610c08565b90506020020160208101906106a2919061095a565b905060008888848181106106b8576106b8610c08565b90506020020160208101906106cd919061095a565b905060008b8b858181106106e3576106e3610c08565b905060200201359050600088888681811061070057610700610c08565b90506020020160208101906107159190610a8c565b6004549091506001600160a01b0316636b62da40858486858c8c8c81811061073f5761073f610c08565b60405160e089901b6001600160e01b03191681526001600160a01b0397881660048201526024810196909652939095166044850152901515606484015260209091020135608482015260a4019050600060405180830381600087803b1580156107a757600080fd5b505af19250505080156107b8575060015b61083d576107c4610c1e565b806308c379a0141561083157506107d9610c3a565b806107e45750610833565b846001600160a01b03167f2478066a5f86cafc1910161e6dcae4501dfb0fa59d20d9ef13970a6f9c28d816858585856040516108239493929190610ad0565b60405180910390a25061083d565b505b3d6000803e3d6000fd5b50505050808061084c90610bd7565b915050610671565b8061085c5750565b806007600082825461086e9190610b65565b90915550506005546007541061090b5760006007556003546002546005546006546001600160a01b039384169363a5a01c5d9316916108ac91610b7d565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b1580156108f257600080fd5b505af1158015610906573d6000803e3d6000fd5b505050505b50565b60008083601f84011261092057600080fd5b50813567ffffffffffffffff81111561093857600080fd5b6020830191508360208260051b850101111561095357600080fd5b9250929050565b60006020828403121561096c57600080fd5b813561097781610cc4565b9392505050565b60006020828403121561099057600080fd5b815161097781610cc4565b60008060008060008060008060008060a08b8d0312156109ba57600080fd5b8a3567ffffffffffffffff808211156109d257600080fd5b6109de8e838f0161090e565b909c509a5060208d01359150808211156109f757600080fd5b610a038e838f0161090e565b909a50985060408d0135915080821115610a1c57600080fd5b610a288e838f0161090e565b909850965060608d0135915080821115610a4157600080fd5b610a4d8e838f0161090e565b909650945060808d0135915080821115610a6657600080fd5b50610a738d828e0161090e565b915080935050809150509295989b9194979a5092959850565b600060208284031215610a9e57600080fd5b8135801515811461097757600080fd5b60008060408385031215610ac157600080fd5b50508035926020909101359150565b60018060a01b0385168152600060208581840152841515604084015260806060840152835180608085015260005b81811015610b1a5785810183015185820160a001528201610afe565b81811115610b2c57600060a083870101525b50601f01601f19169290920160a0019695505050505050565b60208082526006908201526510b7bbb732b960d11b604082015260600190565b60008219821115610b7857610b78610bf2565b500190565b6000816000190483118215151615610b9757610b97610bf2565b500290565b601f8201601f1916810167ffffffffffffffff81118282101715610bd057634e487b7160e01b600052604160045260246000fd5b6040525050565b6000600019821415610beb57610beb610bf2565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600060033d1115610c375760046000803e5060005160e01c5b90565b600060443d1015610c485790565b6040516003193d81016004833e81513d67ffffffffffffffff8160248401118184111715610c7857505050505090565b8285019150815181811115610c905750505050505090565b843d8701016020828501011115610caa5750505050505090565b610cb960208286010187610b9c565b509095945050505050565b6001600160a01b038116811461090b57600080fdfea26469706673582212201ca09667afb95ed9f131bdcb4e5a142a75be29b75d0b01fc88dcdd58b8a55f5c64736f6c63430008070033

Deployed ByteCode Sourcemap

1679:2812:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1979:35;;;;;;;;;5845:25:1;;;5833:2;5818:18;1979:35:0;;;;;;;;2226:81;;;;;;:::i;:::-;;:::i;:::-;;3440:537;;;;;;:::i;:::-;;:::i;1876:39::-;;;;;;1806:23;;;;;-1:-1:-1;;;;;1806:23:0;;;;;;-1:-1:-1;;;;;3311:32:1;;;3293:51;;3281:2;3266:18;1806:23:0;3147:203:1;1777:25:0;;;;;-1:-1:-1;;;;;1777:25:0;;;1728:20;;;;;-1:-1:-1;;;;;1728:20:0;;;1919:42;;;;;;2526:190;;;;;;:::i;:::-;;:::i;2312:209::-;;;;;;:::i;:::-;;:::i;2736:699::-;;;;;;:::i;:::-;;:::i;1833:22::-;;;;;-1:-1:-1;;;;;1833:22:0;;;1752:21;;;;;-1:-1:-1;;;;;1752:21:0;;;2226:81;4363:5;;-1:-1:-1;;;;;4363:5:0;4349:10;:19;4341:38;;;;-1:-1:-1;;;4341:38:0;;;;;;;:::i;:::-;;;;;;;;;2286:5:::1;:16:::0;;-1:-1:-1;;;;;;2286:16:0::1;-1:-1:-1::0;;;;;2286:16:0;;;::::1;::::0;;;::::1;::::0;;2226:81::o;3440:537::-;4448:10;;-1:-1:-1;;;;;4448:10:0;4434;:24;4426:49;;;;-1:-1:-1;;;4426:49:0;;5226:2:1;4426:49:0;;;5208:21:1;5265:2;5245:18;;;5238:30;-1:-1:-1;;;5284:18:1;;;5277:42;5336:18;;4426:49:0;5024:336:1;4426:49:0;3664:9:::1;3659:275;3679:16:::0;;::::1;3659:275;;;3708:12;3723:5;;3729:1;3723:8;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;3708:23;;3737:17;3757:10;;3768:1;3757:13;;;;;;;:::i;:::-;;;;;;;3737:33;;3776:16;3795:10;;3806:1;3795:13;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;3776:32;;3814:11;3828:10;;3839:1;3828:13;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;3856:7;::::0;3814:27;;-1:-1:-1;;;;;;3856:7:0::1;3847:35;3883:4:::0;3889:9;3900:8;3814:27;3918:6;;3925:1;3918:9;;::::1;;;;;:::i;:::-;3847:81;::::0;::::1;::::0;;;-1:-1:-1;;;;;;3847:81:0;;;-1:-1:-1;;;;;3664:15:1;;;3847:81:0::1;::::0;::::1;3646:34:1::0;3696:18;;;3689:34;;;;3759:15;;;;3739:18;;;3732:43;3818:14;;3811:22;3791:18;;;3784:50;3918:9:0::1;::::0;;::::1;;;3850:19:1::0;;;3843:35;3580:19;;;-1:-1:-1;3847:81:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;3702:232;;;;3697:3;;;;;:::i;:::-;;;;3659:275;;;-1:-1:-1::0;3938:34:0::1;3959:5:::0;3938:20:::1;:34::i;:::-;3440:537:::0;;;;;;;;;;:::o;2526:190::-;4363:5;;-1:-1:-1;;;;;4363:5:0;4349:10;:19;4341:38;;;;-1:-1:-1;;;4341:38:0;;;;;;;:::i;:::-;2634:18:::1;:40:::0;;;;2679:14:::1;:32:::0;2526:190::o;2312:209::-;4363:5;;-1:-1:-1;;;;;4363:5:0;4349:10;:19;4341:38;;;;-1:-1:-1;;;4341:38:0;;;;;;;:::i;:::-;2372:6:::1;:16:::0;;-1:-1:-1;;;;;;2372:16:0::1;-1:-1:-1::0;;;;;2372:16:0;::::1;::::0;;::::1;::::0;;;2403:25:::1;::::0;;-1:-1:-1;;;2403:25:0;;;;:23:::1;::::0;:25:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;2372:16;2403:25;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2393:7;:35:::0;;-1:-1:-1;;;;;;2393:35:0::1;-1:-1:-1::0;;;;;2393:35:0;;::::1;;::::0;;-1:-1:-1;2452:6:0;2444:26:::1;::::0;;-1:-1:-1;;;2444:26:0;;;;2452:6;;;::::1;::::0;2444:24:::1;::::0;:26;;::::1;::::0;::::1;::::0;;;;;;;;;2452:6;2444:26;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2433:8;:37:::0;;-1:-1:-1;;;;;;2433:37:0::1;-1:-1:-1::0;;;;;2433:37:0;;::::1;;::::0;;-1:-1:-1;2496:6:0;2488:28:::1;::::0;;-1:-1:-1;;;2488:28:0;;;;2496:6;;;::::1;::::0;2488:26:::1;::::0;:28:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;2496:6;2488:28;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2475:10;:41:::0;;-1:-1:-1;;;;;;2475:41:0::1;-1:-1:-1::0;;;;;2475:41:0;;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;2312:209:0:o;2736:699::-;4448:10;;-1:-1:-1;;;;;4448:10:0;4434;:24;4426:49;;;;-1:-1:-1;;;4426:49:0;;5226:2:1;4426:49:0;;;5208:21:1;5265:2;5245:18;;;5238:30;-1:-1:-1;;;5284:18:1;;;5277:42;5336:18;;4426:49:0;5024:336:1;4426:49:0;2956:9:::1;2951:437;2971:16:::0;;::::1;2951:437;;;3002:12;3017:5;;3023:1;3017:8;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;3002:23;;3031:16;3050:10;;3061:1;3050:13;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;3031:32;;3069:17;3089:10;;3100:1;3089:13;;;;;;;:::i;:::-;;;;;;;3069:33;;3108:11;3122:10;;3133:1;3122:13;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;3156:7;::::0;3108:27;;-1:-1:-1;;;;;;3156:7:0::1;3147:29;3177:4:::0;3183:9;3194:8;3108:27;3212:6;;3219:1;3212:9;;::::1;;;;;:::i;:::-;3147:75;::::0;::::1;::::0;;;-1:-1:-1;;;;;;3147:75:0;;;-1:-1:-1;;;;;3664:15:1;;;3147:75:0::1;::::0;::::1;3646:34:1::0;3696:18;;;3689:34;;;;3759:15;;;;3739:18;;;3732:43;3818:14;;3811:22;3791:18;;;3784:50;3212:9:0::1;::::0;;::::1;;;3850:19:1::0;;;3843:35;3580:19;;;-1:-1:-1;3147:75:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;3143:238;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;3302:4;-1:-1:-1::0;;;;;3279:95:0::1;;3314:8;3330:9;3347:6;3361;3279:95;;;;;;;;;:::i;:::-;;;;;;;;3233:148;3143:238;;;;;;;::::0;::::1;;;;;2994:394;;;;2989:3;;;;;:::i;:::-;;;;2951:437;;3982:311:::0;4051:16;4047:29;;3982:311;:::o;4047:29::-;4104:11;4080:20;;:35;;;;;;;:::i;:::-;;;;-1:-1:-1;;4148:18:0;;4124:20;;:42;4120:169;;4197:1;4174:20;:24;4214:8;;4235:10;;4264:18;;4247:14;;-1:-1:-1;;;;;4214:8:0;;;;4204:30;;4235:10;;4247:35;;;:::i;:::-;4204:79;;-1:-1:-1;;;;;;4204:79:0;;;;;;;-1:-1:-1;;;;;4937:32:1;;;4204:79:0;;;4919:51:1;4986:18;;;4979:34;4892:18;;4204:79:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4120:169;3982:311;:::o;14:367:1:-;77:8;87:6;141:3;134:4;126:6;122:17;118:27;108:55;;159:1;156;149:12;108:55;-1:-1:-1;182:20:1;;225:18;214:30;;211:50;;;257:1;254;247:12;211:50;294:4;286:6;282:17;270:29;;354:3;347:4;337:6;334:1;330:14;322:6;318:27;314:38;311:47;308:67;;;371:1;368;361:12;308:67;14:367;;;;;:::o;386:247::-;445:6;498:2;486:9;477:7;473:23;469:32;466:52;;;514:1;511;504:12;466:52;553:9;540:23;572:31;597:5;572:31;:::i;:::-;622:5;386:247;-1:-1:-1;;;386:247:1:o;638:251::-;708:6;761:2;749:9;740:7;736:23;732:32;729:52;;;777:1;774;767:12;729:52;809:9;803:16;828:31;853:5;828:31;:::i;894:1717::-;1121:6;1129;1137;1145;1153;1161;1169;1177;1185;1193;1246:3;1234:9;1225:7;1221:23;1217:33;1214:53;;;1263:1;1260;1253:12;1214:53;1303:9;1290:23;1332:18;1373:2;1365:6;1362:14;1359:34;;;1389:1;1386;1379:12;1359:34;1428:70;1490:7;1481:6;1470:9;1466:22;1428:70;:::i;:::-;1517:8;;-1:-1:-1;1402:96:1;-1:-1:-1;1605:2:1;1590:18;;1577:32;;-1:-1:-1;1621:16:1;;;1618:36;;;1650:1;1647;1640:12;1618:36;1689:72;1753:7;1742:8;1731:9;1727:24;1689:72;:::i;:::-;1780:8;;-1:-1:-1;1663:98:1;-1:-1:-1;1868:2:1;1853:18;;1840:32;;-1:-1:-1;1884:16:1;;;1881:36;;;1913:1;1910;1903:12;1881:36;1952:72;2016:7;2005:8;1994:9;1990:24;1952:72;:::i;:::-;2043:8;;-1:-1:-1;1926:98:1;-1:-1:-1;2131:2:1;2116:18;;2103:32;;-1:-1:-1;2147:16:1;;;2144:36;;;2176:1;2173;2166:12;2144:36;2215:72;2279:7;2268:8;2257:9;2253:24;2215:72;:::i;:::-;2306:8;;-1:-1:-1;2189:98:1;-1:-1:-1;2394:3:1;2379:19;;2366:33;;-1:-1:-1;2411:16:1;;;2408:36;;;2440:1;2437;2430:12;2408:36;;2479:72;2543:7;2532:8;2521:9;2517:24;2479:72;:::i;:::-;2453:98;;2570:8;2560:18;;;2597:8;2587:18;;;894:1717;;;;;;;;;;;;;:::o;2616:273::-;2672:6;2725:2;2713:9;2704:7;2700:23;2696:32;2693:52;;;2741:1;2738;2731:12;2693:52;2780:9;2767:23;2833:5;2826:13;2819:21;2812:5;2809:32;2799:60;;2855:1;2852;2845:12;2894:248;2962:6;2970;3023:2;3011:9;3002:7;2998:23;2994:32;2991:52;;;3039:1;3036;3029:12;2991:52;-1:-1:-1;;3062:23:1;;;3132:2;3117:18;;;3104:32;;-1:-1:-1;2894:248:1:o;3889:851::-;4145:1;4141;4136:3;4132:11;4128:19;4120:6;4116:32;4105:9;4098:51;4079:4;4168:2;4206:6;4201:2;4190:9;4186:18;4179:34;4263:6;4256:14;4249:22;4244:2;4233:9;4229:18;4222:50;4308:3;4303:2;4292:9;4288:18;4281:31;4341:6;4335:13;4385:6;4379:3;4368:9;4364:19;4357:35;4410:1;4420:141;4434:6;4431:1;4428:13;4420:141;;;4530:14;;;4526:23;;4520:30;4495:17;;;4514:3;4491:27;4484:67;4449:10;;4420:141;;;4579:6;4576:1;4573:13;4570:92;;;4650:1;4644:3;4635:6;4624:9;4620:22;4616:32;4609:43;4570:92;-1:-1:-1;4723:2:1;4702:15;-1:-1:-1;;4698:29:1;4683:45;;;;4730:3;4679:55;;3889:851;-1:-1:-1;;;;;;3889:851:1:o;5365:329::-;5567:2;5549:21;;;5606:1;5586:18;;;5579:29;-1:-1:-1;;;5639:2:1;5624:18;;5617:36;5685:2;5670:18;;5365:329::o;5881:128::-;5921:3;5952:1;5948:6;5945:1;5942:13;5939:39;;;5958:18;;:::i;:::-;-1:-1:-1;5994:9:1;;5881:128::o;6014:168::-;6054:7;6120:1;6116;6112:6;6108:14;6105:1;6102:21;6097:1;6090:9;6083:17;6079:45;6076:71;;;6127:18;;:::i;:::-;-1:-1:-1;6167:9:1;;6014:168::o;6187:346::-;6297:2;6278:13;;-1:-1:-1;;6274:27:1;6262:40;;6332:18;6317:34;;6353:22;;;6314:62;6311:185;;;6418:10;6413:3;6409:20;6406:1;6399:31;6453:4;6450:1;6443:15;6481:4;6478:1;6471:15;6311:185;6512:2;6505:22;-1:-1:-1;;6187:346:1:o;6538:135::-;6577:3;-1:-1:-1;;6598:17:1;;6595:43;;;6618:18;;:::i;:::-;-1:-1:-1;6665:1:1;6654:13;;6538:135::o;6678:127::-;6739:10;6734:3;6730:20;6727:1;6720:31;6770:4;6767:1;6760:15;6794:4;6791:1;6784:15;6810:127;6871:10;6866:3;6862:20;6859:1;6852:31;6902:4;6899:1;6892:15;6926:4;6923:1;6916:15;6942:179;6977:3;7019:1;7001:16;6998:23;6995:120;;;7065:1;7062;7059;7044:23;-1:-1:-1;7102:1:1;7096:8;7091:3;7087:18;6995:120;6942:179;:::o;7126:671::-;7165:3;7207:4;7189:16;7186:26;7183:39;;;7126:671;:::o;7183:39::-;7249:2;7243:9;-1:-1:-1;;7314:16:1;7310:25;;7307:1;7243:9;7286:50;7365:4;7359:11;7389:16;7424:18;7495:2;7488:4;7480:6;7476:17;7473:25;7468:2;7460:6;7457:14;7454:45;7451:58;;;7502:5;;;;;7126:671;:::o;7451:58::-;7539:6;7533:4;7529:17;7518:28;;7575:3;7569:10;7602:2;7594:6;7591:14;7588:27;;;7608:5;;;;;;7126:671;:::o;7588:27::-;7692:2;7673:16;7667:4;7663:27;7659:36;7652:4;7643:6;7638:3;7634:16;7630:27;7627:69;7624:82;;;7699:5;;;;;;7126:671;:::o;7624:82::-;7715:57;7766:4;7757:6;7749;7745:19;7741:30;7735:4;7715:57;:::i;:::-;-1:-1:-1;7788:3:1;;7126:671;-1:-1:-1;;;;;7126:671:1:o;7802:131::-;-1:-1:-1;;;;;7877:31:1;;7867:42;;7857:70;;7923:1;7920;7913:12

Metadata Hash

1ca09667afb95ed9f131bdcb4e5a142a75be29b75d0b01fc88dcdd58b8a55f5c
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.