ETH Price: $3,376.96 (+0.05%)

Token

Fantom Token (FTM)
 

Overview

Max Total Supply

2,138,153,790.589934657020549375 FTM

Holders

116,251 ( 0.029%)

Market

Price

$0.84 @ 0.000250 ETH (+19.28%)

Onchain Market Cap

$1,803,774,333.74

Circulating Supply Market Cap

$0.00

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
stablefish.eth
Balance
0.000704908449368946 FTM

Value
$0.00 ( ~0 Eth) [0.0000%]
0x62d51Fa08B15411D9429133aE5F224abf3867729
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Fantom is a high-performance, scalable, customizable, and secure smart-contract platform. It is designed to overcome the limitations of previous generation blockchain platforms. Fantom is permissionless, decentralized, and open-source.

Profitability / Loss

Since Initial Offer Price
:$0.04 1857.34% |ETH 0.00008634 189.55%

Market

Volume (24H):$15,516,089.00
Market Capitalization:$0.00
Circulating Supply:0.00 FTM
Market Data Source: Coinmarketcap

ICO Information

ICO Start Date : Jun 15, 2018 
ICO End Date : Jun 16, 2018
Raised : $39,400,000
ICO Price  : $0.0431
Country : Bahamas

# Exchange Pair Price  24H Volume % Volume
1
Equalizer
0X662B3D319E693AA578EDD4BD8A5C9395BC49E9F4-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8605
0.0002542 Eth
$3,698,258.00
5,851,206.544 0X662B3D319E693AA578EDD4BD8A5C9395BC49E9F4
0.0000%
2
Wigoswap
0X2F733095B80A04B38B0D10CC884524A3D09B836A-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8717
0.0002576 Eth
$2,803,086.00
2,465,804.732 0X2F733095B80A04B38B0D10CC884524A3D09B836A
0.0000%
3
Wigoswap
0X28A92DDE19D9989F39A49905D7C9C2FAC7799BDF-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8729
0.0002579 Eth
$1,248,194.00
1,082,331.419 0X28A92DDE19D9989F39A49905D7C9C2FAC7799BDF
0.0000%
4
Wigoswap
0XE992BEAB6659BFF447893641A378FBBF031C5BD6-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8608
0.0002543 Eth
$496,473.00
35,466,167.123 0XE992BEAB6659BFF447893641A378FBBF031C5BD6
0.0000%
5
Equalizer
0X3FD3A0C85B70754EFC07AC9AC0CBBDCE664865A6-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8638
0.0002552 Eth
$356,526.00
29,813.515 0X3FD3A0C85B70754EFC07AC9AC0CBBDCE664865A6
0.0000%
6
Wigoswap
0X94FBE860AD699670A2293D194CF1376EF58C014A-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8565
0.0002531 Eth
$321,928.00
82,292,133,893.370 0X94FBE860AD699670A2293D194CF1376EF58C014A
0.0001%
7
Wigoswap
0XD702993613686AB0F706EF07883870A97D36FDCF-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8633
0.0002551 Eth
$221,857.00
3,760,258.960 0XD702993613686AB0F706EF07883870A97D36FDCF
0.0000%
8
Solidly V3 (Fantom)
0X662B3D319E693AA578EDD4BD8A5C9395BC49E9F4-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8528
0.0002519 Eth
$202,412.00
317,325.982 0X662B3D319E693AA578EDD4BD8A5C9395BC49E9F4
0.0000%
9
Solidly V3 (Fantom)
0XD7028092C830B5C8FCE061AF2E593413EBBC1FC1-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.861
0.0002543 Eth
$135,165.00
136,987.430 0XD7028092C830B5C8FCE061AF2E593413EBBC1FC1
0.0000%
10
Sushiswap V3 (Fantom)
0XD7028092C830B5C8FCE061AF2E593413EBBC1FC1-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8612
0.0002544 Eth
$83,786.00
84,876.219 0XD7028092C830B5C8FCE061AF2E593413EBBC1FC1
0.0000%
11
Sushiswap V3 (Fantom)
0X3FD3A0C85B70754EFC07AC9AC0CBBDCE664865A6-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8438
0.0002493 Eth
$77,811.00
6,644.071 0X3FD3A0C85B70754EFC07AC9AC0CBBDCE664865A6
0.0000%
12
SpookySwap
0X85DEC8C4B2680793661BCA91A8F129607571863D-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8607
0.0002547 Eth
$70,554.00
2,050,157.268 0X85DEC8C4B2680793661BCA91A8F129607571863D
0.0000%
13
SpookySwap
0X841FAD6EAE12C286D1FD18D1D525DFFA75C7EFFE-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8608
0.0002543 Eth
$69,347.00
56,681.457 0X841FAD6EAE12C286D1FD18D1D525DFFA75C7EFFE
0.0000%
14
SpookySwap
0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83-0X321162CD933E2BE498CD2267A90534A804051B11$0.8607
0.0002547 Eth
$67,348.00
81,249.502 0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83
0.0000%
15
SpookySwap V3
0X2F733095B80A04B38B0D10CC884524A3D09B836A-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.861
0.0002543 Eth
$67,002.00
56,407.742 0X2F733095B80A04B38B0D10CC884524A3D09B836A
0.0000%
16
Equalizer
0X479673391B3818F5E3ED2FA69A58E13D685BECF6-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8608
0.0002543 Eth
$65,611.00
162,253.170 0X479673391B3818F5E3ED2FA69A58E13D685BECF6
0.0000%
17
Wigoswap
0X662B3D319E693AA578EDD4BD8A5C9395BC49E9F4-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8401
0.0002482 Eth
$60,023.00
94,996.708 0X662B3D319E693AA578EDD4BD8A5C9395BC49E9F4
0.0000%
18
SpookySwap
0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83-0X04068DA6C83AFCFA0E13BA15A6696662335D5B75$0.8621
0.0002547 Eth
$54,416.00
65,335.047 0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83
0.0000%
19
Equalizer
0X43F9A13675E352154F745D6402E853FECC388AA5-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8607
0.0002543 Eth
$52,032.00
319,491.168 0X43F9A13675E352154F745D6402E853FECC388AA5
0.0000%
20
SpookySwap
0X28A92DDE19D9989F39A49905D7C9C2FAC7799BDF-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8581
0.0002537 Eth
$40,712.00
36,405.292 0X28A92DDE19D9989F39A49905D7C9C2FAC7799BDF
0.0000%
21
Equalizer
0XB7C2DDB1EBAC1056231EF22C1B0A13988537A274-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8608
0.0002543 Eth
$36,125.00
178,957.647 0XB7C2DDB1EBAC1056231EF22C1B0A13988537A274
0.0000%
22
Equalizer
0XEE9FF3EFD508741492B5BD45269AA45A43BE59C8-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8608
0.0002543 Eth
$27,678.00
185,097,207.453 0XEE9FF3EFD508741492B5BD45269AA45A43BE59C8
0.0000%
23
Wigoswap
0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83-0X82F0B8B456C1A451378467398982D4834B6829C1$0.8646
0.0002554 Eth
$23,357.00
30,324.621 0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83
0.0000%
24
Beethoven X
0X74CCBE53F77B08632CE0CB91D3A545BF6B8E0979-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.7867
0.0002347 Eth
$21,642.00
447,427.261 0X74CCBE53F77B08632CE0CB91D3A545BF6B8E0979
0.0000%
25
Solidly V3 (Fantom)
0X3FD3A0C85B70754EFC07AC9AC0CBBDCE664865A6-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8637
0.0002551 Eth
$20,874.00
1,753.295 0X3FD3A0C85B70754EFC07AC9AC0CBBDCE664865A6
0.0000%
26
SpookySwap V3
0XD7028092C830B5C8FCE061AF2E593413EBBC1FC1-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8611
0.0002544 Eth
$20,766.00
21,043.165 0XD7028092C830B5C8FCE061AF2E593413EBBC1FC1
0.0000%
27
Lif3 V3 (Fantom)
0X5E074C28149CC35C1E5FBC79D8A6EA688DBA2314-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.861
0.0002543 Eth
$20,155.00
1,049,395.964 0X5E074C28149CC35C1E5FBC79D8A6EA688DBA2314
0.0000%
28
Wigoswap
0XD7028092C830B5C8FCE061AF2E593413EBBC1FC1-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8605
0.0002542 Eth
$20,085.00
20,394.307 0XD7028092C830B5C8FCE061AF2E593413EBBC1FC1
0.0000%
29
SpiritSwap
0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83-0X91FA20244FB509E8289CA630E5DB3E9166233FDC$0.8607
0.0002543 Eth
$17,639.59
22,623.768 0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83
0.0000%
30
Equalizer
0XD702993613686AB0F706EF07883870A97D36FDCF-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8607
0.0002543 Eth
$14,747.48
250,520.512 0XD702993613686AB0F706EF07883870A97D36FDCF
0.0000%
31
Solidly V3 (Fantom)
0XDE55B113A27CC0C5893CAA6EE1C020B6B46650C0-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8608
0.0002543 Eth
$14,602.12
605.083 0XDE55B113A27CC0C5893CAA6EE1C020B6B46650C0
0.0000%
32
SpiritSwap
0XDC301622E621166BD8E82F2CA0A26C13AD0BE355-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8607
0.0002543 Eth
$13,734.70
11,945.284 0XDC301622E621166BD8E82F2CA0A26C13AD0BE355
0.0000%
33
Solidly V3 (Fantom)
0X62227C75908B7D358A9D70EA4670F57F8B012CCC-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.861
0.0002543 Eth
$13,554.52
15,878.088 0X62227C75908B7D358A9D70EA4670F57F8B012CCC
0.0000%
34
Sushiswap
0X4E15361FD6B4BB609FA63C81A2BE19D873717870-0XC02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2$0.8589
0.0002539 Eth
$13,503.90
17,540.207 0X4E15361FD6B4BB609FA63C81A2BE19D873717870
0.0000%
35
SpookySwap
0X74B23882A30290451A17C44F4F05243B6B58C76D-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8607
0.0002547 Eth
$13,034.71
111.922 0X74B23882A30290451A17C44F4F05243B6B58C76D
0.0000%
36
Tomb Swap (Fantom)
0XCBE0CA46399AF916784CADF5BCC3AED2052D6C45-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8627
0.0002549 Eth
$12,223.44
62.830 0XCBE0CA46399AF916784CADF5BCC3AED2052D6C45
0.0000%
37
SpookySwap
0X049D68029688EABF473097A2FC38EF61633A3C7A-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8608
0.0002547 Eth
$11,007.33
193,313.559 0X049D68029688EABF473097A2FC38EF61633A3C7A
0.0000%
38
SpiritSwap
0X04068DA6C83AFCFA0E13BA15A6696662335D5B75-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8607
0.0002543 Eth
$10,606.10
84,417.753 0X04068DA6C83AFCFA0E13BA15A6696662335D5B75
0.0000%
39
Equalizer
0X431516E478D73CFAB034229C4D7A94A2CBF5787F-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8608
0.0002543 Eth
$10,140.08
4,322,125.984 0X431516E478D73CFAB034229C4D7A94A2CBF5787F
0.0000%
40
Equalizer
0X01E77288B38B416F972428D562454FB329350BAC-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8607
0.0002543 Eth
$9,075.63
44,360.710 0X01E77288B38B416F972428D562454FB329350BAC
0.0000%
41
SpookySwap
0X4CDF39285D7CA8EB3F090FDA0C069BA5F4145B37-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8607
0.0002547 Eth
$9,009.38
263.777 0X4CDF39285D7CA8EB3F090FDA0C069BA5F4145B37
0.0000%
42
Tomb Swap (Fantom)
0XBF60E7414EF09026733C1E7DE72E7393888C64DA-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8608
0.0002543 Eth
$8,639.42
645,655.748 0XBF60E7414EF09026733C1E7DE72E7393888C64DA
0.0000%
43
Beethoven X
0XD7028092C830B5C8FCE061AF2E593413EBBC1FC1-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.861
0.0002543 Eth
$7,795.55
7,877.242 0XD7028092C830B5C8FCE061AF2E593413EBBC1FC1
0.0000%
44
Equalizer
0X39551B1C26CE03714E4661833B0FA730174BD7E9-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8624
0.0002548 Eth
$7,720.35
53,086.006 0X39551B1C26CE03714E4661833B0FA730174BD7E9
0.0000%
45
SpookySwap V3
0X841FAD6EAE12C286D1FD18D1D525DFFA75C7EFFE-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8608
0.0002543 Eth
$7,473.25
6,093.923 0X841FAD6EAE12C286D1FD18D1D525DFFA75C7EFFE
0.0000%
46
SpookySwap
0XA80058BDF71F4044942107E33A802752B3BFB4D0-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8607
0.0002547 Eth
$7,296.37
78,851,557,292,626,300.000 0XA80058BDF71F4044942107E33A802752B3BFB4D0
72.1947%
47
Equalizer
0XDE55B113A27CC0C5893CAA6EE1C020B6B46650C0-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8607
0.0002543 Eth
$6,326.61
262.206 0XDE55B113A27CC0C5893CAA6EE1C020B6B46650C0
0.0000%
48
Equalizer
0XB8A32897016C1B2EE0797090162EAFE58F032795-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8608
0.0002543 Eth
$6,080.89
9,720.097 0XB8A32897016C1B2EE0797090162EAFE58F032795
0.0000%
49
SpookySwap
0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83-0X8D11EC38A3EB5E956B052F67DA8BDC9BEF8ABF3E$0.861
0.0002548 Eth
$5,328.20
6,399.982 0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83
0.0000%
50
Equalizer
0X74CCBE53F77B08632CE0CB91D3A545BF6B8E0979-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8608
0.0002543 Eth
$5,256.19
113,876.038 0X74CCBE53F77B08632CE0CB91D3A545BF6B8E0979
0.0000%
51
Velocimeter (Fantom)
0X28A92DDE19D9989F39A49905D7C9C2FAC7799BDF-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8557
0.0002530 Eth
$5,197.30
4,571.087 0X28A92DDE19D9989F39A49905D7C9C2FAC7799BDF
0.0000%
52
Tomb Swap (Fantom)
0X6C021AE822BEA943B2E66552BDE1D2696A53FBB7-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8608
0.0002543 Eth
$4,853.12
603,788.120 0X6C021AE822BEA943B2E66552BDE1D2696A53FBB7
0.0000%
53
SpookySwap
0X0CE12AE7C899EBF2BCDA7AA570C5AF98B6688C95-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8607
0.0002547 Eth
$4,579.09
9,396,971,360.703 0X0CE12AE7C899EBF2BCDA7AA570C5AF98B6688C95
0.0000%
54
Beethoven X
0XB7C2DDB1EBAC1056231EF22C1B0A13988537A274-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8598
0.0002544 Eth
$4,563.78
22,642.416 0XB7C2DDB1EBAC1056231EF22C1B0A13988537A274
0.0000%
55
SpookySwap
0X5C725631FD299703D0A74C23F89A55C6B9A0C52F-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8603
0.0002543 Eth
$4,467.29
265,553.543 0X5C725631FD299703D0A74C23F89A55C6B9A0C52F
0.0000%
56
Yoshi.exchange (Fantom)
0XD3C325848D7C6E29B574CB0789998B2FF901F17E-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8608
0.0002543 Eth
$4,387.37
836,169.130 0XD3C325848D7C6E29B574CB0789998B2FF901F17E
0.0000%
57
SpookySwap
0XB5FD949436772E07CBBF35FB6524E79924C54CB3-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8607
0.0002547 Eth
$4,305.01
175,196.985 0XB5FD949436772E07CBBF35FB6524E79924C54CB3
0.0000%
58
SpookySwap
0X6C021AE822BEA943B2E66552BDE1D2696A53FBB7-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8608
0.0002547 Eth
$4,178.78
517,481.875 0X6C021AE822BEA943B2E66552BDE1D2696A53FBB7
0.0000%
59
SpiritSwap
0X5CC61A78F164885776AA610FB0FE1257DF78E59B-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8608
0.0002543 Eth
$3,244.65
1,797,870.172 0X5CC61A78F164885776AA610FB0FE1257DF78E59B
0.0000%
60
Equalizer
0X582423C10C9E83387A96D00A69BA3D11EE47B7B5-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8608
0.0002543 Eth
$2,980.07
169,039.964 0X582423C10C9E83387A96D00A69BA3D11EE47B7B5
0.0000%
61
Equalizer
0XA80058BDF71F4044942107E33A802752B3BFB4D0-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8608
0.0002543 Eth
$2,876.63
30,364,757,698,984,700.000 0XA80058BDF71F4044942107E33A802752B3BFB4D0
27.8013%
62
SpookySwap
0XDE5ED76E7C05EC5E4572CFC88D1ACEA165109E44-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8607
0.0002543 Eth
$2,804.42
113.125 0XDE5ED76E7C05EC5E4572CFC88D1ACEA165109E44
0.0000%
63
SpookySwap V3
0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83-0X82F0B8B456C1A451378467398982D4834B6829C1$0.8558
0.0002528 Eth
$2,710.68
3,574.722 0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83
0.0000%
64
Equalizer
0X62227C75908B7D358A9D70EA4670F57F8B012CCC-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8608
0.0002543 Eth
$2,696.23
3,183.284 0X62227C75908B7D358A9D70EA4670F57F8B012CCC
0.0000%
65
SpiritSwap
0X74B23882A30290451A17C44F4F05243B6B58C76D-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8608
0.0002543 Eth
$2,634.35
22.917 0X74B23882A30290451A17C44F4F05243B6B58C76D
0.0000%
66
SpookySwap V3
0X28A92DDE19D9989F39A49905D7C9C2FAC7799BDF-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8697
0.0002571 Eth
$2,613.16
2,279.574 0X28A92DDE19D9989F39A49905D7C9C2FAC7799BDF
0.0000%
67
Equalizer
0XD361474BB19C8B98870BB67F5759CDF277DEE7F9-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8608
0.0002543 Eth
$2,434.97
42,407.572 0XD361474BB19C8B98870BB67F5759CDF277DEE7F9
0.0000%
68
Beethoven X
0XDE55B113A27CC0C5893CAA6EE1C020B6B46650C0-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8607
0.0002543 Eth
$2,355.28
97.043 0XDE55B113A27CC0C5893CAA6EE1C020B6B46650C0
0.0000%
69
Equalizer
0XE47D957F83F8887063150AAF7187411351643392-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8607
0.0002543 Eth
$2,261.92
4,363,557,438,860.170 0XE47D957F83F8887063150AAF7187411351643392
0.0040%
70
Beethoven X
0X74CCBE53F77B08632CE0CB91D3A545BF6B8E0979-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8139
0.0002428 Eth
$2,172.92
42,795.298 0X74CCBE53F77B08632CE0CB91D3A545BF6B8E0979
0.0000%
71
Equalizer
0X1E2EA3F3209D66647F959CF00627107E079B870D-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8608
0.0002543 Eth
$2,110.70
212,778.797 0X1E2EA3F3209D66647F959CF00627107E079B870D
0.0000%
72
Wigoswap
0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83-0X321162CD933E2BE498CD2267A90534A804051B11$0.8607
0.0002543 Eth
$2,055.71
2,559.222 0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83
0.0000%
73
SpookySwap
0X43A8CAB15D06D3A5FE5854D714C37E7E9246F170-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8568
0.0002533 Eth
$1,735.43
50,812.511 0X43A8CAB15D06D3A5FE5854D714C37E7E9246F170
0.0000%
74
Paintswap
0X85DEC8C4B2680793661BCA91A8F129607571863D-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8607
0.0002547 Eth
$1,672.50
48,576.901 0X85DEC8C4B2680793661BCA91A8F129607571863D
0.0000%
75
Sushiswap (Fantom)
0X74B23882A30290451A17C44F4F05243B6B58C76D-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8601
0.0002545 Eth
$1,657.90
14.359 0X74B23882A30290451A17C44F4F05243B6B58C76D
0.0000%
76
SpookySwap
0X662B3D319E693AA578EDD4BD8A5C9395BC49E9F4-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8137
0.0002416 Eth
$1,620.70
2,714.349 0X662B3D319E693AA578EDD4BD8A5C9395BC49E9F4
0.0000%
77
SpookySwap
0X511D35C52A3C244E7B8BD92C0C297755FBD89212-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8607
0.0002547 Eth
$1,540.99
278.136 0X511D35C52A3C244E7B8BD92C0C297755FBD89212
0.0000%
78
Equalizer
0X5C725631FD299703D0A74C23F89A55C6B9A0C52F-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8598
0.0002545 Eth
$1,506.98
86,115.183 0X5C725631FD299703D0A74C23F89A55C6B9A0C52F
0.0000%
79
Wigoswap
0X04068DA6C83AFCFA0E13BA15A6696662335D5B75-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8607
0.0002543 Eth
$1,380.77
11,070.907 0X04068DA6C83AFCFA0E13BA15A6696662335D5B75
0.0000%
80
SpiritSwap (V2)
0X04068DA6C83AFCFA0E13BA15A6696662335D5B75-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8588
0.0002542 Eth
$1,327.07
10,483.178 0X04068DA6C83AFCFA0E13BA15A6696662335D5B75
0.0000%
81
Equalizer
0X66EED5FF1701E6ED8470DC391F05E27B1D0657EB-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8607
0.0002547 Eth
$1,287.65
31,636.303 0X66EED5FF1701E6ED8470DC391F05E27B1D0657EB
0.0000%
82
SpookySwap
0XF24BCF4D1E507740041C9CFD2DDDB29585ADCE1E-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8607
0.0002547 Eth
$1,236.44
35,829.778 0XF24BCF4D1E507740041C9CFD2DDDB29585ADCE1E
0.0000%
83
SpookySwap
0X6626C47C00F1D87902FC13EECFAC3ED06D5E8D8A-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8607
0.0002547 Eth
$1,212.17
4,623.867 0X6626C47C00F1D87902FC13EECFAC3ED06D5E8D8A
0.0000%
84
SpookySwap
0XD3C325848D7C6E29B574CB0789998B2FF901F17E-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8607
0.0002547 Eth
$1,211.80
229,983.169 0XD3C325848D7C6E29B574CB0789998B2FF901F17E
0.0000%
85
SpookySwap
0XE0654C8E6FD4D733349AC7E09F6F23DA256BF475-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8607
0.0002547 Eth
$1,200.61
2,195.031 0XE0654C8E6FD4D733349AC7E09F6F23DA256BF475
0.0000%
86
SpiritSwap
0X2598C30330D5771AE9F983979209486AE26DE875-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8603
0.0002543 Eth
$1,196.03
113,980,377.030 0X2598C30330D5771AE9F983979209486AE26DE875
0.0000%
87
SpiritSwap
0XFB98B335551A418CD0737375A2EA0DED62EA213B-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8607
0.0002543 Eth
$1,119.14
4,268.631 0XFB98B335551A418CD0737375A2EA0DED62EA213B
0.0000%
88
Equalizer
0X04068DA6C83AFCFA0E13BA15A6696662335D5B75-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8632
0.0002552 Eth
$1,069.15
8,372.107 0X04068DA6C83AFCFA0E13BA15A6696662335D5B75
0.0000%
89
Paintswap
0X04068DA6C83AFCFA0E13BA15A6696662335D5B75-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8611
0.0002546 Eth
$910.46
7,105.955 0X04068DA6C83AFCFA0E13BA15A6696662335D5B75
0.0000%
90
Soulswap
0XFE7EDA5F2C56160D406869A8AA4B2F365D544C7B-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8566
0.0002535 Eth
$850.58
0.227 0XFE7EDA5F2C56160D406869A8AA4B2F365D544C7B
0.0000%
91
Velocimeter (Fantom)
0XB7C2DDB1EBAC1056231EF22C1B0A13988537A274-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8601
0.0002545 Eth
$799.78
3,897.372 0XB7C2DDB1EBAC1056231EF22C1B0A13988537A274
0.0000%
92
Yoshi.exchange (Fantom)
0X3DC57B391262E3AAE37A08D91241F9BA9D58B570-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8608
0.0002543 Eth
$666.41
27,414.335 0X3DC57B391262E3AAE37A08D91241F9BA9D58B570
0.0000%
93
SpookySwap V3
0X841FAD6EAE12C286D1FD18D1D525DFFA75C7EFFE-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8635
0.0002551 Eth
$581.94
474.446 0X841FAD6EAE12C286D1FD18D1D525DFFA75C7EFFE
0.0000%
94
SpookySwap
0XD67DE0E0A0FD7B15DC8348BB9BE742F3C5850454-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8607
0.0002547 Eth
$456.14
5.833 0XD67DE0E0A0FD7B15DC8348BB9BE742F3C5850454
0.0000%
95
Velocimeter (Fantom)
0X74CCBE53F77B08632CE0CB91D3A545BF6B8E0979-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8771
0.0002590 Eth
$309.64
5,843.815 0X74CCBE53F77B08632CE0CB91D3A545BF6B8E0979
0.0000%
96
Sushiswap (Fantom)
0XF16E81DCE15B08F326220742020379B855B87DF9-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8607
0.0002547 Eth
$279.68
654.073 0XF16E81DCE15B08F326220742020379B855B87DF9
0.0000%
97
Tomb Swap (Fantom)
0X5E074C28149CC35C1E5FBC79D8A6EA688DBA2314-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8599
0.0002541 Eth
$264.24
13,764.523 0X5E074C28149CC35C1E5FBC79D8A6EA688DBA2314
0.0000%
98
SpookySwap
0XD7028092C830B5C8FCE061AF2E593413EBBC1FC1-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8607
0.0002547 Eth
$233.28
236.576 0XD7028092C830B5C8FCE061AF2E593413EBBC1FC1
0.0000%
99
SpookySwap
0XD8321AA83FB0A4ECD6348D4577431310A6E0814D-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8607
0.0002547 Eth
$121.23
524,288.588 0XD8321AA83FB0A4ECD6348D4577431310A6E0814D
0.0000%
100
SpookySwap
0XDDCB3FFD12750B45D32E084887FDF1AABAB34239-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83$0.8607
0.0002547 Eth
$38.67
7.190 0XDDCB3FFD12750B45D32E084887FDF1AABAB34239
0.0000%

