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
TokenTracker
Latest 1 from a total of 1 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
0x60806040 | 21086368 | 22 days ago | IN | 0 ETH | 0.02891065 |
Advanced mode: Intended for advanced users or developers and will display all Internal Transactions including zero value transfers. Name tag integration is not available in advanced view.
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | ||||
---|---|---|---|---|---|---|---|
21249922 | 43 mins ago | 0 ETH | |||||
21236274 | 46 hrs ago | 0 ETH | |||||
21236274 | 46 hrs ago | 0 ETH | |||||
21236274 | 46 hrs ago | 0 ETH | |||||
21234867 | 2 days ago | 0 ETH | |||||
21220052 | 4 days ago | 0 ETH | |||||
21220052 | 4 days ago | 0 ETH | |||||
21220052 | 4 days ago | 0 ETH | |||||
21220052 | 4 days ago | 0 ETH | |||||
21220046 | 4 days ago | 0 ETH | |||||
21217884 | 4 days ago | 0 ETH | |||||
21217807 | 4 days ago | 0 ETH | |||||
21217807 | 4 days ago | 0 ETH | |||||
21217226 | 4 days ago | 0 ETH | |||||
21217226 | 4 days ago | 0 ETH | |||||
21215580 | 4 days ago | 0 ETH | |||||
21215580 | 4 days ago | 0 ETH | |||||
21212562 | 5 days ago | 0 ETH | |||||
21212562 | 5 days ago | 0 ETH | |||||
21212562 | 5 days ago | 0 ETH | |||||
21212562 | 5 days ago | 0 ETH | |||||
21212562 | 5 days ago | 0 ETH | |||||
21212562 | 5 days ago | 0 ETH | |||||
21212562 | 5 days ago | 0 ETH | |||||
21212562 | 5 days ago | 0 ETH |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
GASEVO_20241029_1
Compiler Version
v0.8.26+commit.8a97fa7a
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-10-31 */ // SPDX-License-Identifier: MIT // Latest update: 2024-01-22 pragma solidity ^0.8.0; abstract contract Ownable { event OwnershipTransferred(address indexed oldOwner, address indexed newOwner); address public owner; constructor() { owner = msg.sender; } modifier onlyOwner { require(owner == msg.sender, "Not Owner!"); _; } function transferOwnership(address new_) external { address _oldOwner = owner; require(_oldOwner == msg.sender, "Not Owner!"); owner = new_; emit OwnershipTransferred(_oldOwner, new_); } // Proxy Padding bytes32[50] private proxyPadding; } abstract contract Minterable is Ownable { event MinterableSet(address indexed operator, address indexed minter, bool isMinter); mapping(address => bool) public minters; modifier onlyMinter { require(minters[msg.sender], "Not Minter!"); _; } function setMinter(address address_, bool bool_) external onlyOwner { minters[address_] = bool_; emit MinterableSet(msg.sender, address_, bool_); } // Proxy Padding bytes32[50] private proxyPadding; } // The GSM version of G contract ERC721GSM { // ERC721-Standard Events event Transfer(address indexed from, address indexed to, uint256 indexed tokenId); event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId); event ApprovalForAll(address indexed owner, address indexed operator, bool approved); // ERC721-Standard Token Info string public name; string public symbol; // ERC721-Standard Constructor constructor(string memory name_, string memory symbol_) { name = name_; symbol = symbol_; } // ERC721G Data Structures struct OwnerStruct { address owner; uint32 lastTransfer; uint32 stakeTimestamp; uint32 totalTimeStaked; } struct BalanceStruct { uint32 balance; uint32 mintedAmount; // Free Bytes } // ERC721G Data Mappings mapping(uint256 => OwnerStruct) public _tokenData; mapping(address => BalanceStruct) public _balanceData; // ERC721-Standard Approval Mappings mapping(uint256 => address) public getApproved; mapping(address => mapping(address => bool)) public isApprovedForAll; // Time Tools by 0xInuarashi function _getBlockTimestampCompressed() internal view returns (uint32) { return uint32(block.timestamp / 10); } // ERC721-Compliant Standard Reads function ownerOf(uint256 tokenId_) public virtual view returns (address) { return _tokenData[tokenId_].owner; } function balanceOf(address address_) public view returns (uint256) { return _balanceData[address_].balance; } // ERC721-Style Internal Functions function _mint(address to_, uint256 tokenId_) internal virtual { require(to_ != address(0), "_mint: target == 0x0"); require(_tokenData[tokenId_].owner == address(0), "_mint: token exists"); uint32 _currentTime = _getBlockTimestampCompressed(); _tokenData[tokenId_] = OwnerStruct(to_, _currentTime, 0, 0); unchecked { _balanceData[to_].balance++; _balanceData[to_].mintedAmount++; // Increment Total Supply totalSupply++; } emit Transfer(address(0), to_, tokenId_); } function _transfer(address from_, address to_, uint256 tokenId_) internal virtual { require(from_ == ownerOf(tokenId_), "_transfer from_ != ownerOf"); require(to_ != address(0), "_transfer to_ == 0x0"); delete getApproved[tokenId_]; _tokenData[tokenId_].owner = to_; _tokenData[tokenId_].lastTransfer = _getBlockTimestampCompressed(); unchecked { _balanceData[from_].balance--; _balanceData[to_].balance++; } emit Transfer(from_, to_, tokenId_); } // ERC721-Standard Non-Modified Functions function _isApprovedOrOwner(address spender_, uint256 tokenId_) internal view virtual returns (bool) { address _owner = ownerOf(tokenId_); return (_owner == spender_ || getApproved[tokenId_] == spender_ || isApprovedForAll[_owner][spender_]); } function _approve(address to_, uint256 tokenId_) internal virtual { getApproved[tokenId_] = to_; emit Approval(ownerOf(tokenId_), to_, tokenId_); } function approve(address to_, uint256 tokenId_) public virtual { address _owner = ownerOf(tokenId_); require(_owner == msg.sender || isApprovedForAll[_owner][msg.sender], "ERC721G: approve not authorized"); _approve(to_, tokenId_); } function _setApprovalForAll(address owner_, address operator_, bool approved_) internal virtual { isApprovedForAll[owner_][operator_] = approved_; emit ApprovalForAll(owner_, operator_, approved_); } function setApprovalForAll(address operator_, bool approved_) public virtual { _setApprovalForAll(msg.sender, operator_, approved_); } function _exists(uint256 tokenId_) internal virtual view returns (bool) { return ownerOf(tokenId_) != address(0); } function transferFrom(address from_, address to_, uint256 tokenId_) public virtual { require(_isApprovedOrOwner(msg.sender, tokenId_), "ERC721G: transferFrom unauthorized"); _transfer(from_, to_, tokenId_); } function safeTransferFrom(address from_, address to_, uint256 tokenId_, bytes memory data_) public virtual { transferFrom(from_, to_, tokenId_); if (to_.code.length != 0) { (, bytes memory _returned) = to_.call(abi.encodeWithSelector( 0x150b7a02, msg.sender, from_, tokenId_, data_)); bytes4 _selector = abi.decode(_returned, (bytes4)); require(_selector == 0x150b7a02, "ERC721G: safeTransferFrom to_ non-ERC721Receivable!"); } } function safeTransferFrom(address from_, address to_, uint256 tokenId_) public virtual { safeTransferFrom(from_, to_, tokenId_, ""); } function supportsInterface(bytes4 iid_) public virtual view returns (bool) { return iid_ == 0x01ffc9a7 || iid_ == 0x80ac58cd || iid_ == 0x5b5e139f || iid_ == 0x7f5828d0; } function _toString(uint256 value_) internal pure returns (string memory) { if (value_ == 0) { return "0"; } uint256 _iterate = value_; uint256 _digits; while (_iterate != 0) { _digits++; _iterate /= 10; } bytes memory _buffer = new bytes(_digits); while (value_ != 0) { _digits--; _buffer[_digits] = bytes1(uint8( 48 + uint256(value_ % 10 ))); value_ /= 10; } return string(_buffer); } function tokenURI(uint256 tokenId_) public virtual view returns (string memory) { return string(abi.encodePacked( "https://gangsterallstar.nonfungiblecdn.com/gangsterallstar/metadata/", _toString(tokenId_) )); } // ERC721-Additional NFT Info uint256 public totalSupply; // Proxy Padding bytes32[49] private proxyPadding; } contract ERC721GSMStake is ERC721GSM { // First, we do constructor-compliant to ERC721GSM constructor(string memory name_, string memory symbol_) ERC721GSM(name_, symbol_) {} // Then, we create some additional helper functions for staking function stakingAddress() public view returns (address) { return address(this); } function _compressTimestamp(uint256 timestamp_) internal pure returns (uint32) { return uint32(timestamp_ / 10); } function _expandTimestamp(uint32 timestamp_) internal pure returns (uint256) { return uint256(timestamp_ * 10); } function _getTokenDataOf(uint256 tokenId_) internal view returns (OwnerStruct memory) { return _tokenData[tokenId_]; } function _trueOwnerOf(uint256 tokenId_) internal view returns (address) { return _getTokenDataOf(tokenId_).owner; } // Next, we override the required functions for Staking functionality function ownerOf(uint256 tokenId_) public view override returns (address) { OwnerStruct memory _OwnerStruct = _getTokenDataOf(tokenId_); return _OwnerStruct.stakeTimestamp == 0 ? _OwnerStruct.owner : stakingAddress(); } // Finally, we add additional functions to enable staking function _mintAndStake(address to_, uint256 tokenId_) internal { require(to_ != address(0), "_mint: target == 0x0"); require(_tokenData[tokenId_].owner == address(0), "_mint: token exists"); uint32 _currentTime = _getBlockTimestampCompressed(); _tokenData[tokenId_] = OwnerStruct(to_, _currentTime, _currentTime, 0); unchecked { _balanceData[stakingAddress()].balance++; _balanceData[to_].mintedAmount++; // Increment Total Supply totalSupply++; } emit Transfer(address(0), to_, tokenId_); emit Transfer(to_, stakingAddress(), tokenId_); } function _setStakeTimestamp(uint256 tokenId_, uint256 timestamp_) internal returns (address) { OwnerStruct memory _OwnerStruct = _getTokenDataOf(tokenId_); address _owner = _OwnerStruct.owner; uint32 _stakeTimestamp = _OwnerStruct.stakeTimestamp; require(_owner != address(0), "_setStakeTimestamp: token does not exist"); if (timestamp_ > 0) { require(_stakeTimestamp == 0, "_setStakeTimestamp: already staked"); unchecked { // Rebalance the balances of owner and stakingAddress _balanceData[_owner].balance--; _balanceData[stakingAddress()].balance++; } emit Transfer(_owner, stakingAddress(), tokenId_); } else { require(_stakeTimestamp != 0, "_setStakeTimestamp: already unstaked"); uint32 _timeStaked = _getBlockTimestampCompressed() - _stakeTimestamp; _tokenData[tokenId_].totalTimeStaked += _timeStaked; unchecked { _balanceData[stakingAddress()].balance--; _balanceData[_owner].balance++; } emit Transfer(stakingAddress(), _owner, tokenId_); } _tokenData[tokenId_].stakeTimestamp = _compressTimestamp(timestamp_); return _owner; } function _stake(uint256 tokenId_) internal virtual returns (address) { return _setStakeTimestamp(tokenId_, block.timestamp); } function _unstake(uint256 tokenId_) internal virtual returns (address) { return _setStakeTimestamp(tokenId_, 0); } // Proxy Padding bytes32[50] private proxyPadding; } contract GASEVO_20241029_1 is ERC721GSMStake, Minterable { constructor() ERC721GSMStake("Gangster All Star: Gangsters Evolution", "GAS:GANG") { proxyInitialize(msg.sender); } // Proxy Initializer Logic bool proxyIsInitialized; function proxyInitialize(address newOwner) public { require(!proxyIsInitialized); proxyIsInitialized = true; // Hardcode owner = newOwner; name = "Gangster All Star: Gangsters Evolution"; symbol = "GAS:GANG"; } function setTotalSupply(uint256 totalSupply_) external onlyOwner { totalSupply = totalSupply_; } function mintAsController(address to_, uint256 tokenId_) external onlyMinter { _mint(to_, tokenId_); } // Admin Functions (added at 2024-01-22) function adminTransferFrom(address from_, address to_, uint256[] calldata tokenIds_) external onlyOwner { for (uint256 i; i < tokenIds_.length;) { _transfer(from_, to_, tokenIds_[i]); unchecked { ++i; } } } // Here, we need to jam transfers and turn the token into SBT function _transfer(address, address, uint256) internal virtual override(ERC721GSM) { revert("Soulbound"); } // Proxy Padding bytes32[50] private proxyPadding; }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"minter","type":"address"},{"indexed":false,"internalType":"bool","name":"isMinter","type":"bool"}],"name":"MinterableSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_balanceData","outputs":[{"internalType":"uint32","name":"balance","type":"uint32"},{"internalType":"uint32","name":"mintedAmount","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"_tokenData","outputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint32","name":"lastTransfer","type":"uint32"},{"internalType":"uint32","name":"stakeTimestamp","type":"uint32"},{"internalType":"uint32","name":"totalTimeStaked","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from_","type":"address"},{"internalType":"address","name":"to_","type":"address"},{"internalType":"uint256[]","name":"tokenIds_","type":"uint256[]"}],"name":"adminTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to_","type":"address"},{"internalType":"uint256","name":"tokenId_","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"address_","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to_","type":"address"},{"internalType":"uint256","name":"tokenId_","type":"uint256"}],"name":"mintAsController","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"minters","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId_","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"proxyInitialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from_","type":"address"},{"internalType":"address","name":"to_","type":"address"},{"internalType":"uint256","name":"tokenId_","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from_","type":"address"},{"internalType":"address","name":"to_","type":"address"},{"internalType":"uint256","name":"tokenId_","type":"uint256"},{"internalType":"bytes","name":"data_","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator_","type":"address"},{"internalType":"bool","name":"approved_","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"address_","type":"address"},{"internalType":"bool","name":"bool_","type":"bool"}],"name":"setMinter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"totalSupply_","type":"uint256"}],"name":"setTotalSupply","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stakingAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"iid_","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId_","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from_","type":"address"},{"internalType":"address","name":"to_","type":"address"},{"internalType":"uint256","name":"tokenId_","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"new_","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561000f575f80fd5b50604051806060016040528060268152602001611857602691396040805180820190915260088152674741533a47414e4760c01b602082015281815f61005583826101b1565b50600161006282826101b1565b5050606a80546001600160a01b03191633908117909155610086935091505061008b565b61026b565b60d05460ff161561009a575f80fd5b60d0805460ff19166001179055606a80546001600160a01b0383166001600160a01b03199091161790556040805160608101909152602680825261185760208301395f906100e890826101b1565b506040805180820190915260088152674741533a47414e4760c01b602082015260019061011590826101b1565b5050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061014157607f821691505b60208210810361015f57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156101ac57805f5260205f20601f840160051c8101602085101561018a5750805b601f840160051c820191505b818110156101a9575f8155600101610196565b50505b505050565b81516001600160401b038111156101ca576101ca610119565b6101de816101d8845461012d565b84610165565b6020601f821160018114610210575f83156101f95750848201515b5f19600385901b1c1916600184901b1784556101a9565b5f84815260208120601f198516915b8281101561023f578785015182556020948501946001909201910161021f565b508482101561025c57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b6115df806102785f395ff3fe608060405234801561000f575f80fd5b506004361061016d575f3560e01c80638da5cb5b116100d9578063ca7ea52111610093578063e985e9c51161006e578063e985e9c5146103f7578063f2fde38b14610424578063f46eccc414610437578063f7ea7a3d14610459575f80fd5b8063ca7ea521146103cb578063cf456ae7146103de578063d7b4be24146103f1575f80fd5b80638da5cb5b1461036457806395d89b4114610377578063a22cb4651461037f578063b88d4fde14610392578063bd5404a8146103a5578063c87b56dd146103b8575f80fd5b806323b872dd1161012a57806323b872dd1461022d5780632c2cdd601461024057806342842e0e146102c25780635266069d146102d55780636352211e1461032357806370a0823114610336575f80fd5b806301ffc9a71461017157806306fdde0314610199578063081812fc146101ae578063095ea7b3146101ee578063153db98a1461020357806318160ddd14610216575b5f80fd5b61018461017f366004610fb9565b61046c565b60405190151581526020015b60405180910390f35b6101a16104d8565b6040516101909190611002565b6101d66101bc366004611014565b60046020525f90815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001610190565b6102016101fc366004611046565b610563565b005b610201610211366004611046565b610608565b61021f60065481565b604051908152602001610190565b61020161023b36600461106e565b610662565b61028c61024e366004611014565b60026020525f90815260409020546001600160a01b0381169063ffffffff600160a01b8204811691600160c01b8104821691600160e01b9091041684565b604080516001600160a01b03909516855263ffffffff938416602086015291831691840191909152166060820152608001610190565b6102016102d036600461106e565b6106ce565b6103066102e33660046110a8565b60036020525f908152604090205463ffffffff8082169164010000000090041682565b6040805163ffffffff938416815292909116602083015201610190565b6101d6610331366004611014565b6106e8565b61021f6103443660046110a8565b6001600160a01b03165f9081526003602052604090205463ffffffff1690565b606a546101d6906001600160a01b031681565b6101a1610775565b61020161038d3660046110c1565b610782565b6102016103a036600461110e565b61078d565b6102016103b33660046110a8565b6108e6565b6101a16103c6366004611014565b610970565b6102016103d93660046111eb565b6109a1565b6102016103ec3660046110c1565b610a07565b306101d6565b610184610405366004611278565b600560209081525f928352604080842090915290825290205460ff1681565b6102016104323660046110a8565b610a91565b6101846104453660046110a8565b609d6020525f908152604090205460ff1681565b610201610467366004611014565b610b0c565b5f6301ffc9a760e01b6001600160e01b03198316148061049c57506380ac58cd60e01b6001600160e01b03198316145b806104b75750635b5e139f60e01b6001600160e01b03198316145b806104d257506307f5828d60e41b6001600160e01b03198316145b92915050565b5f80546104e4906112a9565b80601f0160208091040260200160405190810160405280929190818152602001828054610510906112a9565b801561055b5780601f106105325761010080835404028352916020019161055b565b820191905f5260205f20905b81548152906001019060200180831161053e57829003601f168201915b505050505081565b5f61056d826106e8565b90506001600160a01b0381163314806105a857506001600160a01b0381165f90815260056020908152604080832033845290915290205460ff165b6105f95760405162461bcd60e51b815260206004820152601f60248201527f455243373231473a20617070726f7665206e6f7420617574686f72697a65640060448201526064015b60405180910390fd5b6106038383610b3b565b505050565b335f908152609d602052604090205460ff166106545760405162461bcd60e51b815260206004820152600b60248201526a4e6f74204d696e7465722160a81b60448201526064016105f0565b61065e8282610ba8565b5050565b61066c3382610d76565b6106c35760405162461bcd60e51b815260206004820152602260248201527f455243373231473a207472616e7366657246726f6d20756e617574686f72697a604482015261195960f21b60648201526084016105f0565b610603838383610df2565b61060383838360405180602001604052805f81525061078d565b60408051608080820183525f808352602080840182905283850182905260609384018290528582526002815284822085519384018652546001600160a01b038116845263ffffffff600160a01b8204811692850192909252600160c01b81048216958401869052600160e01b9004169282019290925290911561076b573061076e565b80515b9392505050565b600180546104e4906112a9565b61065e338383610e26565b610798848484610662565b6001600160a01b0383163b156108e0575f836001600160a01b031663150b7a02338786866040516024016107cf94939291906112e1565b6040516020818303038152906040529060e01b6020820180516001600160e01b0383818316178352505050506040516108089190611334565b5f604051808303815f865af19150503d805f8114610841576040519150601f19603f3d011682016040523d82523d5f602084013e610846565b606091505b509150505f8180602001905181019061085f919061133f565b9050630a85bd0160e11b6001600160e01b03198216146108dd5760405162461bcd60e51b815260206004820152603360248201527f455243373231473a20736166655472616e7366657246726f6d20746f5f206e6f6044820152726e2d45524337323152656365697661626c652160681b60648201526084016105f0565b50505b50505050565b60d05460ff16156108f5575f80fd5b60d0805460ff19166001179055606a80546001600160a01b0383166001600160a01b03199091161790556040805160608101909152602680825261158460208301395f90610943908261139e565b506040805180820190915260088152674741533a47414e4760c01b602082015260019061065e908261139e565b606061097b82610e92565b60405160200161098b9190611459565b6040516020818303038152906040529050919050565b606a546001600160a01b031633146109cb5760405162461bcd60e51b81526004016105f0906114bd565b5f5b81811015610a00576109f885858585858181106109ec576109ec6114e1565b90506020020135610df2565b6001016109cd565b5050505050565b606a546001600160a01b03163314610a315760405162461bcd60e51b81526004016105f0906114bd565b6001600160a01b0382165f818152609d6020908152604091829020805460ff1916851515908117909155915191825233917fe0ae214c70c4ca946800c76d1eed7b46d1fb9770b2e5c1aa1218cb46b4d7f8f2910160405180910390a35050565b606a546001600160a01b0316338114610abc5760405162461bcd60e51b81526004016105f0906114bd565b606a80546001600160a01b0319166001600160a01b0384811691821790925560405190918316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b606a546001600160a01b03163314610b365760405162461bcd60e51b81526004016105f0906114bd565b600655565b5f81815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610b6f826106e8565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6001600160a01b038216610bf55760405162461bcd60e51b815260206004820152601460248201527305f6d696e743a20746172676574203d3d203078360641b60448201526064016105f0565b5f818152600260205260409020546001600160a01b031615610c4f5760405162461bcd60e51b81526020600482015260136024820152725f6d696e743a20746f6b656e2065786973747360681b60448201526064016105f0565b5f610c58610f90565b604080516080810182526001600160a01b0380871680835263ffffffff80861660208086019182525f868801818152606088018281528c835260028452898320985189549551925191518716600160e01b026001600160e01b03928816600160c01b02929092166001600160c01b03938816600160a01b026001600160c01b0319909716919099161794909417169590951791909117909455818352600390935283822080546401000000008186166001908101871663ffffffff19841681178390048816820190971690910267ffffffffffffffff1990921690951717905560068054909301909255915192935084929091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a4505050565b5f80610d81836106e8565b9050836001600160a01b0316816001600160a01b03161480610dbb57505f838152600460205260409020546001600160a01b038581169116145b80610dea57506001600160a01b038082165f9081526005602090815260408083209388168352929052205460ff165b949350505050565b60405162461bcd60e51b815260206004820152600960248201526814dbdd5b189bdd5b9960ba1b60448201526064016105f0565b6001600160a01b038381165f81815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6060815f03610eb85750506040805180820190915260018152600360fc1b602082015290565b815f5b8115610ee15780610ecb81611509565b9150610eda9050600a83611535565b9150610ebb565b5f8167ffffffffffffffff811115610efb57610efb6110fa565b6040519080825280601f01601f191660200182016040528015610f25576020820181803683370190505b5090505b8415610dea5781610f3981611548565b9250610f489050600a8661155d565b610f53906030611570565b60f81b818381518110610f6857610f686114e1565b60200101906001600160f81b03191690815f1a905350610f89600a86611535565b9450610f29565b5f610f9c600a42611535565b905090565b6001600160e01b031981168114610fb6575f80fd5b50565b5f60208284031215610fc9575f80fd5b813561076e81610fa1565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f61076e6020830184610fd4565b5f60208284031215611024575f80fd5b5035919050565b80356001600160a01b0381168114611041575f80fd5b919050565b5f8060408385031215611057575f80fd5b6110608361102b565b946020939093013593505050565b5f805f60608486031215611080575f80fd5b6110898461102b565b92506110976020850161102b565b929592945050506040919091013590565b5f602082840312156110b8575f80fd5b61076e8261102b565b5f80604083850312156110d2575f80fd5b6110db8361102b565b9150602083013580151581146110ef575f80fd5b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215611121575f80fd5b61112a8561102b565b93506111386020860161102b565b925060408501359150606085013567ffffffffffffffff81111561115a575f80fd5b8501601f8101871361116a575f80fd5b803567ffffffffffffffff811115611184576111846110fa565b604051601f8201601f19908116603f0116810167ffffffffffffffff811182821017156111b3576111b36110fa565b6040528181528282016020018910156111ca575f80fd5b816020840160208301375f6020838301015280935050505092959194509250565b5f805f80606085870312156111fe575f80fd5b6112078561102b565b93506112156020860161102b565b9250604085013567ffffffffffffffff811115611230575f80fd5b8501601f81018713611240575f80fd5b803567ffffffffffffffff811115611256575f80fd5b8760208260051b840101111561126a575f80fd5b949793965060200194505050565b5f8060408385031215611289575f80fd5b6112928361102b565b91506112a06020840161102b565b90509250929050565b600181811c908216806112bd57607f821691505b6020821081036112db57634e487b7160e01b5f52602260045260245ffd5b50919050565b6001600160a01b03858116825284166020820152604081018390526080606082018190525f9061131390830184610fd4565b9695505050505050565b5f81518060208401855e5f93019283525090919050565b5f61076e828461131d565b5f6020828403121561134f575f80fd5b815161076e81610fa1565b601f82111561060357805f5260205f20601f840160051c8101602085101561137f5750805b601f840160051c820191505b81811015610a00575f815560010161138b565b815167ffffffffffffffff8111156113b8576113b86110fa565b6113cc816113c684546112a9565b8461135a565b6020601f8211600181146113fe575f83156113e75750848201515b5f19600385901b1c1916600184901b178455610a00565b5f84815260208120601f198516915b8281101561142d578785015182556020948501946001909201910161140d565b508482101561144a57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b7f68747470733a2f2f67616e6773746572616c6c737461722e6e6f6e66756e676981527f626c6563646e2e636f6d2f67616e6773746572616c6c737461722f6d657461646020820152636174612f60e01b60408201525f61076e604483018461131d565b6020808252600a90820152694e6f74204f776e65722160b01b604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f6001820161151a5761151a6114f5565b5060010190565b634e487b7160e01b5f52601260045260245ffd5b5f8261154357611543611521565b500490565b5f81611556576115566114f5565b505f190190565b5f8261156b5761156b611521565b500690565b808201808211156104d2576104d26114f556fe47616e677374657220416c6c20537461723a2047616e6773746572732045766f6c7574696f6ea26469706673582212207c6ee49d403ef9917a50bb7421eef2d33eeb4aa9008eb150c498145d496b247264736f6c634300081a003347616e677374657220416c6c20537461723a2047616e6773746572732045766f6c7574696f6e
Deployed Bytecode
0x608060405234801561000f575f80fd5b506004361061016d575f3560e01c80638da5cb5b116100d9578063ca7ea52111610093578063e985e9c51161006e578063e985e9c5146103f7578063f2fde38b14610424578063f46eccc414610437578063f7ea7a3d14610459575f80fd5b8063ca7ea521146103cb578063cf456ae7146103de578063d7b4be24146103f1575f80fd5b80638da5cb5b1461036457806395d89b4114610377578063a22cb4651461037f578063b88d4fde14610392578063bd5404a8146103a5578063c87b56dd146103b8575f80fd5b806323b872dd1161012a57806323b872dd1461022d5780632c2cdd601461024057806342842e0e146102c25780635266069d146102d55780636352211e1461032357806370a0823114610336575f80fd5b806301ffc9a71461017157806306fdde0314610199578063081812fc146101ae578063095ea7b3146101ee578063153db98a1461020357806318160ddd14610216575b5f80fd5b61018461017f366004610fb9565b61046c565b60405190151581526020015b60405180910390f35b6101a16104d8565b6040516101909190611002565b6101d66101bc366004611014565b60046020525f90815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001610190565b6102016101fc366004611046565b610563565b005b610201610211366004611046565b610608565b61021f60065481565b604051908152602001610190565b61020161023b36600461106e565b610662565b61028c61024e366004611014565b60026020525f90815260409020546001600160a01b0381169063ffffffff600160a01b8204811691600160c01b8104821691600160e01b9091041684565b604080516001600160a01b03909516855263ffffffff938416602086015291831691840191909152166060820152608001610190565b6102016102d036600461106e565b6106ce565b6103066102e33660046110a8565b60036020525f908152604090205463ffffffff8082169164010000000090041682565b6040805163ffffffff938416815292909116602083015201610190565b6101d6610331366004611014565b6106e8565b61021f6103443660046110a8565b6001600160a01b03165f9081526003602052604090205463ffffffff1690565b606a546101d6906001600160a01b031681565b6101a1610775565b61020161038d3660046110c1565b610782565b6102016103a036600461110e565b61078d565b6102016103b33660046110a8565b6108e6565b6101a16103c6366004611014565b610970565b6102016103d93660046111eb565b6109a1565b6102016103ec3660046110c1565b610a07565b306101d6565b610184610405366004611278565b600560209081525f928352604080842090915290825290205460ff1681565b6102016104323660046110a8565b610a91565b6101846104453660046110a8565b609d6020525f908152604090205460ff1681565b610201610467366004611014565b610b0c565b5f6301ffc9a760e01b6001600160e01b03198316148061049c57506380ac58cd60e01b6001600160e01b03198316145b806104b75750635b5e139f60e01b6001600160e01b03198316145b806104d257506307f5828d60e41b6001600160e01b03198316145b92915050565b5f80546104e4906112a9565b80601f0160208091040260200160405190810160405280929190818152602001828054610510906112a9565b801561055b5780601f106105325761010080835404028352916020019161055b565b820191905f5260205f20905b81548152906001019060200180831161053e57829003601f168201915b505050505081565b5f61056d826106e8565b90506001600160a01b0381163314806105a857506001600160a01b0381165f90815260056020908152604080832033845290915290205460ff165b6105f95760405162461bcd60e51b815260206004820152601f60248201527f455243373231473a20617070726f7665206e6f7420617574686f72697a65640060448201526064015b60405180910390fd5b6106038383610b3b565b505050565b335f908152609d602052604090205460ff166106545760405162461bcd60e51b815260206004820152600b60248201526a4e6f74204d696e7465722160a81b60448201526064016105f0565b61065e8282610ba8565b5050565b61066c3382610d76565b6106c35760405162461bcd60e51b815260206004820152602260248201527f455243373231473a207472616e7366657246726f6d20756e617574686f72697a604482015261195960f21b60648201526084016105f0565b610603838383610df2565b61060383838360405180602001604052805f81525061078d565b60408051608080820183525f808352602080840182905283850182905260609384018290528582526002815284822085519384018652546001600160a01b038116845263ffffffff600160a01b8204811692850192909252600160c01b81048216958401869052600160e01b9004169282019290925290911561076b573061076e565b80515b9392505050565b600180546104e4906112a9565b61065e338383610e26565b610798848484610662565b6001600160a01b0383163b156108e0575f836001600160a01b031663150b7a02338786866040516024016107cf94939291906112e1565b6040516020818303038152906040529060e01b6020820180516001600160e01b0383818316178352505050506040516108089190611334565b5f604051808303815f865af19150503d805f8114610841576040519150601f19603f3d011682016040523d82523d5f602084013e610846565b606091505b509150505f8180602001905181019061085f919061133f565b9050630a85bd0160e11b6001600160e01b03198216146108dd5760405162461bcd60e51b815260206004820152603360248201527f455243373231473a20736166655472616e7366657246726f6d20746f5f206e6f6044820152726e2d45524337323152656365697661626c652160681b60648201526084016105f0565b50505b50505050565b60d05460ff16156108f5575f80fd5b60d0805460ff19166001179055606a80546001600160a01b0383166001600160a01b03199091161790556040805160608101909152602680825261158460208301395f90610943908261139e565b506040805180820190915260088152674741533a47414e4760c01b602082015260019061065e908261139e565b606061097b82610e92565b60405160200161098b9190611459565b6040516020818303038152906040529050919050565b606a546001600160a01b031633146109cb5760405162461bcd60e51b81526004016105f0906114bd565b5f5b81811015610a00576109f885858585858181106109ec576109ec6114e1565b90506020020135610df2565b6001016109cd565b5050505050565b606a546001600160a01b03163314610a315760405162461bcd60e51b81526004016105f0906114bd565b6001600160a01b0382165f818152609d6020908152604091829020805460ff1916851515908117909155915191825233917fe0ae214c70c4ca946800c76d1eed7b46d1fb9770b2e5c1aa1218cb46b4d7f8f2910160405180910390a35050565b606a546001600160a01b0316338114610abc5760405162461bcd60e51b81526004016105f0906114bd565b606a80546001600160a01b0319166001600160a01b0384811691821790925560405190918316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b606a546001600160a01b03163314610b365760405162461bcd60e51b81526004016105f0906114bd565b600655565b5f81815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610b6f826106e8565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6001600160a01b038216610bf55760405162461bcd60e51b815260206004820152601460248201527305f6d696e743a20746172676574203d3d203078360641b60448201526064016105f0565b5f818152600260205260409020546001600160a01b031615610c4f5760405162461bcd60e51b81526020600482015260136024820152725f6d696e743a20746f6b656e2065786973747360681b60448201526064016105f0565b5f610c58610f90565b604080516080810182526001600160a01b0380871680835263ffffffff80861660208086019182525f868801818152606088018281528c835260028452898320985189549551925191518716600160e01b026001600160e01b03928816600160c01b02929092166001600160c01b03938816600160a01b026001600160c01b0319909716919099161794909417169590951791909117909455818352600390935283822080546401000000008186166001908101871663ffffffff19841681178390048816820190971690910267ffffffffffffffff1990921690951717905560068054909301909255915192935084929091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a4505050565b5f80610d81836106e8565b9050836001600160a01b0316816001600160a01b03161480610dbb57505f838152600460205260409020546001600160a01b038581169116145b80610dea57506001600160a01b038082165f9081526005602090815260408083209388168352929052205460ff165b949350505050565b60405162461bcd60e51b815260206004820152600960248201526814dbdd5b189bdd5b9960ba1b60448201526064016105f0565b6001600160a01b038381165f81815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6060815f03610eb85750506040805180820190915260018152600360fc1b602082015290565b815f5b8115610ee15780610ecb81611509565b9150610eda9050600a83611535565b9150610ebb565b5f8167ffffffffffffffff811115610efb57610efb6110fa565b6040519080825280601f01601f191660200182016040528015610f25576020820181803683370190505b5090505b8415610dea5781610f3981611548565b9250610f489050600a8661155d565b610f53906030611570565b60f81b818381518110610f6857610f686114e1565b60200101906001600160f81b03191690815f1a905350610f89600a86611535565b9450610f29565b5f610f9c600a42611535565b905090565b6001600160e01b031981168114610fb6575f80fd5b50565b5f60208284031215610fc9575f80fd5b813561076e81610fa1565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f61076e6020830184610fd4565b5f60208284031215611024575f80fd5b5035919050565b80356001600160a01b0381168114611041575f80fd5b919050565b5f8060408385031215611057575f80fd5b6110608361102b565b946020939093013593505050565b5f805f60608486031215611080575f80fd5b6110898461102b565b92506110976020850161102b565b929592945050506040919091013590565b5f602082840312156110b8575f80fd5b61076e8261102b565b5f80604083850312156110d2575f80fd5b6110db8361102b565b9150602083013580151581146110ef575f80fd5b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215611121575f80fd5b61112a8561102b565b93506111386020860161102b565b925060408501359150606085013567ffffffffffffffff81111561115a575f80fd5b8501601f8101871361116a575f80fd5b803567ffffffffffffffff811115611184576111846110fa565b604051601f8201601f19908116603f0116810167ffffffffffffffff811182821017156111b3576111b36110fa565b6040528181528282016020018910156111ca575f80fd5b816020840160208301375f6020838301015280935050505092959194509250565b5f805f80606085870312156111fe575f80fd5b6112078561102b565b93506112156020860161102b565b9250604085013567ffffffffffffffff811115611230575f80fd5b8501601f81018713611240575f80fd5b803567ffffffffffffffff811115611256575f80fd5b8760208260051b840101111561126a575f80fd5b949793965060200194505050565b5f8060408385031215611289575f80fd5b6112928361102b565b91506112a06020840161102b565b90509250929050565b600181811c908216806112bd57607f821691505b6020821081036112db57634e487b7160e01b5f52602260045260245ffd5b50919050565b6001600160a01b03858116825284166020820152604081018390526080606082018190525f9061131390830184610fd4565b9695505050505050565b5f81518060208401855e5f93019283525090919050565b5f61076e828461131d565b5f6020828403121561134f575f80fd5b815161076e81610fa1565b601f82111561060357805f5260205f20601f840160051c8101602085101561137f5750805b601f840160051c820191505b81811015610a00575f815560010161138b565b815167ffffffffffffffff8111156113b8576113b86110fa565b6113cc816113c684546112a9565b8461135a565b6020601f8211600181146113fe575f83156113e75750848201515b5f19600385901b1c1916600184901b178455610a00565b5f84815260208120601f198516915b8281101561142d578785015182556020948501946001909201910161140d565b508482101561144a57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b7f68747470733a2f2f67616e6773746572616c6c737461722e6e6f6e66756e676981527f626c6563646e2e636f6d2f67616e6773746572616c6c737461722f6d657461646020820152636174612f60e01b60408201525f61076e604483018461131d565b6020808252600a90820152694e6f74204f776e65722160b01b604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f6001820161151a5761151a6114f5565b5060010190565b634e487b7160e01b5f52601260045260245ffd5b5f8261154357611543611521565b500490565b5f81611556576115566114f5565b505f190190565b5f8261156b5761156b611521565b500690565b808201808211156104d2576104d26114f556fe47616e677374657220416c6c20537461723a2047616e6773746572732045766f6c7574696f6ea26469706673582212207c6ee49d403ef9917a50bb7421eef2d33eeb4aa9008eb150c498145d496b247264736f6c634300081a0033
Deployed Bytecode Sourcemap
11242:1355:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6420:241;;;;;;:::i;:::-;;:::i;:::-;;;565:14:1;;558:22;540:41;;528:2;513:18;6420:241:0;;;;;;;;1557:18;;;:::i;:::-;;;;;;;:::i;2261:46::-;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;2261:46:0;;;;;;-1:-1:-1;;;;;1506:32:1;;;1488:51;;1476:2;1461:18;2261:46:0;1342:203:1;4611:300:0;;;;;;:::i;:::-;;:::i;:::-;;11910:116;;;;;;:::i;:::-;;:::i;7438:26::-;;;;;;;;;2179:25:1;;;2167:2;2152:18;7438:26:0;2033:177:1;5458:244:0;;;;;;:::i;:::-;;:::i;2101:49::-;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;2101:49:0;;;;-1:-1:-1;;;2101:49:0;;;;;-1:-1:-1;;;2101:49:0;;;;;-1:-1:-1;;;2101:49:0;;;;;;;;;;-1:-1:-1;;;;;2837:32:1;;;2819:51;;2918:10;2906:23;;;2901:2;2886:18;;2879:51;2966:23;;;2946:18;;;2939:51;;;;3026:23;3021:2;3006:18;;2999:51;2806:3;2791:19;2101:49:0;2594:462:1;6254:154:0;;;;;;:::i;:::-;;:::i;2157:53::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;3452:10:1;3440:23;;;3422:42;;3500:23;;;;3495:2;3480:18;;3473:51;3395:18;2157:53:0;3252:278:1;8521:242:0;;;;;;:::i;:::-;;:::i;2729:123::-;;;;;;:::i;:::-;-1:-1:-1;;;;;2814:22:0;2787:7;2814:22;;;:12;:22;;;;;:30;;;;2729:123;208:20;;;;;-1:-1:-1;;;;;208:20:0;;;1582;;;:::i;5157:148::-;;;;;;:::i;:::-;;:::i;5708:540::-;;;;;;:::i;:::-;;:::i;11505:279::-;;;;;;:::i;:::-;;:::i;7135:260::-;;;;;;:::i;:::-;;:::i;12080:255::-;;;;;;:::i;:::-;;:::i;912:170::-;;;;;;:::i;:::-;;:::i;7797:95::-;7879:4;7797:95;;2314:68;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;354:229;;;;;;:::i;:::-;;:::i;789:39::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;11792:110;;;;;;:::i;:::-;;:::i;6420:241::-;6489:4;-1:-1:-1;;;;;;;;;6514:18:0;;;;:58;;-1:-1:-1;;;;;;;;;;6554:18:0;;;6514:58;:98;;;-1:-1:-1;;;;;;;;;;6594:18:0;;;6514:98;:138;;;-1:-1:-1;;;;;;;;;;6634:18:0;;;6514:138;6506:146;6420:241;-1:-1:-1;;6420:241:0:o;1557:18::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4611:300::-;4685:14;4702:17;4710:8;4702:7;:17::i;:::-;4685:34;-1:-1:-1;;;;;;4738:20:0;;4748:10;4738:20;;:78;;-1:-1:-1;;;;;;4780:24:0;;;;;;:16;:24;;;;;;;;4805:10;4780:36;;;;;;;;;;4738:78;4730:139;;;;-1:-1:-1;;;4730:139:0;;6846:2:1;4730:139:0;;;6828:21:1;6885:2;6865:18;;;6858:30;6924:33;6904:18;;;6897:61;6975:18;;4730:139:0;;;;;;;;;4880:23;4889:3;4894:8;4880;:23::i;:::-;4674:237;4611:300;;:::o;11910:116::-;873:10;865:19;;;;:7;:19;;;;;;;;857:43;;;;-1:-1:-1;;;857:43:0;;7206:2:1;857:43:0;;;7188:21:1;7245:2;7225:18;;;7218:30;-1:-1:-1;;;7264:18:1;;;7257:41;7315:18;;857:43:0;7004:335:1;857:43:0;11998:20:::1;12004:3;12009:8;11998:5;:20::i;:::-;11910:116:::0;;:::o;5458:244::-;5560:40;5579:10;5591:8;5560:18;:40::i;:::-;5552:100;;;;-1:-1:-1;;;5552:100:0;;7546:2:1;5552:100:0;;;7528:21:1;7585:2;7565:18;;;7558:30;7624:34;7604:18;;;7597:62;-1:-1:-1;;;7675:18:1;;;7668:32;7717:19;;5552:100:0;7344:398:1;5552:100:0;5663:31;5673:5;5680:3;5685:8;5663:9;:31::i;6254:154::-;6358:42;6375:5;6382:3;6387:8;6358:42;;;;;;;;;;;;:16;:42::i;8521:242::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8275:20:0;;;:10;:20;;;;;8268:27;;;;;;;;-1:-1:-1;;;;;8268:27:0;;;;;-1:-1:-1;;;8268:27:0;;;;;;;;;;;-1:-1:-1;;;8268:27:0;;;;;;;;;;-1:-1:-1;;;8268:27:0;;;;;;;;;;-1:-1:-1;;8683:32:0;:72;;7879:4;8683:72;;;8718:18;;8683:72;8676:79;8521:242;-1:-1:-1;;;8521:242:0:o;1582:20::-;;;;;;;:::i;5157:148::-;5245:52;5264:10;5276:9;5287;5245:18;:52::i;5708:540::-;5831:34;5844:5;5851:3;5856:8;5831:12;:34::i;:::-;-1:-1:-1;;;;;5880:15:0;;;:20;5876:365;;5920:22;5946:3;-1:-1:-1;;;;;5946:8:0;5996:10;6008;6020:5;6027:8;6037:5;5955:88;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5955:88:0;;;;;;;;;;;5946:98;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5917:127;;;6059:16;6089:9;6078:31;;;;;;;;;;;;:::i;:::-;6059:50;-1:-1:-1;;;;;;;;;;6132:23:0;;;6124:105;;;;-1:-1:-1;;;6124:105:0;;9103:2:1;6124:105:0;;;9085:21:1;9142:2;9122:18;;;9115:30;9181:34;9161:18;;;9154:62;-1:-1:-1;;;9232:18:1;;;9225:49;9291:19;;6124:105:0;8901:415:1;6124:105:0;5902:339;;5876:365;5708:540;;;;:::o;11505:279::-;11575:18;;;;11574:19;11566:28;;;;;;11605:18;:25;;-1:-1:-1;;11605:25:0;11626:4;11605:25;;;11672:5;:16;;-1:-1:-1;;;;;11672:16:0;;-1:-1:-1;;;;;;11672:16:0;;;;;;11699:47;;;;;;;;;;;;;;;;;;:4;;:47;;:4;:47;:::i;:::-;-1:-1:-1;11757:19:0;;;;;;;;;;;;-1:-1:-1;;;11757:19:0;;;;:6;;:19;;:6;:19;:::i;7135:260::-;7200:13;7356:19;7366:8;7356:9;:19::i;:::-;7240:146;;;;;;;;:::i;:::-;;;;;;;;;;;;;7226:161;;7135:260;;;:::o;12080:255::-;308:5;;-1:-1:-1;;;;;308:5:0;317:10;308:19;300:42;;;;-1:-1:-1;;;300:42:0;;;;;;;:::i;:::-;12200:9:::1;12195:133;12211:20:::0;;::::1;12195:133;;;12249:35;12259:5;12266:3;12271:9;;12281:1;12271:12;;;;;;;:::i;:::-;;;;;;;12249:9;:35::i;:::-;12311:3;;12195:133;;;;12080:255:::0;;;;:::o;912:170::-;308:5;;-1:-1:-1;;;;;308:5:0;317:10;308:19;300:42;;;;-1:-1:-1;;;300:42:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;991:17:0;::::1;;::::0;;;:7:::1;:17;::::0;;;;;;;;:25;;-1:-1:-1;;991:25:0::1;::::0;::::1;;::::0;;::::1;::::0;;;1032:42;;540:41:1;;;1046:10:0::1;::::0;1032:42:::1;::::0;513:18:1;1032:42:0::1;;;;;;;912:170:::0;;:::o;354:229::-;436:5;;-1:-1:-1;;;;;436:5:0;473:10;460:23;;452:46;;;;-1:-1:-1;;;452:46:0;;;;;;;:::i;:::-;509:5;:12;;-1:-1:-1;;;;;;509:12:0;-1:-1:-1;;;;;509:12:0;;;;;;;;;538:37;;509:12;;538:37;;;;;-1:-1:-1;;538:37:0;404:179;354:229;:::o;11792:110::-;308:5;;-1:-1:-1;;;;;308:5:0;317:10;308:19;300:42;;;;-1:-1:-1;;;300:42:0;;;;;;;:::i;:::-;11868:11:::1;:26:::0;11792:110::o;4435:170::-;4512:21;;;;:11;:21;;;;;:27;;-1:-1:-1;;;;;;4512:27:0;-1:-1:-1;;;;;4512:27:0;;;;;;;;:21;;4564:17;4512:21;4564:7;:17::i;:::-;-1:-1:-1;;;;;4555:42:0;;;;;;;;;;;4435:170;;:::o;2900:595::-;-1:-1:-1;;;;;2982:17:0;;2974:50;;;;-1:-1:-1;;;2974:50:0;;12582:2:1;2974:50:0;;;12564:21:1;12621:2;12601:18;;;12594:30;-1:-1:-1;;;12640:18:1;;;12633:50;12700:18;;2974:50:0;12380:344:1;2974:50:0;3081:1;3043:20;;;:10;:20;;;;;:26;-1:-1:-1;;;;;3043:26:0;:40;3035:72;;;;-1:-1:-1;;;3035:72:0;;12931:2:1;3035:72:0;;;12913:21:1;12970:2;12950:18;;;12943:30;-1:-1:-1;;;12989:18:1;;;12982:49;13048:18;;3035:72:0;12729:343:1;3035:72:0;3120:19;3142:30;:28;:30::i;:::-;3206:36;;;;;;;;-1:-1:-1;;;;;3206:36:0;;;;;;;;;;;;;;;;;-1:-1:-1;3206:36:0;;;;;;;;;;;;3183:20;;;:10;:20;;;;;:59;;;;;;;;;;;;-1:-1:-1;;;3183:59:0;-1:-1:-1;;;;;3183:59:0;;;-1:-1:-1;;;3183:59:0;;;;;-1:-1:-1;;;;;3183:59:0;;;-1:-1:-1;;;3183:59:0;-1:-1:-1;;;;;;3183:59:0;;;;;;;;;;;;;;;;;;;;;;;;3280:17;;;:12;:17;;;;;;:27;;3322:32;3280:27;;;3183:59;3280:27;;;;;-1:-1:-1;;3280:27:0;;;;3322:32;;;;;;;;;;;;;-1:-1:-1;;3322:32:0;;;;;;;;;3410:11;:13;;;;;;;;3452:35;;3120:52;;-1:-1:-1;3194:8:0;;3206:36;;-1:-1:-1;3452:35:0;;-1:-1:-1;;3452:35:0;2963:532;2900:595;;:::o;4122:307::-;4223:4;4240:14;4257:17;4265:8;4257:7;:17::i;:::-;4240:34;;4303:8;-1:-1:-1;;;;;4293:18:0;:6;-1:-1:-1;;;;;4293:18:0;;:72;;;-1:-1:-1;4332:21:0;;;;:11;:21;;;;;;-1:-1:-1;;;;;4332:33:0;;;:21;;:33;4293:72;:127;;;-1:-1:-1;;;;;;4386:24:0;;;;;;;:16;:24;;;;;;;;:34;;;;;;;;;;;;4293:127;4285:136;4122:307;-1:-1:-1;;;;4122:307:0:o;12410:121::-;12504:19;;-1:-1:-1;;;12504:19:0;;13279:2:1;12504:19:0;;;13261:21:1;13318:1;13298:18;;;13291:29;-1:-1:-1;;;13336:18:1;;;13329:39;13385:18;;12504:19:0;13077:332:1;4923:228:0;-1:-1:-1;;;;;5036:24:0;;;;;;;:16;:24;;;;;;;;:35;;;;;;;;;;;;;:47;;-1:-1:-1;;5036:47:0;;;;;;;;;;5099:44;;540:41:1;;;5099:44:0;;513:18:1;5099:44:0;;;;;;;4923:228;;;:::o;6669:458::-;6727:13;6757:6;6767:1;6757:11;6753:32;;-1:-1:-1;;6772:10:0;;;;;;;;;;;;-1:-1:-1;;;6772:10:0;;;;;6669:458::o;6753:32::-;6814:6;6795:16;6848:52;6855:13;;6848:52;;6872:9;;;;:::i;:::-;;-1:-1:-1;6883:14:0;;-1:-1:-1;6895:2:0;6883:14;;:::i;:::-;;;6848:52;;;6910:20;6943:7;6933:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6933:18:0;;6910:41;;6962:124;6969:11;;6962:124;;6984:9;;;;:::i;:::-;;-1:-1:-1;7054:11:0;;-1:-1:-1;7063:2:0;7054:6;:11;:::i;:::-;7041:26;;:2;:26;:::i;:::-;7014:55;;6995:7;7003;6995:16;;;;;;;;:::i;:::-;;;;:74;-1:-1:-1;;;;;6995:74:0;;;;;;;;-1:-1:-1;7071:12:0;7081:2;7071:12;;:::i;:::-;;;6962:124;;2425:125;2488:6;2521:20;2539:2;2521:15;:20;:::i;:::-;2507:35;;2425:125;:::o;14:131:1:-;-1:-1:-1;;;;;;88:32:1;;78:43;;68:71;;135:1;132;125:12;68:71;14:131;:::o;150:245::-;208:6;261:2;249:9;240:7;236:23;232:32;229:52;;;277:1;274;267:12;229:52;316:9;303:23;335:30;359:5;335:30;:::i;592:289::-;634:3;672:5;666:12;699:6;694:3;687:19;755:6;748:4;741:5;737:16;730:4;725:3;721:14;715:47;807:1;800:4;791:6;786:3;782:16;778:27;771:38;870:4;863:2;859:7;854:2;846:6;842:15;838:29;833:3;829:39;825:50;818:57;;;592:289;;;;:::o;886:220::-;1035:2;1024:9;1017:21;998:4;1055:45;1096:2;1085:9;1081:18;1073:6;1055:45;:::i;1111:226::-;1170:6;1223:2;1211:9;1202:7;1198:23;1194:32;1191:52;;;1239:1;1236;1229:12;1191:52;-1:-1:-1;1284:23:1;;1111:226;-1:-1:-1;1111:226:1:o;1550:173::-;1618:20;;-1:-1:-1;;;;;1667:31:1;;1657:42;;1647:70;;1713:1;1710;1703:12;1647:70;1550:173;;;:::o;1728:300::-;1796:6;1804;1857:2;1845:9;1836:7;1832:23;1828:32;1825:52;;;1873:1;1870;1863:12;1825:52;1896:29;1915:9;1896:29;:::i;:::-;1886:39;1994:2;1979:18;;;;1966:32;;-1:-1:-1;;;1728:300:1:o;2215:374::-;2292:6;2300;2308;2361:2;2349:9;2340:7;2336:23;2332:32;2329:52;;;2377:1;2374;2367:12;2329:52;2400:29;2419:9;2400:29;:::i;:::-;2390:39;;2448:38;2482:2;2471:9;2467:18;2448:38;:::i;:::-;2215:374;;2438:48;;-1:-1:-1;;;2555:2:1;2540:18;;;;2527:32;;2215:374::o;3061:186::-;3120:6;3173:2;3161:9;3152:7;3148:23;3144:32;3141:52;;;3189:1;3186;3179:12;3141:52;3212:29;3231:9;3212:29;:::i;3535:347::-;3600:6;3608;3661:2;3649:9;3640:7;3636:23;3632:32;3629:52;;;3677:1;3674;3667:12;3629:52;3700:29;3719:9;3700:29;:::i;:::-;3690:39;;3779:2;3768:9;3764:18;3751:32;3826:5;3819:13;3812:21;3805:5;3802:32;3792:60;;3848:1;3845;3838:12;3792:60;3871:5;3861:15;;;3535:347;;;;;:::o;3887:127::-;3948:10;3943:3;3939:20;3936:1;3929:31;3979:4;3976:1;3969:15;4003:4;4000:1;3993:15;4019:1207;4114:6;4122;4130;4138;4191:3;4179:9;4170:7;4166:23;4162:33;4159:53;;;4208:1;4205;4198:12;4159:53;4231:29;4250:9;4231:29;:::i;:::-;4221:39;;4279:38;4313:2;4302:9;4298:18;4279:38;:::i;:::-;4269:48;-1:-1:-1;4386:2:1;4371:18;;4358:32;;-1:-1:-1;4465:2:1;4450:18;;4437:32;4492:18;4481:30;;4478:50;;;4524:1;4521;4514:12;4478:50;4547:22;;4600:4;4592:13;;4588:27;-1:-1:-1;4578:55:1;;4629:1;4626;4619:12;4578:55;4669:2;4656:16;4695:18;4687:6;4684:30;4681:56;;;4717:18;;:::i;:::-;4766:2;4760:9;4858:2;4820:17;;-1:-1:-1;;4816:31:1;;;4849:2;4812:40;4808:54;4796:67;;4893:18;4878:34;;4914:22;;;4875:62;4872:88;;;4940:18;;:::i;:::-;4976:2;4969:22;5000;;;5041:15;;;5058:2;5037:24;5034:37;-1:-1:-1;5031:57:1;;;5084:1;5081;5074:12;5031:57;5140:6;5135:2;5131;5127:11;5122:2;5114:6;5110:15;5097:50;5193:1;5188:2;5179:6;5171;5167:19;5163:28;5156:39;5214:6;5204:16;;;;;4019:1207;;;;;;;:::o;5231:758::-;5335:6;5343;5351;5359;5412:2;5400:9;5391:7;5387:23;5383:32;5380:52;;;5428:1;5425;5418:12;5380:52;5451:29;5470:9;5451:29;:::i;:::-;5441:39;;5499:38;5533:2;5522:9;5518:18;5499:38;:::i;:::-;5489:48;;5588:2;5577:9;5573:18;5560:32;5615:18;5607:6;5604:30;5601:50;;;5647:1;5644;5637:12;5601:50;5670:22;;5723:4;5715:13;;5711:27;-1:-1:-1;5701:55:1;;5752:1;5749;5742:12;5701:55;5792:2;5779:16;5818:18;5810:6;5807:30;5804:50;;;5850:1;5847;5840:12;5804:50;5903:7;5898:2;5888:6;5885:1;5881:14;5877:2;5873:23;5869:32;5866:45;5863:65;;;5924:1;5921;5914:12;5863:65;5231:758;;;;-1:-1:-1;5955:2:1;5947:11;;-1:-1:-1;;;5231:758:1:o;5994:260::-;6062:6;6070;6123:2;6111:9;6102:7;6098:23;6094:32;6091:52;;;6139:1;6136;6129:12;6091:52;6162:29;6181:9;6162:29;:::i;:::-;6152:39;;6210:38;6244:2;6233:9;6229:18;6210:38;:::i;:::-;6200:48;;5994:260;;;;;:::o;6259:380::-;6338:1;6334:12;;;;6381;;;6402:61;;6456:4;6448:6;6444:17;6434:27;;6402:61;6509:2;6501:6;6498:14;6478:18;6475:38;6472:161;;6555:10;6550:3;6546:20;6543:1;6536:31;6590:4;6587:1;6580:15;6618:4;6615:1;6608:15;6472:161;;6259:380;;;:::o;7747:485::-;-1:-1:-1;;;;;7978:32:1;;;7960:51;;8047:32;;8042:2;8027:18;;8020:60;8111:2;8096:18;;8089:34;;;8159:3;8154:2;8139:18;;8132:31;;;-1:-1:-1;;8180:46:1;;8206:19;;8198:6;8180:46;:::i;:::-;8172:54;7747:485;-1:-1:-1;;;;;;7747:485:1:o;8237:211::-;8278:3;8316:5;8310:12;8360:6;8353:4;8346:5;8342:16;8337:3;8331:36;8422:1;8386:16;;8411:13;;;-1:-1:-1;8386:16:1;;8237:211;-1:-1:-1;8237:211:1:o;8453:189::-;8582:3;8607:29;8632:3;8624:6;8607:29;:::i;8647:249::-;8716:6;8769:2;8757:9;8748:7;8744:23;8740:32;8737:52;;;8785:1;8782;8775:12;8737:52;8817:9;8811:16;8836:30;8860:5;8836:30;:::i;9447:518::-;9549:2;9544:3;9541:11;9538:421;;;9585:5;9582:1;9575:16;9629:4;9626:1;9616:18;9699:2;9687:10;9683:19;9680:1;9676:27;9670:4;9666:38;9735:4;9723:10;9720:20;9717:47;;;-1:-1:-1;9758:4:1;9717:47;9813:2;9808:3;9804:12;9801:1;9797:20;9791:4;9787:31;9777:41;;9868:81;9886:2;9879:5;9876:13;9868:81;;;9945:1;9931:16;;9912:1;9901:13;9868:81;;10141:1299;10267:3;10261:10;10294:18;10286:6;10283:30;10280:56;;;10316:18;;:::i;:::-;10345:97;10435:6;10395:38;10427:4;10421:11;10395:38;:::i;:::-;10389:4;10345:97;:::i;:::-;10491:4;10522:2;10511:14;;10539:1;10534:649;;;;11227:1;11244:6;11241:89;;;-1:-1:-1;11296:19:1;;;11290:26;11241:89;-1:-1:-1;;10098:1:1;10094:11;;;10090:24;10086:29;10076:40;10122:1;10118:11;;;10073:57;11343:81;;10504:930;;10534:649;9394:1;9387:14;;;9431:4;9418:18;;-1:-1:-1;;10570:20:1;;;10688:222;10702:7;10699:1;10696:14;10688:222;;;10784:19;;;10778:26;10763:42;;10891:4;10876:20;;;;10844:1;10832:14;;;;10718:12;10688:222;;;10692:3;10938:6;10929:7;10926:19;10923:201;;;10999:19;;;10993:26;-1:-1:-1;;11082:1:1;11078:14;;;11094:3;11074:24;11070:37;11066:42;11051:58;11036:74;;10923:201;-1:-1:-1;;;;11170:1:1;11154:14;;;11150:22;11137:36;;-1:-1:-1;10141:1299:1:o;11445:459::-;11707:34;11702:3;11695:47;11772:34;11767:2;11762:3;11758:12;11751:56;-1:-1:-1;;;11832:2:1;11827:3;11823:12;11816:28;11677:3;11860:38;11894:2;11889:3;11885:12;11877:6;11860:38;:::i;11909:334::-;12111:2;12093:21;;;12150:2;12130:18;;;12123:30;-1:-1:-1;;;12184:2:1;12169:18;;12162:40;12234:2;12219:18;;11909:334::o;12248:127::-;12309:10;12304:3;12300:20;12297:1;12290:31;12340:4;12337:1;12330:15;12364:4;12361:1;12354:15;13414:127;13475:10;13470:3;13466:20;13463:1;13456:31;13506:4;13503:1;13496:15;13530:4;13527:1;13520:15;13546:135;13585:3;13606:17;;;13603:43;;13626:18;;:::i;:::-;-1:-1:-1;13673:1:1;13662:13;;13546:135::o;13686:127::-;13747:10;13742:3;13738:20;13735:1;13728:31;13778:4;13775:1;13768:15;13802:4;13799:1;13792:15;13818:120;13858:1;13884;13874:35;;13889:18;;:::i;:::-;-1:-1:-1;13923:9:1;;13818:120::o;13943:136::-;13982:3;14010:5;14000:39;;14019:18;;:::i;:::-;-1:-1:-1;;;14055:18:1;;13943:136::o;14084:112::-;14116:1;14142;14132:35;;14147:18;;:::i;:::-;-1:-1:-1;14181:9:1;;14084:112::o;14201:125::-;14266:9;;;14287:10;;;14284:36;;;14300:18;;:::i
Swarm Source
ipfs://7c6ee49d403ef9917a50bb7421eef2d33eeb4aa9008eb150c498145d496b2472
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 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.