ETH Price: $2,717.80 (-2.10%)

Contract

0x3ffDDe70f128de8A5c8b116142d79889d6d5a551
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

1 address found via
Transaction Hash
Method
Block
From
To
Transfer213123082024-12-02 4:01:4766 days ago1733112107IN
0x3ffDDe70...9d6d5a551
0 ETH0.0014179822.27015813
Transfer213122802024-12-02 3:56:1166 days ago1733111771IN
0x3ffDDe70...9d6d5a551
0 ETH0.0012331519.36733514
Transfer209236542024-10-08 21:49:23120 days ago1728424163IN
0x3ffDDe70...9d6d5a551
0 ETH0.0051925764.27722032
Approve209229742024-10-08 19:32:59120 days ago1728415979IN
0x3ffDDe70...9d6d5a551
0 ETH0.0021821846.86314124
Transfer207188282024-09-10 7:49:23149 days ago1725954563IN
0x3ffDDe70...9d6d5a551
0 ETH0.000284724.83540666
Transfer203873862024-07-26 1:18:23195 days ago1721956703IN
0x3ffDDe70...9d6d5a551
0 ETH0.000133881.76228611
Approve202723332024-07-09 23:51:47211 days ago1720569107IN
0x3ffDDe70...9d6d5a551
0 ETH0.00016063.47234048
Approve202723172024-07-09 23:48:35211 days ago1720568915IN
0x3ffDDe70...9d6d5a551
0 ETH0.000187244.05346944
Transfer202310622024-07-04 5:28:47217 days ago1720070927IN
0x3ffDDe70...9d6d5a551
0 ETH0.000259073.41115419
Approve200965562024-06-15 10:20:11236 days ago1718446811IN
0x3ffDDe70...9d6d5a551
0 ETH0.000089393.68877764
Approve200265432024-06-05 15:32:23246 days ago1717601543IN
0x3ffDDe70...9d6d5a551
0 ETH0.0011275324.23923047
Approve198819272024-05-16 10:25:35266 days ago1715855135IN
0x3ffDDe70...9d6d5a551
0 ETH0.000328327.10029461
Transfer198819062024-05-16 10:21:23266 days ago1715854883IN
0x3ffDDe70...9d6d5a551
0 ETH0.000657458.65533174
Approve197135222024-04-22 21:08:35289 days ago1713820115IN
0x3ffDDe70...9d6d5a551
0 ETH0.0004702210.10874713
Transfer197117482024-04-22 15:10:47290 days ago1713798647IN
0x3ffDDe70...9d6d5a551
0 ETH0.0018504424.360746
Approve195159522024-03-26 3:30:11317 days ago1711423811IN
0x3ffDDe70...9d6d5a551
0 ETH0.0005052220.84865662
Approve193501712024-03-02 21:29:11340 days ago1709414951IN
0x3ffDDe70...9d6d5a551
0 ETH0.0012138650.09136944
Approve193457322024-03-02 6:35:47341 days ago1709361347IN
0x3ffDDe70...9d6d5a551
0 ETH0.0017090936.6939331
Approve193313662024-02-29 6:23:59343 days ago1709187839IN
0x3ffDDe70...9d6d5a551
0 ETH0.0023392150.22246741
Approve193260242024-02-28 12:27:35344 days ago1709123255IN
0x3ffDDe70...9d6d5a551
0 ETH0.0029322563.03618585
Approve193184642024-02-27 11:02:35345 days ago1709031755IN
0x3ffDDe70...9d6d5a551
0 ETH0.0017483960.07197157
Approve192196122024-02-13 14:15:11359 days ago1707833711IN
0x3ffDDe70...9d6d5a551
0 ETH0.0025721955.66911626
Approve192196012024-02-13 14:12:59359 days ago1707833579IN
0x3ffDDe70...9d6d5a551
0 ETH0.001485851.07100385
Approve192195872024-02-13 14:10:11359 days ago1707833411IN
0x3ffDDe70...9d6d5a551
0 ETH0.0015131457.52294501
Approve192195822024-02-13 14:09:11359 days ago1707833351IN
0x3ffDDe70...9d6d5a551
0 ETH0.0023396950.63732069
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
202723432024-07-09 23:53:47211 days ago1720569227
0x3ffDDe70...9d6d5a551
0.05278848 ETH
202723432024-07-09 23:53:47211 days ago1720569227
0x3ffDDe70...9d6d5a551
0.05278848 ETH
193184112024-02-27 10:51:59345 days ago1709031119
0x3ffDDe70...9d6d5a551
0.07886623 ETH
193184112024-02-27 10:51:59345 days ago1709031119
0x3ffDDe70...9d6d5a551
0.07886623 ETH
190377602024-01-19 1:55:47384 days ago1705629347
0x3ffDDe70...9d6d5a551
0.08872763 ETH
190377602024-01-19 1:55:47384 days ago1705629347
0x3ffDDe70...9d6d5a551
0.08872763 ETH
190256432024-01-17 9:14:23386 days ago1705482863
0x3ffDDe70...9d6d5a551
0.04652365 ETH
190256432024-01-17 9:14:23386 days ago1705482863
0x3ffDDe70...9d6d5a551
0.04652365 ETH
190254802024-01-17 8:41:35386 days ago1705480895
0x3ffDDe70...9d6d5a551
0.00789849 ETH
190254802024-01-17 8:41:35386 days ago1705480895
0x3ffDDe70...9d6d5a551
0.00789849 ETH
190254742024-01-17 8:40:23386 days ago1705480823
0x3ffDDe70...9d6d5a551
0.02406499 ETH
190254742024-01-17 8:40:23386 days ago1705480823
0x3ffDDe70...9d6d5a551
0.02406499 ETH
186816802023-11-30 3:16:23434 days ago1701314183
0x3ffDDe70...9d6d5a551
0.13510318 ETH
186816802023-11-30 3:16:23434 days ago1701314183
0x3ffDDe70...9d6d5a551
0.13510318 ETH
185500782023-11-11 17:08:23453 days ago1699722503
0x3ffDDe70...9d6d5a551
0.10394134 ETH
185500782023-11-11 17:08:23453 days ago1699722503
0x3ffDDe70...9d6d5a551
0.10394134 ETH
185042482023-11-05 7:13:23459 days ago1699168403
0x3ffDDe70...9d6d5a551
0.09530583 ETH
185042482023-11-05 7:13:23459 days ago1699168403
0x3ffDDe70...9d6d5a551
0.09530583 ETH
185007822023-11-04 19:33:47459 days ago1699126427
0x3ffDDe70...9d6d5a551
0.02772723 ETH
185007822023-11-04 19:33:47459 days ago1699126427
0x3ffDDe70...9d6d5a551
0.02772723 ETH
184586182023-10-29 21:48:47465 days ago1698616127
0x3ffDDe70...9d6d5a551
0.14125439 ETH
184586182023-10-29 21:48:47465 days ago1698616127
0x3ffDDe70...9d6d5a551
0.14125439 ETH
184436932023-10-27 19:40:59467 days ago1698435659
0x3ffDDe70...9d6d5a551
0.2871412 ETH
184436932023-10-27 19:40:59467 days ago1698435659
0x3ffDDe70...9d6d5a551
0.2871412 ETH
184404872023-10-27 8:55:47468 days ago1698396947
0x3ffDDe70...9d6d5a551
0.02821142 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
HarryPotterOhtaniStreetFighter2CultInu

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-08-09
*/

/**
 
*/