Contract Source Code Verified (Exact Match)

Contract Name:
FantomToken

Compiler Version
v0.4.23+commit.124ca40d

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Audited

Contract Source Code (Solidity)Audit Report

/**
 *Submitted for verification at Etherscan.io on 2018-06-14
*/

pragma solidity ^0.4.23;

// ----------------------------------------------------------------------------
//
// Fantom Foundation FTM token public sale contract
//
// For details, please visit: http://fantom.foundation
//
//
// written by Alex Kampa - [email protected]
//
// ----------------------------------------------------------------------------


// ----------------------------------------------------------------------------
//
// SafeMath
//
// ----------------------------------------------------------------------------

library SafeMath {

    function add(uint a, uint b) internal pure returns (uint c) {
        c = a + b;
        require(c >= a);
    }

    function sub(uint a, uint b) internal pure returns (uint c) {
        require(b <= a);
        c = a - b;
    }

    function mul(uint a, uint b) internal pure returns (uint c) {
        c = a * b;
        require(a == 0 || c / a == b);
    }

}

// ----------------------------------------------------------------------------
//
// Owned
//
// ----------------------------------------------------------------------------

contract Owned {

    address public owner;
    address public newOwner;

    mapping(address => bool) public isAdmin;

    event OwnershipTransferProposed(address indexed _from, address indexed _to);
    event OwnershipTransferred(address indexed _from, address indexed _to);
    event AdminChange(address indexed _admin, bool _status);

    modifier onlyOwner {require(msg.sender == owner); _;}
    modifier onlyAdmin {require(isAdmin[msg.sender]); _;}

    constructor() public {
        owner = msg.sender;
        isAdmin[owner] = true;
    }

    function transferOwnership(address _newOwner) public onlyOwner {
        require(_newOwner != address(0x0));
        emit OwnershipTransferProposed(owner, _newOwner);
        newOwner = _newOwner;
    }

    function acceptOwnership() public {
        require(msg.sender == newOwner);
        emit OwnershipTransferred(owner, newOwner);
        owner = newOwner;
    }

    function addAdmin(address _a) public onlyOwner {
        require(isAdmin[_a] == false);
        isAdmin[_a] = true;
        emit AdminChange(_a, true);
    }

    function removeAdmin(address _a) public onlyOwner {
        require(isAdmin[_a] == true);
        isAdmin[_a] = false;
        emit AdminChange(_a, false);
    }

}


