More Info
Private Name Tags
Latest 25 from a total of 157 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Claim V2 | 16478384 | 547 days ago | IN | 0 ETH | 0.00807328 | ||||
Claim V2 | 16478350 | 547 days ago | IN | 0 ETH | 0.00946331 | ||||
Claim V2 | 16476803 | 547 days ago | IN | 0 ETH | 0.00194421 | ||||
Claim V2 | 16451841 | 551 days ago | IN | 0 ETH | 0.00616347 | ||||
Claim V2 | 16448551 | 551 days ago | IN | 0 ETH | 0.00587177 | ||||
Claim V2 | 16448230 | 551 days ago | IN | 0 ETH | 0.00597351 | ||||
Claim V2 | 16447354 | 551 days ago | IN | 0 ETH | 0.00205579 | ||||
Claim V2 | 16447076 | 552 days ago | IN | 0 ETH | 0.00188737 | ||||
Claim V2 | 16447002 | 552 days ago | IN | 0 ETH | 0.00479193 | ||||
Claim V2 | 16441997 | 552 days ago | IN | 0 ETH | 0.00255392 | ||||
Claim V2 | 16441805 | 552 days ago | IN | 0 ETH | 0.01283586 | ||||
Claim V2 | 16441735 | 552 days ago | IN | 0 ETH | 0.00265628 | ||||
Claim V2 | 16441710 | 552 days ago | IN | 0 ETH | 0.00818047 | ||||
Claim V2 | 16441695 | 552 days ago | IN | 0 ETH | 0.0028742 | ||||
Claim V2 | 16441683 | 552 days ago | IN | 0 ETH | 0.00835713 | ||||
Claim V2 | 16441120 | 552 days ago | IN | 0 ETH | 0.00600833 | ||||
Claim V2 | 16440975 | 552 days ago | IN | 0 ETH | 0.00179616 | ||||
Claim V2 | 16440970 | 552 days ago | IN | 0 ETH | 0.00521066 | ||||
Claim V2 | 16440656 | 552 days ago | IN | 0 ETH | 0.00208687 | ||||
Claim V2 | 16440499 | 552 days ago | IN | 0 ETH | 0.00188241 | ||||
Claim V2 | 16440444 | 552 days ago | IN | 0 ETH | 0.00209845 | ||||
Claim V2 | 16440414 | 552 days ago | IN | 0 ETH | 0.00215041 | ||||
Claim V2 | 16440299 | 552 days ago | IN | 0 ETH | 0.00188 | ||||
Claim V2 | 16440236 | 552 days ago | IN | 0 ETH | 0.00204823 | ||||
Claim V2 | 16440016 | 552 days ago | IN | 0 ETH | 0.00194364 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
HAMV1toV2
Compiler Version
v0.8.15+commit.e14f2714
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-01-16 */ /** Migrate your $HAM from V1 to V2 */ pragma solidity 0.8.15; pragma experimental ABIEncoderV2; // SPDX-License-Identifier:MIT // ERC20 token standard interface interface IERC20 { function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `_account`. */ function balanceOf(address _account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's _account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one _account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval( address indexed owner, address indexed spender, uint256 value ); } // Dex Factory contract interface interface IDexFactory { function createPair(address tokenA, address tokenB) external returns (address pair); } // Dex Router02 contract interface interface IDexRouter { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; } /** * @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; } } /** * @dev Contract module which provides a basic access control mechanism, where * there is an _account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner _account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _setOwner(_msgSender()); } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if called by any _account other than the owner. */ modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _setOwner(address(0)); } /** * @dev Transfers ownership of the contract to a new _account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require( newOwner != address(0), "Ownable: new owner is the zero address" ); _setOwner(newOwner); } /** * @dev set the owner for the first time. * Can only be called by the contract or deployer. */ function _setOwner(address newOwner) private { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } /** * @dev Contract module that helps prevent reentrant calls to a function. * * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier * available, which can be applied to functions to make sure there are no nested * (reentrant) calls to them. * * Note that because there is a single `nonReentrant` guard, functions marked as * `nonReentrant` may not call one another. This can be worked around by making * those functions `private`, and then adding `external` `nonReentrant` entry * points to them. * * TIP: If you would like to learn more about reentrancy and alternative ways * to protect against it, check out our blog post * https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul]. */ abstract contract ReentrancyGuard { // Booleans are more expensive than uint256 or any type that takes up a full // word because each write operation emits an extra SLOAD to first read the // slot's contents, replace the bits taken up by the boolean, and then write // back. This is the compiler's defense against contract upgrades and // pointer aliasing, and it cannot be disabled. // The values being non-zero value makes deployment a bit more expensive, // but in exchange the refund on every call to nonReentrant will be lower in // amount. Since refunds are capped to a percentage of the total // transaction's gas, it is best to keep them low in cases like this one, to // increase the likelihood of the full refund coming into effect. uint256 private constant _NOT_ENTERED = 1; uint256 private constant _ENTERED = 2; uint256 private _status; constructor() { _status = _NOT_ENTERED; } /** * @dev Prevents a contract from calling itself, directly or indirectly. * Calling a `nonReentrant` function from another `nonReentrant` * function is not supported. It is possible to prevent this from happening * by making the `nonReentrant` function external, and make it call a * `private` function that does the actual work. */ modifier nonReentrant() { // On the first call to nonReentrant, _notEntered will be true require(_status != _ENTERED, "ReentrancyGuard: reentrant call"); // Any calls to nonReentrant after this point will fail _status = _ENTERED; _; // By storing the original value once again, a refund is triggered (see // https://eips.ethereum.org/EIPS/eip-2200) _status = _NOT_ENTERED; } } // Main Contract contract HAMV1toV2 is Ownable, ReentrancyGuard { //using SafeMath for uint256; struct UserInfo { uint256 depositeddAmountV1; bool claimed; } mapping(address => UserInfo) public userInfo; event Log(string, uint256); event AuditLog(string, address); uint256 public totalDepositedAmountV1; uint256 public totalClaimedAmountV2; uint256 public rate = 1; bool public openForDeposit = false; uint256 public treasureAmountV2; IERC20 public tokenV1 = IERC20(0x2238796FB82aa4E989a1E96bFD0c4412550C4904); //HAM V1 Contract IERC20 public tokenV2 = IERC20(0xEAd485158Ee12f43B03cC0612dcb006DAb4731cC); //HAM V2 Contract address public tokenV2Pair = 0x7C82350B8B5861b9B593F3b3844C3aE2cb7734E5; address public constant HAMMultiSig = 0x904Ce75fbcf15dc6D14ACe599181D7D66BdFc4E7; function depositV1(uint256 amount) external nonReentrant{ require(openForDeposit, "Not in deposit period"); tokenV1.transferFrom(msg.sender, address(this), amount); totalDepositedAmountV1 = totalDepositedAmountV1 + amount; userInfo[msg.sender].depositeddAmountV1 = userInfo[msg.sender].depositeddAmountV1 + amount; userInfo[msg.sender].claimed = false; emit AuditLog("The deposit has been successfull for the holder:",msg.sender); emit Log("They have deposited a total of:",amount); } function claimV2() external nonReentrant{ require(tokenV2.balanceOf(tokenV2Pair) > 0, "Token hasn't launched yet"); require(userInfo[msg.sender].depositeddAmountV1 > 0, "You haven't deposit V1 yet"); require(userInfo[msg.sender].claimed == false, "You already claimed"); uint256 claimAmount = userInfo[msg.sender].depositeddAmountV1 * 10; userInfo[msg.sender].claimed = true; userInfo[msg.sender].depositeddAmountV1 = 0; treasureAmountV2 -= claimAmount; totalClaimedAmountV2 += claimAmount; tokenV2.transfer(msg.sender, claimAmount); emit AuditLog("The claim has been successfull for the holder:",msg.sender); emit Log("They have claimed a total of:",claimAmount); } function claimableV2Amount(address account) public view returns (uint256) { if(userInfo[account].claimed){ return 0; } return userInfo[account].depositeddAmountV1 * 10; } function addV2Token(uint256 amount) external nonReentrant { require(amount > 0, "You need to deposit more than 0 tokens."); tokenV2.transferFrom(msg.sender, address(this), amount); treasureAmountV2 = treasureAmountV2 + amount; emit AuditLog("The admin has successfully added tokens to the contract:",msg.sender); emit Log("The total added to the treasure is:",amount); } function depositOpen() external onlyOwner{ require(openForDeposit != true, "Deposit is already open."); openForDeposit = true; emit AuditLog("The migration has been opened for deposits.",msg.sender); } function depositClose() external onlyOwner{ require(openForDeposit != false, "Deposit is already closed."); openForDeposit = false; emit AuditLog("The migration has been closed for deposits.",msg.sender); } function withdrawV1() external onlyOwner{ tokenV1.transfer(msg.sender, tokenV1.balanceOf(address(this))); emit AuditLog("The owner has successfully withdraw V1 Tokens.",msg.sender); emit Log("The total withdraw from contract is:",tokenV1.balanceOf(address(this))); } function withdrawV2() external onlyOwner{ tokenV2.transfer(msg.sender, tokenV2.balanceOf(address(this))); emit AuditLog("The owner has successfully withdraw V2 Tokens.",msg.sender); emit Log("The total withdraw from contract is:",tokenV2.balanceOf(address(this))); } function updateSetup(address _tokenV2, address _v2Pair, address _migrationV1) external onlyOwner{ require( _tokenV2 != address(0),"Token V2 Address need to start with : ZERO"); require( _v2Pair != address(0),"Token V2 Pair Address need to start with : ZERO"); require( _migrationV1 != address(0),"Token V2 Pair Address need to start with : ZERO"); tokenV2 = IERC20(_tokenV2); tokenV2Pair = _v2Pair; tokenV1 = IERC20(_migrationV1); emit AuditLog("The Setup has been updated.",msg.sender); } function updateClaim (address _holder, bool _status) external onlyOwner { require(userInfo[msg.sender].claimed == true, "User can claim!, no need for update"); userInfo[_holder].claimed = _status; emit AuditLog("The user claim has been updated.",msg.sender); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"","type":"string"},{"indexed":false,"internalType":"address","name":"","type":"address"}],"name":"AuditLog","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"","type":"string"},{"indexed":false,"internalType":"uint256","name":"","type":"uint256"}],"name":"Log","type":"event"},{"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":"HAMMultiSig","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"addV2Token","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimV2","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"claimableV2Amount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"depositClose","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"depositOpen","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"depositV1","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"openForDeposit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"tokenV1","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenV2","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalClaimedAmountV2","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalDepositedAmountV1","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":"treasureAmountV2","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_holder","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"updateClaim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenV2","type":"address"},{"internalType":"address","name":"_v2Pair","type":"address"},{"internalType":"address","name":"_migrationV1","type":"address"}],"name":"updateSetup","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"userInfo","outputs":[{"internalType":"uint256","name":"depositeddAmountV1","type":"uint256"},{"internalType":"bool","name":"claimed","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdrawV1","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawV2","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405260016005556006805460ff19169055600880546001600160a01b0319908116732238796fb82aa4e989a1e96bfd0c4412550c49041790915560098054821673ead485158ee12f43b03cc0612dcb006dab4731cc179055600a8054909116737c82350b8b5861b9b593f3b3844c3ae2cb7734e517905534801561008557600080fd5b5061008f33610098565b600180556100e8565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6116e7806100f76000396000f3fe608060405234801561001057600080fd5b506004361061014c5760003560e01c80635dbdac7a116100c357806399c9e2461161007c57806399c9e246146102b2578063b0e882d6146102bb578063d5d7bbf7146102c4578063e6651b79146102d7578063f2fde38b146102ea578063fd4e822e146102fd57600080fd5b80635dbdac7a1461024f578063715018a61461026a57806375f9b7be1461027257806383b25b891461028557806388382fdd146102985780638da5cb5b146102a157600080fd5b8063285a43ca11610115578063285a43ca146101da5780632c4e722e146101ed5780632fb420761461020457806332fbf8841461020c5780635a09796c1461021f5780635b3449ba1461023257600080fd5b80624540fa1461015157806312df50c41461015b5780631382d8c2146101635780631959a00214610193578063273cc2a5146101d2575b600080fd5b610159610305565b005b610159610407565b600954610176906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6101bd6101a1366004611459565b6002602052600090815260409020805460019091015460ff1682565b6040805192835290151560208301520161018a565b610159610650565b6101596101e836600461147b565b610746565b6101f660055481565b60405190815260200161018a565b6101596108bb565b61015961021a3660046114be565b610c0b565b61015961022d3660046114be565b610df6565b60065461023f9060ff1681565b604051901515815260200161018a565b61017673904ce75fbcf15dc6d14ace599181d7d66bdfc4e781565b610159610ff1565b600a54610176906001600160a01b031681565b600854610176906001600160a01b031681565b6101f660045481565b6000546001600160a01b0316610176565b6101f660035481565b6101f660075481565b6101f66102d2366004611459565b611027565b6101596102e53660046114e5565b61107d565b6101596102f8366004611459565b61119a565b610159611235565b6000546001600160a01b031633146103385760405162461bcd60e51b815260040161032f9061151c565b60405180910390fd5b60065460ff16151560000361038f5760405162461bcd60e51b815260206004820152601a60248201527f4465706f73697420697320616c726561647920636c6f7365642e000000000000604482015260640161032f565b6006805460ff1916905560408051818152602b918101919091527f546865206d6967726174696f6e20686173206265656e20636c6f73656420666f60608201526a39103232b837b9b4ba399760a91b60808201523360208201526000805160206116928339815191529060a0015b60405180910390a1565b6000546001600160a01b031633146104315760405162461bcd60e51b815260040161032f9061151c565b6008546040516370a0823160e01b81523060048201526001600160a01b039091169063a9059cbb90339083906370a0823190602401602060405180830381865afa158015610483573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a79190611551565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156104f2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610516919061156a565b5060408051818152602e818301527f546865206f776e657220686173207375636365737366756c6c7920776974686460608201526d3930bb902b18902a37b5b2b7399760911b608082015233602082015290516000805160206116928339815191529181900360a00190a16008546040516370a0823160e01b8152306004820152600080516020611672833981519152916001600160a01b0316906370a08231906024015b602060405180830381865afa1580156105d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fc9190611551565b6040516103fd919060408082526024908201527f54686520746f74616c2077697468647261772066726f6d20636f6e74726163746060820152631034b99d60e11b6080820152602081019190915260a00190565b6000546001600160a01b0316331461067a5760405162461bcd60e51b815260040161032f9061151c565b60065460ff1615156001036106d15760405162461bcd60e51b815260206004820152601860248201527f4465706f73697420697320616c7265616479206f70656e2e0000000000000000604482015260640161032f565b6006805460ff1916600117905560408051818152602b918101919091527f546865206d6967726174696f6e20686173206265656e206f70656e656420666f60608201526a39103232b837b9b4ba399760a91b60808201523360208201526000805160206116928339815191529060a0016103fd565b6000546001600160a01b031633146107705760405162461bcd60e51b815260040161032f9061151c565b6001600160a01b0383166107d95760405162461bcd60e51b815260206004820152602a60248201527f546f6b656e2056322041646472657373206e65656420746f2073746172742077604482015269697468203a205a45524f60b01b606482015260840161032f565b6001600160a01b0382166107ff5760405162461bcd60e51b815260040161032f90611587565b6001600160a01b0381166108255760405162461bcd60e51b815260040161032f90611587565b600980546001600160a01b03199081166001600160a01b0386811691909117909255600a805482168584161790556008805490911691831691909117905560408051818152601b818301527f54686520536574757020686173206265656e20757064617465642e0000000000606082015233602082015290516000805160206116928339815191529181900360800190a1505050565b6002600154036108dd5760405162461bcd60e51b815260040161032f906115d6565b6002600155600954600a546040516370a0823160e01b81526001600160a01b03918216600482015260009291909116906370a0823190602401602060405180830381865afa158015610933573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109579190611551565b116109a45760405162461bcd60e51b815260206004820152601960248201527f546f6b656e206861736e2774206c61756e636865642079657400000000000000604482015260640161032f565b33600090815260026020526040902054610a005760405162461bcd60e51b815260206004820152601a60248201527f596f7520686176656e2774206465706f73697420563120796574000000000000604482015260640161032f565b3360009081526002602052604090206001015460ff1615610a595760405162461bcd60e51b8152602060048201526013602482015272165bdd48185b1c9958591e4818db185a5b5959606a1b604482015260640161032f565b33600090815260026020526040812054610a7490600a611623565b3360009081526002602052604081206001818101805460ff19169091179055819055600780549293508392909190610aad908490611642565b925050819055508060046000828254610ac69190611659565b909155505060095460405163a9059cbb60e01b8152336004820152602481018390526001600160a01b039091169063a9059cbb906044016020604051808303816000875af1158015610b1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b40919061156a565b5060408051818152602e818301527f54686520636c61696d20686173206265656e207375636365737366756c6c206660608201526d37b9103a3432903437b63232b91d60911b608082015233602082015290516000805160206116928339815191529181900360a00190a160408051818152601d918101919091527f54686579206861766520636c61696d6564206120746f74616c206f663a000000606082015260208101829052600080516020611672833981519152906080015b60405180910390a15060018055565b600260015403610c2d5760405162461bcd60e51b815260040161032f906115d6565b600260015580610c8f5760405162461bcd60e51b815260206004820152602760248201527f596f75206e65656420746f206465706f736974206d6f7265207468616e2030206044820152663a37b5b2b7399760c91b606482015260840161032f565b6009546040516323b872dd60e01b8152336004820152306024820152604481018390526001600160a01b03909116906323b872dd906064016020604051808303816000875af1158015610ce6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d0a919061156a565b5080600754610d199190611659565b600755604080518181526038818301527f5468652061646d696e20686173207375636365737366756c6c7920616464656460608201527f20746f6b656e7320746f2074686520636f6e74726163743a0000000000000000608082015233602082015290516000805160206116928339815191529181900360a00190a1604080518181526023918101919091527f54686520746f74616c20616464656420746f207468652074726561737572652060608201526234b99d60e91b6080820152602081018290526000805160206116728339815191529060a001610bfc565b600260015403610e185760405162461bcd60e51b815260040161032f906115d6565b600260015560065460ff16610e675760405162461bcd60e51b8152602060048201526015602482015274139bdd081a5b8819195c1bdcda5d081c195c9a5bd9605a1b604482015260640161032f565b6008546040516323b872dd60e01b8152336004820152306024820152604481018390526001600160a01b03909116906323b872dd906064016020604051808303816000875af1158015610ebe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ee2919061156a565b5080600354610ef19190611659565b60035533600090815260026020526040902054610f0f908290611659565b336000818152600260209081526040918290209384556001909301805460ff1916905580518181526030818301527f546865206465706f73697420686173206265656e207375636365737366756c6c60608201526f103337b9103a3432903437b63232b91d60811b608082015292830191909152516000805160206116928339815191529181900360a00190a160408051818152601f918101919091527f546865792068617665206465706f7369746564206120746f74616c206f663a0060608201526020810182905260008051602061167283398151915290608001610bfc565b6000546001600160a01b0316331461101b5760405162461bcd60e51b815260040161032f9061151c565b61102560006113ed565b565b6001600160a01b03811660009081526002602052604081206001015460ff161561105357506000919050565b6001600160a01b03821660009081526002602052604090205461107790600a611623565b92915050565b6000546001600160a01b031633146110a75760405162461bcd60e51b815260040161032f9061151c565b33600090815260026020526040902060019081015460ff1615151461111a5760405162461bcd60e51b815260206004820152602360248201527f557365722063616e20636c61696d212c206e6f206e65656420666f722075706460448201526261746560e81b606482015260840161032f565b6001600160a01b038216600090815260026020908152604091829020600101805460ff191684151517905581518281529182018190527f546865207573657220636c61696d20686173206265656e20757064617465642e606083015233908201526000805160206116928339815191529060800160405180910390a15050565b6000546001600160a01b031633146111c45760405162461bcd60e51b815260040161032f9061151c565b6001600160a01b0381166112295760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161032f565b611232816113ed565b50565b6000546001600160a01b0316331461125f5760405162461bcd60e51b815260040161032f9061151c565b6009546040516370a0823160e01b81523060048201526001600160a01b039091169063a9059cbb90339083906370a0823190602401602060405180830381865afa1580156112b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112d59190611551565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015611320573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611344919061156a565b5060408051818152602e818301527f546865206f776e657220686173207375636365737366756c6c7920776974686460608201526d3930bb902b19102a37b5b2b7399760911b608082015233602082015290516000805160206116928339815191529181900360a00190a16009546040516370a0823160e01b8152306004820152600080516020611672833981519152916001600160a01b0316906370a08231906024016105bb565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80356001600160a01b038116811461145457600080fd5b919050565b60006020828403121561146b57600080fd5b6114748261143d565b9392505050565b60008060006060848603121561149057600080fd5b6114998461143d565b92506114a76020850161143d565b91506114b56040850161143d565b90509250925092565b6000602082840312156114d057600080fd5b5035919050565b801515811461123257600080fd5b600080604083850312156114f857600080fd5b6115018361143d565b91506020830135611511816114d7565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561156357600080fd5b5051919050565b60006020828403121561157c57600080fd5b8151611474816114d7565b6020808252602f908201527f546f6b656e20563220506169722041646472657373206e65656420746f20737460408201526e6172742077697468203a205a45524f60881b606082015260800190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561163d5761163d61160d565b500290565b6000828210156116545761165461160d565b500390565b6000821982111561166c5761166c61160d565b50019056fedd970dd9b5bfe707922155b058a407655cb18288b807e2216442bca8ad83d6b5025dbd6ad989fe1a64db7dc049e29723ff9d35a97d84ae9aab96196f00ec1a00a2646970667358221220df4903c1aadfbde3d99c6e1c839af70d36d479088f53791c38bf341a4f536c9764736f6c634300080f0033
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061014c5760003560e01c80635dbdac7a116100c357806399c9e2461161007c57806399c9e246146102b2578063b0e882d6146102bb578063d5d7bbf7146102c4578063e6651b79146102d7578063f2fde38b146102ea578063fd4e822e146102fd57600080fd5b80635dbdac7a1461024f578063715018a61461026a57806375f9b7be1461027257806383b25b891461028557806388382fdd146102985780638da5cb5b146102a157600080fd5b8063285a43ca11610115578063285a43ca146101da5780632c4e722e146101ed5780632fb420761461020457806332fbf8841461020c5780635a09796c1461021f5780635b3449ba1461023257600080fd5b80624540fa1461015157806312df50c41461015b5780631382d8c2146101635780631959a00214610193578063273cc2a5146101d2575b600080fd5b610159610305565b005b610159610407565b600954610176906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6101bd6101a1366004611459565b6002602052600090815260409020805460019091015460ff1682565b6040805192835290151560208301520161018a565b610159610650565b6101596101e836600461147b565b610746565b6101f660055481565b60405190815260200161018a565b6101596108bb565b61015961021a3660046114be565b610c0b565b61015961022d3660046114be565b610df6565b60065461023f9060ff1681565b604051901515815260200161018a565b61017673904ce75fbcf15dc6d14ace599181d7d66bdfc4e781565b610159610ff1565b600a54610176906001600160a01b031681565b600854610176906001600160a01b031681565b6101f660045481565b6000546001600160a01b0316610176565b6101f660035481565b6101f660075481565b6101f66102d2366004611459565b611027565b6101596102e53660046114e5565b61107d565b6101596102f8366004611459565b61119a565b610159611235565b6000546001600160a01b031633146103385760405162461bcd60e51b815260040161032f9061151c565b60405180910390fd5b60065460ff16151560000361038f5760405162461bcd60e51b815260206004820152601a60248201527f4465706f73697420697320616c726561647920636c6f7365642e000000000000604482015260640161032f565b6006805460ff1916905560408051818152602b918101919091527f546865206d6967726174696f6e20686173206265656e20636c6f73656420666f60608201526a39103232b837b9b4ba399760a91b60808201523360208201526000805160206116928339815191529060a0015b60405180910390a1565b6000546001600160a01b031633146104315760405162461bcd60e51b815260040161032f9061151c565b6008546040516370a0823160e01b81523060048201526001600160a01b039091169063a9059cbb90339083906370a0823190602401602060405180830381865afa158015610483573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a79190611551565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156104f2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610516919061156a565b5060408051818152602e818301527f546865206f776e657220686173207375636365737366756c6c7920776974686460608201526d3930bb902b18902a37b5b2b7399760911b608082015233602082015290516000805160206116928339815191529181900360a00190a16008546040516370a0823160e01b8152306004820152600080516020611672833981519152916001600160a01b0316906370a08231906024015b602060405180830381865afa1580156105d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fc9190611551565b6040516103fd919060408082526024908201527f54686520746f74616c2077697468647261772066726f6d20636f6e74726163746060820152631034b99d60e11b6080820152602081019190915260a00190565b6000546001600160a01b0316331461067a5760405162461bcd60e51b815260040161032f9061151c565b60065460ff1615156001036106d15760405162461bcd60e51b815260206004820152601860248201527f4465706f73697420697320616c7265616479206f70656e2e0000000000000000604482015260640161032f565b6006805460ff1916600117905560408051818152602b918101919091527f546865206d6967726174696f6e20686173206265656e206f70656e656420666f60608201526a39103232b837b9b4ba399760a91b60808201523360208201526000805160206116928339815191529060a0016103fd565b6000546001600160a01b031633146107705760405162461bcd60e51b815260040161032f9061151c565b6001600160a01b0383166107d95760405162461bcd60e51b815260206004820152602a60248201527f546f6b656e2056322041646472657373206e65656420746f2073746172742077604482015269697468203a205a45524f60b01b606482015260840161032f565b6001600160a01b0382166107ff5760405162461bcd60e51b815260040161032f90611587565b6001600160a01b0381166108255760405162461bcd60e51b815260040161032f90611587565b600980546001600160a01b03199081166001600160a01b0386811691909117909255600a805482168584161790556008805490911691831691909117905560408051818152601b818301527f54686520536574757020686173206265656e20757064617465642e0000000000606082015233602082015290516000805160206116928339815191529181900360800190a1505050565b6002600154036108dd5760405162461bcd60e51b815260040161032f906115d6565b6002600155600954600a546040516370a0823160e01b81526001600160a01b03918216600482015260009291909116906370a0823190602401602060405180830381865afa158015610933573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109579190611551565b116109a45760405162461bcd60e51b815260206004820152601960248201527f546f6b656e206861736e2774206c61756e636865642079657400000000000000604482015260640161032f565b33600090815260026020526040902054610a005760405162461bcd60e51b815260206004820152601a60248201527f596f7520686176656e2774206465706f73697420563120796574000000000000604482015260640161032f565b3360009081526002602052604090206001015460ff1615610a595760405162461bcd60e51b8152602060048201526013602482015272165bdd48185b1c9958591e4818db185a5b5959606a1b604482015260640161032f565b33600090815260026020526040812054610a7490600a611623565b3360009081526002602052604081206001818101805460ff19169091179055819055600780549293508392909190610aad908490611642565b925050819055508060046000828254610ac69190611659565b909155505060095460405163a9059cbb60e01b8152336004820152602481018390526001600160a01b039091169063a9059cbb906044016020604051808303816000875af1158015610b1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b40919061156a565b5060408051818152602e818301527f54686520636c61696d20686173206265656e207375636365737366756c6c206660608201526d37b9103a3432903437b63232b91d60911b608082015233602082015290516000805160206116928339815191529181900360a00190a160408051818152601d918101919091527f54686579206861766520636c61696d6564206120746f74616c206f663a000000606082015260208101829052600080516020611672833981519152906080015b60405180910390a15060018055565b600260015403610c2d5760405162461bcd60e51b815260040161032f906115d6565b600260015580610c8f5760405162461bcd60e51b815260206004820152602760248201527f596f75206e65656420746f206465706f736974206d6f7265207468616e2030206044820152663a37b5b2b7399760c91b606482015260840161032f565b6009546040516323b872dd60e01b8152336004820152306024820152604481018390526001600160a01b03909116906323b872dd906064016020604051808303816000875af1158015610ce6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d0a919061156a565b5080600754610d199190611659565b600755604080518181526038818301527f5468652061646d696e20686173207375636365737366756c6c7920616464656460608201527f20746f6b656e7320746f2074686520636f6e74726163743a0000000000000000608082015233602082015290516000805160206116928339815191529181900360a00190a1604080518181526023918101919091527f54686520746f74616c20616464656420746f207468652074726561737572652060608201526234b99d60e91b6080820152602081018290526000805160206116728339815191529060a001610bfc565b600260015403610e185760405162461bcd60e51b815260040161032f906115d6565b600260015560065460ff16610e675760405162461bcd60e51b8152602060048201526015602482015274139bdd081a5b8819195c1bdcda5d081c195c9a5bd9605a1b604482015260640161032f565b6008546040516323b872dd60e01b8152336004820152306024820152604481018390526001600160a01b03909116906323b872dd906064016020604051808303816000875af1158015610ebe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ee2919061156a565b5080600354610ef19190611659565b60035533600090815260026020526040902054610f0f908290611659565b336000818152600260209081526040918290209384556001909301805460ff1916905580518181526030818301527f546865206465706f73697420686173206265656e207375636365737366756c6c60608201526f103337b9103a3432903437b63232b91d60811b608082015292830191909152516000805160206116928339815191529181900360a00190a160408051818152601f918101919091527f546865792068617665206465706f7369746564206120746f74616c206f663a0060608201526020810182905260008051602061167283398151915290608001610bfc565b6000546001600160a01b0316331461101b5760405162461bcd60e51b815260040161032f9061151c565b61102560006113ed565b565b6001600160a01b03811660009081526002602052604081206001015460ff161561105357506000919050565b6001600160a01b03821660009081526002602052604090205461107790600a611623565b92915050565b6000546001600160a01b031633146110a75760405162461bcd60e51b815260040161032f9061151c565b33600090815260026020526040902060019081015460ff1615151461111a5760405162461bcd60e51b815260206004820152602360248201527f557365722063616e20636c61696d212c206e6f206e65656420666f722075706460448201526261746560e81b606482015260840161032f565b6001600160a01b038216600090815260026020908152604091829020600101805460ff191684151517905581518281529182018190527f546865207573657220636c61696d20686173206265656e20757064617465642e606083015233908201526000805160206116928339815191529060800160405180910390a15050565b6000546001600160a01b031633146111c45760405162461bcd60e51b815260040161032f9061151c565b6001600160a01b0381166112295760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161032f565b611232816113ed565b50565b6000546001600160a01b0316331461125f5760405162461bcd60e51b815260040161032f9061151c565b6009546040516370a0823160e01b81523060048201526001600160a01b039091169063a9059cbb90339083906370a0823190602401602060405180830381865afa1580156112b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112d59190611551565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015611320573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611344919061156a565b5060408051818152602e818301527f546865206f776e657220686173207375636365737366756c6c7920776974686460608201526d3930bb902b19102a37b5b2b7399760911b608082015233602082015290516000805160206116928339815191529181900360a00190a16009546040516370a0823160e01b8152306004820152600080516020611672833981519152916001600160a01b0316906370a08231906024016105bb565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80356001600160a01b038116811461145457600080fd5b919050565b60006020828403121561146b57600080fd5b6114748261143d565b9392505050565b60008060006060848603121561149057600080fd5b6114998461143d565b92506114a76020850161143d565b91506114b56040850161143d565b90509250925092565b6000602082840312156114d057600080fd5b5035919050565b801515811461123257600080fd5b600080604083850312156114f857600080fd5b6115018361143d565b91506020830135611511816114d7565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561156357600080fd5b5051919050565b60006020828403121561157c57600080fd5b8151611474816114d7565b6020808252602f908201527f546f6b656e20563220506169722041646472657373206e65656420746f20737460408201526e6172742077697468203a205a45524f60881b606082015260800190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561163d5761163d61160d565b500290565b6000828210156116545761165461160d565b500390565b6000821982111561166c5761166c61160d565b50019056fedd970dd9b5bfe707922155b058a407655cb18288b807e2216442bca8ad83d6b5025dbd6ad989fe1a64db7dc049e29723ff9d35a97d84ae9aab96196f00ec1a00a2646970667358221220df4903c1aadfbde3d99c6e1c839af70d36d479088f53791c38bf341a4f536c9764736f6c634300080f0033
Deployed Bytecode Sourcemap
9553:4830:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12681:238;;;:::i;:::-;;12927:298;;;:::i;10164:74::-;;;;;-1:-1:-1;;;;;10164:74:0;;;;;;-1:-1:-1;;;;;191:32:1;;;173:51;;161:2;146:18;10164:74:0;;;;;;;;9736:44;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;772:25:1;;;840:14;;833:22;828:2;813:18;;806:50;745:18;9736:44:0;604:258:1;12440:233:0;;;:::i;13537:545::-;;;;;;:::i;:::-;;:::i;9948:23::-;;;;;;;;;1352:25:1;;;1340:2;1325:18;9948:23:0;1206:177:1;11001:780:0;;;:::i;12012:420::-;;;;;;:::i;:::-;;:::i;10439:554::-;;;;;;:::i;:::-;;:::i;9978:34::-;;;;;;;;;;;;1738:14:1;;1731:22;1713:41;;1701:2;1686:18;9978:34:0;1573:187:1;10341:89:0;;10388:42;10341:89;;6151:94;;;:::i;10263:71::-;;;;;-1:-1:-1;;;;;10263:71:0;;;10065:74;;;;;-1:-1:-1;;;;;10065:74:0;;;9906:35;;;;;;5499:87;5545:7;5572:6;-1:-1:-1;;;;;5572:6:0;5499:87;;9862:37;;;;;;10021:31;;;;;;11789:215;;;;;;:::i;:::-;;:::i;14088:292::-;;;;;;:::i;:::-;;:::i;6401:229::-;;;;;;:::i;:::-;;:::i;13233:298::-;;;:::i;12681:238::-;5545:7;5572:6;-1:-1:-1;;;;;5572:6:0;4428:10;5720:23;5712:68;;;;-1:-1:-1;;;5712:68:0;;;;;;;:::i;:::-;;;;;;;;;12742:14:::1;::::0;::::1;;:23;;:14;:23:::0;12734:62:::1;;;::::0;-1:-1:-1;;;12734:62:0;;2979:2:1;12734:62:0::1;::::0;::::1;2961:21:1::0;3018:2;2998:18;;;2991:30;3057:28;3037:18;;;3030:56;3103:18;;12734:62:0::1;2777:350:1::0;12734:62:0::1;12807:14;:22:::0;;-1:-1:-1;;12807:22:0::1;::::0;;12845:66:::1;::::0;;3344:21:1;;;3401:2;3381:18;;;3374:30;;;;3440:34;3435:2;3420:18;;3413:62;-1:-1:-1;;;3506:3:1;3491:19;;3484:42;12900:10:0::1;3593:4:1::0;3578:20;;3571:62;-1:-1:-1;;;;;;;;;;;12845:66:0;3558:3:1;3543:19;12845:66:0::1;;;;;;;;12681:238::o:0;12927:298::-;5545:7;5572:6;-1:-1:-1;;;;;5572:6:0;4428:10;5720:23;5712:68;;;;-1:-1:-1;;;5712:68:0;;;;;;;:::i;:::-;12978:7:::1;::::0;13007:32:::1;::::0;-1:-1:-1;;;13007:32:0;;13033:4:::1;13007:32;::::0;::::1;173:51:1::0;-1:-1:-1;;;;;12978:7:0;;::::1;::::0;:16:::1;::::0;12995:10:::1;::::0;12978:7;;13007:17:::1;::::0;146:18:1;;13007:32:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12978:62;::::0;-1:-1:-1;;;;;;12978:62:0::1;::::0;;;;;;-1:-1:-1;;;;;4025:32:1;;;12978:62:0::1;::::0;::::1;4007:51:1::0;4074:18;;;4067:34;3980:18;;12978:62:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;13056:69:0::1;::::0;;4574:21:1;;;4631:2;4611:18;;;4604:30;4670:34;4665:2;4650:18;;4643:62;-1:-1:-1;;;4736:3:1;4721:19;;4714:45;13114:10:0::1;4826:4:1::0;4811:20;;4804:62;13056:69:0;;-1:-1:-1;;;;;;;;;;;13056:69:0;;;;4791:3:1;13056:69:0;;::::1;13184:7;::::0;:32:::1;::::0;-1:-1:-1;;;13184:32:0;;13210:4:::1;13184:32;::::0;::::1;173:51:1::0;-1:-1:-1;;;;;;;;;;;13141:76:0;-1:-1:-1;;;;;13184:7:0::1;::::0;:17:::1;::::0;146:18:1;;13184:32:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13141:76;;;;;5107:2:1::0;5089:21;;;5146:2;5126:18;;;5119:30;5185:34;5180:2;5165:18;;5158:62;-1:-1:-1;;;5251:3:1;5236:19;;5229:35;5331:4;5316:20;;5309:36;;;;5296:3;5281:19;;4877:474;12440:233:0;5545:7;5572:6;-1:-1:-1;;;;;5572:6:0;4428:10;5720:23;5712:68;;;;-1:-1:-1;;;5712:68:0;;;;;;;:::i;:::-;12500:14:::1;::::0;::::1;;:22;;:14:::0;:22;12492:59:::1;;;::::0;-1:-1:-1;;;12492:59:0;;5558:2:1;12492:59:0::1;::::0;::::1;5540:21:1::0;5597:2;5577:18;;;5570:30;5636:26;5616:18;;;5609:54;5680:18;;12492:59:0::1;5356:348:1::0;12492:59:0::1;12562:14;:21:::0;;-1:-1:-1;;12562:21:0::1;12579:4;12562:21;::::0;;12599:66:::1;::::0;;5921:21:1;;;5978:2;5958:18;;;5951:30;;;;6017:34;6012:2;5997:18;;5990:62;-1:-1:-1;;;6083:3:1;6068:19;;6061:42;12654:10:0::1;6170:4:1::0;6155:20;;6148:62;-1:-1:-1;;;;;;;;;;;12599:66:0;6135:3:1;6120:19;12599:66:0::1;5709:507:1::0;13537:545:0;5545:7;5572:6;-1:-1:-1;;;;;5572:6:0;4428:10;5720:23;5712:68;;;;-1:-1:-1;;;5712:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13649:22:0;::::1;13640:77;;;::::0;-1:-1:-1;;;13640:77:0;;6423:2:1;13640:77:0::1;::::0;::::1;6405:21:1::0;6462:2;6442:18;;;6435:30;6501:34;6481:18;;;6474:62;-1:-1:-1;;;6552:18:1;;;6545:40;6602:19;;13640:77:0::1;6221:406:1::0;13640:77:0::1;-1:-1:-1::0;;;;;13733:21:0;::::1;13724:81;;;;-1:-1:-1::0;;;13724:81:0::1;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13821:26:0;::::1;13812:86;;;;-1:-1:-1::0;;;13812:86:0::1;;;;;;;:::i;:::-;13909:7;:26:::0;;-1:-1:-1;;;;;;13909:26:0;;::::1;-1:-1:-1::0;;;;;13909:26:0;;::::1;::::0;;;::::1;::::0;;;13946:11:::1;:21:::0;;;::::1;::::0;;::::1;;::::0;;13978:7:::1;:30:::0;;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;14024:50:::1;::::0;;7260:21:1;;;7317:2;7297:18;;;7290:30;7356:29;7351:2;7336:18;;7329:57;14063:10:0::1;7453:4:1::0;7438:20;;7431:62;14024:50:0;;-1:-1:-1;;;;;;;;;;;14024:50:0;;;;7418:3:1;14024:50:0;;::::1;13537:545:::0;;;:::o;11001:780::-;8590:1;9186:7;;:19;9178:63;;;;-1:-1:-1;;;9178:63:0;;;;;;;:::i;:::-;8590:1;9319:7;:18;11060:7:::1;::::0;11078:11:::1;::::0;11060:30:::1;::::0;-1:-1:-1;;;11060:30:0;;-1:-1:-1;;;;;11078:11:0;;::::1;11060:30;::::0;::::1;173:51:1::0;11093:1:0::1;::::0;11060:7;;;::::1;::::0;:17:::1;::::0;146:18:1;;11060:30:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:34;11052:72;;;::::0;-1:-1:-1;;;11052:72:0;;8066:2:1;11052:72:0::1;::::0;::::1;8048:21:1::0;8105:2;8085:18;;;8078:30;8144:27;8124:18;;;8117:55;8189:18;;11052:72:0::1;7864:349:1::0;11052:72:0::1;11152:10;11185:1;11143:20:::0;;;:8:::1;:20;::::0;;;;:39;11135:82:::1;;;::::0;-1:-1:-1;;;11135:82:0;;8420:2:1;11135:82:0::1;::::0;::::1;8402:21:1::0;8459:2;8439:18;;;8432:30;8498:28;8478:18;;;8471:56;8544:18;;11135:82:0::1;8218:350:1::0;11135:82:0::1;11245:10;11236:20;::::0;;;:8:::1;:20;::::0;;;;:28:::1;;::::0;::::1;;:37;11228:69;;;::::0;-1:-1:-1;;;11228:69:0;;8775:2:1;11228:69:0::1;::::0;::::1;8757:21:1::0;8814:2;8794:18;;;8787:30;-1:-1:-1;;;8833:18:1;;;8826:49;8892:18;;11228:69:0::1;8573:343:1::0;11228:69:0::1;11349:10;11318:19;11340:20:::0;;;:8:::1;:20;::::0;;;;:39;:44:::1;::::0;11382:2:::1;11340:44;:::i;:::-;11404:10;11395:20;::::0;;;:8:::1;:20;::::0;;;;11426:4:::1;11395:28:::0;;::::1;:35:::0;;-1:-1:-1;;11395:35:0::1;::::0;;::::1;::::0;;11441:43;;;11495:16:::1;:31:::0;;11318:66;;-1:-1:-1;11318:66:0;;11495:16;;11395:20;11495:31:::1;::::0;11318:66;;11495:31:::1;:::i;:::-;;;;;;;;11561:11;11537:20;;:35;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;11583:7:0::1;::::0;:41:::1;::::0;-1:-1:-1;;;11583:41:0;;11600:10:::1;11583:41;::::0;::::1;4007:51:1::0;4074:18;;;4067:34;;;-1:-1:-1;;;;;11583:7:0;;::::1;::::0;:16:::1;::::0;3980:18:1;;11583:41:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;11640:69:0::1;::::0;;9701:21:1;;;9758:2;9738:18;;;9731:30;9797:34;9792:2;9777:18;;9770:62;-1:-1:-1;;;9863:3:1;9848:19;;9841:45;11698:10:0::1;9953:4:1::0;9938:20;;9931:62;11640:69:0;;-1:-1:-1;;;;;;;;;;;11640:69:0;;;;9918:3:1;11640:69:0;;::::1;11725:48;::::0;;10216:21:1;;;10273:2;10253:18;;;10246:30;;;;10312:31;10307:2;10292:18;;10285:59;10411:4;10396:20;;10389:36;;;-1:-1:-1;;;;;;;;;;;11725:48:0;10376:3:1;10361:19;11725:48:0::1;;;;;;;;-1:-1:-1::0;8546:1:0;9498:22;;11001:780::o;12012:420::-;8590:1;9186:7;;:19;9178:63;;;;-1:-1:-1;;;9178:63:0;;;;;;;:::i;:::-;8590:1;9319:7;:18;12089:10;12081:62:::1;;;::::0;-1:-1:-1;;;12081:62:0;;10638:2:1;12081:62:0::1;::::0;::::1;10620:21:1::0;10677:2;10657:18;;;10650:30;10716:34;10696:18;;;10689:62;-1:-1:-1;;;10767:18:1;;;10760:37;10814:19;;12081:62:0::1;10436:403:1::0;12081:62:0::1;12154:7;::::0;:55:::1;::::0;-1:-1:-1;;;12154:55:0;;12175:10:::1;12154:55;::::0;::::1;11084:34:1::0;12195:4:0::1;11134:18:1::0;;;11127:43;11186:18;;;11179:34;;;-1:-1:-1;;;;;12154:7:0;;::::1;::::0;:20:::1;::::0;11019:18:1;;12154:55:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12258:6;12239:16;;:25;;;;:::i;:::-;12220:16;:44:::0;12280:79:::1;::::0;;11436:21:1;;;11493:2;11473:18;;;11466:30;11532:34;11527:2;11512:18;;11505:62;11604:26;11598:3;11583:19;;11576:55;12348:10:0::1;11698:4:1::0;11683:20;;11676:62;12280:79:0;;-1:-1:-1;;;;;;;;;;;12280:79:0;;;;11663:3:1;12280:79:0;;::::1;12375:49;::::0;;11961:21:1;;;12018:2;11998:18;;;11991:30;;;;12057:34;12052:2;12037:18;;12030:62;-1:-1:-1;;;12123:3:1;12108:19;;12101:34;12202:4;12187:20;;12180:36;;;-1:-1:-1;;;;;;;;;;;12375:49:0;12167:3:1;12152:19;12375:49:0::1;11749:473:1::0;10439:554:0;8590:1;9186:7;;:19;9178:63;;;;-1:-1:-1;;;9178:63:0;;;;;;;:::i;:::-;8590:1;9319:7;:18;10514:14:::1;::::0;::::1;;10506:48;;;::::0;-1:-1:-1;;;10506:48:0;;12429:2:1;10506:48:0::1;::::0;::::1;12411:21:1::0;12468:2;12448:18;;;12441:30;-1:-1:-1;;;12487:18:1;;;12480:51;12548:18;;10506:48:0::1;12227:345:1::0;10506:48:0::1;10567:7;::::0;:55:::1;::::0;-1:-1:-1;;;10567:55:0;;10588:10:::1;10567:55;::::0;::::1;11084:34:1::0;10608:4:0::1;11134:18:1::0;;;11127:43;11186:18;;;11179:34;;;-1:-1:-1;;;;;10567:7:0;;::::1;::::0;:20:::1;::::0;11019:18:1;;10567:55:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10683:6;10658:22;;:31;;;;:::i;:::-;10633:22;:56:::0;10751:10:::1;10742:20;::::0;;;:8:::1;:20;::::0;;;;:39;:48:::1;::::0;10784:6;;10742:48:::1;:::i;:::-;10709:10;10700:20;::::0;;;:8:::1;:20;::::0;;;;;;;;:90;;;10801:28:::1;::::0;;::::1;:36:::0;;-1:-1:-1;;10801:36:0::1;::::0;;10853:71;;12789:21:1;;;12846:2;12826:18;;;12819:30;12885:34;12880:2;12865:18;;12858:62;-1:-1:-1;;;12951:3:1;12936:19;;12929:47;13028:20;;;13021:62;;;;10853:71:0;-1:-1:-1;;;;;;;;;;;10853:71:0;;;;13008:3:1;10853:71:0;;::::1;10940:45;::::0;;13306:21:1;;;13363:2;13343:18;;;13336:30;;;;13402:33;13397:2;13382:18;;13375:61;13503:4;13488:20;;13481:36;;;-1:-1:-1;;;;;;;;;;;10940:45:0;13468:3:1;13453:19;10940:45:0::1;13094:429:1::0;6151:94:0;5545:7;5572:6;-1:-1:-1;;;;;5572:6:0;4428:10;5720:23;5712:68;;;;-1:-1:-1;;;5712:68:0;;;;;;;:::i;:::-;6216:21:::1;6234:1;6216:9;:21::i;:::-;6151:94::o:0;11789:215::-;-1:-1:-1;;;;;11877:17:0;;11854:7;11877:17;;;:8;:17;;;;;:25;;;;;11874:64;;;-1:-1:-1;11925:1:0;;11789:215;-1:-1:-1;11789:215:0:o;11874:64::-;-1:-1:-1;;;;;11955:17:0;;;;;;:8;:17;;;;;:36;:41;;11994:2;11955:41;:::i;:::-;11948:48;11789:215;-1:-1:-1;;11789:215:0:o;14088:292::-;5545:7;5572:6;-1:-1:-1;;;;;5572:6:0;4428:10;5720:23;5712:68;;;;-1:-1:-1;;;5712:68:0;;;;;;;:::i;:::-;14188:10:::1;14179:20;::::0;;;:8:::1;:20;::::0;;;;:28:::1;::::0;;::::1;::::0;::::1;;:36;;;14171:84;;;::::0;-1:-1:-1;;;14171:84:0;;13730:2:1;14171:84:0::1;::::0;::::1;13712:21:1::0;13769:2;13749:18;;;13742:30;13808:34;13788:18;;;13781:62;-1:-1:-1;;;13859:18:1;;;13852:33;13902:19;;14171:84:0::1;13528:399:1::0;14171:84:0::1;-1:-1:-1::0;;;;;14266:17:0;::::1;;::::0;;;:8:::1;:17;::::0;;;;;;;;:25:::1;;:35:::0;;-1:-1:-1;;14266:35:0::1;::::0;::::1;;;::::0;;14317:55;;14144:21:1;;;14181:18;;;14174:30;;;14240:34;14235:2;14220:18;;14213:62;14361:10:0::1;14327:18:1::0;;;14320:60;-1:-1:-1;;;;;;;;;;;14317:55:0;14307:3:1;14292:19;14317:55:0::1;;;;;;;14088:292:::0;;:::o;6401:229::-;5545:7;5572:6;-1:-1:-1;;;;;5572:6:0;4428:10;5720:23;5712:68;;;;-1:-1:-1;;;5712:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6504:22:0;::::1;6482:110;;;::::0;-1:-1:-1;;;6482:110:0;;14593:2:1;6482:110:0::1;::::0;::::1;14575:21:1::0;14632:2;14612:18;;;14605:30;14671:34;14651:18;;;14644:62;-1:-1:-1;;;14722:18:1;;;14715:36;14768:19;;6482:110:0::1;14391:402:1::0;6482:110:0::1;6603:19;6613:8;6603:9;:19::i;:::-;6401:229:::0;:::o;13233:298::-;5545:7;5572:6;-1:-1:-1;;;;;5572:6:0;4428:10;5720:23;5712:68;;;;-1:-1:-1;;;5712:68:0;;;;;;;:::i;:::-;13284:7:::1;::::0;13313:32:::1;::::0;-1:-1:-1;;;13313:32:0;;13339:4:::1;13313:32;::::0;::::1;173:51:1::0;-1:-1:-1;;;;;13284:7:0;;::::1;::::0;:16:::1;::::0;13301:10:::1;::::0;13284:7;;13313:17:::1;::::0;146:18:1;;13313:32:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13284:62;::::0;-1:-1:-1;;;;;;13284:62:0::1;::::0;;;;;;-1:-1:-1;;;;;4025:32:1;;;13284:62:0::1;::::0;::::1;4007:51:1::0;4074:18;;;4067:34;3980:18;;13284:62:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;13362:69:0::1;::::0;;15010:21:1;;;15067:2;15047:18;;;15040:30;15106:34;15101:2;15086:18;;15079:62;-1:-1:-1;;;15172:3:1;15157:19;;15150:45;13420:10:0::1;15262:4:1::0;15247:20;;15240:62;13362:69:0;;-1:-1:-1;;;;;;;;;;;13362:69:0;;;;15227:3:1;13362:69:0;;::::1;13490:7;::::0;:32:::1;::::0;-1:-1:-1;;;13490:32:0;;13516:4:::1;13490:32;::::0;::::1;173:51:1::0;-1:-1:-1;;;;;;;;;;;13447:76:0;-1:-1:-1;;;;;13490:7:0::1;::::0;:17:::1;::::0;146:18:1;;13490:32:0::1;14:216:1::0;6759:173:0;6815:16;6834:6;;-1:-1:-1;;;;;6851:17:0;;;-1:-1:-1;;;;;;6851:17:0;;;;;;6884:40;;6834:6;;;;;;;6884:40;;6815:16;6884:40;6804:128;6759:173;:::o;235::1:-;303:20;;-1:-1:-1;;;;;352:31:1;;342:42;;332:70;;398:1;395;388:12;332:70;235:173;;;:::o;413:186::-;472:6;525:2;513:9;504:7;500:23;496:32;493:52;;;541:1;538;531:12;493:52;564:29;583:9;564:29;:::i;:::-;554:39;413:186;-1:-1:-1;;;413:186:1:o;867:334::-;944:6;952;960;1013:2;1001:9;992:7;988:23;984:32;981:52;;;1029:1;1026;1019:12;981:52;1052:29;1071:9;1052:29;:::i;:::-;1042:39;;1100:38;1134:2;1123:9;1119:18;1100:38;:::i;:::-;1090:48;;1157:38;1191:2;1180:9;1176:18;1157:38;:::i;:::-;1147:48;;867:334;;;;;:::o;1388:180::-;1447:6;1500:2;1488:9;1479:7;1475:23;1471:32;1468:52;;;1516:1;1513;1506:12;1468:52;-1:-1:-1;1539:23:1;;1388:180;-1:-1:-1;1388:180:1:o;1973:118::-;2059:5;2052:13;2045:21;2038:5;2035:32;2025:60;;2081:1;2078;2071:12;2096:315;2161:6;2169;2222:2;2210:9;2201:7;2197:23;2193:32;2190:52;;;2238:1;2235;2228:12;2190:52;2261:29;2280:9;2261:29;:::i;:::-;2251:39;;2340:2;2329:9;2325:18;2312:32;2353:28;2375:5;2353:28;:::i;:::-;2400:5;2390:15;;;2096:315;;;;;:::o;2416:356::-;2618:2;2600:21;;;2637:18;;;2630:30;2696:34;2691:2;2676:18;;2669:62;2763:2;2748:18;;2416:356::o;3644:184::-;3714:6;3767:2;3755:9;3746:7;3742:23;3738:32;3735:52;;;3783:1;3780;3773:12;3735:52;-1:-1:-1;3806:16:1;;3644:184;-1:-1:-1;3644:184:1:o;4112:245::-;4179:6;4232:2;4220:9;4211:7;4207:23;4203:32;4200:52;;;4248:1;4245;4238:12;4200:52;4280:9;4274:16;4299:28;4321:5;4299:28;:::i;6632:411::-;6834:2;6816:21;;;6873:2;6853:18;;;6846:30;6912:34;6907:2;6892:18;;6885:62;-1:-1:-1;;;6978:2:1;6963:18;;6956:45;7033:3;7018:19;;6632:411::o;7504:355::-;7706:2;7688:21;;;7745:2;7725:18;;;7718:30;7784:33;7779:2;7764:18;;7757:61;7850:2;7835:18;;7504:355::o;8921:127::-;8982:10;8977:3;8973:20;8970:1;8963:31;9013:4;9010:1;9003:15;9037:4;9034:1;9027:15;9053:168;9093:7;9159:1;9155;9151:6;9147:14;9144:1;9141:21;9136:1;9129:9;9122:17;9118:45;9115:71;;;9166:18;;:::i;:::-;-1:-1:-1;9206:9:1;;9053:168::o;9226:125::-;9266:4;9294:1;9291;9288:8;9285:34;;;9299:18;;:::i;:::-;-1:-1:-1;9336:9:1;;9226:125::o;9356:128::-;9396:3;9427:1;9423:6;9420:1;9417:13;9414:39;;;9433:18;;:::i;:::-;-1:-1:-1;9469:9:1;;9356:128::o
Swarm Source
ipfs://df4903c1aadfbde3d99c6e1c839af70d36d479088f53791c38bf341a4f536c97
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.