ERC-20
Gaming
Overview
Max Total Supply
11,142,334.784143895613523533 SACRA
Holders
630 ( -0.477%)
Market
Price
$0.0211 @ 0.037025 S (+16.86%)
Onchain Market Cap
$234,665.26
Circulating Supply Market Cap
$0.00
Other Info
Token Contract (WITH 18 Decimals)
Balance
614.694564592139628693 SACRAValue
$12.95 ( ~22.7662 S) [0.0055%]Loading...
Loading
Loading...
Loading
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
GameToken
Compiler Version
v0.8.23+commit.f704f362
Optimization Enabled:
Yes with 50 runs
Other Settings:
istanbul EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
1234567891011121314151617181920212223242526// SPDX-License-Identifier: BUSL-1.1/**▒▓▒ ▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓███▓▓▒ ▒▒▒▒▓▓▓▒▓▓▓▓▓▓▓██▓▒██▒▓▓▓▓█▓██████████████████▓ ▒▒▒▓███████████████▒▒██▒▓█████████████████████▒ ▒▓██████████▓███████▒███████████▓▒ ▒███▓▓██████▓█████████▒ ▒▓▒▓███████▒███████▓ ▒▒▒▒▒▓▓█▓▒ ▓█▓████████▒▒▒▒▒ ▒▒▒▒▓▓▓█████▒ ▓█████████▓▒▓▓▓▒▓██████▓ ▒▓▓████████▒▒██▓▓▓███████▒ ▒▒▓███▓████▒███▓█████▒ ▒▒█████▓██▓██████▓ ▒▒▒▓██▓██▓█████▒▒▒▓▓▒ ▒██▓▒▓▓████████▓█████▓███████▓██▓▓██████████▒▒████████████████████████▓▒▓▓▓▓▓▓▒▓ ▒█████████▒ ▒▓▓▒▓█▒ ▒▒█▒▒ ▓██████ ▒▒▓▓▒▒▒█▒ ▓▒ ▒████ ▒▓█▓█▓▒▓▒██▓▒ ██ ▒▓█▓▓▓██▒▓█▓▓▓▓▓█▓▓▓▒ ▒▒▒ ▒▒▒▓▓▓▓▒▓▒▒▓▒▓▓▓▓▓▓▓▓▒ ▒▓█▒ ▒▓▒▓█▓▒▓█▓▓▓▓▓▓▓▓▓▓▒ ▒▒▒▓▒ ▒▒▒▓▓ ▓▓ ▓▓█▓ ▒▒▓▓ ▒▒█▒ ▒▓▒▓█▓▒▒▓▓▓▒▓▒ ▒▓▓▓▒█▒ ▒▒▒█▒ ▒▒█▓▒▒▒▓▓▓▒ ▓██▓▓▓▓▓▓▓███▓▒ ▒▓▓█▓ ▒▓▓▓▓█▓█▓ ▒█▓▓▒ ▓▓█▓▒▓█▓▒▒ ▓█▓ ▓███▓
1234567891011121314151617181920212223242526// SPDX-License-Identifier: BUSL-1.1pragma solidity 0.8.23;/// @notice All errors of the appinterface IAppErrors {//region ERC20Errors/*** @dev Indicates an error related to the current `balance` of a `sender`. Used in transfers.* @param sender Address whose tokens are being transferred.* @param balance Current balance for the interacting account.* @param needed Minimum amount required to perform a transfer.*/error ERC20InsufficientBalance(address sender, uint256 balance, uint256 needed);/*** @dev Indicates a failure with the token `sender`. Used in transfers.* @param sender Address whose tokens are being transferred.*/error ERC20InvalidSender(address sender);/*** @dev Indicates a failure with the token `receiver`. Used in transfers.* @param receiver Address to which tokens are being transferred.*/error ERC20InvalidReceiver(address receiver);
1234567891011121314151617181920212223242526// SPDX-License-Identifier: BUSL-1.1pragma solidity 0.8.23;import "./IGOC.sol";import "./IStatController.sol";import "./IDungeonFactory.sol";import "./IStoryController.sol";import "./IFightCalculator.sol";/// @notice All events of the appinterface IApplicationEvents {//region ------------------ StatControllerevent HeroItemSlotChanged(address heroToken,uint heroTokenId,uint itemType,uint itemSlot,address itemToken,uint itemTokenId,bool equip,address caller);event CurrentStatsChanged(address heroToken,uint heroTokenId,
1234567891011121314151617181920212223242526// SPDX-License-Identifier: BUSL-1.1pragma solidity 0.8.23;interface IController {function governance() external view returns (address);function statController() external view returns (address);function storyController() external view returns (address);function gameObjectController() external view returns (address);function reinforcementController() external view returns (address);function oracle() external view returns (address);function treasury() external view returns (address);function itemController() external view returns (address);function heroController() external view returns (address);function dungeonFactory() external view returns (address);
1234567891011121314151617181920212223242526// SPDX-License-Identifier: BUSL-1.1pragma solidity 0.8.23;import "../openzeppelin/EnumerableSet.sol";import "../openzeppelin/EnumerableMap.sol";interface IDungeonFactory {/// @custom:storage-location erc7201:dungeon.factory.mainstruct MainState {/// @dev biome => dungeonLaunchedIdmapping(uint => EnumerableSet.UintSet) freeDungeons;/// @dev hero + heroId + biome (packMapObject) -> completedmapping(bytes32 => bool) bossCompleted;/// @dev hero + heroId + dungNum (packDungeonKey) -> completedmapping(bytes32 => bool) specificDungeonCompleted;/// @notice Max biome completed by the hero/// @dev hero + heroId (nftPacked) -> max biome completedmapping(bytes32 => uint8) maxBiomeCompleted;/// @notice which dungeon the hero is currently in/// @dev hero+id => current DungeonIdmapping(bytes32 => uint64) heroCurrentDungeon;// ---
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.0;/*** @dev Interface of the ERC20 standard as defined in the EIP.*/interface IERC20 {/*** @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 `recipient`.** Returns a boolean value indicating whether the operation succeeded.** Emits a {Transfer} event.*/function transfer(address recipient, uint256 amount) external returns (bool);
1234567891011121314151617181920212223242526// SPDX-License-Identifier: BUSL-1.1pragma solidity 0.8.23;import "./IStatController.sol";import "./IItemController.sol";interface IFightCalculator {enum AttackType {UNKNOWN, // 0MELEE, // 1MAGIC, // 2SLOT_3,SLOT_4,SLOT_5,SLOT_6,SLOT_7,SLOT_8,SLOT_9,SLOT_10}/// @notice Attacker info: suitable both for hero and monstersstruct AttackInfo {/// @notice Type of the attack
12345678910111213141516171819// SPDX-License-Identifier: BUSL-1.1pragma solidity 0.8.23;import "./IERC20.sol";interface IGameToken is IERC20 {function minter() external view returns (address);function mint(address account, uint amount) external returns (bool);function burn(uint amount) external returns (bool);function setMinter(address minter_) external;function pause(bool value) external;}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: BUSL-1.1pragma solidity 0.8.23;import "../openzeppelin/EnumerableSet.sol";import "./IController.sol";interface IGOC {enum ObjectType {UNKNOWN, // 0EVENT, // 1MONSTER, // 2STORY, // 3END_SLOT}enum ObjectSubType {UNKNOWN_0, // 0ENEMY_NPC_1, // 1ENEMY_NPC_SUPER_RARE_2, // 2BOSS_3, // 3SHRINE_4, // 4CHEST_5, // 5STORY_6, // 6STORY_UNIQUE_7, // 7
1234567891011121314151617181920212223242526// SPDX-License-Identifier: BUSL-1.1pragma solidity 0.8.23;import "../openzeppelin/EnumerableSet.sol";import "../openzeppelin/EnumerableMap.sol";interface IHeroController {/// @custom:storage-location erc7201:hero.controller.mainstruct MainState {/// @dev A central place for all hero tokens/// @dev Deprecated. Controller is used instead.address heroTokensVault;/// @dev heroAdr => packed tokenAdr160+ amount96mapping(address => bytes32) payToken;/// @dev heroAdr => heroCls8mapping(address => uint8) heroClass;// ---/// @dev hero+id => individual hero namemapping(bytes32 => string) heroName;
12345678910111213141516171819202122232425// SPDX-License-Identifier: BUSL-1.1pragma solidity 0.8.23;import "./IStatController.sol";import "./IGOC.sol";import "../openzeppelin/EnumerableSet.sol";interface IItemController {enum GlobalParam {UNKNOWN_0,/// @notice Address of ItemControllerHelperITEM_CONTROLLER_HELPER_ADDRESS_1}/// @custom:storage-location erc7201:item.controller.mainstruct MainState {////////////////// GENERATE //////////////////EnumerableSet.AddressSet items;/// @dev itemAdr => itemMetaType8 + itemLvl8 + itemType8 + baseDurability16 + defaultRarity8 + minAttr8 + maxAttr8 + manaCost32 + req(packed core128)
1234567891011// SPDX-License-Identifier: BUSL-1.1pragma solidity 0.8.23;interface IOracle {function getRandomNumber(uint max, uint seed) external returns (uint);function getRandomNumberInRange(uint min, uint max, uint seed) external returns (uint);}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: BUSL-1.1pragma solidity 0.8.23;import "../openzeppelin/EnumerableSet.sol";import "../openzeppelin/EnumerableMap.sol";interface IStatController {/// @custom:storage-location erc7201:stat.controller.mainstruct MainState {mapping(bytes32 => bytes32[]) heroTotalAttributes;/// @dev heroAdr+heroId => int32 packed strength, dexterity, vitality, energymapping(bytes32 => bytes32) _heroCore;mapping(bytes32 => bytes32[]) heroBonusAttributes;mapping(bytes32 => bytes32[]) heroTemporallyAttributes;/// @dev heroAdr+heroId => uint32 packed level, experience, life, mana, lifeChancesmapping(bytes32 => bytes32) heroStats;/// @dev heroAdr+heroId+itemSlot => itemAdr + itemIdmapping(bytes32 => bytes32) heroSlots;/// @dev heroAdr+heroId => busy slots uint8[] packedmapping(bytes32 => bytes32) heroBusySlots;mapping(bytes32 => EnumerableSet.AddressSet) usedConsumables;/// @dev heroCustomDataV2 is used insteadmapping(bytes32 => mapping(bytes32 => uint)) _deprecated_heroCustomData;mapping(bytes32 => uint) globalCustomData;
1234567891011121314151617181920212223242526// SPDX-License-Identifier: BUSL-1.1pragma solidity 0.8.23;import "../interfaces/IGOC.sol";import "../interfaces/IStatController.sol";import "../interfaces/IItemController.sol";import "./IController.sol";import "./IOracle.sol";import "./IHeroController.sol";import "../openzeppelin/EnumerableSet.sol";interface IStoryController {enum AnswerResultId {UNKNOWN, // 0SUCCESS, // 1ATTRIBUTE_FAIL, // 2RANDOM_FAIL, // 3DELAY_FAIL, // 4HERO_CUSTOM_DATA_FAIL, // 5GLOBAL_CUSTOM_DATA_FAIL, // 6END_SLOT}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v5.0.0) (utils/structs/EnumerableMap.sol)// This file was procedurally generated from scripts/generate/templates/EnumerableMap.js.pragma solidity ^0.8.20;import {EnumerableSet} from "./EnumerableSet.sol";/*** @dev Library for managing an enumerable variant of Solidity's* https://solidity.readthedocs.io/en/latest/types.html#mapping-types[`mapping`]* type.** Maps have the following properties:** - Entries are added, removed, and checked for existence in constant time* (O(1)).* - Entries are enumerated in O(n). No guarantees are made on the ordering.** ```solidity* contract Example {* // Add the library methods* using EnumerableMap for EnumerableMap.UintToAddressMap;** // Declare a set state variable* EnumerableMap.UintToAddressMap private myMap;
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v5.0.0) (utils/structs/EnumerableSet.sol)// This file was procedurally generated from scripts/generate/templates/EnumerableSet.js.pragma solidity ^0.8.20;/*** @dev Library for managing* https://en.wikipedia.org/wiki/Set_(abstract_data_type)[sets] of primitive* types.** Sets have the following properties:** - Elements are added, removed, and checked for existence in constant time* (O(1)).* - Elements are enumerated in O(n). No guarantees are made on the ordering.** ```solidity* contract Example {* // Add the library methods* using EnumerableSet for EnumerableSet.AddressSet;** // Declare a set state variable* EnumerableSet.AddressSet private mySet;* }* ```
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.7.0) (metatx/ERC2771Context.sol)pragma solidity ^0.8.1;import "../interfaces/IAppErrors.sol";/*** @dev Context variant with ERC2771 support.*/// based on https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/metatx/ERC2771Context.solabstract contract ERC2771Context {// for whitelist new relayers need to add new constants and update proxiesaddress private constant GELATO_RELAY_1_BALANCE_ERC_2771 = 0xd8253782c45a12053594b9deB72d8e8aB2Fca54c;address private constant SACRA_RELAY = 0x52CEba41Da235Af367bFC0b0cCd3314cb901bB5F;function isTrustedForwarder(address forwarder) public view virtual returns (bool){return forwarder == GELATO_RELAY_1_BALANCE_ERC_2771 || forwarder == SACRA_RELAY;}function _msgSender() internal view virtual returns (address sender) {if (isTrustedForwarder(msg.sender)) {// The assembly code is more direct than the Solidity version using `abi.decode`./// @solidity memory-safe-assemblyassembly {sender := shr(96, calldataload(sub(calldatasize(), 20)))
1234567891011121314151617181920212223{"evmVersion": "istanbul","optimizer": {"enabled": true,"runs": 50},"outputSelection": {"*": {"*": ["evm.bytecode","evm.deployedBytecode","devdoc","userdoc","metadata","abi"]}},"metadata": {"useLiteralContent": true},"libraries": {}}
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"ApproveToZeroAddress","type":"error"},{"inputs":[],"name":"BurnAmountExceedsBalance","type":"error"},{"inputs":[],"name":"ErrorPaused","type":"error"},{"inputs":[],"name":"InsufficientAllowance","type":"error"},{"inputs":[],"name":"MintToZeroAddress","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"NotMinter","type":"error"},{"inputs":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"TransferAmountExceedsBalance","type":"error"},{"inputs":[],"name":"TransferToZeroAddress","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"value","type":"bool"}],"name":"ChangePauseStatus","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"value","type":"address"}],"name":"MinterChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender_","type":"address"},{"internalType":"uint256","name":"value_","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"forwarder","type":"address"}],"name":"isTrustedForwarder","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"minter","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"value","type":"bool"}],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"minter_","type":"address"}],"name":"setMinter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","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":"to_","type":"address"},{"internalType":"uint256","name":"value_","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from_","type":"address"},{"internalType":"address","name":"to_","type":"address"},{"internalType":"uint256","name":"value_","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040526000805534801561001457600080fd5b5061001d610055565b600480546001600160a01b0319166001600160a01b039290921691909117905561004f610048610055565b6000610077565b506101de565b60006100603361016f565b15610072575060131936013560601c90565b503390565b60006001600160a01b03831661009f57604051622e076360e81b815260040160405180910390fd5b60015460ff16156100df5760405162461bcd60e51b815260206004820152600660248201526514185d5cd95960d21b604482015260640160405180910390fd5b6001600160a01b038316600090815260026020526040812080548492906101079084906101bd565b925050819055508160008082825461011f91906101bd565b90915550506040518281526001600160a01b038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35060015b92915050565b60006001600160a01b03821673d8253782c45a12053594b9deb72d8e8ab2fca54c148061016957506001600160a01b0382167352ceba41da235af367bfc0b0ccd3314cb901bb5f1492915050565b8082018082111561016957634e487b7160e01b600052601160045260246000fd5b610a5c806101ed6000396000f3fe608060405234801561001057600080fd5b50600436106100e05760003560e01c806342966c681161008757806342966c68146101d4578063572b6c05146101e75780635c975abb146101fa57806370a082311461020757806395d89b4114610227578063a9059cbb1461024b578063dd62ed3e1461025e578063fca3b5aa1461028957600080fd5b806302329a29146100e557806306fdde03146100fa578063075461721461013a578063095ea7b31461015a57806318160ddd1461017d57806323b872dd14610194578063313ce567146101a757806340c10f19146101c1575b600080fd5b6100f86100f3366004610877565b61029c565b005b6101246040518060400160405280600b81526020016a29b0b1b930903a37b5b2b760a91b81525081565b6040516101319190610899565b60405180910390f35b60045461014d906001600160a01b031681565b60405161013191906108e8565b61016d610168366004610918565b61031a565b6040519015158152602001610131565b61018660005481565b604051908152602001610131565b61016d6101a2366004610942565b6103d4565b6101af601281565b60405160ff9091168152602001610131565b61016d6101cf366004610918565b6104ad565b61016d6101e236600461097e565b6104f1565b61016d6101f5366004610997565b61058a565b60015461016d9060ff1681565b610186610215366004610997565b60026020526000908152604090205481565b61012460405180604001604052806005815260200164534143524160d81b81525081565b61016d610259366004610918565b6105d8565b61018661026c3660046109b2565b600360209081526000928352604080842090915290825290205481565b6100f8610297366004610997565b6105f3565b6004546001600160a01b031633146102d25733604051631b0e18f960e11b81526004016102c991906108e8565b60405180910390fd5b6001805460ff19168215159081179091556040519081527f58bacb7f0dd4d609de27cc5c3f458b9a9bdcf5d148bca9f186b33ad75d2c23b4906020015b60405180910390a150565b60006001600160a01b0383166103435760405163076e33c360e31b815260040160405180910390fd5b816003600061035061066b565b6001600160a01b039081168252602080830193909352604091820160009081209188168082529190935291209190915561038861066b565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516103c291815260200190565b60405180910390a35060015b92915050565b6000806103df61066b565b6001600160a01b0380871660009081526003602090815260408083209385168352929052205490915060001981146104985783811015610432576040516313be252b60e01b815260040160405180910390fd5b6001600160a01b03868116600081815260036020908152604080832094871680845294825291829020888603908190559151828152919392917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505b6104a386868661068d565b9695505050505050565b6004546000906001600160a01b031633146104dd5733604051631b0e18f960e11b81526004016102c991906108e8565b6104e783836107a2565b5060019392505050565b6000806104fc61066b565b6001600160a01b0381166000908152600260205260409020549091508381101561053957604051630bba337f60e11b815260040160405180910390fd5b6001600160a01b038216600081815260026020908152604080832088860390558254889003835551878152919291600080516020610a07833981519152910160405180910390a35060019392505050565b60006001600160a01b03821673d8253782c45a12053594b9deb72d8e8ab2fca54c14806103ce57506001600160a01b0382167352ceba41da235af367bfc0b0ccd3314cb901bb5f1492915050565b60006105ec6105e561066b565b848461068d565b9392505050565b6004546001600160a01b031633146106205733604051631b0e18f960e11b81526004016102c991906108e8565b600480546001600160a01b0319166001600160a01b0383161790556040517fb6b8f1859c5c352e5ffad07d0f77e384ac725512c015bd3a3ffc885831c8a4259061030f9083906108e8565b60006106763361058a565b15610688575060131936013560601c90565b503390565b60006001600160a01b0383166106b657604051633a954ecd60e21b815260040160405180910390fd5b60015460ff16156106da57604051635e1633d360e11b815260040160405180910390fd5b6001600160a01b0384166000908152600260205260409020548281101561071e576040516350d2479d60e11b815260048101829052602481018490526044016102c9565b6001600160a01b038086166000908152600260205260408082208685039055918616815290812080548592906107559084906109e5565b92505081905550836001600160a01b0316856001600160a01b0316600080516020610a078339815191528560405161078f91815260200190565b60405180910390a3506001949350505050565b60006001600160a01b0383166107ca57604051622e076360e81b815260040160405180910390fd5b60015460ff16156108065760405162461bcd60e51b815260206004820152600660248201526514185d5cd95960d21b60448201526064016102c9565b6001600160a01b0383166000908152600260205260408120805484929061082e9084906109e5565b925050819055508160008082825461084691906109e5565b90915550506040518281526001600160a01b03841690600090600080516020610a07833981519152906020016103c2565b60006020828403121561088957600080fd5b813580151581146105ec57600080fd5b60006020808352835180602085015260005b818110156108c7578581018301518582016040015282016108ab565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0391909116815260200190565b80356001600160a01b038116811461091357600080fd5b919050565b6000806040838503121561092b57600080fd5b610934836108fc565b946020939093013593505050565b60008060006060848603121561095757600080fd5b610960846108fc565b925061096e602085016108fc565b9150604084013590509250925092565b60006020828403121561099057600080fd5b5035919050565b6000602082840312156109a957600080fd5b6105ec826108fc565b600080604083850312156109c557600080fd5b6109ce836108fc565b91506109dc602084016108fc565b90509250929050565b808201808211156103ce57634e487b7160e01b600052601160045260246000fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220ee28f67ce25822bc824e4a30df7df0de645b205ce760c5af021f45432c5514b564736f6c63430008170033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100e05760003560e01c806342966c681161008757806342966c68146101d4578063572b6c05146101e75780635c975abb146101fa57806370a082311461020757806395d89b4114610227578063a9059cbb1461024b578063dd62ed3e1461025e578063fca3b5aa1461028957600080fd5b806302329a29146100e557806306fdde03146100fa578063075461721461013a578063095ea7b31461015a57806318160ddd1461017d57806323b872dd14610194578063313ce567146101a757806340c10f19146101c1575b600080fd5b6100f86100f3366004610877565b61029c565b005b6101246040518060400160405280600b81526020016a29b0b1b930903a37b5b2b760a91b81525081565b6040516101319190610899565b60405180910390f35b60045461014d906001600160a01b031681565b60405161013191906108e8565b61016d610168366004610918565b61031a565b6040519015158152602001610131565b61018660005481565b604051908152602001610131565b61016d6101a2366004610942565b6103d4565b6101af601281565b60405160ff9091168152602001610131565b61016d6101cf366004610918565b6104ad565b61016d6101e236600461097e565b6104f1565b61016d6101f5366004610997565b61058a565b60015461016d9060ff1681565b610186610215366004610997565b60026020526000908152604090205481565b61012460405180604001604052806005815260200164534143524160d81b81525081565b61016d610259366004610918565b6105d8565b61018661026c3660046109b2565b600360209081526000928352604080842090915290825290205481565b6100f8610297366004610997565b6105f3565b6004546001600160a01b031633146102d25733604051631b0e18f960e11b81526004016102c991906108e8565b60405180910390fd5b6001805460ff19168215159081179091556040519081527f58bacb7f0dd4d609de27cc5c3f458b9a9bdcf5d148bca9f186b33ad75d2c23b4906020015b60405180910390a150565b60006001600160a01b0383166103435760405163076e33c360e31b815260040160405180910390fd5b816003600061035061066b565b6001600160a01b039081168252602080830193909352604091820160009081209188168082529190935291209190915561038861066b565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516103c291815260200190565b60405180910390a35060015b92915050565b6000806103df61066b565b6001600160a01b0380871660009081526003602090815260408083209385168352929052205490915060001981146104985783811015610432576040516313be252b60e01b815260040160405180910390fd5b6001600160a01b03868116600081815260036020908152604080832094871680845294825291829020888603908190559151828152919392917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505b6104a386868661068d565b9695505050505050565b6004546000906001600160a01b031633146104dd5733604051631b0e18f960e11b81526004016102c991906108e8565b6104e783836107a2565b5060019392505050565b6000806104fc61066b565b6001600160a01b0381166000908152600260205260409020549091508381101561053957604051630bba337f60e11b815260040160405180910390fd5b6001600160a01b038216600081815260026020908152604080832088860390558254889003835551878152919291600080516020610a07833981519152910160405180910390a35060019392505050565b60006001600160a01b03821673d8253782c45a12053594b9deb72d8e8ab2fca54c14806103ce57506001600160a01b0382167352ceba41da235af367bfc0b0ccd3314cb901bb5f1492915050565b60006105ec6105e561066b565b848461068d565b9392505050565b6004546001600160a01b031633146106205733604051631b0e18f960e11b81526004016102c991906108e8565b600480546001600160a01b0319166001600160a01b0383161790556040517fb6b8f1859c5c352e5ffad07d0f77e384ac725512c015bd3a3ffc885831c8a4259061030f9083906108e8565b60006106763361058a565b15610688575060131936013560601c90565b503390565b60006001600160a01b0383166106b657604051633a954ecd60e21b815260040160405180910390fd5b60015460ff16156106da57604051635e1633d360e11b815260040160405180910390fd5b6001600160a01b0384166000908152600260205260409020548281101561071e576040516350d2479d60e11b815260048101829052602481018490526044016102c9565b6001600160a01b038086166000908152600260205260408082208685039055918616815290812080548592906107559084906109e5565b92505081905550836001600160a01b0316856001600160a01b0316600080516020610a078339815191528560405161078f91815260200190565b60405180910390a3506001949350505050565b60006001600160a01b0383166107ca57604051622e076360e81b815260040160405180910390fd5b60015460ff16156108065760405162461bcd60e51b815260206004820152600660248201526514185d5cd95960d21b60448201526064016102c9565b6001600160a01b0383166000908152600260205260408120805484929061082e9084906109e5565b925050819055508160008082825461084691906109e5565b90915550506040518281526001600160a01b03841690600090600080516020610a07833981519152906020016103c2565b60006020828403121561088957600080fd5b813580151581146105ec57600080fd5b60006020808352835180602085015260005b818110156108c7578581018301518582016040015282016108ab565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0391909116815260200190565b80356001600160a01b038116811461091357600080fd5b919050565b6000806040838503121561092b57600080fd5b610934836108fc565b946020939093013593505050565b60008060006060848603121561095757600080fd5b610960846108fc565b925061096e602085016108fc565b9150604084013590509250925092565b60006020828403121561099057600080fd5b5035919050565b6000602082840312156109a957600080fd5b6105ec826108fc565b600080604083850312156109c557600080fd5b6109ce836108fc565b91506109dc602084016108fc565b90509250929050565b808201808211156103ce57634e487b7160e01b600052601160045260246000fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220ee28f67ce25822bc824e4a30df7df0de645b205ce760c5af021f45432c5514b564736f6c63430008170033
[ 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.