// ----------------------------------------------------------------------------
//
// Wallet
//
// ----------------------------------------------------------------------------

contract Wallet is Owned {

    address public wallet;

    event WalletUpdated(address newWallet);

    constructor() public {
        wallet = owner;
    }

    function setWallet(address _wallet) public onlyOwner {
        require(_wallet != address(0x0));
        wallet = _wallet;
        emit WalletUpdated(_wallet);
    }

}


// ----------------------------------------------------------------------------
//
// ERC20Interface
//
// ----------------------------------------------------------------------------

contract ERC20Interface {

    event Transfer(address indexed _from, address indexed _to, uint _value);
    event Approval(address indexed _owner, address indexed _spender, uint _value);

    function totalSupply() public view returns (uint);
    function balanceOf(address _owner) public view returns (uint balance);
    function transfer(address _to, uint _value) public returns (bool success);
    function transferFrom(address _from, address _to, uint _value) public returns (bool success);
    function approve(address _spender, uint _value) public returns (bool success);
    function allowance(address _owner, address _spender) public view returns (uint remaining);

}


// ----------------------------------------------------------------------------
//
// ERC Token Standard #20
//
// ----------------------------------------------------------------------------

contract ERC20Token is ERC20Interface, Owned {

    using SafeMath for uint;

    uint public tokensIssuedTotal;
    mapping(address => uint) balances;
    mapping(address => mapping (address => uint)) allowed;

    function totalSupply() public view returns (uint) {
        return tokensIssuedTotal;
    }
    // Includes BOTH locked AND unlocked tokens

    function balanceOf(address _owner) public view returns (uint) {
        return balances[_owner];
    }

    function transfer(address _to, uint _amount) public returns (bool) {
        require(_to != 0x0);
        balances[msg.sender] = balances[msg.sender].sub(_amount);
        balances[_to] = balances[_to].add(_amount);
        emit Transfer(msg.sender, _to, _amount);
        return true;
    }

    function approve(address _spender, uint _amount) public returns (bool) {
        allowed[msg.sender][_spender] = _amount;
        emit Approval(msg.sender, _spender, _amount);
        return true;
    }

    function transferFrom(address _from, address _to, uint _amount) public returns (bool) {
        require(_to != 0x0);
        balances[_from] = balances[_from].sub(_amount);
        allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_amount);
        balances[_to] = balances[_to].add(_amount);
        emit Transfer(_from, _to, _amount);
        return true;
    }

    function allowance(address _owner, address _spender) public view returns (uint) {
        return allowed[_owner][_spender];
    }

}


// ----------------------------------------------------------------------------
//
// LockSlots
//
// ----------------------------------------------------------------------------

contract LockSlots is ERC20Token {

    using SafeMath for uint;

    uint public constant LOCK_SLOTS = 5;
    mapping(address => uint[LOCK_SLOTS]) public lockTerm;
    mapping(address => uint[LOCK_SLOTS]) public lockAmnt;
    mapping(address => bool) public mayHaveLockedTokens;

    event RegisteredLockedTokens(address indexed account, uint indexed idx, uint tokens, uint term);

    function registerLockedTokens(address _account, uint _tokens, uint _term) internal returns (uint idx) {
        require(_term > now, "lock term must be in the future");

        // find a slot (clean up while doing this)
        // use either the existing slot with the exact same term,
        // of which there can be at most one, or the first empty slot
        idx = 9999;
        uint[LOCK_SLOTS] storage term = lockTerm[_account];
        uint[LOCK_SLOTS] storage amnt = lockAmnt[_account];
        for (uint i; i < LOCK_SLOTS; i++) {
            if (term[i] < now) {
                term[i] = 0;
                amnt[i] = 0;
                if (idx == 9999) idx = i;
            }
            if (term[i] == _term) idx = i;
        }

        // fail if no slot was found
        require(idx != 9999, "registerLockedTokens: no available slot found");

        // register locked tokens
        if (term[idx] == 0) term[idx] = _term;
        amnt[idx] = amnt[idx].add(_tokens);
        mayHaveLockedTokens[_account] = true;
        emit RegisteredLockedTokens(_account, idx, _tokens, _term);
    }

    // public view functions

    function lockedTokens(address _account) public view returns (uint) {
        if (!mayHaveLockedTokens[_account]) return 0;
        return pNumberOfLockedTokens(_account);
    }

    function unlockedTokens(address _account) public view returns (uint) {
        return balances[_account].sub(lockedTokens(_account));
    }

    function isAvailableLockSlot(address _account, uint _term) public view returns (bool) {
        if (!mayHaveLockedTokens[_account]) return true;
        if (_term < now) return true;
        uint[LOCK_SLOTS] storage term = lockTerm[_account];
        for (uint i; i < LOCK_SLOTS; i++) {
            if (term[i] < now || term[i] == _term) return true;
        }
        return false;
    }

    // internal and private functions

    function unlockedTokensInternal(address _account) internal returns (uint) {
        // updates mayHaveLockedTokens if necessary
        if (!mayHaveLockedTokens[_account]) return balances[_account];
        uint locked = pNumberOfLockedTokens(_account);
        if (locked == 0) mayHaveLockedTokens[_account] = false;
        return balances[_account].sub(locked);
    }

    function pNumberOfLockedTokens(address _account) private view returns (uint locked) {
        uint[LOCK_SLOTS] storage term = lockTerm[_account];
        uint[LOCK_SLOTS] storage amnt = lockAmnt[_account];
        for (uint i; i < LOCK_SLOTS; i++) {
            if (term[i] >= now) locked = locked.add(amnt[i]);
        }
    }

}


