Source Code
Latest 25 from a total of 733 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Claim Boxes | 21971196 | 356 days ago | IN | 0 ETH | 0.00014 | ||||
| Un Stake | 21869998 | 370 days ago | IN | 0 ETH | 0.00017421 | ||||
| Claim Boxes | 21859417 | 372 days ago | IN | 0 ETH | 0.0000997 | ||||
| Claim Boxes | 21671167 | 398 days ago | IN | 0 ETH | 0.00034619 | ||||
| Claim Boxes | 21671162 | 398 days ago | IN | 0 ETH | 0.00082333 | ||||
| Claim Boxes | 21419417 | 433 days ago | IN | 0 ETH | 0.00204734 | ||||
| Un Stake | 21411991 | 434 days ago | IN | 0 ETH | 0.00169201 | ||||
| Claim Boxes | 21401109 | 436 days ago | IN | 0 ETH | 0.00075511 | ||||
| Un Stake | 21291795 | 451 days ago | IN | 0 ETH | 0.00151838 | ||||
| Un Stake | 21271177 | 454 days ago | IN | 0 ETH | 0.00155614 | ||||
| Claim Boxes | 21111800 | 476 days ago | IN | 0 ETH | 0.00053628 | ||||
| Claim Boxes | 21071481 | 482 days ago | IN | 0 ETH | 0.00195465 | ||||
| Claim Boxes | 21012491 | 490 days ago | IN | 0 ETH | 0.00078031 | ||||
| Un Stake | 20984282 | 494 days ago | IN | 0 ETH | 0.00391414 | ||||
| Un Stake | 20967369 | 496 days ago | IN | 0 ETH | 0.00242304 | ||||
| Claim Boxes | 20870176 | 510 days ago | IN | 0 ETH | 0.00227781 | ||||
| Claim Boxes | 20860707 | 511 days ago | IN | 0 ETH | 0.00117348 | ||||
| Claim Boxes | 20852432 | 512 days ago | IN | 0 ETH | 0.00047745 | ||||
| Claim Boxes | 20834801 | 515 days ago | IN | 0 ETH | 0.00121969 | ||||
| Stake | 20824761 | 516 days ago | IN | 0 ETH | 0.0032506 | ||||
| Claim Boxes | 20820581 | 517 days ago | IN | 0 ETH | 0.0022873 | ||||
| Claim Boxes | 20798648 | 520 days ago | IN | 0 ETH | 0.00081061 | ||||
| Claim Boxes | 20783171 | 522 days ago | IN | 0 ETH | 0.00335768 | ||||
| Claim Boxes | 20783155 | 522 days ago | IN | 0 ETH | 0.00104862 | ||||
| Claim Boxes | 20783102 | 522 days ago | IN | 0 ETH | 0.00115696 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
SMPJourney
Compiler Version
v0.8.22+commit.4fc1097e
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2024-03-19
*/
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.10;
/**
* @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;
}
function _contextSuffixLength() internal view virtual returns (uint256) {
return 0;
}
}
/**
* @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.
*
* The initial owner is set to the address provided by the deployer. 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;
/**
* @dev The caller account is not authorized to perform an operation.
*/
error OwnableUnauthorizedAccount(address account);
/**
* @dev The owner is not a valid owner account. (eg. `address(0)`)
*/
error OwnableInvalidOwner(address owner);
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
/**
* @dev Initializes the contract setting the address provided by the deployer as the initial owner.
*/
constructor(address initialOwner) {
if (initialOwner == address(0)) {
revert OwnableInvalidOwner(address(0));
}
_transferOwnership(initialOwner);
}
/**
* @dev Throws if called by any account other than the owner.
*/
modifier onlyOwner() {
_checkOwner();
_;
}
/**
* @dev Returns the address of the current owner.
*/
function owner() public view virtual returns (address) {
return _owner;
}
/**
* @dev Throws if the sender is not the owner.
*/
function _checkOwner() internal view virtual {
if (owner() != _msgSender()) {
revert OwnableUnauthorizedAccount(_msgSender());
}
}
/**
* @dev Leaves the contract without owner. It will not be possible to call
* `onlyOwner` functions. Can only be called by the current owner.
*
* NOTE: Renouncing ownership will leave the contract without an owner,
* thereby disabling any functionality that is only available to the owner.
*/
function renounceOwnership() public virtual onlyOwner {
_transferOwnership(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 {
if (newOwner == address(0)) {
revert OwnableInvalidOwner(address(0));
}
_transferOwnership(newOwner);
}
/**
* @dev Transfers ownership of the contract to a new account (`newOwner`).
* Internal function without access restriction.
*/
function _transferOwnership(address newOwner) internal virtual {
address oldOwner = _owner;
_owner = newOwner;
emit OwnershipTransferred(oldOwner, newOwner);
}
}
/**
* @title ERC721 token receiver interface
* @dev Interface for any contract that wants to support safeTransfers
* from ERC721 asset contracts.
*/
interface IERC721Receiver {
/**
* @dev Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom}
* by `operator` from `from`, this function is called.
*
* It must return its Solidity selector to confirm the token transfer.
* If any other value is returned or the interface is not implemented by the recipient, the transfer will be
* reverted.
*
* The selector can be obtained in Solidity with `IERC721Receiver.onERC721Received.selector`.
*/
function onERC721Received(
address operator,
address from,
uint256 tokenId,
bytes calldata data
) external returns (bytes4);
}
/**
* @dev Implementation of the {IERC721Receiver} interface.
*
* Accepts all token transfers.
* Make sure the contract is able to use its token with {IERC721-safeTransferFrom}, {IERC721-approve} or
* {IERC721-setApprovalForAll}.
*/
abstract contract ERC721Holder is IERC721Receiver {
/**
* @dev See {IERC721Receiver-onERC721Received}.
*
* Always returns `IERC721Receiver.onERC721Received.selector`.
*/
function onERC721Received(address, address, uint256, bytes memory) public virtual returns (bytes4) {
return this.onERC721Received.selector;
}
}
/**
* @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 making it call a
* `private` function that does the actual work.
*/
modifier nonReentrant() {
_nonReentrantBefore();
_;
_nonReentrantAfter();
}
function _nonReentrantBefore() private {
// On the first call to nonReentrant, _status will be _NOT_ENTERED
require(_status != _ENTERED, "ReentrancyGuard: reentrant call");
// Any calls to nonReentrant after this point will fail
_status = _ENTERED;
}
function _nonReentrantAfter() private {
// By storing the original value once again, a refund is triggered (see
// https://eips.ethereum.org/EIPS/eip-2200)
_status = _NOT_ENTERED;
}
/**
* @dev Returns true if the reentrancy guard is currently set to "entered", which indicates there is a
* `nonReentrant` function in the call stack.
*/
function _reentrancyGuardEntered() internal view returns (bool) {
return _status == _ENTERED;
}
}
/**
* @dev Contract module which allows children to implement an emergency stop
* mechanism that can be triggered by an authorized account.
*
* This module is used through inheritance. It will make available the
* modifiers `whenNotPaused` and `whenPaused`, which can be applied to
* the functions of your contract. Note that they will not be pausable by
* simply including this module, only once the modifiers are put in place.
*/
abstract contract Pausable is Context {
/**
* @dev Emitted when the pause is triggered by `account`.
*/
event Paused(address account);
/**
* @dev Emitted when the pause is lifted by `account`.
*/
event Unpaused(address account);
bool private _paused;
/**
* @dev Initializes the contract in unpaused state.
*/
constructor() {
_paused = false;
}
/**
* @dev Modifier to make a function callable only when the contract is not paused.
*
* Requirements:
*
* - The contract must not be paused.
*/
modifier whenNotPaused() {
_requireNotPaused();
_;
}
/**
* @dev Modifier to make a function callable only when the contract is paused.
*
* Requirements:
*
* - The contract must be paused.
*/
modifier whenPaused() {
_requirePaused();
_;
}
/**
* @dev Returns true if the contract is paused, and false otherwise.
*/
function paused() public view virtual returns (bool) {
return _paused;
}
/**
* @dev Throws if the contract is paused.
*/
function _requireNotPaused() internal view virtual {
require(!paused(), "Pausable: paused");
}
/**
* @dev Throws if the contract is not paused.
*/
function _requirePaused() internal view virtual {
require(paused(), "Pausable: not paused");
}
/**
* @dev Triggers stopped state.
*
* Requirements:
*
* - The contract must not be paused.
*/
function _pause() internal virtual whenNotPaused {
_paused = true;
emit Paused(_msgSender());
}
/**
* @dev Returns to normal state.
*
* Requirements:
*
* - The contract must be paused.
*/
function _unpause() internal virtual whenPaused {
_paused = false;
emit Unpaused(_msgSender());
}
}
/**
* @dev Interface of the ERC165 standard, as defined in the
* https://eips.ethereum.org/EIPS/eip-165[EIP].
*
* Implementers can declare support of contract interfaces, which can then be
* queried by others ({ERC165Checker}).
*
* For an implementation, see {ERC165}.
*/
interface IERC165 {
/**
* @dev Returns true if this contract implements the interface defined by
* `interfaceId`. See the corresponding
* https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]
* to learn more about how these ids are created.
*
* This function call must use less than 30 000 gas.
*/
function supportsInterface(bytes4 interfaceId) external view returns (bool);
}
/**
* @dev Required interface of an ERC721 compliant contract.
*/
interface IERC721 is IERC165 {
/**
* @dev Emitted when `tokenId` token is transferred from `from` to `to`.
*/
event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);
/**
* @dev Emitted when `owner` enables `approved` to manage the `tokenId` token.
*/
event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId);
/**
* @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.
*/
event ApprovalForAll(address indexed owner, address indexed operator, bool approved);
/**
* @dev Returns the number of tokens in ``owner``'s account.
*/
function balanceOf(address owner) external view returns (uint256 balance);
/**
* @dev Returns the owner of the `tokenId` token.
*
* Requirements:
*
* - `tokenId` must exist.
*/
function ownerOf(uint256 tokenId) external view returns (address owner);
/**
* @dev Safely transfers `tokenId` token from `from` to `to`.
*
* Requirements:
*
* - `from` cannot be the zero address.
* - `to` cannot be the zero address.
* - `tokenId` token must exist and be owned by `from`.
* - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.
* - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon
* a safe transfer.
*
* Emits a {Transfer} event.
*/
function safeTransferFrom(address from, address to, uint256 tokenId, bytes calldata data) external;
/**
* @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients
* are aware of the ERC721 protocol to prevent tokens from being forever locked.
*
* Requirements:
*
* - `from` cannot be the zero address.
* - `to` cannot be the zero address.
* - `tokenId` token must exist and be owned by `from`.
* - If the caller is not `from`, it must have been allowed to move this token by either {approve} or
* {setApprovalForAll}.
* - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon
* a safe transfer.
*
* Emits a {Transfer} event.
*/
function safeTransferFrom(address from, address to, uint256 tokenId) external;
/**
* @dev Transfers `tokenId` token from `from` to `to`.
*
* WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721
* or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must
* understand this adds an external call which potentially creates a reentrancy vulnerability.
*
* Requirements:
*
* - `from` cannot be the zero address.
* - `to` cannot be the zero address.
* - `tokenId` token must be owned by `from`.
* - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.
*
* Emits a {Transfer} event.
*/
function transferFrom(address from, address to, uint256 tokenId) external;
/**
* @dev Gives permission to `to` to transfer `tokenId` token to another account.
* The approval is cleared when the token is transferred.
*
* Only a single account can be approved at a time, so approving the zero address clears previous approvals.
*
* Requirements:
*
* - The caller must own the token or be an approved operator.
* - `tokenId` must exist.
*
* Emits an {Approval} event.
*/
function approve(address to, uint256 tokenId) external;
/**
* @dev Approve or remove `operator` as an operator for the caller.
* Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller.
*
* Requirements:
*
* - The `operator` cannot be the address zero.
*
* Emits an {ApprovalForAll} event.
*/
function setApprovalForAll(address operator, bool approved) external;
/**
* @dev Returns the account approved for `tokenId` token.
*
* Requirements:
*
* - `tokenId` must exist.
*/
function getApproved(uint256 tokenId) external view returns (address operator);
/**
* @dev Returns if the `operator` is allowed to manage all of the assets of `owner`.
*
* See {setApprovalForAll}
*/
function isApprovedForAll(address owner, address operator) external view returns (bool);
}
interface ISkyBox
{
function add(uint256 tokenId, uint256 num) external;
}
contract SMPJourney is ERC721Holder, Ownable, ReentrancyGuard, Pausable {
event StakeSMP(uint256[] tokenIds, address player);
event UnStakeSMP(uint256[] tokenIds, address player);
mapping(uint256 => address) ownership;
mapping(address => uint256) stakingSMPs;
mapping(uint256 => uint256) public smpStakeTimestamp;
// consts
uint256 boxPerSMP;
uint256 epoch; // in hour
uint256 finalTime;
uint256 unit;
IERC721 smpToken;
ISkyBox boxContract;
constructor(
uint256 _boxPerSMP,
uint256 _epoch,
uint256 _unit,
address _smpToken,
address _boxContract
) Ownable(msg.sender)
{
boxPerSMP = _boxPerSMP;
epoch = _epoch;
unit = _unit;
smpToken = IERC721(_smpToken);
boxContract = ISkyBox(_boxContract);
}
/**
* @notice Set's box Issuance
*/
function boxIssuance(uint256 _new) external onlyOwner {
boxPerSMP = _new;
}
function updateEpochLength(uint256 _newEpoch) external onlyOwner {
epoch = _newEpoch;
}
function pause() external onlyOwner {
_pause();
}
function unpause() external onlyOwner {
_unpause();
}
function endStaking() external onlyOwner {
finalTime = block.timestamp;
}
function startStaking() external onlyOwner {
finalTime = 0;
}
// function stakingSMPs(address owner) public view returns(uint256)
// {
// uint num;
// for(uint i = 0 ; i < 778; i++)
// {
// if(owner == ownership[i])
// {
// num ++;
// }
// }
// return num;
// }
/**
* @notice Set's epoch to epoch * 1 hour.
*/
function _stakeEpochNums(uint256 _tokenId) internal view returns (uint256) {
if(ownership[_tokenId] != address(0))
{
if(finalTime != 0)
{
return (finalTime - smpStakeTimestamp[_tokenId]) / (epoch * unit);
}
else{
return (block.timestamp - smpStakeTimestamp[_tokenId]) / (epoch * unit); // hours
}
}
return 0;
}
/**
* @notice Boards the Ship (Stakes). Sets ownership of Token to Staker. Transfers NFT to Contract. Set's epoch date, Set's number of SMPs staked in the Epoch.
* @param _tokenIds Ids of SMPs
*/
function stake(uint256[] memory _tokenIds)
external
whenNotPaused
nonReentrant
{
require(finalTime == 0, 'STAKE_ENDED');
require(stakingSMPs[msg.sender] + _tokenIds.length <= 5, 'MAX_FIVE');
for (uint256 i = 0; i < _tokenIds.length; i++) {
require(
smpToken.ownerOf(_tokenIds[i]) == msg.sender,
"NOT_OWNER"
);
ownership[_tokenIds[i]] = msg.sender;
smpToken.safeTransferFrom(
msg.sender,
address(this),
_tokenIds[i]
);
smpStakeTimestamp[_tokenIds[i]] = block.timestamp;
}
stakingSMPs[msg.sender] += _tokenIds.length;
emit StakeSMP(_tokenIds, msg.sender);
}
function unStake(uint256[] memory _tokenIds)
external
whenNotPaused
nonReentrant
{
_unStake(_tokenIds);
stakingSMPs[msg.sender] -= _tokenIds.length;
}
/**
* @notice Exits Ship, and transfers all Realms back to owner. Claims any lords available.
* @param _tokenIds Ids of Realms
*/
function _unStake(uint256[] memory _tokenIds) internal {
for (uint256 i = 0; i < _tokenIds.length; i++) {
require(ownership[_tokenIds[i]] == msg.sender, "NOT_OWNER");
_claimBoxes(_tokenIds[i]);
ownership[_tokenIds[i]] = address(0);
smpToken.safeTransferFrom(
address(this),
msg.sender,
_tokenIds[i]
);
}
emit UnStakeSMP(_tokenIds, msg.sender);
}
/**
* @notice boxes available for the SMP.
*/
function boxesAvailable(uint256 _tokenId)
public
view
returns (uint256 boxes)
{
return _stakeEpochNums(_tokenId) * boxPerSMP;
}
function boxesClaimable(uint256[] memory _tokenIds)
public
view
returns (uint256 boxes)
{
for(uint i = 0; i < _tokenIds.length; i++)
{
boxes += _stakeEpochNums(_tokenIds[i]) * boxPerSMP;
}
}
function _claimBoxes(uint256 _tokenId) internal {
uint256 boxes = boxesAvailable(_tokenId);
if(boxes > 0)
{
boxContract.add(_tokenId, boxes);
smpStakeTimestamp[_tokenId] = smpStakeTimestamp[_tokenId] + _stakeEpochNums(_tokenId) * epoch * unit;
}
}
function claimBoxes(uint256[] memory _tokenIds)
external
whenNotPaused
nonReentrant
{
for (uint256 i = 0; i < _tokenIds.length; i++) {
_claimBoxes(_tokenIds[i]);
}
}
function checkOwner(uint256 _tokenId) external view returns (address) {
return ownership[_tokenId];
}
function getEpochLength() public view returns (uint256) {
return epoch;
}
function getBoxIssurance() public view returns (uint256) {
return boxPerSMP;
}
function getTimeUntilEpoch(uint256 _tokenId) public view returns (uint256) {
if(ownership[_tokenId] != address(0))
{
return epoch * unit - ((block.timestamp - smpStakeTimestamp[_tokenId]) % (epoch * unit)); // hours
}
return 0;
}
function getFinalTime() public view returns (uint256) {
return finalTime;
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"uint256","name":"_boxPerSMP","type":"uint256"},{"internalType":"uint256","name":"_epoch","type":"uint256"},{"internalType":"uint256","name":"_unit","type":"uint256"},{"internalType":"address","name":"_smpToken","type":"address"},{"internalType":"address","name":"_boxContract","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"},{"indexed":false,"internalType":"address","name":"player","type":"address"}],"name":"StakeSMP","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"},{"indexed":false,"internalType":"address","name":"player","type":"address"}],"name":"UnStakeSMP","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"inputs":[{"internalType":"uint256","name":"_new","type":"uint256"}],"name":"boxIssuance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"boxesAvailable","outputs":[{"internalType":"uint256","name":"boxes","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_tokenIds","type":"uint256[]"}],"name":"boxesClaimable","outputs":[{"internalType":"uint256","name":"boxes","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"checkOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_tokenIds","type":"uint256[]"}],"name":"claimBoxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"endStaking","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getBoxIssurance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getEpochLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getFinalTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"getTimeUntilEpoch","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"smpStakeTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_tokenIds","type":"uint256[]"}],"name":"stake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startStaking","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_tokenIds","type":"uint256[]"}],"name":"unStake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newEpoch","type":"uint256"}],"name":"updateEpochLength","outputs":[],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
608060405234801562000010575f80fd5b50604051620020a0380380620020a08339818101604052810190620000369190620002da565b335f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620000aa575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620000a191906200036f565b60405180910390fd5b620000bb816200017c60201b60201c565b50600180819055505f60025f6101000a81548160ff02191690831515021790555084600681905550836007819055508260098190555081600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050506200038a565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f80fd5b5f819050919050565b620002558162000241565b811462000260575f80fd5b50565b5f8151905062000273816200024a565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620002a48262000279565b9050919050565b620002b68162000298565b8114620002c1575f80fd5b50565b5f81519050620002d481620002ab565b92915050565b5f805f805f60a08688031215620002f657620002f56200023d565b5b5f620003058882890162000263565b9550506020620003188882890162000263565b94505060406200032b8882890162000263565b93505060606200033e88828901620002c4565b92505060806200035188828901620002c4565b9150509295509295909350565b620003698162000298565b82525050565b5f602082019050620003845f8301846200035e565b92915050565b611d0880620003985f395ff3fe608060405234801561000f575f80fd5b5060043610610140575f3560e01c80638456cb59116100b65780639d588ee11161007a5780639d588ee114610314578063b10dcc9314610344578063cfe8a73b14610360578063ddadc61f1461037e578063e87432c71461039c578063f2fde38b146103b857610140565b80638456cb591461027057806385c419a61461027a5780638da5cb5b146102aa5780639870dce0146102c85780639a5bfa2c146102f857610140565b80634f77adbb116101085780634f77adbb146101c25780635c975abb146101f257806364df88a2146102105780637061be0b1461022c578063715018a61461025c57806371b0cbfa1461026657610140565b80630fbf0a9314610144578063150b7a02146101605780632507190a146101905780632f0812db1461019a5780633f4ba83a146101b8575b5f80fd5b61015e60048036038101906101599190611447565b6103d4565b005b61017a60048036038101906101759190611598565b6107c4565b6040516101879190611652565b60405180910390f35b6101986107d7565b005b6101a26107e8565b6040516101af919061167a565b60405180910390f35b6101c06107f1565b005b6101dc60048036038101906101d79190611693565b610803565b6040516101e9919061167a565b60405180910390f35b6101fa610818565b60405161020791906116d8565b60405180910390f35b61022a60048036038101906102259190611447565b61082d565b005b61024660048036038101906102419190611693565b610884565b604051610253919061167a565b60405180910390f35b6102646108a2565b005b61026e6108b5565b005b6102786108c6565b005b610294600480360381019061028f9190611447565b6108d8565b6040516102a1919061167a565b60405180910390f35b6102b2610937565b6040516102bf9190611700565b60405180910390f35b6102e260048036038101906102dd9190611693565b61095e565b6040516102ef9190611700565b60405180910390f35b610312600480360381019061030d9190611693565b610997565b005b61032e60048036038101906103299190611693565b6109a9565b60405161033b919061167a565b60405180910390f35b61035e60048036038101906103599190611447565b610a6e565b005b610368610ae6565b604051610375919061167a565b60405180910390f35b610386610aef565b604051610393919061167a565b60405180910390f35b6103b660048036038101906103b19190611693565b610af8565b005b6103d260048036038101906103cd9190611719565b610b0a565b005b6103dc610b8e565b6103e4610bd8565b5f60085414610428576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161041f9061179e565b60405180910390fd5b6005815160045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461047491906117e9565b11156104b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ac90611866565b60405180910390fd5b5f5b815181101561072b573373ffffffffffffffffffffffffffffffffffffffff16600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e84848151811061052757610526611884565b5b60200260200101516040518263ffffffff1660e01b815260040161054b919061167a565b602060405180830381865afa158015610566573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061058a91906118c5565b73ffffffffffffffffffffffffffffffffffffffff16146105e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d79061193a565b60405180910390fd5b3360035f8484815181106105f7576105f6611884565b5b602002602001015181526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342842e0e333085858151811061069b5761069a611884565b5b60200260200101516040518463ffffffff1660e01b81526004016106c193929190611958565b5f604051808303815f87803b1580156106d8575f80fd5b505af11580156106ea573d5f803e3d5ffd5b505050504260055f84848151811061070557610704611884565b5b602002602001015181526020019081526020015f208190555080806001019150506104b7565b50805160045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461077991906117e9565b925050819055507f04841274d0c1d56f61a7ccb8a4e8a20d79397d03df04404585952beb83f1b61f81336040516107b1929190611a44565b60405180910390a16107c1610c27565b50565b5f63150b7a0260e01b9050949350505050565b6107df610c30565b42600881905550565b5f600854905090565b6107f9610c30565b610801610cb7565b565b6005602052805f5260405f205f915090505481565b5f60025f9054906101000a900460ff16905090565b610835610b8e565b61083d610bd8565b5f5b81518110156108785761086b82828151811061085e5761085d611884565b5b6020026020010151610d18565b808060010191505061083f565b50610881610c27565b50565b5f60065461089183610e0e565b61089b9190611a72565b9050919050565b6108aa610c30565b6108b35f610f02565b565b6108bd610c30565b5f600881905550565b6108ce610c30565b6108d6610fc3565b565b5f805f90505b82518110156109315760065461090d848381518110610900576108ff611884565b5b6020026020010151610e0e565b6109179190611a72565b8261092291906117e9565b915080806001019150506108de565b50919050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f60035f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b61099f610c30565b8060078190555050565b5f8073ffffffffffffffffffffffffffffffffffffffff1660035f8481526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a6557600954600754610a1d9190611a72565b60055f8481526020019081526020015f205442610a3a9190611ab3565b610a449190611b13565b600954600754610a549190611a72565b610a5e9190611ab3565b9050610a69565b5f90505b919050565b610a76610b8e565b610a7e610bd8565b610a8781611025565b805160045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610ad49190611ab3565b92505081905550610ae3610c27565b50565b5f600754905090565b5f600654905090565b610b00610c30565b8060068190555050565b610b12610c30565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610b82575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401610b799190611700565b60405180910390fd5b610b8b81610f02565b50565b610b96610818565b15610bd6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bcd90611b8d565b60405180910390fd5b565b600260015403610c1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1490611bf5565b60405180910390fd5b6002600181905550565b60018081905550565b610c38611263565b73ffffffffffffffffffffffffffffffffffffffff16610c56610937565b73ffffffffffffffffffffffffffffffffffffffff1614610cb557610c79611263565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401610cac9190611700565b60405180910390fd5b565b610cbf61126a565b5f60025f6101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa610d01611263565b604051610d0e9190611700565b60405180910390a1565b5f610d2282610884565b90505f811115610e0a57600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663771602f783836040518363ffffffff1660e01b8152600401610d88929190611c13565b5f604051808303815f87803b158015610d9f575f80fd5b505af1158015610db1573d5f803e3d5ffd5b50505050600954600754610dc484610e0e565b610dce9190611a72565b610dd89190611a72565b60055f8481526020019081526020015f2054610df491906117e9565b60055f8481526020019081526020015f20819055505b5050565b5f8073ffffffffffffffffffffffffffffffffffffffff1660035f8481526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ef9575f60085414610ebb57600954600754610e8b9190611a72565b60055f8481526020019081526020015f2054600854610eaa9190611ab3565b610eb49190611c3a565b9050610efd565b600954600754610ecb9190611a72565b60055f8481526020019081526020015f205442610ee89190611ab3565b610ef29190611c3a565b9050610efd565b5f90505b919050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b610fcb610b8e565b600160025f6101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25861100e611263565b60405161101b9190611700565b60405180910390a1565b5f5b8151811015611226573373ffffffffffffffffffffffffffffffffffffffff1660035f84848151811061105d5761105c611884565b5b602002602001015181526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110df9061193a565b60405180910390fd5b61110b8282815181106110fe576110fd611884565b5b6020026020010151610d18565b5f60035f84848151811061112257611121611884565b5b602002602001015181526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342842e0e30338585815181106111c6576111c5611884565b5b60200260200101516040518463ffffffff1660e01b81526004016111ec93929190611958565b5f604051808303815f87803b158015611203575f80fd5b505af1158015611215573d5f803e3d5ffd5b505050508080600101915050611027565b507f991b13131ad76de1f8fad0792f41cda83fbb0fe801b9439d8817decbc9ebf45a8133604051611258929190611a44565b60405180910390a150565b5f33905090565b611272610818565b6112b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a890611cb4565b60405180910390fd5b565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61130e826112c8565b810181811067ffffffffffffffff8211171561132d5761132c6112d8565b5b80604052505050565b5f61133f6112b3565b905061134b8282611305565b919050565b5f67ffffffffffffffff82111561136a576113696112d8565b5b602082029050602081019050919050565b5f80fd5b5f819050919050565b6113918161137f565b811461139b575f80fd5b50565b5f813590506113ac81611388565b92915050565b5f6113c46113bf84611350565b611336565b905080838252602082019050602084028301858111156113e7576113e661137b565b5b835b8181101561141057806113fc888261139e565b8452602084019350506020810190506113e9565b5050509392505050565b5f82601f83011261142e5761142d6112c4565b5b813561143e8482602086016113b2565b91505092915050565b5f6020828403121561145c5761145b6112bc565b5b5f82013567ffffffffffffffff811115611479576114786112c0565b5b6114858482850161141a565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6114b78261148e565b9050919050565b6114c7816114ad565b81146114d1575f80fd5b50565b5f813590506114e2816114be565b92915050565b5f80fd5b5f67ffffffffffffffff821115611506576115056112d8565b5b61150f826112c8565b9050602081019050919050565b828183375f83830152505050565b5f61153c611537846114ec565b611336565b905082815260208101848484011115611558576115576114e8565b5b61156384828561151c565b509392505050565b5f82601f83011261157f5761157e6112c4565b5b813561158f84826020860161152a565b91505092915050565b5f805f80608085870312156115b0576115af6112bc565b5b5f6115bd878288016114d4565b94505060206115ce878288016114d4565b93505060406115df8782880161139e565b925050606085013567ffffffffffffffff811115611600576115ff6112c0565b5b61160c8782880161156b565b91505092959194509250565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61164c81611618565b82525050565b5f6020820190506116655f830184611643565b92915050565b6116748161137f565b82525050565b5f60208201905061168d5f83018461166b565b92915050565b5f602082840312156116a8576116a76112bc565b5b5f6116b58482850161139e565b91505092915050565b5f8115159050919050565b6116d2816116be565b82525050565b5f6020820190506116eb5f8301846116c9565b92915050565b6116fa816114ad565b82525050565b5f6020820190506117135f8301846116f1565b92915050565b5f6020828403121561172e5761172d6112bc565b5b5f61173b848285016114d4565b91505092915050565b5f82825260208201905092915050565b7f5354414b455f454e4445440000000000000000000000000000000000000000005f82015250565b5f611788600b83611744565b915061179382611754565b602082019050919050565b5f6020820190508181035f8301526117b58161177c565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6117f38261137f565b91506117fe8361137f565b9250828201905080821115611816576118156117bc565b5b92915050565b7f4d41585f464956450000000000000000000000000000000000000000000000005f82015250565b5f611850600883611744565b915061185b8261181c565b602082019050919050565b5f6020820190508181035f83015261187d81611844565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f815190506118bf816114be565b92915050565b5f602082840312156118da576118d96112bc565b5b5f6118e7848285016118b1565b91505092915050565b7f4e4f545f4f574e455200000000000000000000000000000000000000000000005f82015250565b5f611924600983611744565b915061192f826118f0565b602082019050919050565b5f6020820190508181035f83015261195181611918565b9050919050565b5f60608201905061196b5f8301866116f1565b61197860208301856116f1565b611985604083018461166b565b949350505050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6119bf8161137f565b82525050565b5f6119d083836119b6565b60208301905092915050565b5f602082019050919050565b5f6119f28261198d565b6119fc8185611997565b9350611a07836119a7565b805f5b83811015611a37578151611a1e88826119c5565b9750611a29836119dc565b925050600181019050611a0a565b5085935050505092915050565b5f6040820190508181035f830152611a5c81856119e8565b9050611a6b60208301846116f1565b9392505050565b5f611a7c8261137f565b9150611a878361137f565b9250828202611a958161137f565b91508282048414831517611aac57611aab6117bc565b5b5092915050565b5f611abd8261137f565b9150611ac88361137f565b9250828203905081811115611ae057611adf6117bc565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f611b1d8261137f565b9150611b288361137f565b925082611b3857611b37611ae6565b5b828206905092915050565b7f5061757361626c653a20706175736564000000000000000000000000000000005f82015250565b5f611b77601083611744565b9150611b8282611b43565b602082019050919050565b5f6020820190508181035f830152611ba481611b6b565b9050919050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c005f82015250565b5f611bdf601f83611744565b9150611bea82611bab565b602082019050919050565b5f6020820190508181035f830152611c0c81611bd3565b9050919050565b5f604082019050611c265f83018561166b565b611c33602083018461166b565b9392505050565b5f611c448261137f565b9150611c4f8361137f565b925082611c5f57611c5e611ae6565b5b828204905092915050565b7f5061757361626c653a206e6f74207061757365640000000000000000000000005f82015250565b5f611c9e601483611744565b9150611ca982611c6a565b602082019050919050565b5f6020820190508181035f830152611ccb81611c92565b905091905056fea2646970667358221220b20ff79ed594455e5c497fac76aed59ce97847e7a9a0008248c7bdb9aab0883d64736f6c63430008160033000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000a80000000000000000000000000000000000000000000000000000000000000e10000000000000000000000000883aae302e1be55d895484d4d9feb60891872c4500000000000000000000000067765b835659b57801ce25b1fa169393d628df0d
Deployed Bytecode
0x608060405234801561000f575f80fd5b5060043610610140575f3560e01c80638456cb59116100b65780639d588ee11161007a5780639d588ee114610314578063b10dcc9314610344578063cfe8a73b14610360578063ddadc61f1461037e578063e87432c71461039c578063f2fde38b146103b857610140565b80638456cb591461027057806385c419a61461027a5780638da5cb5b146102aa5780639870dce0146102c85780639a5bfa2c146102f857610140565b80634f77adbb116101085780634f77adbb146101c25780635c975abb146101f257806364df88a2146102105780637061be0b1461022c578063715018a61461025c57806371b0cbfa1461026657610140565b80630fbf0a9314610144578063150b7a02146101605780632507190a146101905780632f0812db1461019a5780633f4ba83a146101b8575b5f80fd5b61015e60048036038101906101599190611447565b6103d4565b005b61017a60048036038101906101759190611598565b6107c4565b6040516101879190611652565b60405180910390f35b6101986107d7565b005b6101a26107e8565b6040516101af919061167a565b60405180910390f35b6101c06107f1565b005b6101dc60048036038101906101d79190611693565b610803565b6040516101e9919061167a565b60405180910390f35b6101fa610818565b60405161020791906116d8565b60405180910390f35b61022a60048036038101906102259190611447565b61082d565b005b61024660048036038101906102419190611693565b610884565b604051610253919061167a565b60405180910390f35b6102646108a2565b005b61026e6108b5565b005b6102786108c6565b005b610294600480360381019061028f9190611447565b6108d8565b6040516102a1919061167a565b60405180910390f35b6102b2610937565b6040516102bf9190611700565b60405180910390f35b6102e260048036038101906102dd9190611693565b61095e565b6040516102ef9190611700565b60405180910390f35b610312600480360381019061030d9190611693565b610997565b005b61032e60048036038101906103299190611693565b6109a9565b60405161033b919061167a565b60405180910390f35b61035e60048036038101906103599190611447565b610a6e565b005b610368610ae6565b604051610375919061167a565b60405180910390f35b610386610aef565b604051610393919061167a565b60405180910390f35b6103b660048036038101906103b19190611693565b610af8565b005b6103d260048036038101906103cd9190611719565b610b0a565b005b6103dc610b8e565b6103e4610bd8565b5f60085414610428576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161041f9061179e565b60405180910390fd5b6005815160045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461047491906117e9565b11156104b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ac90611866565b60405180910390fd5b5f5b815181101561072b573373ffffffffffffffffffffffffffffffffffffffff16600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e84848151811061052757610526611884565b5b60200260200101516040518263ffffffff1660e01b815260040161054b919061167a565b602060405180830381865afa158015610566573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061058a91906118c5565b73ffffffffffffffffffffffffffffffffffffffff16146105e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d79061193a565b60405180910390fd5b3360035f8484815181106105f7576105f6611884565b5b602002602001015181526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342842e0e333085858151811061069b5761069a611884565b5b60200260200101516040518463ffffffff1660e01b81526004016106c193929190611958565b5f604051808303815f87803b1580156106d8575f80fd5b505af11580156106ea573d5f803e3d5ffd5b505050504260055f84848151811061070557610704611884565b5b602002602001015181526020019081526020015f208190555080806001019150506104b7565b50805160045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461077991906117e9565b925050819055507f04841274d0c1d56f61a7ccb8a4e8a20d79397d03df04404585952beb83f1b61f81336040516107b1929190611a44565b60405180910390a16107c1610c27565b50565b5f63150b7a0260e01b9050949350505050565b6107df610c30565b42600881905550565b5f600854905090565b6107f9610c30565b610801610cb7565b565b6005602052805f5260405f205f915090505481565b5f60025f9054906101000a900460ff16905090565b610835610b8e565b61083d610bd8565b5f5b81518110156108785761086b82828151811061085e5761085d611884565b5b6020026020010151610d18565b808060010191505061083f565b50610881610c27565b50565b5f60065461089183610e0e565b61089b9190611a72565b9050919050565b6108aa610c30565b6108b35f610f02565b565b6108bd610c30565b5f600881905550565b6108ce610c30565b6108d6610fc3565b565b5f805f90505b82518110156109315760065461090d848381518110610900576108ff611884565b5b6020026020010151610e0e565b6109179190611a72565b8261092291906117e9565b915080806001019150506108de565b50919050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f60035f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b61099f610c30565b8060078190555050565b5f8073ffffffffffffffffffffffffffffffffffffffff1660035f8481526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a6557600954600754610a1d9190611a72565b60055f8481526020019081526020015f205442610a3a9190611ab3565b610a449190611b13565b600954600754610a549190611a72565b610a5e9190611ab3565b9050610a69565b5f90505b919050565b610a76610b8e565b610a7e610bd8565b610a8781611025565b805160045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610ad49190611ab3565b92505081905550610ae3610c27565b50565b5f600754905090565b5f600654905090565b610b00610c30565b8060068190555050565b610b12610c30565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610b82575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401610b799190611700565b60405180910390fd5b610b8b81610f02565b50565b610b96610818565b15610bd6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bcd90611b8d565b60405180910390fd5b565b600260015403610c1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1490611bf5565b60405180910390fd5b6002600181905550565b60018081905550565b610c38611263565b73ffffffffffffffffffffffffffffffffffffffff16610c56610937565b73ffffffffffffffffffffffffffffffffffffffff1614610cb557610c79611263565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401610cac9190611700565b60405180910390fd5b565b610cbf61126a565b5f60025f6101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa610d01611263565b604051610d0e9190611700565b60405180910390a1565b5f610d2282610884565b90505f811115610e0a57600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663771602f783836040518363ffffffff1660e01b8152600401610d88929190611c13565b5f604051808303815f87803b158015610d9f575f80fd5b505af1158015610db1573d5f803e3d5ffd5b50505050600954600754610dc484610e0e565b610dce9190611a72565b610dd89190611a72565b60055f8481526020019081526020015f2054610df491906117e9565b60055f8481526020019081526020015f20819055505b5050565b5f8073ffffffffffffffffffffffffffffffffffffffff1660035f8481526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ef9575f60085414610ebb57600954600754610e8b9190611a72565b60055f8481526020019081526020015f2054600854610eaa9190611ab3565b610eb49190611c3a565b9050610efd565b600954600754610ecb9190611a72565b60055f8481526020019081526020015f205442610ee89190611ab3565b610ef29190611c3a565b9050610efd565b5f90505b919050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b610fcb610b8e565b600160025f6101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25861100e611263565b60405161101b9190611700565b60405180910390a1565b5f5b8151811015611226573373ffffffffffffffffffffffffffffffffffffffff1660035f84848151811061105d5761105c611884565b5b602002602001015181526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110df9061193a565b60405180910390fd5b61110b8282815181106110fe576110fd611884565b5b6020026020010151610d18565b5f60035f84848151811061112257611121611884565b5b602002602001015181526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342842e0e30338585815181106111c6576111c5611884565b5b60200260200101516040518463ffffffff1660e01b81526004016111ec93929190611958565b5f604051808303815f87803b158015611203575f80fd5b505af1158015611215573d5f803e3d5ffd5b505050508080600101915050611027565b507f991b13131ad76de1f8fad0792f41cda83fbb0fe801b9439d8817decbc9ebf45a8133604051611258929190611a44565b60405180910390a150565b5f33905090565b611272610818565b6112b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a890611cb4565b60405180910390fd5b565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61130e826112c8565b810181811067ffffffffffffffff8211171561132d5761132c6112d8565b5b80604052505050565b5f61133f6112b3565b905061134b8282611305565b919050565b5f67ffffffffffffffff82111561136a576113696112d8565b5b602082029050602081019050919050565b5f80fd5b5f819050919050565b6113918161137f565b811461139b575f80fd5b50565b5f813590506113ac81611388565b92915050565b5f6113c46113bf84611350565b611336565b905080838252602082019050602084028301858111156113e7576113e661137b565b5b835b8181101561141057806113fc888261139e565b8452602084019350506020810190506113e9565b5050509392505050565b5f82601f83011261142e5761142d6112c4565b5b813561143e8482602086016113b2565b91505092915050565b5f6020828403121561145c5761145b6112bc565b5b5f82013567ffffffffffffffff811115611479576114786112c0565b5b6114858482850161141a565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6114b78261148e565b9050919050565b6114c7816114ad565b81146114d1575f80fd5b50565b5f813590506114e2816114be565b92915050565b5f80fd5b5f67ffffffffffffffff821115611506576115056112d8565b5b61150f826112c8565b9050602081019050919050565b828183375f83830152505050565b5f61153c611537846114ec565b611336565b905082815260208101848484011115611558576115576114e8565b5b61156384828561151c565b509392505050565b5f82601f83011261157f5761157e6112c4565b5b813561158f84826020860161152a565b91505092915050565b5f805f80608085870312156115b0576115af6112bc565b5b5f6115bd878288016114d4565b94505060206115ce878288016114d4565b93505060406115df8782880161139e565b925050606085013567ffffffffffffffff811115611600576115ff6112c0565b5b61160c8782880161156b565b91505092959194509250565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61164c81611618565b82525050565b5f6020820190506116655f830184611643565b92915050565b6116748161137f565b82525050565b5f60208201905061168d5f83018461166b565b92915050565b5f602082840312156116a8576116a76112bc565b5b5f6116b58482850161139e565b91505092915050565b5f8115159050919050565b6116d2816116be565b82525050565b5f6020820190506116eb5f8301846116c9565b92915050565b6116fa816114ad565b82525050565b5f6020820190506117135f8301846116f1565b92915050565b5f6020828403121561172e5761172d6112bc565b5b5f61173b848285016114d4565b91505092915050565b5f82825260208201905092915050565b7f5354414b455f454e4445440000000000000000000000000000000000000000005f82015250565b5f611788600b83611744565b915061179382611754565b602082019050919050565b5f6020820190508181035f8301526117b58161177c565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6117f38261137f565b91506117fe8361137f565b9250828201905080821115611816576118156117bc565b5b92915050565b7f4d41585f464956450000000000000000000000000000000000000000000000005f82015250565b5f611850600883611744565b915061185b8261181c565b602082019050919050565b5f6020820190508181035f83015261187d81611844565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f815190506118bf816114be565b92915050565b5f602082840312156118da576118d96112bc565b5b5f6118e7848285016118b1565b91505092915050565b7f4e4f545f4f574e455200000000000000000000000000000000000000000000005f82015250565b5f611924600983611744565b915061192f826118f0565b602082019050919050565b5f6020820190508181035f83015261195181611918565b9050919050565b5f60608201905061196b5f8301866116f1565b61197860208301856116f1565b611985604083018461166b565b949350505050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6119bf8161137f565b82525050565b5f6119d083836119b6565b60208301905092915050565b5f602082019050919050565b5f6119f28261198d565b6119fc8185611997565b9350611a07836119a7565b805f5b83811015611a37578151611a1e88826119c5565b9750611a29836119dc565b925050600181019050611a0a565b5085935050505092915050565b5f6040820190508181035f830152611a5c81856119e8565b9050611a6b60208301846116f1565b9392505050565b5f611a7c8261137f565b9150611a878361137f565b9250828202611a958161137f565b91508282048414831517611aac57611aab6117bc565b5b5092915050565b5f611abd8261137f565b9150611ac88361137f565b9250828203905081811115611ae057611adf6117bc565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f611b1d8261137f565b9150611b288361137f565b925082611b3857611b37611ae6565b5b828206905092915050565b7f5061757361626c653a20706175736564000000000000000000000000000000005f82015250565b5f611b77601083611744565b9150611b8282611b43565b602082019050919050565b5f6020820190508181035f830152611ba481611b6b565b9050919050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c005f82015250565b5f611bdf601f83611744565b9150611bea82611bab565b602082019050919050565b5f6020820190508181035f830152611c0c81611bd3565b9050919050565b5f604082019050611c265f83018561166b565b611c33602083018461166b565b9392505050565b5f611c448261137f565b9150611c4f8361137f565b925082611c5f57611c5e611ae6565b5b828204905092915050565b7f5061757361626c653a206e6f74207061757365640000000000000000000000005f82015250565b5f611c9e601483611744565b9150611ca982611c6a565b602082019050919050565b5f6020820190508181035f830152611ccb81611c92565b905091905056fea2646970667358221220b20ff79ed594455e5c497fac76aed59ce97847e7a9a0008248c7bdb9aab0883d64736f6c63430008160033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000a80000000000000000000000000000000000000000000000000000000000000e10000000000000000000000000883aae302e1be55d895484d4d9feb60891872c4500000000000000000000000067765b835659b57801ce25b1fa169393d628df0d
-----Decoded View---------------
Arg [0] : _boxPerSMP (uint256): 1
Arg [1] : _epoch (uint256): 168
Arg [2] : _unit (uint256): 3600
Arg [3] : _smpToken (address): 0x883aae302e1BE55d895484d4d9fEB60891872C45
Arg [4] : _boxContract (address): 0x67765B835659b57801cE25B1fa169393D628DF0D
-----Encoded View---------------
5 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000a8
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000e10
Arg [3] : 000000000000000000000000883aae302e1be55d895484d4d9feb60891872c45
Arg [4] : 00000000000000000000000067765b835659b57801ce25b1fa169393d628df0d
Deployed Bytecode Sourcemap
16690:6007:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19215:815;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5276:155;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17977:87;;;:::i;:::-;;22605:89;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17902:67;;;:::i;:::-;;16977:52;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10013:86;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21754:234;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20976:173;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3110:103;;;:::i;:::-;;18072:75;;;:::i;:::-;;17831:63;;;:::i;:::-;;21157:267;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2435:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21996:115;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17722:101;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;22314:283;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20038:205;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;22119:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22214:92;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17625:89;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3368:220;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19215:815;9618:19;:17;:19::i;:::-;7609:21:::1;:19;:21::i;:::-;19358:1:::2;19345:9;;:14;19337:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;19440:1;19420:9;:16;19394:11;:23;19406:10;19394:23;;;;;;;;;;;;;;;;:42;;;;:::i;:::-;:47;;19386:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19472:9;19467:455;19491:9;:16;19487:1;:20;19467:455;;;19589:10;19555:44;;:8;;;;;;;;;;;:16;;;19572:9;19582:1;19572:12;;;;;;;;:::i;:::-;;;;;;;;19555:30;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:44;;;19529:115;;;;;;;;;;;;:::i;:::-;;;;;;;;;19685:10;19659:9;:23;19669:9;19679:1;19669:12;;;;;;;;:::i;:::-;;;;;;;;19659:23;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;19712:8;;;;;;;;;;;:25;;;19756:10;19793:4;19817:9;19827:1;19817:12;;;;;;;;:::i;:::-;;;;;;;;19712:132;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;19895:15;19861:17;:31;19879:9;19889:1;19879:12;;;;;;;;:::i;:::-;;;;;;;;19861:31;;;;;;;;;;;:49;;;;19509:3;;;;;;;19467:455;;;;19959:9;:16;19932:11;:23;19944:10;19932:23;;;;;;;;;;;;;;;;:43;;;;;;;:::i;:::-;;;;;;;;19991:31;20000:9;20011:10;19991:31;;;;;;;:::i;:::-;;;;;;;;7653:20:::1;:18;:20::i;:::-;19215:815:::0;:::o;5276:155::-;5367:6;5393:30;;;5386:37;;5276:155;;;;;;:::o;17977:87::-;2321:13;:11;:13::i;:::-;18041:15:::1;18029:9;:27;;;;17977:87::o:0;22605:89::-;22650:7;22677:9;;22670:16;;22605:89;:::o;17902:67::-;2321:13;:11;:13::i;:::-;17951:10:::1;:8;:10::i;:::-;17902:67::o:0;16977:52::-;;;;;;;;;;;;;;;;;:::o;10013:86::-;10060:4;10084:7;;;;;;;;;;;10077:14;;10013:86;:::o;21754:234::-;9618:19;:17;:19::i;:::-;7609:21:::1;:19;:21::i;:::-;21887:9:::2;21882:99;21906:9;:16;21902:1;:20;21882:99;;;21944:25;21956:9;21966:1;21956:12;;;;;;;;:::i;:::-;;;;;;;;21944:11;:25::i;:::-;21924:3;;;;;;;21882:99;;;;7653:20:::1;:18;:20::i;:::-;21754:234:::0;:::o;20976:173::-;21066:13;21132:9;;21104:25;21120:8;21104:15;:25::i;:::-;:37;;;;:::i;:::-;21097:44;;20976:173;;;:::o;3110:103::-;2321:13;:11;:13::i;:::-;3175:30:::1;3202:1;3175:18;:30::i;:::-;3110:103::o:0;18072:75::-;2321:13;:11;:13::i;:::-;18138:1:::1;18126:9;:13;;;;18072:75::o:0;17831:63::-;2321:13;:11;:13::i;:::-;17878:8:::1;:6;:8::i;:::-;17831:63::o:0;21157:267::-;21257:13;21292:6;21301:1;21292:10;;21288:129;21308:9;:16;21304:1;:20;21288:129;;;21396:9;;21364:29;21380:9;21390:1;21380:12;;;;;;;;:::i;:::-;;;;;;;;21364:15;:29::i;:::-;:41;;;;:::i;:::-;21355:50;;;;;:::i;:::-;;;21326:3;;;;;;;21288:129;;;;21157:267;;;:::o;2435:87::-;2481:7;2508:6;;;;;;;;;;;2501:13;;2435:87;:::o;21996:115::-;22057:7;22084:9;:19;22094:8;22084:19;;;;;;;;;;;;;;;;;;;;;22077:26;;21996:115;;;:::o;17722:101::-;2321:13;:11;:13::i;:::-;17806:9:::1;17798:5;:17;;;;17722:101:::0;:::o;22314:283::-;22380:7;22434:1;22403:33;;:9;:19;22413:8;22403:19;;;;;;;;;;;;;;;;;;;;;:33;;;22400:171;;22544:4;;22536:5;;:12;;;;:::i;:::-;22504:17;:27;22522:8;22504:27;;;;;;;;;;;;22486:15;:45;;;;:::i;:::-;22485:64;;;;:::i;:::-;22477:4;;22469:5;;:12;;;;:::i;:::-;:81;;;;:::i;:::-;22462:88;;;;22400:171;22588:1;22581:8;;22314:283;;;;:::o;20038:205::-;9618:19;:17;:19::i;:::-;7609:21:::1;:19;:21::i;:::-;20162:19:::2;20171:9;20162:8;:19::i;:::-;20219:9;:16;20192:11;:23;20204:10;20192:23;;;;;;;;;;;;;;;;:43;;;;;;;:::i;:::-;;;;;;;;7653:20:::1;:18;:20::i;:::-;20038:205:::0;:::o;22119:87::-;22166:7;22193:5;;22186:12;;22119:87;:::o;22214:92::-;22262:7;22289:9;;22282:16;;22214:92;:::o;17625:89::-;2321:13;:11;:13::i;:::-;17702:4:::1;17690:9;:16;;;;17625:89:::0;:::o;3368:220::-;2321:13;:11;:13::i;:::-;3473:1:::1;3453:22;;:8;:22;;::::0;3449:93:::1;;3527:1;3499:31;;;;;;;;;;;:::i;:::-;;;;;;;;3449:93;3552:28;3571:8;3552:18;:28::i;:::-;3368:220:::0;:::o;10172:108::-;10243:8;:6;:8::i;:::-;10242:9;10234:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;10172:108::o;7689:293::-;7091:1;7823:7;;:19;7815:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;7091:1;7956:7;:18;;;;7689:293::o;7990:213::-;7047:1;8173:7;:22;;;;7990:213::o;2600:166::-;2671:12;:10;:12::i;:::-;2660:23;;:7;:5;:7::i;:::-;:23;;;2656:103;;2734:12;:10;:12::i;:::-;2707:40;;;;;;;;;;;:::i;:::-;;;;;;;;2656:103;2600:166::o;10868:120::-;9877:16;:14;:16::i;:::-;10937:5:::1;10927:7;;:15;;;;;;;;;;;;;;;;;;10958:22;10967:12;:10;:12::i;:::-;10958:22;;;;;;:::i;:::-;;;;;;;;10868:120::o:0;21432:314::-;21491:13;21507:24;21522:8;21507:14;:24::i;:::-;21491:40;;21553:1;21545:5;:9;21542:197;;;21580:11;;;;;;;;;;;:15;;;21596:8;21606:5;21580:32;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21723:4;;21715:5;;21687:25;21703:8;21687:15;:25::i;:::-;:33;;;;:::i;:::-;:40;;;;:::i;:::-;21657:17;:27;21675:8;21657:27;;;;;;;;;;;;:70;;;;:::i;:::-;21627:17;:27;21645:8;21627:27;;;;;;;;;;;:100;;;;21542:197;21480:266;21432:314;:::o;18538:450::-;18604:7;18658:1;18627:33;;:9;:19;18637:8;18627:19;;;;;;;;;;;;;;;;;;;;;:33;;;18624:338;;18702:1;18689:9;;:14;18686:265;;18797:4;;18789:5;;:12;;;;:::i;:::-;18757:17;:27;18775:8;18757:27;;;;;;;;;;;;18745:9;;:39;;;;:::i;:::-;18744:58;;;;:::i;:::-;18737:65;;;;18686:265;18921:4;;18913:5;;:12;;;;:::i;:::-;18881:17;:27;18899:8;18881:27;;;;;;;;;;;;18863:15;:45;;;;:::i;:::-;18862:64;;;;:::i;:::-;18855:71;;;;18624:338;18979:1;18972:8;;18538:450;;;;:::o;3748:191::-;3822:16;3841:6;;;;;;;;;;;3822:25;;3867:8;3858:6;;:17;;;;;;;;;;;;;;;;;;3922:8;3891:40;;3912:8;3891:40;;;;;;;;;;;;3811:128;3748:191;:::o;10609:118::-;9618:19;:17;:19::i;:::-;10679:4:::1;10669:7;;:14;;;;;;;;;;;;;;;;;;10699:20;10706:12;:10;:12::i;:::-;10699:20;;;;;;:::i;:::-;;;;;;;;10609:118::o:0;20404:501::-;20475:9;20470:377;20494:9;:16;20490:1;:20;20470:377;;;20567:10;20540:37;;:9;:23;20550:9;20560:1;20550:12;;;;;;;;:::i;:::-;;;;;;;;20540:23;;;;;;;;;;;;;;;;;;;;;:37;;;20532:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;20608:25;20620:9;20630:1;20620:12;;;;;;;;:::i;:::-;;;;;;;;20608:11;:25::i;:::-;20684:1;20650:9;:23;20660:9;20670:1;20660:12;;;;;;;;:::i;:::-;;;;;;;;20650:23;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;20703:8;;;;;;;;;;;:25;;;20755:4;20779:10;20808:9;20818:1;20808:12;;;;;;;;:::i;:::-;;;;;;;;20703:132;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20512:3;;;;;;;20470:377;;;;20864:33;20875:9;20886:10;20864:33;;;;;;;:::i;:::-;;;;;;;;20404:501;:::o;601:98::-;654:7;681:10;674:17;;601:98;:::o;10357:108::-;10424:8;:6;:8::i;:::-;10416:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;10357:108::o;7:75:1:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:102;498:6;549:2;545:7;540:2;533:5;529:14;525:28;515:38;;457:102;;;:::o;565:180::-;613:77;610:1;603:88;710:4;707:1;700:15;734:4;731:1;724:15;751:281;834:27;856:4;834:27;:::i;:::-;826:6;822:40;964:6;952:10;949:22;928:18;916:10;913:34;910:62;907:88;;;975:18;;:::i;:::-;907:88;1015:10;1011:2;1004:22;794:238;751:281;;:::o;1038:129::-;1072:6;1099:20;;:::i;:::-;1089:30;;1128:33;1156:4;1148:6;1128:33;:::i;:::-;1038:129;;;:::o;1173:311::-;1250:4;1340:18;1332:6;1329:30;1326:56;;;1362:18;;:::i;:::-;1326:56;1412:4;1404:6;1400:17;1392:25;;1472:4;1466;1462:15;1454:23;;1173:311;;;:::o;1490:117::-;1599:1;1596;1589:12;1613:77;1650:7;1679:5;1668:16;;1613:77;;;:::o;1696:122::-;1769:24;1787:5;1769:24;:::i;:::-;1762:5;1759:35;1749:63;;1808:1;1805;1798:12;1749:63;1696:122;:::o;1824:139::-;1870:5;1908:6;1895:20;1886:29;;1924:33;1951:5;1924:33;:::i;:::-;1824:139;;;;:::o;1986:710::-;2082:5;2107:81;2123:64;2180:6;2123:64;:::i;:::-;2107:81;:::i;:::-;2098:90;;2208:5;2237:6;2230:5;2223:21;2271:4;2264:5;2260:16;2253:23;;2324:4;2316:6;2312:17;2304:6;2300:30;2353:3;2345:6;2342:15;2339:122;;;2372:79;;:::i;:::-;2339:122;2487:6;2470:220;2504:6;2499:3;2496:15;2470:220;;;2579:3;2608:37;2641:3;2629:10;2608:37;:::i;:::-;2603:3;2596:50;2675:4;2670:3;2666:14;2659:21;;2546:144;2530:4;2525:3;2521:14;2514:21;;2470:220;;;2474:21;2088:608;;1986:710;;;;;:::o;2719:370::-;2790:5;2839:3;2832:4;2824:6;2820:17;2816:27;2806:122;;2847:79;;:::i;:::-;2806:122;2964:6;2951:20;2989:94;3079:3;3071:6;3064:4;3056:6;3052:17;2989:94;:::i;:::-;2980:103;;2796:293;2719:370;;;;:::o;3095:539::-;3179:6;3228:2;3216:9;3207:7;3203:23;3199:32;3196:119;;;3234:79;;:::i;:::-;3196:119;3382:1;3371:9;3367:17;3354:31;3412:18;3404:6;3401:30;3398:117;;;3434:79;;:::i;:::-;3398:117;3539:78;3609:7;3600:6;3589:9;3585:22;3539:78;:::i;:::-;3529:88;;3325:302;3095:539;;;;:::o;3640:126::-;3677:7;3717:42;3710:5;3706:54;3695:65;;3640:126;;;:::o;3772:96::-;3809:7;3838:24;3856:5;3838:24;:::i;:::-;3827:35;;3772:96;;;:::o;3874:122::-;3947:24;3965:5;3947:24;:::i;:::-;3940:5;3937:35;3927:63;;3986:1;3983;3976:12;3927:63;3874:122;:::o;4002:139::-;4048:5;4086:6;4073:20;4064:29;;4102:33;4129:5;4102:33;:::i;:::-;4002:139;;;;:::o;4147:117::-;4256:1;4253;4246:12;4270:307;4331:4;4421:18;4413:6;4410:30;4407:56;;;4443:18;;:::i;:::-;4407:56;4481:29;4503:6;4481:29;:::i;:::-;4473:37;;4565:4;4559;4555:15;4547:23;;4270:307;;;:::o;4583:146::-;4680:6;4675:3;4670;4657:30;4721:1;4712:6;4707:3;4703:16;4696:27;4583:146;;;:::o;4735:423::-;4812:5;4837:65;4853:48;4894:6;4853:48;:::i;:::-;4837:65;:::i;:::-;4828:74;;4925:6;4918:5;4911:21;4963:4;4956:5;4952:16;5001:3;4992:6;4987:3;4983:16;4980:25;4977:112;;;5008:79;;:::i;:::-;4977:112;5098:54;5145:6;5140:3;5135;5098:54;:::i;:::-;4818:340;4735:423;;;;;:::o;5177:338::-;5232:5;5281:3;5274:4;5266:6;5262:17;5258:27;5248:122;;5289:79;;:::i;:::-;5248:122;5406:6;5393:20;5431:78;5505:3;5497:6;5490:4;5482:6;5478:17;5431:78;:::i;:::-;5422:87;;5238:277;5177:338;;;;:::o;5521:943::-;5616:6;5624;5632;5640;5689:3;5677:9;5668:7;5664:23;5660:33;5657:120;;;5696:79;;:::i;:::-;5657:120;5816:1;5841:53;5886:7;5877:6;5866:9;5862:22;5841:53;:::i;:::-;5831:63;;5787:117;5943:2;5969:53;6014:7;6005:6;5994:9;5990:22;5969:53;:::i;:::-;5959:63;;5914:118;6071:2;6097:53;6142:7;6133:6;6122:9;6118:22;6097:53;:::i;:::-;6087:63;;6042:118;6227:2;6216:9;6212:18;6199:32;6258:18;6250:6;6247:30;6244:117;;;6280:79;;:::i;:::-;6244:117;6385:62;6439:7;6430:6;6419:9;6415:22;6385:62;:::i;:::-;6375:72;;6170:287;5521:943;;;;;;;:::o;6470:149::-;6506:7;6546:66;6539:5;6535:78;6524:89;;6470:149;;;:::o;6625:115::-;6710:23;6727:5;6710:23;:::i;:::-;6705:3;6698:36;6625:115;;:::o;6746:218::-;6837:4;6875:2;6864:9;6860:18;6852:26;;6888:69;6954:1;6943:9;6939:17;6930:6;6888:69;:::i;:::-;6746:218;;;;:::o;6970:118::-;7057:24;7075:5;7057:24;:::i;:::-;7052:3;7045:37;6970:118;;:::o;7094:222::-;7187:4;7225:2;7214:9;7210:18;7202:26;;7238:71;7306:1;7295:9;7291:17;7282:6;7238:71;:::i;:::-;7094:222;;;;:::o;7322:329::-;7381:6;7430:2;7418:9;7409:7;7405:23;7401:32;7398:119;;;7436:79;;:::i;:::-;7398:119;7556:1;7581:53;7626:7;7617:6;7606:9;7602:22;7581:53;:::i;:::-;7571:63;;7527:117;7322:329;;;;:::o;7657:90::-;7691:7;7734:5;7727:13;7720:21;7709:32;;7657:90;;;:::o;7753:109::-;7834:21;7849:5;7834:21;:::i;:::-;7829:3;7822:34;7753:109;;:::o;7868:210::-;7955:4;7993:2;7982:9;7978:18;7970:26;;8006:65;8068:1;8057:9;8053:17;8044:6;8006:65;:::i;:::-;7868:210;;;;:::o;8084:118::-;8171:24;8189:5;8171:24;:::i;:::-;8166:3;8159:37;8084:118;;:::o;8208:222::-;8301:4;8339:2;8328:9;8324:18;8316:26;;8352:71;8420:1;8409:9;8405:17;8396:6;8352:71;:::i;:::-;8208:222;;;;:::o;8436:329::-;8495:6;8544:2;8532:9;8523:7;8519:23;8515:32;8512:119;;;8550:79;;:::i;:::-;8512:119;8670:1;8695:53;8740:7;8731:6;8720:9;8716:22;8695:53;:::i;:::-;8685:63;;8641:117;8436:329;;;;:::o;8771:169::-;8855:11;8889:6;8884:3;8877:19;8929:4;8924:3;8920:14;8905:29;;8771:169;;;;:::o;8946:161::-;9086:13;9082:1;9074:6;9070:14;9063:37;8946:161;:::o;9113:366::-;9255:3;9276:67;9340:2;9335:3;9276:67;:::i;:::-;9269:74;;9352:93;9441:3;9352:93;:::i;:::-;9470:2;9465:3;9461:12;9454:19;;9113:366;;;:::o;9485:419::-;9651:4;9689:2;9678:9;9674:18;9666:26;;9738:9;9732:4;9728:20;9724:1;9713:9;9709:17;9702:47;9766:131;9892:4;9766:131;:::i;:::-;9758:139;;9485:419;;;:::o;9910:180::-;9958:77;9955:1;9948:88;10055:4;10052:1;10045:15;10079:4;10076:1;10069:15;10096:191;10136:3;10155:20;10173:1;10155:20;:::i;:::-;10150:25;;10189:20;10207:1;10189:20;:::i;:::-;10184:25;;10232:1;10229;10225:9;10218:16;;10253:3;10250:1;10247:10;10244:36;;;10260:18;;:::i;:::-;10244:36;10096:191;;;;:::o;10293:158::-;10433:10;10429:1;10421:6;10417:14;10410:34;10293:158;:::o;10457:365::-;10599:3;10620:66;10684:1;10679:3;10620:66;:::i;:::-;10613:73;;10695:93;10784:3;10695:93;:::i;:::-;10813:2;10808:3;10804:12;10797:19;;10457:365;;;:::o;10828:419::-;10994:4;11032:2;11021:9;11017:18;11009:26;;11081:9;11075:4;11071:20;11067:1;11056:9;11052:17;11045:47;11109:131;11235:4;11109:131;:::i;:::-;11101:139;;10828:419;;;:::o;11253:180::-;11301:77;11298:1;11291:88;11398:4;11395:1;11388:15;11422:4;11419:1;11412:15;11439:143;11496:5;11527:6;11521:13;11512:22;;11543:33;11570:5;11543:33;:::i;:::-;11439:143;;;;:::o;11588:351::-;11658:6;11707:2;11695:9;11686:7;11682:23;11678:32;11675:119;;;11713:79;;:::i;:::-;11675:119;11833:1;11858:64;11914:7;11905:6;11894:9;11890:22;11858:64;:::i;:::-;11848:74;;11804:128;11588:351;;;;:::o;11945:159::-;12085:11;12081:1;12073:6;12069:14;12062:35;11945:159;:::o;12110:365::-;12252:3;12273:66;12337:1;12332:3;12273:66;:::i;:::-;12266:73;;12348:93;12437:3;12348:93;:::i;:::-;12466:2;12461:3;12457:12;12450:19;;12110:365;;;:::o;12481:419::-;12647:4;12685:2;12674:9;12670:18;12662:26;;12734:9;12728:4;12724:20;12720:1;12709:9;12705:17;12698:47;12762:131;12888:4;12762:131;:::i;:::-;12754:139;;12481:419;;;:::o;12906:442::-;13055:4;13093:2;13082:9;13078:18;13070:26;;13106:71;13174:1;13163:9;13159:17;13150:6;13106:71;:::i;:::-;13187:72;13255:2;13244:9;13240:18;13231:6;13187:72;:::i;:::-;13269;13337:2;13326:9;13322:18;13313:6;13269:72;:::i;:::-;12906:442;;;;;;:::o;13354:114::-;13421:6;13455:5;13449:12;13439:22;;13354:114;;;:::o;13474:184::-;13573:11;13607:6;13602:3;13595:19;13647:4;13642:3;13638:14;13623:29;;13474:184;;;;:::o;13664:132::-;13731:4;13754:3;13746:11;;13784:4;13779:3;13775:14;13767:22;;13664:132;;;:::o;13802:108::-;13879:24;13897:5;13879:24;:::i;:::-;13874:3;13867:37;13802:108;;:::o;13916:179::-;13985:10;14006:46;14048:3;14040:6;14006:46;:::i;:::-;14084:4;14079:3;14075:14;14061:28;;13916:179;;;;:::o;14101:113::-;14171:4;14203;14198:3;14194:14;14186:22;;14101:113;;;:::o;14250:732::-;14369:3;14398:54;14446:5;14398:54;:::i;:::-;14468:86;14547:6;14542:3;14468:86;:::i;:::-;14461:93;;14578:56;14628:5;14578:56;:::i;:::-;14657:7;14688:1;14673:284;14698:6;14695:1;14692:13;14673:284;;;14774:6;14768:13;14801:63;14860:3;14845:13;14801:63;:::i;:::-;14794:70;;14887:60;14940:6;14887:60;:::i;:::-;14877:70;;14733:224;14720:1;14717;14713:9;14708:14;;14673:284;;;14677:14;14973:3;14966:10;;14374:608;;;14250:732;;;;:::o;14988:483::-;15159:4;15197:2;15186:9;15182:18;15174:26;;15246:9;15240:4;15236:20;15232:1;15221:9;15217:17;15210:47;15274:108;15377:4;15368:6;15274:108;:::i;:::-;15266:116;;15392:72;15460:2;15449:9;15445:18;15436:6;15392:72;:::i;:::-;14988:483;;;;;:::o;15477:410::-;15517:7;15540:20;15558:1;15540:20;:::i;:::-;15535:25;;15574:20;15592:1;15574:20;:::i;:::-;15569:25;;15629:1;15626;15622:9;15651:30;15669:11;15651:30;:::i;:::-;15640:41;;15830:1;15821:7;15817:15;15814:1;15811:22;15791:1;15784:9;15764:83;15741:139;;15860:18;;:::i;:::-;15741:139;15525:362;15477:410;;;;:::o;15893:194::-;15933:4;15953:20;15971:1;15953:20;:::i;:::-;15948:25;;15987:20;16005:1;15987:20;:::i;:::-;15982:25;;16031:1;16028;16024:9;16016:17;;16055:1;16049:4;16046:11;16043:37;;;16060:18;;:::i;:::-;16043:37;15893:194;;;;:::o;16093:180::-;16141:77;16138:1;16131:88;16238:4;16235:1;16228:15;16262:4;16259:1;16252:15;16279:176;16311:1;16328:20;16346:1;16328:20;:::i;:::-;16323:25;;16362:20;16380:1;16362:20;:::i;:::-;16357:25;;16401:1;16391:35;;16406:18;;:::i;:::-;16391:35;16447:1;16444;16440:9;16435:14;;16279:176;;;;:::o;16461:166::-;16601:18;16597:1;16589:6;16585:14;16578:42;16461:166;:::o;16633:366::-;16775:3;16796:67;16860:2;16855:3;16796:67;:::i;:::-;16789:74;;16872:93;16961:3;16872:93;:::i;:::-;16990:2;16985:3;16981:12;16974:19;;16633:366;;;:::o;17005:419::-;17171:4;17209:2;17198:9;17194:18;17186:26;;17258:9;17252:4;17248:20;17244:1;17233:9;17229:17;17222:47;17286:131;17412:4;17286:131;:::i;:::-;17278:139;;17005:419;;;:::o;17430:181::-;17570:33;17566:1;17558:6;17554:14;17547:57;17430:181;:::o;17617:366::-;17759:3;17780:67;17844:2;17839:3;17780:67;:::i;:::-;17773:74;;17856:93;17945:3;17856:93;:::i;:::-;17974:2;17969:3;17965:12;17958:19;;17617:366;;;:::o;17989:419::-;18155:4;18193:2;18182:9;18178:18;18170:26;;18242:9;18236:4;18232:20;18228:1;18217:9;18213:17;18206:47;18270:131;18396:4;18270:131;:::i;:::-;18262:139;;17989:419;;;:::o;18414:332::-;18535:4;18573:2;18562:9;18558:18;18550:26;;18586:71;18654:1;18643:9;18639:17;18630:6;18586:71;:::i;:::-;18667:72;18735:2;18724:9;18720:18;18711:6;18667:72;:::i;:::-;18414:332;;;;;:::o;18752:185::-;18792:1;18809:20;18827:1;18809:20;:::i;:::-;18804:25;;18843:20;18861:1;18843:20;:::i;:::-;18838:25;;18882:1;18872:35;;18887:18;;:::i;:::-;18872:35;18929:1;18926;18922:9;18917:14;;18752:185;;;;:::o;18943:170::-;19083:22;19079:1;19071:6;19067:14;19060:46;18943:170;:::o;19119:366::-;19261:3;19282:67;19346:2;19341:3;19282:67;:::i;:::-;19275:74;;19358:93;19447:3;19358:93;:::i;:::-;19476:2;19471:3;19467:12;19460:19;;19119:366;;;:::o;19491:419::-;19657:4;19695:2;19684:9;19680:18;19672:26;;19744:9;19738:4;19734:20;19730:1;19719:9;19715:17;19708:47;19772:131;19898:4;19772:131;:::i;:::-;19764:139;;19491:419;;;:::o
Swarm Source
ipfs://b20ff79ed594455e5c497fac76aed59ce97847e7a9a0008248c7bdb9aab0883d
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 34 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
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.