Feature Tip: Add private address tag to any address under My Name Tag !
Source Code
Latest 25 from a total of 158 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Batch Unstake | 19401127 | 737 days ago | IN | 0 ETH | 0.00481047 | ||||
| Batch Unstake | 19080656 | 782 days ago | IN | 0 ETH | 0.00389155 | ||||
| Batch Unstake | 18790766 | 823 days ago | IN | 0 ETH | 0.00362639 | ||||
| Batch Unstake | 18752974 | 828 days ago | IN | 0 ETH | 0.00893139 | ||||
| Batch Unstake | 18733047 | 831 days ago | IN | 0 ETH | 0.00346432 | ||||
| Batch Unstake | 18701877 | 835 days ago | IN | 0 ETH | 0.00312123 | ||||
| Batch Unstake | 18664565 | 840 days ago | IN | 0 ETH | 0.00305996 | ||||
| Batch Unstake | 18664564 | 840 days ago | IN | 0 ETH | 0.00298231 | ||||
| Batch Unstake | 18664564 | 840 days ago | IN | 0 ETH | 0.00298231 | ||||
| Batch Unstake | 18664563 | 840 days ago | IN | 0 ETH | 0.00309195 | ||||
| Batch Unstake | 18664562 | 840 days ago | IN | 0 ETH | 0.00365774 | ||||
| Batch Unstake | 18638438 | 844 days ago | IN | 0 ETH | 0.00174818 | ||||
| Batch Unstake | 18590433 | 851 days ago | IN | 0 ETH | 0.00178235 | ||||
| Batch Unstake | 18567354 | 854 days ago | IN | 0 ETH | 0.01204999 | ||||
| Batch Unstake | 18546227 | 857 days ago | IN | 0 ETH | 0.00433147 | ||||
| Batch Unstake | 18546074 | 857 days ago | IN | 0 ETH | 0.00259563 | ||||
| Batch Unstake | 18544110 | 857 days ago | IN | 0 ETH | 0.00373057 | ||||
| Batch Unstake | 18544107 | 857 days ago | IN | 0 ETH | 0.00443769 | ||||
| Batch Unstake | 18526108 | 860 days ago | IN | 0 ETH | 0.00338148 | ||||
| Batch Unstake | 18524322 | 860 days ago | IN | 0 ETH | 0.00401185 | ||||
| Batch Unstake | 18501588 | 863 days ago | IN | 0 ETH | 0.00125248 | ||||
| Batch Unstake | 18500888 | 863 days ago | IN | 0 ETH | 0.00129204 | ||||
| Batch Unstake | 18463278 | 869 days ago | IN | 0 ETH | 0.00232574 | ||||
| Batch Unstake | 18455179 | 870 days ago | IN | 0 ETH | 0.00096054 | ||||
| Batch Stake | 18429459 | 873 days ago | IN | 0 ETH | 0.00460178 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
CreateraStaking
Compiler Version
v0.8.17+commit.8df45f5f
Contract Source Code (Solidity Multiple files format)
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import "./ReentrancyGuard.sol";
import "./IERC20.sol";
import "./IERC721.sol";
import "./IERC721Receiver.sol";
import "./Ownable.sol";
// _____ _____ _____ ___ _____ _____ _____ ___
// / ___| | _ \ | ____| / | |_ _| | ____| | _ \ / |
// | | | |_| | | |__ / /| | | | | |__ | |_| | / /| |
// | | | _ / | __| / / | | | | | __| | _ / / / | |
// | |___ | | \ \ | |___ / / | | | | | |___ | | \ \ / / | |
// \_____| |_| \_\ |_____| /_/ |_| |_| |_____| |_| \_\ /_/ |_|
contract CreateraStaking is Ownable, ReentrancyGuard, IERC721Receiver {
struct Stake {
address owner;
uint256 stakeAt;
uint256 unstakeAt;
}
//NFT address
address public createraAddress;
// address internal constant _createraAddress = "";
// maps tokenId to stake
mapping(uint256 => Stake) internal pool;
/**
*
* @param owner ownerAddress
* @param tokenId landTokenId
* @param stakedAt timestamp
* @param txType 1-stake 2-unstake
*/
event Staked(
address owner,
uint256 tokenId,
uint256 stakedAt,
uint256 txType
);
/* @notice constructor for the Createra Genesis Land Staking contract.
@dev sets Createra Genesis Land Address .
@param nftAddress the base url of the NFT
*/
constructor(address createraAddress_) {
require(
createraAddress_ != address(0),
"createraAddress can't be zero!!!"
);
createraAddress = createraAddress_;
}
/* fallback function */
receive() external payable {
payable(owner()).transfer(msg.value);
}
/* Recycling ERC20 */
function withdrawERC20(address erc20) public onlyOwner {
uint256 amount = IERC20(erc20).balanceOf(address(this));
require(IERC20(erc20).transfer(owner(), amount));
}
/**
* batchStake
* @param tokenIds stake tokenIds
*/
function batchStake(uint256[] calldata tokenIds) external nonReentrant {
for (uint i = 0; i < tokenIds.length; i++) {
stake(tokenIds[i]);
}
}
/* stake */
function stake(uint256 tokenId) private {
require(
IERC721(createraAddress).ownerOf(tokenId) == _msgSender(),
"not your token"
);
uint256 stakeAt = block.timestamp;
pool[tokenId].owner = _msgSender();
pool[tokenId].stakeAt = stakeAt;
IERC721(createraAddress).safeTransferFrom(
_msgSender(),
address(this),
tokenId
);
emit Staked(_msgSender(), tokenId, stakeAt, 1);
}
/**
* batchUnstake
* @param tokenIds unstake tokenIds
* msg.sender == owner() : manager helps token owner unstake their tokens while are on stakeing
*/
function batchUnstake(uint256[] calldata tokenIds) external nonReentrant {
for (uint i = 0; i < tokenIds.length; i++) {
unstake(tokenIds[i]);
}
}
/* stake */
function unstake(uint256 tokenId) private {
require(
pool[tokenId].owner == _msgSender() || _msgSender() == owner(),
"not your token"
);
require(
pool[tokenId].stakeAt != 0 &&
pool[tokenId].stakeAt > pool[tokenId].unstakeAt,
"token is not staking"
);
uint256 unstakeAt = block.timestamp;
pool[tokenId].unstakeAt = unstakeAt;
IERC721(createraAddress).transferFrom(
address(this),
pool[tokenId].owner,
tokenId
);
emit Staked(pool[tokenId].owner, tokenId, unstakeAt, 2);
}
/**
* token stakeInfo
* @param tokenIds stakeTokenInfo
* if stakeInfo.stakeAt > stakeInfo.unstakeAt token is on stake
* if stakeInfo.stakeAt <= stakeInfo.unstakeAt token is on unstake
*/
function getStakeInfo(
uint256[] calldata tokenIds
) public view returns (Stake[] memory stakeInfos) {
stakeInfos = new Stake[](tokenIds.length);
for (uint i = 0; i < tokenIds.length; i++) {
stakeInfos[i] = pool[tokenIds[i]];
}
}
/**
* @dev See {IERC721Receiver-onERC721Received}.
*
* Always returns `IERC721Receiver.onERC721Received.selector`.
*/
function onERC721Received(
address,
address,
uint256,
bytes memory
) public virtual override returns (bytes4) {
return this.onERC721Received.selector;
}
}
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)
pragma solidity ^0.8.0;
/**
* @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;
}
}
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC165.sol)
pragma solidity ^0.8.0;
/**
* @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);
}
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.6.0) (token/ERC20/IERC20.sol)
pragma solidity ^0.8.0;
/**
* @dev Interface of the ERC20 standard as defined in the EIP.
*/
interface IERC20 {
/**
* @dev Emitted when `value` tokens are moved from one account (`from`) to
* another (`to`).
*
* Note that `value` may be zero.
*/
event Transfer(address indexed from, address indexed to, uint256 value);
/**
* @dev Emitted when the allowance of a `spender` for an `owner` is set by
* a call to {approve}. `value` is the new allowance.
*/
event Approval(address indexed owner, address indexed spender, uint256 value);
/**
* @dev Returns the amount of tokens in existence.
*/
function totalSupply() external view returns (uint256);
/**
* @dev Returns the amount of tokens owned by `account`.
*/
function balanceOf(address account) external view returns (uint256);
/**
* @dev Moves `amount` tokens from the caller's account to `to`.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* Emits a {Transfer} event.
*/
function transfer(address to, uint256 amount) external returns (bool);
/**
* @dev Returns the remaining number of tokens that `spender` will be
* allowed to spend on behalf of `owner` through {transferFrom}. This is
* zero by default.
*
* This value changes when {approve} or {transferFrom} are called.
*/
function allowance(address owner, address spender) external view returns (uint256);
/**
* @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* IMPORTANT: Beware that changing an allowance with this method brings the risk
* that someone may use both the old and the new allowance by unfortunate
* transaction ordering. One possible solution to mitigate this race
* condition is to first reduce the spender's allowance to 0 and set the
* desired value afterwards:
* https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
*
* Emits an {Approval} event.
*/
function approve(address spender, uint256 amount) external returns (bool);
/**
* @dev Moves `amount` tokens from `from` to `to` using the
* allowance mechanism. `amount` is then deducted from the caller's
* allowance.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* Emits a {Transfer} event.
*/
function transferFrom(
address from,
address to,
uint256 amount
) external returns (bool);
}
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.8.0) (token/ERC721/IERC721.sol)
pragma solidity ^0.8.0;
import "./IERC165.sol";
/**
* @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 caller.
*
* 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);
}
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.6.0) (token/ERC721/IERC721Receiver.sol)
pragma solidity ^0.8.0;
/**
* @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);
}
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.7.0) (access/Ownable.sol)
pragma solidity ^0.8.0;
import "./Context.sol";
/**
* @dev Contract module which provides a basic access control mechanism, where
* there is an account (an owner) that can be granted exclusive access to
* specific functions.
*
* By default, the owner account will be the one that deploys the contract. This
* can later be changed with {transferOwnership}.
*
* This module is used through inheritance. It will make available the modifier
* `onlyOwner`, which can be applied to your functions to restrict their use to
* the owner.
*/
abstract contract Ownable is Context {
address private _owner;
event OwnershipTransferred(
address indexed previousOwner,
address indexed newOwner
);
/**
* @dev Initializes the contract setting the deployer as the initial owner.
*/
constructor() {
_transferOwnership(_msgSender());
}
/**
* @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 {
require(owner() == _msgSender(), "Ownable: caller is not the owner");
}
/**
* @dev Leaves the contract without owner. It will not be possible to call
* `onlyOwner` functions anymore. Can only be called by the current owner.
*
* NOTE: Renouncing ownership will leave the contract without an owner,
* thereby removing any functionality that is only available to the owner.
*/
function renounceOwnership() public virtual onlyOwner {
_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 {
require(
newOwner != address(0),
"Ownable: new owner is the zero address"
);
_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);
}
}
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.8.0) (security/ReentrancyGuard.sol)
pragma solidity ^0.8.0;
/**
* @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;
}
}
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"createraAddress_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"stakedAt","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"txType","type":"uint256"}],"name":"Staked","type":"event"},{"inputs":[{"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"}],"name":"batchStake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"}],"name":"batchUnstake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"createraAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"}],"name":"getStakeInfo","outputs":[{"components":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"stakeAt","type":"uint256"},{"internalType":"uint256","name":"unstakeAt","type":"uint256"}],"internalType":"struct CreateraStaking.Stake[]","name":"stakeInfos","type":"tuple[]"}],"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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"erc20","type":"address"}],"name":"withdrawERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
608060405234801561001057600080fd5b50604051610e25380380610e2583398101604081905261002f9161010b565b610038336100bb565b600180556001600160a01b0381166100965760405162461bcd60e51b815260206004820181905260248201527f6372656174657261416464726573732063616e2774206265207a65726f212121604482015260640160405180910390fd5b600280546001600160a01b0319166001600160a01b039290921691909117905561013b565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561011d57600080fd5b81516001600160a01b038116811461013457600080fd5b9392505050565b610cdb8061014a6000396000f3fe60806040526004361061008a5760003560e01c8063a071469711610059578063a071469714610184578063c2127793146101b1578063d2acd13d146101d1578063f2fde38b146101f1578063f4f3b2001461021157600080fd5b8063150b7a02146100d057806322afbd4914610119578063715018a6146101515780638da5cb5b1461016657600080fd5b366100cb57600080546040516001600160a01b03909116913480156108fc02929091818181858888f193505050501580156100c9573d6000803e3d6000fd5b005b600080fd5b3480156100dc57600080fd5b506100fb6100eb366004610a35565b630a85bd0160e11b949350505050565b6040516001600160e01b031990911681526020015b60405180910390f35b34801561012557600080fd5b50600254610139906001600160a01b031681565b6040516001600160a01b039091168152602001610110565b34801561015d57600080fd5b506100c9610231565b34801561017257600080fd5b506000546001600160a01b0316610139565b34801561019057600080fd5b506101a461019f366004610b15565b610245565b6040516101109190610b8a565b3480156101bd57600080fd5b506100c96101cc366004610b15565b610360565b3480156101dd57600080fd5b506100c96101ec366004610b15565b6103b4565b3480156101fd57600080fd5b506100c961020c366004610bec565b6103fa565b34801561021d57600080fd5b506100c961022c366004610bec565b610478565b610239610588565b61024360006105e2565b565b60608167ffffffffffffffff81111561026057610260610a1f565b6040519080825280602002602001820160405280156102be57816020015b6102ab604051806060016040528060006001600160a01b0316815260200160008152602001600081525090565b81526020019060019003908161027e5790505b50905060005b8281101561035957600360008585848181106102e2576102e2610c10565b60209081029290920135835250818101929092526040908101600020815160608101835281546001600160a01b031681526001820154938101939093526002015490820152825183908390811061033b5761033b610c10565b6020026020010181905250808061035190610c26565b9150506102c4565b5092915050565b610368610632565b60005b818110156103a65761039483838381811061038857610388610c10565b9050602002013561068b565b8061039e81610c26565b91505061036b565b506103b060018055565b5050565b6103bc610632565b60005b818110156103a6576103e88383838181106103dc576103dc610c10565b90506020020135610840565b806103f281610c26565b9150506103bf565b610402610588565b6001600160a01b03811661046c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b610475816105e2565b50565b610480610588565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa1580156104c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104eb9190610c4d565b9050816001600160a01b031663a9059cbb61050e6000546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303816000875af115801561055b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057f9190610c66565b6103b057600080fd5b6000546001600160a01b031633146102435760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610463565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6002600154036106845760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610463565b6002600155565b336002546040516331a9108f60e11b8152600481018490526001600160a01b039283169290911690636352211e90602401602060405180830381865afa1580156106d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106fd9190610c88565b6001600160a01b0316146107445760405162461bcd60e51b815260206004820152600e60248201526d3737ba103cb7bab9103a37b5b2b760911b6044820152606401610463565b4233600083815260036020526040902080546001600160a01b0319166001600160a01b03928316178155600101829055600254166342842e0e336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015230602482015260448101859052606401600060405180830381600087803b1580156107cc57600080fd5b505af11580156107e0573d6000803e3d6000fd5b505050507fb4caaf29adda3eefee3ad552a8e85058589bf834c7466cae4ee58787f70589ed61080c3390565b604080516001600160a01b039092168252602082018590528101839052600160608201526080015b60405180910390a15050565b6000818152600360205260409020546001600160a01b031633148061086f57506000546001600160a01b031633145b6108ac5760405162461bcd60e51b815260206004820152600e60248201526d3737ba103cb7bab9103a37b5b2b760911b6044820152606401610463565b600081815260036020526040902060010154158015906108e2575060008181526003602052604090206002810154600190910154115b6109255760405162461bcd60e51b8152602060048201526014602482015273746f6b656e206973206e6f74207374616b696e6760601b6044820152606401610463565b6000818152600360205260409081902042600280830182905554915492516323b872dd60e01b81523060048201526001600160a01b039384166024820152604481018590529092909116906323b872dd90606401600060405180830381600087803b15801561099357600080fd5b505af11580156109a7573d6000803e3d6000fd5b5050506000838152600360209081526040918290205482516001600160a01b039091168152908101859052908101839052600260608201527fb4caaf29adda3eefee3ad552a8e85058589bf834c7466cae4ee58787f70589ed9150608001610834565b6001600160a01b038116811461047557600080fd5b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215610a4b57600080fd5b8435610a5681610a0a565b93506020850135610a6681610a0a565b925060408501359150606085013567ffffffffffffffff80821115610a8a57600080fd5b818701915087601f830112610a9e57600080fd5b813581811115610ab057610ab0610a1f565b604051601f8201601f19908116603f01168101908382118183101715610ad857610ad8610a1f565b816040528281528a6020848701011115610af157600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b60008060208385031215610b2857600080fd5b823567ffffffffffffffff80821115610b4057600080fd5b818501915085601f830112610b5457600080fd5b813581811115610b6357600080fd5b8660208260051b8501011115610b7857600080fd5b60209290920196919550909350505050565b602080825282518282018190526000919060409081850190868401855b82811015610bdf57815180516001600160a01b0316855286810151878601528501518585015260609093019290850190600101610ba7565b5091979650505050505050565b600060208284031215610bfe57600080fd5b8135610c0981610a0a565b9392505050565b634e487b7160e01b600052603260045260246000fd5b600060018201610c4657634e487b7160e01b600052601160045260246000fd5b5060010190565b600060208284031215610c5f57600080fd5b5051919050565b600060208284031215610c7857600080fd5b81518015158114610c0957600080fd5b600060208284031215610c9a57600080fd5b8151610c0981610a0a56fea26469706673582212201a09ee38bd8d4716dd61df3c30e1e8bdf74f9d3b3ad0080be2a8255109f7ad8064736f6c634300081100330000000000000000000000003f3915fb8769ee456035331bc2f7fbe380f6b4d2
Deployed Bytecode
0x60806040526004361061008a5760003560e01c8063a071469711610059578063a071469714610184578063c2127793146101b1578063d2acd13d146101d1578063f2fde38b146101f1578063f4f3b2001461021157600080fd5b8063150b7a02146100d057806322afbd4914610119578063715018a6146101515780638da5cb5b1461016657600080fd5b366100cb57600080546040516001600160a01b03909116913480156108fc02929091818181858888f193505050501580156100c9573d6000803e3d6000fd5b005b600080fd5b3480156100dc57600080fd5b506100fb6100eb366004610a35565b630a85bd0160e11b949350505050565b6040516001600160e01b031990911681526020015b60405180910390f35b34801561012557600080fd5b50600254610139906001600160a01b031681565b6040516001600160a01b039091168152602001610110565b34801561015d57600080fd5b506100c9610231565b34801561017257600080fd5b506000546001600160a01b0316610139565b34801561019057600080fd5b506101a461019f366004610b15565b610245565b6040516101109190610b8a565b3480156101bd57600080fd5b506100c96101cc366004610b15565b610360565b3480156101dd57600080fd5b506100c96101ec366004610b15565b6103b4565b3480156101fd57600080fd5b506100c961020c366004610bec565b6103fa565b34801561021d57600080fd5b506100c961022c366004610bec565b610478565b610239610588565b61024360006105e2565b565b60608167ffffffffffffffff81111561026057610260610a1f565b6040519080825280602002602001820160405280156102be57816020015b6102ab604051806060016040528060006001600160a01b0316815260200160008152602001600081525090565b81526020019060019003908161027e5790505b50905060005b8281101561035957600360008585848181106102e2576102e2610c10565b60209081029290920135835250818101929092526040908101600020815160608101835281546001600160a01b031681526001820154938101939093526002015490820152825183908390811061033b5761033b610c10565b6020026020010181905250808061035190610c26565b9150506102c4565b5092915050565b610368610632565b60005b818110156103a65761039483838381811061038857610388610c10565b9050602002013561068b565b8061039e81610c26565b91505061036b565b506103b060018055565b5050565b6103bc610632565b60005b818110156103a6576103e88383838181106103dc576103dc610c10565b90506020020135610840565b806103f281610c26565b9150506103bf565b610402610588565b6001600160a01b03811661046c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b610475816105e2565b50565b610480610588565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa1580156104c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104eb9190610c4d565b9050816001600160a01b031663a9059cbb61050e6000546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303816000875af115801561055b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057f9190610c66565b6103b057600080fd5b6000546001600160a01b031633146102435760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610463565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6002600154036106845760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610463565b6002600155565b336002546040516331a9108f60e11b8152600481018490526001600160a01b039283169290911690636352211e90602401602060405180830381865afa1580156106d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106fd9190610c88565b6001600160a01b0316146107445760405162461bcd60e51b815260206004820152600e60248201526d3737ba103cb7bab9103a37b5b2b760911b6044820152606401610463565b4233600083815260036020526040902080546001600160a01b0319166001600160a01b03928316178155600101829055600254166342842e0e336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015230602482015260448101859052606401600060405180830381600087803b1580156107cc57600080fd5b505af11580156107e0573d6000803e3d6000fd5b505050507fb4caaf29adda3eefee3ad552a8e85058589bf834c7466cae4ee58787f70589ed61080c3390565b604080516001600160a01b039092168252602082018590528101839052600160608201526080015b60405180910390a15050565b6000818152600360205260409020546001600160a01b031633148061086f57506000546001600160a01b031633145b6108ac5760405162461bcd60e51b815260206004820152600e60248201526d3737ba103cb7bab9103a37b5b2b760911b6044820152606401610463565b600081815260036020526040902060010154158015906108e2575060008181526003602052604090206002810154600190910154115b6109255760405162461bcd60e51b8152602060048201526014602482015273746f6b656e206973206e6f74207374616b696e6760601b6044820152606401610463565b6000818152600360205260409081902042600280830182905554915492516323b872dd60e01b81523060048201526001600160a01b039384166024820152604481018590529092909116906323b872dd90606401600060405180830381600087803b15801561099357600080fd5b505af11580156109a7573d6000803e3d6000fd5b5050506000838152600360209081526040918290205482516001600160a01b039091168152908101859052908101839052600260608201527fb4caaf29adda3eefee3ad552a8e85058589bf834c7466cae4ee58787f70589ed9150608001610834565b6001600160a01b038116811461047557600080fd5b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215610a4b57600080fd5b8435610a5681610a0a565b93506020850135610a6681610a0a565b925060408501359150606085013567ffffffffffffffff80821115610a8a57600080fd5b818701915087601f830112610a9e57600080fd5b813581811115610ab057610ab0610a1f565b604051601f8201601f19908116603f01168101908382118183101715610ad857610ad8610a1f565b816040528281528a6020848701011115610af157600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b60008060208385031215610b2857600080fd5b823567ffffffffffffffff80821115610b4057600080fd5b818501915085601f830112610b5457600080fd5b813581811115610b6357600080fd5b8660208260051b8501011115610b7857600080fd5b60209290920196919550909350505050565b602080825282518282018190526000919060409081850190868401855b82811015610bdf57815180516001600160a01b0316855286810151878601528501518585015260609093019290850190600101610ba7565b5091979650505050505050565b600060208284031215610bfe57600080fd5b8135610c0981610a0a565b9392505050565b634e487b7160e01b600052603260045260246000fd5b600060018201610c4657634e487b7160e01b600052601160045260246000fd5b5060010190565b600060208284031215610c5f57600080fd5b5051919050565b600060208284031215610c7857600080fd5b81518015158114610c0957600080fd5b600060208284031215610c9a57600080fd5b8151610c0981610a0a56fea26469706673582212201a09ee38bd8d4716dd61df3c30e1e8bdf74f9d3b3ad0080be2a8255109f7ad8064736f6c63430008110033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000003f3915fb8769ee456035331bc2f7fbe380f6b4d2
-----Decoded View---------------
Arg [0] : createraAddress_ (address): 0x3F3915Fb8769Ee456035331BC2F7fBE380f6b4d2
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000003f3915fb8769ee456035331bc2f7fbe380f6b4d2
Deployed Bytecode Sourcemap
630:4031:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1262:7:6;1288:6;;1741:36:1;;-1:-1:-1;;;;;1288:6:6;;;;1767:9:1;1741:36;;;;;1767:9;;1741:36;1262:7:6;1741:36:1;1767:9;1288:6:6;1741:36:1;;;;;;;;;;;;;;;;;;;;;630:4031;;;;4459:200;;;;;;;;;;-1:-1:-1;4459:200:1;;;;;:::i;:::-;-1:-1:-1;;;4459:200:1;;;;;;;;;;-1:-1:-1;;;;;;1715:33:8;;;1697:52;;1685:2;1670:18;4459:200:1;;;;;;;;825:30;;;;;;;;;;-1:-1:-1;825:30:1;;;;-1:-1:-1;;;;;825:30:1;;;;;;-1:-1:-1;;;;;1924:32:8;;;1906:51;;1894:2;1879:18;825:30:1;1760:203:8;1846:101:6;;;;;;;;;;;;;:::i;1216:85::-;;;;;;;;;;-1:-1:-1;1262:7:6;1288:6;-1:-1:-1;;;;;1288:6:6;1216:85;;4030:281:1;;;;;;;;;;-1:-1:-1;4030:281:1;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;2080:173::-;;;;;;;;;;-1:-1:-1;2080:173:1;;;;;:::i;:::-;;:::i;2957:177::-;;;;;;;;;;-1:-1:-1;2957:177:1;;;;;:::i;:::-;;:::i;2096:232:6:-;;;;;;;;;;-1:-1:-1;2096:232:6;;;;;:::i;:::-;;:::i;1816:185:1:-;;;;;;;;;;-1:-1:-1;1816:185:1;;;;;:::i;:::-;;:::i;1846:101:6:-;1109:13;:11;:13::i;:::-;1910:30:::1;1937:1;1910:18;:30::i;:::-;1846:101::o:0;4030:281:1:-;4116:25;4178:8;4166:28;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4166:28:1;;;;;;;;;;;;;;;;;4153:41;;4209:6;4204:101;4221:19;;;4204:101;;;4277:4;:17;4282:8;;4291:1;4282:11;;;;;;;:::i;:::-;;;;;;;;;;4277:17;;-1:-1:-1;4277:17:1;;;;;;;;;;;-1:-1:-1;4277:17:1;4261:33;;;;;;;;;-1:-1:-1;;;;;4261:33:1;;;;;;;;;;;;;;;;;;;;;:13;;:10;;4272:1;;4261:13;;;;;;:::i;:::-;;;;;;:33;;;;4242:3;;;;;:::i;:::-;;;;4204:101;;;;4030:281;;;;:::o;2080:173::-;2261:21:7;:19;:21::i;:::-;2166:6:1::1;2161:86;2178:19:::0;;::::1;2161:86;;;2218:18;2224:8;;2233:1;2224:11;;;;;;;:::i;:::-;;;;;;;2218:5;:18::i;:::-;2199:3:::0;::::1;::::0;::::1;:::i;:::-;;;;2161:86;;;;2303:20:7::0;1716:1;2809:22;;2629:209;2303:20;2080:173:1;;:::o;2957:177::-;2261:21:7;:19;:21::i;:::-;3045:6:1::1;3040:88;3057:19:::0;;::::1;3040:88;;;3097:20;3105:8;;3114:1;3105:11;;;;;;;:::i;:::-;;;;;;;3097:7;:20::i;:::-;3078:3:::0;::::1;::::0;::::1;:::i;:::-;;;;3040:88;;2096:232:6::0;1109:13;:11;:13::i;:::-;-1:-1:-1;;;;;2197:22:6;::::1;2176:107;;;::::0;-1:-1:-1;;;2176:107:6;;4277:2:8;2176:107:6::1;::::0;::::1;4259:21:8::0;4316:2;4296:18;;;4289:30;4355:34;4335:18;;;4328:62;-1:-1:-1;;;4406:18:8;;;4399:36;4452:19;;2176:107:6::1;;;;;;;;;2293:28;2312:8;2293:18;:28::i;:::-;2096:232:::0;:::o;1816:185:1:-;1109:13:6;:11;:13::i;:::-;1898:38:1::1;::::0;-1:-1:-1;;;1898:38:1;;1930:4:::1;1898:38;::::0;::::1;1906:51:8::0;1881:14:1::1;::::0;-1:-1:-1;;;;;1898:23:1;::::1;::::0;::::1;::::0;1879:18:8;;1898:38:1::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1881:55;;1961:5;-1:-1:-1::0;;;;;1954:22:1::1;;1977:7;1262::6::0;1288:6;-1:-1:-1;;;;;1288:6:6;;1216:85;1977:7:1::1;1954:39;::::0;-1:-1:-1;;;;;;1954:39:1::1;::::0;;;;;;-1:-1:-1;;;;;4863:32:8;;;1954:39:1::1;::::0;::::1;4845:51:8::0;4912:18;;;4905:34;;;4818:18;;1954:39:1::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1946:48;;;::::0;::::1;1374:130:6::0;1262:7;1288:6;-1:-1:-1;;;;;1288:6:6;719:10:0;1437:23:6;1429:68;;;;-1:-1:-1;;;1429:68:6;;5434:2:8;1429:68:6;;;5416:21:8;;;5453:18;;;5446:30;5512:34;5492:18;;;5485:62;5564:18;;1429:68:6;5232:356:8;2482:187:6;2555:16;2574:6;;-1:-1:-1;;;;;2590:17:6;;;-1:-1:-1;;;;;;2590:17:6;;;;;;2622:40;;2574:6;;;;;;;2622:40;;2555:16;2622:40;2545:124;2482:187;:::o;2336:287:7:-;1759:1;2468:7;;:19;2460:63;;;;-1:-1:-1;;;2460:63:7;;5795:2:8;2460:63:7;;;5777:21:8;5834:2;5814:18;;;5807:30;5873:33;5853:18;;;5846:61;5924:18;;2460:63:7;5593:355:8;2460:63:7;1759:1;2598:7;:18;2336:287::o;2275:498:1:-;719:10:0;2354:15:1;;2346:41;;-1:-1:-1;;;2346:41:1;;;;;6099:25:8;;;-1:-1:-1;;;;;2346:57:1;;;;2354:15;;;;2346:32;;6072:18:8;;2346:41:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2346:57:1;;2325:118;;;;-1:-1:-1;;;2325:118:1;;6593:2:8;2325:118:1;;;6575:21:8;6632:2;6612:18;;;6605:30;-1:-1:-1;;;6651:18:8;;;6644:44;6705:18;;2325:118:1;6391:338:8;2325:118:1;2472:15;719:10:0;2498:13:1;;;;:4;:13;;;;;:34;;-1:-1:-1;;;;;;2498:34:1;-1:-1:-1;;;;;2498:34:1;;;;;;-1:-1:-1;2542:21:1;:31;;;2592:15;;;2584:41;719:10:0;2584:125:1;;-1:-1:-1;;;;;;2584:125:1;;;;;;;-1:-1:-1;;;;;6992:15:8;;;2584:125:1;;;6974:34:8;2673:4:1;7024:18:8;;;7017:43;7076:18;;;7069:34;;;6909:18;;2584:125:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2725:41;2732:12;719:10:0;;640:96;2732:12:1;2725:41;;;-1:-1:-1;;;;;7371:32:8;;;7353:51;;7435:2;7420:18;;7413:34;;;7463:18;;7456:34;;;2764:1:1;7521:2:8;7506:18;;7499:34;7340:3;7325:19;2725:41:1;;;;;;;;2315:458;2275:498;:::o;3156:650::-;3229:13;;;;:4;:13;;;;;:19;-1:-1:-1;;;;;3229:19:1;719:10:0;3229:35:1;;:62;;-1:-1:-1;1262:7:6;1288:6;-1:-1:-1;;;;;1288:6:6;719:10:0;3268:23:1;3229:62;3208:123;;;;-1:-1:-1;;;3208:123:1;;6593:2:8;3208:123:1;;;6575:21:8;6632:2;6612:18;;;6605:30;-1:-1:-1;;;6651:18:8;;;6644:44;6705:18;;3208:123:1;6391:338:8;3208:123:1;3363:13;;;;:4;:13;;;;;:21;;;:26;;;;:93;;-1:-1:-1;3433:13:1;;;;:4;:13;;;;;:23;;;;3409:21;;;;;:47;3363:93;3342:160;;;;-1:-1:-1;;;3342:160:1;;7746:2:8;3342:160:1;;;7728:21:8;7785:2;7765:18;;;7758:30;-1:-1:-1;;;7804:18:8;;;7797:50;7864:18;;3342:160:1;7544:344:8;3342:160:1;3513:17;3559:13;;;:4;:13;;;;;;;3533:15;3559:23;;;;:35;;;3613:15;3683:19;;3605:128;;-1:-1:-1;;;3605:128:1;;3664:4;3605:128;;;6974:34:8;-1:-1:-1;;;;;3683:19:1;;;7024:18:8;;;7017:43;7076:18;;;7069:34;;;3533:15:1;;3613;;;;3605:37;;6909:18:8;;3605:128:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3756:13:1;;;;:4;:13;;;;;;;;;:19;3749:50;;-1:-1:-1;;;;;3756:19:1;;;7353:51:8;;7420:18;;;7413:34;;;7463:18;;;7456:34;;;3797:1:1;7521:2:8;7506:18;;7499:34;3749:50:1;;-1:-1:-1;7340:3:8;7325:19;3749:50:1;7114:425:8;14:131;-1:-1:-1;;;;;89:31:8;;79:42;;69:70;;135:1;132;125:12;150:127;211:10;206:3;202:20;199:1;192:31;242:4;239:1;232:15;266:4;263:1;256:15;282:1266;377:6;385;393;401;454:3;442:9;433:7;429:23;425:33;422:53;;;471:1;468;461:12;422:53;510:9;497:23;529:31;554:5;529:31;:::i;:::-;579:5;-1:-1:-1;636:2:8;621:18;;608:32;649:33;608:32;649:33;:::i;:::-;701:7;-1:-1:-1;755:2:8;740:18;;727:32;;-1:-1:-1;810:2:8;795:18;;782:32;833:18;863:14;;;860:34;;;890:1;887;880:12;860:34;928:6;917:9;913:22;903:32;;973:7;966:4;962:2;958:13;954:27;944:55;;995:1;992;985:12;944:55;1031:2;1018:16;1053:2;1049;1046:10;1043:36;;;1059:18;;:::i;:::-;1134:2;1128:9;1102:2;1188:13;;-1:-1:-1;;1184:22:8;;;1208:2;1180:31;1176:40;1164:53;;;1232:18;;;1252:22;;;1229:46;1226:72;;;1278:18;;:::i;:::-;1318:10;1314:2;1307:22;1353:2;1345:6;1338:18;1393:7;1388:2;1383;1379;1375:11;1371:20;1368:33;1365:53;;;1414:1;1411;1404:12;1365:53;1470:2;1465;1461;1457:11;1452:2;1444:6;1440:15;1427:46;1515:1;1510:2;1505;1497:6;1493:15;1489:24;1482:35;1536:6;1526:16;;;;;;;282:1266;;;;;;;:::o;1968:615::-;2054:6;2062;2115:2;2103:9;2094:7;2090:23;2086:32;2083:52;;;2131:1;2128;2121:12;2083:52;2171:9;2158:23;2200:18;2241:2;2233:6;2230:14;2227:34;;;2257:1;2254;2247:12;2227:34;2295:6;2284:9;2280:22;2270:32;;2340:7;2333:4;2329:2;2325:13;2321:27;2311:55;;2362:1;2359;2352:12;2311:55;2402:2;2389:16;2428:2;2420:6;2417:14;2414:34;;;2444:1;2441;2434:12;2414:34;2497:7;2492:2;2482:6;2479:1;2475:14;2471:2;2467:23;2463:32;2460:45;2457:65;;;2518:1;2515;2508:12;2457:65;2549:2;2541:11;;;;;2571:6;;-1:-1:-1;1968:615:8;;-1:-1:-1;;;;1968:615:8:o;2588:861::-;2801:2;2853:21;;;2923:13;;2826:18;;;2945:22;;;2772:4;;2801:2;2986;;3004:18;;;;3045:15;;;2772:4;3088:335;3102:6;3099:1;3096:13;3088:335;;;3161:13;;3203:9;;-1:-1:-1;;;;;3199:35:8;3187:48;;3275:11;;;3269:18;3255:12;;;3248:40;3328:11;;3322:18;3308:12;;;3301:40;3370:4;3361:14;;;;3398:15;;;;3231:1;3117:9;3088:335;;;-1:-1:-1;3440:3:8;;2588:861;-1:-1:-1;;;;;;;2588:861:8:o;3454:247::-;3513:6;3566:2;3554:9;3545:7;3541:23;3537:32;3534:52;;;3582:1;3579;3572:12;3534:52;3621:9;3608:23;3640:31;3665:5;3640:31;:::i;:::-;3690:5;3454:247;-1:-1:-1;;;3454:247:8:o;3706:127::-;3767:10;3762:3;3758:20;3755:1;3748:31;3798:4;3795:1;3788:15;3822:4;3819:1;3812:15;3838:232;3877:3;3898:17;;;3895:140;;3957:10;3952:3;3948:20;3945:1;3938:31;3992:4;3989:1;3982:15;4020:4;4017:1;4010:15;3895:140;-1:-1:-1;4062:1:8;4051:13;;3838:232::o;4482:184::-;4552:6;4605:2;4593:9;4584:7;4580:23;4576:32;4573:52;;;4621:1;4618;4611:12;4573:52;-1:-1:-1;4644:16:8;;4482:184;-1:-1:-1;4482:184:8:o;4950:277::-;5017:6;5070:2;5058:9;5049:7;5045:23;5041:32;5038:52;;;5086:1;5083;5076:12;5038:52;5118:9;5112:16;5171:5;5164:13;5157:21;5150:5;5147:32;5137:60;;5193:1;5190;5183:12;6135:251;6205:6;6258:2;6246:9;6237:7;6233:23;6229:32;6226:52;;;6274:1;6271;6264:12;6226:52;6306:9;6300:16;6325:31;6350:5;6325:31;:::i
Swarm Source
ipfs://1a09ee38bd8d4716dd61df3c30e1e8bdf74f9d3b3ad0080be2a8255109f7ad80
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 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.