// ----------------------------------------------------------------------------
//
// FantomIcoDates
//
// ----------------------------------------------------------------------------

contract FantomIcoDates is Owned {

    uint public dateMainStart = 1529053200; // 15-JUN-2018 09:00 GMT + 0
    uint public dateMainEnd   = 1529658000; // 22-JUN-2018 09:00 GMT + 0

    uint public constant DATE_LIMIT = 1529658000 + 180 days;

    event IcoDateUpdated(uint id, uint unixts);

    // check dates

    modifier checkDateOrder {
      _ ;
      require ( dateMainStart < dateMainEnd ) ;
      require ( dateMainEnd < DATE_LIMIT ) ;
    }

    constructor() public checkDateOrder() {
        require(now < dateMainStart);
    }

    // set ico dates

    function setDateMainStart(uint _unixts) public onlyOwner checkDateOrder {
        require(now < _unixts && now < dateMainStart);
        dateMainStart = _unixts;
        emit IcoDateUpdated(1, _unixts);
    }

    function setDateMainEnd(uint _unixts) public onlyOwner checkDateOrder {
        require(now < _unixts && now < dateMainEnd);
        dateMainEnd = _unixts;
        emit IcoDateUpdated(2, _unixts);
    }

    // where are we? Passed first day or not?

    function isMainFirstDay() public view returns (bool) {
        if (now > dateMainStart && now <= dateMainStart + 1 days) return true;
        return false;
    }

    function isMain() public view returns (bool) {
        if (now > dateMainStart && now < dateMainEnd) return true;
        return false;
    }

}

// ----------------------------------------------------------------------------
//
// Fantom public token sale
//
// ----------------------------------------------------------------------------

contract FantomToken is ERC20Token, Wallet, LockSlots, FantomIcoDates {

    // Utility variable

    uint constant E18 = 10**18;

    // Basic token data

    string public constant name = "Fantom Token";
    string public constant symbol = "FTM";
    uint8 public constant decimals = 18;

    // Token number of possible tokens in existance

    uint public constant MAX_TOTAL_TOKEN_SUPPLY = 3175000000 * E18;


    // crowdsale parameters
    // Opening ETH Rate: USD$463.28
    // Therefore, 1 ETH = 11582 FTM


    uint public tokensPerEth = 11582;

    // USD$2,000,000/463.28 = 4317.043668 ether
    // 4317.043668 ether/2551 addresses = 1.692294656 ether per address for the first 24 hours

    uint public constant MINIMUM_CONTRIBUTION = 0.2 ether;
    uint public constant MAXIMUM_FIRST_DAY_CONTRIBUTION = 1.692294656 ether;

    uint public constant TOKEN_MAIN_CAP = 50000000 * E18;

    bool public tokensTradeable;

    // whitelisting

    mapping(address => bool) public whitelist;
    uint public numberWhitelisted;

    // track main sale

    uint public tokensMain;
    mapping(address => uint) public balancesMain;

    uint public totalEthContributed;
    mapping(address => uint) public ethContributed;

    // tracking tokens minted

    uint public tokensMinted;
    mapping(address => uint) public balancesMinted;
    mapping(address => mapping(uint => uint)) public balancesMintedByType;

    // migration variable

    bool public isMigrationPhaseOpen;

    // Events ---------------------------------------------

    event UpdatedTokensPerEth(uint tokensPerEth);
    event Whitelisted(address indexed account, uint countWhitelisted);
    event TokensMinted(uint indexed mintType, address indexed account, uint tokens, uint term);
    event RegisterContribution(address indexed account, uint tokensIssued, uint ethContributed, uint ethReturned);
    event TokenExchangeRequested(address indexed account, uint tokens);

    // Basic Functions ------------------------------------

    constructor() public {}

    function () public payable {
        buyTokens();
    }

    // Information functions


    function availableToMint() public view returns (uint) {
        return MAX_TOTAL_TOKEN_SUPPLY.sub(TOKEN_MAIN_CAP).sub(tokensMinted);
    }

    function firstDayTokenLimit() public view returns (uint) {
        return ethToTokens(MAXIMUM_FIRST_DAY_CONTRIBUTION);
    }

    function ethToTokens(uint _eth) public view returns (uint tokens) {
        tokens = _eth.mul(tokensPerEth);
    }

    function tokensToEth(uint _tokens) public view returns (uint eth) {
        eth = _tokens / tokensPerEth;
    }

    // Admin functions

    function addToWhitelist(address _account) public onlyAdmin {
        pWhitelist(_account);
    }

    function addToWhitelistMultiple(address[] _addresses) public onlyAdmin {
        for (uint i; i < _addresses.length; i++) {
            pWhitelist(_addresses[i]);
        }
    }

    function pWhitelist(address _account) internal {
        if (whitelist[_account]) return;
        whitelist[_account] = true;
        numberWhitelisted = numberWhitelisted.add(1);
        emit Whitelisted(_account, numberWhitelisted);
    }

    // Owner functions ------------------------------------

    function updateTokensPerEth(uint _tokens_per_eth) public onlyOwner {
        require(now < dateMainStart);
        tokensPerEth = _tokens_per_eth;
        emit UpdatedTokensPerEth(tokensPerEth);
    }

    // Only owner can make tokens tradable at any time, or if the date is
    // greater than the end of the mainsale date plus 20 weeks, allow
    // any caller to make tokensTradeable.

    function makeTradeable() public {
        require(msg.sender == owner || now > dateMainEnd + 20 weeks);
        tokensTradeable = true;
    }

    function openMigrationPhase() public onlyOwner {
        require(now > dateMainEnd);
        isMigrationPhaseOpen = true;
    }

    // Token minting --------------------------------------

    function mintTokens(uint _mint_type, address _account, uint _tokens) public onlyOwner {
        pMintTokens(_mint_type, _account, _tokens, 0);
    }

    function mintTokensMultiple(uint _mint_type, address[] _accounts, uint[] _tokens) public onlyOwner {
        require(_accounts.length == _tokens.length);
        for (uint i; i < _accounts.length; i++) {
            pMintTokens(_mint_type, _accounts[i], _tokens[i], 0);
        }
    }

    function mintTokensLocked(uint _mint_type, address _account, uint _tokens, uint _term) public onlyOwner {
        pMintTokens(_mint_type, _account, _tokens, _term);
    }

    function mintTokensLockedMultiple(uint _mint_type, address[] _accounts, uint[] _tokens, uint[] _terms) public onlyOwner {
        require(_accounts.length == _tokens.length);
        require(_accounts.length == _terms.length);
        for (uint i; i < _accounts.length; i++) {
            pMintTokens(_mint_type, _accounts[i], _tokens[i], _terms[i]);
        }
    }

    function pMintTokens(uint _mint_type, address _account, uint _tokens, uint _term) private {
        require(whitelist[_account]);
        require(_account != 0x0);
        require(_tokens > 0);
        require(_tokens <= availableToMint(), "not enough tokens available to mint");
        require(_term == 0 || _term > now, "either without lock term, or lock term must be in the future");

        // register locked tokens (will throw if no slot is found)
        if (_term > 0) registerLockedTokens(_account, _tokens, _term);

        // update
        balances[_account] = balances[_account].add(_tokens);
        balancesMinted[_account] = balancesMinted[_account].add(_tokens);
        balancesMintedByType[_account][_mint_type] = balancesMintedByType[_account][_mint_type].add(_tokens);
        tokensMinted = tokensMinted.add(_tokens);
        tokensIssuedTotal = tokensIssuedTotal.add(_tokens);

        // log event
        emit Transfer(0x0, _account, _tokens);
        emit TokensMinted(_mint_type, _account, _tokens, _term);
    }

    // Main sale ------------------------------------------

    function buyTokens() private {

        require(isMain());
        require(msg.value >= MINIMUM_CONTRIBUTION);
        require(whitelist[msg.sender]);

        uint tokens_available = TOKEN_MAIN_CAP.sub(tokensMain);

        // adjust tokens_available on first day, if necessary
        if (isMainFirstDay()) {
            uint tokens_available_first_day = firstDayTokenLimit().sub(balancesMain[msg.sender]);
            if (tokens_available_first_day < tokens_available) {
                tokens_available = tokens_available_first_day;
            }
        }

        require (tokens_available > 0);

        uint tokens_requested = ethToTokens(msg.value);
        uint tokens_issued = tokens_requested;

        uint eth_contributed = msg.value;
        uint eth_returned;

        if (tokens_requested > tokens_available) {
            tokens_issued = tokens_available;
            eth_returned = tokensToEth(tokens_requested.sub(tokens_available));
            eth_contributed = msg.value.sub(eth_returned);
        }

        balances[msg.sender] = balances[msg.sender].add(tokens_issued);
        balancesMain[msg.sender] = balancesMain[msg.sender].add(tokens_issued);
        tokensMain = tokensMain.add(tokens_issued);
        tokensIssuedTotal = tokensIssuedTotal.add(tokens_issued);

        ethContributed[msg.sender] = ethContributed[msg.sender].add(eth_contributed);
        totalEthContributed = totalEthContributed.add(eth_contributed);

        // ether transfers
        if (eth_returned > 0) msg.sender.transfer(eth_returned);
        wallet.transfer(eth_contributed);

        // log
        emit Transfer(0x0, msg.sender, tokens_issued);
        emit RegisterContribution(msg.sender, tokens_issued, eth_contributed, eth_returned);
    }

    // Token exchange / migration to new platform ---------

    function requestTokenExchangeMax() public {
        requestTokenExchange(unlockedTokensInternal(msg.sender));
    }

    function requestTokenExchange(uint _tokens) public {
        require(isMigrationPhaseOpen);
        require(_tokens > 0 && _tokens <= unlockedTokensInternal(msg.sender));
        balances[msg.sender] = balances[msg.sender].sub(_tokens);
        tokensIssuedTotal = tokensIssuedTotal.sub(_tokens);
        emit Transfer(msg.sender, 0x0, _tokens);
        emit TokenExchangeRequested(msg.sender, _tokens);
    }

    // ERC20 functions -------------------

    /* Transfer out any accidentally sent ERC20 tokens */

    function transferAnyERC20Token(address _token_address, uint _amount) public onlyOwner returns (bool success) {
        return ERC20Interface(_token_address).transfer(owner, _amount);
    }

    /* Override "transfer" */

    function transfer(address _to, uint _amount) public returns (bool success) {
        require(tokensTradeable);
        require(_amount <= unlockedTokensInternal(msg.sender));
        return super.transfer(_to, _amount);
    }

    /* Override "transferFrom" */

    function transferFrom(address _from, address _to, uint _amount) public returns (bool success) {
        require(tokensTradeable);
        require(_amount <= unlockedTokensInternal(_from));
        return super.transferFrom(_from, _to, _amount);
    }

    /* Multiple token transfers from one address to save gas */

    function transferMultiple(address[] _addresses, uint[] _amounts) external {
        require(_addresses.length <= 100);
        require(_addresses.length == _amounts.length);

        // do the transfers
        for (uint j; j < _addresses.length; j++) {
            transfer(_addresses[j], _amounts[j]);
        }

    }

}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"DATE_LIMIT","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_amount","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_a","type":"address"}],"name":"removeAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"isAdmin","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MAX_TOTAL_TOKEN_SUPPLY","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"LOCK_SLOTS","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balancesMinted","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"dateMainEnd","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MAXIMUM_FIRST_DAY_CONTRIBUTION","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_mint_type","type":"uint256"},{"name":"_account","type":"address"},{"name":"_tokens","type":"uint256"},{"name":"_term","type":"uint256"}],"name":"mintTokensLocked","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_mint_type","type":"uint256"},{"name":"_accounts","type":"address[]"},{"name":"_tokens","type":"uint256[]"},{"name":"_terms","type":"uint256[]"}],"name":"mintTokensLockedMultiple","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"lockTerm","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"wallet","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"TOKEN_MAIN_CAP","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_account","type":"address"}],"name":"lockedTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"openMigrationPhase","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isMain","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isMainFirstDay","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"numberWhitelisted","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokensMinted","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_a","type":"address"}],"name":"addAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"availableToMint","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_tokens","type":"uint256"}],"name":"tokensToEth","outputs":[{"name":"eth","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_account","type":"address"}],"name":"unlockedTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_tokens","type":"uint256"}],"name":"requestTokenExchange","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"tokensIssuedTotal","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_unixts","type":"uint256"}],"name":"setDateMainEnd","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"balancesMintedByType","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MINIMUM_CONTRIBUTION","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_mint_type","type":"uint256"},{"name":"_account","type":"address"},{"name":"_tokens","type":"uint256"}],"name":"mintTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balancesMain","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addresses","type":"address[]"}],"name":"addToWhitelistMultiple","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"requestTokenExchangeMax","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"whitelist","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_tokens_per_eth","type":"uint256"}],"name":"updateTokensPerEth","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"makeTradeable","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_addresses","type":"address[]"},{"name":"_amounts","type":"uint256[]"}],"name":"transferMultiple","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_eth","type":"uint256"}],"name":"ethToTokens","outputs":[{"name":"tokens","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"dateMainStart","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_unixts","type":"uint256"}],"name":"setDateMainStart","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_mint_type","type":"uint256"},{"name":"_accounts","type":"address[]"},{"name":"_tokens","type":"uint256[]"}],"name":"mintTokensMultiple","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isMigrationPhaseOpen","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalEthContributed","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokensTradeable","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokensPerEth","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"newOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_account","type":"address"},{"name":"_term","type":"uint256"}],"name":"isAvailableLockSlot","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_token_address","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transferAnyERC20Token","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"tokensMain","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_wallet","type":"address"}],"name":"setWallet","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"lockAmnt","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_account","type":"address"}],"name":"addToWhitelist","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"firstDayTokenLimit","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"mayHaveLockedTokens","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"ethContributed","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"tokensPerEth","type":"uint256"}],"name":"UpdatedTokensPerEth","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"},{"indexed":false,"name":"countWhitelisted","type":"uint256"}],"name":"Whitelisted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"mintType","type":"uint256"},{"indexed":true,"name":"account","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"},{"indexed":false,"name":"term","type":"uint256"}],"name":"TokensMinted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"},{"indexed":false,"name":"tokensIssued","type":"uint256"},{"indexed":false,"name":"ethContributed","type":"uint256"},{"indexed":false,"name":"ethReturned","type":"uint256"}],"name":"RegisterContribution","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"TokenExchangeRequested","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"id","type":"uint256"},{"indexed":false,"name":"unixts","type":"uint256"}],"name":"IcoDateUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"},{"indexed":true,"name":"idx","type":"uint256"},{"indexed":false,"name":"tokens","type":"uint256"},{"indexed":false,"name":"term","type":"uint256"}],"name":"RegisteredLockedTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newWallet","type":"address"}],"name":"WalletUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"}],"name":"OwnershipTransferProposed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_admin","type":"address"},{"indexed":false,"name":"_status","type":"bool"}],"name":"AdminChange","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_spender","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Approval","type":"event"}]

