ETH Price: $3,390.98 (+1.54%)

Contract

0xB44bCE8714Ada8076091719Ea65891a0c4479c1B
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve201372432024-06-21 2:54:23191 days ago1718938463IN
0xB44bCE87...0c4479c1B
0 ETH0.000136672.93822406
Approve181724502023-09-19 20:50:23466 days ago1695156623IN
0xB44bCE87...0c4479c1B
0 ETH0.000588212.71055945
Approve179450352023-08-18 23:45:23498 days ago1692402323IN
0xB44bCE87...0c4479c1B
0 ETH0.0006737214.48344002
Approve179439572023-08-18 20:08:47498 days ago1692389327IN
0xB44bCE87...0c4479c1B
0 ETH0.0011933725.8210454
Approve179438742023-08-18 19:52:11498 days ago1692388331IN
0xB44bCE87...0c4479c1B
0 ETH0.0014036730.13665902
Approve179437582023-08-18 19:28:35498 days ago1692386915IN
0xB44bCE87...0c4479c1B
0 ETH0.0012653727.20231421
Approve179437442023-08-18 19:25:47498 days ago1692386747IN
0xB44bCE87...0c4479c1B
0 ETH0.0013545629.11986568
Approve179436702023-08-18 19:10:47498 days ago1692385847IN
0xB44bCE87...0c4479c1B
0 ETH0.0023288550
Approve179436642023-08-18 19:09:35498 days ago1692385775IN
0xB44bCE87...0c4479c1B
0 ETH0.0015915534.43658066
Approve179436602023-08-18 19:08:47498 days ago1692385727IN
0xB44bCE87...0c4479c1B
0 ETH0.001623334.89702653
Approve179436512023-08-18 19:06:59498 days ago1692385619IN
0xB44bCE87...0c4479c1B
0 ETH0.0016533635.54330274
Approve179436302023-08-18 19:02:47498 days ago1692385367IN
0xB44bCE87...0c4479c1B
0 ETH0.0021512446.18688575
Approve179436292023-08-18 19:02:35498 days ago1692385355IN
0xB44bCE87...0c4479c1B
0 ETH0.0019656942.20322746
Approve179436102023-08-18 18:58:47498 days ago1692385127IN
0xB44bCE87...0c4479c1B
0 ETH0.0014551831.24267139
Approve179436062023-08-18 18:57:59498 days ago1692385079IN
0xB44bCE87...0c4479c1B
0 ETH0.0012630527.11767333
Approve179435942023-08-18 18:55:35498 days ago1692384935IN
0xB44bCE87...0c4479c1B
0 ETH0.0014554631.2486364
Approve179435922023-08-18 18:55:11498 days ago1692384911IN
0xB44bCE87...0c4479c1B
0 ETH0.0014589831.32424785
Approve179435772023-08-18 18:52:11498 days ago1692384731IN
0xB44bCE87...0c4479c1B
0 ETH0.001558433.45868735
Approve179435702023-08-18 18:50:47498 days ago1692384647IN
0xB44bCE87...0c4479c1B
0 ETH0.0015659433.8298417
Approve179435432023-08-18 18:44:59498 days ago1692384299IN
0xB44bCE87...0c4479c1B
0 ETH0.0014547831.23399816
Approve179435352023-08-18 18:43:23498 days ago1692384203IN
0xB44bCE87...0c4479c1B
0 ETH0.0013374328.75146311
Approve179435142023-08-18 18:39:11498 days ago1692383951IN
0xB44bCE87...0c4479c1B
0 ETH0.0015141232.55
Approve179435102023-08-18 18:38:23498 days ago1692383903IN
0xB44bCE87...0c4479c1B
0 ETH0.0015049432.31081198
Approve179435092023-08-18 18:38:11498 days ago1692383891IN
0xB44bCE87...0c4479c1B
0 ETH0.0015085532.38851583
Approve179435092023-08-18 18:38:11498 days ago1692383891IN
0xB44bCE87...0c4479c1B
0 ETH0.0023469450.38851583
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
181724512023-09-19 20:50:35466 days ago1695156635
0xB44bCE87...0c4479c1B
0.00081793 ETH
181724512023-09-19 20:50:35466 days ago1695156635
0xB44bCE87...0c4479c1B
0.00081793 ETH
179473992023-08-19 7:41:11498 days ago1692430871
0xB44bCE87...0c4479c1B
0.00047614 ETH
179473992023-08-19 7:41:11498 days ago1692430871
0xB44bCE87...0c4479c1B
0.00047614 ETH
179454472023-08-19 1:08:23498 days ago1692407303
0xB44bCE87...0c4479c1B
0.00032457 ETH
179454472023-08-19 1:08:23498 days ago1692407303
0xB44bCE87...0c4479c1B
0.00032457 ETH
179450552023-08-18 23:49:23498 days ago1692402563
0xB44bCE87...0c4479c1B
0.00067367 ETH
179450552023-08-18 23:49:23498 days ago1692402563
0xB44bCE87...0c4479c1B
0.00067367 ETH
179448942023-08-18 23:17:11498 days ago1692400631
0xB44bCE87...0c4479c1B
0.00084436 ETH
179448942023-08-18 23:17:11498 days ago1692400631
0xB44bCE87...0c4479c1B
0.00084436 ETH
179447722023-08-18 22:52:47498 days ago1692399167
0xB44bCE87...0c4479c1B
0.00088139 ETH
179447722023-08-18 22:52:47498 days ago1692399167
0xB44bCE87...0c4479c1B
0.00088139 ETH
179439512023-08-18 20:07:35498 days ago1692389255
0xB44bCE87...0c4479c1B
0.00312144 ETH
179439512023-08-18 20:07:35498 days ago1692389255
0xB44bCE87...0c4479c1B
0.00312144 ETH
179437462023-08-18 19:26:11498 days ago1692386771
0xB44bCE87...0c4479c1B
0.00023305 ETH
179437462023-08-18 19:26:11498 days ago1692386771
0xB44bCE87...0c4479c1B
0.00023305 ETH
179437332023-08-18 19:23:35498 days ago1692386615
0xB44bCE87...0c4479c1B
0.00043198 ETH
179437332023-08-18 19:23:35498 days ago1692386615
0xB44bCE87...0c4479c1B
0.00043198 ETH
179436992023-08-18 19:16:47498 days ago1692386207
0xB44bCE87...0c4479c1B
0.00114858 ETH
179436992023-08-18 19:16:47498 days ago1692386207
0xB44bCE87...0c4479c1B
0.00114858 ETH
179436972023-08-18 19:16:23498 days ago1692386183
0xB44bCE87...0c4479c1B
0.00114858 ETH
179436972023-08-18 19:16:23498 days ago1692386183
0xB44bCE87...0c4479c1B
0.00114858 ETH
179436962023-08-18 19:15:59498 days ago1692386159
0xB44bCE87...0c4479c1B
0.00617783 ETH
179436962023-08-18 19:15:59498 days ago1692386159
0xB44bCE87...0c4479c1B
0.00617783 ETH
179436792023-08-18 19:12:35498 days ago1692385955
0xB44bCE87...0c4479c1B
0.01445646 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
KUWO

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-18
*/