/*

⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣠⣤⣴⣶⣿⣿⣿⣿⣿⣶⣤⣄⣀⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣴⣿⣿⣿⣿⣿⡿⠛⣿⣿⡿⢻⣿⡿⠿⣿⣿⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠁⣹⣿⣟⣸⣟⣀⠠⠿⣥⣤⣾⣿⡀⠀⠈⢻⣿⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⢻⣿⣿⡋⠀⣠⣴⣾⣿⣯⣁⠈⠻⣷⣤⡀⣉⢿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⢿⣿⣿⡆⠈⠙⠿⣿⠓⠛⠃⠀⢹⡿⢫⠾⣿⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣻⠃⠀⠀⠀⠈⠀⠀⠀⠀⠈⠁⣻⣷⣽⣷⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣿⣿⣿⡶⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⣿⠏⠌⢷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⣿⡥⠤⢄⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⠀⠐⠘⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⣿⣿⣷⡀⠀⠀⠀⠀⢀⣴⣿⣿⠟⠸⢿⠀⢠⡇⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⠀⠀⠀⠀⠀⠀⠀⣾⣿⣿⣿⣿⣿⣧⣀⣀⣠⣶⣿⣿⣿⡏⠀⠀⢸⣴⣿⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⢬⣿⣶⣦⣀⡀⢀⣀⠸⢷⡶⢦⣴⣶⣿⣷⣿⣿⣿⣿⣿⡟⠿⣿⣿⣿⣿⣿⣿⣿⢻⡇⠀⠀⣞⢿⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠻⣿⣿⣿⣿⣿⣿⣾⣿⣷⣿⣶⣍⢈⢻⣿⡿⣌⠙⠻⣕⠈⠐⠌⠻⢿⣿⣿⣿⠇⢸⡇⠀⠀⣿⣷⣍⠢⣀⣀⣀⡠⡇⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠰⠾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠷⡈⠳⣄⠈⠳⣤⡀⠀⠀⠙⣿⣿⣆⢸⡇⢀⠀⣿⣿⣿⣷⣌⢆⡑⠤⣌⣉⠁⠸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⣠⣤⣿⣿⣿⣿⡿⠛⠉⠙⠻⢿⣿⣿⣶⣄⠀⠀⠀⠈⠳⣦⡈⢻⡂⡀⠀⠘⠿⣿⣿⣇⣸⣾⣿⣿⣿⣿⣿⣧⡹⣦⠘⢿⣧⡀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠐⣲⣽⣿⣿⣿⣿⣿⣿⣷⠀⠀⠀⠀⠈⠉⠙⠛⢷⣤⡀⠀⠀⠀⠘⢿⡄⠹⣮⡢⡀⠀⠈⠻⣿⣿⠉⠉⠉⠉⠙⠻⣿⣷⡸⣧⠈⢤⡑⠌⠙⠓⣾⡀⠀⠀⠀⠀⠀
⠀⠀⠀⣽⣿⣿⣿⣿⣿⣿⣿⡆⠀⠀⠀⠀⠀⠀⠀⠀⢛⣿⣠⠀⠀⠀⠈⢷⠀⠸⡟⢌⢀⠀⠀⠈⢿⠋⠁⠀⠀⠀⠀⢼⣿⣇⠹⡄⠀⠙⠂⠸⢝⡋⢿⢆⠀⠀⠀⠀
⠀⠀⢼⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⡀⠀⠀⠀⠀⠀⢉⣿⣿⠀⠀⠀⠀⠈⠀⠀⢳⠀⠣⡠⠀⠀⢀⢳⠀⠀⠀⠀⠀⠀⢹⣿⡄⠷⠀⠀⠀⠀⢠⣵⠈⠎⢆⠀⠀⠀
⠀⠘⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣠⣾⣧⠀⠀⠀⠀⠀⣰⣿⠃⠀⠀⠀⠀⠀⠀⡄⠀⣷⡀⠱⡡⠀⠀⢀⢡⠀⠀⠀⠀⠀⠀⢿⣇⠰⠀⠀⠀⢻⡌⢿⡄⠀⠘⡆⠀⠀
⠀⢀⣴⣿⣿⣿⣿⣿⡿⠻⢿⣿⣿⣿⣿⣦⣤⣀⣤⣾⣿⣯⣤⣤⡀⠀⠀⢀⣤⣷⠀⠸⣷⠀⢣⠱⡀⠀⢃⢣⠄⠀⠀⠀⠀⣸⣿⠀⡇⠀⠀⠀⢻⣾⢷⣄⠀⣷⡀⠀
⣶⣿⣿⣿⣿⣿⣿⠋⠀⠀⠀⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠁⠀⠀⢀⣿⣿⠇⠀⠀⢿⡇⠘⣧⠰⠀⠀⢂⢧⠀⠀⠀⠙⣿⣿⠀⢸⠀⠀⠀⠀⢿⣿⣿⣇⡿⢷⡀
⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠈⣿⢿⣿⣿⣿⣿⣿⣿⣿⡿⠃⢀⣀⣴⣿⣿⠏⠀⠀⠀⢸⡇⠀⢻⢁⢡⠀⠈⠌⢆⠀⢀⣴⣿⣿⡇⠘⡀⠀⠀⠀⠘⣿⣿⣿⡇⠀⢳
⢠⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠈⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠃⠀⠀⠀⠀⢼⠁⠀⠘⠀⠂⢂⠀⠈⡘⣾⣿⣿⣿⣿⡇⠀⡇⠀⠀⢸⣤⣿⣿⣿⣇⠀⠈
⢸⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⣀⠀⢰⣿⡿⢿⢿⣿⣿⣿⣿⣿⣿⠟⠁⠀⠀⠀⠀⠀⠁⠀⠀⠀⡆⠘⠈⡄⠀⠰⠹⣿⣿⣿⣿⠇⠀⠃⠀⠀⢸⣿⡟⡟⠙⣿⠀⠀
⠀⣿⣿⣿⣿⣿⣷⣠⣶⠀⠀⠰⣿⣤⣿⡿⠁⠀⣾⣿⣿⣿⣿⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⠀⠃⠰⠀⠀⢁⢹⣿⣿⣿⠀⠀⢰⣤⣴⣾⣿⡇⢃⠀⠈⠀⠀
⢀⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⢀⣿⣿⡿⠁⠀⢰⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⠀⠀⡇⠀⠸⠀⠆⠀⠈⡄⢻⣿⡿⠀⠀⠊⣿⣿⣿⣿⣿⠸⠀⠀⠀⠀
⢸⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⢸⣿⣿⠁⠀⡄⣾⣿⣿⣿⣿⣿⣿⡄⠀⠀⠀⠀⠀⠀⢀⣴⡇⠀⠀⡇⠀⠀⠃⠘⠀⠀⢰⠸⣿⡇⠀⠀⣤⣿⣿⣿⣿⣿⣧⣇⠀⢀⡀
⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⢸⣿⣿⣤⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣤⣄⣀⣠⣴⣿⡿⠀⠀⠀⣷⠀⠀⢸⠀⡆⠀⠀⡆⡿⠀⠀⢸⣿⣿⡿⠋⠉⢿⣿⣿⣶⣾⣇
⢻⣿⣿⣿⣿⣿⣿⣿⣷⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠁⠀⠀⠀⣿⠀⠀⠀⡆⠡⠀⠀⣱⠇⠀⠀⣾⣿⡇⠀⠀⠀⠈⣿⣿⣿⣿⣿

HarryPotterOhtaniStreetFighter2CultInu (XLM)
https://www.hposf2ci.xyz
https://t.me/hposf2ciXLM
https://twitter.com/hposf2ciXLM

*/

// SPDX-License-Identifier: MIT

pragma solidity 0.8.20;

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval (address indexed owner, address indexed spender, uint256 value);
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }

}

contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

}

interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract HarryPotterOhtaniStreetFighter2CultInu is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    address payable private _taxWallet;
    uint256 firstBlock;

    uint256 private _initialBuyTax=25;
    uint256 private _initialSellTax=30;
    uint256 private _finalBuyTax=2;
    uint256 private _finalSellTax=2;
    uint256 private _reduceBuyTaxAt=20;
    uint256 private _reduceSellTaxAt=35;
    uint256 private _preventSwapBefore=25;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1000000 * 10**_decimals;
    string private constant _name = unicode"HarryPotterOhtaniStreetFighter2CultInu";
    string private constant _symbol = unicode"XLM";
    uint256 public _maxTxAmount =   20000 * 10**_decimals;
    uint256 public _maxWalletSize = 20000 * 10**_decimals;
    uint256 public _taxSwapThreshold= 10000 * 10**_decimals;
    uint256 public _maxTaxSwap= 10000 * 10**_decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;

    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {

        _taxWallet = payable(_msgSender());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;

        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount=0;
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");

                if (firstBlock + 3  > block.number) {
                    require(!isContract(to));
                }
                _buyCount++;
            }

            if (to != uniswapV2Pair && ! _isExcludedFromFee[to]) {
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
            }

            if(to == uniswapV2Pair && from!= address(this) ){
                taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to   == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) {
                swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        if(taxAmount>0){
          _balances[address(this)]=_balances[address(this)].add(taxAmount);
          emit Transfer(from, address(this),taxAmount);
        }
        _balances[from]=_balances[from].sub(amount);
        _balances[to]=_balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }


    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }

    function isContract(address account) private view returns (bool) {
        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }

    function addBots(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function delBots(address[] memory notbot) public onlyOwner {
      for (uint i = 0; i < notbot.length; i++) {
          bots[notbot[i]] = false;
      }
    }

    function isBot(address a) public view returns (bool){
      return bots[a];
    }

    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
        firstBlock = block.number;
    }

    receive() external payable {}

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"addBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526019600755601e60085560026009556002600a556014600b556023600c556019600d555f600e556009600a6200003b919062000328565b6200004990614e206200033f565b600f556200005a6009600a62000328565b6200006890614e206200033f565b601055620000796009600a62000328565b62000087906127106200033f565b601155620000986009600a62000328565b620000a6906127106200033f565b6012556014805461ffff60a81b19169055348015620000c3575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600580546001600160a01b03191633179055620001246009600a62000328565b6200013390620f42406200033f565b335f9081526001602081905260408220929092556003906200015c5f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff199687161790553081526003909352818320805485166001908117909155600554909116835291208054909216179055620001ba3390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001f36009600a62000328565b6200020290620f42406200033f565b60405190815260200160405180910390a362000359565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200026d57815f190482111562000251576200025162000219565b808516156200025f57918102915b93841c939080029062000232565b509250929050565b5f82620002855750600162000322565b816200029357505f62000322565b8160018114620002ac5760028114620002b757620002d7565b600191505062000322565b60ff841115620002cb57620002cb62000219565b50506001821b62000322565b5060208310610133831016604e8410600b8410161715620002fc575081810a62000322565b6200030883836200022d565b805f19048211156200031e576200031e62000219565b0290505b92915050565b5f6200033860ff84168362000275565b9392505050565b808202811582820484141762000322576200032262000219565b611a4c80620003675f395ff3fe60806040526004361061011e575f3560e01c8063751039fc1161009d578063a9059cbb11610062578063a9059cbb14610322578063bf474bed14610341578063c9567bf914610356578063d34628cc1461036a578063dd62ed3e14610389575f80fd5b8063751039fc146102935780637d1db4a5146102a75780638da5cb5b146102bc5780638f9a55c0146102e257806395d89b41146102f7575f80fd5b8063313ce567116100e3578063313ce567146101d857806331c2d847146101f35780633bbac5791461021457806370a082311461024b578063715018a61461027f575f80fd5b806306fdde0314610129578063095ea7b3146101535780630faee56f1461018257806318160ddd146101a557806323b872dd146101b9575f80fd5b3661012557005b5f80fd5b348015610134575f80fd5b5061013d6103cd565b60405161014a9190611535565b60405180910390f35b34801561015e575f80fd5b5061017261016d3660046115a7565b6103ed565b604051901515815260200161014a565b34801561018d575f80fd5b5061019760125481565b60405190815260200161014a565b3480156101b0575f80fd5b50610197610403565b3480156101c4575f80fd5b506101726101d33660046115d1565b610422565b3480156101e3575f80fd5b506040516009815260200161014a565b3480156101fe575f80fd5b5061021261020d366004611623565b610489565b005b34801561021f575f80fd5b5061017261022e3660046116e3565b6001600160a01b03165f9081526004602052604090205460ff1690565b348015610256575f80fd5b506101976102653660046116e3565b6001600160a01b03165f9081526001602052604090205490565b34801561028a575f80fd5b50610212610523565b34801561029e575f80fd5b50610212610594565b3480156102b2575f80fd5b50610197600f5481565b3480156102c7575f80fd5b505f546040516001600160a01b03909116815260200161014a565b3480156102ed575f80fd5b5061019760105481565b348015610302575f80fd5b50604080518082019091526003815262584c4d60e81b602082015261013d565b34801561032d575f80fd5b5061017261033c3660046115a7565b610642565b34801561034c575f80fd5b5061019760115481565b348015610361575f80fd5b5061021261064e565b348015610375575f80fd5b50610212610384366004611623565b6109fa565b348015610394575f80fd5b506101976103a33660046116fe565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b60606040518060600160405280602681526020016119c960269139905090565b5f6103f9338484610a88565b5060015b92915050565b5f6104106009600a611829565b61041d90620f4240611837565b905090565b5f61042e848484610bab565b61047f843361047a856040518060600160405280602881526020016119ef602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906111b1565b610a88565b5060019392505050565b5f546001600160a01b031633146104bb5760405162461bcd60e51b81526004016104b29061184e565b60405180910390fd5b5f5b815181101561051f575f60045f8484815181106104dc576104dc611883565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790558061051781611897565b9150506104bd565b5050565b5f546001600160a01b0316331461054c5760405162461bcd60e51b81526004016104b29061184e565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105bd5760405162461bcd60e51b81526004016104b29061184e565b6105c96009600a611829565b6105d690620f4240611837565b600f556105e56009600a611829565b6105f290620f4240611837565b6010557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106226009600a611829565b61062f90620f4240611837565b60405190815260200160405180910390a1565b5f6103f9338484610bab565b5f546001600160a01b031633146106775760405162461bcd60e51b81526004016104b29061184e565b601454600160a01b900460ff16156106d15760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104b2565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561071990309061070c6009600a611829565b61047a90620f4240611837565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610769573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061078d91906118af565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107ec573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061081091906118af565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561085a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061087e91906118af565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d71947306108c5816001600160a01b03165f9081526001602052604090205490565b5f806108d85f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561093e573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061096391906118ca565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156109b8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109dc91906118f5565b506014805462ff00ff60a01b19166201000160a01b17905543600655565b5f546001600160a01b03163314610a235760405162461bcd60e51b81526004016104b29061184e565b5f5b815181101561051f57600160045f848481518110610a4557610a45611883565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff191691151591909117905580610a8081611897565b915050610a25565b6001600160a01b038316610aea5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104b2565b6001600160a01b038216610b4b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104b2565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c0f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104b2565b6001600160a01b038216610c715760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104b2565b5f8111610cd25760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104b2565b5f80546001600160a01b03858116911614801590610cfd57505f546001600160a01b03848116911614155b15611074576001600160a01b0384165f9081526004602052604090205460ff16158015610d4257506001600160a01b0383165f9081526004602052604090205460ff16155b610d4a575f80fd5b610d766064610d70600b54600e5411610d6557600754610d69565b6009545b85906111e9565b9061126e565b6014549091506001600160a01b038581169116148015610da457506013546001600160a01b03848116911614155b8015610dc857506001600160a01b0383165f9081526003602052604090205460ff16155b15610ecf57600f54821115610e1f5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104b2565b60105482610e41856001600160a01b03165f9081526001602052604090205490565b610e4b9190611914565b1115610e995760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104b2565b436006546003610ea99190611914565b1115610eba57823b15610eba575f80fd5b600e8054905f610ec983611897565b91905055505b6014546001600160a01b03848116911614801590610f0557506001600160a01b0383165f9081526003602052604090205460ff16155b15610f845760105482610f2c856001600160a01b03165f9081526001602052604090205490565b610f369190611914565b1115610f845760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104b2565b6014546001600160a01b038481169116148015610faa57506001600160a01b0384163014155b15610fd757610fd46064610d70600c54600e5411610fca57600854610d69565b600a5485906111e9565b90505b305f90815260016020526040902054601454600160a81b900460ff1615801561100d57506014546001600160a01b038581169116145b80156110225750601454600160b01b900460ff165b801561102f575060115481115b801561103e5750600d54600e54115b156110725761106061105b84611056846012546112af565b6112af565b6112c3565b4780156110705761107047611433565b505b505b80156110ec57305f90815260016020526040902054611093908261146a565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110e39085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461110e90836114c8565b6001600160a01b0385165f9081526001602052604090205561115161113383836114c8565b6001600160a01b0385165f908152600160205260409020549061146a565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61119a85856114c8565b60405190815260200160405180910390a350505050565b5f81848411156111d45760405162461bcd60e51b81526004016104b29190611535565b505f6111e08486611927565b95945050505050565b5f825f036111f857505f6103fd565b5f6112038385611837565b905082611210858361193a565b146112675760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104b2565b9392505050565b5f61126783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611509565b5f8183116112bd5782611267565b50919050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061130957611309611883565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611360573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061138491906118af565b8160018151811061139757611397611883565b6001600160a01b0392831660209182029290920101526013546113bd9130911684610a88565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906113f59085905f90869030904290600401611959565b5f604051808303815f87803b15801561140c575f80fd5b505af115801561141e573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561051f573d5f803e3d5ffd5b5f806114768385611914565b9050838110156112675760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104b2565b5f61126783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111b1565b5f81836115295760405162461bcd60e51b81526004016104b29190611535565b505f6111e0848661193a565b5f6020808352835180828501525f5b8181101561156057858101830151858201604001528201611544565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611594575f80fd5b50565b80356115a281611580565b919050565b5f80604083850312156115b8575f80fd5b82356115c381611580565b946020939093013593505050565b5f805f606084860312156115e3575f80fd5b83356115ee81611580565b925060208401356115fe81611580565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215611634575f80fd5b823567ffffffffffffffff8082111561164b575f80fd5b818501915085601f83011261165e575f80fd5b8135818111156116705761167061160f565b8060051b604051601f19603f830116810181811085821117156116955761169561160f565b6040529182528482019250838101850191888311156116b2575f80fd5b938501935b828510156116d7576116c885611597565b845293850193928501926116b7565b98975050505050505050565b5f602082840312156116f3575f80fd5b813561126781611580565b5f806040838503121561170f575f80fd5b823561171a81611580565b9150602083013561172a81611580565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561178357815f190482111561176957611769611735565b8085161561177657918102915b93841c939080029061174e565b509250929050565b5f82611799575060016103fd565b816117a557505f6103fd565b81600181146117bb57600281146117c5576117e1565b60019150506103fd565b60ff8411156117d6576117d6611735565b50506001821b6103fd565b5060208310610133831016604e8410600b8410161715611804575081810a6103fd565b61180e8383611749565b805f190482111561182157611821611735565b029392505050565b5f61126760ff84168361178b565b80820281158282048414176103fd576103fd611735565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f600182016118a8576118a8611735565b5060010190565b5f602082840312156118bf575f80fd5b815161126781611580565b5f805f606084860312156118dc575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611905575f80fd5b81518015158114611267575f80fd5b808201808211156103fd576103fd611735565b818103818111156103fd576103fd611735565b5f8261195457634e487b7160e01b5f52601260045260245ffd5b500490565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156119a75784516001600160a01b031683529383019391830191600101611982565b50506001600160a01b0396909616606085015250505060800152939250505056fe4861727279506f747465724f6874616e69537472656574466967687465723243756c74496e7545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f14517570d72a154cf62ddf324d62c3cc85bc6eeb2bb53554d94a9a38b83efe964736f6c63430008140033