6080604052635b238010600a55635b2cba90600b55612d3e600c5534801561002657600080fd5b5060008054600160a060020a03338116600160a060020a03199283161780845581168352600260205260408320805460ff191660011790559154600680549092169216919091179055600a54421061007d57600080fd5b600b54600a541061008d57600080fd5b600b54635c1a08901161009f57600080fd5b6126ad806100ae6000396000f30060806040526004361061030b5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663068ae02b811461031557806306fdde031461033c578063095ea7b3146103c65780631785f53c146103fe57806318160ddd1461041f57806323b872dd1461043457806324d7806c1461045e578063282c3cf71461047f5780632c2622db14610494578063313ce567146104a957806332e785af146104d45780633bba340c146104f55780633deaf6d41461050a5780634104044b1461051f57806343e7e4da146105495780634cd2c47b14610615578063521eb27314610639578063531163c11461066a5780635eb7413a1461067f5780635f538fd4146106a0578063604269d1146106b5578063632e082a146106ca5780636b8f155a146106df5780636de9f32b146106f4578063704802751461070957806370a082311461072a57806374601c3c1461074b57806379ba50971461076057806379ca9ad414610775578063836115fe1461078d578063837b68c8146107ae57806384ef0778146107c6578063897e47f5146107db5780638d006d11146107f35780638d0bba03146108175780638d6819be1461082c5780638da5cb5b146108535780638e2a2192146108685780638fe6677d1461088957806395d89b41146108de5780639981bd61146108f35780639b19251a146109085780639ea407be14610929578063a03fb4c014610941578063a05fccef14610956578063a4c8932214610982578063a9059cbb1461099a578063aa63dea4146109be578063ad401842146109d3578063c1b728b5146109eb578063c408efba14610a7e578063cb28225314610a93578063cbdc5aa414610aa8578063cbdd69b514610abd578063d4ee1d9014610ad2578063d8690c2214610ae7578063dc39d06d14610b0b578063dd2d4ea014610b2f578063dd62ed3e14610b44578063deaa59df14610b6b578063e184d8c814610b8c578063e43252d714610bb0578063e74f8eff14610bd1578063f2fde38b14610be6578063f49e1e3914610c07578063f96f5b3514610c28575b610313610c49565b005b34801561032157600080fd5b5061032a610f5e565b60408051918252519081900360200190f35b34801561034857600080fd5b50610351610f66565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561038b578181015183820152602001610373565b50505050905090810190601f1680156103b85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156103d257600080fd5b506103ea600160a060020a0360043516602435610f9d565b604080519115158252519081900360200190f35b34801561040a57600080fd5b50610313600160a060020a0360043516611008565b34801561042b57600080fd5b5061032a6110a3565b34801561044057600080fd5b506103ea600160a060020a03600435811690602435166044356110aa565b34801561046a57600080fd5b506103ea600160a060020a03600435166110e6565b34801561048b57600080fd5b5061032a6110fb565b3480156104a057600080fd5b5061032a61110b565b3480156104b557600080fd5b506104be611110565b6040805160ff9092168252519081900360200190f35b3480156104e057600080fd5b5061032a600160a060020a0360043516611115565b34801561050157600080fd5b5061032a611127565b34801561051657600080fd5b5061032a61112d565b34801561052b57600080fd5b50610313600435600160a060020a0360243516604435606435611139565b34801561055557600080fd5b5060408051602060046024803582810135848102808701860190975280865261031396843596369660449591949091019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a998901989297509082019550935083925085019084908082843750506040805187358901803560208181028481018201909552818452989b9a9989019892975090820195509350839250850190849080828437509497506111669650505050505050565b34801561062157600080fd5b5061032a600160a060020a0360043516602435611207565b34801561064557600080fd5b5061064e611229565b60408051600160a060020a039092168252519081900360200190f35b34801561067657600080fd5b5061032a611238565b34801561068b57600080fd5b5061032a600160a060020a0360043516611247565b3480156106ac57600080fd5b50610313611282565b3480156106c157600080fd5b506103ea6112ba565b3480156106d657600080fd5b506103ea6112e1565b3480156106eb57600080fd5b5061032a611305565b34801561070057600080fd5b5061032a61130b565b34801561071557600080fd5b50610313600160a060020a0360043516611311565b34801561073657600080fd5b5061032a600160a060020a03600435166113b0565b34801561075757600080fd5b5061032a6113cb565b34801561076c57600080fd5b50610313611401565b34801561078157600080fd5b5061032a60043561148a565b34801561079957600080fd5b5061032a600160a060020a03600435166114a0565b3480156107ba57600080fd5b506103136004356114d3565b3480156107d257600080fd5b5061032a6115d0565b3480156107e757600080fd5b506103136004356115d6565b3480156107ff57600080fd5b5061032a600160a060020a0360043516602435611672565b34801561082357600080fd5b5061032a61168f565b34801561083857600080fd5b50610313600435600160a060020a036024351660443561169b565b34801561085f57600080fd5b5061064e6116c8565b34801561087457600080fd5b5061032a600160a060020a03600435166116d7565b34801561089557600080fd5b5060408051602060048035808201358381028086018501909652808552610313953695939460249493850192918291850190849080828437509497506116e99650505050505050565b3480156108ea57600080fd5b50610351611745565b3480156108ff57600080fd5b5061031361177c565b34801561091457600080fd5b506103ea600160a060020a036004351661178f565b34801561093557600080fd5b506103136004356117a4565b34801561094d57600080fd5b50610313611808565b34801561096257600080fd5b506103136024600480358281019290820135918135918201910135611845565b34801561098e57600080fd5b5061032a6004356118ab565b3480156109a657600080fd5b506103ea600160a060020a03600435166024356118c2565b3480156109ca57600080fd5b5061032a6118fc565b3480156109df57600080fd5b50610313600435611902565b3480156109f757600080fd5b5060408051602060046024803582810135848102808701860190975280865261031396843596369660449591949091019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a9989019892975090820195509350839250850190849080828437509497506119899650505050505050565b348015610a8a57600080fd5b506103ea6119ff565b348015610a9f57600080fd5b5061032a611a08565b348015610ab457600080fd5b506103ea611a0e565b348015610ac957600080fd5b5061032a611a17565b348015610ade57600080fd5b5061064e611a1d565b348015610af357600080fd5b506103ea600160a060020a0360043516602435611a2c565b348015610b1757600080fd5b506103ea600160a060020a0360043516602435611ada565b348015610b3b57600080fd5b5061032a611b99565b348015610b5057600080fd5b5061032a600160a060020a0360043581169060243516611b9f565b348015610b7757600080fd5b50610313600160a060020a0360043516611bca565b348015610b9857600080fd5b5061032a600160a060020a0360043516602435611c5b565b348015610bbc57600080fd5b50610313600160a060020a0360043516611c74565b348015610bdd57600080fd5b5061032a611ca4565b348015610bf257600080fd5b50610313600160a060020a0360043516611cb7565b348015610c1357600080fd5b506103ea600160a060020a0360043516611d4f565b348015610c3457600080fd5b5061032a600160a060020a0360043516611d64565b600080600080600080610c5a6112ba565b1515610c6557600080fd5b6702c68af0bb140000341015610c7a57600080fd5b600160a060020a0333166000908152600e602052604090205460ff161515610ca157600080fd5b601054610cc0906a295be96e640669720000009063ffffffff611d7616565b9550610cca6112e1565b15610d0e57600160a060020a033316600090815260116020526040902054610d0090610cf4611ca4565b9063ffffffff611d7616565b945085851015610d0e578495505b60008611610d1b57600080fd5b610d24346118ab565b935083925034915085841115610d6457859250610d4f610d4a858563ffffffff611d7616565b61148a565b9050610d61348263ffffffff611d7616565b91505b600160a060020a033316600090815260046020526040902054610d8d908463ffffffff611d8b16565b600160a060020a033316600090815260046020908152604080832093909355601190522054610dc2908463ffffffff611d8b16565b600160a060020a033316600090815260116020526040902055601054610dee908463ffffffff611d8b16565b601055600354610e04908463ffffffff611d8b16565b600355600160a060020a033316600090815260136020526040902054610e30908363ffffffff611d8b16565b600160a060020a033316600090815260136020526040902055601254610e5c908363ffffffff611d8b16565b6012556000811115610ea057604051600160a060020a0333169082156108fc029083906000818181858888f19350505050158015610e9e573d6000803e3d6000fd5b505b600654604051600160a060020a039091169083156108fc029084906000818181858888f19350505050158015610eda573d6000803e3d6000fd5b50604080518481529051600160a060020a033316916000916000805160206126628339815191529181900360200190a360408051848152602081018490528082018390529051600160a060020a033316917fa9952e76453aae9003d5a21b7df6196de99382fa7a34336df0107ab6bf9a9660919081900360600190a2505050505050565b635c1a089081565b60408051808201909152600c81527f46616e746f6d20546f6b656e0000000000000000000000000000000000000000602082015281565b600160a060020a03338116600081815260056020908152604080832094871680845294825280832086905580518681529051929493927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b60005433600160a060020a0390811691161461102357600080fd5b600160a060020a03811660009081526002602052604090205460ff16151560011461104d57600080fd5b600160a060020a0381166000818152600260209081526040808320805460ff191690558051928352517faff098f53523369cef878ae47c10d27a8a918f0da3221b889da1776ab58f553f9281900390910190a250565b6003545b90565b600d5460009060ff1615156110be57600080fd5b6110c784611d9b565b8211156110d357600080fd5b6110de848484611e44565b949350505050565b60026020526000908152604090205460ff1681565b6b0a424c66e1cf9727c700000081565b600581565b601281565b60156020526000908152604090205481565b600b5481565b67177c3d06022c000081565b60005433600160a060020a0390811691161461115457600080fd5b61116084848484611f5c565b50505050565b6000805433600160a060020a0390811691161461118257600080fd5b825184511461119057600080fd5b815184511461119e57600080fd5b8351811015611200576111f88585838151811015156111b957fe5b9060200190602002015185848151811015156111d157fe5b9060200190602002015185858151811015156111e957fe5b90602001906020020151611f5c565b60010161119e565b5050505050565b6007602052600082815260409020816005811061122057fe5b01549150829050565b600654600160a060020a031681565b6a295be96e6406697200000081565b600160a060020a03811660009081526009602052604081205460ff1615156112715750600061127d565b61127a82612232565b90505b919050565b60005433600160a060020a0390811691161461129d57600080fd5b600b5442116112ab57600080fd5b6017805460ff19166001179055565b6000600a54421180156112ce5750600b5442105b156112db575060016110a7565b50600090565b6000600a54421180156112ce5750600a54620151800142116112db575060016110a7565b600f5481565b60145481565b60005433600160a060020a0390811691161461132c57600080fd5b600160a060020a03811660009081526002602052604090205460ff161561135257600080fd5b600160a060020a038116600081815260026020908152604091829020805460ff19166001908117909155825190815291517faff098f53523369cef878ae47c10d27a8a918f0da3221b889da1776ab58f553f9281900390910190a250565b600160a060020a031660009081526004602052604090205490565b6014546000906113fc90610cf46b0a424c66e1cf9727c70000006a295be96e6406697200000063ffffffff611d7616565b905090565b60015433600160a060020a0390811691161461141c57600080fd5b60015460008054604051600160a060020a0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36001546000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055565b6000600c548281151561149957fe5b0492915050565b600061127a6114ae83611247565b600160a060020a0384166000908152600460205260409020549063ffffffff611d7616565b60175460ff1615156114e457600080fd5b6000811180156114fc57506114f833611d9b565b8111155b151561150757600080fd5b600160a060020a033316600090815260046020526040902054611530908263ffffffff611d7616565b600160a060020a03331660009081526004602052604090205560035461155c908263ffffffff611d7616565b600355604080518281529051600091600160a060020a033316916000805160206126628339815191529181900360200190a3604080518281529051600160a060020a033316917f601012ba5835327e038c684c419b1aa1ecc88c5527dfededb4d244c46b5a9849919081900360200190a250565b60035481565b60005433600160a060020a039081169116146115f157600080fd5b80421080156116015750600b5442105b151561160c57600080fd5b600b81905560408051600281526020810183905281517fe20f93714281a7d40fd1b62a497dd1cc4df6b45409601908f02827ff1eb7d892929181900390910190a1600b54600a541061165d57600080fd5b600b54635c1a08901161166f57600080fd5b50565b601660209081526000928352604080842090915290825290205481565b6702c68af0bb14000081565b60005433600160a060020a039081169116146116b657600080fd5b6116c38383836000611f5c565b505050565b600054600160a060020a031681565b60116020526000908152604090205481565b600160a060020a03331660009081526002602052604081205460ff16151561171057600080fd5b815181101561174157611739828281518110151561172a57fe5b906020019060200201516122a4565b600101611710565b5050565b60408051808201909152600381527f46544d0000000000000000000000000000000000000000000000000000000000602082015281565b61178d61178833611d9b565b6114d3565b565b600e6020526000908152604090205460ff1681565b60005433600160a060020a039081169116146117bf57600080fd5b600a5442106117cd57600080fd5b600c8190556040805182815290517fd4846a8a7a6a67b4d03c988c19d73bb6f3cb8a3805f84c9a2273bc781c2c05989181900360200190a150565b60005433600160a060020a039081169116148061182b5750600b5462b892000142115b151561183657600080fd5b600d805460ff19166001179055565b6000606484111561185557600080fd5b83821461186157600080fd5b83811015611200576118a285858381811061187857fe5b90506020020135600160a060020a0316848484818110151561189657fe5b905060200201356118c2565b50600101611861565b600061127a600c548361234890919063ffffffff16565b600d5460009060ff1615156118d657600080fd5b6118df33611d9b565b8211156118eb57600080fd5b6118f5838361236d565b9392505050565b600a5481565b60005433600160a060020a0390811691161461191d57600080fd5b804210801561192d5750600a5442105b151561193857600080fd5b600a81905560408051600181526020810183905281517fe20f93714281a7d40fd1b62a497dd1cc4df6b45409601908f02827ff1eb7d892929181900390910190a1600b54600a541061165d57600080fd5b6000805433600160a060020a039081169116146119a557600080fd5b81518351146119b357600080fd5b8251811015611160576119f78484838151811015156119ce57fe5b9060200190602002015184848151811015156119e657fe5b906020019060200201516000611f5c565b6001016119b3565b60175460ff1681565b60125481565b600d5460ff1681565b600c5481565b600154600160a060020a031681565b600160a060020a0382166000908152600960205260408120548190819060ff161515611a5b5760019250611ad2565b42841015611a6c5760019250611ad2565b600160a060020a038516600090815260076020526040902091505b6005811015611acd5742828260058110611a9d57fe5b01541080611ab7575083828260058110611ab357fe5b0154145b15611ac55760019250611ad2565b600101611a87565b600092505b505092915050565b6000805433600160a060020a03908116911614611af657600080fd5b60008054604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0392831660048201526024810186905290519186169263a9059cbb926044808401936020939083900390910190829087803b158015611b6657600080fd5b505af1158015611b7a573d6000803e3d6000fd5b505050506040513d6020811015611b9057600080fd5b50519392505050565b60105481565b600160a060020a03918216600090815260056020908152604080832093909416825291909152205490565b60005433600160a060020a03908116911614611be557600080fd5b600160a060020a0381161515611bfa57600080fd5b60068054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f4edbfac5b40fe46ac1af1fd222b224b38cfeeb9e21bd4fc6344526c245f7549b9181900360200190a150565b6008602052600082815260409020816005811061122057fe5b600160a060020a03331660009081526002602052604090205460ff161515611c9b57600080fd5b61166f816122a4565b60006113fc67177c3d06022c00006118ab565b60005433600160a060020a03908116911614611cd257600080fd5b600160a060020a0381161515611ce757600080fd5b60008054604051600160a060020a03808516939216917ff4e75b79500ab730f8a026ed3cba6d55331bcb64c9e9f60c548e371356e5e3c091a36001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60096020526000908152604090205460ff1681565b60136020526000908152604090205481565b600082821115611d8557600080fd5b50900390565b8181018281101561100257600080fd5b600160a060020a038116600090815260096020526040812054819060ff161515611ddf57600160a060020a0383166000908152600460205260409020549150611e3e565b611de883612232565b9050801515611e1257600160a060020a0383166000908152600960205260409020805460ff191690555b600160a060020a038316600090815260046020526040902054611e3b908263ffffffff611d7616565b91505b50919050565b6000600160a060020a0383161515611e5b57600080fd5b600160a060020a038416600090815260046020526040902054611e84908363ffffffff611d7616565b600160a060020a0380861660009081526004602090815260408083209490945560058152838220339093168252919091522054611ec7908363ffffffff611d7616565b600160a060020a0380861660009081526005602090815260408083203385168452825280832094909455918616815260049091522054611f0d908363ffffffff611d8b16565b600160a060020a03808516600081815260046020908152604091829020949094558051868152905191939288169260008051602061266283398151915292918290030190a35060019392505050565b600160a060020a0383166000908152600e602052604090205460ff161515611f8357600080fd5b600160a060020a0383161515611f9857600080fd5b60008211611fa557600080fd5b611fad6113cb565b82111561202a576040805160e560020a62461bcd02815260206004820152602360248201527f6e6f7420656e6f75676820746f6b656e7320617661696c61626c6520746f206d60448201527f696e740000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b80158061203657504281115b15156120b2576040805160e560020a62461bcd02815260206004820152603c60248201527f65697468657220776974686f7574206c6f636b207465726d2c206f72206c6f6360448201527f6b207465726d206d75737420626520696e207468652066757475726500000000606482015290519081900360840190fd5b60008111156120c8576120c6838383612431565b505b600160a060020a0383166000908152600460205260409020546120f1908363ffffffff611d8b16565b600160a060020a038416600090815260046020908152604080832093909355601590522054612126908363ffffffff611d8b16565b600160a060020a0384166000908152601560209081526040808320939093556016815282822087835290522054612163908363ffffffff611d8b16565b600160a060020a038416600090815260166020908152604080832088845290915290205560145461219a908363ffffffff611d8b16565b6014556003546121b0908363ffffffff611d8b16565b600355604080518381529051600160a060020a038516916000916000805160206126628339815191529181900360200190a382600160a060020a0316847f9c6dd8089f114717d5c17f4d3d9bf6c1991925a49ef90e23b9ba026bf8654b428484604051808381526020018281526020019250505060405180910390a350505050565b600160a060020a038116600090815260076020908152604080832060089092528220825b600581101561229c574283826005811061226c57fe5b0154106122945761229182826005811061228257fe5b0154859063ffffffff611d8b16565b93505b600101612256565b505050919050565b600160a060020a0381166000908152600e602052604090205460ff16156122ca5761166f565b600160a060020a0381166000908152600e60205260409020805460ff19166001908117909155600f546123029163ffffffff611d8b16565b600f8190556040805191825251600160a060020a038316917f6ea640312e182de387819fbeb13be00db3171a445412852248559054871c4199919081900360200190a250565b818102821580612362575081838281151561235f57fe5b04145b151561100257600080fd5b6000600160a060020a038316151561238457600080fd5b600160a060020a0333166000908152600460205260409020546123ad908363ffffffff611d7616565b600160a060020a0333811660009081526004602052604080822093909355908516815220546123e2908363ffffffff611d8b16565b600160a060020a0380851660008181526004602090815260409182902094909455805186815290519193339093169260008051602061266283398151915292918290030190a350600192915050565b600080808042851161248d576040805160e560020a62461bcd02815260206004820152601f60248201527f6c6f636b207465726d206d75737420626520696e207468652066757475726500604482015290519081900360640190fd5b600160a060020a0387166000908152600760209081526040808320600890925290912061270f955090935091505b600581101561252857428382600581106124d157fe5b015410156125075760008382600581106124e757fe5b015560008282600581106124f757fe5b015561270f841415612507578093505b8483826005811061251457fe5b01541415612520578093505b6001016124bb565b61270f8414156125a8576040805160e560020a62461bcd02815260206004820152602d60248201527f72656769737465724c6f636b6564546f6b656e733a206e6f20617661696c616260448201527f6c6520736c6f7420666f756e6400000000000000000000000000000000000000606482015290519081900360840190fd5b8284600581106125b457fe5b015415156125cc57848385600581106125c957fe5b01555b6125ea868386600581106125dc57fe5b01549063ffffffff611d8b16565b8285600581106125f657fe5b0155600160a060020a038716600081815260096020908152604091829020805460ff19166001179055815189815290810188905281518793927f38a498f3e82bfca1855324fb5e974db2a1cbc0df8145844464ab159abd431194928290030190a350505093925050505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820d3bf6924dd80f3446f450388d9f207392b8d3c2a181e7d105d0792174f63d1fd0029