/**                                         
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⣶⣶⣦⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣶⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠤⣄⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⣤⣤⣤⣶⣦⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣦⣄⠀⠀⠀⠀⠀⠀⠀⠀⠘⢯⣗⣲⣤⣠⣤⣶⣾⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠋⠉⠀⠀⠀⠀⠀⢀⡤⠖⠚⠉⠉⠉⠉⠙⠻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⣠⣤⣶⣶⣶⡆⠀⠀⠀⠀⠀⠀⢻⣿⣿⣿⣿⣿⣿⠛⠀⠀⠀⢀⡀⠀⠀⠐⠚⠁⣀⠀⠀⠀⣴⠚⠉⠀⠀⠀⠉⠻⣿⣿⣿⣿⣿⣿⣿⠃⠀⠀⠀⠀
⠀⠀⠀⠀⠀⣤⣾⣿⣿⣿⣿⣿⡟⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⡿⠛⠁⠀⠀⢀⡴⠋⠀⠀⠀⢀⣠⠚⠁⢀⣴⠖⠁⠀⢰⠀⢰⡀⠀⠀⠈⠻⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀
⠀⠀⠀⢠⣾⣿⣿⣿⣿⣿⣿⡟⠁⠀⠀⠀⠀⠀⠀⢸⣿⣿⡟⠑⠀⠀⠀⣠⠟⠀⠀⠀⠀⣠⠞⠁⠀⣠⠞⠁⠀⠀⢠⡟⠀⢸⣧⠀⠀⢀⠀⠈⢿⣿⣿⠀⠀⠀⠀⠀⠀
⠀⠀⣠⣿⣿⣿⣿⣿⣿⣿⠋⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⠏⠀⠀⠀⠀⣰⠋⠀⠀⠀⢠⡾⠃⠀⢀⣴⠋⠀⠀⠀⣴⢿⠃⠀⡎⠹⣧⠀⠈⣷⡀⠈⣿⡇⠀⠀⠀⠀⠀⠀
⠀⢰⣿⣿⣿⣿⣿⣿⡟⠁⠀⠀⠀⠀⠀⠀⠀⠀⣰⣶⠇⠀⠀⢀⡇⣰⠇⡔⠀⠀⣰⡟⠁⠀⣠⣾⠃⠀⠀⢀⡞⢁⡟⠀⣼⠁⠀⢻⡦⠄⠸⣷⠀⢹⣸⠀⠀⠀⠀⠀⠀
⠀⣾⣿⣿⣿⣿⣿⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⡏⠀⠀⠀⣼⢁⣏⡞⠀⢀⣼⠏⠀⣴⡿⢣⠏⠀⢀⣾⠋⠀⡼⠁⣼⠃⠀⠀⢸⣷⢤⣤⣿⠀⠈⣿⠀⠀⠀⠀⠀⠀
⢰⣿⣿⣿⣿⣿⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣿⣿⠀⠐⠀⢰⠇⡾⠺⣄⣰⠋⡏⣠⣾⡟⠁⡞⠀⣰⣿⠃⠀⣰⢃⡼⠁⠀⠀⠀⢸⢳⡶⠒⣿⠀⠀⣿⠀⠀⠀⠀⠀⠀
⢸⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠶⠋⣾⡈⢠⣄⣀⣸⣰⡇⢀⡼⠙⢾⣴⣫⠏⠀⢠⠇⡴⠁⠃⠀⣰⣧⠞⠁⠀⠀⠀⠀⢸⠀⡇⠀⡇⠀⢀⢸⡀⠀⠀⠀⠀⠀
⢸⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⡇⢸⣿⣿⠛⣿⣿⠿⢷⣶⣿⣶⣿⣭⣶⣾⣿⣁⣀⡀⣼⣽⡧⠶⠒⠉⠉⠉⠀⡎⢰⡇⢸⠁⠀⡞⢸⠀⠀⠀⠀⠀⠀
⠸⣿⣿⣿⣿⣿⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡇⢸⣿⣿⡀⢹⡟⢀⠀⣿⡏⢸⣿⣿⠏⠉⣿⣿⣿⡿⢿⣿⡿⠿⣶⣶⣶⣶⣾⣥⣼⣇⣞⣆⣸⠁⣿⠀⠀⠀⠀⠀⠀
⠀⣿⣿⣿⣿⣿⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀⣴⢏⣇⣾⣿⣿⡇⠸⢀⣿⠀⡏⢀⣿⣿⠏⣰⡇⢸⣿⣿⠁⢸⣿⠁⣷⣶⣤⣾⡟⠉⣿⣿⡟⢹⣿⡏⣼⣿⠀⠀⠀⠀⠀⠀
⠀⢸⣿⣿⣿⣿⣿⣷⡄⠀⠀⠀⠀⠀⠀⡼⡃⢸⣿⣿⣿⣿⣇⣀⣼⣿⡇⠀⣼⣿⠋⢀⣉⣉⠀⢿⣿⠀⣸⡟⠀⣉⣉⣹⣿⡇⢰⣿⣿⠃⢸⣿⡿⠋⣿⡆⠀⠀⠀⠀⠀
⠀⠀⠻⣿⣿⣿⣿⣿⣿⣦⡀⠀⠀⢠⠞⣹⢡⣿⢻⡏⢹⢿⣿⣟⠛⠻⠿⠿⠿⠷⣶⣿⣿⣿⣦⣸⣯⣀⣿⡇⢀⣿⣿⣿⣿⡇⠸⣿⡿⠀⣾⣿⠁⢰⣿⣷⡀⠀⠀⠀⠀
⠀⠀⠀⠙⢿⣿⣿⣿⣿⣿⣿⣶⣴⠏⢀⣧⡿⣿⠸⣿⠸⣎⢻⣿⡻⣄⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠉⠉⠛⠛⠻⠿⠿⠿⢿⣿⣶⣤⣤⣾⣿⣿⢀⣿⠉⢧⡻⠄⠀⠀⠀
⠀⠀⠀⠀⠈⠙⢿⣿⣿⣿⣿⣿⣿⠀⣾⡟⠀⣿⠀⢻⡇⢹⣆⠹⣧⠈⠳⠦⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡤⢺⣿⡟⠉⣹⣿⣾⢿⡄⠈⢳⡀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠉⠻⢿⣿⣿⡏⡀⣿⠁⠀⠸⣧⠈⢷⢸⢻⣷⣬⣷⣀⠀⠀⠀⠀⢰⣶⣾⣯⣽⣳⣦⣤⠀⠀⠀⠀⠀⠀⣠⡿⢋⣠⣾⡷⢛⢻⣿⣇⡇⢸⣿⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⢇⠙⠾⣆⠀⠀⠘⢷⣿⡟⢀⡙⢧⣿⣿⣛⠲⠄⠀⠸⣿⡏⠀⠀⢙⣿⡇⠀⠀⠦⠤⢤⣶⣯⣾⢟⣫⡿⠁⣎⡾⠈⣿⢧⡞⢸⠇⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠴⠚⢧⡀⠈⠓⠄⢀⡴⠋⠙⠷⣶⡶⠾⣿⣿⣿⣃⡀⠀⠉⢅⣀⣀⣘⡿⠁⠀⠀⣀⣴⣿⡿⠟⣻⡿⠋⢀⣾⣟⡁⢠⣿⠟⣠⡟⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡏⠀⠀⠀⠉⠓⠶⠦⣤⣀⡠⢤⣀⣈⣽⡳⠯⣿⣿⣿⣿⣾⣄⡀⠀⠀⢀⣀⣤⣶⣿⡿⢟⡥⠴⠾⢥⣤⠞⣻⠋⠀⠙⣿⡵⢟⡁⠻⢤⡀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⢹⠀⠀⢠⠀⠀⠀⠀⣀⣀⡉⠛⡿⠋⠀⣿⣄⢸⡿⣇⠹⣿⣿⣿⣿⣿⣿⣿⣿⠟⠉⠉⣙⣇⠀⠀⠀⠙⡾⠁⠀⠀⣠⠋⠉⢳⡙⠲⣄⠁⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⠈⡆⠀⠘⡇⠀⠀⢸⡁⠀⠙⣾⠁⠀⢸⠉⠻⣆⡇⢹⣀⠈⠙⢿⣿⣿⣿⢿⡏⠀⣠⠞⣡⢜⣳⡄⠀⢰⠁⠀⣠⠞⠁⠀⣠⠞⠉⡇⠈⢳⡀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⠀⠸⡄⠀⢹⡀⣤⠒⢧⡀⠀⠈⣇⠀⢸⡀⠀⢹⠇⣼⠉⢙⠦⢄⣈⡉⠀⠼⡄⣼⠃⣴⡟⠋⢹⠇⠀⣼⠀⢠⠇⠀⣠⠾⠁⠀⠀⠛⠀⠀⣷
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠼⡆⠀⠱⡄⠀⡧⢿⡀⠀⠳⡄⠀⠸⡦⠀⢳⣴⣫⠾⠛⣷⣸⡀⠀⢂⠀⠀⠀⣻⣿⣰⠋⠀⠀⣿⠀⠀⠹⠤⢾⣀⡾⠁⢀⡠⠀⠀⠀⠀⠀⡿
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡅⠀⠙⣄⠀⠙⢦⡀⣿⠀⠀⢹⡀⣀⣀⣼⡍⠻⠿⠙⢶⠞⠛⠉⣻⣿⠀⠀⠀⠘⢦⡀⠀⠀⠀⠈⠛⠒⠻⠄⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠛⠳⠆⠈⠳⠤⠨⠗⠛⠀⠀⠀⠏⠻⠇⠼⠁⠂⠀⠀⠀⠃⠀⠸⠋⠿⠷⠄⠀⠰⠃⠙⠲⠤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀

$𝕂𝕌𝕎𝕆 𝕚𝕤 𝕒 𝕤𝕒𝕟𝕔𝕥𝕦𝕒𝕣𝕪 𝕠𝕗 𝕔𝕒𝕝𝕞 𝕒𝕟𝕕 𝕘𝕠𝕠𝕕 𝕧𝕚𝕓𝕖𝕤 𝕔𝕠𝕞𝕓𝕚𝕟𝕚𝕟𝕘 𝕎𝕒𝕚𝕗𝕦’𝕤 𝕒𝕟𝕕 𝕔𝕙𝕚𝕝𝕝 𝕃𝕠𝕗𝕚 𝕓𝕖𝕒𝕥𝕤 𝕥𝕠 𝕡𝕣𝕠𝕧𝕚𝕕𝕖 
𝕒 𝕣𝕖𝕝𝕒𝕩𝕚𝕟𝕘 𝕖𝕩𝕡𝕖𝕣𝕚𝕖𝕟𝕔𝕖 𝕥𝕙𝕒𝕥 𝕔𝕠𝕦𝕟𝕥𝕖𝕣𝕓𝕒𝕝𝕒𝕟𝕔𝕖𝕤 𝕥𝕙𝕖 𝕔𝕙𝕒𝕠𝕥𝕚𝕔 𝕟𝕒𝕥𝕦𝕣𝕖 𝕠𝕗 𝕥𝕙𝕖 𝕔𝕣𝕪𝕡𝕥𝕠𝕔𝕦𝕣𝕣𝕖𝕟𝕔𝕪 𝕞𝕒𝕣𝕜𝕖𝕥.

Website: http://kuwo-erc.net/
Telegram: https://t.me/kuwoERC
Twitter: https://twitter.com/kuwo_erc
**/