Deployed Bytecode

0x60806040526004361061011e575f3560e01c8063751039fc1161009d578063a9059cbb11610062578063a9059cbb14610322578063bf474bed14610341578063c9567bf914610356578063d34628cc1461036a578063dd62ed3e14610389575f80fd5b8063751039fc146102935780637d1db4a5146102a75780638da5cb5b146102bc5780638f9a55c0146102e257806395d89b41146102f7575f80fd5b8063313ce567116100e3578063313ce567146101d857806331c2d847146101f35780633bbac5791461021457806370a082311461024b578063715018a61461027f575f80fd5b806306fdde0314610129578063095ea7b3146101535780630faee56f1461018257806318160ddd146101a557806323b872dd146101b9575f80fd5b3661012557005b5f80fd5b348015610134575f80fd5b5061013d6103cd565b60405161014a9190611535565b60405180910390f35b34801561015e575f80fd5b5061017261016d3660046115a7565b6103ed565b604051901515815260200161014a565b34801561018d575f80fd5b5061019760125481565b60405190815260200161014a565b3480156101b0575f80fd5b50610197610403565b3480156101c4575f80fd5b506101726101d33660046115d1565b610422565b3480156101e3575f80fd5b506040516009815260200161014a565b3480156101fe575f80fd5b5061021261020d366004611623565b610489565b005b34801561021f575f80fd5b5061017261022e3660046116e3565b6001600160a01b03165f9081526004602052604090205460ff1690565b348015610256575f80fd5b506101976102653660046116e3565b6001600160a01b03165f9081526001602052604090205490565b34801561028a575f80fd5b50610212610523565b34801561029e575f80fd5b50610212610594565b3480156102b2575f80fd5b50610197600f5481565b3480156102c7575f80fd5b505f546040516001600160a01b03909116815260200161014a565b3480156102ed575f80fd5b5061019760105481565b348015610302575f80fd5b50604080518082019091526003815262584c4d60e81b602082015261013d565b34801561032d575f80fd5b5061017261033c3660046115a7565b610642565b34801561034c575f80fd5b5061019760115481565b348015610361575f80fd5b5061021261064e565b348015610375575f80fd5b50610212610384366004611623565b6109fa565b348015610394575f80fd5b506101976103a33660046116fe565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b60606040518060600160405280602681526020016119c960269139905090565b5f6103f9338484610a88565b5060015b92915050565b5f6104106009600a611829565b61041d90620f4240611837565b905090565b5f61042e848484610bab565b61047f843361047a856040518060600160405280602881526020016119ef602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906111b1565b610a88565b5060019392505050565b5f546001600160a01b031633146104bb5760405162461bcd60e51b81526004016104b29061184e565b60405180910390fd5b5f5b815181101561051f575f60045f8484815181106104dc576104dc611883565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790558061051781611897565b9150506104bd565b5050565b5f546001600160a01b0316331461054c5760405162461bcd60e51b81526004016104b29061184e565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105bd5760405162461bcd60e51b81526004016104b29061184e565b6105c96009600a611829565b6105d690620f4240611837565b600f556105e56009600a611829565b6105f290620f4240611837565b6010557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106226009600a611829565b61062f90620f4240611837565b60405190815260200160405180910390a1565b5f6103f9338484610bab565b5f546001600160a01b031633146106775760405162461bcd60e51b81526004016104b29061184e565b601454600160a01b900460ff16156106d15760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104b2565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561071990309061070c6009600a611829565b61047a90620f4240611837565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610769573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061078d91906118af565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107ec573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061081091906118af565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561085a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061087e91906118af565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d71947306108c5816001600160a01b03165f9081526001602052604090205490565b5f806108d85f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561093e573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061096391906118ca565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156109b8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109dc91906118f5565b506014805462ff00ff60a01b19166201000160a01b17905543600655565b5f546001600160a01b03163314610a235760405162461bcd60e51b81526004016104b29061184e565b5f5b815181101561051f57600160045f848481518110610a4557610a45611883565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff191691151591909117905580610a8081611897565b915050610a25565b6001600160a01b038316610aea5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104b2565b6001600160a01b038216610b4b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104b2565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c0f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104b2565b6001600160a01b038216610c715760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104b2565b5f8111610cd25760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104b2565b5f80546001600160a01b03858116911614801590610cfd57505f546001600160a01b03848116911614155b15611074576001600160a01b0384165f9081526004602052604090205460ff16158015610d4257506001600160a01b0383165f9081526004602052604090205460ff16155b610d4a575f80fd5b610d766064610d70600b54600e5411610d6557600754610d69565b6009545b85906111e9565b9061126e565b6014549091506001600160a01b038581169116148015610da457506013546001600160a01b03848116911614155b8015610dc857506001600160a01b0383165f9081526003602052604090205460ff16155b15610ecf57600f54821115610e1f5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104b2565b60105482610e41856001600160a01b03165f9081526001602052604090205490565b610e4b9190611914565b1115610e995760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104b2565b436006546003610ea99190611914565b1115610eba57823b15610eba575f80fd5b600e8054905f610ec983611897565b91905055505b6014546001600160a01b03848116911614801590610f0557506001600160a01b0383165f9081526003602052604090205460ff16155b15610f845760105482610f2c856001600160a01b03165f9081526001602052604090205490565b610f369190611914565b1115610f845760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104b2565b6014546001600160a01b038481169116148015610faa57506001600160a01b0384163014155b15610fd757610fd46064610d70600c54600e5411610fca57600854610d69565b600a5485906111e9565b90505b305f90815260016020526040902054601454600160a81b900460ff1615801561100d57506014546001600160a01b038581169116145b80156110225750601454600160b01b900460ff165b801561102f575060115481115b801561103e5750600d54600e54115b156110725761106061105b84611056846012546112af565b6112af565b6112c3565b4780156110705761107047611433565b505b505b80156110ec57305f90815260016020526040902054611093908261146a565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110e39085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461110e90836114c8565b6001600160a01b0385165f9081526001602052604090205561115161113383836114c8565b6001600160a01b0385165f908152600160205260409020549061146a565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61119a85856114c8565b60405190815260200160405180910390a350505050565b5f81848411156111d45760405162461bcd60e51b81526004016104b29190611535565b505f6111e08486611927565b95945050505050565b5f825f036111f857505f6103fd565b5f6112038385611837565b905082611210858361193a565b146112675760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104b2565b9392505050565b5f61126783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611509565b5f8183116112bd5782611267565b50919050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061130957611309611883565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611360573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061138491906118af565b8160018151811061139757611397611883565b6001600160a01b0392831660209182029290920101526013546113bd9130911684610a88565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906113f59085905f90869030904290600401611959565b5f604051808303815f87803b15801561140c575f80fd5b505af115801561141e573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561051f573d5f803e3d5ffd5b5f806114768385611914565b9050838110156112675760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104b2565b5f61126783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111b1565b5f81836115295760405162461bcd60e51b81526004016104b29190611535565b505f6111e0848661193a565b5f6020808352835180828501525f5b8181101561156057858101830151858201604001528201611544565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611594575f80fd5b50565b80356115a281611580565b919050565b5f80604083850312156115b8575f80fd5b82356115c381611580565b946020939093013593505050565b5f805f606084860312156115e3575f80fd5b83356115ee81611580565b925060208401356115fe81611580565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215611634575f80fd5b823567ffffffffffffffff8082111561164b575f80fd5b818501915085601f83011261165e575f80fd5b8135818111156116705761167061160f565b8060051b604051601f19603f830116810181811085821117156116955761169561160f565b6040529182528482019250838101850191888311156116b2575f80fd5b938501935b828510156116d7576116c885611597565b845293850193928501926116b7565b98975050505050505050565b5f602082840312156116f3575f80fd5b813561126781611580565b5f806040838503121561170f575f80fd5b823561171a81611580565b9150602083013561172a81611580565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561178357815f190482111561176957611769611735565b8085161561177657918102915b93841c939080029061174e565b509250929050565b5f82611799575060016103fd565b816117a557505f6103fd565b81600181146117bb57600281146117c5576117e1565b60019150506103fd565b60ff8411156117d6576117d6611735565b50506001821b6103fd565b5060208310610133831016604e8410600b8410161715611804575081810a6103fd565b61180e8383611749565b805f190482111561182157611821611735565b029392505050565b5f61126760ff84168361178b565b80820281158282048414176103fd576103fd611735565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f600182016118a8576118a8611735565b5060010190565b5f602082840312156118bf575f80fd5b815161126781611580565b5f805f606084860312156118dc575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611905575f80fd5b81518015158114611267575f80fd5b808201808211156103fd576103fd611735565b818103818111156103fd576103fd611735565b5f8261195457634e487b7160e01b5f52601260045260245ffd5b500490565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156119a75784516001600160a01b031683529383019391830191600101611982565b50506001600160a01b0396909616606085015250505060800152939250505056fe4861727279506f747465724f6874616e69537472656574466967687465723243756c74496e7545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f14517570d72a154cf62ddf324d62c3cc85bc6eeb2bb53554d94a9a38b83efe964736f6c63430008140033