Deployed Bytecode

0x60806040526004361061030b5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663068ae02b811461031557806306fdde031461033c578063095ea7b3146103c65780631785f53c146103fe57806318160ddd1461041f57806323b872dd1461043457806324d7806c1461045e578063282c3cf71461047f5780632c2622db14610494578063313ce567146104a957806332e785af146104d45780633bba340c146104f55780633deaf6d41461050a5780634104044b1461051f57806343e7e4da146105495780634cd2c47b14610615578063521eb27314610639578063531163c11461066a5780635eb7413a1461067f5780635f538fd4146106a0578063604269d1146106b5578063632e082a146106ca5780636b8f155a146106df5780636de9f32b146106f4578063704802751461070957806370a082311461072a57806374601c3c1461074b57806379ba50971461076057806379ca9ad414610775578063836115fe1461078d578063837b68c8146107ae57806384ef0778146107c6578063897e47f5146107db5780638d006d11146107f35780638d0bba03146108175780638d6819be1461082c5780638da5cb5b146108535780638e2a2192146108685780638fe6677d1461088957806395d89b41146108de5780639981bd61146108f35780639b19251a146109085780639ea407be14610929578063a03fb4c014610941578063a05fccef14610956578063a4c8932214610982578063a9059cbb1461099a578063aa63dea4146109be578063ad401842146109d3578063c1b728b5146109eb578063c408efba14610a7e578063cb28225314610a93578063cbdc5aa414610aa8578063cbdd69b514610abd578063d4ee1d9014610ad2578063d8690c2214610ae7578063dc39d06d14610b0b578063dd2d4ea014610b2f578063dd62ed3e14610b44578063deaa59df14610b6b578063e184d8c814610b8c578063e43252d714610bb0578063e74f8eff14610bd1578063f2fde38b14610be6578063f49e1e3914610c07578063f96f5b3514610c28575b610313610c49565b005b34801561032157600080fd5b5061032a610f5e565b60408051918252519081900360200190f35b34801561034857600080fd5b50610351610f66565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561038b578181015183820152602001610373565b50505050905090810190601f1680156103b85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156103d257600080fd5b506103ea600160a060020a0360043516602435610f9d565b604080519115158252519081900360200190f35b34801561040a57600080fd5b50610313600160a060020a0360043516611008565b34801561042b57600080fd5b5061032a6110a3565b34801561044057600080fd5b506103ea600160a060020a03600435811690602435166044356110aa565b34801561046a57600080fd5b506103ea600160a060020a03600435166110e6565b34801561048b57600080fd5b5061032a6110fb565b3480156104a057600080fd5b5061032a61110b565b3480156104b557600080fd5b506104be611110565b6040805160ff9092168252519081900360200190f35b3480156104e057600080fd5b5061032a600160a060020a0360043516611115565b34801561050157600080fd5b5061032a611127565b34801561051657600080fd5b5061032a61112d565b34801561052b57600080fd5b50610313600435600160a060020a0360243516604435606435611139565b34801561055557600080fd5b5060408051602060046024803582810135848102808701860190975280865261031396843596369660449591949091019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a998901989297509082019550935083925085019084908082843750506040805187358901803560208181028481018201909552818452989b9a9989019892975090820195509350839250850190849080828437509497506111669650505050505050565b34801561062157600080fd5b5061032a600160a060020a0360043516602435611207565b34801561064557600080fd5b5061064e611229565b60408051600160a060020a039092168252519081900360200190f35b34801561067657600080fd5b5061032a611238565b34801561068b57600080fd5b5061032a600160a060020a0360043516611247565b3480156106ac57600080fd5b50610313611282565b3480156106c157600080fd5b506103ea6112ba565b3480156106d657600080fd5b506103ea6112e1565b3480156106eb57600080fd5b5061032a611305565b34801561070057600080fd5b5061032a61130b565b34801561071557600080fd5b50610313600160a060020a0360043516611311565b34801561073657600080fd5b5061032a600160a060020a03600435166113b0565b34801561075757600080fd5b5061032a6113cb565b34801561076c57600080fd5b50610313611401565b34801561078157600080fd5b5061032a60043561148a565b34801561079957600080fd5b5061032a600160a060020a03600435166114a0565b3480156107ba57600080fd5b506103136004356114d3565b3480156107d257600080fd5b5061032a6115d0565b3480156107e757600080fd5b506103136004356115d6565b3480156107ff57600080fd5b5061032a600160a060020a0360043516602435611672565b34801561082357600080fd5b5061032a61168f565b34801561083857600080fd5b50610313600435600160a060020a036024351660443561169b565b34801561085f57600080fd5b5061064e6116c8565b34801561087457600080fd5b5061032a600160a060020a03600435166116d7565b34801561089557600080fd5b5060408051602060048035808201358381028086018501909652808552610313953695939460249493850192918291850190849080828437509497506116e99650505050505050565b3480156108ea57600080fd5b50610351611745565b3480156108ff57600080fd5b5061031361177c565b34801561091457600080fd5b506103ea600160a060020a036004351661178f565b34801561093557600080fd5b506103136004356117a4565b34801561094d57600080fd5b50610313611808565b34801561096257600080fd5b506103136024600480358281019290820135918135918201910135611845565b34801561098e57600080fd5b5061032a6004356118ab565b3480156109a657600080fd5b506103ea600160a060020a03600435166024356118c2565b3480156109ca57600080fd5b5061032a6118fc565b3480156109df57600080fd5b50610313600435611902565b3480156109f757600080fd5b5060408051602060046024803582810135848102808701860190975280865261031396843596369660449591949091019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a9989019892975090820195509350839250850190849080828437509497506119899650505050505050565b348015610a8a57600080fd5b506103ea6119ff565b348015610a9f57600080fd5b5061032a611a08565b348015610ab457600080fd5b506103ea611a0e565b348015610ac957600080fd5b5061032a611a17565b348015610ade57600080fd5b5061064e611a1d565b348015610af357600080fd5b506103ea600160a060020a0360043516602435611a2c565b348015610b1757600080fd5b506103ea600160a060020a0360043516602435611ada565b348015610b3b57600080fd5b5061032a611b99565b348015610b5057600080fd5b5061032a600160a060020a0360043581169060243516611b9f565b348015610b7757600080fd5b50610313600160a060020a0360043516611bca565b348015610b9857600080fd5b5061032a600160a060020a0360043516602435611c5b565b348015610bbc57600080fd5b50610313600160a060020a0360043516611c74565b348015610bdd57600080fd5b5061032a611ca4565b348015610bf257600080fd5b50610313600160a060020a0360043516611cb7565b348015610c1357600080fd5b506103ea600160a060020a0360043516611d4f565b348015610c3457600080fd5b5061032a600160a060020a0360043516611d64565b600080600080600080610c5a6112ba565b1515610c6557600080fd5b6702c68af0bb140000341015610c7a57600080fd5b600160a060020a0333166000908152600e602052604090205460ff161515610ca157600080fd5b601054610cc0906a295be96e640669720000009063ffffffff611d7616565b9550610cca6112e1565b15610d0e57600160a060020a033316600090815260116020526040902054610d0090610cf4611ca4565b9063ffffffff611d7616565b945085851015610d0e578495505b60008611610d1b57600080fd5b610d24346118ab565b935083925034915085841115610d6457859250610d4f610d4a858563ffffffff611d7616565b61148a565b9050610d61348263ffffffff611d7616565b91505b600160a060020a033316600090815260046020526040902054610d8d908463ffffffff611d8b16565b600160a060020a033316600090815260046020908152604080832093909355601190522054610dc2908463ffffffff611d8b16565b600160a060020a033316600090815260116020526040902055601054610dee908463ffffffff611d8b16565b601055600354610e04908463ffffffff611d8b16565b600355600160a060020a033316600090815260136020526040902054610e30908363ffffffff611d8b16565b600160a060020a033316600090815260136020526040902055601254610e5c908363ffffffff611d8b16565b6012556000811115610ea057604051600160a060020a0333169082156108fc029083906000818181858888f19350505050158015610e9e573d6000803e3d6000fd5b505b600654604051600160a060020a039091169083156108fc029084906000818181858888f19350505050158015610eda573d6000803e3d6000fd5b50604080518481529051600160a060020a033316916000916000805160206126628339815191529181900360200190a360408051848152602081018490528082018390529051600160a060020a033316917fa9952e76453aae9003d5a21b7df6196de99382fa7a34336df0107ab6bf9a9660919081900360600190a2505050505050565b635c1a089081565b60408051808201909152600c81527f46616e746f6d20546f6b656e0000000000000000000000000000000000000000602082015281565b600160a060020a03338116600081815260056020908152604080832094871680845294825280832086905580518681529051929493927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b60005433600160a060020a0390811691161461102357600080fd5b600160a060020a03811660009081526002602052604090205460ff16151560011461104d57600080fd5b600160a060020a0381166000818152600260209081526040808320805460ff191690558051928352517faff098f53523369cef878ae47c10d27a8a918f0da3221b889da1776ab58f553f9281900390910190a250565b6003545b90565b600d5460009060ff1615156110be57600080fd5b6110c784611d9b565b8211156110d357600080fd5b6110de848484611e44565b949350505050565b60026020526000908152604090205460ff1681565b6b0a424c66e1cf9727c700000081565b600581565b601281565b60156020526000908152604090205481565b600b5481565b67177c3d06022c000081565b60005433600160a060020a0390811691161461115457600080fd5b61116084848484611f5c565b50505050565b6000805433600160a060020a0390811691161461118257600080fd5b825184511461119057600080fd5b815184511461119e57600080fd5b8351811015611200576111f88585838151811015156111b957fe5b9060200190602002015185848151811015156111d157fe5b9060200190602002015185858151811015156111e957fe5b90602001906020020151611f5c565b60010161119e565b5050505050565b6007602052600082815260409020816005811061122057fe5b01549150829050565b600654600160a060020a031681565b6a295be96e6406697200000081565b600160a060020a03811660009081526009602052604081205460ff1615156112715750600061127d565b61127a82612232565b90505b919050565b60005433600160a060020a0390811691161461129d57600080fd5b600b5442116112ab57600080fd5b6017805460ff19166001179055565b6000600a54421180156112ce5750600b5442105b156112db575060016110a7565b50600090565b6000600a54421180156112ce5750600a54620151800142116112db575060016110a7565b600f5481565b60145481565b60005433600160a060020a0390811691161461132c57600080fd5b600160a060020a03811660009081526002602052604090205460ff161561135257600080fd5b600160a060020a038116600081815260026020908152604091829020805460ff19166001908117909155825190815291517faff098f53523369cef878ae47c10d27a8a918f0da3221b889da1776ab58f553f9281900390910190a250565b600160a060020a031660009081526004602052604090205490565b6014546000906113fc90610cf46b0a424c66e1cf9727c70000006a295be96e6406697200000063ffffffff611d7616565b905090565b60015433600160a060020a0390811691161461141c57600080fd5b60015460008054604051600160a060020a0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36001546000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055565b6000600c548281151561149957fe5b0492915050565b600061127a6114ae83611247565b600160a060020a0384166000908152600460205260409020549063ffffffff611d7616565b60175460ff1615156114e457600080fd5b6000811180156114fc57506114f833611d9b565b8111155b151561150757600080fd5b600160a060020a033316600090815260046020526040902054611530908263ffffffff611d7616565b600160a060020a03331660009081526004602052604090205560035461155c908263ffffffff611d7616565b600355604080518281529051600091600160a060020a033316916000805160206126628339815191529181900360200190a3604080518281529051600160a060020a033316917f601012ba5835327e038c684c419b1aa1ecc88c5527dfededb4d244c46b5a9849919081900360200190a250565b60035481565b60005433600160a060020a039081169116146115f157600080fd5b80421080156116015750600b5442105b151561160c57600080fd5b600b81905560408051600281526020810183905281517fe20f93714281a7d40fd1b62a497dd1cc4df6b45409601908f02827ff1eb7d892929181900390910190a1600b54600a541061165d57600080fd5b600b54635c1a08901161166f57600080fd5b50565b601660209081526000928352604080842090915290825290205481565b6702c68af0bb14000081565b60005433600160a060020a039081169116146116b657600080fd5b6116c38383836000611f5c565b505050565b600054600160a060020a031681565b60116020526000908152604090205481565b600160a060020a03331660009081526002602052604081205460ff16151561171057600080fd5b815181101561174157611739828281518110151561172a57fe5b906020019060200201516122a4565b600101611710565b5050565b60408051808201909152600381527f46544d0000000000000000000000000000000000000000000000000000000000602082015281565b61178d61178833611d9b565b6114d3565b565b600e6020526000908152604090205460ff1681565b60005433600160a060020a039081169116146117bf57600080fd5b600a5442106117cd57600080fd5b600c8190556040805182815290517fd4846a8a7a6a67b4d03c988c19d73bb6f3cb8a3805f84c9a2273bc781c2c05989181900360200190a150565b60005433600160a060020a039081169116148061182b5750600b5462b892000142115b151561183657600080fd5b600d805460ff19166001179055565b6000606484111561185557600080fd5b83821461186157600080fd5b83811015611200576118a285858381811061187857fe5b90506020020135600160a060020a0316848484818110151561189657fe5b905060200201356118c2565b50600101611861565b600061127a600c548361234890919063ffffffff16565b600d5460009060ff1615156118d657600080fd5b6118df33611d9b565b8211156118eb57600080fd5b6118f5838361236d565b9392505050565b600a5481565b60005433600160a060020a0390811691161461191d57600080fd5b804210801561192d5750600a5442105b151561193857600080fd5b600a81905560408051600181526020810183905281517fe20f93714281a7d40fd1b62a497dd1cc4df6b45409601908f02827ff1eb7d892929181900390910190a1600b54600a541061165d57600080fd5b6000805433600160a060020a039081169116146119a557600080fd5b81518351146119b357600080fd5b8251811015611160576119f78484838151811015156119ce57fe5b9060200190602002015184848151811015156119e657fe5b906020019060200201516000611f5c565b6001016119b3565b60175460ff1681565b60125481565b600d5460ff1681565b600c5481565b600154600160a060020a031681565b600160a060020a0382166000908152600960205260408120548190819060ff161515611a5b5760019250611ad2565b42841015611a6c5760019250611ad2565b600160a060020a038516600090815260076020526040902091505b6005811015611acd5742828260058110611a9d57fe5b01541080611ab7575083828260058110611ab357fe5b0154145b15611ac55760019250611ad2565b600101611a87565b600092505b505092915050565b6000805433600160a060020a03908116911614611af657600080fd5b60008054604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0392831660048201526024810186905290519186169263a9059cbb926044808401936020939083900390910190829087803b158015611b6657600080fd5b505af1158015611b7a573d6000803e3d6000fd5b505050506040513d6020811015611b9057600080fd5b50519392505050565b60105481565b600160a060020a03918216600090815260056020908152604080832093909416825291909152205490565b60005433600160a060020a03908116911614611be557600080fd5b600160a060020a0381161515611bfa57600080fd5b60068054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f4edbfac5b40fe46ac1af1fd222b224b38cfeeb9e21bd4fc6344526c245f7549b9181900360200190a150565b6008602052600082815260409020816005811061122057fe5b600160a060020a03331660009081526002602052604090205460ff161515611c9b57600080fd5b61166f816122a4565b60006113fc67177c3d06022c00006118ab565b60005433600160a060020a03908116911614611cd257600080fd5b600160a060020a0381161515611ce757600080fd5b60008054604051600160a060020a03808516939216917ff4e75b79500ab730f8a026ed3cba6d55331bcb64c9e9f60c548e371356e5e3c091a36001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60096020526000908152604090205460ff1681565b60136020526000908152604090205481565b600082821115611d8557600080fd5b50900390565b8181018281101561100257600080fd5b600160a060020a038116600090815260096020526040812054819060ff161515611ddf57600160a060020a0383166000908152600460205260409020549150611e3e565b611de883612232565b9050801515611e1257600160a060020a0383166000908152600960205260409020805460ff191690555b600160a060020a038316600090815260046020526040902054611e3b908263ffffffff611d7616565b91505b50919050565b6000600160a060020a0383161515611e5b57600080fd5b600160a060020a038416600090815260046020526040902054611e84908363ffffffff611d7616565b600160a060020a0380861660009081526004602090815260408083209490945560058152838220339093168252919091522054611ec7908363ffffffff611d7616565b600160a060020a0380861660009081526005602090815260408083203385168452825280832094909455918616815260049091522054611f0d908363ffffffff611d8b16565b600160a060020a03808516600081815260046020908152604091829020949094558051868152905191939288169260008051602061266283398151915292918290030190a35060019392505050565b600160a060020a0383166000908152600e602052604090205460ff161515611f8357600080fd5b600160a060020a0383161515611f9857600080fd5b60008211611fa557600080fd5b611fad6113cb565b82111561202a576040805160e560020a62461bcd02815260206004820152602360248201527f6e6f7420656e6f75676820746f6b656e7320617661696c61626c6520746f206d60448201527f696e740000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b80158061203657504281115b15156120b2576040805160e560020a62461bcd02815260206004820152603c60248201527f65697468657220776974686f7574206c6f636b207465726d2c206f72206c6f6360448201527f6b207465726d206d75737420626520696e207468652066757475726500000000606482015290519081900360840190fd5b60008111156120c8576120c6838383612431565b505b600160a060020a0383166000908152600460205260409020546120f1908363ffffffff611d8b16565b600160a060020a038416600090815260046020908152604080832093909355601590522054612126908363ffffffff611d8b16565b600160a060020a0384166000908152601560209081526040808320939093556016815282822087835290522054612163908363ffffffff611d8b16565b600160a060020a038416600090815260166020908152604080832088845290915290205560145461219a908363ffffffff611d8b16565b6014556003546121b0908363ffffffff611d8b16565b600355604080518381529051600160a060020a038516916000916000805160206126628339815191529181900360200190a382600160a060020a0316847f9c6dd8089f114717d5c17f4d3d9bf6c1991925a49ef90e23b9ba026bf8654b428484604051808381526020018281526020019250505060405180910390a350505050565b600160a060020a038116600090815260076020908152604080832060089092528220825b600581101561229c574283826005811061226c57fe5b0154106122945761229182826005811061228257fe5b0154859063ffffffff611d8b16565b93505b600101612256565b505050919050565b600160a060020a0381166000908152600e602052604090205460ff16156122ca5761166f565b600160a060020a0381166000908152600e60205260409020805460ff19166001908117909155600f546123029163ffffffff611d8b16565b600f8190556040805191825251600160a060020a038316917f6ea640312e182de387819fbeb13be00db3171a445412852248559054871c4199919081900360200190a250565b818102821580612362575081838281151561235f57fe5b04145b151561100257600080fd5b6000600160a060020a038316151561238457600080fd5b600160a060020a0333166000908152600460205260409020546123ad908363ffffffff611d7616565b600160a060020a0333811660009081526004602052604080822093909355908516815220546123e2908363ffffffff611d8b16565b600160a060020a0380851660008181526004602090815260409182902094909455805186815290519193339093169260008051602061266283398151915292918290030190a350600192915050565b600080808042851161248d576040805160e560020a62461bcd02815260206004820152601f60248201527f6c6f636b207465726d206d75737420626520696e207468652066757475726500604482015290519081900360640190fd5b600160a060020a0387166000908152600760209081526040808320600890925290912061270f955090935091505b600581101561252857428382600581106124d157fe5b015410156125075760008382600581106124e757fe5b015560008282600581106124f757fe5b015561270f841415612507578093505b8483826005811061251457fe5b01541415612520578093505b6001016124bb565b61270f8414156125a8576040805160e560020a62461bcd02815260206004820152602d60248201527f72656769737465724c6f636b6564546f6b656e733a206e6f20617661696c616260448201527f6c6520736c6f7420666f756e6400000000000000000000000000000000000000606482015290519081900360840190fd5b8284600581106125b457fe5b015415156125cc57848385600581106125c957fe5b01555b6125ea868386600581106125dc57fe5b01549063ffffffff611d8b16565b8285600581106125f657fe5b0155600160a060020a038716600081815260096020908152604091829020805460ff19166001179055815189815290810188905281518793927f38a498f3e82bfca1855324fb5e974db2a1cbc0df8145844464ab159abd431194928290030190a350505093925050505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820d3bf6924dd80f3446f450388d9f207392b8d3c2a181e7d105d0792174f63d1fd0029

Swarm Source

bzzr://d3bf6924dd80f3446f450388d9f207392b8d3c2a181e7d105d0792174f63d1fd
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.