// 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: Only the owner has permission to execute this function.");
        _;
    }

    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 KUWO 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;
    mapping(address => uint256) private _holderLastTransferTimestamp;
    bool public transferDelayEnabled = false;
    address payable private _taxWallet;

    uint256 private _buyStartTax = 10+15;
    uint256 private _sellStartTax = 15+10;
    uint256 private _buyFinalTax=3;
    uint256 private _finalSellTax=3;
    uint256 private _reduceBuyTaxAt=20;
    uint256 private _sellTaxReduceAt=20;
    uint256 private _preventSwapBefore=30;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 8;
    uint256 private constant _tTotal = 5550000000 * 10**_decimals;
    string private constant _name = unicode"KUWO";
    string private constant _symbol = unicode"KUWO";
    uint256 public _txMaxAmount =   111000000 * 10**_decimals;
    uint256 public _maxWalletSize = 111000000 * 10**_decimals;
    uint256 public _taxSwapThreshold = 0 * 10**_decimals;
    uint256 public _taxMaxSwap= 44400000 * 10**_decimals;

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

    event MaxTxAmountUpdated(uint _txMaxAmount);
    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 quantity surpasses permitted limit."));
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: Approval cannot originate from a null address.");
        require(spender != address(0), "ERC20: Approval cannot be granted to a null 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, "The transfer amount should be more than zero.");
        uint256 taxAmount=0;
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);

            if (transferDelayEnabled) {
                if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) {
                  require(_holderLastTransferTimestamp[tx.origin] < block.number,"Only one transfer permitted per block.");
                  _holderLastTransferTimestamp[tx.origin] = block.number;
                }
            }

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _txMaxAmount, "Surpasses the maximum transaction amount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Surpasses the maximum wallet capacity.");
                if(_buyCount<_preventSwapBefore){
                  require(!isContract(to));
                }
                _buyCount++;
            }


            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_buyFinalTax:_buyStartTax).div(100);
            if(to == uniswapV2Pair && from!= address(this) ){
                require(amount <= _txMaxAmount, "Exceeds the _txMaxAmount.");
                taxAmount = amount.mul((_buyCount>_sellTaxReduceAt)?_finalSellTax:_sellStartTax ).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) {
                swapTokensForEth(min(amount,min(contractTokenBalance,_taxMaxSwap)));
                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 swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        if(tokenAmount==0){return;}
        if(!tradingOpen){return;}
        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{
        _txMaxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        transferDelayEnabled=false;
        emit MaxTxAmountUpdated(_tTotal);
    }

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

    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;
    }


    receive() external payable {}

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

    function manualSwap() external {
        require(_msgSender()==_taxWallet);
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance>0){
          swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          sendETHToFee(ethBalance);
        }
    }
}

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":"_txMaxAmount","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":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxMaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_txMaxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","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":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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"}]

