Feature Tip: Add private address tag to any address under My Name Tag !
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 3,115 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Set Yield Rate P... | 15936757 | 625 days ago | IN | 0 ETH | 0.0005638 | ||||
Set Yield End Ti... | 15936756 | 625 days ago | IN | 0 ETH | 0.0006966 | ||||
Claim | 15932856 | 626 days ago | IN | 0 ETH | 0.00179629 | ||||
Claim | 15932203 | 626 days ago | IN | 0 ETH | 0.00194482 | ||||
Claim | 15931112 | 626 days ago | IN | 0 ETH | 0.00178298 | ||||
Claim | 15928217 | 626 days ago | IN | 0 ETH | 0.00265851 | ||||
Claim | 15926275 | 627 days ago | IN | 0 ETH | 0.00288538 | ||||
Claim | 15923516 | 627 days ago | IN | 0 ETH | 0.00113419 | ||||
Claim | 15922010 | 627 days ago | IN | 0 ETH | 0.00182667 | ||||
Claim | 15921574 | 627 days ago | IN | 0 ETH | 0.00136173 | ||||
Claim | 15920736 | 628 days ago | IN | 0 ETH | 0.0014035 | ||||
Claim | 15920643 | 628 days ago | IN | 0 ETH | 0.00248061 | ||||
Claim | 15919321 | 628 days ago | IN | 0 ETH | 0.00171568 | ||||
Claim | 15917912 | 628 days ago | IN | 0 ETH | 0.00109924 | ||||
Claim | 15917887 | 628 days ago | IN | 0 ETH | 0.00076085 | ||||
Claim | 15917298 | 628 days ago | IN | 0 ETH | 0.00147697 | ||||
Transfer Ownersh... | 15916641 | 628 days ago | IN | 0 ETH | 0.00030409 | ||||
Claim | 15916525 | 628 days ago | IN | 0 ETH | 0.00182968 | ||||
Claim | 15916458 | 628 days ago | IN | 0 ETH | 0.00117344 | ||||
Claim | 15916174 | 628 days ago | IN | 0 ETH | 0.00082546 | ||||
Claim | 15916042 | 628 days ago | IN | 0 ETH | 0.00132981 | ||||
Claim | 15915920 | 628 days ago | IN | 0 ETH | 0.00116255 | ||||
Claim | 15915917 | 628 days ago | IN | 0 ETH | 0.00088893 | ||||
Claim | 15915793 | 628 days ago | IN | 0 ETH | 0.00075665 | ||||
Claim | 15915752 | 628 days ago | IN | 0 ETH | 0.00056963 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
ZenYield
Compiler Version
v0.8.7+commit.e28d00a7
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-05-17 */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; /////////////////////////////////////// // ____ __ ___ __ __ // // /_ / ___ __\ \/ (_)__ / /__/ / // // / /_/ -_) _ \ / / -_) / _ / // // /___/\__/_//_/_/_/\__/_/\_,_/ // // by 0xInuarashi.eth // /////////////////////////////////////// abstract contract Ownable { address public owner; constructor() { owner = msg.sender; } modifier onlyOwner { require(owner == msg.sender, "Not Owner!"); _; } function transferOwnership(address new_) external onlyOwner { owner = new_; } } interface iZen { function mintAsController(address to_, uint256 amount_) external; } interface iZenApe { function totalSupply() external view returns (uint256); function balanceOf(address address_) external view returns (uint256); function ownerOf(uint256 tokenId_) external view returns (address); } contract ZenYield is Ownable { // Interfaces iZen public Zen = iZen(0x884345a7B7E7fFd7F4298aD6115f5d5afb2F7660); function setZen(address address_) external onlyOwner { Zen = iZen(address_); } iZenApe public ZenApe = iZenApe(0x838804a3dd7c717396a68F94E736eAf76b911632); function setZenApe(address address_) external onlyOwner { ZenApe = iZenApe(address_); } // Times uint256 public yieldStartTime = 1651327200; // Apr 30 2022 14:00:00 GMT+0000 uint256 public yieldEndTime = 1682863200; // Apr 30 2023 14:00:00 GMT+0000 function setYieldEndTime(uint256 yieldEndTime_) external onlyOwner { yieldEndTime = yieldEndTime_; } // Yield Info uint256 public yieldRatePerToken = 5 ether; // 5 Zen per Day function setYieldRatePerToken(uint256 yieldRatePerToken_) external onlyOwner { yieldRatePerToken = yieldRatePerToken_; } // Yield Database mapping(uint256 => uint256) public tokenToLastClaimedTimestamp; // Events event Claim(address to_, uint256[] tokenIds_, uint256 totalClaimed_); // Internal Calculators function _getTimeCurrentOrEnded() internal view returns (uint256) { // Return block.timestamp if it's lower than yieldEndTime, otherwise // return yieldEndTime instead. return block.timestamp < yieldEndTime ? block.timestamp : yieldEndTime; } function _getTimestampOfToken(uint256 tokenId_) internal view returns (uint256) { // Here, since we have intrinsic token yield, we need to take that into account. // We return the yieldStartTime if SSTORE of tokenToLastClaimedTimestamp is 0 return tokenToLastClaimedTimestamp[tokenId_] == 0 ? yieldStartTime : tokenToLastClaimedTimestamp[tokenId_]; } // Yield Accountants function getPendingTokens(uint256 tokenId_) public view returns (uint256) { // First, grab the timestamp of the token uint256 _lastClaimedTimestamp = _getTimestampOfToken(tokenId_); // Then, we grab the timestamp to compare it with uint256 _timeCurrentOrEnded = _getTimeCurrentOrEnded(); // Lastly, we calculate the time-units in seconds of elapsed time uint256 _timeElapsed = _timeCurrentOrEnded - _lastClaimedTimestamp; // Now, calculate the pending yield return (_timeElapsed * yieldRatePerToken) / 1 days; } function getPendingTokensMany(uint256[] memory tokenIds_) public view returns (uint256) { uint256 _pendingTokens; for (uint256 i = 0; i < tokenIds_.length; i++) { _pendingTokens += getPendingTokens(tokenIds_[i]); } return _pendingTokens; } // Internal Timekeepers function _updateTimestampOfTokens(uint256[] memory tokenIds_) internal { uint256 _timeCurrentOrEnded = _getTimeCurrentOrEnded(); for (uint256 i = 0; i < tokenIds_.length; i++) { // Prevents duplicate setting of the same token in the same block require(tokenToLastClaimedTimestamp[tokenIds_[i]] != _timeCurrentOrEnded, "Unable to set timestamp duplication in the same block"); tokenToLastClaimedTimestamp[tokenIds_[i]] = _timeCurrentOrEnded; } } // Public Claim function claim(uint256[] calldata tokenIds_) external { // Make sure the sender owns all the tokens for (uint256 i = 0; i < tokenIds_.length; i++) { require(msg.sender == ZenApe.ownerOf(tokenIds_[i]), "You are not the owner!"); } // Calculate the total Pending Tokens to be claimed uint256 _pendingTokens = getPendingTokensMany(tokenIds_); // Set on all the tokens the new timestamp (which sets pending to 0) _updateTimestampOfTokens(tokenIds_); // Mint the total tokens for the msg.sender Zen.mintAsController(msg.sender, _pendingTokens); // Emit claim of total tokens emit Claim(msg.sender, tokenIds_, _pendingTokens); } // Public View Functions for Helpers function walletOfOwner(address address_) public view returns (uint256[] memory) { uint256 _balance = ZenApe.balanceOf(address_); uint256[] memory _tokens = new uint256[] (_balance); uint256 _index; uint256 _loopThrough = ZenApe.totalSupply(); for (uint256 i = 0; i < _loopThrough; i++) { address _ownerOf = ZenApe.ownerOf(i); if (_ownerOf == address(0) && _tokens[_balance - 1] == 0) { _loopThrough++; } if (_ownerOf == address_) { _tokens[_index++] = i; } } return _tokens; } function getPendingTokensOfAddress(address address_) public view returns (uint256) { uint256[] memory _walletOfAddress = walletOfOwner(address_); return getPendingTokensMany(_walletOfAddress); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"to_","type":"address"},{"indexed":false,"internalType":"uint256[]","name":"tokenIds_","type":"uint256[]"},{"indexed":false,"internalType":"uint256","name":"totalClaimed_","type":"uint256"}],"name":"Claim","type":"event"},{"inputs":[],"name":"Zen","outputs":[{"internalType":"contract iZen","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ZenApe","outputs":[{"internalType":"contract iZenApe","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"tokenIds_","type":"uint256[]"}],"name":"claim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId_","type":"uint256"}],"name":"getPendingTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"tokenIds_","type":"uint256[]"}],"name":"getPendingTokensMany","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"address_","type":"address"}],"name":"getPendingTokensOfAddress","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":"uint256","name":"yieldEndTime_","type":"uint256"}],"name":"setYieldEndTime","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"yieldRatePerToken_","type":"uint256"}],"name":"setYieldRatePerToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"address_","type":"address"}],"name":"setZen","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"address_","type":"address"}],"name":"setZenApe","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"tokenToLastClaimedTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"new_","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"address_","type":"address"}],"name":"walletOfOwner","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"yieldEndTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"yieldRatePerToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"yieldStartTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
6080604052600180546001600160a01b031990811673884345a7b7e7ffd7f4298ad6115f5d5afb2f7660179091556002805490911673838804a3dd7c717396a68f94e736eaf76b91163217905563626d40e060035563644e7460600455674563918244f4000060055534801561007457600080fd5b50600080546001600160a01b03191633179055610e0d806100966000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c8063438b6300116100a25780637c073ede116100715780637c073ede146102275780638da5cb5b14610230578063968e72f814610243578063aa4cbff114610256578063f2fde38b1461026957600080fd5b8063438b6300146101ce57806356f6df58146101ee57806358d78c8c146102015780636ba4c1381461021457600080fd5b8063314ca039116100de578063314ca03914610171578063359d63241461017a5780633ee3a83f146101a55780633f694358146101ae57600080fd5b806308cf8f06146101105780630cf33bc7146101365780631394818e1461014b578063198679771461015e575b600080fd5b61012361011e366004610c01565b61027c565b6040519081526020015b60405180910390f35b610149610144366004610a8d565b6102c9565b005b610149610159366004610c01565b61031e565b61014961016c366004610a8d565b61034d565b61012360045481565b60015461018d906001600160a01b031681565b6040516001600160a01b03909116815260200161012d565b61012360055481565b6101236101bc366004610c01565b60066020526000908152604090205481565b6101e16101dc366004610a8d565b610399565b60405161012d9190610c8a565b60025461018d906001600160a01b031681565b61012361020f366004610b3c565b610629565b610149610222366004610ac7565b61067f565b61012360035481565b60005461018d906001600160a01b031681565b610123610251366004610a8d565b6108b0565b610149610264366004610c01565b6108ce565b610149610277366004610a8d565b6108fd565b60008061028883610949565b9050600061029461097b565b905060006102a28383610d4b565b905062015180600554826102b69190610d2c565b6102c09190610d0a565b95945050505050565b6000546001600160a01b031633146102fc5760405162461bcd60e51b81526004016102f390610cce565b60405180910390fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146103485760405162461bcd60e51b81526004016102f390610cce565b600455565b6000546001600160a01b031633146103775760405162461bcd60e51b81526004016102f390610cce565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6002546040516370a0823160e01b81526001600160a01b0383811660048301526060926000929116906370a082319060240160206040518083038186803b1580156103e357600080fd5b505afa1580156103f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061041b9190610c1a565b905060008167ffffffffffffffff81111561043857610438610da9565b604051908082528060200260200182016040528015610461578160200160208202803683370190505b509050600080600260009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156104b557600080fd5b505afa1580156104c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ed9190610c1a565b905060005b8181101561061e576002546040516331a9108f60e11b8152600481018390526000916001600160a01b031690636352211e9060240160206040518083038186803b15801561053f57600080fd5b505afa158015610553573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105779190610aaa565b90506001600160a01b0381161580156105b3575084610597600188610d4b565b815181106105a7576105a7610d93565b60200260200101516000145b156105c657826105c281610d62565b9350505b876001600160a01b0316816001600160a01b0316141561060b578185856105ec81610d62565b9650815181106105fe576105fe610d93565b6020026020010181815250505b508061061681610d62565b9150506104f2565b509195945050505050565b60008060005b83518110156106785761065a84828151811061064d5761064d610d93565b602002602001015161027c565b6106649083610cf2565b91508061067081610d62565b91505061062f565b5092915050565b60005b8181101561078d576002546001600160a01b0316636352211e8484848181106106ad576106ad610d93565b905060200201356040518263ffffffff1660e01b81526004016106d291815260200190565b60206040518083038186803b1580156106ea57600080fd5b505afa1580156106fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107229190610aaa565b6001600160a01b0316336001600160a01b03161461077b5760405162461bcd60e51b8152602060048201526016602482015275596f7520617265206e6f7420746865206f776e65722160501b60448201526064016102f3565b8061078581610d62565b915050610682565b5060006107cc83838080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061062992505050565b905061080a83838080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061099292505050565b600154604051630a9edcc560e11b8152336004820152602481018390526001600160a01b039091169063153db98a90604401600060405180830381600087803b15801561085657600080fd5b505af115801561086a573d6000803e3d6000fd5b505050507fbb39cc58932f85e3e9d3d6b8b315e628b6ea052a07d36a8d550d9ff478cbf4df338484846040516108a39493929190610c33565b60405180910390a1505050565b6000806108bc83610399565b90506108c781610629565b9392505050565b6000546001600160a01b031633146108f85760405162461bcd60e51b81526004016102f390610cce565b600555565b6000546001600160a01b031633146109275760405162461bcd60e51b81526004016102f390610cce565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000818152600660205260408120541561097157600082815260066020526040902054610975565b6003545b92915050565b6000600454421061098d575060045490565b504290565b600061099c61097b565b905060005b8251811015610a885781600660008584815181106109c1576109c1610d93565b60200260200101518152602001908152602001600020541415610a445760405162461bcd60e51b815260206004820152603560248201527f556e61626c6520746f207365742074696d657374616d70206475706c69636174604482015274696f6e20696e207468652073616d6520626c6f636b60581b60648201526084016102f3565b8160066000858481518110610a5b57610a5b610d93565b60200260200101518152602001908152602001600020819055508080610a8090610d62565b9150506109a1565b505050565b600060208284031215610a9f57600080fd5b81356108c781610dbf565b600060208284031215610abc57600080fd5b81516108c781610dbf565b60008060208385031215610ada57600080fd5b823567ffffffffffffffff80821115610af257600080fd5b818501915085601f830112610b0657600080fd5b813581811115610b1557600080fd5b8660208260051b8501011115610b2a57600080fd5b60209290920196919550909350505050565b60006020808385031215610b4f57600080fd5b823567ffffffffffffffff80821115610b6757600080fd5b818501915085601f830112610b7b57600080fd5b813581811115610b8d57610b8d610da9565b8060051b604051601f19603f83011681018181108582111715610bb257610bb2610da9565b604052828152858101935084860182860187018a1015610bd157600080fd5b600095505b83861015610bf4578035855260019590950194938601938601610bd6565b5098975050505050505050565b600060208284031215610c1357600080fd5b5035919050565b600060208284031215610c2c57600080fd5b5051919050565b6001600160a01b0385168152606060208201819052810183905260006001600160fb1b03841115610c6357600080fd5b8360051b808660808501376000908301608001908152604090920192909252949350505050565b6020808252825182820181905260009190848201906040850190845b81811015610cc257835183529284019291840191600101610ca6565b50909695505050505050565b6020808252600a90820152694e6f74204f776e65722160b01b604082015260600190565b60008219821115610d0557610d05610d7d565b500190565b600082610d2757634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615610d4657610d46610d7d565b500290565b600082821015610d5d57610d5d610d7d565b500390565b6000600019821415610d7657610d76610d7d565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114610dd457600080fd5b5056fea26469706673582212200db46f789ec73f0bb12a67ff6d566e27a8c1915edc6c1f2360e5f541f1548d5c64736f6c63430008070033
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061010b5760003560e01c8063438b6300116100a25780637c073ede116100715780637c073ede146102275780638da5cb5b14610230578063968e72f814610243578063aa4cbff114610256578063f2fde38b1461026957600080fd5b8063438b6300146101ce57806356f6df58146101ee57806358d78c8c146102015780636ba4c1381461021457600080fd5b8063314ca039116100de578063314ca03914610171578063359d63241461017a5780633ee3a83f146101a55780633f694358146101ae57600080fd5b806308cf8f06146101105780630cf33bc7146101365780631394818e1461014b578063198679771461015e575b600080fd5b61012361011e366004610c01565b61027c565b6040519081526020015b60405180910390f35b610149610144366004610a8d565b6102c9565b005b610149610159366004610c01565b61031e565b61014961016c366004610a8d565b61034d565b61012360045481565b60015461018d906001600160a01b031681565b6040516001600160a01b03909116815260200161012d565b61012360055481565b6101236101bc366004610c01565b60066020526000908152604090205481565b6101e16101dc366004610a8d565b610399565b60405161012d9190610c8a565b60025461018d906001600160a01b031681565b61012361020f366004610b3c565b610629565b610149610222366004610ac7565b61067f565b61012360035481565b60005461018d906001600160a01b031681565b610123610251366004610a8d565b6108b0565b610149610264366004610c01565b6108ce565b610149610277366004610a8d565b6108fd565b60008061028883610949565b9050600061029461097b565b905060006102a28383610d4b565b905062015180600554826102b69190610d2c565b6102c09190610d0a565b95945050505050565b6000546001600160a01b031633146102fc5760405162461bcd60e51b81526004016102f390610cce565b60405180910390fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146103485760405162461bcd60e51b81526004016102f390610cce565b600455565b6000546001600160a01b031633146103775760405162461bcd60e51b81526004016102f390610cce565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6002546040516370a0823160e01b81526001600160a01b0383811660048301526060926000929116906370a082319060240160206040518083038186803b1580156103e357600080fd5b505afa1580156103f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061041b9190610c1a565b905060008167ffffffffffffffff81111561043857610438610da9565b604051908082528060200260200182016040528015610461578160200160208202803683370190505b509050600080600260009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156104b557600080fd5b505afa1580156104c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ed9190610c1a565b905060005b8181101561061e576002546040516331a9108f60e11b8152600481018390526000916001600160a01b031690636352211e9060240160206040518083038186803b15801561053f57600080fd5b505afa158015610553573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105779190610aaa565b90506001600160a01b0381161580156105b3575084610597600188610d4b565b815181106105a7576105a7610d93565b60200260200101516000145b156105c657826105c281610d62565b9350505b876001600160a01b0316816001600160a01b0316141561060b578185856105ec81610d62565b9650815181106105fe576105fe610d93565b6020026020010181815250505b508061061681610d62565b9150506104f2565b509195945050505050565b60008060005b83518110156106785761065a84828151811061064d5761064d610d93565b602002602001015161027c565b6106649083610cf2565b91508061067081610d62565b91505061062f565b5092915050565b60005b8181101561078d576002546001600160a01b0316636352211e8484848181106106ad576106ad610d93565b905060200201356040518263ffffffff1660e01b81526004016106d291815260200190565b60206040518083038186803b1580156106ea57600080fd5b505afa1580156106fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107229190610aaa565b6001600160a01b0316336001600160a01b03161461077b5760405162461bcd60e51b8152602060048201526016602482015275596f7520617265206e6f7420746865206f776e65722160501b60448201526064016102f3565b8061078581610d62565b915050610682565b5060006107cc83838080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061062992505050565b905061080a83838080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061099292505050565b600154604051630a9edcc560e11b8152336004820152602481018390526001600160a01b039091169063153db98a90604401600060405180830381600087803b15801561085657600080fd5b505af115801561086a573d6000803e3d6000fd5b505050507fbb39cc58932f85e3e9d3d6b8b315e628b6ea052a07d36a8d550d9ff478cbf4df338484846040516108a39493929190610c33565b60405180910390a1505050565b6000806108bc83610399565b90506108c781610629565b9392505050565b6000546001600160a01b031633146108f85760405162461bcd60e51b81526004016102f390610cce565b600555565b6000546001600160a01b031633146109275760405162461bcd60e51b81526004016102f390610cce565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000818152600660205260408120541561097157600082815260066020526040902054610975565b6003545b92915050565b6000600454421061098d575060045490565b504290565b600061099c61097b565b905060005b8251811015610a885781600660008584815181106109c1576109c1610d93565b60200260200101518152602001908152602001600020541415610a445760405162461bcd60e51b815260206004820152603560248201527f556e61626c6520746f207365742074696d657374616d70206475706c69636174604482015274696f6e20696e207468652073616d6520626c6f636b60581b60648201526084016102f3565b8160066000858481518110610a5b57610a5b610d93565b60200260200101518152602001908152602001600020819055508080610a8090610d62565b9150506109a1565b505050565b600060208284031215610a9f57600080fd5b81356108c781610dbf565b600060208284031215610abc57600080fd5b81516108c781610dbf565b60008060208385031215610ada57600080fd5b823567ffffffffffffffff80821115610af257600080fd5b818501915085601f830112610b0657600080fd5b813581811115610b1557600080fd5b8660208260051b8501011115610b2a57600080fd5b60209290920196919550909350505050565b60006020808385031215610b4f57600080fd5b823567ffffffffffffffff80821115610b6757600080fd5b818501915085601f830112610b7b57600080fd5b813581811115610b8d57610b8d610da9565b8060051b604051601f19603f83011681018181108582111715610bb257610bb2610da9565b604052828152858101935084860182860187018a1015610bd157600080fd5b600095505b83861015610bf4578035855260019590950194938601938601610bd6565b5098975050505050505050565b600060208284031215610c1357600080fd5b5035919050565b600060208284031215610c2c57600080fd5b5051919050565b6001600160a01b0385168152606060208201819052810183905260006001600160fb1b03841115610c6357600080fd5b8360051b808660808501376000908301608001908152604090920192909252949350505050565b6020808252825182820181905260009190848201906040850190845b81811015610cc257835183529284019291840191600101610ca6565b50909695505050505050565b6020808252600a90820152694e6f74204f776e65722160b01b604082015260600190565b60008219821115610d0557610d05610d7d565b500190565b600082610d2757634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615610d4657610d46610d7d565b500290565b600082821015610d5d57610d5d610d7d565b500390565b6000600019821415610d7657610d76610d7d565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114610dd457600080fd5b5056fea26469706673582212200db46f789ec73f0bb12a67ff6d566e27a8c1915edc6c1f2360e5f541f1548d5c64736f6c63430008070033
Deployed Bytecode Sourcemap
941:5103:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2825:611;;;;;;:::i;:::-;;:::i;:::-;;;6131:25:1;;;6119:2;6104:18;2825:611:0;;;;;;;;1256:101;;;;;;:::i;:::-;;:::i;:::-;;1541:110;;;;;;:::i;:::-;;:::i;1072:94::-;;;;;;:::i;:::-;;:::i;1461:40::-;;;;;;998:66;;;;;-1:-1:-1;;;;;998:66:0;;;;;;-1:-1:-1;;;;;2811:32:1;;;2793:51;;2781:2;2766:18;998:66:0;2647:203:1;1678:42:0;;;;;;1909:62;;;;;;:::i;:::-;;;;;;;;;;;;;;5175:643;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1174:75::-;;;;;-1:-1:-1;;;;;1174:75:0;;;3442:298;;;;;;:::i;:::-;;:::i;4345:780::-;;;;;;:::i;:::-;;:::i;1379:42::-;;;;;;382:20;;;;;-1:-1:-1;;;;;382:20:0;;;5824:217;;;;;;:::i;:::-;;:::i;1744:134::-;;;;;;:::i;:::-;;:::i;528:77::-;;;;;;:::i;:::-;;:::i;2825:611::-;2896:7;2977:29;3009:30;3030:8;3009:20;:30::i;:::-;2977:62;;3111:27;3141:24;:22;:24::i;:::-;3111:54;-1:-1:-1;3254:20:0;3277:43;3299:21;3111:54;3277:43;:::i;:::-;3254:66;;3422:6;3401:17;;3386:12;:32;;;;:::i;:::-;3385:43;;;;:::i;:::-;3378:50;2825:611;-1:-1:-1;;;;;2825:611:0:o;1256:101::-;482:5;;-1:-1:-1;;;;;482:5:0;491:10;482:19;474:42;;;;-1:-1:-1;;;474:42:0;;;;;;;:::i;:::-;;;;;;;;;1323:6:::1;:26:::0;;-1:-1:-1;;;;;;1323:26:0::1;-1:-1:-1::0;;;;;1323:26:0;;;::::1;::::0;;;::::1;::::0;;1256:101::o;1541:110::-;482:5;;-1:-1:-1;;;;;482:5:0;491:10;482:19;474:42;;;;-1:-1:-1;;;474:42:0;;;;;;;:::i;:::-;1620:12:::1;:28:::0;1541:110::o;1072:94::-;482:5;;-1:-1:-1;;;;;482:5:0;491:10;482:19;474:42;;;;-1:-1:-1;;;474:42:0;;;;;;;:::i;:::-;1137:3:::1;:20:::0;;-1:-1:-1;;;;;;1137:20:0::1;-1:-1:-1::0;;;;;1137:20:0;;;::::1;::::0;;;::::1;::::0;;1072:94::o;5175:643::-;5285:6;;:26;;-1:-1:-1;;;5285:26:0;;-1:-1:-1;;;;;2811:32:1;;;5285:26:0;;;2793:51:1;5237:16:0;;5266;;5285:6;;;:16;;2766:18:1;;5285:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5266:45;;5322:24;5364:8;5349:24;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5349:24:0;;5322:51;;5384:14;5409:20;5432:6;;;;;;;;;-1:-1:-1;;;;;5432:6:0;-1:-1:-1;;;;;5432:18:0;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5409:43;;5468:9;5463:323;5487:12;5483:1;:16;5463:323;;;5540:6;;:17;;-1:-1:-1;;;5540:17:0;;;;;6131:25:1;;;5521:16:0;;-1:-1:-1;;;;;5540:6:0;;:14;;6104:18:1;;5540:17:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5521:36;-1:-1:-1;;;;;;5576:22:0;;;:52;;;;-1:-1:-1;5602:7:0;5610:12;5621:1;5610:8;:12;:::i;:::-;5602:21;;;;;;;;:::i;:::-;;;;;;;5627:1;5602:26;5576:52;5572:107;;;5649:14;;;;:::i;:::-;;;;5572:107;5709:8;-1:-1:-1;;;;;5697:20:0;:8;-1:-1:-1;;;;;5697:20:0;;5693:82;;;5758:1;5738:7;5746:8;;;;:::i;:::-;;;5738:17;;;;;;;;:::i;:::-;;;;;;:21;;;;;5693:82;-1:-1:-1;5501:3:0;;;;:::i;:::-;;;;5463:323;;;-1:-1:-1;5803:7:0;;5175:643;-1:-1:-1;;;;;5175:643:0:o;3442:298::-;3526:7;3546:22;3584:9;3579:122;3603:9;:16;3599:1;:20;3579:122;;;3659:30;3676:9;3686:1;3676:12;;;;;;;;:::i;:::-;;;;;;;3659:16;:30::i;:::-;3641:48;;;;:::i;:::-;;-1:-1:-1;3621:3:0;;;;:::i;:::-;;;;3579:122;;;-1:-1:-1;3718:14:0;3442:298;-1:-1:-1;;3442:298:0:o;4345:780::-;4468:9;4463:168;4483:20;;;4463:168;;;4547:6;;-1:-1:-1;;;;;4547:6:0;:14;4562:9;;4572:1;4562:12;;;;;;;:::i;:::-;;;;;;;4547:28;;;;;;;;;;;;;6131:25:1;;6119:2;6104:18;;5985:177;4547:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;4533:42:0;:10;-1:-1:-1;;;;;4533:42:0;;4525:94;;;;-1:-1:-1;;;4525:94:0;;5414:2:1;4525:94:0;;;5396:21:1;5453:2;5433:18;;;5426:30;-1:-1:-1;;;5472:18:1;;;5465:52;5534:18;;4525:94:0;5212:346:1;4525:94:0;4505:3;;;;:::i;:::-;;;;4463:168;;;;4704:22;4729:31;4750:9;;4729:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4729:20:0;;-1:-1:-1;;;4729:31:0:i;:::-;4704:56;;4859:35;4884:9;;4859:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4859:24:0;;-1:-1:-1;;;4859:35:0:i;:::-;4968:3;;:48;;-1:-1:-1;;;4968:48:0;;4989:10;4968:48;;;3690:51:1;3757:18;;;3750:34;;;-1:-1:-1;;;;;4968:3:0;;;;:20;;3663:18:1;;4968:48:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5073:44;5079:10;5091:9;;5102:14;5073:44;;;;;;;;;:::i;:::-;;;;;;;;4399:726;4345:780;;:::o;5824:217::-;5898:7;5918:33;5954:23;5968:8;5954:13;:23::i;:::-;5918:59;;5995:38;6016:16;5995:20;:38::i;:::-;5988:45;5824:217;-1:-1:-1;;;5824:217:0:o;1744:134::-;482:5;;-1:-1:-1;;;;;482:5:0;491:10;482:19;474:42;;;;-1:-1:-1;;;474:42:0;;;;;;;:::i;:::-;1832:17:::1;:38:::0;1744:134::o;528:77::-;482:5;;-1:-1:-1;;;;;482:5:0;491:10;482:19;474:42;;;;-1:-1:-1;;;474:42:0;;;;;;;:::i;:::-;590:5:::1;:12:::0;;-1:-1:-1;;;;;;590:12:0::1;-1:-1:-1::0;;;;;590:12:0;;;::::1;::::0;;;::::1;::::0;;528:77::o;2395:396::-;2466:7;2670:37;;;:27;:37;;;;;;:42;:113;;2746:37;;;;:27;:37;;;;;;2670:113;;;2729:14;;2670:113;2663:120;2395:396;-1:-1:-1;;2395:396:0:o;2101:288::-;2158:7;2322:12;;2304:15;:30;:77;;-1:-1:-1;2369:12:0;;;2101:288::o;2304:77::-;-1:-1:-1;2351:15:0;;2101:288::o;3781:535::-;3864:27;3894:24;:22;:24::i;:::-;3864:54;;3934:9;3929:380;3953:9;:16;3949:1;:20;3929:380;;;4123:19;4078:27;:41;4106:9;4116:1;4106:12;;;;;;;;:::i;:::-;;;;;;;4078:41;;;;;;;;;;;;:64;;4070:147;;;;-1:-1:-1;;;4070:147:0;;5765:2:1;4070:147:0;;;5747:21:1;5804:2;5784:18;;;5777:30;5843:34;5823:18;;;5816:62;-1:-1:-1;;;5894:18:1;;;5887:51;5955:19;;4070:147:0;5563:417:1;4070:147:0;4278:19;4234:27;:41;4262:9;4272:1;4262:12;;;;;;;;:::i;:::-;;;;;;;4234:41;;;;;;;;;;;:63;;;;3971:3;;;;;:::i;:::-;;;;3929:380;;;;3852:464;3781:535;:::o;14:247:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;181:9;168:23;200:31;225:5;200:31;:::i;266:251::-;336:6;389:2;377:9;368:7;364:23;360:32;357:52;;;405:1;402;395:12;357:52;437:9;431:16;456:31;481:5;456:31;:::i;522:615::-;608:6;616;669:2;657:9;648:7;644:23;640:32;637:52;;;685:1;682;675:12;637:52;725:9;712:23;754:18;795:2;787:6;784:14;781:34;;;811:1;808;801:12;781:34;849:6;838:9;834:22;824:32;;894:7;887:4;883:2;879:13;875:27;865:55;;916:1;913;906:12;865:55;956:2;943:16;982:2;974:6;971:14;968:34;;;998:1;995;988:12;968:34;1051:7;1046:2;1036:6;1033:1;1029:14;1025:2;1021:23;1017:32;1014:45;1011:65;;;1072:1;1069;1062:12;1011:65;1103:2;1095:11;;;;;1125:6;;-1:-1:-1;522:615:1;;-1:-1:-1;;;;522:615:1:o;1142:1126::-;1226:6;1257:2;1300;1288:9;1279:7;1275:23;1271:32;1268:52;;;1316:1;1313;1306:12;1268:52;1356:9;1343:23;1385:18;1426:2;1418:6;1415:14;1412:34;;;1442:1;1439;1432:12;1412:34;1480:6;1469:9;1465:22;1455:32;;1525:7;1518:4;1514:2;1510:13;1506:27;1496:55;;1547:1;1544;1537:12;1496:55;1583:2;1570:16;1605:2;1601;1598:10;1595:36;;;1611:18;;:::i;:::-;1657:2;1654:1;1650:10;1689:2;1683:9;1752:2;1748:7;1743:2;1739;1735:11;1731:25;1723:6;1719:38;1807:6;1795:10;1792:22;1787:2;1775:10;1772:18;1769:46;1766:72;;;1818:18;;:::i;:::-;1854:2;1847:22;1904:18;;;1938:15;;;;-1:-1:-1;1973:11:1;;;2003;;;1999:20;;1996:33;-1:-1:-1;1993:53:1;;;2042:1;2039;2032:12;1993:53;2064:1;2055:10;;2074:163;2088:2;2085:1;2082:9;2074:163;;;2145:17;;2133:30;;2106:1;2099:9;;;;;2183:12;;;;2215;;2074:163;;;-1:-1:-1;2256:6:1;1142:1126;-1:-1:-1;;;;;;;;1142:1126:1:o;2273:180::-;2332:6;2385:2;2373:9;2364:7;2360:23;2356:32;2353:52;;;2401:1;2398;2391:12;2353:52;-1:-1:-1;2424:23:1;;2273:180;-1:-1:-1;2273:180:1:o;2458:184::-;2528:6;2581:2;2569:9;2560:7;2556:23;2552:32;2549:52;;;2597:1;2594;2587:12;2549:52;-1:-1:-1;2620:16:1;;2458:184;-1:-1:-1;2458:184:1:o;2855:656::-;-1:-1:-1;;;;;3100:32:1;;3082:51;;3169:2;3164;3149:18;;3142:30;;;3188:18;;3181:34;;;-1:-1:-1;;;;;;3227:31:1;;3224:51;;;3271:1;3268;3261:12;3224:51;3305:6;3302:1;3298:14;3363:6;3355;3349:3;3338:9;3334:19;3321:49;3441:1;3393:22;;;3417:3;3389:32;3430:13;;;3493:2;3478:18;;;3471:34;;;;3389:32;2855:656;-1:-1:-1;;;;2855:656:1:o;3795:632::-;3966:2;4018:21;;;4088:13;;3991:18;;;4110:22;;;3937:4;;3966:2;4189:15;;;;4163:2;4148:18;;;3937:4;4232:169;4246:6;4243:1;4240:13;4232:169;;;4307:13;;4295:26;;4376:15;;;;4341:12;;;;4268:1;4261:9;4232:169;;;-1:-1:-1;4418:3:1;;3795:632;-1:-1:-1;;;;;;3795:632:1:o;4873:334::-;5075:2;5057:21;;;5114:2;5094:18;;;5087:30;-1:-1:-1;;;5148:2:1;5133:18;;5126:40;5198:2;5183:18;;4873:334::o;6167:128::-;6207:3;6238:1;6234:6;6231:1;6228:13;6225:39;;;6244:18;;:::i;:::-;-1:-1:-1;6280:9:1;;6167:128::o;6300:217::-;6340:1;6366;6356:132;;6410:10;6405:3;6401:20;6398:1;6391:31;6445:4;6442:1;6435:15;6473:4;6470:1;6463:15;6356:132;-1:-1:-1;6502:9:1;;6300:217::o;6522:168::-;6562:7;6628:1;6624;6620:6;6616:14;6613:1;6610:21;6605:1;6598:9;6591:17;6587:45;6584:71;;;6635:18;;:::i;:::-;-1:-1:-1;6675:9:1;;6522:168::o;6695:125::-;6735:4;6763:1;6760;6757:8;6754:34;;;6768:18;;:::i;:::-;-1:-1:-1;6805:9:1;;6695:125::o;6825:135::-;6864:3;-1:-1:-1;;6885:17:1;;6882:43;;;6905:18;;:::i;:::-;-1:-1:-1;6952:1:1;6941:13;;6825:135::o;6965:127::-;7026:10;7021:3;7017:20;7014:1;7007:31;7057:4;7054:1;7047:15;7081:4;7078:1;7071:15;7097:127;7158:10;7153:3;7149:20;7146:1;7139:31;7189:4;7186:1;7179:15;7213:4;7210:1;7203:15;7229:127;7290:10;7285:3;7281:20;7278:1;7271:31;7321:4;7318:1;7311:15;7345:4;7342:1;7335:15;7361:131;-1:-1:-1;;;;;7436:31:1;;7426:42;;7416:70;;7482:1;7479;7472:12;7416:70;7361:131;:::o
Swarm Source
ipfs://0db46f789ec73f0bb12a67ff6d566e27a8c1915edc6c1f2360e5f541f1548d5c
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ 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.