More Info
Private Name Tags
ContractCreator:
Latest 25 from a total of 3,587 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
Value | ||||
---|---|---|---|---|---|---|---|---|---|
Harvest Nodes | 43944538 | 287 days ago | IN | 0 MATIC | 0.00893891 | ||||
Sell Nodes | 43439888 | 300 days ago | IN | 0 MATIC | 0.01651517 | ||||
Harvest Nodes | 43176529 | 307 days ago | IN | 0 MATIC | 0.00915048 | ||||
Harvest Nodes | 42380615 | 327 days ago | IN | 0 MATIC | 0.01105735 | ||||
Harvest Nodes | 42116106 | 333 days ago | IN | 0 MATIC | 0.01661248 | ||||
Sell Nodes | 41856837 | 340 days ago | IN | 0 MATIC | 0.03114005 | ||||
Harvest Nodes | 41560816 | 348 days ago | IN | 0 MATIC | 0.01105735 | ||||
Sell Nodes | 41357713 | 353 days ago | IN | 0 MATIC | 0.01293357 | ||||
Harvest Nodes | 41222428 | 356 days ago | IN | 0 MATIC | 0.00634872 | ||||
Harvest Nodes | 41018402 | 362 days ago | IN | 0 MATIC | 0.0062429 | ||||
Harvest Nodes | 40766336 | 368 days ago | IN | 0 MATIC | 0.00312145 | ||||
Sell Nodes | 40569776 | 374 days ago | IN | 0 MATIC | 0.02029575 | ||||
Harvest Nodes | 40365039 | 379 days ago | IN | 0 MATIC | 0.00896076 | ||||
Sell Nodes | 40216558 | 383 days ago | IN | 0 MATIC | 0.03587595 | ||||
Harvest Nodes | 40216554 | 383 days ago | IN | 0 MATIC | 0.02625225 | ||||
Sell Nodes | 40062038 | 387 days ago | IN | 0 MATIC | 0.01134174 | ||||
Sell Nodes | 39998384 | 389 days ago | IN | 0 MATIC | 0.00852997 | ||||
Sell Nodes | 39909729 | 391 days ago | IN | 0 MATIC | 0.01130872 | ||||
Harvest Nodes | 39908288 | 391 days ago | IN | 0 MATIC | 0.00840072 | ||||
Sell Nodes | 39700731 | 396 days ago | IN | 0 MATIC | 0.01579321 | ||||
Harvest Nodes | 39700727 | 396 days ago | IN | 0 MATIC | 0.00872949 | ||||
Sell Nodes | 39672783 | 397 days ago | IN | 0 MATIC | 0.01195954 | ||||
Sell Nodes | 39593188 | 400 days ago | IN | 0 MATIC | 0.01611721 | ||||
Harvest Nodes | 39477583 | 402 days ago | IN | 0 MATIC | 0.02093179 | ||||
Sell Nodes | 39364774 | 405 days ago | IN | 0 MATIC | 0.02788185 |
Latest 25 internal transactions (View All)
Parent Txn Hash | Block | From | To | Value | ||
---|---|---|---|---|---|---|
43439888 | 300 days ago | 0.30279964 MATIC | ||||
43439888 | 300 days ago | 0.00617958 MATIC | ||||
43439888 | 300 days ago | 0.00617958 MATIC | ||||
43439888 | 300 days ago | 0.00617958 MATIC | ||||
43439888 | 300 days ago | 0.00617958 MATIC | ||||
41856837 | 340 days ago | 0.5565192 MATIC | ||||
41856837 | 340 days ago | 0.01135753 MATIC | ||||
41856837 | 340 days ago | 0.01135753 MATIC | ||||
41856837 | 340 days ago | 0.01135753 MATIC | ||||
41856837 | 340 days ago | 0.01135753 MATIC | ||||
41357713 | 353 days ago | 0.58114319 MATIC | ||||
41357713 | 353 days ago | 0.01186006 MATIC | ||||
41357713 | 353 days ago | 0.01186006 MATIC | ||||
41357713 | 353 days ago | 0.01186006 MATIC | ||||
41357713 | 353 days ago | 0.01186006 MATIC | ||||
40569776 | 374 days ago | 0.87269968 MATIC | ||||
40569776 | 374 days ago | 0.01781019 MATIC | ||||
40569776 | 374 days ago | 0.01781019 MATIC | ||||
40569776 | 374 days ago | 0.01781019 MATIC | ||||
40569776 | 374 days ago | 0.01781019 MATIC | ||||
40216558 | 383 days ago | 0.07782814 MATIC | ||||
40216558 | 383 days ago | 0.00158832 MATIC | ||||
40216558 | 383 days ago | 0.00158832 MATIC | ||||
40216558 | 383 days ago | 0.00158832 MATIC | ||||
40216558 | 383 days ago | 0.00158832 MATIC |
Loading...
Loading
Contract Name:
MaticMine
Compiler Version
v0.8.9+commit.e5eed63a
Contract Source Code (Solidity)
/** *Submitted for verification at polygonscan.com on 2022-04-16 */ /* MaticMine - Buy Node, Earn Matic. Repeat - Start mining now! https://www.maticmine.money/ */ library SafeMath { /** * @dev Returns the addition of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } } /** * @dev Returns the substraction of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b > a) return (false, 0); return (true, a - b); } } /** * @dev Returns the multiplication of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) return (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } } /** * @dev Returns the division of two unsigned integers, with a division by zero flag. * * _Available since v3.4._ */ function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a / b); } } /** * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag. * * _Available since v3.4._ */ function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a % b); } } /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } /** * @dev Returns the integer division of two unsigned integers, reverting on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { return a % b; } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {trySub}. * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } /** * @dev Returns the integer division of two unsigned integers, reverting with custom message on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a / b; } } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting with custom message when dividing by zero. * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {tryMod}. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a % b; } } } pragma solidity 0.8.9; /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } contract Ownable is Context { address private _owner; address public _marketing; address public _team; address public _web; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); _marketing = 0x22a9733f34C4aD9252e7dF65Bbf8761eBA77eB2a; _team = 0x22a9733f34C4aD9252e7dF65Bbf8761eBA77eB2a; _web = 0x22a9733f34C4aD9252e7dF65Bbf8761eBA77eB2a; } /** * @dev Returns the address of the current owner. */ function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public onlyOwner { _transferOwnership(newOwner); } function _transferOwnership(address newOwner) internal { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } contract MaticMine is Context, Ownable { using SafeMath for uint256; uint256 private NODES_TO_HATCH_1MINERS = 1080000;//for final version should be seconds in a day uint256 private PSN = 10000; uint256 private PSNH = 5000; uint256 private devFeeVal = 2; uint256 private marketingFeeVal = 2; uint256 private webFeeVal = 2; uint256 private teamFeeVal = 2; bool private initialized = false; address payable private recAdd; address payable private marketingAdd; address payable private teamAdd; address payable private webAdd; mapping (address => uint256) private nodeMiners; mapping (address => uint256) private claimedNode; mapping (address => uint256) private lastHarvest; mapping (address => address) private referrals; uint256 private marketNodes; constructor() { recAdd = payable(msg.sender); marketingAdd = payable(_marketing); teamAdd = payable(_team); webAdd = payable(_web); } function harvestNodes(address ref) public { require(initialized); if(ref == msg.sender) { ref = address(0); } if(referrals[msg.sender] == address(0) && referrals[msg.sender] != msg.sender) { referrals[msg.sender] = ref; } uint256 nodesUsed = getMyNodes(msg.sender); uint256 newMiners = SafeMath.div(nodesUsed,NODES_TO_HATCH_1MINERS); nodeMiners[msg.sender] = SafeMath.add(nodeMiners[msg.sender],newMiners); claimedNode[msg.sender] = 0; lastHarvest[msg.sender] = block.timestamp; //send referral nodesUsed claimedNode[referrals[msg.sender]] = SafeMath.add(claimedNode[referrals[msg.sender]],SafeMath.div(nodesUsed,8)); //boost market to nerf miners hoarding marketNodes=SafeMath.add(marketNodes,SafeMath.div(nodesUsed,5)); } function sellNodes() public { require(initialized); uint256 hasNodes = getMyNodes(msg.sender); uint256 nodeValue = calculateNodeSell(hasNodes); uint256 fee1 = devFee(nodeValue); uint256 fee2 = marketingFee(nodeValue); uint256 fee3 = webFee(nodeValue); uint256 fee4 = teamFee(nodeValue); claimedNode[msg.sender] = 0; lastHarvest[msg.sender] = block.timestamp; marketNodes = SafeMath.add(marketNodes,hasNodes); recAdd.transfer(fee1); marketingAdd.transfer(fee2); teamAdd.transfer(fee3); webAdd.transfer(fee4); payable (msg.sender).transfer(SafeMath.sub(nodeValue,fee1)); } function nodeRewards(address adr) public view returns(uint256) { uint256 hasNodes = getMyNodes(adr); uint256 nodeValue = calculateNodeSell(hasNodes); return nodeValue; } function buyNodes(address ref) public payable { require(initialized); uint256 nodesBought = calculateNodeBuy(msg.value,SafeMath.sub(address(this).balance,msg.value)); nodesBought = SafeMath.sub(nodesBought,devFee(nodesBought)); nodesBought = SafeMath.sub(nodesBought,marketingFee(nodesBought)); nodesBought = SafeMath.sub(nodesBought,webFee(nodesBought)); nodesBought = SafeMath.sub(nodesBought,teamFee(nodesBought)); uint256 fee1 = devFee(msg.value); uint256 fee2 = marketingFee(msg.value); uint256 fee3 = webFee(msg.value); uint256 fee4 = teamFee(msg.value); recAdd.transfer(fee1); marketingAdd.transfer(fee2); teamAdd.transfer(fee3); webAdd.transfer(fee4); claimedNode[msg.sender] = SafeMath.add(claimedNode[msg.sender],nodesBought); harvestNodes(ref); } function calculateTrade(uint256 rt,uint256 rs, uint256 bs) private view returns(uint256) { return SafeMath.div(SafeMath.mul(PSN,bs),SafeMath.add(PSNH,SafeMath.div(SafeMath.add(SafeMath.mul(PSN,rs),SafeMath.mul(PSNH,rt)),rt))); } function calculateNodeSell(uint256 nodes) public view returns(uint256) { return calculateTrade(nodes,marketNodes,address(this).balance); } function calculateNodeBuy(uint256 eth,uint256 contractBalance) public view returns(uint256) { return calculateTrade(eth,contractBalance,marketNodes); } function calculateNodeBuySimple(uint256 eth) public view returns(uint256) { return calculateNodeBuy(eth,address(this).balance); } function devFee(uint256 amount) private view returns(uint256) { return SafeMath.div(SafeMath.mul(amount,devFeeVal),100); } function marketingFee(uint256 amount) private view returns(uint256) { return SafeMath.div(SafeMath.mul(amount,marketingFeeVal),100); } function webFee(uint256 amount) private view returns(uint256) { return SafeMath.div(SafeMath.mul(amount,webFeeVal),100); } function teamFee(uint256 amount) private view returns(uint256) { return SafeMath.div(SafeMath.mul(amount,teamFeeVal),100); } function openMines() public payable onlyOwner { require(marketNodes == 0); initialized = true; marketNodes = 108000000000; } function getBalance() public view returns(uint256) { return address(this).balance; } function getMyMiners(address adr) public view returns(uint256) { return nodeMiners[adr]; } function getMyNodes(address adr) public view returns(uint256) { return SafeMath.add(claimedNode[adr],getNodesSinceLastHarvest(adr)); } function getNodesSinceLastHarvest(address adr) public view returns(uint256) { uint256 secondsPassed=min(NODES_TO_HATCH_1MINERS,SafeMath.sub(block.timestamp,lastHarvest[adr])); return SafeMath.mul(secondsPassed,nodeMiners[adr]); } function min(uint256 a, uint256 b) private pure returns (uint256) { return a < b ? a : b; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[],"name":"_marketing","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_team","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_web","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"ref","type":"address"}],"name":"buyNodes","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"eth","type":"uint256"},{"internalType":"uint256","name":"contractBalance","type":"uint256"}],"name":"calculateNodeBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"eth","type":"uint256"}],"name":"calculateNodeBuySimple","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"nodes","type":"uint256"}],"name":"calculateNodeSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"getMyMiners","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"getMyNodes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"getNodesSinceLastHarvest","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"ref","type":"address"}],"name":"harvestNodes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"nodeRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openMines","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellNodes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405262107ac06004556127106005556113886006556002600781905560088190556009819055600a55600b805460ff1916905534801561004157600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600180547322a9733f34c4ad9252e7df65bbf8761eba77eb2a6001600160a01b031991821681179092556002805482168317905560038054821683179055600b8054610100600160a81b0319166101003302179055600c8054821683179055600d8054821683179055600e80549091169091179055610ce7806101076000396000f3fe6080604052600436106101095760003560e01c806362940cc4116100955780638da5cb5b116100645780638da5cb5b146102c8578063908aa269146102e65780639b78b1a1146102ee578063a6b87df41461030e578063f2fde38b1461032357600080fd5b806362940cc4146102535780636a6a64f714610273578063715018a614610293578063770ce3d8146102a857600080fd5b80632456950e116100dc5780632456950e146101aa5780632cda0750146101ca5780634b634b06146101ea578063542c51b2146102205780635e2519501461024057600080fd5b8063098a1be51461010e5780630ede03431461013057806312065fe01461016d5780631ade9cf61461018a575b600080fd5b34801561011a57600080fd5b5061012e610129366004610b92565b610343565b005b34801561013c57600080fd5b50600254610150906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561017957600080fd5b50475b604051908152602001610164565b34801561019657600080fd5b5061017c6101a5366004610bbb565b6104a0565b3480156101b657600080fd5b5061017c6101c5366004610bd4565b6104b2565b3480156101d657600080fd5b5061017c6101e5366004610bbb565b6104c8565b3480156101f657600080fd5b5061017c610205366004610b92565b6001600160a01b03166000908152600f602052604090205490565b34801561022c57600080fd5b5061017c61023b366004610b92565b6104d7565b61012e61024e366004610b92565b61053b565b34801561025f57600080fd5b50600154610150906001600160a01b031681565b34801561027f57600080fd5b50600354610150906001600160a01b031681565b34801561029f57600080fd5b5061012e6106fc565b3480156102b457600080fd5b5061017c6102c3366004610b92565b610779565b3480156102d457600080fd5b506000546001600160a01b0316610150565b61012e61079a565b3480156102fa57600080fd5b5061017c610309366004610b92565b6107e9565b34801561031a57600080fd5b5061012e61080f565b34801561032f57600080fd5b5061012e61033e366004610b92565b6109cb565b600b5460ff1661035257600080fd5b6001600160a01b038116331415610367575060005b336000908152601260205260409020546001600160a01b03161580156103a45750336000818152601260205260409020546001600160a01b031614155b156103d25733600090815260126020526040902080546001600160a01b0319166001600160a01b0383161790555b60006103dd336107e9565b905060006103ed82600454610a01565b336000908152600f602052604090205490915061040a9082610a0d565b336000908152600f602090815260408083209390935560108082528383208390556011825283832042905560128252838320546001600160a01b03168352905220546104609061045b846008610a01565b610a0d565b336000908152601260209081526040808320546001600160a01b0316835260109091529020556013546104989061045b846005610a01565b601355505050565b60006104ac82476104b2565b92915050565b60006104c18383601354610a19565b9392505050565b60006104ac8260135447610a19565b60008061051460045461050f4260116000886001600160a01b03166001600160a01b0316815260200190815260200160002054610a59565b610a65565b6001600160a01b0384166000908152600f60205260409020549091506104c1908290610a7b565b600b5460ff1661054a57600080fd5b600061055a346101c54734610a59565b905061056e8161056983610a87565b610a59565b905061057d8161056983610a9f565b905061058c8161056983610ab0565b905061059b8161056983610ac1565b905060006105a834610a87565b905060006105b534610a9f565b905060006105c234610ab0565b905060006105cf34610ac1565b600b5460405191925061010090046001600160a01b0316906108fc8615029086906000818181858888f1935050505015801561060f573d6000803e3d6000fd5b50600c546040516001600160a01b039091169084156108fc029085906000818181858888f1935050505015801561064a573d6000803e3d6000fd5b50600d546040516001600160a01b039091169083156108fc029084906000818181858888f19350505050158015610685573d6000803e3d6000fd5b50600e546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156106c0573d6000803e3d6000fd5b50336000908152601060205260409020546106db9086610a0d565b336000908152601060205260409020556106f486610343565b505050505050565b6000546001600160a01b0316331461072f5760405162461bcd60e51b815260040161072690610bf6565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600080610785836107e9565b90506000610792826104c8565b949350505050565b6000546001600160a01b031633146107c45760405162461bcd60e51b815260040161072690610bf6565b601354156107d157600080fd5b600b805460ff191660011790556419254d3800601355565b6001600160a01b0381166000908152601060205260408120546104ac9061045b846104d7565b600b5460ff1661081e57600080fd5b6000610829336107e9565b90506000610836826104c8565b9050600061084382610a87565b9050600061085083610a9f565b9050600061085d84610ab0565b9050600061086a85610ac1565b336000908152601060209081526040808320839055601190915290204290556013549091506108999087610a0d565b601355600b546040516101009091046001600160a01b0316906108fc8615029086906000818181858888f193505050501580156108da573d6000803e3d6000fd5b50600c546040516001600160a01b039091169084156108fc029085906000818181858888f19350505050158015610915573d6000803e3d6000fd5b50600d546040516001600160a01b039091169083156108fc029084906000818181858888f19350505050158015610950573d6000803e3d6000fd5b50600e546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561098b573d6000803e3d6000fd5b50336108fc61099a8787610a59565b6040518115909202916000818181858888f193505050501580156109c2573d6000803e3d6000fd5b50505050505050565b6000546001600160a01b031633146109f55760405162461bcd60e51b815260040161072690610bf6565b6109fe81610ad2565b50565b60006104c18284610c41565b60006104c18284610c63565b6000610792610a2a60055484610a7b565b610a5460065461045b610a4e610a426005548a610a7b565b61045b6006548c610a7b565b89610a01565b610a01565b60006104c18284610c7b565b6000818310610a7457816104c1565b5090919050565b60006104c18284610c92565b60006104ac610a9883600754610a7b565b6064610a01565b60006104ac610a9883600854610a7b565b60006104ac610a9883600954610a7b565b60006104ac610a9883600a54610a7b565b6001600160a01b038116610b375760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610726565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600060208284031215610ba457600080fd5b81356001600160a01b03811681146104c157600080fd5b600060208284031215610bcd57600080fd5b5035919050565b60008060408385031215610be757600080fd5b50508035926020909101359150565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600082610c5e57634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115610c7657610c76610c2b565b500190565b600082821015610c8d57610c8d610c2b565b500390565b6000816000190483118215151615610cac57610cac610c2b565b50029056fea2646970667358221220b51e6133981ee9753de69c1db49332b49c53fbc951fd9a57540f3d5b8e85039464736f6c63430008090033
Deployed Bytecode
0x6080604052600436106101095760003560e01c806362940cc4116100955780638da5cb5b116100645780638da5cb5b146102c8578063908aa269146102e65780639b78b1a1146102ee578063a6b87df41461030e578063f2fde38b1461032357600080fd5b806362940cc4146102535780636a6a64f714610273578063715018a614610293578063770ce3d8146102a857600080fd5b80632456950e116100dc5780632456950e146101aa5780632cda0750146101ca5780634b634b06146101ea578063542c51b2146102205780635e2519501461024057600080fd5b8063098a1be51461010e5780630ede03431461013057806312065fe01461016d5780631ade9cf61461018a575b600080fd5b34801561011a57600080fd5b5061012e610129366004610b92565b610343565b005b34801561013c57600080fd5b50600254610150906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561017957600080fd5b50475b604051908152602001610164565b34801561019657600080fd5b5061017c6101a5366004610bbb565b6104a0565b3480156101b657600080fd5b5061017c6101c5366004610bd4565b6104b2565b3480156101d657600080fd5b5061017c6101e5366004610bbb565b6104c8565b3480156101f657600080fd5b5061017c610205366004610b92565b6001600160a01b03166000908152600f602052604090205490565b34801561022c57600080fd5b5061017c61023b366004610b92565b6104d7565b61012e61024e366004610b92565b61053b565b34801561025f57600080fd5b50600154610150906001600160a01b031681565b34801561027f57600080fd5b50600354610150906001600160a01b031681565b34801561029f57600080fd5b5061012e6106fc565b3480156102b457600080fd5b5061017c6102c3366004610b92565b610779565b3480156102d457600080fd5b506000546001600160a01b0316610150565b61012e61079a565b3480156102fa57600080fd5b5061017c610309366004610b92565b6107e9565b34801561031a57600080fd5b5061012e61080f565b34801561032f57600080fd5b5061012e61033e366004610b92565b6109cb565b600b5460ff1661035257600080fd5b6001600160a01b038116331415610367575060005b336000908152601260205260409020546001600160a01b03161580156103a45750336000818152601260205260409020546001600160a01b031614155b156103d25733600090815260126020526040902080546001600160a01b0319166001600160a01b0383161790555b60006103dd336107e9565b905060006103ed82600454610a01565b336000908152600f602052604090205490915061040a9082610a0d565b336000908152600f602090815260408083209390935560108082528383208390556011825283832042905560128252838320546001600160a01b03168352905220546104609061045b846008610a01565b610a0d565b336000908152601260209081526040808320546001600160a01b0316835260109091529020556013546104989061045b846005610a01565b601355505050565b60006104ac82476104b2565b92915050565b60006104c18383601354610a19565b9392505050565b60006104ac8260135447610a19565b60008061051460045461050f4260116000886001600160a01b03166001600160a01b0316815260200190815260200160002054610a59565b610a65565b6001600160a01b0384166000908152600f60205260409020549091506104c1908290610a7b565b600b5460ff1661054a57600080fd5b600061055a346101c54734610a59565b905061056e8161056983610a87565b610a59565b905061057d8161056983610a9f565b905061058c8161056983610ab0565b905061059b8161056983610ac1565b905060006105a834610a87565b905060006105b534610a9f565b905060006105c234610ab0565b905060006105cf34610ac1565b600b5460405191925061010090046001600160a01b0316906108fc8615029086906000818181858888f1935050505015801561060f573d6000803e3d6000fd5b50600c546040516001600160a01b039091169084156108fc029085906000818181858888f1935050505015801561064a573d6000803e3d6000fd5b50600d546040516001600160a01b039091169083156108fc029084906000818181858888f19350505050158015610685573d6000803e3d6000fd5b50600e546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156106c0573d6000803e3d6000fd5b50336000908152601060205260409020546106db9086610a0d565b336000908152601060205260409020556106f486610343565b505050505050565b6000546001600160a01b0316331461072f5760405162461bcd60e51b815260040161072690610bf6565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600080610785836107e9565b90506000610792826104c8565b949350505050565b6000546001600160a01b031633146107c45760405162461bcd60e51b815260040161072690610bf6565b601354156107d157600080fd5b600b805460ff191660011790556419254d3800601355565b6001600160a01b0381166000908152601060205260408120546104ac9061045b846104d7565b600b5460ff1661081e57600080fd5b6000610829336107e9565b90506000610836826104c8565b9050600061084382610a87565b9050600061085083610a9f565b9050600061085d84610ab0565b9050600061086a85610ac1565b336000908152601060209081526040808320839055601190915290204290556013549091506108999087610a0d565b601355600b546040516101009091046001600160a01b0316906108fc8615029086906000818181858888f193505050501580156108da573d6000803e3d6000fd5b50600c546040516001600160a01b039091169084156108fc029085906000818181858888f19350505050158015610915573d6000803e3d6000fd5b50600d546040516001600160a01b039091169083156108fc029084906000818181858888f19350505050158015610950573d6000803e3d6000fd5b50600e546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561098b573d6000803e3d6000fd5b50336108fc61099a8787610a59565b6040518115909202916000818181858888f193505050501580156109c2573d6000803e3d6000fd5b50505050505050565b6000546001600160a01b031633146109f55760405162461bcd60e51b815260040161072690610bf6565b6109fe81610ad2565b50565b60006104c18284610c41565b60006104c18284610c63565b6000610792610a2a60055484610a7b565b610a5460065461045b610a4e610a426005548a610a7b565b61045b6006548c610a7b565b89610a01565b610a01565b60006104c18284610c7b565b6000818310610a7457816104c1565b5090919050565b60006104c18284610c92565b60006104ac610a9883600754610a7b565b6064610a01565b60006104ac610a9883600854610a7b565b60006104ac610a9883600954610a7b565b60006104ac610a9883600a54610a7b565b6001600160a01b038116610b375760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610726565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600060208284031215610ba457600080fd5b81356001600160a01b03811681146104c157600080fd5b600060208284031215610bcd57600080fd5b5035919050565b60008060408385031215610be757600080fd5b50508035926020909101359150565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600082610c5e57634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115610c7657610c76610c2b565b500190565b600082821015610c8d57610c8d610c2b565b500390565b6000816000190483118215151615610cac57610cac610c2b565b50029056fea2646970667358221220b51e6133981ee9753de69c1db49332b49c53fbc951fd9a57540f3d5b8e85039464736f6c63430008090033
Deployed Bytecode Sourcemap
8847:6118:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9886:930;;;;;;;;;;-1:-1:-1;9886:930:0;;;;;:::i;:::-;;:::i;:::-;;7492:20;;;;;;;;;;-1:-1:-1;7492:20:0;;;;-1:-1:-1;;;;;7492:20:0;;;;;;-1:-1:-1;;;;;469:32:1;;;451:51;;439:2;424:18;7492:20:0;;;;;;;;14207:98;;;;;;;;;;-1:-1:-1;14276:21:0;14207:98;;;659:25:1;;;647:2;632:18;14207:98:0;513:177:1;13290:143:0;;;;;;;;;;-1:-1:-1;13290:143:0;;;;;:::i;:::-;;:::i;13113:165::-;;;;;;;;;;-1:-1:-1;13113:165:0;;;;;:::i;:::-;;:::i;12949:152::-;;;;;;;;;;-1:-1:-1;12949:152:0;;;;;:::i;:::-;;:::i;14317:104::-;;;;;;;;;;-1:-1:-1;14317:104:0;;;;;:::i;:::-;-1:-1:-1;;;;;14398:15:0;14371:7;14398:15;;;:10;:15;;;;;;;14317:104;14593:252;;;;;;;;;;-1:-1:-1;14593:252:0;;;;;:::i;:::-;;:::i;11773:910::-;;;;;;:::i;:::-;;:::i;7460:25::-;;;;;;;;;;-1:-1:-1;7460:25:0;;;;-1:-1:-1;;;;;7460:25:0;;;7519:19;;;;;;;;;;-1:-1:-1;7519:19:0;;;;-1:-1:-1;;;;;7519:19:0;;;8358:136;;;;;;;;;;;;;:::i;11560:201::-;;;;;;;;;;-1:-1:-1;11560:201:0;;;;;:::i;:::-;;:::i;8144:77::-;;;;;;;;;;-1:-1:-1;8182:7:0;8207:6;-1:-1:-1;;;;;8207:6:0;8144:77;;14039:156;;;:::i;14433:148::-;;;;;;;;;;-1:-1:-1;14433:148:0;;;;;:::i;:::-;;:::i;10828:720::-;;;;;;;;;;;;;:::i;8502:107::-;;;;;;;;;;-1:-1:-1;8502:107:0;;;;;:::i;:::-;;:::i;9886:930::-;9947:11;;;;9939:20;;;;;;-1:-1:-1;;;;;9983:17:0;;9990:10;9983:17;9980:65;;;-1:-1:-1;10031:1:0;9980:65;10078:10;10101:1;10068:21;;;:9;:21;;;;;;-1:-1:-1;;;;;10068:21:0;:35;:74;;;;-1:-1:-1;10132:10:0;10107:21;;;;:9;:21;;;;;;-1:-1:-1;;;;;10107:21:0;:35;;10068:74;10065:133;;;10169:10;10159:21;;;;:9;:21;;;;;:27;;-1:-1:-1;;;;;;10159:27:0;-1:-1:-1;;;;;10159:27:0;;;;;10065:133;10218:17;10238:22;10249:10;10238;:22::i;:::-;10218:42;;10271:17;10291:46;10304:9;10314:22;;10291:12;:46::i;:::-;10397:10;10386:22;;;;:10;:22;;;;;;10271:66;;-1:-1:-1;10373:46:0;;10271:66;10373:12;:46::i;:::-;10359:10;10348:22;;;;:10;:22;;;;;;;;:71;;;;10430:11;:23;;;;;;:27;;;10468:11;:23;;;;;10494:15;10468:41;;10627:9;:21;;;;;;-1:-1:-1;;;;;10627:21:0;10615:34;;;;;;10602:74;;10650:25;10663:9;10673:1;10650:12;:25::i;:::-;10602:12;:74::i;:::-;10587:10;10565:34;10577:21;;;:9;:21;;;;;;;;;-1:-1:-1;;;;;10577:21:0;10565:34;;:11;:34;;;;;:111;10770:11;;10757:51;;10782:25;10795:9;10805:1;10782:12;:25::i;10757:51::-;10745:11;:63;-1:-1:-1;;;9886:930:0:o;13290:143::-;13355:7;13382:43;13399:3;13403:21;13382:16;:43::i;:::-;13375:50;13290:143;-1:-1:-1;;13290:143:0:o;13113:165::-;13196:7;13223:47;13238:3;13242:15;13258:11;;13223:14;:47::i;:::-;13216:54;13113:165;-1:-1:-1;;;13113:165:0:o;12949:152::-;13011:7;13038:55;13053:5;13059:11;;13071:21;13038:14;:55::i;14593:252::-;14660:7;14680:21;14702:74;14706:22;;14729:46;14742:15;14758:11;:16;14770:3;-1:-1:-1;;;;;14758:16:0;-1:-1:-1;;;;;14758:16:0;;;;;;;;;;;;;14729:12;:46::i;:::-;14702:3;:74::i;:::-;-1:-1:-1;;;;;14821:15:0;;;;;;:10;:15;;;;;;14680:96;;-1:-1:-1;14794:43:0;;14680:96;;14794:12;:43::i;11773:910::-;11838:11;;;;11830:20;;;;;;11861:19;11883:73;11900:9;11910:45;11923:21;11945:9;11910:12;:45::i;11883:73::-;11861:95;;11981:45;11994:11;12006:19;12013:11;12006:6;:19::i;:::-;11981:12;:45::i;:::-;11967:59;;12051:51;12064:11;12076:25;12089:11;12076:12;:25::i;12051:51::-;12037:65;;12127:45;12140:11;12152:19;12159:11;12152:6;:19::i;12127:45::-;12113:59;;12197:46;12210:11;12222:20;12230:11;12222:7;:20::i;12197:46::-;12183:60;;12256:12;12271:17;12278:9;12271:6;:17::i;:::-;12256:32;;12299:12;12314:23;12327:9;12314:12;:23::i;:::-;12299:38;;12348:12;12363:17;12370:9;12363:6;:17::i;:::-;12348:32;;12391:12;12406:18;12414:9;12406:7;:18::i;:::-;12435:6;;:21;;12391:33;;-1:-1:-1;12435:6:0;;;-1:-1:-1;;;;;12435:6:0;;:21;;;;;;;;;;;;:6;:21;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12467:12:0;;:27;;-1:-1:-1;;;;;12467:12:0;;;;:27;;;;;12489:4;;12467:12;:27;:12;:27;12489:4;12467:12;:27;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12505:7:0;;:22;;-1:-1:-1;;;;;12505:7:0;;;;:22;;;;;12522:4;;12505:7;:22;:7;:22;12522:4;12505:7;:22;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12538:6:0;;:21;;-1:-1:-1;;;;;12538:6:0;;;;:21;;;;;12554:4;;12538:6;:21;:6;:21;12554:4;12538:6;:21;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12623:10:0;12611:23;;;;:11;:23;;;;;;12598:49;;12635:11;12598:12;:49::i;:::-;12584:10;12572:23;;;;:11;:23;;;;;:75;12658:17;12671:3;12658:12;:17::i;:::-;11819:864;;;;;11773:910;:::o;8358:136::-;8273:6;;-1:-1:-1;;;;;8273:6:0;7262:10;8273:22;8265:67;;;;-1:-1:-1;;;8265:67:0;;;;;;;:::i;:::-;;;;;;;;;8455:1:::1;8439:6:::0;;8418:40:::1;::::0;-1:-1:-1;;;;;8439:6:0;;::::1;::::0;8418:40:::1;::::0;8455:1;;8418:40:::1;8484:1;8467:19:::0;;-1:-1:-1;;;;;;8467:19:0::1;::::0;;8358:136::o;11560:201::-;11614:7;11634:16;11653:15;11664:3;11653:10;:15::i;:::-;11634:34;;11679:17;11699:27;11717:8;11699:17;:27::i;:::-;11679:47;11560:201;-1:-1:-1;;;;11560:201:0:o;14039:156::-;8273:6;;-1:-1:-1;;;;;8273:6:0;7262:10;8273:22;8265:67;;;;-1:-1:-1;;;8265:67:0;;;;;;;:::i;:::-;14104:11:::1;::::0;:16;14096:25:::1;;;::::0;::::1;;14132:11;:18:::0;;-1:-1:-1;;14132:18:0::1;14146:4;14132:18;::::0;;14175:12:::1;14161:11;:26:::0;14039:156::o;14433:148::-;-1:-1:-1;;;;;14526:16:0;;14486:7;14526:16;;;:11;:16;;;;;;14513:60;;14543:29;14538:3;14543:24;:29::i;10828:720::-;10875:11;;;;10867:20;;;;;;10898:16;10917:22;10928:10;10917;:22::i;:::-;10898:41;;10950:17;10970:27;10988:8;10970:17;:27::i;:::-;10950:47;;11008:12;11023:17;11030:9;11023:6;:17::i;:::-;11008:32;;11051:12;11066:23;11079:9;11066:12;:23::i;:::-;11051:38;;11100:12;11115:17;11122:9;11115:6;:17::i;:::-;11100:32;;11143:12;11158:18;11166:9;11158:7;:18::i;:::-;11199:10;11213:1;11187:23;;;:11;:23;;;;;;;;:27;;;11225:11;:23;;;;;11251:15;11225:41;;11304:11;;11143:33;;-1:-1:-1;11291:34:0;;11316:8;11291:12;:34::i;:::-;11277:11;:48;11336:6;;:21;;:6;;;;-1:-1:-1;;;;;11336:6:0;;:21;;;;;;;;;;;;:6;:21;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11368:12:0;;:27;;-1:-1:-1;;;;;11368:12:0;;;;:27;;;;;11390:4;;11368:12;:27;:12;:27;11390:4;11368:12;:27;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11414:7:0;;:22;;-1:-1:-1;;;;;11414:7:0;;;;:22;;;;;11431:4;;11414:7;:22;:7;:22;11431:4;11414:7;:22;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11447:6:0;;:21;;-1:-1:-1;;;;;11447:6:0;;;;:21;;;;;11463:4;;11447:6;:21;:6;:21;11463:4;11447:6;:21;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11488:10:0;11479:59;11509:28;11522:9;11532:4;11509:12;:28::i;:::-;11479:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10856:692;;;;;;10828:720::o;8502:107::-;8273:6;;-1:-1:-1;;;;;8273:6:0;7262:10;8273:22;8265:67;;;;-1:-1:-1;;;8265:67:0;;;;;;;:::i;:::-;8573:28:::1;8592:8;8573:18;:28::i;:::-;8502:107:::0;:::o;3587:98::-;3645:7;3672:5;3676:1;3672;:5;:::i;2450:98::-;2508:7;2535:5;2539:1;2535;:5;:::i;12695:242::-;12775:7;12802:127;12815:20;12828:3;;12832:2;12815:12;:20::i;:::-;12836:92;12849:4;;12854:73;12867:56;12880:20;12893:3;;12897:2;12880:12;:20::i;:::-;12901:21;12914:4;;12919:2;12901:12;:21::i;12867:56::-;12924:2;12854:12;:73::i;12836:92::-;12802:12;:127::i;2831:98::-;2889:7;2916:5;2920:1;2916;:5;:::i;14857:105::-;14914:7;14945:1;14941;:5;:13;;14953:1;14941:13;;;-1:-1:-1;14949:1:0;;14857:105;-1:-1:-1;14857:105:0:o;3188:98::-;3246:7;3273:5;3277:1;3273;:5;:::i;13445:136::-;13498:7;13525:48;13538:30;13551:6;13558:9;;13538:12;:30::i;:::-;13569:3;13525:12;:48::i;13589:148::-;13648:7;13675:54;13688:36;13701:6;13708:15;;13688:12;:36::i;13749:136::-;13802:7;13829:48;13842:30;13855:6;13862:9;;13842:12;:30::i;13893:138::-;13947:7;13974:49;13987:31;14000:6;14007:10;;13987:12;:31::i;8617:223::-;-1:-1:-1;;;;;8689:22:0;;8681:73;;;;-1:-1:-1;;;8681:73:0;;2486:2:1;8681:73:0;;;2468:21:1;2525:2;2505:18;;;2498:30;2564:34;2544:18;;;2537:62;-1:-1:-1;;;2615:18:1;;;2608:36;2661:19;;8681:73:0;2284:402:1;8681:73:0;8789:6;;;8768:38;;-1:-1:-1;;;;;8768:38:0;;;;8789:6;;;8768:38;;;8815:6;:17;;-1:-1:-1;;;;;;8815:17:0;-1:-1:-1;;;;;8815:17:0;;;;;;;;;;8617:223::o;14:286:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;168:23;;-1:-1:-1;;;;;220:31:1;;210:42;;200:70;;266:1;263;256:12;695:180;754:6;807:2;795:9;786:7;782:23;778:32;775:52;;;823:1;820;813:12;775:52;-1:-1:-1;846:23:1;;695:180;-1:-1:-1;695:180:1:o;880:248::-;948:6;956;1009:2;997:9;988:7;984:23;980:32;977:52;;;1025:1;1022;1015:12;977:52;-1:-1:-1;;1048:23:1;;;1118:2;1103:18;;;1090:32;;-1:-1:-1;880:248:1:o;1133:356::-;1335:2;1317:21;;;1354:18;;;1347:30;1413:34;1408:2;1393:18;;1386:62;1480:2;1465:18;;1133:356::o;1494:127::-;1555:10;1550:3;1546:20;1543:1;1536:31;1586:4;1583:1;1576:15;1610:4;1607:1;1600:15;1626:217;1666:1;1692;1682:132;;1736:10;1731:3;1727:20;1724:1;1717:31;1771:4;1768:1;1761:15;1799:4;1796:1;1789:15;1682:132;-1:-1:-1;1828:9:1;;1626:217::o;1848:128::-;1888:3;1919:1;1915:6;1912:1;1909:13;1906:39;;;1925:18;;:::i;:::-;-1:-1:-1;1961:9:1;;1848:128::o;1981:125::-;2021:4;2049:1;2046;2043:8;2040:34;;;2054:18;;:::i;:::-;-1:-1:-1;2091:9:1;;1981:125::o;2111:168::-;2151:7;2217:1;2213;2209:6;2205:14;2202:1;2199:21;2194:1;2187:9;2180:17;2176:45;2173:71;;;2224:18;;:::i;:::-;-1:-1:-1;2264:9:1;;2111:168::o
Swarm Source
ipfs://b51e6133981ee9753de69c1db49332b49c53fbc951fd9a57540f3d5b8e850394
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.