60806040526006805460ff1916905560196007819055600890815560036009819055600a9081556014600b819055600c55601e600d555f600e5562000045919062000344565b620000559063069db9c06200035b565b600f55620000666008600a62000344565b620000769063069db9c06200035b565b601055620000876008600a62000344565b62000093905f6200035b565b601155620000a46008600a62000344565b620000b4906302a57d806200035b565b6012556014805461ffff60a81b19169055348015620000d1575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060068054610100600160a81b0319166101003302179055620001376008600a62000344565b620001489064014ace47806200035b565b335f908152600160208190526040822092909255600390620001715f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff1996871617905530815260039093528183208054851660019081179091556006546101009004909116835291208054909216179055620001d43390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200020d6008600a62000344565b6200021e9064014ace47806200035b565b60405190815260200160405180910390a362000375565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200028957815f19048211156200026d576200026d62000235565b808516156200027b57918102915b93841c93908002906200024e565b509250929050565b5f82620002a1575060016200033e565b81620002af57505f6200033e565b8160018114620002c85760028114620002d357620002f3565b60019150506200033e565b60ff841115620002e757620002e762000235565b50506001821b6200033e565b5060208310610133831016604e8410600b841016171562000318575081810a6200033e565b62000324838362000249565b805f19048211156200033a576200033a62000235565b0290505b92915050565b5f6200035460ff84168362000291565b9392505050565b80820281158282048414176200033e576200033e62000235565b61192580620003835f395ff3fe60806040526004361061011e575f3560e01c8063751039fc1161009d578063bf474bed11610062578063bf474bed14610307578063bfdbeb8f1461031c578063c876d0b914610331578063c9567bf91461034a578063dd62ed3e1461035e575f80fd5b8063751039fc146102995780638da5cb5b146102ad5780638f9a55c0146102d357806395d89b4114610129578063a9059cbb146102e8575f80fd5b8063313ce567116100e3578063313ce567146101e95780633bbac5791461020457806351bc3c851461023b57806370a0823114610251578063715018a614610285575f80fd5b806306fdde0314610129578063095ea7b31461016457806318160ddd146101935780631ea9a81b146101b557806323b872dd146101ca575f80fd5b3661012557005b5f80fd5b348015610134575f80fd5b5060408051808201825260048152634b55574f60e01b6020820152905161015b91906114e4565b60405180910390f35b34801561016f575f80fd5b5061018361017e366004611546565b6103a2565b604051901515815260200161015b565b34801561019e575f80fd5b506101a76103b8565b60405190815260200161015b565b3480156101c0575f80fd5b506101a760125481565b3480156101d5575f80fd5b506101836101e4366004611570565b6103d9565b3480156101f4575f80fd5b506040516008815260200161015b565b34801561020f575f80fd5b5061018361021e3660046115ae565b6001600160a01b03165f9081526004602052604090205460ff1690565b348015610246575f80fd5b5061024f610440565b005b34801561025c575f80fd5b506101a761026b3660046115ae565b6001600160a01b03165f9081526001602052604090205490565b348015610290575f80fd5b5061024f610496565b3480156102a4575f80fd5b5061024f610510565b3480156102b8575f80fd5b505f546040516001600160a01b03909116815260200161015b565b3480156102de575f80fd5b506101a760105481565b3480156102f3575f80fd5b50610183610302366004611546565b6105ce565b348015610312575f80fd5b506101a760115481565b348015610327575f80fd5b506101a7600f5481565b34801561033c575f80fd5b506006546101839060ff1681565b348015610355575f80fd5b5061024f6105da565b348015610369575f80fd5b506101a76103783660046115c9565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6103ae338484610984565b5060015b92915050565b5f6103c56008600a6116f4565b6103d49064014ace4780611702565b905090565b5f6103e5848484610acb565b6104368433610431856040518060600160405280603381526020016118bd603391396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611143565b610984565b5060019392505050565b60065461010090046001600160a01b0316336001600160a01b031614610464575f80fd5b305f908152600160205260409020548015610482576104828161117b565b4780156104925761049281611304565b5050565b5f546001600160a01b031633146104c85760405162461bcd60e51b81526004016104bf90611719565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105395760405162461bcd60e51b81526004016104bf90611719565b6105456008600a6116f4565b6105549064014ace4780611702565b600f556105636008600a6116f4565b6105729064014ace4780611702565b6010556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105ac6008600a6116f4565b6105bb9064014ace4780611702565b60405190815260200160405180910390a1565b5f6103ae338484610acb565b5f546001600160a01b031633146106035760405162461bcd60e51b81526004016104bf90611719565b601454600160a01b900460ff161561065d5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104bf565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556106a79030906106986008600a6116f4565b6104319064014ace4780611702565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106f7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061071b9190611777565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561077a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061079e9190611777565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156107e8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061080c9190611777565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d7194730610853816001600160a01b03165f9081526001602052604090205490565b5f806108665f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156108cc573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906108f19190611792565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610946573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061096a91906117bd565b506014805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b0383166109f85760405162461bcd60e51b815260206004820152603560248201527f45524332303a20417070726f76616c2063616e6e6f74206f726967696e61746560448201527410333937b6903090373ab6361030b2323932b9b99760591b60648201526084016104bf565b6001600160a01b038216610a6b5760405162461bcd60e51b815260206004820152603460248201527f45524332303a20417070726f76616c2063616e6e6f74206265206772616e746560448201527332103a37903090373ab6361030b2323932b9b99760611b60648201526084016104bf565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b2f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104bf565b6001600160a01b038216610b915760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104bf565b5f8111610bf65760405162461bcd60e51b815260206004820152602d60248201527f546865207472616e7366657220616d6f756e742073686f756c64206265206d6f60448201526c3932903a3430b7103d32b9379760991b60648201526084016104bf565b5f80546001600160a01b03858116911614801590610c2157505f546001600160a01b03848116911614155b15611006576001600160a01b0384165f9081526004602052604090205460ff16158015610c6657506001600160a01b0383165f9081526004602052604090205460ff16155b610c6e575f80fd5b60065460ff1615610d28576013546001600160a01b03848116911614801590610ca557506014546001600160a01b03848116911614155b15610d2857325f908152600560205260409020544311610d165760405162461bcd60e51b815260206004820152602660248201527f4f6e6c79206f6e65207472616e73666572207065726d69747465642070657220604482015265313637b1b59760d11b60648201526084016104bf565b325f9081526005602052604090204390555b6014546001600160a01b038581169116148015610d5357506013546001600160a01b03848116911614155b8015610d7757506001600160a01b0383165f9081526003602052604090205460ff16155b15610e9557600f54821115610de05760405162461bcd60e51b815260206004820152602960248201527f53757270617373657320746865206d6178696d756d207472616e73616374696f604482015268371030b6b7bab73a1760b91b60648201526084016104bf565b60105482610e02856001600160a01b03165f9081526001602052604090205490565b610e0c91906117dc565b1115610e695760405162461bcd60e51b815260206004820152602660248201527f53757270617373657320746865206d6178696d756d2077616c6c65742063617060448201526530b1b4ba3c9760d11b60648201526084016104bf565b600d54600e541015610e8057823b15610e80575f80fd5b600e8054905f610e8f836117ef565b91905055505b610ec16064610ebb600b54600e5411610eb057600754610eb4565b6009545b859061133f565b906113c4565b6014549091506001600160a01b038481169116148015610eea57506001600160a01b0384163014155b15610f6957600f54821115610f415760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f74784d6178416d6f756e742e0000000000000060448201526064016104bf565b610f666064610ebb600c54600e5411610f5c57600854610eb4565b600a54859061133f565b90505b305f90815260016020526040902054601454600160a81b900460ff16158015610f9f57506014546001600160a01b038581169116145b8015610fb45750601454600160b01b900460ff165b8015610fc1575060115481115b8015610fd05750600d54600e54115b1561100457610ff2610fed84610fe884601254611405565b611405565b61117b565b4780156110025761100247611304565b505b505b801561107e57305f908152600160205260409020546110259082611419565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110759085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546110a09083611477565b6001600160a01b0385165f908152600160205260409020556110e36110c58383611477565b6001600160a01b0385165f9081526001602052604090205490611419565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61112c8585611477565b60405190815260200160405180910390a350505050565b5f81848411156111665760405162461bcd60e51b81526004016104bf91906114e4565b505f6111728486611807565b95945050505050565b6014805460ff60a81b1916600160a81b17905580156112f457601454600160a01b900460ff16156112f4576040805160028082526060820183525f9260208301908036833701905050905030815f815181106111d9576111d961181a565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611230573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112549190611777565b816001815181106112675761126761181a565b6001600160a01b03928316602091820292909201015260135461128d9130911684610984565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906112c59085905f9086903090429060040161182e565b5f604051808303815f87803b1580156112dc575f80fd5b505af11580156112ee573d5f803e3d5ffd5b50505050505b506014805460ff60a81b19169055565b6006546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f19350505050158015610492573d5f803e3d5ffd5b5f825f0361134e57505f6103b2565b5f6113598385611702565b905082611366858361189d565b146113bd5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104bf565b9392505050565b5f6113bd83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506114b8565b5f81831161141357826113bd565b50919050565b5f8061142583856117dc565b9050838110156113bd5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104bf565b5f6113bd83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611143565b5f81836114d85760405162461bcd60e51b81526004016104bf91906114e4565b505f611172848661189d565b5f6020808352835180828501525f5b8181101561150f578581018301518582016040015282016114f3565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611543575f80fd5b50565b5f8060408385031215611557575f80fd5b82356115628161152f565b946020939093013593505050565b5f805f60608486031215611582575f80fd5b833561158d8161152f565b9250602084013561159d8161152f565b929592945050506040919091013590565b5f602082840312156115be575f80fd5b81356113bd8161152f565b5f80604083850312156115da575f80fd5b82356115e58161152f565b915060208301356115f58161152f565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561164e57815f190482111561163457611634611600565b8085161561164157918102915b93841c9390800290611619565b509250929050565b5f82611664575060016103b2565b8161167057505f6103b2565b81600181146116865760028114611690576116ac565b60019150506103b2565b60ff8411156116a1576116a1611600565b50506001821b6103b2565b5060208310610133831016604e8410600b84101617156116cf575081810a6103b2565b6116d98383611614565b805f19048211156116ec576116ec611600565b029392505050565b5f6113bd60ff841683611656565b80820281158282048414176103b2576103b2611600565b602080825260409082018190527f4f776e61626c653a204f6e6c7920746865206f776e657220686173207065726d908201527f697373696f6e20746f206578656375746520746869732066756e6374696f6e2e606082015260800190565b5f60208284031215611787575f80fd5b81516113bd8161152f565b5f805f606084860312156117a4575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156117cd575f80fd5b815180151581146113bd575f80fd5b808201808211156103b2576103b2611600565b5f6001820161180057611800611600565b5060010190565b818103818111156103b2576103b2611600565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b8181101561187c5784516001600160a01b031683529383019391830191600101611857565b50506001600160a01b03969096166060850152505050608001529392505050565b5f826118b757634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a205472616e73666572207175616e7469747920737572706173736573207065726d6974746564206c696d69742ea2646970667358221220a7951d85dcba5e86654d411f0e4c66649e3f191b0624d3ddbd87eebbe892412d64736f6c63430008140033

Deployed Bytecode

