Token
Dyson Agent (DAG)
ERC-721
Overview
Max Total Supply
18,662 DAG
Holders
18,662
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract
Balance
1 DAGLoading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0x7C46b084...af0313034 The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
AgentNFT
Compiler Version
v0.8.17+commit.8df45f5f
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
pragma solidity 0.8.17; // SPDX-License-Identifier: AGPL-3.0 import "interfaces/IAgency.sol"; library Base64 { bytes internal constant TABLE = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; /// @notice Encodes some bytes to the base64 representation function encode(bytes memory data) internal pure returns (string memory) { uint len = data.length; if (len == 0) return ""; // multiply by 4/3 rounded up uint encodedLen = 4 * ((len + 2) / 3); // Add some extra buffer at the end bytes memory result = new bytes(encodedLen + 32); bytes memory table = TABLE; assembly { let tablePtr := add(table, 1) let resultPtr := add(result, 32) for { let i := 0 } lt(i, len) { } { i := add(i, 3) let input := and(mload(add(data, i)), 0xffffff) let out := mload(add(tablePtr, and(shr(18, input), 0x3F))) out := shl(8, out) out := add(out, and(mload(add(tablePtr, and(shr(12, input), 0x3F))), 0xFF)) out := shl(8, out) out := add(out, and(mload(add(tablePtr, and(shr(6, input), 0x3F))), 0xFF)) out := shl(8, out) out := add(out, and(mload(add(tablePtr, and(input, 0x3F))), 0xFF)) out := shl(224, out) mstore(resultPtr, out) resultPtr := add(resultPtr, 4) } switch mod(len, 3) case 1 { mstore(sub(resultPtr, 2), shl(240, 0x3d3d)) } case 2 { mstore(sub(resultPtr, 1), shl(248, 0x3d)) } mstore(result, encodedLen) } return string(result); } } /** * @title ERC721 token receiver interface * @dev Interface for any contract that wants to support safeTransfers * from ERC721 asset contracts. */ interface IERC721Receiver { function onERC721Received(address, address, uint, bytes calldata) external returns (bytes4); } contract AgentNFT { IAgency public immutable agency; /// @dev ERC165 interface ID of ERC165 bytes4 private constant ERC165_INTERFACE_ID = 0x01ffc9a7; /// @dev ERC165 interface ID of ERC721 bytes4 private constant ERC721_INTERFACE_ID = 0x80ac58cd; /// @dev ERC165 interface ID of ERC721Metadata bytes4 private constant ERC721_METADATA_INTERFACE_ID = 0x5b5e139f; /// @dev Get the approved address for a single NFT. mapping(uint => address) public getApproved; /// @dev Checks if an address is an approved operator. mapping(address => mapping(address => bool)) public isApprovedForAll; /** * @dev Emitted when `tokenId` token is transferred from `from` to `to`. */ event Transfer(address indexed from, address indexed to, uint indexed tokenId); /** * @dev Emitted when `owner` enables `approved` to manage the `tokenId` token. */ event Approval(address indexed owner, address indexed approved, uint 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); constructor(address _agency) { agency = IAgency(_agency); } /** * @dev Interface identification is specified in ERC-165. * @param interfaceID Id of the interface */ function supportsInterface(bytes4 interfaceID) external pure returns (bool) { return (interfaceID == ERC165_INTERFACE_ID || interfaceID == ERC721_INTERFACE_ID || interfaceID == ERC721_METADATA_INTERFACE_ID); } function name() external pure returns (string memory) { return "Dyson Agent"; } function symbol() external pure returns (string memory) { return "DAG"; } function tokenURI(uint tokenId) external view returns (string memory) { (address owner, uint tier, uint birth, uint parent,) = agency.getAgent(tokenId); require(owner != address(0), "TOKEN_NOT_EXIST"); return _tokenURI(tokenId, parent, tier, birth); } function _tokenURI(uint tokenId, uint parent, uint tier, uint birth) internal pure returns (string memory output) { output = '<svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMinYMin meet" viewBox="0 0 350 350"><style>.base { fill: white; font-family: serif; font-size: 14px; }</style><rect width="100%" height="100%" fill="black" /><text x="10" y="20" class="base">'; output = string(abi.encodePacked(output, "token ", _toString(tokenId), '</text><text x="10" y="40" class="base">')); output = string(abi.encodePacked(output, "referer ", _toString(parent), '</text><text x="10" y="60" class="base">')); output = string(abi.encodePacked(output, "agent_tier ", _toString(tier), '</text><text x="10" y="80" class="base">')); output = string(abi.encodePacked(output, "time_of_creation ", _toString(birth), '</text></svg>')); string memory json = Base64.encode(bytes(string(abi.encodePacked('{"name": "Agent #', _toString(tokenId), '", "description": "Dyson Finance Agent NFT", "image": "data:image/svg+xml;base64,', Base64.encode(bytes(output)), '"}')))); output = string(abi.encodePacked('data:application/json;base64,', json)); } function _toString(uint value) internal pure returns (string memory) { if (value == 0) { return "0"; } uint temp = value; uint digits; while (temp != 0) { digits++; temp /= 10; } bytes memory buffer = new bytes(digits); while (value != 0) { digits -= 1; buffer[digits] = bytes1(uint8(48 + uint(value % 10))); value /= 10; } return string(buffer); } function totalSupply() external view returns (uint) { return agency.totalSupply(); } function balanceOf(address owner) external view returns (uint balance) { return agency.whois(owner) == 0 ? 0 : 1; } function ownerOf(uint tokenId) public view returns (address owner) { (owner,,,,) = agency.getAgent(tokenId); } function onMint(address user, uint tokenId) external { require(msg.sender == address(agency), "FORBIDDEN"); emit Transfer(address(0), user, tokenId); } function safeTransferFrom( address from, address to, uint tokenId ) external { safeTransferFrom(from, to, tokenId, ''); } function approve(address to, uint tokenId) external { address owner = ownerOf(tokenId); // Throws if `tokenId` is not a valid NFT require(owner != address(0), "TOKEN_NOT_EXIST"); // Check requirements require(owner == msg.sender || isApprovedForAll[owner][msg.sender], "FORBIDDEN"); getApproved[tokenId] = to; emit Approval(owner, to, tokenId); } function setApprovalForAll(address operator, bool approved) external { require(operator != msg.sender, "SELF_APPROVAL"); isApprovedForAll[msg.sender][operator] = approved; emit ApprovalForAll(msg.sender, operator, approved); } function _transferFrom( address from, address to, uint tokenId, address sender ) internal { require(from == sender || isApprovedForAll[from][sender] || getApproved[tokenId] == sender, "FORBIDDEN"); getApproved[tokenId] = address(0); require(agency.transfer(from, to, tokenId), "FORBIDDEN"); emit Transfer(from, to, tokenId); } function transferFrom( address from, address to, uint tokenId ) external { _transferFrom(from, to, tokenId, msg.sender); } function _isContract(address account) internal view returns (bool) { uint size; assembly { size := extcodesize(account) } return size > 0; } function safeTransferFrom( address from, address to, uint tokenId, bytes memory data ) public { _transferFrom(from, to, tokenId, msg.sender); if (_isContract(to)) { try IERC721Receiver(to).onERC721Received(msg.sender, from, tokenId, data) returns (bytes4 retval) { require(retval == IERC721Receiver.onERC721Received.selector, "Transfer Failed"); } catch (bytes memory reason) { if (reason.length == 0) { revert('ERC721: transfer to non ERC721Receiver implementer'); } else { assembly { revert(add(32, reason), mload(reason)) } } } } } }
pragma solidity >=0.8.0; // SPDX-License-Identifier: MIT interface IAgency { function whois(address agent) external view returns (uint); function userInfo(address agent) external view returns (address ref, uint gen); function transfer(address from, address to, uint id) external returns (bool); function totalSupply() external view returns (uint); function getAgent(uint id) external view returns (address, uint, uint, uint, uint[] memory); function adminAdd(address newUser) external returns (uint id); }
{ "remappings": [ "@openzeppelin/=lib/openzeppelin-contracts/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "interfaces/=src/interfaces/", "openzeppelin-contracts/=lib/openzeppelin-contracts/" ], "optimizer": { "enabled": true, "runs": 200 }, "metadata": { "bytecodeHash": "ipfs" }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "evmVersion": "london", "libraries": {} }
[{"inputs":[{"internalType":"address","name":"_agency","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"agency","outputs":[{"internalType":"contract IAgency","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"onMint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceID","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60a060405234801561001057600080fd5b5060405161195f38038061195f83398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b6080516118aa6100b5600039600081816101f40152818161043e015281816104bb0152818161058501528181610629015281816108ee0152610ab701526118aa6000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c806342842e0e11610097578063a22cb46511610066578063a22cb4651461026e578063b88d4fde14610281578063c87b56dd14610294578063e985e9c5146102a757600080fd5b806342842e0e146102165780636352211e1461022957806370a082311461023c57806395d89b411461024f57600080fd5b80630f632fd3116100d35780630f632fd3146101b357806318160ddd146101c657806323b872dd146101dc5780633b91ee26146101ef57600080fd5b806301ffc9a71461010557806306fdde031461012d578063081812fc1461015d578063095ea7b31461019e575b600080fd5b610118610113366004610f4a565b6102d5565b60405190151581526020015b60405180910390f35b60408051808201909152600b81526a111e5cdbdb881059d95b9d60aa1b60208201525b6040516101249190610fbe565b61018661016b366004610fd1565b6000602081905290815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001610124565b6101b16101ac366004610fff565b610327565b005b6101b16101c1366004610fff565b610433565b6101ce6104b7565b604051908152602001610124565b6101b16101ea36600461102b565b610540565b6101867f000000000000000000000000000000000000000000000000000000000000000081565b6101b161022436600461102b565b610551565b610186610237366004610fd1565b61056c565b6101ce61024a36600461106c565b610607565b60408051808201909152600381526244414760e81b6020820152610150565b6101b161027c366004611097565b6106ae565b6101b161028f366004611117565b610762565b6101506102a2366004610fd1565b6108e4565b6101186102b53660046111db565b600160209081526000928352604080842090915290825290205460ff1681565b60006001600160e01b031982166301ffc9a760e01b148061030657506001600160e01b031982166380ac58cd60e01b145b8061032157506001600160e01b03198216635b5e139f60e01b145b92915050565b60006103328261056c565b90506001600160a01b0381166103815760405162461bcd60e51b815260206004820152600f60248201526e1513d2d15397d393d517d1561254d5608a1b60448201526064015b60405180910390fd5b6001600160a01b0381163314806103bb57506001600160a01b038116600090815260016020908152604080832033845290915290205460ff165b6103d75760405162461bcd60e51b815260040161037890611209565b60008281526020819052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461047b5760405162461bcd60e51b815260040161037890611209565b60405181906001600160a01b038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610517573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061053b919061122c565b905090565b61054c838383336109e8565b505050565b61054c83838360405180602001604052806000815250610762565b604051632de5aaf760e01b8152600481018290526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632de5aaf790602401600060405180830381865afa1580156105d4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105fc9190810190611245565b509295945050505050565b604051632a5ccc1f60e01b81526001600160a01b0382811660048301526000917f000000000000000000000000000000000000000000000000000000000000000090911690632a5ccc1f90602401602060405180830381865afa158015610672573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610696919061122c565b156106a25760016106a5565b60005b60ff1692915050565b336001600160a01b038316036106f65760405162461bcd60e51b815260206004820152600d60248201526c14d1531197d054141493d59053609a1b6044820152606401610378565b3360008181526001602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b61076e848484336109e8565b823b156108de57604051630a85bd0160e11b81526001600160a01b0384169063150b7a02906107a790339088908790879060040161131f565b6020604051808303816000875af19250505080156107e2575060408051601f3d908101601f191682019092526107df91810190611352565b60015b61088a573d808015610810576040519150601f19603f3d011682016040523d82523d6000602084013e610815565b606091505b5080516000036108825760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b6064820152608401610378565b805181602001fd5b6001600160e01b03198116630a85bd0160e11b146108dc5760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8811985a5b1959608a1b6044820152606401610378565b505b50505050565b60606000806000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632de5aaf7876040518263ffffffff1660e01b815260040161093a91815260200190565b600060405180830381865afa158015610957573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261097f9190810190611245565b50929650909450925090506001600160a01b0384166109d25760405162461bcd60e51b815260206004820152600f60248201526e1513d2d15397d393d517d1561254d5608a1b6044820152606401610378565b6109de86828585610b87565b9695505050505050565b806001600160a01b0316846001600160a01b03161480610a2d57506001600160a01b0380851660009081526001602090815260408083209385168352929052205460ff165b80610a5157506000828152602081905260409020546001600160a01b038281169116145b610a6d5760405162461bcd60e51b815260040161037890611209565b6000828152602081905260409081902080546001600160a01b0319169055516317d5759960e31b81526001600160a01b0385811660048301528481166024830152604482018490527f0000000000000000000000000000000000000000000000000000000000000000169063beabacc8906064016020604051808303816000875af1158015610b00573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b24919061136f565b610b405760405162461bcd60e51b815260040161037890611209565b81836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a450505050565b606060405180610120016040528060fd815260200161173860fd9139905080610baf86610cbe565b604051602001610bc092919061138c565b604051602081830303815290604052905080610bdb85610cbe565b604051602001610bec929190611408565b604051602081830303815290604052905080610c0784610cbe565b604051602001610c18929190611486565b604051602081830303815290604052905080610c3383610cbe565b604051602001610c44929190611507565b60405160208183030381529060405290506000610c91610c6387610cbe565b610c6c84610dc7565b604051602001610c7d92919061156d565b604051602081830303815290604052610dc7565b905080604051602001610ca49190611632565b604051602081830303815290604052915050949350505050565b606081600003610ce55750506040805180820190915260018152600360fc1b602082015290565b8160005b8115610d0f5780610cf98161168d565b9150610d089050600a836116bc565b9150610ce9565b60008167ffffffffffffffff811115610d2a57610d2a6110d0565b6040519080825280601f01601f191660200182016040528015610d54576020820181803683370190505b5090505b8415610dbf57610d696001836116d0565b9150610d76600a866116e3565b610d819060306116f7565b60f81b818381518110610d9657610d9661170a565b60200101906001600160f81b031916908160001a905350610db8600a866116bc565b9450610d58565b949350505050565b80516060906000819003610deb575050604080516020810190915260008152919050565b60006003610dfa8360026116f7565b610e0491906116bc565b610e0f906004611720565b90506000610e1e8260206116f7565b67ffffffffffffffff811115610e3657610e366110d0565b6040519080825280601f01601f191660200182016040528015610e60576020820181803683370190505b5090506000604051806060016040528060408152602001611835604091399050600181016020830160005b86811015610eec576003818a01810151603f601282901c8116860151600c83901c8216870151600684901c831688015192909316870151600891821b60ff94851601821b92841692909201901b91160160e01b835260049092019101610e8b565b506003860660018114610f065760028114610f1757610f23565b613d3d60f01b600119830152610f23565b603d60f81b6000198301525b505050918152949350505050565b6001600160e01b031981168114610f4757600080fd5b50565b600060208284031215610f5c57600080fd5b8135610f6781610f31565b9392505050565b60005b83811015610f89578181015183820152602001610f71565b50506000910152565b60008151808452610faa816020860160208601610f6e565b601f01601f19169290920160200192915050565b602081526000610f676020830184610f92565b600060208284031215610fe357600080fd5b5035919050565b6001600160a01b0381168114610f4757600080fd5b6000806040838503121561101257600080fd5b823561101d81610fea565b946020939093013593505050565b60008060006060848603121561104057600080fd5b833561104b81610fea565b9250602084013561105b81610fea565b929592945050506040919091013590565b60006020828403121561107e57600080fd5b8135610f6781610fea565b8015158114610f4757600080fd5b600080604083850312156110aa57600080fd5b82356110b581610fea565b915060208301356110c581611089565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561110f5761110f6110d0565b604052919050565b6000806000806080858703121561112d57600080fd5b843561113881610fea565b935060208581013561114981610fea565b935060408601359250606086013567ffffffffffffffff8082111561116d57600080fd5b818801915088601f83011261118157600080fd5b813581811115611193576111936110d0565b6111a5601f8201601f191685016110e6565b915080825289848285010111156111bb57600080fd5b808484018584013760008482840101525080935050505092959194509250565b600080604083850312156111ee57600080fd5b82356111f981610fea565b915060208301356110c581610fea565b6020808252600990820152682327a92124a22222a760b91b604082015260600190565b60006020828403121561123e57600080fd5b5051919050565b600080600080600060a0868803121561125d57600080fd5b855161126881610fea565b8095505060208087015194506040870151935060608701519250608087015167ffffffffffffffff8082111561129d57600080fd5b818901915089601f8301126112b157600080fd5b8151818111156112c3576112c36110d0565b8060051b91506112d48483016110e6565b818152918301840191848101908c8411156112ee57600080fd5b938501935b8385101561130c578451825293850193908501906112f3565b8096505050505050509295509295909350565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906109de90830184610f92565b60006020828403121561136457600080fd5b8151610f6781610f31565b60006020828403121561138157600080fd5b8151610f6781611089565b6000835161139e818460208801610f6e565b6503a37b5b2b7160d51b90830190815283516113c1816006840160208801610f6e565b7f3c2f746578743e3c7465787420783d2231302220793d2234302220636c61737360069290910191820152671e913130b9b2911f60c11b6026820152602e01949350505050565b6000835161141a818460208801610f6e565b6703932b332b932b9160c51b908301908152835161143f816008840160208801610f6e565b7f3c2f746578743e3c7465787420783d2231302220793d2236302220636c61737360089290910191820152671e913130b9b2911f60c11b6028820152603001949350505050565b60008351611498818460208801610f6e565b6a030b3b2b73a2fba34b2b9160ad1b90830190815283516114c081600b840160208801610f6e565b7f3c2f746578743e3c7465787420783d2231302220793d2238302220636c617373600b9290910191820152671e913130b9b2911f60c11b602b820152603301949350505050565b60008351611519818460208801610f6e565b7003a34b6b2afb7b32fb1b932b0ba34b7b71607d1b9083019081528351611547816011840160208801610f6e565b6c1e17ba32bc3a1f1e17b9bb339f60991b60119290910191820152601e01949350505050565b707b226e616d65223a20224167656e74202360781b8152825160009061159a816011850160208801610f6e565b7f222c20226465736372697074696f6e223a20224479736f6e2046696e616e63656011918401918201527f204167656e74204e4654222c2022696d616765223a2022646174613a696d6167603182015270194bdcdd99cade1b5b0ed8985cd94d8d0b607a1b60518201528351611617816062840160208801610f6e565b61227d60f01b60629290910191820152606401949350505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000081526000825161166a81601d850160208701610f6e565b91909101601d0192915050565b634e487b7160e01b600052601160045260246000fd5b60006001820161169f5761169f611677565b5060010190565b634e487b7160e01b600052601260045260246000fd5b6000826116cb576116cb6116a6565b500490565b8181038181111561032157610321611677565b6000826116f2576116f26116a6565b500690565b8082018082111561032157610321611677565b634e487b7160e01b600052603260045260246000fd5b80820281158282048414176103215761032161167756fe3c73766720786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323030302f73766722207072657365727665417370656374526174696f3d22784d696e594d696e206d656574222076696577426f783d223020302033353020333530223e3c7374796c653e2e62617365207b2066696c6c3a2077686974653b20666f6e742d66616d696c793a2073657269663b20666f6e742d73697a653a20313470783b207d3c2f7374796c653e3c726563742077696474683d223130302522206865696768743d2231303025222066696c6c3d22626c61636b22202f3e3c7465787420783d2231302220793d2232302220636c6173733d2262617365223e4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2fa2646970667358221220b833d7949181ec5d087f6a5e518b9e290e480ba2c742bbb112595e4fcf44f04e64736f6c63430008110033000000000000000000000000cb2955ad7110751c7a24da027286c1b0a1219305
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101005760003560e01c806342842e0e11610097578063a22cb46511610066578063a22cb4651461026e578063b88d4fde14610281578063c87b56dd14610294578063e985e9c5146102a757600080fd5b806342842e0e146102165780636352211e1461022957806370a082311461023c57806395d89b411461024f57600080fd5b80630f632fd3116100d35780630f632fd3146101b357806318160ddd146101c657806323b872dd146101dc5780633b91ee26146101ef57600080fd5b806301ffc9a71461010557806306fdde031461012d578063081812fc1461015d578063095ea7b31461019e575b600080fd5b610118610113366004610f4a565b6102d5565b60405190151581526020015b60405180910390f35b60408051808201909152600b81526a111e5cdbdb881059d95b9d60aa1b60208201525b6040516101249190610fbe565b61018661016b366004610fd1565b6000602081905290815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001610124565b6101b16101ac366004610fff565b610327565b005b6101b16101c1366004610fff565b610433565b6101ce6104b7565b604051908152602001610124565b6101b16101ea36600461102b565b610540565b6101867f000000000000000000000000cb2955ad7110751c7a24da027286c1b0a121930581565b6101b161022436600461102b565b610551565b610186610237366004610fd1565b61056c565b6101ce61024a36600461106c565b610607565b60408051808201909152600381526244414760e81b6020820152610150565b6101b161027c366004611097565b6106ae565b6101b161028f366004611117565b610762565b6101506102a2366004610fd1565b6108e4565b6101186102b53660046111db565b600160209081526000928352604080842090915290825290205460ff1681565b60006001600160e01b031982166301ffc9a760e01b148061030657506001600160e01b031982166380ac58cd60e01b145b8061032157506001600160e01b03198216635b5e139f60e01b145b92915050565b60006103328261056c565b90506001600160a01b0381166103815760405162461bcd60e51b815260206004820152600f60248201526e1513d2d15397d393d517d1561254d5608a1b60448201526064015b60405180910390fd5b6001600160a01b0381163314806103bb57506001600160a01b038116600090815260016020908152604080832033845290915290205460ff165b6103d75760405162461bcd60e51b815260040161037890611209565b60008281526020819052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b336001600160a01b037f000000000000000000000000cb2955ad7110751c7a24da027286c1b0a1219305161461047b5760405162461bcd60e51b815260040161037890611209565b60405181906001600160a01b038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60007f000000000000000000000000cb2955ad7110751c7a24da027286c1b0a12193056001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610517573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061053b919061122c565b905090565b61054c838383336109e8565b505050565b61054c83838360405180602001604052806000815250610762565b604051632de5aaf760e01b8152600481018290526000907f000000000000000000000000cb2955ad7110751c7a24da027286c1b0a12193056001600160a01b031690632de5aaf790602401600060405180830381865afa1580156105d4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105fc9190810190611245565b509295945050505050565b604051632a5ccc1f60e01b81526001600160a01b0382811660048301526000917f000000000000000000000000cb2955ad7110751c7a24da027286c1b0a121930590911690632a5ccc1f90602401602060405180830381865afa158015610672573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610696919061122c565b156106a25760016106a5565b60005b60ff1692915050565b336001600160a01b038316036106f65760405162461bcd60e51b815260206004820152600d60248201526c14d1531197d054141493d59053609a1b6044820152606401610378565b3360008181526001602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b61076e848484336109e8565b823b156108de57604051630a85bd0160e11b81526001600160a01b0384169063150b7a02906107a790339088908790879060040161131f565b6020604051808303816000875af19250505080156107e2575060408051601f3d908101601f191682019092526107df91810190611352565b60015b61088a573d808015610810576040519150601f19603f3d011682016040523d82523d6000602084013e610815565b606091505b5080516000036108825760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b6064820152608401610378565b805181602001fd5b6001600160e01b03198116630a85bd0160e11b146108dc5760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8811985a5b1959608a1b6044820152606401610378565b505b50505050565b60606000806000807f000000000000000000000000cb2955ad7110751c7a24da027286c1b0a12193056001600160a01b0316632de5aaf7876040518263ffffffff1660e01b815260040161093a91815260200190565b600060405180830381865afa158015610957573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261097f9190810190611245565b50929650909450925090506001600160a01b0384166109d25760405162461bcd60e51b815260206004820152600f60248201526e1513d2d15397d393d517d1561254d5608a1b6044820152606401610378565b6109de86828585610b87565b9695505050505050565b806001600160a01b0316846001600160a01b03161480610a2d57506001600160a01b0380851660009081526001602090815260408083209385168352929052205460ff165b80610a5157506000828152602081905260409020546001600160a01b038281169116145b610a6d5760405162461bcd60e51b815260040161037890611209565b6000828152602081905260409081902080546001600160a01b0319169055516317d5759960e31b81526001600160a01b0385811660048301528481166024830152604482018490527f000000000000000000000000cb2955ad7110751c7a24da027286c1b0a1219305169063beabacc8906064016020604051808303816000875af1158015610b00573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b24919061136f565b610b405760405162461bcd60e51b815260040161037890611209565b81836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a450505050565b606060405180610120016040528060fd815260200161173860fd9139905080610baf86610cbe565b604051602001610bc092919061138c565b604051602081830303815290604052905080610bdb85610cbe565b604051602001610bec929190611408565b604051602081830303815290604052905080610c0784610cbe565b604051602001610c18929190611486565b604051602081830303815290604052905080610c3383610cbe565b604051602001610c44929190611507565b60405160208183030381529060405290506000610c91610c6387610cbe565b610c6c84610dc7565b604051602001610c7d92919061156d565b604051602081830303815290604052610dc7565b905080604051602001610ca49190611632565b604051602081830303815290604052915050949350505050565b606081600003610ce55750506040805180820190915260018152600360fc1b602082015290565b8160005b8115610d0f5780610cf98161168d565b9150610d089050600a836116bc565b9150610ce9565b60008167ffffffffffffffff811115610d2a57610d2a6110d0565b6040519080825280601f01601f191660200182016040528015610d54576020820181803683370190505b5090505b8415610dbf57610d696001836116d0565b9150610d76600a866116e3565b610d819060306116f7565b60f81b818381518110610d9657610d9661170a565b60200101906001600160f81b031916908160001a905350610db8600a866116bc565b9450610d58565b949350505050565b80516060906000819003610deb575050604080516020810190915260008152919050565b60006003610dfa8360026116f7565b610e0491906116bc565b610e0f906004611720565b90506000610e1e8260206116f7565b67ffffffffffffffff811115610e3657610e366110d0565b6040519080825280601f01601f191660200182016040528015610e60576020820181803683370190505b5090506000604051806060016040528060408152602001611835604091399050600181016020830160005b86811015610eec576003818a01810151603f601282901c8116860151600c83901c8216870151600684901c831688015192909316870151600891821b60ff94851601821b92841692909201901b91160160e01b835260049092019101610e8b565b506003860660018114610f065760028114610f1757610f23565b613d3d60f01b600119830152610f23565b603d60f81b6000198301525b505050918152949350505050565b6001600160e01b031981168114610f4757600080fd5b50565b600060208284031215610f5c57600080fd5b8135610f6781610f31565b9392505050565b60005b83811015610f89578181015183820152602001610f71565b50506000910152565b60008151808452610faa816020860160208601610f6e565b601f01601f19169290920160200192915050565b602081526000610f676020830184610f92565b600060208284031215610fe357600080fd5b5035919050565b6001600160a01b0381168114610f4757600080fd5b6000806040838503121561101257600080fd5b823561101d81610fea565b946020939093013593505050565b60008060006060848603121561104057600080fd5b833561104b81610fea565b9250602084013561105b81610fea565b929592945050506040919091013590565b60006020828403121561107e57600080fd5b8135610f6781610fea565b8015158114610f4757600080fd5b600080604083850312156110aa57600080fd5b82356110b581610fea565b915060208301356110c581611089565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561110f5761110f6110d0565b604052919050565b6000806000806080858703121561112d57600080fd5b843561113881610fea565b935060208581013561114981610fea565b935060408601359250606086013567ffffffffffffffff8082111561116d57600080fd5b818801915088601f83011261118157600080fd5b813581811115611193576111936110d0565b6111a5601f8201601f191685016110e6565b915080825289848285010111156111bb57600080fd5b808484018584013760008482840101525080935050505092959194509250565b600080604083850312156111ee57600080fd5b82356111f981610fea565b915060208301356110c581610fea565b6020808252600990820152682327a92124a22222a760b91b604082015260600190565b60006020828403121561123e57600080fd5b5051919050565b600080600080600060a0868803121561125d57600080fd5b855161126881610fea565b8095505060208087015194506040870151935060608701519250608087015167ffffffffffffffff8082111561129d57600080fd5b818901915089601f8301126112b157600080fd5b8151818111156112c3576112c36110d0565b8060051b91506112d48483016110e6565b818152918301840191848101908c8411156112ee57600080fd5b938501935b8385101561130c578451825293850193908501906112f3565b8096505050505050509295509295909350565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906109de90830184610f92565b60006020828403121561136457600080fd5b8151610f6781610f31565b60006020828403121561138157600080fd5b8151610f6781611089565b6000835161139e818460208801610f6e565b6503a37b5b2b7160d51b90830190815283516113c1816006840160208801610f6e565b7f3c2f746578743e3c7465787420783d2231302220793d2234302220636c61737360069290910191820152671e913130b9b2911f60c11b6026820152602e01949350505050565b6000835161141a818460208801610f6e565b6703932b332b932b9160c51b908301908152835161143f816008840160208801610f6e565b7f3c2f746578743e3c7465787420783d2231302220793d2236302220636c61737360089290910191820152671e913130b9b2911f60c11b6028820152603001949350505050565b60008351611498818460208801610f6e565b6a030b3b2b73a2fba34b2b9160ad1b90830190815283516114c081600b840160208801610f6e565b7f3c2f746578743e3c7465787420783d2231302220793d2238302220636c617373600b9290910191820152671e913130b9b2911f60c11b602b820152603301949350505050565b60008351611519818460208801610f6e565b7003a34b6b2afb7b32fb1b932b0ba34b7b71607d1b9083019081528351611547816011840160208801610f6e565b6c1e17ba32bc3a1f1e17b9bb339f60991b60119290910191820152601e01949350505050565b707b226e616d65223a20224167656e74202360781b8152825160009061159a816011850160208801610f6e565b7f222c20226465736372697074696f6e223a20224479736f6e2046696e616e63656011918401918201527f204167656e74204e4654222c2022696d616765223a2022646174613a696d6167603182015270194bdcdd99cade1b5b0ed8985cd94d8d0b607a1b60518201528351611617816062840160208801610f6e565b61227d60f01b60629290910191820152606401949350505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000081526000825161166a81601d850160208701610f6e565b91909101601d0192915050565b634e487b7160e01b600052601160045260246000fd5b60006001820161169f5761169f611677565b5060010190565b634e487b7160e01b600052601260045260246000fd5b6000826116cb576116cb6116a6565b500490565b8181038181111561032157610321611677565b6000826116f2576116f26116a6565b500690565b8082018082111561032157610321611677565b634e487b7160e01b600052603260045260246000fd5b80820281158282048414176103215761032161167756fe3c73766720786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323030302f73766722207072657365727665417370656374526174696f3d22784d696e594d696e206d656574222076696577426f783d223020302033353020333530223e3c7374796c653e2e62617365207b2066696c6c3a2077686974653b20666f6e742d66616d696c793a2073657269663b20666f6e742d73697a653a20313470783b207d3c2f7374796c653e3c726563742077696474683d223130302522206865696768743d2231303025222066696c6c3d22626c61636b22202f3e3c7465787420783d2231302220793d2232302220636c6173733d2262617365223e4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2fa2646970667358221220b833d7949181ec5d087f6a5e518b9e290e480ba2c742bbb112595e4fcf44f04e64736f6c63430008110033
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.