Deployed Bytecode Sourcemap

8918:8042:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10807:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11640:161;;;;;;;;;;-1:-1:-1;11640:161:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;11640:161:0;1162:187:1;10083:49:0;;;;;;;;;;;;;;;;;;;1500:25:1;;;1488:2;1473:18;10083:49:0;1354:177:1;11084:95:0;;;;;;;;;;;;;:::i;11809:313::-;;;;;;;;;;-1:-1:-1;11809:313:0;;;;;:::i;:::-;;:::i;10993:83::-;;;;;;;;;;-1:-1:-1;10993:83:0;;9689:1;2139:36:1;;2127:2;2112:18;10993:83:0;1997:184:1;15950:162:0;;;;;;;;;;-1:-1:-1;15950:162:0;;;;;:::i;:::-;;:::i;:::-;;16120:83;;;;;;;;;;-1:-1:-1;16120:83:0;;;;;:::i;:::-;-1:-1:-1;;;;;16188:7:0;16167:4;16188:7;;;:4;:7;;;;;;;;;16120:83;11187:119;;;;;;;;;;-1:-1:-1;11187:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;11280:18:0;11253:7;11280:18;;;:9;:18;;;;;;;11187:119;7999:148;;;;;;;;;;;;;:::i;15511:159::-;;;;;;;;;;;;;:::i;9901:53::-;;;;;;;;;;;;;;;;7785:79;;;;;;;;;;-1:-1:-1;7823:7:0;7850:6;7785:79;;-1:-1:-1;;;;;7850:6:0;;;3842:51:1;;3830:2;3815:18;7785:79:0;3696:203:1;9961:53:0;;;;;;;;;;;;;;;;10898:87;;;;;;;;;;-1:-1:-1;10970:7:0;;;;;;;;;;;;-1:-1:-1;;;10970:7:0;;;;10898:87;;11314:167;;;;;;;;;;-1:-1:-1;11314:167:0;;;;;:::i;:::-;;:::i;10021:55::-;;;;;;;;;;;;;;;;16211:707;;;;;;;;;;;;;:::i;15778:164::-;;;;;;;;;;-1:-1:-1;15778:164:0;;;;;:::i;:::-;;:::i;11489:143::-;;;;;;;;;;-1:-1:-1;11489:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;11597:18:0;;;11570:7;11597:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;11489:143;10807:83;10844:13;10877:5;;;;;;;;;;;;;;;;;10870:12;;10807:83;:::o;11640:161::-;11715:4;11732:39;5619:10;11755:7;11764:6;11732:8;:39::i;:::-;-1:-1:-1;11789:4:0;11640:161;;;;;:::o;11084:95::-;11137:7;9742:13;9689:1;9742:2;:13;:::i;:::-;9732:23;;:7;:23;:::i;:::-;11157:14;;11084:95;:::o;11809:313::-;11907:4;11924:36;11934:6;11942:9;11953:6;11924:9;:36::i;:::-;11971:121;11980:6;5619:10;12002:89;12040:6;12002:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12002:19:0;;;;;;:11;:19;;;;;;;;5619:10;12002:33;;;;;;;;;;:37;:89::i;:::-;11971:8;:121::i;:::-;-1:-1:-1;12110:4:0;11809:313;;;;;:::o;15950:162::-;7912:6;;-1:-1:-1;;;;;7912:6:0;5619:10;7912:22;7904:67;;;;-1:-1:-1;;;7904:67:0;;;;;;;:::i;:::-;;;;;;;;;16023:6:::1;16018:87;16039:6;:13;16035:1;:17;16018:87;;;16090:5;16072:4;:15;16077:6;16084:1;16077:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;16072:15:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;16072:15:0;:23;;-1:-1:-1;;16072:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16054:3;::::1;::::0;::::1;:::i;:::-;;;;16018:87;;;;15950:162:::0;:::o;7999:148::-;7912:6;;-1:-1:-1;;;;;7912:6:0;5619:10;7912:22;7904:67;;;;-1:-1:-1;;;7904:67:0;;;;;;;:::i;:::-;8106:1:::1;8090:6:::0;;8069:40:::1;::::0;-1:-1:-1;;;;;8090:6:0;;::::1;::::0;8069:40:::1;::::0;8106:1;;8069:40:::1;8137:1;8120:19:::0;;-1:-1:-1;;;;;;8120:19:0::1;::::0;;7999:148::o;15511:159::-;7912:6;;-1:-1:-1;;;;;7912:6:0;5619:10;7912:22;7904:67;;;;-1:-1:-1;;;7904:67:0;;;;;;;:::i;:::-;9742:13:::1;9689:1;9742:2;:13;:::i;:::-;9732:23;::::0;:7:::1;:23;:::i;:::-;15564:12;:22:::0;9742:13:::1;9689:1;9742:2;:13;:::i;:::-;9732:23;::::0;:7:::1;:23;:::i;:::-;15597:14;:22:::0;15635:27:::1;9742:13;9689:1;9742:2;:13;:::i;:::-;9732:23;::::0;:7:::1;:23;:::i;:::-;15635:27;::::0;1500:25:1;;;1488:2;1473:18;15635:27:0::1;;;;;;;15511:159::o:0;11314:167::-;11392:4;11409:42;5619:10;11433:9;11444:6;11409:9;:42::i;16211:707::-;7912:6;;-1:-1:-1;;;;;7912:6:0;5619:10;7912:22;7904:67;;;;-1:-1:-1;;;7904:67:0;;;;;;;:::i;:::-;16275:11:::1;::::0;-1:-1:-1;;;16275:11:0;::::1;;;16274:12;16266:47;;;::::0;-1:-1:-1;;;16266:47:0;;6820:2:1;16266:47:0::1;::::0;::::1;6802:21:1::0;6859:2;6839:18;;;6832:30;6898:25;6878:18;;;6871:53;6941:18;;16266:47:0::1;6618:347:1::0;16266:47:0::1;16324:15;:80:::0;;-1:-1:-1;;;;;;16324:80:0::1;16361:42;16324:80:::0;;::::1;::::0;;;16415:58:::1;::::0;16432:4:::1;::::0;9742:13:::1;9689:1;9742:2;:13;:::i;:::-;9732:23;::::0;:7:::1;:23;:::i;16415:58::-;16518:15;;;;;;;;;-1:-1:-1::0;;;;;16518:15:0::1;-1:-1:-1::0;;;;;16518:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;16500:55:0::1;;16564:4;16571:15;;;;;;;;;-1:-1:-1::0;;;;;16571:15:0::1;-1:-1:-1::0;;;;;16571:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16500:94;::::0;-1:-1:-1;;;;;;16500:94:0::1;::::0;;;;;;-1:-1:-1;;;;;7456:15:1;;;16500:94:0::1;::::0;::::1;7438:34:1::0;7508:15;;7488:18;;;7481:43;7373:18;;16500:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16484:13;:110:::0;;-1:-1:-1;;;;;16484:110:0;;::::1;-1:-1:-1::0;;;;;;16484:110:0;;::::1;;::::0;;16605:15:::1;::::0;::::1;:31;16644:21;16675:4;16681:24;16675:4:::0;-1:-1:-1;;;;;11280:18:0;11253:7;11280:18;;;:9;:18;;;;;;;11187:119;16681:24:::1;16706:1;16708::::0;16710:7:::1;7823::::0;7850:6;-1:-1:-1;;;;;7850:6:0;;7785:79;16710:7:::1;16605:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;16605:129:0;;;-1:-1:-1;;;;;7894:15:1;;;16605:129:0::1;::::0;::::1;7876:34:1::0;7926:18;;;7919:34;;;;7969:18;;;7962:34;;;;8012:18;;;8005:34;8076:15;;;8055:19;;;8048:44;16718:15:0::1;8108:19:1::0;;;8101:35;7810:19;;16605:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;16752:13:0::1;::::0;16783:15:::1;::::0;16745:71:::1;::::0;-1:-1:-1;;;16745:71:0;;-1:-1:-1;;;;;16783:15:0;;::::1;16745:71;::::0;::::1;8632:51:1::0;-1:-1:-1;;8699:18:1;;;8692:34;16752:13:0;::::1;::::0;-1:-1:-1;16745:29:0::1;::::0;8605:18:1;;16745:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;16827:11:0::1;:18:::0;;-1:-1:-1;;;;16856:18:0;-1:-1:-1;;;16856:18:0;;;16898:12:::1;16885:10;:25:::0;16211:707::o;15778:164::-;7912:6;;-1:-1:-1;;;;;7912:6:0;5619:10;7912:22;7904:67;;;;-1:-1:-1;;;7904:67:0;;;;;;;:::i;:::-;15852:6:::1;15847:88;15868:5;:12;15864:1;:16;15847:88;;;15919:4;15902;:14;15907:5;15913:1;15907:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;15902:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;15902:14:0;:21;;-1:-1:-1;;15902:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;15882:3;::::1;::::0;::::1;:::i;:::-;;;;15847:88;;12130:335:::0;-1:-1:-1;;;;;12223:19:0;;12215:68;;;;-1:-1:-1;;;12215:68:0;;9221:2:1;12215:68:0;;;9203:21:1;9260:2;9240:18;;;9233:30;9299:34;9279:18;;;9272:62;-1:-1:-1;;;9350:18:1;;;9343:34;9394:19;;12215:68:0;9019:400:1;12215:68:0;-1:-1:-1;;;;;12302:21:0;;12294:68;;;;-1:-1:-1;;;12294:68:0;;9626:2:1;12294:68:0;;;9608:21:1;9665:2;9645:18;;;9638:30;9704:34;9684:18;;;9677:62;-1:-1:-1;;;9755:18:1;;;9748:32;9797:19;;12294:68:0;9424:398:1;12294:68:0;-1:-1:-1;;;;;12373:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;12425:32;;1500:25:1;;;12425:32:0;;1473:18:1;12425:32:0;;;;;;;12130:335;;;:::o;12473:2228::-;-1:-1:-1;;;;;12561:18:0;;12553:68;;;;-1:-1:-1;;;12553:68:0;;10029:2:1;12553:68:0;;;10011:21:1;10068:2;10048:18;;;10041:30;10107:34;10087:18;;;10080:62;-1:-1:-1;;;10158:18:1;;;10151:35;10203:19;;12553:68:0;9827:401:1;12553:68:0;-1:-1:-1;;;;;12640:16:0;;12632:64;;;;-1:-1:-1;;;12632:64:0;;10435:2:1;12632:64:0;;;10417:21:1;10474:2;10454:18;;;10447:30;10513:34;10493:18;;;10486:62;-1:-1:-1;;;10564:18:1;;;10557:33;10607:19;;12632:64:0;10233:399:1;12632:64:0;12724:1;12715:6;:10;12707:64;;;;-1:-1:-1;;;12707:64:0;;10839:2:1;12707:64:0;;;10821:21:1;10878:2;10858:18;;;10851:30;10917:34;10897:18;;;10890:62;-1:-1:-1;;;10968:18:1;;;10961:39;11017:19;;12707:64:0;10637:405:1;12707:64:0;12782:17;7850:6;;-1:-1:-1;;;;;12816:15:0;;;7850:6;;12816:15;;;;:32;;-1:-1:-1;7823:7:0;7850:6;-1:-1:-1;;;;;12835:13:0;;;7850:6;;12835:13;;12816:32;12812:1533;;;-1:-1:-1;;;;;12874:10:0;;;;;;:4;:10;;;;;;;;12873:11;:24;;;;-1:-1:-1;;;;;;12889:8:0;;;;;;:4;:8;;;;;;;;12888:9;12873:24;12865:33;;;;;;12925:76;12997:3;12925:67;12947:15;;12937:9;;:25;12936:55;;12977:14;;12936:55;;;12964:12;;12936:55;12925:6;;:10;:67::i;:::-;:71;;:76::i;:::-;13030:13;;12913:88;;-1:-1:-1;;;;;;13022:21:0;;;13030:13;;13022:21;:55;;;;-1:-1:-1;13061:15:0;;-1:-1:-1;;;;;13047:30:0;;;13061:15;;13047:30;;13022:55;:83;;;;-1:-1:-1;;;;;;13083:22:0;;;;;;:18;:22;;;;;;;;13081:24;13022:83;13018:436;;;13145:12;;13135:6;:22;;13127:60;;;;-1:-1:-1;;;13127:60:0;;11249:2:1;13127:60:0;;;11231:21:1;11288:2;11268:18;;;11261:30;11327:27;11307:18;;;11300:55;11372:18;;13127:60:0;11047:349:1;13127:60:0;13240:14;;13230:6;13214:13;13224:2;-1:-1:-1;;;;;11280:18:0;11253:7;11280:18;;;:9;:18;;;;;;;11187:119;13214:13;:22;;;;:::i;:::-;:40;;13206:79;;;;-1:-1:-1;;;13206:79:0;;11733:2:1;13206:79:0;;;11715:21:1;11772:2;11752:18;;;11745:30;11811:28;11791:18;;;11784:56;11857:18;;13206:79:0;11531:350:1;13206:79:0;13328:12;13310:10;;13323:1;13310:14;;;;:::i;:::-;:30;13306:103;;;14948:20;;14996:8;13365:24;;;;;;13427:9;:11;;;:9;:11;;;:::i;:::-;;;;;;13018:436;13480:13;;-1:-1:-1;;;;;13474:19:0;;;13480:13;;13474:19;;;;:47;;-1:-1:-1;;;;;;13499:22:0;;;;;;:18;:22;;;;;;;;13497:24;13474:47;13470:167;;;13576:14;;13566:6;13550:13;13560:2;-1:-1:-1;;;;;11280:18:0;11253:7;11280:18;;;:9;:18;;;;;;;11187:119;13550:13;:22;;;;:::i;:::-;:40;;13542:79;;;;-1:-1:-1;;;13542:79:0;;11733:2:1;13542:79:0;;;11715:21:1;11772:2;11752:18;;;11745:30;11811:28;11791:18;;;11784:56;11857:18;;13542:79:0;11531:350:1;13542:79:0;13662:13;;-1:-1:-1;;;;;13656:19:0;;;13662:13;;13656:19;:43;;;;-1:-1:-1;;;;;;13679:20:0;;13694:4;13679:20;;13656:43;13653:174;;;13732:79;13807:3;13732:70;13754:16;;13744:9;;:26;13743:58;;13786:15;;13743:58;;;13772:13;;13732:6;;:10;:70::i;:79::-;13720:91;;13653:174;13892:4;13843:28;11280:18;;;:9;:18;;;;;;13918:6;;-1:-1:-1;;;13918:6:0;;;;13917:7;:32;;;;-1:-1:-1;13936:13:0;;-1:-1:-1;;;;;13928:21:0;;;13936:13;;13928:21;13917:32;:47;;;;-1:-1:-1;13953:11:0;;-1:-1:-1;;;13953:11:0;;;;13917:47;:89;;;;;13989:17;;13968:20;:38;13917:89;:121;;;;;14020:18;;14010:9;;:28;13917:121;13913:421;;;14059:67;14076:49;14080:6;14087:37;14091:20;14112:11;;14087:3;:37::i;:::-;14076:3;:49::i;:::-;14059:16;:67::i;:::-;14174:21;14217:22;;14214:105;;14264:35;14277:21;14264:12;:35::i;:::-;14040:294;13913:421;12850:1495;12812:1533;14360:11;;14357:161;;14428:4;14410:24;;;;:9;:24;;;;;;:39;;14439:9;14410:28;:39::i;:::-;14403:4;14385:24;;;;:9;:24;;;;;;;:64;;;;14467:39;;-1:-1:-1;;;;;14467:39:0;;;;;;;14496:9;1500:25:1;;1488:2;1473:18;;1354:177;14467:39:0;;;;;;;;14357:161;-1:-1:-1;;;;;14544:15:0;;;;;;:9;:15;;;;;;:27;;14564:6;14544:19;:27::i;:::-;-1:-1:-1;;;;;14528:15:0;;;;;;:9;:15;;;;;:43;14596:40;14614:21;:6;14625:9;14614:10;:21::i;:::-;-1:-1:-1;;;;;14596:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;14582:13:0;;;;;;;:9;:13;;;;;:54;;;;14652:41;;;14671:21;:6;14682:9;14671:10;:21::i;:::-;14652:41;;1500:25:1;;;1488:2;1473:18;14652:41:0;;;;;;;12542:2159;12473:2228;;;:::o;6677:190::-;6763:7;6799:12;6791:6;;;;6783:29;;;;-1:-1:-1;;;6783:29:0;;;;;;;;:::i;:::-;-1:-1:-1;6823:9:0;6835:5;6839:1;6835;:5;:::i;:::-;6823:17;6677:190;-1:-1:-1;;;;;6677:190:0:o;6875:246::-;6933:7;6957:1;6962;6957:6;6953:47;;-1:-1:-1;6987:1:0;6980:8;;6953:47;7010:9;7022:5;7026:1;7022;:5;:::i;:::-;7010:17;-1:-1:-1;7055:1:0;7046:5;7050:1;7010:17;7046:5;:::i;:::-;:10;7038:56;;;;-1:-1:-1;;;7038:56:0;;12443:2:1;7038:56:0;;;12425:21:1;12482:2;12462:18;;;12455:30;12521:34;12501:18;;;12494:62;-1:-1:-1;;;12572:18:1;;;12565:31;12613:19;;7038:56:0;12241:397:1;7038:56:0;7112:1;6875:246;-1:-1:-1;;;6875:246:0:o;7129:132::-;7187:7;7214:39;7218:1;7221;7214:39;;;;;;;;;;;;;;;;;:3;:39::i;14711:98::-;14768:7;14795:1;14793;:3;14792:9;;14800:1;14792:9;;;-1:-1:-1;14798:1:0;14711:98;-1:-1:-1;14711:98:0:o;15020:483::-;10414:6;:13;;-1:-1:-1;;;;10414:13:0;-1:-1:-1;;;10414:13:0;;;15122:16:::1;::::0;;15136:1:::1;15122:16:::0;;;;;::::1;::::0;;-1:-1:-1;;15122:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;15122:16:0::1;15098:40;;15167:4;15149;15154:1;15149:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;15149:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;15193:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;15193:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;15149:7;;15193:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15183:4;15188:1;15183:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;15183:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;15258:15:::1;::::0;15226:62:::1;::::0;15243:4:::1;::::0;15258:15:::1;15276:11:::0;15226:8:::1;:62::i;:::-;15299:15;::::0;:196:::1;::::0;-1:-1:-1;;;15299:196:0;;-1:-1:-1;;;;;15299:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;15380:11;;15299:15:::1;::::0;15422:4;;15449::::1;::::0;15469:15:::1;::::0;15299:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;10450:6:0;:14;;-1:-1:-1;;;;10450:14:0;;;-1:-1:-1;;;;15020:483:0:o;15678:92::-;15735:10;;:27;;-1:-1:-1;;;;;15735:10:0;;;;:27;;;;;15755:6;;15735:10;:27;:10;:27;15755:6;15735:10;:27;;;;;;;;;;;;;;;;;;;6346:179;6404:7;;6436:5;6440:1;6436;:5;:::i;:::-;6424:17;;6465:1;6460;:6;;6452:46;;;;-1:-1:-1;;;6452:46:0;;13830:2:1;6452:46:0;;;13812:21:1;13869:2;13849:18;;;13842:30;13908:29;13888:18;;;13881:57;13955:18;;6452:46:0;13628:351:1;6533:136:0;6591:7;6618:43;6622:1;6625;6618:43;;;;;;;;;;;;;;;;;:3;:43::i;7269:189::-;7355:7;7390:12;7383:5;7375:28;;;;-1:-1:-1;;;7375:28:0;;;;;;;;:::i;:::-;-1:-1:-1;7414:9:0;7426:5;7430:1;7426;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:134::-;771:20;;800:31;771:20;800:31;:::i;:::-;703:134;;;:::o;842:315::-;910:6;918;971:2;959:9;950:7;946:23;942:32;939:52;;;987:1;984;977:12;939:52;1026:9;1013:23;1045:31;1070:5;1045:31;:::i;:::-;1095:5;1147:2;1132:18;;;;1119:32;;-1:-1:-1;;;842:315:1:o;1536:456::-;1613:6;1621;1629;1682:2;1670:9;1661:7;1657:23;1653:32;1650:52;;;1698:1;1695;1688:12;1650:52;1737:9;1724:23;1756:31;1781:5;1756:31;:::i;:::-;1806:5;-1:-1:-1;1863:2:1;1848:18;;1835:32;1876:33;1835:32;1876:33;:::i;:::-;1536:456;;1928:7;;-1:-1:-1;;;1982:2:1;1967:18;;;;1954:32;;1536:456::o;2186:127::-;2247:10;2242:3;2238:20;2235:1;2228:31;2278:4;2275:1;2268:15;2302:4;2299:1;2292:15;2318:1121;2402:6;2433:2;2476;2464:9;2455:7;2451:23;2447:32;2444:52;;;2492:1;2489;2482:12;2444:52;2532:9;2519:23;2561:18;2602:2;2594:6;2591:14;2588:34;;;2618:1;2615;2608:12;2588:34;2656:6;2645:9;2641:22;2631:32;;2701:7;2694:4;2690:2;2686:13;2682:27;2672:55;;2723:1;2720;2713:12;2672:55;2759:2;2746:16;2781:2;2777;2774:10;2771:36;;;2787:18;;:::i;:::-;2833:2;2830:1;2826:10;2865:2;2859:9;2928:2;2924:7;2919:2;2915;2911:11;2907:25;2899:6;2895:38;2983:6;2971:10;2968:22;2963:2;2951:10;2948:18;2945:46;2942:72;;;2994:18;;:::i;:::-;3030:2;3023:22;3080:18;;;3114:15;;;;-1:-1:-1;3156:11:1;;;3152:20;;;3184:19;;;3181:39;;;3216:1;3213;3206:12;3181:39;3240:11;;;;3260:148;3276:6;3271:3;3268:15;3260:148;;;3342:23;3361:3;3342:23;:::i;:::-;3330:36;;3293:12;;;;3386;;;;3260:148;;;3427:6;2318:1121;-1:-1:-1;;;;;;;;2318:1121:1:o;3444:247::-;3503:6;3556:2;3544:9;3535:7;3531:23;3527:32;3524:52;;;3572:1;3569;3562:12;3524:52;3611:9;3598:23;3630:31;3655:5;3630:31;:::i;3904:388::-;3972:6;3980;4033:2;4021:9;4012:7;4008:23;4004:32;4001:52;;;4049:1;4046;4039:12;4001:52;4088:9;4075:23;4107:31;4132:5;4107:31;:::i;:::-;4157:5;-1:-1:-1;4214:2:1;4199:18;;4186:32;4227:33;4186:32;4227:33;:::i;:::-;4279:7;4269:17;;;3904:388;;;;;:::o;4297:127::-;4358:10;4353:3;4349:20;4346:1;4339:31;4389:4;4386:1;4379:15;4413:4;4410:1;4403:15;4429:422;4518:1;4561:5;4518:1;4575:270;4596:7;4586:8;4583:21;4575:270;;;4655:4;4651:1;4647:6;4643:17;4637:4;4634:27;4631:53;;;4664:18;;:::i;:::-;4714:7;4704:8;4700:22;4697:55;;;4734:16;;;;4697:55;4813:22;;;;4773:15;;;;4575:270;;;4579:3;4429:422;;;;;:::o;4856:806::-;4905:5;4935:8;4925:80;;-1:-1:-1;4976:1:1;4990:5;;4925:80;5024:4;5014:76;;-1:-1:-1;5061:1:1;5075:5;;5014:76;5106:4;5124:1;5119:59;;;;5192:1;5187:130;;;;5099:218;;5119:59;5149:1;5140:10;;5163:5;;;5187:130;5224:3;5214:8;5211:17;5208:43;;;5231:18;;:::i;:::-;-1:-1:-1;;5287:1:1;5273:16;;5302:5;;5099:218;;5401:2;5391:8;5388:16;5382:3;5376:4;5373:13;5369:36;5363:2;5353:8;5350:16;5345:2;5339:4;5336:12;5332:35;5329:77;5326:159;;;-1:-1:-1;5438:19:1;;;5470:5;;5326:159;5517:34;5542:8;5536:4;5517:34;:::i;:::-;5587:6;5583:1;5579:6;5575:19;5566:7;5563:32;5560:58;;;5598:18;;:::i;:::-;5636:20;;4856:806;-1:-1:-1;;;4856:806:1:o;5667:140::-;5725:5;5754:47;5795:4;5785:8;5781:19;5775:4;5754:47;:::i;5812:168::-;5885:9;;;5916;;5933:15;;;5927:22;;5913:37;5903:71;;5954:18;;:::i;5985:356::-;6187:2;6169:21;;;6206:18;;;6199:30;6265:34;6260:2;6245:18;;6238:62;6332:2;6317:18;;5985:356::o;6346:127::-;6407:10;6402:3;6398:20;6395:1;6388:31;6438:4;6435:1;6428:15;6462:4;6459:1;6452:15;6478:135;6517:3;6538:17;;;6535:43;;6558:18;;:::i;:::-;-1:-1:-1;6605:1:1;6594:13;;6478:135::o;6970:251::-;7040:6;7093:2;7081:9;7072:7;7068:23;7064:32;7061:52;;;7109:1;7106;7099:12;7061:52;7141:9;7135:16;7160:31;7185:5;7160:31;:::i;8147:306::-;8235:6;8243;8251;8304:2;8292:9;8283:7;8279:23;8275:32;8272:52;;;8320:1;8317;8310:12;8272:52;8349:9;8343:16;8333:26;;8399:2;8388:9;8384:18;8378:25;8368:35;;8443:2;8432:9;8428:18;8422:25;8412:35;;8147:306;;;;;:::o;8737:277::-;8804:6;8857:2;8845:9;8836:7;8832:23;8828:32;8825:52;;;8873:1;8870;8863:12;8825:52;8905:9;8899:16;8958:5;8951:13;8944:21;8937:5;8934:32;8924:60;;8980:1;8977;8970:12;11401:125;11466:9;;;11487:10;;;11484:36;;;11500:18;;:::i;11886:128::-;11953:9;;;11974:11;;;11971:37;;;11988:18;;:::i;12019:217::-;12059:1;12085;12075:132;;12129:10;12124:3;12120:20;12117:1;12110:31;12164:4;12161:1;12154:15;12192:4;12189:1;12182:15;12075:132;-1:-1:-1;12221:9:1;;12019:217::o;12643:980::-;12905:4;12953:3;12942:9;12938:19;12984:6;12973:9;12966:25;13010:2;13048:6;13043:2;13032:9;13028:18;13021:34;13091:3;13086:2;13075:9;13071:18;13064:31;13115:6;13150;13144:13;13181:6;13173;13166:22;13219:3;13208:9;13204:19;13197:26;;13258:2;13250:6;13246:15;13232:29;;13279:1;13289:195;13303:6;13300:1;13297:13;13289:195;;;13368:13;;-1:-1:-1;;;;;13364:39:1;13352:52;;13459:15;;;;13424:12;;;;13400:1;13318:9;13289:195;;;-1:-1:-1;;;;;;;13540:32:1;;;;13535:2;13520:18;;13513:60;-1:-1:-1;;;13604:3:1;13589:19;13582:35;13501:3;12643:980;-1:-1:-1;;;12643:980:1:o

Swarm Source

ipfs://f14517570d72a154cf62ddf324d62c3cc85bc6eeb2bb53554d94a9a38b83efe9

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.