Overview
Max Total Supply
387,946,919,060.717845856679824844 SPELL
Holders
34,750 ( 0.032%)
Market
Price
$0.00 @ 0.000000 ETH (-7.63%)
Onchain Market Cap
$411,448,743.42
Circulating Supply Market Cap
$166,643,967.00
Other Info
Token Contract (WITH 18 Decimals)
Balance
44,277.595636120309 SPELLValue
$46.96 ( ~0.0173664917850016 Eth) [0.0000%]Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|---|---|---|---|---|
1 | ![]() | SPELL-USDT | $0.0011 0.0000004 Eth | $26,651,054.00 23,391,467,875.000 SPELL | 27.9146% |
2 | ![]() | SPELL-TRY | $0.0011 0.0000004 Eth | $13,362,990.00 12,572,956,483.250 SPELL | 15.0041% |
3 | ![]() | SPELL-USDT | $0.0011 0.0000004 Eth | $7,220,959.00 6,344,636,392.000 SPELL | 7.5715% |
4 | ![]() | SPELL-TRY | $0.0011 0.0000004 Eth | $6,882,239.00 5,996,967,830.000 SPELL | 7.1566% |
5 | ![]() | SPELL-USDT | $0.0011 0.0000004 Eth | $6,349,863.00 5,584,656,186.000 SPELL | 6.6645% |
6 | ![]() | SPELL-USDT | $0.0011 0.0000004 Eth | $6,152,455.00 5,801,234,298.510 SPELL | 6.9230% |
7 | ![]() | SPELL-USD | $0.0011 0.0000004 Eth | $5,513,572.00 5,208,361,600.000 SPELL | 6.2155% |
8 | ![]() | SPELL-TRY | $0.0011 0.0000004 Eth | $4,757,375.00 4,468,258,816.000 SPELL | 5.3323% |
9 | ![]() | SPELL-USDT | $0.0011 0.0000004 Eth | $2,419,341.00 2,293,997,890.318 SPELL | 2.7376% |
10 | ![]() | SPELL-USDT | $0.0011 0.0000004 Eth | $1,811,397.00 1,584,635,822.948 SPELL | 1.8910% |
11 | ![]() | SPELL-USDT | $0.0011 0.0000004 Eth | $1,720,604.00 1,626,919,260.000 SPELL | 1.9415% |
12 | ![]() | SPELL-USDT | $0.0011 0.0000004 Eth | $1,351,097.00 1,258,744,664.000 SPELL | 1.5021% |
13 | ![]() | SPELL-USDT | $0.0011 0.0000004 Eth | $1,205,321.00 1,059,299,608.000 SPELL | 1.2641% |
14 | ![]() | SPELL-USDT | $0.0011 0.0000004 Eth | $1,002,953.00 946,370,587.000 SPELL | 1.1294% |
15 | ![]() | SPELL-USDT | $0.0011 0.0000004 Eth | $984,419.00 933,435,455.000 SPELL | 1.1139% |
16 | ![]() | SPELL-USDT | $0.0011 0.0000004 Eth | $710,510.00 621,337,543.000 SPELL | 0.7415% |
17 | ![]() | SPELL-USDT | $0.0011 0.0000004 Eth | $593,856.00 560,196,564.200 SPELL | 0.6685% |
18 | ![]() | SPELL-USDT | $0.0011 0.0000004 Eth | $372,306.00 326,919,615.000 SPELL | 0.3901% |
19 | ![]() | SPELL-USDT | $0.0011 0.0000004 Eth | $352,433.00 308,777,017.336 SPELL | 0.3685% |
20 | ![]() | SPELL-USD | $0.0011 0.0000004 Eth | $261,967.00 247,605,628.200 SPELL | 0.2955% |
21 | ![]() | SPELL-USDT | $0.0011 0.0000004 Eth | $247,103.00 233,076,853.500 SPELL | 0.2781% |
22 | ![]() | SPELL-USDT | $0.0011 0.0000004 Eth | $235,989.00 222,612,868.000 SPELL | 0.2657% |
23 | ![]() | SPELL-USDT | $0.0011 0.0000004 Eth | $219,535.00 192,596,842.000 SPELL | 0.2298% |
24 | ![]() | 0X090185F2135308BAD17527004364EBCC2D37E5F6-0XC02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2 | $0.0011 0.0000004 Eth | $217,378.00 194,246,445.901 0X090185F2135308BAD17527004364EBCC2D37E5F6 | 0.2318% |
25 | ![]() | SPELL-USDT | $0.0011 0.0000004 Eth | $208,711.00 197,430,027.000 SPELL | 0.2356% |
26 | ![]() | SPELL-USDT | $0.0011 0.0000004 Eth | $205,876.00 179,723,995.219 SPELL | 0.2145% |
27 | ![]() | SPELL-USDT | $0.0011 0.0000004 Eth | $204,754.00 193,101,580.750 SPELL | 0.2304% |
28 | ![]() | SPELL-USDT | $0.0011 0.0000004 Eth | $196,776.00 185,969,608.604 SPELL | 0.2219% |
29 | ![]() | SPELL-TRY | $0.0011 0.0000004 Eth | $178,816.00 157,658,840.900 SPELL | 0.1881% |
30 | ![]() | SPELL-USDT | $0.0011 0.0000004 Eth | $150,237.00 131,950,358.700 SPELL | 0.1575% |
31 | ![]() | SPELL-SGD | $0.0011 0.0000004 Eth | $134,579.00 128,082,125.891 SPELL | 0.1528% |
32 | ![]() | SPELL-USD | $0.001 0.0000004 Eth | $133,272.00 129,052,449.859 SPELL | 0.1540% |
33 | ![]() | SPELL-USDT | $0.0011 0.0000004 Eth | $115,746.00 101,349,081.000 SPELL | 0.1209% |
34 | ![]() | SPELL-USDT | $0.0011 0.0000004 Eth | $99,097.00 87,598,671.000 SPELL | 0.1045% |
35 | ![]() | SPELL-USDT | $0.0011 0.0000004 Eth | $75,323.00 66,332,722.261 SPELL | 0.0792% |
36 | ![]() | SPELL-USDT | $0.0011 0.0000004 Eth | $74,276.00 65,247,292.437 SPELL | 0.0779% |
37 | ![]() | USDT-SPELL | $0.0012 0.0000004 Eth | $73,055.00 74,896.372 USDT | 0.0001% |
38 | ![]() | SPELL-USD | $0.0011 0.0000004 Eth | $68,129.00 64,460,700.000 SPELL | 0.0769% |
39 | ![]() | 0X090185F2135308BAD17527004364EBCC2D37E5F6-0XC02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2 | $0.0011 0.0000004 Eth | $48,862.00 44,029,098.253 0X090185F2135308BAD17527004364EBCC2D37E5F6 | 0.0525% |
40 | ![]() | SPELL-USDT | $0.0011 0.0000004 Eth | $39,971.00 35,226,724.500 SPELL | 0.0420% |
41 | ![]() | 0X3E6648C5A70A150A88BCE65F4AD4D506FE15D2AF-0X82AF49447D8A07E3BD95BD0D56F35241523FBAB1 | $0.001 0.0000004 Eth | $37,243.00 35,465,843.442 0X3E6648C5A70A150A88BCE65F4AD4D506FE15D2AF | 0.0423% |
42 | ![]() | SPELL-USDT | $0.0011 0.0000004 Eth | $24,417.00 21,487,056.000 SPELL | 0.0256% |
43 | ![]() | SPELL-USDT | $0.0011 0.0000004 Eth | $23,560.00 22,336,441.003 SPELL | 0.0267% |
44 | ![]() | SPELL-TRY | $0.0011 0.0000004 Eth | $17,573.12 15,447,025.580 SPELL | 0.0184% |
45 | ![]() | SPELL-INR | $0.0011 0.0000004 Eth | $12,744.48 0.000 SPELL | 0.0000% |
46 | ![]() | SPELL-EUR | $0.0011 0.0000004 Eth | $12,158.03 11,466,750.268 SPELL | 0.0137% |
47 | ![]() | SPELL-USDT | $0.0011 0.0000004 Eth | $10,625.42 10,030,013.000 SPELL | 0.0120% |
48 | ![]() | SPELL-USDT | $0.0011 0.0000004 Eth | $9,828.55 9,210,524.984 SPELL | 0.0110% |
49 | ![]() | SPELL-USDT | $0.0011 0.0000004 Eth | $9,645.30 8,786,800.000 SPELL | 0.0105% |
50 | ![]() | SPELL-VNST | $0.0011 0.0000004 Eth | $8,625.89 8,161,124.102 SPELL | 0.0097% |
51 | ![]() | SPELL-USDT | $0.0011 0.0000004 Eth | $7,288.20 6,334,884.088 SPELL | 0.0076% |
52 | ![]() | SPELL-BTC | $0.001 0.0000004 Eth | $4,181.16 3,735,082.036 SPELL | 0.0045% |
53 | ![]() | 0X468003B688943977E6130F4F68F23AAD939A1040-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83 | $0.0001 0.0000001 Eth | $2,759.08 19,925,556.699 0X468003B688943977E6130F4F68F23AAD939A1040 | 0.0238% |
54 | ![]() | SPELL-USDT | $0.0011 0.0000004 Eth | $2,575.10 2,283,193.470 SPELL | 0.0027% |
55 | ![]() | 0X3E6648C5A70A150A88BCE65F4AD4D506FE15D2AF-0XFD086BC7CD5C481DCC9C85EBE478A1C0B69FCBB9 | $0.001 0.0000003 Eth | $2,011.90 2,107,529.988 0X3E6648C5A70A150A88BCE65F4AD4D506FE15D2AF | 0.0025% |
56 | ![]() | 0X090185F2135308BAD17527004364EBCC2D37E5F6-0XC02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2 | $0.0011 0.0000004 Eth | $1,781.70 1,595,010.595 0X090185F2135308BAD17527004364EBCC2D37E5F6 | 0.0019% |
57 | ![]() | SPELL-USD | $0.0012 0.0000004 Eth | $1,623.91 1,370,968.648 SPELL | 0.0016% |
58 | ![]() | SPELL-USDT | $0.0011 0.0000004 Eth | $1,366.31 1,194,671.169 SPELL | 0.0014% |
59 | ![]() | 0X090185F2135308BAD17527004364EBCC2D37E5F6-0XA0B86991C6218B36C1D19D4A2E9EB0CE3606EB48 | $0.0012 0.0000004 Eth | $1,233.75 1,041,463.926 0X090185F2135308BAD17527004364EBCC2D37E5F6 | 0.0012% |
60 | ![]() | SPELL-USDT | $0.0011 0.0000004 Eth | $1,028.87 970,071.000 SPELL | 0.0012% |
61 | ![]() | SPELL-USDC | $0.0002 0.0000001 Eth | $980.18 4,974,072.740 SPELL | 0.0059% |
62 | ![]() | SPELL-INR | $0.0011 0.0000004 Eth | $430.24 383,469.529 SPELL | 0.0005% |
63 | ![]() | 0X3E6648C5A70A150A88BCE65F4AD4D506FE15D2AF-0X82AF49447D8A07E3BD95BD0D56F35241523FBAB1 | $0.001 0.0000004 Eth | $406.73 414,439.725 0X3E6648C5A70A150A88BCE65F4AD4D506FE15D2AF | 0.0005% |
64 | ![]() | 0X468003B688943977E6130F4F68F23AAD939A1040-0X82F0B8B456C1A451378467398982D4834B6829C1 | $0.0001 0.0000001 Eth | $292.97 2,087,188.593 0X468003B688943977E6130F4F68F23AAD939A1040 | 0.0025% |
65 | ![]() | 0X3E6648C5A70A150A88BCE65F4AD4D506FE15D2AF-0X82AF49447D8A07E3BD95BD0D56F35241523FBAB1 | $0.001 0.0000004 Eth | $237.44 235,100.457 0X3E6648C5A70A150A88BCE65F4AD4D506FE15D2AF | 0.0003% |
66 | ![]() | 0X468003B688943977E6130F4F68F23AAD939A1040-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83 | $0.0001 0.0000001 Eth | $209.52 1,503,684.845 0X468003B688943977E6130F4F68F23AAD939A1040 | 0.0018% |
67 | ![]() | 0X99D8A9C45B2ECA8864373A26D1459E3DFF1E17F3-0X090185F2135308BAD17527004364EBCC2D37E5F6 | $0.0011 0.0000004 Eth | $153.30 167.553 0X99D8A9C45B2ECA8864373A26D1459E3DFF1E17F3 | 0.0000% |
68 | ![]() | 0X468003B688943977E6130F4F68F23AAD939A1040-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83 | $0.0001 0.0000001 Eth | $137.98 1,015,236.264 0X468003B688943977E6130F4F68F23AAD939A1040 | 0.0012% |
69 | ![]() | 0X468003B688943977E6130F4F68F23AAD939A1040-0X82F0B8B456C1A451378467398982D4834B6829C1 | $0.0001 0.0000001 Eth | $117.62 824,886.534 0X468003B688943977E6130F4F68F23AAD939A1040 | 0.0010% |
70 | ![]() | 0X468003B688943977E6130F4F68F23AAD939A1040-0XF16E81DCE15B08F326220742020379B855B87DF9 | $0.0001 0.0000001 Eth | $104.42 770,010.118 0X468003B688943977E6130F4F68F23AAD939A1040 | 0.0009% |
71 | ![]() | 0X468003B688943977E6130F4F68F23AAD939A1040-0XDDC0385169797937066BBD8EF409B5B3C0DFEB52 | $0.0001 0.0000001 Eth | $87.84 611,208.941 0X468003B688943977E6130F4F68F23AAD939A1040 | 0.0007% |
72 | ![]() | 0X468003B688943977E6130F4F68F23AAD939A1040-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83 | $0.0001 0.0000001 Eth | $79.34 569,365.250 0X468003B688943977E6130F4F68F23AAD939A1040 | 0.0007% |
73 | ![]() | 0X468003B688943977E6130F4F68F23AAD939A1040-0XF16E81DCE15B08F326220742020379B855B87DF9 | $0.0001 0.0000001 Eth | $72.74 508,988.880 0X468003B688943977E6130F4F68F23AAD939A1040 | 0.0006% |
74 | ![]() | SPELL-USD | $0.0011 0.0000004 Eth | $44.34 39,603.663 SPELL | 0.0000% |
75 | ![]() | 0X468003B688943977E6130F4F68F23AAD939A1040-0XAE75A438B2E0CB8BB01EC1E1E376DE11D44477CC | $0.0001 0.0000001 Eth | $40.63 284,147.480 0X468003B688943977E6130F4F68F23AAD939A1040 | 0.0003% |
76 | ![]() | SPELL-INR | $0.0012 0.0000004 Eth | $35.85 29,631.222 SPELL | 0.0000% |
77 | ![]() | 0X468003B688943977E6130F4F68F23AAD939A1040-0X82F0B8B456C1A451378467398982D4834B6829C1 | $0.0001 0.0000001 Eth | $27.15 189,645.001 0X468003B688943977E6130F4F68F23AAD939A1040 | 0.0002% |
78 | ![]() | 0X090185F2135308BAD17527004364EBCC2D37E5F6-0XC02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2 | $0.0011 0.0000004 Eth | $22.32 20,611.341 0X090185F2135308BAD17527004364EBCC2D37E5F6 | 0.0000% |
79 | ![]() | 0X468003B688943977E6130F4F68F23AAD939A1040-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83 | $0.0001 0.0000001 Eth | $19.93 147,785.513 0X468003B688943977E6130F4F68F23AAD939A1040 | 0.0002% |
80 | ![]() | SPELL-USDT | $0.0011 0.0000004 Eth | $14.93 13,075.000 SPELL | 0.0000% |
81 | ![]() | SPELL-USDT | $0.0012 0.0000004 Eth | $13.57 11,597.000 SPELL | 0.0000% |
82 | ![]() | 0XCE1BFFBD5374DAC86A2893119683F4911A2F7814-0XB31F66AA3C1E785363F0875A1B74E27B85FD66C7 | $0.0001 0.0000001 Eth | $12.90 88,665.403 0XCE1BFFBD5374DAC86A2893119683F4911A2F7814 | 0.0001% |
83 | ![]() | 0X468003B688943977E6130F4F68F23AAD939A1040-0XDDC0385169797937066BBD8EF409B5B3C0DFEB52 | $0.0001 0.0000001 Eth | $11.60 80,021.951 0X468003B688943977E6130F4F68F23AAD939A1040 | 0.0001% |
84 | ![]() | 0X468003B688943977E6130F4F68F23AAD939A1040-0XF16E81DCE15B08F326220742020379B855B87DF9 | $0.0001 0.0000001 Eth | $10.35 74,014.855 0X468003B688943977E6130F4F68F23AAD939A1040 | 0.0001% |
85 | ![]() | SPELL-USDT | $0.0011 0.0000004 Eth | $2.05 1,798.680 SPELL | 0.0000% |
86 | ![]() | 0XCE1BFFBD5374DAC86A2893119683F4911A2F7814-0XB31F66AA3C1E785363F0875A1B74E27B85FD66C7 | $0.0001 0.0000001 Eth | $1.14 7,813.321 0XCE1BFFBD5374DAC86A2893119683F4911A2F7814 | 0.0000% |
87 | ![]() | SPELL-USDT | $0.0014 0.0000004 Eth | $0.9265 666.000 SPELL | 0.0000% |
88 | ![]() | SPELL-USDT | $0.0014 0.0000004 Eth | $0.1518 109.000 SPELL | 0.0000% |
Contract Source Code Verified (Exact Match)
Contract Name:
Spell
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-05-17 */ // SPDX-License-Identifier: MIT // .d8888b. 888 888 // d88P Y88b 888 888 // Y88b. 888 888 // "Y888b. 88888b. .d88b. 888 888 // "Y88b. 888 "88b d8P Y8b 888 888 // "888 888 888 88888888 888 888 // Y88b d88P 888 d88P Y8b. 888 888 // "Y8888P" 88888P" "Y8888 888 888 // 888 // 888 // 888 // Special thanks to: // @BoringCrypto for his great libraries @ https://github.com/boringcrypto/BoringSolidity pragma solidity 0.6.12; // Contract: BoringOwnable // Audit on 5-Jan-2021 by Keno and BoringCrypto // Source: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/access/Ownable.sol + Claimable.sol // Edited by BoringCrypto contract BoringOwnableData { address public owner; address public pendingOwner; } contract BoringOwnable is BoringOwnableData { event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /// @notice `owner` defaults to msg.sender on construction. constructor() public { owner = msg.sender; emit OwnershipTransferred(address(0), msg.sender); } /// @notice Transfers ownership to `newOwner`. Either directly or claimable by the new pending owner. /// Can only be invoked by the current `owner`. /// @param newOwner Address of the new owner. /// @param direct True if `newOwner` should be set immediately. False if `newOwner` needs to use `claimOwnership`. /// @param renounce Allows the `newOwner` to be `address(0)` if `direct` and `renounce` is True. Has no effect otherwise. function transferOwnership( address newOwner, bool direct, bool renounce ) public onlyOwner { if (direct) { // Checks require(newOwner != address(0) || renounce, "Ownable: zero address"); // Effects emit OwnershipTransferred(owner, newOwner); owner = newOwner; pendingOwner = address(0); } else { // Effects pendingOwner = newOwner; } } /// @notice Needs to be called by `pendingOwner` to claim ownership. function claimOwnership() public { address _pendingOwner = pendingOwner; // Checks require(msg.sender == _pendingOwner, "Ownable: caller != pending owner"); // Effects emit OwnershipTransferred(owner, _pendingOwner); owner = _pendingOwner; pendingOwner = address(0); } /// @notice Only allows the `owner` to execute the function. modifier onlyOwner() { require(msg.sender == owner, "Ownable: caller is not the owner"); _; } } contract Domain { bytes32 private constant DOMAIN_SEPARATOR_SIGNATURE_HASH = keccak256("EIP712Domain(uint256 chainId,address verifyingContract)"); // See https://eips.ethereum.org/EIPS/eip-191 string private constant EIP191_PREFIX_FOR_EIP712_STRUCTURED_DATA = "\x19\x01"; // solhint-disable var-name-mixedcase bytes32 private immutable _DOMAIN_SEPARATOR; uint256 private immutable DOMAIN_SEPARATOR_CHAIN_ID; /// @dev Calculate the DOMAIN_SEPARATOR function _calculateDomainSeparator(uint256 chainId) private view returns (bytes32) { return keccak256( abi.encode( DOMAIN_SEPARATOR_SIGNATURE_HASH, chainId, address(this) ) ); } constructor() public { uint256 chainId; assembly {chainId := chainid()} _DOMAIN_SEPARATOR = _calculateDomainSeparator(DOMAIN_SEPARATOR_CHAIN_ID = chainId); } /// @dev Return the DOMAIN_SEPARATOR // It's named internal to allow making it public from the contract that uses it by creating a simple view function // with the desired public name, such as DOMAIN_SEPARATOR or domainSeparator. // solhint-disable-next-line func-name-mixedcase function _domainSeparator() internal view returns (bytes32) { uint256 chainId; assembly {chainId := chainid()} return chainId == DOMAIN_SEPARATOR_CHAIN_ID ? _DOMAIN_SEPARATOR : _calculateDomainSeparator(chainId); } function _getDigest(bytes32 dataHash) internal view returns (bytes32 digest) { digest = keccak256( abi.encodePacked( EIP191_PREFIX_FOR_EIP712_STRUCTURED_DATA, _domainSeparator(), dataHash ) ); } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); /// @notice EIP 2612 function permit( address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s ) external; } // Data part taken out for building of contracts that receive delegate calls contract ERC20Data { /// @notice owner > balance mapping. mapping(address => uint256) public balanceOf; /// @notice owner > spender > allowance mapping. mapping(address => mapping(address => uint256)) public allowance; /// @notice owner > nonce mapping. Used in `permit`. mapping(address => uint256) public nonces; } abstract contract ERC20 is IERC20, Domain { /// @notice owner > balance mapping. mapping(address => uint256) public override balanceOf; /// @notice owner > spender > allowance mapping. mapping(address => mapping(address => uint256)) public override allowance; /// @notice owner > nonce mapping. Used in `permit`. mapping(address => uint256) public nonces; event Transfer(address indexed _from, address indexed _to, uint256 _value); event Approval(address indexed _owner, address indexed _spender, uint256 _value); /// @notice Transfers `amount` tokens from `msg.sender` to `to`. /// @param to The address to move the tokens. /// @param amount of the tokens to move. /// @return (bool) Returns True if succeeded. function transfer(address to, uint256 amount) public returns (bool) { // If `amount` is 0, or `msg.sender` is `to` nothing happens if (amount != 0 || msg.sender == to) { uint256 srcBalance = balanceOf[msg.sender]; require(srcBalance >= amount, "ERC20: balance too low"); if (msg.sender != to) { require(to != address(0), "ERC20: no zero address"); // Moved down so low balance calls safe some gas balanceOf[msg.sender] = srcBalance - amount; // Underflow is checked balanceOf[to] += amount; } } emit Transfer(msg.sender, to, amount); return true; } /// @notice Transfers `amount` tokens from `from` to `to`. Caller needs approval for `from`. /// @param from Address to draw tokens from. /// @param to The address to move the tokens. /// @param amount The token amount to move. /// @return (bool) Returns True if succeeded. function transferFrom( address from, address to, uint256 amount ) public returns (bool) { // If `amount` is 0, or `from` is `to` nothing happens if (amount != 0) { uint256 srcBalance = balanceOf[from]; require(srcBalance >= amount, "ERC20: balance too low"); if (from != to) { uint256 spenderAllowance = allowance[from][msg.sender]; // If allowance is infinite, don't decrease it to save on gas (breaks with EIP-20). if (spenderAllowance != type(uint256).max) { require(spenderAllowance >= amount, "ERC20: allowance too low"); allowance[from][msg.sender] = spenderAllowance - amount; // Underflow is checked } require(to != address(0), "ERC20: no zero address"); // Moved down so other failed calls safe some gas balanceOf[from] = srcBalance - amount; // Underflow is checked balanceOf[to] += amount; } } emit Transfer(from, to, amount); return true; } /// @notice Approves `amount` from sender to be spend by `spender`. /// @param spender Address of the party that can draw from msg.sender's account. /// @param amount The maximum collective amount that `spender` can draw. /// @return (bool) Returns True if approved. function approve(address spender, uint256 amount) public override returns (bool) { allowance[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } // solhint-disable-next-line func-name-mixedcase function DOMAIN_SEPARATOR() external view returns (bytes32) { return _domainSeparator(); } // keccak256("Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)"); bytes32 private constant PERMIT_SIGNATURE_HASH = 0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9; /// @notice Approves `value` from `owner_` to be spend by `spender`. /// @param owner_ Address of the owner. /// @param spender The address of the spender that gets approved to draw from `owner_`. /// @param value The maximum collective amount that `spender` can draw. /// @param deadline This permit must be redeemed before this deadline (UTC timestamp in seconds). function permit( address owner_, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s ) external override { require(owner_ != address(0), "ERC20: Owner cannot be 0"); require(block.timestamp < deadline, "ERC20: Expired"); require( ecrecover(_getDigest(keccak256(abi.encode(PERMIT_SIGNATURE_HASH, owner_, spender, value, nonces[owner_]++, deadline))), v, r, s) == owner_, "ERC20: Invalid Signature" ); allowance[owner_][spender] = value; emit Approval(owner_, spender, value); } } // Contract: BoringMath /// @notice A library for performing overflow-/underflow-safe math, /// updated with awesomeness from of DappHub (https://github.com/dapphub/ds-math). library BoringMath { function add(uint256 a, uint256 b) internal pure returns (uint256 c) { require((c = a + b) >= b, "BoringMath: Add Overflow"); } function sub(uint256 a, uint256 b) internal pure returns (uint256 c) { require((c = a - b) <= a, "BoringMath: Underflow"); } function mul(uint256 a, uint256 b) internal pure returns (uint256 c) { require(b == 0 || (c = a * b) / b == a, "BoringMath: Mul Overflow"); } } /// @title Spell /// @author 0xMerlin /// @dev This contract spreads Magic. contract Spell is ERC20, BoringOwnable { using BoringMath for uint256; // ERC20 'variables' string public constant symbol = "SPELL"; string public constant name = "Spell Token"; uint8 public constant decimals = 18; uint256 public override totalSupply; uint256 public constant MAX_SUPPLY = 420 * 1e27; function mint(address to, uint256 amount) public onlyOwner { require(to != address(0), "SPELL: no mint to zero address"); require(MAX_SUPPLY >= totalSupply.add(amount), "SPELL: Don't go over MAX"); totalSupply = totalSupply + amount; balanceOf[to] += amount; emit Transfer(address(0), to, amount); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"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":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","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":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_SUPPLY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"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":"amount","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":[],"name":"claimOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner_","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","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":"amount","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":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"},{"internalType":"bool","name":"direct","type":"bool"},{"internalType":"bool","name":"renounce","type":"bool"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60c060405234801561001057600080fd5b504660a081905261002081610069565b60805250600380546001600160a01b031916339081179091556040516000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36100c2565b604080517f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692186020808301919091528183019390935230606080830191909152825180830390910181526080909101909152805191012090565b60805160a0516115336100e5600039806112e452508061131952506115336000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c80634e71e0c8116100b257806395d89b4111610081578063d505accf11610066578063d505accf146103ee578063dd62ed3e1461044c578063e30c39781461048757610136565b806395d89b41146103ad578063a9059cbb146103b557610136565b80634e71e0c81461030e57806370a08231146103165780637ecebe00146103495780638da5cb5b1461037c57610136565b806323b872dd1161010957806332cb6b0c116100ee57806332cb6b0c146102c55780633644e515146102cd57806340c10f19146102d557610136565b806323b872dd14610264578063313ce567146102a757610136565b806306fdde031461013b578063078dfbe7146101b8578063095ea7b3146101fd57806318160ddd1461024a575b600080fd5b61014361048f565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561017d578181015183820152602001610165565b50505050905090810190601f1680156101aa5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101fb600480360360608110156101ce57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060208101351515906040013515156104c8565b005b6102366004803603604081101561021357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356106be565b604080519115158252519081900360200190f35b610252610732565b60408051918252519081900360200190f35b6102366004803603606081101561027a57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610738565b6102af610a32565b6040805160ff9092168252519081900360200190f35b610252610a37565b610252610a48565b6101fb600480360360408110156102eb57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610a57565b6101fb610c51565b6102526004803603602081101561032c57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610d6d565b6102526004803603602081101561035f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610d7f565b610384610d91565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b610143610dad565b610236600480360360408110156103cb57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de6565b6101fb600480360360e081101561040457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135610fbd565b6102526004803603604081101561046257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160200135166112a6565b6103846112c3565b6040518060400160405280600b81526020017f5370656c6c20546f6b656e00000000000000000000000000000000000000000081525081565b60035473ffffffffffffffffffffffffffffffffffffffff16331461054e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b81156106785773ffffffffffffffffffffffffffffffffffffffff83161515806105755750805b6105e057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f776e61626c653a207a65726f20616464726573730000000000000000000000604482015290519081900360640190fd5b60035460405173ffffffffffffffffffffffffffffffffffffffff8086169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36003805473ffffffffffffffffffffffffffffffffffffffff85167fffffffffffffffffffffffff0000000000000000000000000000000000000000918216179091556004805490911690556106b9565b600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff85161790555b505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b60055481565b600081156109c35773ffffffffffffffffffffffffffffffffffffffff8416600090815260208190526040902054828110156107d557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f45524332303a2062616c616e636520746f6f206c6f7700000000000000000000604482015290519081900360640190fd5b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16146109c15773ffffffffffffffffffffffffffffffffffffffff851660009081526001602090815260408083203384529091529020547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461090557838110156108cf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45524332303a20616c6c6f77616e636520746f6f206c6f770000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff86166000908152600160209081526040808320338452909152902084820390555b73ffffffffffffffffffffffffffffffffffffffff851661098757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f45524332303a206e6f207a65726f206164647265737300000000000000000000604482015290519081900360640190fd5b5073ffffffffffffffffffffffffffffffffffffffff80861660009081526020819052604080822086850390559186168152208054840190555b505b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35060019392505050565b601281565b6c054d17db76321263eca000000081565b6000610a526112df565b905090565b60035473ffffffffffffffffffffffffffffffffffffffff163314610add57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8216610b5f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f5350454c4c3a206e6f206d696e7420746f207a65726f20616464726573730000604482015290519081900360640190fd5b600554610b6c908261133f565b6c054d17db76321263eca00000001015610be757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f5350454c4c3a20446f6e277420676f206f766572204d41580000000000000000604482015290519081900360640190fd5b600580548201905573ffffffffffffffffffffffffffffffffffffffff8216600081815260208181526040808320805486019055805185815290517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35050565b60045473ffffffffffffffffffffffffffffffffffffffff16338114610cd857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e6572604482015290519081900360640190fd5b60035460405173ffffffffffffffffffffffffffffffffffffffff8084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36003805473ffffffffffffffffffffffffffffffffffffffff9092167fffffffffffffffffffffffff0000000000000000000000000000000000000000928316179055600480549091169055565b60006020819052908152604090205481565b60026020526000908152604090205481565b60035473ffffffffffffffffffffffffffffffffffffffff1681565b6040518060400160405280600581526020017f5350454c4c00000000000000000000000000000000000000000000000000000081525081565b600081151580610e0b57503373ffffffffffffffffffffffffffffffffffffffff8416145b15610f67573360009081526020819052604090205482811015610e8f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f45524332303a2062616c616e636520746f6f206c6f7700000000000000000000604482015290519081900360640190fd5b3373ffffffffffffffffffffffffffffffffffffffff851614610f655773ffffffffffffffffffffffffffffffffffffffff8416610f2e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f45524332303a206e6f207a65726f206164647265737300000000000000000000604482015290519081900360640190fd5b33600090815260208190526040808220858403905573ffffffffffffffffffffffffffffffffffffffff8616825290208054840190555b505b60408051838152905173ffffffffffffffffffffffffffffffffffffffff85169133917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a350600192915050565b73ffffffffffffffffffffffffffffffffffffffff871661103f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45524332303a204f776e65722063616e6e6f7420626520300000000000000000604482015290519081900360640190fd5b8342106110ad57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f45524332303a2045787069726564000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8088166000818152600260209081526040918290208054600181810190925583517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981850152808501869052958c166060870152608086018b905260a086015260c08086018a90528351808703909101815260e09095019092528351930192909220909190611150906113b1565b85858560405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa1580156111a7573d6000803e3d6000fd5b5050506020604051035173ffffffffffffffffffffffffffffffffffffffff161461123357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45524332303a20496e76616c6964205369676e61747572650000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8088166000818152600160209081526040808320948b1680845294825291829020899055815189815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a350505050505050565b600160209081526000928352604080842090915290825290205481565b60045473ffffffffffffffffffffffffffffffffffffffff1681565b6000467f0000000000000000000000000000000000000000000000000000000000000000811461131757611312816114a4565b611339565b7f00000000000000000000000000000000000000000000000000000000000000005b91505090565b8181018181101561072c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f426f72696e674d6174683a20416464204f766572666c6f770000000000000000604482015290519081900360640190fd5b60006040518060400160405280600281526020017f19010000000000000000000000000000000000000000000000000000000000008152506113f16112df565b836040516020018084805190602001908083835b6020831061144257805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611405565b51815160209384036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff018019909216911617905292019485525083810192909252506040805180840383018152928101905281519101209392505050565b604080517f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a79469218602080830191909152818301939093523060608083019190915282518083039091018152608090910190915280519101209056fea2646970667358221220d5dc7070b091049710b5221cbdedb562e8a962a5e31b0c9571b7dedbbe519f9664736f6c634300060c0033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101365760003560e01c80634e71e0c8116100b257806395d89b4111610081578063d505accf11610066578063d505accf146103ee578063dd62ed3e1461044c578063e30c39781461048757610136565b806395d89b41146103ad578063a9059cbb146103b557610136565b80634e71e0c81461030e57806370a08231146103165780637ecebe00146103495780638da5cb5b1461037c57610136565b806323b872dd1161010957806332cb6b0c116100ee57806332cb6b0c146102c55780633644e515146102cd57806340c10f19146102d557610136565b806323b872dd14610264578063313ce567146102a757610136565b806306fdde031461013b578063078dfbe7146101b8578063095ea7b3146101fd57806318160ddd1461024a575b600080fd5b61014361048f565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561017d578181015183820152602001610165565b50505050905090810190601f1680156101aa5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101fb600480360360608110156101ce57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060208101351515906040013515156104c8565b005b6102366004803603604081101561021357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356106be565b604080519115158252519081900360200190f35b610252610732565b60408051918252519081900360200190f35b6102366004803603606081101561027a57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610738565b6102af610a32565b6040805160ff9092168252519081900360200190f35b610252610a37565b610252610a48565b6101fb600480360360408110156102eb57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610a57565b6101fb610c51565b6102526004803603602081101561032c57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610d6d565b6102526004803603602081101561035f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610d7f565b610384610d91565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b610143610dad565b610236600480360360408110156103cb57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de6565b6101fb600480360360e081101561040457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135610fbd565b6102526004803603604081101561046257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160200135166112a6565b6103846112c3565b6040518060400160405280600b81526020017f5370656c6c20546f6b656e00000000000000000000000000000000000000000081525081565b60035473ffffffffffffffffffffffffffffffffffffffff16331461054e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b81156106785773ffffffffffffffffffffffffffffffffffffffff83161515806105755750805b6105e057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f776e61626c653a207a65726f20616464726573730000000000000000000000604482015290519081900360640190fd5b60035460405173ffffffffffffffffffffffffffffffffffffffff8086169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36003805473ffffffffffffffffffffffffffffffffffffffff85167fffffffffffffffffffffffff0000000000000000000000000000000000000000918216179091556004805490911690556106b9565b600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff85161790555b505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b60055481565b600081156109c35773ffffffffffffffffffffffffffffffffffffffff8416600090815260208190526040902054828110156107d557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f45524332303a2062616c616e636520746f6f206c6f7700000000000000000000604482015290519081900360640190fd5b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16146109c15773ffffffffffffffffffffffffffffffffffffffff851660009081526001602090815260408083203384529091529020547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461090557838110156108cf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45524332303a20616c6c6f77616e636520746f6f206c6f770000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff86166000908152600160209081526040808320338452909152902084820390555b73ffffffffffffffffffffffffffffffffffffffff851661098757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f45524332303a206e6f207a65726f206164647265737300000000000000000000604482015290519081900360640190fd5b5073ffffffffffffffffffffffffffffffffffffffff80861660009081526020819052604080822086850390559186168152208054840190555b505b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35060019392505050565b601281565b6c054d17db76321263eca000000081565b6000610a526112df565b905090565b60035473ffffffffffffffffffffffffffffffffffffffff163314610add57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8216610b5f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f5350454c4c3a206e6f206d696e7420746f207a65726f20616464726573730000604482015290519081900360640190fd5b600554610b6c908261133f565b6c054d17db76321263eca00000001015610be757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f5350454c4c3a20446f6e277420676f206f766572204d41580000000000000000604482015290519081900360640190fd5b600580548201905573ffffffffffffffffffffffffffffffffffffffff8216600081815260208181526040808320805486019055805185815290517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35050565b60045473ffffffffffffffffffffffffffffffffffffffff16338114610cd857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e6572604482015290519081900360640190fd5b60035460405173ffffffffffffffffffffffffffffffffffffffff8084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36003805473ffffffffffffffffffffffffffffffffffffffff9092167fffffffffffffffffffffffff0000000000000000000000000000000000000000928316179055600480549091169055565b60006020819052908152604090205481565b60026020526000908152604090205481565b60035473ffffffffffffffffffffffffffffffffffffffff1681565b6040518060400160405280600581526020017f5350454c4c00000000000000000000000000000000000000000000000000000081525081565b600081151580610e0b57503373ffffffffffffffffffffffffffffffffffffffff8416145b15610f67573360009081526020819052604090205482811015610e8f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f45524332303a2062616c616e636520746f6f206c6f7700000000000000000000604482015290519081900360640190fd5b3373ffffffffffffffffffffffffffffffffffffffff851614610f655773ffffffffffffffffffffffffffffffffffffffff8416610f2e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f45524332303a206e6f207a65726f206164647265737300000000000000000000604482015290519081900360640190fd5b33600090815260208190526040808220858403905573ffffffffffffffffffffffffffffffffffffffff8616825290208054840190555b505b60408051838152905173ffffffffffffffffffffffffffffffffffffffff85169133917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a350600192915050565b73ffffffffffffffffffffffffffffffffffffffff871661103f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45524332303a204f776e65722063616e6e6f7420626520300000000000000000604482015290519081900360640190fd5b8342106110ad57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f45524332303a2045787069726564000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8088166000818152600260209081526040918290208054600181810190925583517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981850152808501869052958c166060870152608086018b905260a086015260c08086018a90528351808703909101815260e09095019092528351930192909220909190611150906113b1565b85858560405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa1580156111a7573d6000803e3d6000fd5b5050506020604051035173ffffffffffffffffffffffffffffffffffffffff161461123357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45524332303a20496e76616c6964205369676e61747572650000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8088166000818152600160209081526040808320948b1680845294825291829020899055815189815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a350505050505050565b600160209081526000928352604080842090915290825290205481565b60045473ffffffffffffffffffffffffffffffffffffffff1681565b6000467f0000000000000000000000000000000000000000000000000000000000000001811461131757611312816114a4565b611339565b7f4ec28097760d69e8a4c400eba86dcf8ed01cc5eb294f03b7f5125d6384b84c965b91505090565b8181018181101561072c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f426f72696e674d6174683a20416464204f766572666c6f770000000000000000604482015290519081900360640190fd5b60006040518060400160405280600281526020017f19010000000000000000000000000000000000000000000000000000000000008152506113f16112df565b836040516020018084805190602001908083835b6020831061144257805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611405565b51815160209384036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff018019909216911617905292019485525083810192909252506040805180840383018152928101905281519101209392505050565b604080517f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a79469218602080830191909152818301939093523060608083019190915282518083039091018152608090910190915280519101209056fea2646970667358221220d5dc7070b091049710b5221cbdedb562e8a962a5e31b0c9571b7dedbbe519f9664736f6c634300060c0033
Deployed Bytecode Sourcemap
11573:697:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11726:43;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1773:506;;;;;;;;;;;;;;;;-1:-1:-1;1773:506:0;;;;;;;;;;;;;;;;;;:::i;:::-;;9143:214;;;;;;;;;;;;;;;;-1:-1:-1;9143:214:0;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;11818:35;;;:::i;:::-;;;;;;;;;;;;;;;;7697:1151;;;;;;;;;;;;;;;;-1:-1:-1;7697:1151:0;;;;;;;;;;;;;;;;;;:::i;11776:35::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11860:47;;;:::i;9419:104::-;;;:::i;11916:351::-;;;;;;;;;;;;;;;;-1:-1:-1;11916:351:0;;;;;;;;;:::i;2361:340::-;;;:::i;5993:53::-;;;;;;;;;;;;;;;;-1:-1:-1;5993:53:0;;;;:::i;6245:41::-;;;;;;;;;;;;;;;;-1:-1:-1;6245:41:0;;;;:::i;919:20::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11680:39;;;:::i;6687:703::-;;;;;;;;;;;;;;;;-1:-1:-1;6687:703:0;;;;;;;;;:::i;10152:674::-;;;;;;;;;;;;;;;;-1:-1:-1;10152:674:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;6107:73::-;;;;;;;;;;;;;;;;-1:-1:-1;6107:73:0;;;;;;;;;;;:::i;946:27::-;;;:::i;11726:43::-;;;;;;;;;;;;;;;;;;;:::o;1773:506::-;2829:5;;;;2815:10;:19;2807:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1912:6:::1;1908:364;;;1966:22;::::0;::::1;::::0;::::1;::::0;:34:::1;;;1992:8;1966:34;1958:68;;;::::0;;::::1;::::0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;2093:5;::::0;2072:37:::1;::::0;::::1;::::0;;::::1;::::0;2093:5:::1;::::0;2072:37:::1;::::0;2093:5:::1;::::0;2072:37:::1;2124:5;:16:::0;;::::1;::::0;::::1;::::0;;;::::1;;::::0;;;2155:12:::1;:25:::0;;;;::::1;::::0;;1908:364:::1;;;2237:12;:23:::0;;;::::1;;::::0;::::1;;::::0;;1908:364:::1;1773:506:::0;;;:::o;9143:214::-;9245:10;9218:4;9235:21;;;:9;:21;;;;;;;;;:30;;;;;;;;;;;:39;;;9290:37;;;;;;;9218:4;;9235:30;;9245:10;;9290:37;;;;;;;;-1:-1:-1;9345:4:0;9143:214;;;;;:::o;11818:35::-;;;;:::o;7697:1151::-;7811:4;7896:11;;7892:885;;7945:15;;;7924:18;7945:15;;;;;;;;;;;7983:20;;;;7975:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8059:2;8051:10;;:4;:10;;;8047:719;;8109:15;;;8082:24;8109:15;;;:9;:15;;;;;;;;8125:10;8109:27;;;;;;;;8280:17;8260:37;;8256:251;;8350:6;8330:16;:26;;8322:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8408:15;;;;;;;:9;:15;;;;;;;;8424:10;8408:27;;;;;;;8438:25;;;8408:55;;8256:251;8533:16;;;8525:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8647:15:0;;;;:9;:15;;;;;;;;;;;8665:19;;;8647:37;;8727:13;;;;;;:23;;;;;;8047:719;7892:885;;8807:2;8792:26;;8801:4;8792:26;;;8811:6;8792:26;;;;;;;;;;;;;;;;;;-1:-1:-1;8836:4:0;7697:1151;;;;;:::o;11776:35::-;11809:2;11776:35;:::o;11860:47::-;11897:10;11860:47;:::o;9419:104::-;9470:7;9497:18;:16;:18::i;:::-;9490:25;;9419:104;:::o;11916:351::-;2829:5;;;;2815:10;:19;2807:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11994:16:::1;::::0;::::1;11986:59;;;::::0;;::::1;::::0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;12078:11;::::0;:23:::1;::::0;12094:6;12078:15:::1;:23::i;:::-;11897:10;12064:37;;12056:74;;;::::0;;::::1;::::0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;12157:11;::::0;;:20;::::1;12143:34:::0;;12188:13:::1;::::0;::::1;-1:-1:-1::0;12188:13:0;;;::::1;::::0;;;;;;;:23;;;::::1;::::0;;12227:32;;;;;;;::::1;::::0;;;;;;;;;::::1;11916:351:::0;;:::o;2361:340::-;2429:12;;;;2481:10;:27;;2473:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2604:5;;2583:42;;;;;;;2604:5;;2583:42;;2604:5;;2583:42;2636:5;:21;;;;;;;;;;;;;2668:12;:25;;;;;;;2361:340::o;5993:53::-;;;;;;;;;;;;;;:::o;6245:41::-;;;;;;;;;;;;;:::o;919:20::-;;;;;;:::o;11680:39::-;;;;;;;;;;;;;;;;;;;:::o;6687:703::-;6749:4;6840:11;;;;:31;;-1:-1:-1;6855:10:0;:16;;;;6840:31;6836:477;;;6919:10;6888:18;6909:21;;;;;;;;;;;6953:20;;;;6945:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7019:10;:16;;;;7015:287;;7064:16;;;7056:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7187:10;7177:9;:21;;;;;;;;;;;7201:19;;;7177:43;;:21;7263:13;;;;;;:23;;;;;;7015:287;6836:477;;7328:32;;;;;;;;;;;;7337:10;;7328:32;;;;;;;;;-1:-1:-1;7378:4:0;6687:703;;;;:::o;10152:674::-;10372:20;;;10364:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10458:8;10440:15;:26;10432:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10518:155;;;;10560:21;10607:14;;;:6;:14;;;;;;;;;:16;;10518:128;10607:16;;;;;;10549:85;;9685:66;10549:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10539:96;;;;;;;;10518:155;;:128;10528:108;;:10;:108::i;:::-;10638:1;10641;10644;10518:128;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:155;;;10496:229;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10736:17;;;;;;;;:9;:17;;;;;;;;:26;;;;;;;;;;;;;:34;;;10786:32;;;;;;;;;;;;;;;;;10152:674;;;;;;;:::o;6107:73::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;946:27::-;;;;;;:::o;4166:237::-;4217:7;4275:9;4313:25;4302:36;;:93;;4361:34;4387:7;4361:25;:34::i;:::-;4302:93;;;4341:17;4302:93;4295:100;;;4166:237;:::o;11037:141::-;11130:5;;;11125:16;;;;11117:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4411:331;4472:14;4588:40;;;;;;;;;;;;;;;;;4651:18;:16;:18::i;:::-;4692:8;4549:170;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4549:170:0;;;;;;;-1:-1:-1;4549:170:0;;;;;;;;;;;;;;;4521:213;;;;;;;-1:-1:-1;;;4411:331:0:o;3394:277::-;3519:133;;;2980:68;3519:133;;;;;;;;;;;;;;;3632:4;3519:133;;;;;;;;;;;;;;;;;;;;;;;;;3495:168;;;;;;3394:277::o
Swarm Source
ipfs://d5dc7070b091049710b5221cbdedb562e8a962a5e31b0c9571b7dedbbe519f96
Loading...
Loading
Loading...
Loading
[ 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.