0x60806040526004361061011e575f3560e01c8063751039fc1161009d578063bf474bed11610062578063bf474bed14610307578063bfdbeb8f1461031c578063c876d0b914610331578063c9567bf91461034a578063dd62ed3e1461035e575f80fd5b8063751039fc146102995780638da5cb5b146102ad5780638f9a55c0146102d357806395d89b4114610129578063a9059cbb146102e8575f80fd5b8063313ce567116100e3578063313ce567146101e95780633bbac5791461020457806351bc3c851461023b57806370a0823114610251578063715018a614610285575f80fd5b806306fdde0314610129578063095ea7b31461016457806318160ddd146101935780631ea9a81b146101b557806323b872dd146101ca575f80fd5b3661012557005b5f80fd5b348015610134575f80fd5b5060408051808201825260048152634b55574f60e01b6020820152905161015b91906114e4565b60405180910390f35b34801561016f575f80fd5b5061018361017e366004611546565b6103a2565b604051901515815260200161015b565b34801561019e575f80fd5b506101a76103b8565b60405190815260200161015b565b3480156101c0575f80fd5b506101a760125481565b3480156101d5575f80fd5b506101836101e4366004611570565b6103d9565b3480156101f4575f80fd5b506040516008815260200161015b565b34801561020f575f80fd5b5061018361021e3660046115ae565b6001600160a01b03165f9081526004602052604090205460ff1690565b348015610246575f80fd5b5061024f610440565b005b34801561025c575f80fd5b506101a761026b3660046115ae565b6001600160a01b03165f9081526001602052604090205490565b348015610290575f80fd5b5061024f610496565b3480156102a4575f80fd5b5061024f610510565b3480156102b8575f80fd5b505f546040516001600160a01b03909116815260200161015b565b3480156102de575f80fd5b506101a760105481565b3480156102f3575f80fd5b50610183610302366004611546565b6105ce565b348015610312575f80fd5b506101a760115481565b348015610327575f80fd5b506101a7600f5481565b34801561033c575f80fd5b506006546101839060ff1681565b348015610355575f80fd5b5061024f6105da565b348015610369575f80fd5b506101a76103783660046115c9565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6103ae338484610984565b5060015b92915050565b5f6103c56008600a6116f4565b6103d49064014ace4780611702565b905090565b5f6103e5848484610acb565b6104368433610431856040518060600160405280603381526020016118bd603391396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611143565b610984565b5060019392505050565b60065461010090046001600160a01b0316336001600160a01b031614610464575f80fd5b305f908152600160205260409020548015610482576104828161117b565b4780156104925761049281611304565b5050565b5f546001600160a01b031633146104c85760405162461bcd60e51b81526004016104bf90611719565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105395760405162461bcd60e51b81526004016104bf90611719565b6105456008600a6116f4565b6105549064014ace4780611702565b600f556105636008600a6116f4565b6105729064014ace4780611702565b6010556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105ac6008600a6116f4565b6105bb9064014ace4780611702565b60405190815260200160405180910390a1565b5f6103ae338484610acb565b5f546001600160a01b031633146106035760405162461bcd60e51b81526004016104bf90611719565b601454600160a01b900460ff161561065d5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104bf565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556106a79030906106986008600a6116f4565b6104319064014ace4780611702565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106f7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061071b9190611777565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561077a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061079e9190611777565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156107e8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061080c9190611777565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d7194730610853816001600160a01b03165f9081526001602052604090205490565b5f806108665f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156108cc573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906108f19190611792565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610946573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061096a91906117bd565b506014805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b0383166109f85760405162461bcd60e51b815260206004820152603560248201527f45524332303a20417070726f76616c2063616e6e6f74206f726967696e61746560448201527410333937b6903090373ab6361030b2323932b9b99760591b60648201526084016104bf565b6001600160a01b038216610a6b5760405162461bcd60e51b815260206004820152603460248201527f45524332303a20417070726f76616c2063616e6e6f74206265206772616e746560448201527332103a37903090373ab6361030b2323932b9b99760611b60648201526084016104bf565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b2f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104bf565b6001600160a01b038216610b915760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104bf565b5f8111610bf65760405162461bcd60e51b815260206004820152602d60248201527f546865207472616e7366657220616d6f756e742073686f756c64206265206d6f60448201526c3932903a3430b7103d32b9379760991b60648201526084016104bf565b5f80546001600160a01b03858116911614801590610c2157505f546001600160a01b03848116911614155b15611006576001600160a01b0384165f9081526004602052604090205460ff16158015610c6657506001600160a01b0383165f9081526004602052604090205460ff16155b610c6e575f80fd5b60065460ff1615610d28576013546001600160a01b03848116911614801590610ca557506014546001600160a01b03848116911614155b15610d2857325f908152600560205260409020544311610d165760405162461bcd60e51b815260206004820152602660248201527f4f6e6c79206f6e65207472616e73666572207065726d69747465642070657220604482015265313637b1b59760d11b60648201526084016104bf565b325f9081526005602052604090204390555b6014546001600160a01b038581169116148015610d5357506013546001600160a01b03848116911614155b8015610d7757506001600160a01b0383165f9081526003602052604090205460ff16155b15610e9557600f54821115610de05760405162461bcd60e51b815260206004820152602960248201527f53757270617373657320746865206d6178696d756d207472616e73616374696f604482015268371030b6b7bab73a1760b91b60648201526084016104bf565b60105482610e02856001600160a01b03165f9081526001602052604090205490565b610e0c91906117dc565b1115610e695760405162461bcd60e51b815260206004820152602660248201527f53757270617373657320746865206d6178696d756d2077616c6c65742063617060448201526530b1b4ba3c9760d11b60648201526084016104bf565b600d54600e541015610e8057823b15610e80575f80fd5b600e8054905f610e8f836117ef565b91905055505b610ec16064610ebb600b54600e5411610eb057600754610eb4565b6009545b859061133f565b906113c4565b6014549091506001600160a01b038481169116148015610eea57506001600160a01b0384163014155b15610f6957600f54821115610f415760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f74784d6178416d6f756e742e0000000000000060448201526064016104bf565b610f666064610ebb600c54600e5411610f5c57600854610eb4565b600a54859061133f565b90505b305f90815260016020526040902054601454600160a81b900460ff16158015610f9f57506014546001600160a01b038581169116145b8015610fb45750601454600160b01b900460ff165b8015610fc1575060115481115b8015610fd05750600d54600e54115b1561100457610ff2610fed84610fe884601254611405565b611405565b61117b565b4780156110025761100247611304565b505b505b801561107e57305f908152600160205260409020546110259082611419565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110759085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546110a09083611477565b6001600160a01b0385165f908152600160205260409020556110e36110c58383611477565b6001600160a01b0385165f9081526001602052604090205490611419565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61112c8585611477565b60405190815260200160405180910390a350505050565b5f81848411156111665760405162461bcd60e51b81526004016104bf91906114e4565b505f6111728486611807565b95945050505050565b6014805460ff60a81b1916600160a81b17905580156112f457601454600160a01b900460ff16156112f4576040805160028082526060820183525f9260208301908036833701905050905030815f815181106111d9576111d961181a565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611230573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112549190611777565b816001815181106112675761126761181a565b6001600160a01b03928316602091820292909201015260135461128d9130911684610984565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906112c59085905f9086903090429060040161182e565b5f604051808303815f87803b1580156112dc575f80fd5b505af11580156112ee573d5f803e3d5ffd5b50505050505b506014805460ff60a81b19169055565b6006546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f19350505050158015610492573d5f803e3d5ffd5b5f825f0361134e57505f6103b2565b5f6113598385611702565b905082611366858361189d565b146113bd5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104bf565b9392505050565b5f6113bd83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506114b8565b5f81831161141357826113bd565b50919050565b5f8061142583856117dc565b9050838110156113bd5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104bf565b5f6113bd83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611143565b5f81836114d85760405162461bcd60e51b81526004016104bf91906114e4565b505f611172848661189d565b5f6020808352835180828501525f5b8181101561150f578581018301518582016040015282016114f3565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611543575f80fd5b50565b5f8060408385031215611557575f80fd5b82356115628161152f565b946020939093013593505050565b5f805f60608486031215611582575f80fd5b833561158d8161152f565b9250602084013561159d8161152f565b929592945050506040919091013590565b5f602082840312156115be575f80fd5b81356113bd8161152f565b5f80604083850312156115da575f80fd5b82356115e58161152f565b915060208301356115f58161152f565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561164e57815f190482111561163457611634611600565b8085161561164157918102915b93841c9390800290611619565b509250929050565b5f82611664575060016103b2565b8161167057505f6103b2565b81600181146116865760028114611690576116ac565b60019150506103b2565b60ff8411156116a1576116a1611600565b50506001821b6103b2565b5060208310610133831016604e8410600b84101617156116cf575081810a6103b2565b6116d98383611614565b805f19048211156116ec576116ec611600565b029392505050565b5f6113bd60ff841683611656565b80820281158282048414176103b2576103b2611600565b602080825260409082018190527f4f776e61626c653a204f6e6c7920746865206f776e657220686173207065726d908201527f697373696f6e20746f206578656375746520746869732066756e6374696f6e2e606082015260800190565b5f60208284031215611787575f80fd5b81516113bd8161152f565b5f805f606084860312156117a4575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156117cd575f80fd5b815180151581146113bd575f80fd5b808201808211156103b2576103b2611600565b5f6001820161180057611800611600565b5060010190565b818103818111156103b2576103b2611600565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b8181101561187c5784516001600160a01b031683529383019391830191600101611857565b50506001600160a01b03969096166060850152505050608001529392505050565b5f826118b757634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a205472616e73666572207175616e7469747920737572706173736573207065726d6974746564206c696d69742ea2646970667358221220a7951d85dcba5e86654d411f0e4c66649e3f191b0624d3ddbd87eebbe892412d64736f6c63430008140033

