Source Code
Overview
MON Balance
MON Value
$0.00Loading...
Loading
Contract Name:
MonchilUpgrade
Compiler Version
v0.8.31+commit.fd3a2265
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
import "@openzeppelin/contracts/access/Ownable.sol";
import "@openzeppelin/contracts/token/ERC1155/IERC1155.sol";
interface IMonchilID {
function mint(address to, uint256 tokenId, uint256 amount) external;
function burn(address from, uint256 tokenId, uint256 amount) external;
function balanceOf(address account, uint256 id) external view returns (uint256);
}
contract MonchilUpgrade is Ownable {
address public constant OLD_NFT_CONTRACT = 0xc84932efcBeEdbcf5B25F41461DE3F2b7DB8f5Eb;
IMonchilID public monchilID;
address public treasuryAddress;
mapping(uint256 => uint256) public upgradeFees;
uint256 public constant MAX_LEVEL = 5;
constructor(
address initialOwner,
address _monchilIDAddress,
address _treasuryAddress
) Ownable(initialOwner) {
monchilID = IMonchilID(_monchilIDAddress);
treasuryAddress = _treasuryAddress;
upgradeFees[1] = 13 ether;
upgradeFees[2] = 125 ether;
upgradeFees[3] = 250 ether;
upgradeFees[4] = 1000 ether;
upgradeFees[5] = 1250 ether;
}
function upgradeToLevel1() public payable {
_handlePayment(upgradeFees[1]);
IERC1155 oldNft = IERC1155(OLD_NFT_CONTRACT);
address sender = msg.sender;
uint256 happyId = _findAvailableId(sender, true);
require(happyId != 0, "Upgrade: No Happy NFT (Odd ID) found");
uint256 sadId = _findAvailableId(sender, false);
require(sadId != 0, "Upgrade: No Sad NFT (Even ID) found");
oldNft.safeTransferFrom(sender, treasuryAddress, happyId, 1, "");
oldNft.safeTransferFrom(sender, treasuryAddress, sadId, 1, "");
monchilID.mint(sender, 1, 1);
}
function upgradeLevel(uint256 currentLevel) public payable {
uint256 levelToMint = currentLevel + 1;
require(currentLevel >= 1 && currentLevel < MAX_LEVEL, "Upgrade: Invalid level");
_handlePayment(upgradeFees[levelToMint]);
address sender = msg.sender;
require(monchilID.balanceOf(sender, currentLevel) >= 2, "Upgrade: Need 2x Current Level NFTs");
monchilID.burn(sender, currentLevel, 2);
monchilID.mint(sender, levelToMint, 1);
}
function _findAvailableId(address _user, bool _isHappy) internal view returns (uint256) {
IERC1155 oldNft = IERC1155(OLD_NFT_CONTRACT);
if (_isHappy) {
uint256[5] memory happyIds = [uint256(1), 3, 5, 7, 9];
for (uint i = 0; i < 5; i++) {
if (oldNft.balanceOf(_user, happyIds[i]) > 0) return happyIds[i];
}
} else {
uint256[5] memory sadIds = [uint256(2), 4, 6, 8, 10];
for (uint i = 0; i < 5; i++) {
if (oldNft.balanceOf(_user, sadIds[i]) > 0) return sadIds[i];
}
}
return 0;
}
function _handlePayment(uint256 requiredFee) internal {
require(msg.value == requiredFee, "Upgrade: Incorrect fee");
(bool success, ) = payable(treasuryAddress).call{value: msg.value}("");
require(success, "Upgrade: Payment to treasury failed");
}
function setUpgradeFee(uint256 levelToMint, uint256 feeAmount) public onlyOwner {
require(levelToMint >= 1 && levelToMint <= MAX_LEVEL, "Upgrade: Invalid level");
upgradeFees[levelToMint] = feeAmount;
}
function setTreasuryAddress(address _newTreasury) public onlyOwner {
treasuryAddress = _newTreasury;
}
function onERC1155Received(address, address, uint256, uint256, bytes calldata) external pure returns (bytes4) {
return this.onERC1155Received.selector;
}
function onERC1155BatchReceived(address, address, uint256[] calldata, uint256[] calldata, bytes calldata) external pure returns (bytes4) {
return this.onERC1155BatchReceived.selector;
}
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.4.0) (token/ERC1155/IERC1155.sol)
pragma solidity >=0.6.2;
import {IERC165} from "../../utils/introspection/IERC165.sol";
/**
* @dev Required interface of an ERC-1155 compliant contract, as defined in the
* https://eips.ethereum.org/EIPS/eip-1155[ERC].
*/
interface IERC1155 is IERC165 {
/**
* @dev Emitted when `value` amount of tokens of type `id` are transferred from `from` to `to` by `operator`.
*/
event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value);
/**
* @dev Equivalent to multiple {TransferSingle} events, where `operator`, `from` and `to` are the same for all
* transfers.
*/
event TransferBatch(
address indexed operator,
address indexed from,
address indexed to,
uint256[] ids,
uint256[] values
);
/**
* @dev Emitted when `account` grants or revokes permission to `operator` to transfer their tokens, according to
* `approved`.
*/
event ApprovalForAll(address indexed account, address indexed operator, bool approved);
/**
* @dev Emitted when the URI for token type `id` changes to `value`, if it is a non-programmatic URI.
*
* If an {URI} event was emitted for `id`, the standard
* https://eips.ethereum.org/EIPS/eip-1155#metadata-extensions[guarantees] that `value` will equal the value
* returned by {IERC1155MetadataURI-uri}.
*/
event URI(string value, uint256 indexed id);
/**
* @dev Returns the value of tokens of token type `id` owned by `account`.
*/
function balanceOf(address account, uint256 id) external view returns (uint256);
/**
* @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {balanceOf}.
*
* Requirements:
*
* - `accounts` and `ids` must have the same length.
*/
function balanceOfBatch(
address[] calldata accounts,
uint256[] calldata ids
) external view returns (uint256[] memory);
/**
* @dev Grants or revokes permission to `operator` to transfer the caller's tokens, according to `approved`,
*
* Emits an {ApprovalForAll} event.
*
* Requirements:
*
* - `operator` cannot be the zero address.
*/
function setApprovalForAll(address operator, bool approved) external;
/**
* @dev Returns true if `operator` is approved to transfer ``account``'s tokens.
*
* See {setApprovalForAll}.
*/
function isApprovedForAll(address account, address operator) external view returns (bool);
/**
* @dev Transfers a `value` amount of tokens of type `id` from `from` to `to`.
*
* WARNING: This function can potentially allow a reentrancy attack when transferring tokens
* to an untrusted contract, when invoking {IERC1155Receiver-onERC1155Received} on the receiver.
* Ensure to follow the checks-effects-interactions pattern and consider employing
* reentrancy guards when interacting with untrusted contracts.
*
* Emits a {TransferSingle} event.
*
* Requirements:
*
* - `to` cannot be the zero address.
* - If the caller is not `from`, it must have been approved to spend ``from``'s tokens via {setApprovalForAll}.
* - `from` must have a balance of tokens of type `id` of at least `value` amount.
* - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155Received} and return the
* acceptance magic value.
*/
function safeTransferFrom(address from, address to, uint256 id, uint256 value, bytes calldata data) external;
/**
* @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {safeTransferFrom}.
*
* WARNING: This function can potentially allow a reentrancy attack when transferring tokens
* to an untrusted contract, when invoking {IERC1155Receiver-onERC1155BatchReceived} on the receiver.
* Ensure to follow the checks-effects-interactions pattern and consider employing
* reentrancy guards when interacting with untrusted contracts.
*
* Emits either a {TransferSingle} or a {TransferBatch} event, depending on the length of the array arguments.
*
* Requirements:
*
* - `ids` and `values` must have the same length.
* - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155BatchReceived} and return the
* acceptance magic value.
*/
function safeBatchTransferFrom(
address from,
address to,
uint256[] calldata ids,
uint256[] calldata values,
bytes calldata data
) external;
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (access/Ownable.sol)
pragma solidity ^0.8.20;
import {Context} from "../utils/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.
*
* 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);
}
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.4.0) (utils/introspection/IERC165.sol)
pragma solidity >=0.4.16;
/**
* @dev Interface of the ERC-165 standard, as defined in the
* https://eips.ethereum.org/EIPS/eip-165[ERC].
*
* 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[ERC 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 v5.0.1) (utils/Context.sol)
pragma solidity ^0.8.20;
/**
* @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;
}
}{
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"remappings": []
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"initialOwner","type":"address"},{"internalType":"address","name":"_monchilIDAddress","type":"address"},{"internalType":"address","name":"_treasuryAddress","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"},{"inputs":[],"name":"MAX_LEVEL","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"OLD_NFT_CONTRACT","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"monchilID","outputs":[{"internalType":"contract IMonchilID","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155BatchReceived","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"pure","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":"_newTreasury","type":"address"}],"name":"setTreasuryAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"levelToMint","type":"uint256"},{"internalType":"uint256","name":"feeAmount","type":"uint256"}],"name":"setUpgradeFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"treasuryAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"upgradeFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"currentLevel","type":"uint256"}],"name":"upgradeLevel","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"upgradeToLevel1","outputs":[],"stateMutability":"payable","type":"function"}]Contract Creation Code
608060405234801561000f575f5ffd5b50604051611ccb380380611ccb833981810160405281019061003191906102f8565b825f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036100a2575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016100999190610357565b60405180910390fd5b6100b1816101d960201b60201c565b508160015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555067b469471f8014000060035f600181526020019081526020015f20819055506806c6b935b8bbd4000060035f600281526020019081526020015f2081905550680d8d726b7177a8000060035f600381526020019081526020015f2081905550683635c9adc5dea0000060035f600481526020019081526020015f20819055506843c33c19375648000060035f600581526020019081526020015f2081905550505050610370565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6102c78261029e565b9050919050565b6102d7816102bd565b81146102e1575f5ffd5b50565b5f815190506102f2816102ce565b92915050565b5f5f5f6060848603121561030f5761030e61029a565b5b5f61031c868287016102e4565b935050602061032d868287016102e4565b925050604061033e868287016102e4565b9150509250925092565b610351816102bd565b82525050565b5f60208201905061036a5f830184610348565b92915050565b61194e8061037d5f395ff3fe6080604052600436106100dc575f3560e01c8063a9a484671161007e578063e39f82eb11610058578063e39f82eb14610290578063e8569e83146102ac578063f23a6e61146102b6578063f2fde38b146102f2576100dc565b8063a9a4846714610200578063bc197c811461022a578063c5f956af14610266576100dc565b8063715018a6116100ba578063715018a61461015a57806382d08a68146101705780638da5cb5b146101ac578063a49062d4146101d6576100dc565b80633ca03121146100e05780634e6921d9146101085780636605bfda14610132575b5f5ffd5b3480156100eb575f5ffd5b5061010660048036038101906101019190610f0d565b61031a565b005b348015610113575f5ffd5b5061011c61038d565b6040516101299190610f8a565b60405180910390f35b34801561013d575f5ffd5b5061015860048036038101906101539190610fcd565b6103a5565b005b348015610165575f5ffd5b5061016e6103f0565b005b34801561017b575f5ffd5b5061019660048036038101906101919190610ff8565b610403565b6040516101a39190611032565b60405180910390f35b3480156101b7575f5ffd5b506101c0610418565b6040516101cd9190610f8a565b60405180910390f35b3480156101e1575f5ffd5b506101ea61043f565b6040516101f79190611032565b60405180910390f35b34801561020b575f5ffd5b50610214610444565b60405161022191906110a6565b60405180910390f35b348015610235575f5ffd5b50610250600480360381019061024b9190611175565b610469565b60405161025d9190611286565b60405180910390f35b348015610271575f5ffd5b5061027a610480565b6040516102879190610f8a565b60405180910390f35b6102aa60048036038101906102a59190610ff8565b6104a5565b005b6102b461071d565b005b3480156102c1575f5ffd5b506102dc60048036038101906102d7919061129f565b6109a1565b6040516102e99190611286565b60405180910390f35b3480156102fd575f5ffd5b5061031860048036038101906103139190610fcd565b6109b6565b005b610322610a3a565b60018210158015610334575060058211155b610373576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161036a9061138f565b60405180910390fd5b8060035f8481526020019081526020015f20819055505050565b73c84932efcbeedbcf5b25f41461de3f2b7db8f5eb81565b6103ad610a3a565b8060025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6103f8610a3a565b6104015f610ac1565b565b6003602052805f5260405f205f915090505481565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600581565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f63bc197c8160e01b905098975050505050505050565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f6001826104b391906113da565b9050600182101580156104c65750600582105b610505576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104fc9061138f565b60405180910390fd5b61051f60035f8381526020019081526020015f2054610b82565b5f339050600260015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1662fdd58e83866040518363ffffffff1660e01b815260040161058092919061140d565b602060405180830381865afa15801561059b573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105bf9190611448565b1015610600576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f7906114e3565b60405180910390fd5b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f5298aca828560026040518463ffffffff1660e01b815260040161065f9392919061153a565b5f604051808303815f87803b158015610676575f5ffd5b505af1158015610688573d5f5f3e3d5ffd5b5050505060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663156e29f6828460016040518463ffffffff1660e01b81526004016106eb939291906115a8565b5f604051808303815f87803b158015610702575f5ffd5b505af1158015610714573d5f5f3e3d5ffd5b50505050505050565b61073860035f600181526020019081526020015f2054610b82565b5f73c84932efcbeedbcf5b25f41461de3f2b7db8f5eb90505f3390505f610760826001610c91565b90505f81036107a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161079b9061164d565b60405180910390fd5b5f6107af835f610c91565b90505f81036107f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ea906116db565b60405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff1663f242432a8460025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168560016040518563ffffffff1660e01b8152600401610854949392919061172c565b5f604051808303815f87803b15801561086b575f5ffd5b505af115801561087d573d5f5f3e3d5ffd5b505050508373ffffffffffffffffffffffffffffffffffffffff1663f242432a8460025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168460016040518563ffffffff1660e01b81526004016108e2949392919061172c565b5f604051808303815f87803b1580156108f9575f5ffd5b505af115801561090b573d5f5f3e3d5ffd5b5050505060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663156e29f6846001806040518463ffffffff1660e01b815260040161096e93929190611782565b5f604051808303815f87803b158015610985575f5ffd5b505af1158015610997573d5f5f3e3d5ffd5b5050505050505050565b5f63f23a6e6160e01b90509695505050505050565b6109be610a3a565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a2e575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401610a259190610f8a565b60405180910390fd5b610a3781610ac1565b50565b610a42610ecb565b73ffffffffffffffffffffffffffffffffffffffff16610a60610418565b73ffffffffffffffffffffffffffffffffffffffff1614610abf57610a83610ecb565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401610ab69190610f8a565b60405180910390fd5b565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b803414610bc4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bbb90611801565b60405180910390fd5b5f60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1634604051610c0a90611849565b5f6040518083038185875af1925050503d805f8114610c44576040519150601f19603f3d011682016040523d82523d5f602084013e610c49565b606091505b5050905080610c8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c84906118cd565b60405180910390fd5b5050565b5f5f73c84932efcbeedbcf5b25f41461de3f2b7db8f5eb90508215610dba575f6040518060a0016040528060018152602001600381526020016005815260200160078152602001600981525090505f5f90505b6005811015610db3575f8373ffffffffffffffffffffffffffffffffffffffff1662fdd58e88858560058110610d1d57610d1c6118eb565b5b60200201516040518363ffffffff1660e01b8152600401610d3f92919061140d565b602060405180830381865afa158015610d5a573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d7e9190611448565b1115610da657818160058110610d9757610d966118eb565b5b60200201519350505050610ec5565b8080600101915050610ce4565b5050610ec0565b5f6040518060a0016040528060028152602001600481526020016006815260200160088152602001600a81525090505f5f90505b6005811015610ebd575f8373ffffffffffffffffffffffffffffffffffffffff1662fdd58e88858560058110610e2757610e266118eb565b5b60200201516040518363ffffffff1660e01b8152600401610e4992919061140d565b602060405180830381865afa158015610e64573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e889190611448565b1115610eb057818160058110610ea157610ea06118eb565b5b60200201519350505050610ec5565b8080600101915050610dee565b50505b5f9150505b92915050565b5f33905090565b5f5ffd5b5f5ffd5b5f819050919050565b610eec81610eda565b8114610ef6575f5ffd5b50565b5f81359050610f0781610ee3565b92915050565b5f5f60408385031215610f2357610f22610ed2565b5b5f610f3085828601610ef9565b9250506020610f4185828601610ef9565b9150509250929050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610f7482610f4b565b9050919050565b610f8481610f6a565b82525050565b5f602082019050610f9d5f830184610f7b565b92915050565b610fac81610f6a565b8114610fb6575f5ffd5b50565b5f81359050610fc781610fa3565b92915050565b5f60208284031215610fe257610fe1610ed2565b5b5f610fef84828501610fb9565b91505092915050565b5f6020828403121561100d5761100c610ed2565b5b5f61101a84828501610ef9565b91505092915050565b61102c81610eda565b82525050565b5f6020820190506110455f830184611023565b92915050565b5f819050919050565b5f61106e61106961106484610f4b565b61104b565b610f4b565b9050919050565b5f61107f82611054565b9050919050565b5f61109082611075565b9050919050565b6110a081611086565b82525050565b5f6020820190506110b95f830184611097565b92915050565b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83601f8401126110e0576110df6110bf565b5b8235905067ffffffffffffffff8111156110fd576110fc6110c3565b5b602083019150836020820283011115611119576111186110c7565b5b9250929050565b5f5f83601f840112611135576111346110bf565b5b8235905067ffffffffffffffff811115611152576111516110c3565b5b60208301915083600182028301111561116e5761116d6110c7565b5b9250929050565b5f5f5f5f5f5f5f5f60a0898b03121561119157611190610ed2565b5b5f61119e8b828c01610fb9565b98505060206111af8b828c01610fb9565b975050604089013567ffffffffffffffff8111156111d0576111cf610ed6565b5b6111dc8b828c016110cb565b9650965050606089013567ffffffffffffffff8111156111ff576111fe610ed6565b5b61120b8b828c016110cb565b9450945050608089013567ffffffffffffffff81111561122e5761122d610ed6565b5b61123a8b828c01611120565b92509250509295985092959890939650565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6112808161124c565b82525050565b5f6020820190506112995f830184611277565b92915050565b5f5f5f5f5f5f60a087890312156112b9576112b8610ed2565b5b5f6112c689828a01610fb9565b96505060206112d789828a01610fb9565b95505060406112e889828a01610ef9565b94505060606112f989828a01610ef9565b935050608087013567ffffffffffffffff81111561131a57611319610ed6565b5b61132689828a01611120565b92509250509295509295509295565b5f82825260208201905092915050565b7f557067726164653a20496e76616c6964206c6576656c000000000000000000005f82015250565b5f611379601683611335565b915061138482611345565b602082019050919050565b5f6020820190508181035f8301526113a68161136d565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6113e482610eda565b91506113ef83610eda565b9250828201905080821115611407576114066113ad565b5b92915050565b5f6040820190506114205f830185610f7b565b61142d6020830184611023565b9392505050565b5f8151905061144281610ee3565b92915050565b5f6020828403121561145d5761145c610ed2565b5b5f61146a84828501611434565b91505092915050565b7f557067726164653a204e6565642032782043757272656e74204c6576656c204e5f8201527f4654730000000000000000000000000000000000000000000000000000000000602082015250565b5f6114cd602383611335565b91506114d882611473565b604082019050919050565b5f6020820190508181035f8301526114fa816114c1565b9050919050565b5f819050919050565b5f61152461151f61151a84611501565b61104b565b610eda565b9050919050565b6115348161150a565b82525050565b5f60608201905061154d5f830186610f7b565b61155a6020830185611023565b611567604083018461152b565b949350505050565b5f819050919050565b5f61159261158d6115888461156f565b61104b565b610eda565b9050919050565b6115a281611578565b82525050565b5f6060820190506115bb5f830186610f7b565b6115c86020830185611023565b6115d56040830184611599565b949350505050565b7f557067726164653a204e6f204861707079204e465420284f64642049442920665f8201527f6f756e6400000000000000000000000000000000000000000000000000000000602082015250565b5f611637602483611335565b9150611642826115dd565b604082019050919050565b5f6020820190508181035f8301526116648161162b565b9050919050565b7f557067726164653a204e6f20536164204e465420284576656e2049442920666f5f8201527f756e640000000000000000000000000000000000000000000000000000000000602082015250565b5f6116c5602383611335565b91506116d08261166b565b604082019050919050565b5f6020820190508181035f8301526116f2816116b9565b9050919050565b5f82825260208201905092915050565b50565b5f6117175f836116f9565b915061172282611709565b5f82019050919050565b5f60a08201905061173f5f830187610f7b565b61174c6020830186610f7b565b6117596040830185611023565b6117666060830184611599565b81810360808301526117778161170c565b905095945050505050565b5f6060820190506117955f830186610f7b565b6117a26020830185611599565b6117af6040830184611599565b949350505050565b7f557067726164653a20496e636f727265637420666565000000000000000000005f82015250565b5f6117eb601683611335565b91506117f6826117b7565b602082019050919050565b5f6020820190508181035f830152611818816117df565b9050919050565b5f81905092915050565b5f6118345f8361181f565b915061183f82611709565b5f82019050919050565b5f61185382611829565b9150819050919050565b7f557067726164653a205061796d656e7420746f207472656173757279206661695f8201527f6c65640000000000000000000000000000000000000000000000000000000000602082015250565b5f6118b7602383611335565b91506118c28261185d565b604082019050919050565b5f6020820190508181035f8301526118e4816118ab565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffdfea2646970667358221220792b6817885871f82a6706c180dafec110c10e799c24099aefaa6f183cc14e1664736f6c634300081f00330000000000000000000000004e31fd03860b84af315a2caa10defc3c77091ca90000000000000000000000005f052cc161d117154ca4fed968ea037bf9ce4f020000000000000000000000004e31fd03860b84af315a2caa10defc3c77091ca9
Deployed Bytecode
0x6080604052600436106100dc575f3560e01c8063a9a484671161007e578063e39f82eb11610058578063e39f82eb14610290578063e8569e83146102ac578063f23a6e61146102b6578063f2fde38b146102f2576100dc565b8063a9a4846714610200578063bc197c811461022a578063c5f956af14610266576100dc565b8063715018a6116100ba578063715018a61461015a57806382d08a68146101705780638da5cb5b146101ac578063a49062d4146101d6576100dc565b80633ca03121146100e05780634e6921d9146101085780636605bfda14610132575b5f5ffd5b3480156100eb575f5ffd5b5061010660048036038101906101019190610f0d565b61031a565b005b348015610113575f5ffd5b5061011c61038d565b6040516101299190610f8a565b60405180910390f35b34801561013d575f5ffd5b5061015860048036038101906101539190610fcd565b6103a5565b005b348015610165575f5ffd5b5061016e6103f0565b005b34801561017b575f5ffd5b5061019660048036038101906101919190610ff8565b610403565b6040516101a39190611032565b60405180910390f35b3480156101b7575f5ffd5b506101c0610418565b6040516101cd9190610f8a565b60405180910390f35b3480156101e1575f5ffd5b506101ea61043f565b6040516101f79190611032565b60405180910390f35b34801561020b575f5ffd5b50610214610444565b60405161022191906110a6565b60405180910390f35b348015610235575f5ffd5b50610250600480360381019061024b9190611175565b610469565b60405161025d9190611286565b60405180910390f35b348015610271575f5ffd5b5061027a610480565b6040516102879190610f8a565b60405180910390f35b6102aa60048036038101906102a59190610ff8565b6104a5565b005b6102b461071d565b005b3480156102c1575f5ffd5b506102dc60048036038101906102d7919061129f565b6109a1565b6040516102e99190611286565b60405180910390f35b3480156102fd575f5ffd5b5061031860048036038101906103139190610fcd565b6109b6565b005b610322610a3a565b60018210158015610334575060058211155b610373576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161036a9061138f565b60405180910390fd5b8060035f8481526020019081526020015f20819055505050565b73c84932efcbeedbcf5b25f41461de3f2b7db8f5eb81565b6103ad610a3a565b8060025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6103f8610a3a565b6104015f610ac1565b565b6003602052805f5260405f205f915090505481565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600581565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f63bc197c8160e01b905098975050505050505050565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f6001826104b391906113da565b9050600182101580156104c65750600582105b610505576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104fc9061138f565b60405180910390fd5b61051f60035f8381526020019081526020015f2054610b82565b5f339050600260015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1662fdd58e83866040518363ffffffff1660e01b815260040161058092919061140d565b602060405180830381865afa15801561059b573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105bf9190611448565b1015610600576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f7906114e3565b60405180910390fd5b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f5298aca828560026040518463ffffffff1660e01b815260040161065f9392919061153a565b5f604051808303815f87803b158015610676575f5ffd5b505af1158015610688573d5f5f3e3d5ffd5b5050505060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663156e29f6828460016040518463ffffffff1660e01b81526004016106eb939291906115a8565b5f604051808303815f87803b158015610702575f5ffd5b505af1158015610714573d5f5f3e3d5ffd5b50505050505050565b61073860035f600181526020019081526020015f2054610b82565b5f73c84932efcbeedbcf5b25f41461de3f2b7db8f5eb90505f3390505f610760826001610c91565b90505f81036107a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161079b9061164d565b60405180910390fd5b5f6107af835f610c91565b90505f81036107f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ea906116db565b60405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff1663f242432a8460025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168560016040518563ffffffff1660e01b8152600401610854949392919061172c565b5f604051808303815f87803b15801561086b575f5ffd5b505af115801561087d573d5f5f3e3d5ffd5b505050508373ffffffffffffffffffffffffffffffffffffffff1663f242432a8460025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168460016040518563ffffffff1660e01b81526004016108e2949392919061172c565b5f604051808303815f87803b1580156108f9575f5ffd5b505af115801561090b573d5f5f3e3d5ffd5b5050505060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663156e29f6846001806040518463ffffffff1660e01b815260040161096e93929190611782565b5f604051808303815f87803b158015610985575f5ffd5b505af1158015610997573d5f5f3e3d5ffd5b5050505050505050565b5f63f23a6e6160e01b90509695505050505050565b6109be610a3a565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a2e575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401610a259190610f8a565b60405180910390fd5b610a3781610ac1565b50565b610a42610ecb565b73ffffffffffffffffffffffffffffffffffffffff16610a60610418565b73ffffffffffffffffffffffffffffffffffffffff1614610abf57610a83610ecb565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401610ab69190610f8a565b60405180910390fd5b565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b803414610bc4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bbb90611801565b60405180910390fd5b5f60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1634604051610c0a90611849565b5f6040518083038185875af1925050503d805f8114610c44576040519150601f19603f3d011682016040523d82523d5f602084013e610c49565b606091505b5050905080610c8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c84906118cd565b60405180910390fd5b5050565b5f5f73c84932efcbeedbcf5b25f41461de3f2b7db8f5eb90508215610dba575f6040518060a0016040528060018152602001600381526020016005815260200160078152602001600981525090505f5f90505b6005811015610db3575f8373ffffffffffffffffffffffffffffffffffffffff1662fdd58e88858560058110610d1d57610d1c6118eb565b5b60200201516040518363ffffffff1660e01b8152600401610d3f92919061140d565b602060405180830381865afa158015610d5a573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d7e9190611448565b1115610da657818160058110610d9757610d966118eb565b5b60200201519350505050610ec5565b8080600101915050610ce4565b5050610ec0565b5f6040518060a0016040528060028152602001600481526020016006815260200160088152602001600a81525090505f5f90505b6005811015610ebd575f8373ffffffffffffffffffffffffffffffffffffffff1662fdd58e88858560058110610e2757610e266118eb565b5b60200201516040518363ffffffff1660e01b8152600401610e4992919061140d565b602060405180830381865afa158015610e64573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e889190611448565b1115610eb057818160058110610ea157610ea06118eb565b5b60200201519350505050610ec5565b8080600101915050610dee565b50505b5f9150505b92915050565b5f33905090565b5f5ffd5b5f5ffd5b5f819050919050565b610eec81610eda565b8114610ef6575f5ffd5b50565b5f81359050610f0781610ee3565b92915050565b5f5f60408385031215610f2357610f22610ed2565b5b5f610f3085828601610ef9565b9250506020610f4185828601610ef9565b9150509250929050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610f7482610f4b565b9050919050565b610f8481610f6a565b82525050565b5f602082019050610f9d5f830184610f7b565b92915050565b610fac81610f6a565b8114610fb6575f5ffd5b50565b5f81359050610fc781610fa3565b92915050565b5f60208284031215610fe257610fe1610ed2565b5b5f610fef84828501610fb9565b91505092915050565b5f6020828403121561100d5761100c610ed2565b5b5f61101a84828501610ef9565b91505092915050565b61102c81610eda565b82525050565b5f6020820190506110455f830184611023565b92915050565b5f819050919050565b5f61106e61106961106484610f4b565b61104b565b610f4b565b9050919050565b5f61107f82611054565b9050919050565b5f61109082611075565b9050919050565b6110a081611086565b82525050565b5f6020820190506110b95f830184611097565b92915050565b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83601f8401126110e0576110df6110bf565b5b8235905067ffffffffffffffff8111156110fd576110fc6110c3565b5b602083019150836020820283011115611119576111186110c7565b5b9250929050565b5f5f83601f840112611135576111346110bf565b5b8235905067ffffffffffffffff811115611152576111516110c3565b5b60208301915083600182028301111561116e5761116d6110c7565b5b9250929050565b5f5f5f5f5f5f5f5f60a0898b03121561119157611190610ed2565b5b5f61119e8b828c01610fb9565b98505060206111af8b828c01610fb9565b975050604089013567ffffffffffffffff8111156111d0576111cf610ed6565b5b6111dc8b828c016110cb565b9650965050606089013567ffffffffffffffff8111156111ff576111fe610ed6565b5b61120b8b828c016110cb565b9450945050608089013567ffffffffffffffff81111561122e5761122d610ed6565b5b61123a8b828c01611120565b92509250509295985092959890939650565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6112808161124c565b82525050565b5f6020820190506112995f830184611277565b92915050565b5f5f5f5f5f5f60a087890312156112b9576112b8610ed2565b5b5f6112c689828a01610fb9565b96505060206112d789828a01610fb9565b95505060406112e889828a01610ef9565b94505060606112f989828a01610ef9565b935050608087013567ffffffffffffffff81111561131a57611319610ed6565b5b61132689828a01611120565b92509250509295509295509295565b5f82825260208201905092915050565b7f557067726164653a20496e76616c6964206c6576656c000000000000000000005f82015250565b5f611379601683611335565b915061138482611345565b602082019050919050565b5f6020820190508181035f8301526113a68161136d565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6113e482610eda565b91506113ef83610eda565b9250828201905080821115611407576114066113ad565b5b92915050565b5f6040820190506114205f830185610f7b565b61142d6020830184611023565b9392505050565b5f8151905061144281610ee3565b92915050565b5f6020828403121561145d5761145c610ed2565b5b5f61146a84828501611434565b91505092915050565b7f557067726164653a204e6565642032782043757272656e74204c6576656c204e5f8201527f4654730000000000000000000000000000000000000000000000000000000000602082015250565b5f6114cd602383611335565b91506114d882611473565b604082019050919050565b5f6020820190508181035f8301526114fa816114c1565b9050919050565b5f819050919050565b5f61152461151f61151a84611501565b61104b565b610eda565b9050919050565b6115348161150a565b82525050565b5f60608201905061154d5f830186610f7b565b61155a6020830185611023565b611567604083018461152b565b949350505050565b5f819050919050565b5f61159261158d6115888461156f565b61104b565b610eda565b9050919050565b6115a281611578565b82525050565b5f6060820190506115bb5f830186610f7b565b6115c86020830185611023565b6115d56040830184611599565b949350505050565b7f557067726164653a204e6f204861707079204e465420284f64642049442920665f8201527f6f756e6400000000000000000000000000000000000000000000000000000000602082015250565b5f611637602483611335565b9150611642826115dd565b604082019050919050565b5f6020820190508181035f8301526116648161162b565b9050919050565b7f557067726164653a204e6f20536164204e465420284576656e2049442920666f5f8201527f756e640000000000000000000000000000000000000000000000000000000000602082015250565b5f6116c5602383611335565b91506116d08261166b565b604082019050919050565b5f6020820190508181035f8301526116f2816116b9565b9050919050565b5f82825260208201905092915050565b50565b5f6117175f836116f9565b915061172282611709565b5f82019050919050565b5f60a08201905061173f5f830187610f7b565b61174c6020830186610f7b565b6117596040830185611023565b6117666060830184611599565b81810360808301526117778161170c565b905095945050505050565b5f6060820190506117955f830186610f7b565b6117a26020830185611599565b6117af6040830184611599565b949350505050565b7f557067726164653a20496e636f727265637420666565000000000000000000005f82015250565b5f6117eb601683611335565b91506117f6826117b7565b602082019050919050565b5f6020820190508181035f830152611818816117df565b9050919050565b5f81905092915050565b5f6118345f8361181f565b915061183f82611709565b5f82019050919050565b5f61185382611829565b9150819050919050565b7f557067726164653a205061796d656e7420746f207472656173757279206661695f8201527f6c65640000000000000000000000000000000000000000000000000000000000602082015250565b5f6118b7602383611335565b91506118c28261185d565b604082019050919050565b5f6020820190508181035f8301526118e4816118ab565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffdfea2646970667358221220792b6817885871f82a6706c180dafec110c10e799c24099aefaa6f183cc14e1664736f6c634300081f0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000004e31fd03860b84af315a2caa10defc3c77091ca90000000000000000000000005f052cc161d117154ca4fed968ea037bf9ce4f020000000000000000000000004e31fd03860b84af315a2caa10defc3c77091ca9
-----Decoded View---------------
Arg [0] : initialOwner (address): 0x4e31fD03860b84Af315A2CAa10defC3C77091cA9
Arg [1] : _monchilIDAddress (address): 0x5f052CC161d117154CA4FED968EA037bF9cE4F02
Arg [2] : _treasuryAddress (address): 0x4e31fD03860b84Af315A2CAa10defC3C77091cA9
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 0000000000000000000000004e31fd03860b84af315a2caa10defc3c77091ca9
Arg [1] : 0000000000000000000000005f052cc161d117154ca4fed968ea037bf9ce4f02
Arg [2] : 0000000000000000000000004e31fd03860b84af315a2caa10defc3c77091ca9
Loading...
Loading
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in MON
Multichain Portfolio | 35 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
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.