More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 418 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Exit From Stakin... | 19898840 | 84 days ago | IN | 0 ETH | 0.00036301 | ||||
Withdraw Dividen... | 19898838 | 84 days ago | IN | 0 ETH | 0.00014363 | ||||
Withdraw Dividen... | 18483224 | 282 days ago | IN | 0 ETH | 0.0007453 | ||||
Exit From Stakin... | 18453540 | 286 days ago | IN | 0 ETH | 0.00060154 | ||||
Withdraw Dividen... | 18453536 | 286 days ago | IN | 0 ETH | 0.00033802 | ||||
Withdraw Dividen... | 18418887 | 291 days ago | IN | 0 ETH | 0.00052061 | ||||
Withdraw Dividen... | 18289584 | 309 days ago | IN | 0 ETH | 0.00043235 | ||||
Exit From Stakin... | 18263202 | 313 days ago | IN | 0 ETH | 0.00149262 | ||||
Withdraw Dividen... | 18263199 | 313 days ago | IN | 0 ETH | 0.00083713 | ||||
Withdraw Dividen... | 18261558 | 313 days ago | IN | 0 ETH | 0.00024376 | ||||
Exit From Stakin... | 18261555 | 313 days ago | IN | 0 ETH | 0.00066758 | ||||
Exit From Stakin... | 18240499 | 316 days ago | IN | 0 ETH | 0.00056552 | ||||
Exit From Stakin... | 18240494 | 316 days ago | IN | 0 ETH | 0.00058674 | ||||
Exit From Stakin... | 18240489 | 316 days ago | IN | 0 ETH | 0.00052442 | ||||
Exit From Stakin... | 18170818 | 326 days ago | IN | 0 ETH | 0.00057974 | ||||
Exit From Stakin... | 18170814 | 326 days ago | IN | 0 ETH | 0.00092906 | ||||
Withdraw Dividen... | 18170622 | 326 days ago | IN | 0 ETH | 0.00058775 | ||||
Withdraw Dividen... | 18170613 | 326 days ago | IN | 0 ETH | 0.00054331 | ||||
Withdraw Dividen... | 18170612 | 326 days ago | IN | 0 ETH | 0.0007334 | ||||
Exit From Stakin... | 18151283 | 329 days ago | IN | 0 ETH | 0.00069537 | ||||
Exit From Stakin... | 18149039 | 329 days ago | IN | 0 ETH | 0.00081137 | ||||
Withdraw Dividen... | 18149036 | 329 days ago | IN | 0 ETH | 0.0004375 | ||||
Exit From Stakin... | 18148978 | 329 days ago | IN | 0 ETH | 0.00270526 | ||||
Exit From Stakin... | 18143907 | 330 days ago | IN | 0 ETH | 0.00098466 | ||||
Withdraw Dividen... | 18143903 | 330 days ago | IN | 0 ETH | 0.0005464 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
19898838 | 84 days ago | 0.00114026 ETH | ||||
19206288 | 181 days ago | 0.00190486 ETH | ||||
18644872 | 259 days ago | 0.00145642 ETH | ||||
18573705 | 269 days ago | 0.00163491 ETH | ||||
18483224 | 282 days ago | 0.0022763 ETH | ||||
18453536 | 286 days ago | 0.0409892 ETH | ||||
18418887 | 291 days ago | 0.00229518 ETH | ||||
18417945 | 291 days ago | 0.00195644 ETH | ||||
18401462 | 294 days ago | 0.00249324 ETH | ||||
18289584 | 309 days ago | 0.01154032 ETH | ||||
18263199 | 313 days ago | 0.01444798 ETH | ||||
18261555 | 313 days ago | 0.00402966 ETH | ||||
18250313 | 315 days ago | 0.00191761 ETH | ||||
18240538 | 316 days ago | 0.00265082 ETH | ||||
18240499 | 316 days ago | 0.01032701 ETH | ||||
18240494 | 316 days ago | 0.01654385 ETH | ||||
18240489 | 316 days ago | 0.00988895 ETH | ||||
18236567 | 317 days ago | 0.00227182 ETH | ||||
18182284 | 324 days ago | 0.0028666 ETH | ||||
18177672 | 325 days ago | 0.004916 ETH | ||||
18170814 | 326 days ago | 0.00263834 ETH | ||||
18170612 | 326 days ago | 0.02638658 ETH | ||||
18151283 | 329 days ago | 0.00184813 ETH | ||||
18150837 | 329 days ago | 0.00504042 ETH | ||||
18149036 | 329 days ago | 0.03391896 ETH |
Loading...
Loading
Contract Name:
WagerStaking
Compiler Version
v0.8.21+commit.d9974bed
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-08-18 */ pragma solidity =0.8.21; // SPDX-License-Identifier: MIT 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; } } } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() { _setOwner(_msgSender()); } function owner() public view virtual returns (address) { return _owner; } modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { _setOwner(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _setOwner(newOwner); } function _setOwner(address newOwner) private { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } interface IUniswapV2Router { function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; } contract WagerStaking is Ownable { using SafeMath for uint256; mapping(address => bool) public staked; mapping(address => uint256) public tokenBalanceLedger_; mapping(address => uint256) public stakeStartTime; address public stakeTokenAddress = 0x63a60C5469379149757Cc3e58453202eBDB7e933; IERC20 public stakeToken; uint256 public totalTokens = 0; uint256 public allEthHistoric = 0; uint256 public profitPerShare_; mapping(address => uint256) public payoutsTo_; uint256 constant internal magnitude = 2**64; constructor() { stakeToken = IERC20(stakeTokenAddress); } receive() external payable { profitPerShare_ += (msg.value * magnitude) / totalTokens; allEthHistoric += msg.value; } function deposit() public payable { profitPerShare_ += (msg.value * magnitude) / totalTokens; allEthHistoric += msg.value; } function stakeTokens(uint amount) public { stakeToken.transferFrom(msg.sender, address(this), amount); uint256 currentDivs = getDividends(msg.sender); tokenBalanceLedger_[msg.sender] += amount; staked[msg.sender] = true; totalTokens += amount; stakeStartTime[msg.sender] = block.timestamp; payoutsTo_[msg.sender] += (getDividends(msg.sender) - currentDivs); } function exitFromStakingPool() public { withdrawDividends(); stakeToken.transfer(msg.sender, tokenBalanceLedger_[msg.sender]); totalTokens -= tokenBalanceLedger_[msg.sender]; tokenBalanceLedger_[msg.sender] = 0; staked[msg.sender] = false; payoutsTo_[msg.sender] = 0; } function getDividends(address user) public view returns(uint256) { uint256 allDivs = (tokenBalanceLedger_[user] * profitPerShare_) / magnitude; uint256 profit = allDivs - payoutsTo_[user]; return profit; } function getTokenBalance(address user) public view returns(uint256) { return tokenBalanceLedger_[user]; } function withdrawDividends() public { uint256 myDivs = getDividends(msg.sender); payoutsTo_[msg.sender] += myDivs; payable(msg.sender).transfer(myDivs); } }
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":"allEthHistoric","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deposit","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"exitFromStakingPool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getDividends","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getTokenBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"payoutsTo_","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"profitPerShare_","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"stakeStartTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stakeToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stakeTokenAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"stakeTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"staked","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"tokenBalanceLedger_","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawDividends","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040527363a60c5469379149757cc3e58453202ebdb7e93360045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f6006555f60075534801561006b575f80fd5b5061008861007d6100ee60201b60201c565b6100f560201b60201c565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101b6565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6112a6806101c35f395ff3fe60806040526004361061010c575f3560e01c8063715018a61161009457806398807d841161006357806398807d8414610393578063d0e30db0146103cf578063deb1a52b146103d9578063e1456cb414610403578063f2fde38b1461043f57610163565b8063715018a6146103015780637547c7a3146103175780637e1c0c091461033f5780638da5cb5b1461036957610163565b806347880b8f116100db57806347880b8f1461021f57806351ed6a30146102355780635c5a0a9d1461025f5780636985e6d81461029b578063710b318b146102d757610163565b80630106395f146101675780632e92abdd146101915780633aecd0e3146101a75780634634d81c146101e357610163565b366101635760065468010000000000000000346101299190610de0565b6101339190610e4e565b60085f8282546101439190610e7e565b925050819055503460075f82825461015b9190610e7e565b925050819055005b5f80fd5b348015610172575f80fd5b5061017b610467565b6040516101889190610ef0565b60405180910390f35b34801561019c575f80fd5b506101a561048c565b005b3480156101b2575f80fd5b506101cd60048036038101906101c89190610f37565b610532565b6040516101da9190610f71565b60405180910390f35b3480156101ee575f80fd5b5061020960048036038101906102049190610f37565b610578565b6040516102169190610f71565b60405180910390f35b34801561022a575f80fd5b50610233610631565b005b348015610240575f80fd5b50610249610842565b6040516102569190610fe5565b60405180910390f35b34801561026a575f80fd5b5061028560048036038101906102809190610f37565b610867565b6040516102929190610f71565b60405180910390f35b3480156102a6575f80fd5b506102c160048036038101906102bc9190610f37565b61087c565b6040516102ce9190610f71565b60405180910390f35b3480156102e2575f80fd5b506102eb610891565b6040516102f89190610f71565b60405180910390f35b34801561030c575f80fd5b50610315610897565b005b348015610322575f80fd5b5061033d60048036038101906103389190611028565b61091e565b005b34801561034a575f80fd5b50610353610b34565b6040516103609190610f71565b60405180910390f35b348015610374575f80fd5b5061037d610b3a565b60405161038a9190610ef0565b60405180910390f35b34801561039e575f80fd5b506103b960048036038101906103b49190610f37565b610b61565b6040516103c6919061106d565b60405180910390f35b6103d7610b7e565b005b3480156103e4575f80fd5b506103ed610bd1565b6040516103fa9190610f71565b60405180910390f35b34801561040e575f80fd5b5061042960048036038101906104249190610f37565b610bd7565b6040516104369190610f71565b60405180910390f35b34801561044a575f80fd5b5061046560048036038101906104609190610f37565b610bec565b005b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f61049633610578565b90508060095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546104e49190610e7e565b925050819055503373ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f1935050505015801561052e573d5f803e3d5ffd5b5050565b5f60025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f806801000000000000000060085460025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546105cf9190610de0565b6105d99190610e4e565b90505f60095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054826106259190611086565b90508092505050919050565b61063961048c565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb3360025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546040518363ffffffff1660e01b81526004016106d29291906110b9565b6020604051808303815f875af11580156106ee573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610712919061110a565b5060025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205460065f8282546107619190611086565b925050819055505f60025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f60015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505f60095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6002602052805f5260405f205f915090505481565b6003602052805f5260405f205f915090505481565b60085481565b61089f610ce2565b73ffffffffffffffffffffffffffffffffffffffff166108bd610b3a565b73ffffffffffffffffffffffffffffffffffffffff1614610913576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161090a9061118f565b60405180910390fd5b61091c5f610ce9565b565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b815260040161097c939291906111ad565b6020604051808303815f875af1158015610998573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109bc919061110a565b505f6109c733610578565b90508160025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610a159190610e7e565b925050819055506001805f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508160065f828254610a819190610e7e565b925050819055504260035f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555080610ad433610578565b610ade9190611086565b60095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610b299190610e7e565b925050819055505050565b60065481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6001602052805f5260405f205f915054906101000a900460ff1681565b6006546801000000000000000034610b969190610de0565b610ba09190610e4e565b60085f828254610bb09190610e7e565b925050819055503460075f828254610bc89190610e7e565b92505081905550565b60075481565b6009602052805f5260405f205f915090505481565b610bf4610ce2565b73ffffffffffffffffffffffffffffffffffffffff16610c12610b3a565b73ffffffffffffffffffffffffffffffffffffffff1614610c68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5f9061118f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610cd6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ccd90611252565b60405180910390fd5b610cdf81610ce9565b50565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610dea82610daa565b9150610df583610daa565b9250828202610e0381610daa565b91508282048414831517610e1a57610e19610db3565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f610e5882610daa565b9150610e6383610daa565b925082610e7357610e72610e21565b5b828204905092915050565b5f610e8882610daa565b9150610e9383610daa565b9250828201905080821115610eab57610eaa610db3565b5b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610eda82610eb1565b9050919050565b610eea81610ed0565b82525050565b5f602082019050610f035f830184610ee1565b92915050565b5f80fd5b610f1681610ed0565b8114610f20575f80fd5b50565b5f81359050610f3181610f0d565b92915050565b5f60208284031215610f4c57610f4b610f09565b5b5f610f5984828501610f23565b91505092915050565b610f6b81610daa565b82525050565b5f602082019050610f845f830184610f62565b92915050565b5f819050919050565b5f610fad610fa8610fa384610eb1565b610f8a565b610eb1565b9050919050565b5f610fbe82610f93565b9050919050565b5f610fcf82610fb4565b9050919050565b610fdf81610fc5565b82525050565b5f602082019050610ff85f830184610fd6565b92915050565b61100781610daa565b8114611011575f80fd5b50565b5f8135905061102281610ffe565b92915050565b5f6020828403121561103d5761103c610f09565b5b5f61104a84828501611014565b91505092915050565b5f8115159050919050565b61106781611053565b82525050565b5f6020820190506110805f83018461105e565b92915050565b5f61109082610daa565b915061109b83610daa565b92508282039050818111156110b3576110b2610db3565b5b92915050565b5f6040820190506110cc5f830185610ee1565b6110d96020830184610f62565b9392505050565b6110e981611053565b81146110f3575f80fd5b50565b5f81519050611104816110e0565b92915050565b5f6020828403121561111f5761111e610f09565b5b5f61112c848285016110f6565b91505092915050565b5f82825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f611179602083611135565b915061118482611145565b602082019050919050565b5f6020820190508181035f8301526111a68161116d565b9050919050565b5f6060820190506111c05f830186610ee1565b6111cd6020830185610ee1565b6111da6040830184610f62565b949350505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f61123c602683611135565b9150611247826111e2565b604082019050919050565b5f6020820190508181035f83015261126981611230565b905091905056fea2646970667358221220b59d5d17b168d2aa64ec38eb6548f67ea93b0ccd1d3288da9d8f2e4495ea5b4a64736f6c63430008150033
Deployed Bytecode
0x60806040526004361061010c575f3560e01c8063715018a61161009457806398807d841161006357806398807d8414610393578063d0e30db0146103cf578063deb1a52b146103d9578063e1456cb414610403578063f2fde38b1461043f57610163565b8063715018a6146103015780637547c7a3146103175780637e1c0c091461033f5780638da5cb5b1461036957610163565b806347880b8f116100db57806347880b8f1461021f57806351ed6a30146102355780635c5a0a9d1461025f5780636985e6d81461029b578063710b318b146102d757610163565b80630106395f146101675780632e92abdd146101915780633aecd0e3146101a75780634634d81c146101e357610163565b366101635760065468010000000000000000346101299190610de0565b6101339190610e4e565b60085f8282546101439190610e7e565b925050819055503460075f82825461015b9190610e7e565b925050819055005b5f80fd5b348015610172575f80fd5b5061017b610467565b6040516101889190610ef0565b60405180910390f35b34801561019c575f80fd5b506101a561048c565b005b3480156101b2575f80fd5b506101cd60048036038101906101c89190610f37565b610532565b6040516101da9190610f71565b60405180910390f35b3480156101ee575f80fd5b5061020960048036038101906102049190610f37565b610578565b6040516102169190610f71565b60405180910390f35b34801561022a575f80fd5b50610233610631565b005b348015610240575f80fd5b50610249610842565b6040516102569190610fe5565b60405180910390f35b34801561026a575f80fd5b5061028560048036038101906102809190610f37565b610867565b6040516102929190610f71565b60405180910390f35b3480156102a6575f80fd5b506102c160048036038101906102bc9190610f37565b61087c565b6040516102ce9190610f71565b60405180910390f35b3480156102e2575f80fd5b506102eb610891565b6040516102f89190610f71565b60405180910390f35b34801561030c575f80fd5b50610315610897565b005b348015610322575f80fd5b5061033d60048036038101906103389190611028565b61091e565b005b34801561034a575f80fd5b50610353610b34565b6040516103609190610f71565b60405180910390f35b348015610374575f80fd5b5061037d610b3a565b60405161038a9190610ef0565b60405180910390f35b34801561039e575f80fd5b506103b960048036038101906103b49190610f37565b610b61565b6040516103c6919061106d565b60405180910390f35b6103d7610b7e565b005b3480156103e4575f80fd5b506103ed610bd1565b6040516103fa9190610f71565b60405180910390f35b34801561040e575f80fd5b5061042960048036038101906104249190610f37565b610bd7565b6040516104369190610f71565b60405180910390f35b34801561044a575f80fd5b5061046560048036038101906104609190610f37565b610bec565b005b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f61049633610578565b90508060095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546104e49190610e7e565b925050819055503373ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f1935050505015801561052e573d5f803e3d5ffd5b5050565b5f60025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f806801000000000000000060085460025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546105cf9190610de0565b6105d99190610e4e565b90505f60095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054826106259190611086565b90508092505050919050565b61063961048c565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb3360025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546040518363ffffffff1660e01b81526004016106d29291906110b9565b6020604051808303815f875af11580156106ee573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610712919061110a565b5060025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205460065f8282546107619190611086565b925050819055505f60025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f60015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505f60095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6002602052805f5260405f205f915090505481565b6003602052805f5260405f205f915090505481565b60085481565b61089f610ce2565b73ffffffffffffffffffffffffffffffffffffffff166108bd610b3a565b73ffffffffffffffffffffffffffffffffffffffff1614610913576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161090a9061118f565b60405180910390fd5b61091c5f610ce9565b565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b815260040161097c939291906111ad565b6020604051808303815f875af1158015610998573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109bc919061110a565b505f6109c733610578565b90508160025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610a159190610e7e565b925050819055506001805f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508160065f828254610a819190610e7e565b925050819055504260035f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555080610ad433610578565b610ade9190611086565b60095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610b299190610e7e565b925050819055505050565b60065481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6001602052805f5260405f205f915054906101000a900460ff1681565b6006546801000000000000000034610b969190610de0565b610ba09190610e4e565b60085f828254610bb09190610e7e565b925050819055503460075f828254610bc89190610e7e565b92505081905550565b60075481565b6009602052805f5260405f205f915090505481565b610bf4610ce2565b73ffffffffffffffffffffffffffffffffffffffff16610c12610b3a565b73ffffffffffffffffffffffffffffffffffffffff1614610c68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5f9061118f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610cd6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ccd90611252565b60405180910390fd5b610cdf81610ce9565b50565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610dea82610daa565b9150610df583610daa565b9250828202610e0381610daa565b91508282048414831517610e1a57610e19610db3565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f610e5882610daa565b9150610e6383610daa565b925082610e7357610e72610e21565b5b828204905092915050565b5f610e8882610daa565b9150610e9383610daa565b9250828201905080821115610eab57610eaa610db3565b5b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610eda82610eb1565b9050919050565b610eea81610ed0565b82525050565b5f602082019050610f035f830184610ee1565b92915050565b5f80fd5b610f1681610ed0565b8114610f20575f80fd5b50565b5f81359050610f3181610f0d565b92915050565b5f60208284031215610f4c57610f4b610f09565b5b5f610f5984828501610f23565b91505092915050565b610f6b81610daa565b82525050565b5f602082019050610f845f830184610f62565b92915050565b5f819050919050565b5f610fad610fa8610fa384610eb1565b610f8a565b610eb1565b9050919050565b5f610fbe82610f93565b9050919050565b5f610fcf82610fb4565b9050919050565b610fdf81610fc5565b82525050565b5f602082019050610ff85f830184610fd6565b92915050565b61100781610daa565b8114611011575f80fd5b50565b5f8135905061102281610ffe565b92915050565b5f6020828403121561103d5761103c610f09565b5b5f61104a84828501611014565b91505092915050565b5f8115159050919050565b61106781611053565b82525050565b5f6020820190506110805f83018461105e565b92915050565b5f61109082610daa565b915061109b83610daa565b92508282039050818111156110b3576110b2610db3565b5b92915050565b5f6040820190506110cc5f830185610ee1565b6110d96020830184610f62565b9392505050565b6110e981611053565b81146110f3575f80fd5b50565b5f81519050611104816110e0565b92915050565b5f6020828403121561111f5761111e610f09565b5b5f61112c848285016110f6565b91505092915050565b5f82825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f611179602083611135565b915061118482611145565b602082019050919050565b5f6020820190508181035f8301526111a68161116d565b9050919050565b5f6060820190506111c05f830186610ee1565b6111cd6020830185610ee1565b6111da6040830184610f62565b949350505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f61123c602683611135565b9150611247826111e2565b604082019050919050565b5f6020820190508181035f83015261126981611230565b905091905056fea2646970667358221220b59d5d17b168d2aa64ec38eb6548f67ea93b0ccd1d3288da9d8f2e4495ea5b4a64736f6c63430008150033
Deployed Bytecode Sourcemap
8879:2328:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9626:11;;9449:5;9601:9;:21;;;;:::i;:::-;9600:37;;;;:::i;:::-;9580:15;;:57;;;;;;;:::i;:::-;;;;;;;;9666:9;9648:14;;:27;;;;;;;:::i;:::-;;;;;;;;8879:2328;;;;9118:77;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11014:188;;;;;;;;;;;;;:::i;:::-;;10887:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10638:241;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10298:332;;;;;;;;;;;;;:::i;:::-;;9202:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8999:54;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9060:49;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9318:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7438:94;;;;;;;;;;;;;:::i;:::-;;9851:439;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9237:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7215:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8954:38;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9695:148;;;:::i;:::-;;9276:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9357:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7540:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9118:77;;;;;;;;;;;;;:::o;11014:188::-;11061:14;11078:24;11091:10;11078:12;:24::i;:::-;11061:41;;11141:6;11115:10;:22;11126:10;11115:22;;;;;;;;;;;;;;;;:32;;;;;;;:::i;:::-;;;;;;;;11166:10;11158:28;;:36;11187:6;11158:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11050:152;11014:188::o;10887:119::-;10946:7;10973:19;:25;10993:4;10973:25;;;;;;;;;;;;;;;;10966:32;;10887:119;;;:::o;10638:241::-;10694:7;10714:15;9449:5;10761:15;;10733:19;:25;10753:4;10733:25;;;;;;;;;;;;;;;;:43;;;;:::i;:::-;10732:57;;;;:::i;:::-;10714:75;;10802:14;10829:10;:16;10840:4;10829:16;;;;;;;;;;;;;;;;10819:7;:26;;;;:::i;:::-;10802:43;;10865:6;10858:13;;;;10638:241;;;:::o;10298:332::-;10347:19;:17;:19::i;:::-;10379:10;;;;;;;;;;;:19;;;10399:10;10411:19;:31;10431:10;10411:31;;;;;;;;;;;;;;;;10379:64;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10471:19;:31;10491:10;10471:31;;;;;;;;;;;;;;;;10456:11;;:46;;;;;;;:::i;:::-;;;;;;;;10547:1;10513:19;:31;10533:10;10513:31;;;;;;;;;;;;;;;:35;;;;10580:5;10559:6;:18;10566:10;10559:18;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;10621:1;10596:10;:22;10607:10;10596:22;;;;;;;;;;;;;;;:26;;;;10298:332::o;9202:24::-;;;;;;;;;;;;;:::o;8999:54::-;;;;;;;;;;;;;;;;;:::o;9060:49::-;;;;;;;;;;;;;;;;;:::o;9318:30::-;;;;:::o;7438:94::-;7361:12;:10;:12::i;:::-;7350:23;;:7;:5;:7::i;:::-;:23;;;7342:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7503:21:::1;7521:1;7503:9;:21::i;:::-;7438:94::o:0;9851:439::-;9905:10;;;;;;;;;;;:23;;;9929:10;9949:4;9956:6;9905:58;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9976:19;9998:24;10011:10;9998:12;:24::i;:::-;9976:46;;10070:6;10035:19;:31;10055:10;10035:31;;;;;;;;;;;;;;;;:41;;;;;;;:::i;:::-;;;;;;;;10108:4;10087:6;:18;10094:10;10087:18;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;10140:6;10125:11;;:21;;;;;;;:::i;:::-;;;;;;;;10188:15;10159:14;:26;10174:10;10159:26;;;;;;;;;;;;;;;:44;;;;10270:11;10243:24;10256:10;10243:12;:24::i;:::-;:38;;;;:::i;:::-;10216:10;:22;10227:10;10216:22;;;;;;;;;;;;;;;;:66;;;;;;;:::i;:::-;;;;;;;;9892:398;9851:439;:::o;9237:30::-;;;;:::o;7215:87::-;7261:7;7288:6;;;;;;;;;;;7281:13;;7215:87;:::o;8954:38::-;;;;;;;;;;;;;;;;;;;;;;:::o;9695:148::-;9786:11;;9449:5;9761:9;:21;;;;:::i;:::-;9760:37;;;;:::i;:::-;9740:15;;:57;;;;;;;:::i;:::-;;;;;;;;9826:9;9808:14;;:27;;;;;;;:::i;:::-;;;;;;;;9695:148::o;9276:33::-;;;;:::o;9357:45::-;;;;;;;;;;;;;;;;;:::o;7540:192::-;7361:12;:10;:12::i;:::-;7350:23;;:7;:5;:7::i;:::-;:23;;;7342:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7649:1:::1;7629:22;;:8;:22;;::::0;7621:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;7705:19;7715:8;7705:9;:19::i;:::-;7540:192:::0;:::o;6770:98::-;6823:7;6850:10;6843:17;;6770:98;:::o;7740:173::-;7796:16;7815:6;;;;;;;;;;;7796:25;;7841:8;7832:6;;:17;;;;;;;;;;;;;;;;;;7896:8;7865:40;;7886:8;7865:40;;;;;;;;;;;;7785:128;7740:173;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:180::-;138:77;135:1;128:88;235:4;232:1;225:15;259:4;256:1;249:15;276:410;316:7;339:20;357:1;339:20;:::i;:::-;334:25;;373:20;391:1;373:20;:::i;:::-;368:25;;428:1;425;421:9;450:30;468:11;450:30;:::i;:::-;439:41;;629:1;620:7;616:15;613:1;610:22;590:1;583:9;563:83;540:139;;659:18;;:::i;:::-;540:139;324:362;276:410;;;;:::o;692:180::-;740:77;737:1;730:88;837:4;834:1;827:15;861:4;858:1;851:15;878:185;918:1;935:20;953:1;935:20;:::i;:::-;930:25;;969:20;987:1;969:20;:::i;:::-;964:25;;1008:1;998:35;;1013:18;;:::i;:::-;998:35;1055:1;1052;1048:9;1043:14;;878:185;;;;:::o;1069:191::-;1109:3;1128:20;1146:1;1128:20;:::i;:::-;1123:25;;1162:20;1180:1;1162:20;:::i;:::-;1157:25;;1205:1;1202;1198:9;1191:16;;1226:3;1223:1;1220:10;1217:36;;;1233:18;;:::i;:::-;1217:36;1069:191;;;;:::o;1266:126::-;1303:7;1343:42;1336:5;1332:54;1321:65;;1266:126;;;:::o;1398:96::-;1435:7;1464:24;1482:5;1464:24;:::i;:::-;1453:35;;1398:96;;;:::o;1500:118::-;1587:24;1605:5;1587:24;:::i;:::-;1582:3;1575:37;1500:118;;:::o;1624:222::-;1717:4;1755:2;1744:9;1740:18;1732:26;;1768:71;1836:1;1825:9;1821:17;1812:6;1768:71;:::i;:::-;1624:222;;;;:::o;1933:117::-;2042:1;2039;2032:12;2179:122;2252:24;2270:5;2252:24;:::i;:::-;2245:5;2242:35;2232:63;;2291:1;2288;2281:12;2232:63;2179:122;:::o;2307:139::-;2353:5;2391:6;2378:20;2369:29;;2407:33;2434:5;2407:33;:::i;:::-;2307:139;;;;:::o;2452:329::-;2511:6;2560:2;2548:9;2539:7;2535:23;2531:32;2528:119;;;2566:79;;:::i;:::-;2528:119;2686:1;2711:53;2756:7;2747:6;2736:9;2732:22;2711:53;:::i;:::-;2701:63;;2657:117;2452:329;;;;:::o;2787:118::-;2874:24;2892:5;2874:24;:::i;:::-;2869:3;2862:37;2787:118;;:::o;2911:222::-;3004:4;3042:2;3031:9;3027:18;3019:26;;3055:71;3123:1;3112:9;3108:17;3099:6;3055:71;:::i;:::-;2911:222;;;;:::o;3139:60::-;3167:3;3188:5;3181:12;;3139:60;;;:::o;3205:142::-;3255:9;3288:53;3306:34;3315:24;3333:5;3315:24;:::i;:::-;3306:34;:::i;:::-;3288:53;:::i;:::-;3275:66;;3205:142;;;:::o;3353:126::-;3403:9;3436:37;3467:5;3436:37;:::i;:::-;3423:50;;3353:126;;;:::o;3485:140::-;3549:9;3582:37;3613:5;3582:37;:::i;:::-;3569:50;;3485:140;;;:::o;3631:159::-;3732:51;3777:5;3732:51;:::i;:::-;3727:3;3720:64;3631:159;;:::o;3796:250::-;3903:4;3941:2;3930:9;3926:18;3918:26;;3954:85;4036:1;4025:9;4021:17;4012:6;3954:85;:::i;:::-;3796:250;;;;:::o;4052:122::-;4125:24;4143:5;4125:24;:::i;:::-;4118:5;4115:35;4105:63;;4164:1;4161;4154:12;4105:63;4052:122;:::o;4180:139::-;4226:5;4264:6;4251:20;4242:29;;4280:33;4307:5;4280:33;:::i;:::-;4180:139;;;;:::o;4325:329::-;4384:6;4433:2;4421:9;4412:7;4408:23;4404:32;4401:119;;;4439:79;;:::i;:::-;4401:119;4559:1;4584:53;4629:7;4620:6;4609:9;4605:22;4584:53;:::i;:::-;4574:63;;4530:117;4325:329;;;;:::o;4660:90::-;4694:7;4737:5;4730:13;4723:21;4712:32;;4660:90;;;:::o;4756:109::-;4837:21;4852:5;4837:21;:::i;:::-;4832:3;4825:34;4756:109;;:::o;4871:210::-;4958:4;4996:2;4985:9;4981:18;4973:26;;5009:65;5071:1;5060:9;5056:17;5047:6;5009:65;:::i;:::-;4871:210;;;;:::o;5087:194::-;5127:4;5147:20;5165:1;5147:20;:::i;:::-;5142:25;;5181:20;5199:1;5181:20;:::i;:::-;5176:25;;5225:1;5222;5218:9;5210:17;;5249:1;5243:4;5240:11;5237:37;;;5254:18;;:::i;:::-;5237:37;5087:194;;;;:::o;5287:332::-;5408:4;5446:2;5435:9;5431:18;5423:26;;5459:71;5527:1;5516:9;5512:17;5503:6;5459:71;:::i;:::-;5540:72;5608:2;5597:9;5593:18;5584:6;5540:72;:::i;:::-;5287:332;;;;;:::o;5625:116::-;5695:21;5710:5;5695:21;:::i;:::-;5688:5;5685:32;5675:60;;5731:1;5728;5721:12;5675:60;5625:116;:::o;5747:137::-;5801:5;5832:6;5826:13;5817:22;;5848:30;5872:5;5848:30;:::i;:::-;5747:137;;;;:::o;5890:345::-;5957:6;6006:2;5994:9;5985:7;5981:23;5977:32;5974:119;;;6012:79;;:::i;:::-;5974:119;6132:1;6157:61;6210:7;6201:6;6190:9;6186:22;6157:61;:::i;:::-;6147:71;;6103:125;5890:345;;;;:::o;6241:169::-;6325:11;6359:6;6354:3;6347:19;6399:4;6394:3;6390:14;6375:29;;6241:169;;;;:::o;6416:182::-;6556:34;6552:1;6544:6;6540:14;6533:58;6416:182;:::o;6604:366::-;6746:3;6767:67;6831:2;6826:3;6767:67;:::i;:::-;6760:74;;6843:93;6932:3;6843:93;:::i;:::-;6961:2;6956:3;6952:12;6945:19;;6604:366;;;:::o;6976:419::-;7142:4;7180:2;7169:9;7165:18;7157:26;;7229:9;7223:4;7219:20;7215:1;7204:9;7200:17;7193:47;7257:131;7383:4;7257:131;:::i;:::-;7249:139;;6976:419;;;:::o;7401:442::-;7550:4;7588:2;7577:9;7573:18;7565:26;;7601:71;7669:1;7658:9;7654:17;7645:6;7601:71;:::i;:::-;7682:72;7750:2;7739:9;7735:18;7726:6;7682:72;:::i;:::-;7764;7832:2;7821:9;7817:18;7808:6;7764:72;:::i;:::-;7401:442;;;;;;:::o;7849:225::-;7989:34;7985:1;7977:6;7973:14;7966:58;8058:8;8053:2;8045:6;8041:15;8034:33;7849:225;:::o;8080:366::-;8222:3;8243:67;8307:2;8302:3;8243:67;:::i;:::-;8236:74;;8319:93;8408:3;8319:93;:::i;:::-;8437:2;8432:3;8428:12;8421:19;;8080:366;;;:::o;8452:419::-;8618:4;8656:2;8645:9;8641:18;8633:26;;8705:9;8699:4;8695:20;8691:1;8680:9;8676:17;8669:47;8733:131;8859:4;8733:131;:::i;:::-;8725:139;;8452:419;;;:::o
Swarm Source
ipfs://b59d5d17b168d2aa64ec38eb6548f67ea93b0ccd1d3288da9d8f2e4495ea5b4a
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 100.00% | $2,603.39 | 0.1867 | $486.07 |
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.