Deployed Bytecode Sourcemap

9909:8503:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11841:83;;;;;;;;;;-1:-1:-1;11911:5:0;;;;;;;;;;;-1:-1:-1;;;11911:5:0;;;;11841:83;;;;11911:5;11841:83;:::i;:::-;;;;;;;;12676:161;;;;;;;;;;-1:-1:-1;12676:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;12676:161:0;1023:187:1;12118:95:0;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;12118:95:0;1215:177:1;11114:52:0;;;;;;;;;;;;;;;;12845:324;;;;;;;;;;-1:-1:-1;12845:324:0;;;;;:::i;:::-;;:::i;12027:83::-;;;;;;;;;;-1:-1:-1;12027:83:0;;10745:1;2000:36:1;;1988:2;1973:18;12027:83:0;1858:184:1;17049:83:0;;;;;;;;;;-1:-1:-1;17049:83:0;;;;;:::i;:::-;-1:-1:-1;;;;;17117:7:0;17096:4;17117:7;;;:4;:7;;;;;;;;;17049:83;18061:348;;;;;;;;;;;;;:::i;:::-;;12223:119;;;;;;;;;;-1:-1:-1;12223:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;12316:18:0;12289:7;12316:18;;;:9;:18;;;;;;;12223:119;8986:148;;;;;;;;;;;;;:::i;16745:196::-;;;;;;;;;;;;;:::i;8740:79::-;;;;;;;;;;-1:-1:-1;8778:7:0;8805:6;8740:79;;-1:-1:-1;;;;;8805:6:0;;;2445:51:1;;2433:2;2418:18;8740:79:0;2299:203:1;10991:57:0;;;;;;;;;;;;;;;;12350:167;;;;;;;;;;-1:-1:-1;12350:167:0;;;;;:::i;:::-;;:::i;11055:52::-;;;;;;;;;;;;;;;;10927:57;;;;;;;;;;;;;;;;10295:40;;;;;;;;;;-1:-1:-1;10295:40:0;;;;;;;;17140:671;;;;;;;;;;;;;:::i;12525:143::-;;;;;;;;;;-1:-1:-1;12525:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;12633:18:0;;;12606:7;12633:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;12525:143;12676:161;12751:4;12768:39;6573:10;12791:7;12800:6;12768:8;:39::i;:::-;-1:-1:-1;12825:4:0;12676:161;;;;;:::o;12118:95::-;12171:7;10801:13;10745:1;10801:2;:13;:::i;:::-;10788:26;;:10;:26;:::i;:::-;12191:14;;12118:95;:::o;12845:324::-;12943:4;12960:36;12970:6;12978:9;12989:6;12960:9;:36::i;:::-;13007:132;13016:6;6573:10;13038:100;13076:6;13038:100;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13038:19:0;;;;;;:11;:19;;;;;;;;6573:10;13038:33;;;;;;;;;;:37;:100::i;:::-;13007:8;:132::i;:::-;-1:-1:-1;13157:4:0;12845:324;;;;;:::o;18061:348::-;18125:10;;;;;-1:-1:-1;;;;;18125:10:0;6573;-1:-1:-1;;;;;18111:24:0;;18103:33;;;;;;18186:4;18147:20;12316:18;;;:9;:18;;;;;;18206:14;;18203:73;;18234:30;18251:12;18234:16;:30::i;:::-;18305:21;18340:12;;18337:65;;18366:24;18379:10;18366:12;:24::i;:::-;18092:317;;18061:348::o;8986:148::-;8867:6;;-1:-1:-1;;;;;8867:6:0;6573:10;8867:22;8859:99;;;;-1:-1:-1;;;8859:99:0;;;;;;;:::i;:::-;;;;;;;;;9093:1:::1;9077:6:::0;;9056:40:::1;::::0;-1:-1:-1;;;;;9077:6:0;;::::1;::::0;9056:40:::1;::::0;9093:1;;9056:40:::1;9124:1;9107:19:::0;;-1:-1:-1;;;;;;9107:19:0::1;::::0;;8986:148::o;16745:196::-;8867:6;;-1:-1:-1;;;;;8867:6:0;6573:10;8867:22;8859:99;;;;-1:-1:-1;;;8859:99:0;;;;;;;:::i;:::-;10801:13:::1;10745:1;10801:2;:13;:::i;:::-;10788:26;::::0;:10:::1;:26;:::i;:::-;16798:12;:22:::0;10801:13:::1;10745:1;10801:2;:13;:::i;:::-;10788:26;::::0;:10:::1;:26;:::i;:::-;16831:14;:22:::0;16864:20:::1;:26:::0;;-1:-1:-1;;16864:26:0::1;::::0;;16906:27:::1;10801:13;10745:1;-1:-1:-1::0;10801:13:0::1;:::i;:::-;10788:26;::::0;:10:::1;:26;:::i;:::-;16906:27;::::0;1361:25:1;;;1349:2;1334:18;16906:27:0::1;;;;;;;16745:196::o:0;12350:167::-;12428:4;12445:42;6573:10;12469:9;12480:6;12445:9;:42::i;17140:671::-;8867:6;;-1:-1:-1;;;;;8867:6:0;6573:10;8867:22;8859:99;;;;-1:-1:-1;;;8859:99:0;;;;;;;:::i;:::-;17204:11:::1;::::0;-1:-1:-1;;;17204:11:0;::::1;;;17203:12;17195:47;;;::::0;-1:-1:-1;;;17195:47:0;;5223:2:1;17195:47:0::1;::::0;::::1;5205:21:1::0;5262:2;5242:18;;;5235:30;5301:25;5281:18;;;5274:53;5344:18;;17195:47:0::1;5021:347:1::0;17195:47:0::1;17253:15;:80:::0;;-1:-1:-1;;;;;;17253:80:0::1;17290:42;17253:80:::0;;::::1;::::0;;;17344:58:::1;::::0;17361:4:::1;::::0;10801:13:::1;10745:1;10801:2;:13;:::i;:::-;10788:26;::::0;:10:::1;:26;:::i;17344:58::-;17447:15;;;;;;;;;-1:-1:-1::0;;;;;17447:15:0::1;-1:-1:-1::0;;;;;17447:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17429:55:0::1;;17493:4;17500:15;;;;;;;;;-1:-1:-1::0;;;;;17500:15:0::1;-1:-1:-1::0;;;;;17500:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17429:94;::::0;-1:-1:-1;;;;;;17429:94:0::1;::::0;;;;;;-1:-1:-1;;;;;5859:15:1;;;17429:94:0::1;::::0;::::1;5841:34:1::0;5911:15;;5891:18;;;5884:43;5776:18;;17429:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17413:13;:110:::0;;-1:-1:-1;;;;;17413:110:0;;::::1;-1:-1:-1::0;;;;;;17413:110:0;;::::1;;::::0;;17534:15:::1;::::0;::::1;:31;17573:21;17604:4;17610:24;17604:4:::0;-1:-1:-1;;;;;12316:18:0;12289:7;12316:18;;;:9;:18;;;;;;;12223:119;17610:24:::1;17635:1;17637::::0;17639:7:::1;8778::::0;8805:6;-1:-1:-1;;;;;8805:6:0;;8740:79;17639:7:::1;17534:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;17534:129:0;;;-1:-1:-1;;;;;6297:15:1;;;17534:129:0::1;::::0;::::1;6279:34:1::0;6329:18;;;6322:34;;;;6372:18;;;6365:34;;;;6415:18;;;6408:34;6479:15;;;6458:19;;;6451:44;17647:15:0::1;6511:19:1::0;;;6504:35;6213:19;;17534:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;17681:13:0::1;::::0;17712:15:::1;::::0;17674:71:::1;::::0;-1:-1:-1;;;17674:71:0;;-1:-1:-1;;;;;17712:15:0;;::::1;17674:71;::::0;::::1;7035:51:1::0;-1:-1:-1;;7102:18:1;;;7095:34;17681:13:0;::::1;::::0;-1:-1:-1;17674:29:0::1;::::0;7008:18:1;;17674:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;17756:11:0::1;:18:::0;;-1:-1:-1;;;;17785:18:0;-1:-1:-1;;;17785:18:0;;;17140:671::o;13177:370::-;-1:-1:-1;;;;;13270:19:0;;13262:85;;;;-1:-1:-1;;;13262:85:0;;7624:2:1;13262:85:0;;;7606:21:1;7663:2;7643:18;;;7636:30;7702:34;7682:18;;;7675:62;-1:-1:-1;;;7753:18:1;;;7746:51;7814:19;;13262:85:0;7422:417:1;13262:85:0;-1:-1:-1;;;;;13366:21:0;;13358:86;;;;-1:-1:-1;;;13358:86:0;;8046:2:1;13358:86:0;;;8028:21:1;8085:2;8065:18;;;8058:30;8124:34;8104:18;;;8097:62;-1:-1:-1;;;8175:18:1;;;8168:50;8235:19;;13358:86:0;7844:416:1;13358:86:0;-1:-1:-1;;;;;13455:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;13507:32;;1361:25:1;;;13507:32:0;;1334:18:1;13507:32:0;;;;;;;13177:370;;;:::o;13557:2509::-;-1:-1:-1;;;;;13645:18:0;;13637:68;;;;-1:-1:-1;;;13637:68:0;;8467:2:1;13637:68:0;;;8449:21:1;8506:2;8486:18;;;8479:30;8545:34;8525:18;;;8518:62;-1:-1:-1;;;8596:18:1;;;8589:35;8641:19;;13637:68:0;8265:401:1;13637:68:0;-1:-1:-1;;;;;13724:16:0;;13716:64;;;;-1:-1:-1;;;13716:64:0;;8873:2:1;13716:64:0;;;8855:21:1;8912:2;8892:18;;;8885:30;8951:34;8931:18;;;8924:62;-1:-1:-1;;;9002:18:1;;;8995:33;9045:19;;13716:64:0;8671:399:1;13716:64:0;13808:1;13799:6;:10;13791:68;;;;-1:-1:-1;;;13791:68:0;;9277:2:1;13791:68:0;;;9259:21:1;9316:2;9296:18;;;9289:30;9355:34;9335:18;;;9328:62;-1:-1:-1;;;9406:18:1;;;9399:43;9459:19;;13791:68:0;9075:409:1;13791:68:0;13870:17;8805:6;;-1:-1:-1;;;;;13904:15:0;;;8805:6;;13904:15;;;;:32;;-1:-1:-1;8778:7:0;8805:6;-1:-1:-1;;;;;13923:13:0;;;8805:6;;13923:13;;13904:32;13900:1810;;;-1:-1:-1;;;;;13962:10:0;;;;;;:4;:10;;;;;;;;13961:11;:24;;;;-1:-1:-1;;;;;;13977:8:0;;;;;;:4;:8;;;;;;;;13976:9;13961:24;13953:33;;;;;;14007:20;;;;14003:348;;;14066:15;;-1:-1:-1;;;;;14052:30:0;;;14066:15;;14052:30;;;;:62;;-1:-1:-1;14100:13:0;;-1:-1:-1;;;;;14086:28:0;;;14100:13;;14086:28;;14052:62;14048:288;;;14174:9;14145:39;;;;:28;:39;;;;;;14187:12;-1:-1:-1;14137:104:0;;;;-1:-1:-1;;;14137:104:0;;9691:2:1;14137:104:0;;;9673:21:1;9730:2;9710:18;;;9703:30;9769:34;9749:18;;;9742:62;-1:-1:-1;;;9820:18:1;;;9813:36;9866:19;;14137:104:0;9489:402:1;14137:104:0;14291:9;14262:39;;;;:28;:39;;;;;14304:12;14262:54;;14048:288;14379:13;;-1:-1:-1;;;;;14371:21:0;;;14379:13;;14371:21;:55;;;;-1:-1:-1;14410:15:0;;-1:-1:-1;;;;;14396:30:0;;;14410:15;;14396:30;;14371:55;:83;;;;-1:-1:-1;;;;;;14432:22:0;;;;;;:18;:22;;;;;;;;14430:24;14371:83;14367:456;;;14494:12;;14484:6;:22;;14476:76;;;;-1:-1:-1;;;14476:76:0;;10098:2:1;14476:76:0;;;10080:21:1;10137:2;10117:18;;;10110:30;10176:34;10156:18;;;10149:62;-1:-1:-1;;;10227:18:1;;;10220:39;10276:19;;14476:76:0;9896:405:1;14476:76:0;14605:14;;14595:6;14579:13;14589:2;-1:-1:-1;;;;;12316:18:0;12289:7;12316:18;;;:9;:18;;;;;;;12223:119;14579:13;:22;;;;:::i;:::-;:40;;14571:91;;;;-1:-1:-1;;;14571:91:0;;10638:2:1;14571:91:0;;;10620:21:1;10677:2;10657:18;;;10650:30;10716:34;10696:18;;;10689:62;-1:-1:-1;;;10767:18:1;;;10760:36;10813:19;;14571:91:0;10436:402:1;14571:91:0;14694:18;;14684:9;;:28;14681:97;;;17989:20;;18037:8;14734:24;;;;;;14796:9;:11;;;:9;:11;;;:::i;:::-;;;;;;14367:456;14853:74;14923:3;14853:65;14875:15;;14865:9;;:25;14864:53;;14905:12;;14864:53;;;14892:12;;14864:53;14853:6;;:10;:65::i;:::-;:69;;:74::i;:::-;14951:13;;14841:86;;-1:-1:-1;;;;;;14945:19:0;;;14951:13;;14945:19;:43;;;;-1:-1:-1;;;;;;14968:20:0;;14983:4;14968:20;;14945:43;14942:252;;;15027:12;;15017:6;:22;;15009:60;;;;-1:-1:-1;;;15009:60:0;;11185:2:1;15009:60:0;;;11167:21:1;11224:2;11204:18;;;11197:30;11263:27;11243:18;;;11236:55;11308:18;;15009:60:0;10983:349:1;15009:60:0;15100:78;15174:3;15100:69;15122:16;;15112:9;;:26;15111:56;;15154:13;;15111:56;;;15140:13;;15100:6;;:10;:69::i;:78::-;15088:90;;14942:252;15259:4;15210:28;12316:18;;;:9;:18;;;;;;15285:6;;-1:-1:-1;;;15285:6:0;;;;15284:7;:30;;;;-1:-1:-1;15301:13:0;;-1:-1:-1;;;;;15295:19:0;;;15301:13;;15295:19;15284:30;:45;;;;-1:-1:-1;15318:11:0;;-1:-1:-1;;;15318:11:0;;;;15284:45;:87;;;;;15354:17;;15333:20;:38;15284:87;:119;;;;;15385:18;;15375:9;;:28;15284:119;15280:419;;;15424:67;15441:49;15445:6;15452:37;15456:20;15477:11;;15452:3;:37::i;:::-;15441:3;:49::i;:::-;15424:16;:67::i;:::-;15539:21;15582:22;;15579:105;;15629:35;15642:21;15629:12;:35::i;:::-;15405:294;15280:419;13938:1772;13900:1810;15725:11;;15722:161;;15793:4;15775:24;;;;:9;:24;;;;;;:39;;15804:9;15775:28;:39::i;:::-;15768:4;15750:24;;;;:9;:24;;;;;;;:64;;;;15832:39;;-1:-1:-1;;;;;15832:39:0;;;;;;;15861:9;1361:25:1;;1349:2;1334:18;;1215:177;15832:39:0;;;;;;;;15722:161;-1:-1:-1;;;;;15909:15:0;;;;;;:9;:15;;;;;;:27;;15929:6;15909:19;:27::i;:::-;-1:-1:-1;;;;;15893:15:0;;;;;;:9;:15;;;;;:43;15961:40;15979:21;:6;15990:9;15979:10;:21::i;:::-;-1:-1:-1;;;;;15961:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;15947:13:0;;;;;;;:9;:13;;;;;:54;;;;16017:41;;;16036:21;:6;16047:9;16036:10;:21::i;:::-;16017:41;;1361:25:1;;;1349:2;1334:18;16017:41:0;;;;;;;13626:2440;13557:2509;;;:::o;7630:190::-;7716:7;7752:12;7744:6;;;;7736:29;;;;-1:-1:-1;;;7736:29:0;;;;;;;;:::i;:::-;-1:-1:-1;7776:9:0;7788:5;7792:1;7788;:5;:::i;:::-;7776:17;7630:190;-1:-1:-1;;;;;7630:190:0:o;16182:555::-;11448:6;:13;;-1:-1:-1;;;;11448:13:0;-1:-1:-1;;;11448:13:0;;;16260:27;;16279:7:::1;16260:27;16301:11;::::0;-1:-1:-1;;;16301:11:0;::::1;;;16297:25:::0;16314:7:::1;16297:25;16356:16;::::0;;16370:1:::1;16356:16:::0;;;;;::::1;::::0;;16332:21:::1;::::0;16356:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;16356:16:0::1;16332:40;;16401:4;16383;16388:1;16383:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;16383:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;16427:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;16427:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;16383:7;;16427:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16417:4;16422:1;16417:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;16417:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;16492:15:::1;::::0;16460:62:::1;::::0;16477:4:::1;::::0;16492:15:::1;16510:11:::0;16460:8:::1;:62::i;:::-;16533:15;::::0;:196:::1;::::0;-1:-1:-1;;;16533:196:0;;-1:-1:-1;;;;;16533:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;16614:11;;16533:15:::1;::::0;16656:4;;16683::::1;::::0;16703:15:::1;::::0;16533:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;16249:488;11472:1;-1:-1:-1::0;11484:6:0;:14;;-1:-1:-1;;;;11484:14:0;;;16182:555::o;16949:92::-;17006:10;;:27;;:10;;;;-1:-1:-1;;;;;17006:10:0;;:27;;;;;;;;;;;;:10;:27;;;;;;;;;;;;;;;;;;;7828:246;7886:7;7910:1;7915;7910:6;7906:47;;-1:-1:-1;7940:1:0;7933:8;;7906:47;7963:9;7975:5;7979:1;7975;:5;:::i;:::-;7963:17;-1:-1:-1;8008:1:0;7999:5;8003:1;7963:17;7999:5;:::i;:::-;:10;7991:56;;;;-1:-1:-1;;;7991:56:0;;13143:2:1;7991:56:0;;;13125:21:1;13182:2;13162:18;;;13155:30;13221:34;13201:18;;;13194:62;-1:-1:-1;;;13272:18:1;;;13265:31;13313:19;;7991:56:0;12941:397:1;7991:56:0;8065:1;7828:246;-1:-1:-1;;;7828:246:0:o;8082:132::-;8140:7;8167:39;8171:1;8174;8167:39;;;;;;;;;;;;;;;;;:3;:39::i;16076:98::-;16133:7;16160:1;16158;:3;16157:9;;16165:1;16157:9;;;-1:-1:-1;16163:1:0;16076:98;-1:-1:-1;16076:98:0:o;7299:179::-;7357:7;;7389:5;7393:1;7389;:5;:::i;:::-;7377:17;;7418:1;7413;:6;;7405:46;;;;-1:-1:-1;;;7405:46:0;;13545:2:1;7405:46:0;;;13527:21:1;13584:2;13564:18;;;13557:30;13623:29;13603:18;;;13596:57;13670:18;;7405:46:0;13343:351:1;7486:136:0;7544:7;7571:43;7575:1;7578;7571:43;;;;;;;;;;;;;;;;;:3;:43::i;8222:189::-;8308:7;8343:12;8336:5;8328:28;;;;-1:-1:-1;;;8328:28:0;;;;;;;;:::i;:::-;-1:-1:-1;8367:9:0;8379:5;8383:1;8379;: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:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;2900:127::-;2961:10;2956:3;2952:20;2949:1;2942:31;2992:4;2989:1;2982:15;3016:4;3013:1;3006:15;3032:422;3121:1;3164:5;3121:1;3178:270;3199:7;3189:8;3186:21;3178:270;;;3258:4;3254:1;3250:6;3246:17;3240:4;3237:27;3234:53;;;3267:18;;:::i;:::-;3317:7;3307:8;3303:22;3300:55;;;3337:16;;;;3300:55;3416:22;;;;3376:15;;;;3178:270;;;3182:3;3032:422;;;;;:::o;3459:806::-;3508:5;3538:8;3528:80;;-1:-1:-1;3579:1:1;3593:5;;3528:80;3627:4;3617:76;;-1:-1:-1;3664:1:1;3678:5;;3617:76;3709:4;3727:1;3722:59;;;;3795:1;3790:130;;;;3702:218;;3722:59;3752:1;3743:10;;3766:5;;;3790:130;3827:3;3817:8;3814:17;3811:43;;;3834:18;;:::i;:::-;-1:-1:-1;;3890:1:1;3876:16;;3905:5;;3702:218;;4004:2;3994:8;3991:16;3985:3;3979:4;3976:13;3972:36;3966:2;3956:8;3953:16;3948:2;3942:4;3939:12;3935:35;3932:77;3929:159;;;-1:-1:-1;4041:19:1;;;4073:5;;3929:159;4120:34;4145:8;4139:4;4120:34;:::i;:::-;4190:6;4186:1;4182:6;4178:19;4169:7;4166:32;4163:58;;;4201:18;;:::i;:::-;4239:20;;3459:806;-1:-1:-1;;;3459:806:1:o;4270:140::-;4328:5;4357:47;4398:4;4388:8;4384:19;4378:4;4357:47;:::i;4415:168::-;4488:9;;;4519;;4536:15;;;4530:22;;4516:37;4506:71;;4557:18;;:::i;4588:428::-;4790:2;4772:21;;;4829:2;4809:18;;;4802:30;;;4868:34;4848:18;;;4841:62;4939:34;4934:2;4919:18;;4912:62;5006:3;4991:19;;4588:428::o;5373:251::-;5443:6;5496:2;5484:9;5475:7;5471:23;5467:32;5464:52;;;5512:1;5509;5502:12;5464:52;5544:9;5538:16;5563:31;5588:5;5563:31;:::i;6550:306::-;6638:6;6646;6654;6707:2;6695:9;6686:7;6682:23;6678:32;6675:52;;;6723:1;6720;6713:12;6675:52;6752:9;6746:16;6736:26;;6802:2;6791:9;6787:18;6781:25;6771:35;;6846:2;6835:9;6831:18;6825:25;6815:35;;6550:306;;;;;:::o;7140:277::-;7207:6;7260:2;7248:9;7239:7;7235:23;7231:32;7228:52;;;7276:1;7273;7266:12;7228:52;7308:9;7302:16;7361:5;7354:13;7347:21;7340:5;7337:32;7327:60;;7383:1;7380;7373:12;10306:125;10371:9;;;10392:10;;;10389:36;;;10405:18;;:::i;10843:135::-;10882:3;10903:17;;;10900:43;;10923:18;;:::i;:::-;-1:-1:-1;10970:1:1;10959:13;;10843:135::o;11337:128::-;11404:9;;;11425:11;;;11422:37;;;11439:18;;:::i;11602:127::-;11663:10;11658:3;11654:20;11651:1;11644:31;11694:4;11691:1;11684:15;11718:4;11715:1;11708:15;11734:980;11996:4;12044:3;12033:9;12029:19;12075:6;12064:9;12057:25;12101:2;12139:6;12134:2;12123:9;12119:18;12112:34;12182:3;12177:2;12166:9;12162:18;12155:31;12206:6;12241;12235:13;12272:6;12264;12257:22;12310:3;12299:9;12295:19;12288:26;;12349:2;12341:6;12337:15;12323:29;;12370:1;12380:195;12394:6;12391:1;12388:13;12380:195;;;12459:13;;-1:-1:-1;;;;;12455:39:1;12443:52;;12550:15;;;;12515:12;;;;12491:1;12409:9;12380:195;;;-1:-1:-1;;;;;;;12631:32:1;;;;12626:2;12611:18;;12604:60;-1:-1:-1;;;12695:3:1;12680:19;12673:35;12592:3;11734:980;-1:-1:-1;;;11734:980:1:o;12719:217::-;12759:1;12785;12775:132;;12829:10;12824:3;12820:20;12817:1;12810:31;12864:4;12861:1;12854:15;12892:4;12889:1;12882:15;12775:132;-1:-1:-1;12921:9:1;;12719:217::o

Swarm Source

ipfs://a7951d85dcba5e86654d411f0e4c66649e3f191b0624d3ddbd87eebbe892412d

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.