ETH Price: $3,887.63 (+0.48%)

Token

Aave Token (AAVE)
 

Overview

Max Total Supply

16,000,000 AAVE

Holders

173,719 ( -0.020%)
Created with Highcharts 10.2.1

Market

Price

$357.84 @ 0.092046 ETH (-5.35%)

Onchain Market Cap

$5,725,440,000.00

Circulating Supply Market Cap

$5,369,458,682.00

Other Info

Token Contract (WITH 18 Decimals)

Balance
0.010325140901328216 AAVE

Value
$3.69 ( ~0.000949164221522001 Eth) [0.0000%]
0x59c76361cb21fc2c7f7bb15e3b07dc2749af33d1
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Aave is an Open Source and Non-Custodial protocol to earn interest on deposits & borrow assets. It also features access to highly innovative flash loans, which let developers borrow instantly and easily; no collateral needed. With 16 different assets, 5 of which are stablecoins.

Market

Volume (24H):$1,232,419,893.00
Market Capitalization:$5,369,458,682.00
Circulating Supply:15,013,959.00 AAVE
Market Data Source: Coinmarketcap

# Exchange Pair Price  24H Volume % Volume
1
Upbit
AAVE-KRW$359.40
0.0925028 Eth
$52,762,149.00
146,806.411 AAVE
5.5044%
2
P2B
AAVE-USDT$357.84
0.0921094 Eth
$42,292,348.00
118,188.217 AAVE
4.4314%
3
Coinbase Exchange
AAVE-USD$358.37
0.0922576 Eth
$33,486,857.00
93,442.133 AAVE
3.5036%
4
WhiteBIT
AAVE-USDT$358.05
0.0921583 Eth
$32,638,701.00
91,157.595 AAVE
3.4179%
5
OKX
AAVE-USDT$357.97
0.0921273 Eth
$26,688,285.00
72,656.876 AAVE
2.7242%
6
Bitget
AAVE-USDT$357.37
0.0919729 Eth
$26,440,254.00
71,927.539 AAVE
2.6969%
7
Gate.io
AAVE-USDT$357.84
0.0921004 Eth
$22,056,390.00
60,344.546 AAVE
2.2626%
8
XT.COM
AAVE-USDT$358.13
0.0921799 Eth
$20,095,255.00
54,630.205 AAVE
2.0483%
9
DigiFinex
AAVE-USDT$357.85
0.0920977 Eth
$17,948,843.00
50,157.236 AAVE
1.8806%
10
Bybit
AAVE-USDT$358.36
0.0922292 Eth
$15,159,297.00
41,117.056 AAVE
1.5417%
11
Bitunix
AAVE-USDT$358.12
0.0921815 Eth
$13,684,668.00
38,211.252 AAVE
1.4327%
12
Binance
AAVE-ETH$356.69
0.0919444 Eth
$13,462,139.00
36,457.673 AAVE
1.3670%
13
Bilaxy
AAVE-USDT$355.67
0.0917772 Eth
$13,162,559.00
37,008.043 AAVE
1.3876%
14
CoinW
AAVE-USDT$357.55
0.0920279 Eth
$13,007,743.00
36,379.755 AAVE
1.3640%
15
Hibt
AAVE-USDT$357.35
0.0920072 Eth
$11,576,858.00
31,460.571 AAVE
1.1796%
16
Ourbit
AAVE-USDT$357.52
0.0920301 Eth
$10,537,349.00
28,625.250 AAVE
1.0733%
17
MEXC
AAVE-USDT$357.82
0.0920952 Eth
$8,943,036.00
24,993.393 AAVE
0.9371%
18
KuCoin
AAVE-USDT$358.16
0.0921874 Eth
$8,842,705.00
24,689.250 AAVE
0.9257%
19
Bithumb
AAVE-KRW$358.77
0.0923414 Eth
$8,788,269.00
24,495.381 AAVE
0.9184%
20
Bullish
AAVE-USDC$358.00
0.0921457 Eth
$6,034,742.00
16,427.167 AAVE
0.6159%
21
Biconomy.com
AAVE-USDT$358.09
0.0921960 Eth
$5,842,342.00
15,875.978 AAVE
0.5953%
22
BYDFi
AAVE-USDT$358.18
0.0922058 Eth
$5,611,497.00
15,666.824 AAVE
0.5874%
23
BTSE
AAVE-USDT$358.19
0.0921846 Eth
$5,589,987.00
15,606.233 AAVE
0.5851%
24
Dex-Trade
AAVE-USDT$358.15
0.0922005 Eth
$4,800,024.00
13,402.344 AAVE
0.5025%
25
Niza Global
AAVE-USD$357.89
0.0921179 Eth
$4,641,053.00
12,635.091 AAVE
0.4737%
26
Binance
AAVE-USDC$358.18
0.0922075 Eth
$4,551,033.00
12,357.839 AAVE
0.4633%
27
Kraken
AAVE-USD$357.89
0.0921076 Eth
$4,521,973.00
12,635.091 AAVE
0.4737%
28
LBank
AAVE-USDT$358.03
0.0921527 Eth
$4,267,864.00
11,920.570 AAVE
0.4470%
29
XT.COM
AAVE-ETH$357.56
0.0920304 Eth
$3,060,380.00
8,274.158 AAVE
0.3102%
30
HTX
AAVE-USDT$357.43
0.0919970 Eth
$3,039,054.00
8,272.758 AAVE
0.3102%
31
Uniswap V3 (Polygon)
0XD6DF932A45C0F255F85145F286EA0B292B21C90B-0X7CEB23FD6BC0ADD59E62AC25578270CFF1B9F619$356.78
0.0918352 Eth
$2,325,678.00
6,296.227 0XD6DF932A45C0F255F85145F286EA0B292B21C90B
0.2361%
32
Binance
AAVE-TRY$360.28
0.0927198 Eth
$1,874,091.00
5,081.252 AAVE
0.1905%
33
Trubit
AAVE-USDT$358.48
0.0922833 Eth
$1,758,464.00
4,771.538 AAVE
0.1789%
34
Phemex
AAVE-USDT$355.96
0.0918726 Eth
$1,574,441.00
4,423.050 AAVE
0.1658%
35
PointPay
AAVE-USDT$358.04
0.0921698 Eth
$1,567,449.00
4,261.726 AAVE
0.1598%
36
Kraken
AAVE-EUR$358.03
0.0921434 Eth
$1,539,600.00
4,300.211 AAVE
0.1612%
37
BitMart
AAVE-USDT$357.50
0.0920220 Eth
$1,518,824.00
4,248.466 AAVE
0.1593%
38
Uniswap V3 (Ethereum)
0X7FC66500C84A76AD7E9C93437BFC5AC33E2DDAE9-0X1F9840A85D5AF5BF1D1762F925BDADDC4201F984$358.46
0.0922795 Eth
$1,402,233.00
3,789.820 0X7FC66500C84A76AD7E9C93437BFC5AC33E2DDAE9
0.1421%
39
WhiteBIT
AAVE-BTC$357.65
0.0921383 Eth
$1,400,549.00
3,915.935 AAVE
0.1468%
40
Pionex
AAVE-USDT$358.10
0.0921847 Eth
$1,302,708.00
3,541.766 AAVE
0.1328%
41
BitDelta
AAVE-USDT$357.74
0.0920746 Eth
$1,288,268.00
3,495.096 AAVE
0.1310%
42
Bitvavo
AAVE-EUR$361.97
0.0931817 Eth
$1,166,469.00
3,222.576 AAVE
0.1208%
43
CoinEx
AAVE-USDT$357.17
0.0921121 Eth
$1,092,915.00
2,961.389 AAVE
0.1110%
44
Uniswap V3 (Ethereum)
0X7FC66500C84A76AD7E9C93437BFC5AC33E2DDAE9-0X514910771AF9CA656AF840DFF83E8264ECF986CA$358.48
0.0922701 Eth
$992,176.00
2,760.725 0X7FC66500C84A76AD7E9C93437BFC5AC33E2DDAE9
0.1035%
45
Coinbase Exchange
AAVE-EUR$357.18
0.0919762 Eth
$970,013.00
2,715.767 AAVE
0.1018%
46
Binance
AAVE-FDUSD$357.99
0.0922803 Eth
$821,443.00
2,233.720 AAVE
0.0838%
47
Hotcoin
AAVE-USDT$358.18
0.0921970 Eth
$742,283.00
2,072.362 AAVE
0.0777%
48
Tapbit
AAVE-USDT$358.12
0.0920941 Eth
$716,347.00
1,947.060 AAVE
0.0730%
49
tanX
AAVE-USDC$358.25
0.0922106 Eth
$610,075.00
1,662.730 AAVE
0.0623%
50
Uniswap V3 (Polygon)
0X3C499C542CEF5E3811E1192CE70D8CC03D5C3359-0XD6DF932A45C0F255F85145F286EA0B292B21C90B$356.78
0.0918352 Eth
$558,842.00
577,137.495 0X3C499C542CEF5E3811E1192CE70D8CC03D5C3359
21.6394%
51
BigONE
AAVE-USDT$361.74
0.0931367 Eth
$532,693.00
1,472.582 AAVE
0.0552%
52
WhiteBIT
AAVE-TRY$360.74
0.0928510 Eth
$476,488.00
1,320.868 AAVE
0.0495%
53
Coinbase Exchange
AAVE-BTC$357.81
0.0921135 Eth
$417,512.00
1,166.854 AAVE
0.0438%
54
Uniswap V3 (Polygon)
0XD6DF932A45C0F255F85145F286EA0B292B21C90B-0XC2132D05D31C914A87C6611C10748AEB04B58E8F$356.76
0.0918306 Eth
$413,283.00
1,122.554 0XD6DF932A45C0F255F85145F286EA0B292B21C90B
0.0421%
55
Kraken
AAVE-XBT$355.92
0.0916008 Eth
$397,899.00
1,117.941 AAVE
0.0419%
56
OKX
AAVE-USDC$357.38
0.0919755 Eth
$382,356.00
1,039.678 AAVE
0.0390%
57
Uniswap V3 (Polygon)
0XD6DF932A45C0F255F85145F286EA0B292B21C90B-0X7CEB23FD6BC0ADD59E62AC25578270CFF1B9F619$357.92
0.0921299 Eth
$307,481.00
831.989 0XD6DF932A45C0F255F85145F286EA0B292B21C90B
0.0312%
58
Bitazza
AAVE-USDT$359.31
0.0924978 Eth
$280,399.00
762.999 AAVE
0.0286%
59
PointPay
AAVE-BTC$357.88
0.0921043 Eth
$260,912.00
703.398 AAVE
0.0264%
60
KuCoin
AAVE-BTC$357.62
0.0920473 Eth
$256,807.00
718.110 AAVE
0.0269%
61
Bitkub
AAVE-THB$355.30
0.0914561 Eth
$248,488.00
699.367 AAVE
0.0262%
62
Bitcointry
AAVE-USDT$357.93
0.0921479 Eth
$235,241.00
639.670 AAVE
0.0240%
63
Uniswap V3 (Polygon)
0XD6DF932A45C0F255F85145F286EA0B292B21C90B-0X0D500B1D8E8EF31E21C99D1DB9A6444D3ADF1270$356.78
0.0918352 Eth
$231,106.00
627.891 0XD6DF932A45C0F255F85145F286EA0B292B21C90B
0.0235%
64
Bitso
AAVE-USD$357.74
0.0920819 Eth
$222,015.00
620.612 AAVE
0.0233%
65
Uniswap V3 (Polygon)
0XD6DF932A45C0F255F85145F286EA0B292B21C90B-0X2791BCA1F2DE4661ED88A30C99A7A9449AA84174$356.78
0.0918352 Eth
$199,819.00
542.120 0XD6DF932A45C0F255F85145F286EA0B292B21C90B
0.0203%
66
Quickswap (v3)
0XD6DF932A45C0F255F85145F286EA0B292B21C90B-0X7CEB23FD6BC0ADD59E62AC25578270CFF1B9F619$358.96
0.0923908 Eth
$177,227.00
479.023 0XD6DF932A45C0F255F85145F286EA0B292B21C90B
0.0180%
67
Gemini
AAVE-USD$357.67
0.0920522 Eth
$173,990.00
486.446 AAVE
0.0182%
68
Coinone
AAVE-KRW$359.47
0.0925140 Eth
$166,041.00
461.905 AAVE
0.0173%
69
Uniswap V3 (BSC)
0XFB6115445BFF7B52FEB98650C87F44907E58F802-0XBB4CDB9CBD36B01BD1CBAEBF2DE08D9173BC095C$358.97
0.0924007 Eth
$156,657.00
423.934 0XFB6115445BFF7B52FEB98650C87F44907E58F802
0.0159%
70
Uniswap V3 (Arbitrum One)
0XAF88D065E77C8CC2239327C5EDB3A432268E5831-0XBA5DDD1F9D7F570DC94A51479A000E3BCE967196$358.13
0.0921830 Eth
$128,342.00
131,168.552 0XAF88D065E77C8CC2239327C5EDB3A432268E5831
4.9181%
71
Coinbase Exchange
AAVE-GBP$357.19
0.0919550 Eth
$102,840.00
287.911 AAVE
0.0108%
72
DeGate
0X7FC66500C84A76AD7E9C93437BFC5AC33E2DDAE9-0XA0B86991C6218B36C1D19D4A2E9EB0CE3606EB48$357.41
0.0921120 Eth
$101,911.00
277.425 0X7FC66500C84A76AD7E9C93437BFC5AC33E2DDAE9
0.0104%
73
Uniswap V3 (Arbitrum One)
0XBA5DDD1F9D7F570DC94A51479A000E3BCE967196-0XFD086BC7CD5C481DCC9C85EBE478A1C0B69FCBB9$358.40
0.0922521 Eth
$92,943.00
253.408 0XBA5DDD1F9D7F570DC94A51479A000E3BCE967196
0.0095%
74
Binance US
AAVE-USDT$360.73
0.0928374 Eth
$91,342.00
253.218 AAVE
0.0095%
75
LFJ
0X63A72806098BD3D9520CC43356DD78AFE5D386D9-0XB31F66AA3C1E785363F0875A1B74E27B85FD66C7$358.08
0.0921705 Eth
$90,309.00
248.946 0X63A72806098BD3D9520CC43356DD78AFE5D386D9
0.0093%
76
Nonkyc.io
AAVE-ETH$358.78
0.0923918 Eth
$84,676.00
229.380 AAVE
0.0086%
77
Kraken
AAVE-GBP$356.22
0.0916785 Eth
$55,880.00
156.868 AAVE
0.0059%
78
PancakeSwap V3 (BSC)
0XFB6115445BFF7B52FEB98650C87F44907E58F802-0XBB4CDB9CBD36B01BD1CBAEBF2DE08D9173BC095C$355.77
0.0915717 Eth
$50,822.00
137.809 0XFB6115445BFF7B52FEB98650C87F44907E58F802
0.0052%
79
Uniswap V3 (Polygon)
0X53E0BCA35EC356BD5DDDFEBBD1FC0FD03FABAD39-0XD6DF932A45C0F255F85145F286EA0B292B21C90B$356.78
0.0918352 Eth
$38,989.00
1,366.106 0X53E0BCA35EC356BD5DDDFEBBD1FC0FD03FABAD39
0.0512%
80
Sushiswap (Polygon POS)
0XD6DF932A45C0F255F85145F286EA0B292B21C90B-0X7CEB23FD6BC0ADD59E62AC25578270CFF1B9F619$359.67
0.0925736 Eth
$33,581.00
90.565 0XD6DF932A45C0F255F85145F286EA0B292B21C90B
0.0034%
81
Uniswap V3 (BSC)
0XFB6115445BFF7B52FEB98650C87F44907E58F802-0X55D398326F99059FF775485246999027B3197955$358.97
0.0924007 Eth
$29,984.00
80.032 0XFB6115445BFF7B52FEB98650C87F44907E58F802
0.0030%
82
ApeSwap
0XFB6115445BFF7B52FEB98650C87F44907E58F802-0XBB4CDB9CBD36B01BD1CBAEBF2DE08D9173BC095C$358.81
0.0923604 Eth
$26,179.00
95.794 0XFB6115445BFF7B52FEB98650C87F44907E58F802
0.0036%
83
Uniswap V2 (Ethereum)
0X7FC66500C84A76AD7E9C93437BFC5AC33E2DDAE9-0XC02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2$357.70
0.0920831 Eth
$25,770.00
69.835 0X7FC66500C84A76AD7E9C93437BFC5AC33E2DDAE9
0.0026%
84
Bitexen
AAVE-TRY$355.30
0.0917019 Eth
$22,067.00
62.107 AAVE
0.0023%
85
Quickswap
0XD6DF932A45C0F255F85145F286EA0B292B21C90B-0X7CEB23FD6BC0ADD59E62AC25578270CFF1B9F619$357.26
0.0919609 Eth
$16,258.18
43.882 0XD6DF932A45C0F255F85145F286EA0B292B21C90B
0.0016%
86
zondacrypto
AAVE-PLN$358.09
0.0922109 Eth
$12,950.12
36.164 AAVE
0.0014%
87
Uniswap V3 (Polygon)
0X61299774020DA444AF134C82FA83E3810B309991-0XD6DF932A45C0F255F85145F286EA0B292B21C90B$356.78
0.0918352 Eth
$9,933.58
1,124.347 0X61299774020DA444AF134C82FA83E3810B309991
0.0422%
88
CoinEx
AAVE-BTC$358.56
0.0923354 Eth
$7,528.41
20.500 AAVE
0.0008%
89
Uniswap V3 (Polygon)
0X53E0BCA35EC356BD5DDDFEBBD1FC0FD03FABAD39-0XD6DF932A45C0F255F85145F286EA0B292B21C90B$359.16
0.0924641 Eth
$6,364.03
219.363 0X53E0BCA35EC356BD5DDDFEBBD1FC0FD03FABAD39
0.0082%
90
Quickswap
0XDF7837DE1F2FA4631D716CF2502F8B230F1DCC32-0XD6DF932A45C0F255F85145F286EA0B292B21C90B$357.34
0.0919798 Eth
$4,153.23
605,747.560 0XDF7837DE1F2FA4631D716CF2502F8B230F1DCC32
22.7121%
91
Uniswap V3 (Polygon)
0XB33EAAD8D922B1083446DC23F610C2567FB5180F-0XD6DF932A45C0F255F85145F286EA0B292B21C90B$356.80
0.0918284 Eth
$2,937.11
181.723 0XB33EAAD8D922B1083446DC23F610C2567FB5180F
0.0068%
92
Uniswap V3 (Ethereum)
0X7FC66500C84A76AD7E9C93437BFC5AC33E2DDAE9-0XC02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2$358.47
0.0922706 Eth
$2,378.95
6.483 0X7FC66500C84A76AD7E9C93437BFC5AC33E2DDAE9
0.0002%
93
Uniswap V3 (Polygon)
0X1236EA13C7339287CD00AB196AAA8217006B04DC-0XD6DF932A45C0F255F85145F286EA0B292B21C90B$356.78
0.0918352 Eth
$2,367.44
38,330.060 0X1236EA13C7339287CD00AB196AAA8217006B04DC
1.4372%
94
Uniswap V3 (Polygon)
0XD6DF932A45C0F255F85145F286EA0B292B21C90B-0X1BFD67037B42CF73ACF2047067BD4F2C47D9BFD6$357.90
0.0921656 Eth
$2,237.70
5.987 0XD6DF932A45C0F255F85145F286EA0B292B21C90B
0.0002%
95
Uniswap V3 (Arbitrum One)
0XBA5DDD1F9D7F570DC94A51479A000E3BCE967196-0XF97F4DF75117A78C1A5A0DBB814AF92458539FB4$358.13
0.0921957 Eth
$2,035.76
5.689 0XBA5DDD1F9D7F570DC94A51479A000E3BCE967196
0.0002%
96
Uniswap V3 (Polygon)
0XC3C7D422809852031B44AB29EEC9F1EFF2A58756-0XD6DF932A45C0F255F85145F286EA0B292B21C90B$356.77
0.0918456 Eth
$1,459.20
666.020 0XC3C7D422809852031B44AB29EEC9F1EFF2A58756
0.0250%
97
Biswap
0XFB6115445BFF7B52FEB98650C87F44907E58F802-0XBB4CDB9CBD36B01BD1CBAEBF2DE08D9173BC095C$358.34
0.0922228 Eth
$1,069.34
2.950 0XFB6115445BFF7B52FEB98650C87F44907E58F802
0.0001%
98
Uniswap V3 (BSC)
0XFB6115445BFF7B52FEB98650C87F44907E58F802-0X2170ED0880AC9A755FD29B2688956BD959F933F8$358.71
0.0924482 Eth
$354.49
0.958 0XFB6115445BFF7B52FEB98650C87F44907E58F802
0.0000%
99
Quickswap
0XD6DF932A45C0F255F85145F286EA0B292B21C90B-0X2791BCA1F2DE4661ED88A30C99A7A9449AA84174$357.21
0.0918673 Eth
$216.78
0.587 0XD6DF932A45C0F255F85145F286EA0B292B21C90B
0.0000%
100
Uniswap V3 (BSC)
0XFB6115445BFF7B52FEB98650C87F44907E58F802-0X8AC76A51CC950D9822D68B83FE1AD97B32CD580D$361.51
0.0930801 Eth
$62.23
0.168 0XFB6115445BFF7B52FEB98650C87F44907E58F802
0.0000%

Contract Source Code Verified (Exact Match)

Contract Name:
InitializableAdminUpgradeabilityProxy

Compiler Version
v0.6.10+commit.00c0fcaf

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 19 : InitializableAdminUpgradeabilityProxy.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: agpl-3.0
pragma solidity ^0.6.10;
import "./BaseAdminUpgradeabilityProxy.sol";
import "./InitializableUpgradeabilityProxy.sol";
/**
* @title InitializableAdminUpgradeabilityProxy
* @dev Extends from BaseAdminUpgradeabilityProxy with an initializer for
* initializing the implementation, admin, and init data.
*/
contract InitializableAdminUpgradeabilityProxy is BaseAdminUpgradeabilityProxy, InitializableUpgradeabilityProxy {
/**
* Contract initializer.
* @param _logic address of the initial implementation.
* @param _admin Address of the proxy administrator.
* @param _data Data to send as msg.data to the implementation to initialize the proxied contract.
* It should include the signature and the parameters of the function to be called, as described in
* https://solidity.readthedocs.io/en/v0.4.24/abi-spec.html#function-selector-and-argument-encoding.
* This parameter is optional, if no data is given the initialization call to proxied contract will be skipped.
*/
function initialize(address _logic, address _admin, bytes memory _data) public payable {
require(_implementation() == address(0));
InitializableUpgradeabilityProxy.initialize(_logic, _data);
assert(ADMIN_SLOT == bytes32(uint256(keccak256("eip1967.proxy.admin")) - 1));
_setAdmin(_admin);
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 2 of 19 : IERC20.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: agpl-3.0
pragma solidity 0.6.10;
/**
* @dev Interface of the ERC20 standard as defined in the EIP.
*/
interface IERC20 {
/**
* @dev Returns the amount of tokens in existence.
*/
function totalSupply() external view returns (uint256);
/**
* @dev Returns the amount of tokens owned by `account`.
*/
function balanceOf(address account) external view returns (uint256);
/**
* @dev Moves `amount` tokens from the caller's account to `recipient`.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* Emits a {Transfer} event.
*/
function transfer(address recipient, uint256 amount) external returns (bool);
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 3 of 19 : IERC20Detailed.sol
1
2
3
4
5
6
7
8
9
10
// SPDX-License-Identifier: agpl-3.0
pragma solidity 0.6.10;
import {IERC20} from "./IERC20.sol";
interface IERC20Detailed is IERC20 {
function name() external view returns(string memory);
function symbol() external view returns(string memory);
function decimals() external view returns(uint8);
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 4 of 19 : ITransferHook.sol
1
2
3
4
5
6
// SPDX-License-Identifier: agpl-3.0
pragma solidity 0.6.10;
interface ITransferHook {
function onTransfer(address from, address to, uint256 amount) external;
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 5 of 19 : Address.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
pragma solidity ^0.6.2;
/**
* @dev Collection of functions related to the address type
*/
library Address {
/**
* @dev Returns true if `account` is a contract.
*
* [IMPORTANT]
* ====
* It is unsafe to assume that an address for which this function returns
* false is an externally-owned account (EOA) and not a contract.
*
* Among others, `isContract` will return false for the following
* types of addresses:
*
* - an externally-owned account
* - a contract in construction
* - an address where a contract will be created
* - an address where a contract lived, but was destroyed
* ====
*/
function isContract(address account) internal view returns (bool) {
// According to EIP-1052, 0x0 is the value returned for not-yet created accounts
// and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 6 of 19 : BaseAdminUpgradeabilityProxy.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
pragma solidity ^0.6.0;
import './UpgradeabilityProxy.sol';
/**
* @title BaseAdminUpgradeabilityProxy
* @dev This contract combines an upgradeability proxy with an authorization
* mechanism for administrative tasks.
* All external functions in this contract must be guarded by the
* `ifAdmin` modifier. See ethereum/solidity#3864 for a Solidity
* feature proposal that would enable this to be done automatically.
*/
contract BaseAdminUpgradeabilityProxy is BaseUpgradeabilityProxy {
/**
* @dev Emitted when the administration has been transferred.
* @param previousAdmin Address of the previous admin.
* @param newAdmin Address of the new admin.
*/
event AdminChanged(address previousAdmin, address newAdmin);
/**
* @dev Storage slot with the admin of the contract.
* This is the keccak-256 hash of "eip1967.proxy.admin" subtracted by 1, and is
* validated in the constructor.
*/
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 7 of 19 : UpgradeabilityProxy.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
pragma solidity ^0.6.0;
import './BaseUpgradeabilityProxy.sol';
/**
* @title UpgradeabilityProxy
* @dev Extends BaseUpgradeabilityProxy with a constructor for initializing
* implementation and init data.
*/
contract UpgradeabilityProxy is BaseUpgradeabilityProxy {
/**
* @dev Contract constructor.
* @param _logic Address of the initial implementation.
* @param _data Data to send as msg.data to the implementation to initialize the proxied contract.
* It should include the signature and the parameters of the function to be called, as described in
* https://solidity.readthedocs.io/en/v0.4.24/abi-spec.html#function-selector-and-argument-encoding.
* This parameter is optional, if no data is given the initialization call to proxied contract will be skipped.
*/
constructor(address _logic, bytes memory _data) public payable {
assert(IMPLEMENTATION_SLOT == bytes32(uint256(keccak256('eip1967.proxy.implementation')) - 1));
_setImplementation(_logic);
if(_data.length > 0) {
(bool success,) = _logic.delegatecall(_data);
require(success);
}
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 8 of 19 : BaseUpgradeabilityProxy.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
pragma solidity ^0.6.0;
import './Proxy.sol';
import './Address.sol';
/**
* @title BaseUpgradeabilityProxy
* @dev This contract implements a proxy that allows to change the
* implementation address to which it will delegate.
* Such a change is called an implementation upgrade.
*/
contract BaseUpgradeabilityProxy is Proxy {
/**
* @dev Emitted when the implementation is upgraded.
* @param implementation Address of the new implementation.
*/
event Upgraded(address indexed implementation);
/**
* @dev Storage slot with the address of the current implementation.
* This is the keccak-256 hash of "eip1967.proxy.implementation" subtracted by 1, and is
* validated in the constructor.
*/
bytes32 internal constant IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;
/**
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 9 of 19 : Proxy.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
pragma solidity ^0.6.0;
/**
* @title Proxy
* @dev Implements delegation of calls to other contracts, with proper
* forwarding of return values and bubbling of failures.
* It defines a fallback function that delegates all calls to the address
* returned by the abstract _implementation() internal function.
*/
abstract contract Proxy {
/**
* @dev Fallback function.
* Implemented entirely in `_fallback`.
*/
fallback () payable external {
_fallback();
}
/**
* @return The Address of the implementation.
*/
function _implementation() internal virtual view returns (address);
/**
* @dev Delegates execution to an implementation contract.
* This is a low level function that doesn't return to its internal call site.
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 10 of 19 : Context.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// SPDX-License-Identifier: MIT
pragma solidity ^0.6.0;
/*
* @dev Provides information about the current execution context, including the
* sender of the transaction and its data. While these are generally available
* via msg.sender and msg.data, they should not be accessed in such a direct
* manner, since when dealing with GSN meta-transactions the account sending and
* paying for execution may not be the actual sender (as far as an application
* is concerned).
*
* This contract is only required for intermediate, library-like contracts.
*/
abstract contract Context {
function _msgSender() internal view virtual returns (address payable) {
return msg.sender;
}
function _msgData() internal view virtual returns (bytes memory) {
this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
return msg.data;
}
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 11 of 19 : ERC20.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: MIT
pragma solidity ^0.6.0;
import "./Context.sol";
import "../interfaces/IERC20.sol";
import "./SafeMath.sol";
import "./Address.sol";
/**
* @dev Implementation of the {IERC20} interface.
*
* This implementation is agnostic to the way tokens are created. This means
* that a supply mechanism has to be added in a derived contract using {_mint}.
* For a generic mechanism see {ERC20PresetMinterPauser}.
*
* TIP: For a detailed writeup see our guide
* https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How
* to implement supply mechanisms].
*
* We have followed general OpenZeppelin guidelines: functions revert instead
* of returning `false` on failure. This behavior is nonetheless conventional
* and does not conflict with the expectations of ERC20 applications.
*
* Additionally, an {Approval} event is emitted on calls to {transferFrom}.
* This allows applications to reconstruct the allowance for all accounts just
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 12 of 19 : SafeMath.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
pragma solidity ^0.6.0;
/**
* @dev Wrappers over Solidity's arithmetic operations with added overflow
* checks.
*
* Arithmetic operations in Solidity wrap on overflow. This can easily result
* in bugs, because programmers usually assume that an overflow raises an
* error, which is the standard behavior in high level programming languages.
* `SafeMath` restores this intuition by reverting the transaction when an
* operation overflows.
*
* Using this library instead of the unchecked operations eliminates an entire
* class of bugs, so it's recommended to use it always.
*/
library SafeMath {
/**
* @dev Returns the addition of two unsigned integers, reverting on
* overflow.
*
* Counterpart to Solidity's `+` operator.
*
* Requirements:
* - Addition cannot overflow.
*/
function add(uint256 a, uint256 b) internal pure returns (uint256) {
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 13 of 19 : InitializableUpgradeabilityProxy.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: agpl-3.0
pragma solidity ^0.6.10;
import "./BaseUpgradeabilityProxy.sol";
/**
* @title InitializableUpgradeabilityProxy
* @dev Extends BaseUpgradeabilityProxy with an initializer for initializing
* implementation and init data.
*/
contract InitializableUpgradeabilityProxy is BaseUpgradeabilityProxy {
/**
* @dev Contract initializer.
* @param _logic Address of the initial implementation.
* @param _data Data to send as msg.data to the implementation to initialize the proxied contract.
* It should include the signature and the parameters of the function to be called, as described in
* https://solidity.readthedocs.io/en/v0.4.24/abi-spec.html#function-selector-and-argument-encoding.
* This parameter is optional, if no data is given the initialization call to proxied contract will be skipped.
*/
function initialize(address _logic, bytes memory _data) public payable {
require(_implementation() == address(0));
assert(IMPLEMENTATION_SLOT == bytes32(uint256(keccak256("eip1967.proxy.implementation")) - 1));
_setImplementation(_logic);
if (_data.length > 0) {
(bool success, ) = _logic.delegatecall(_data);
require(success);
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 14 of 19 : AaveToken.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: agpl-3.0
pragma solidity 0.6.10;
import {ERC20} from "../open-zeppelin/ERC20.sol";
import {ITransferHook} from "../interfaces/ITransferHook.sol";
import {VersionedInitializable} from "../utils/VersionedInitializable.sol";
/**
* @notice implementation of the AAVE token contract
* @author Aave
*/
contract AaveToken is ERC20, VersionedInitializable {
/// @dev snapshot of a value on a specific block, used for balances
struct Snapshot {
uint128 blockNumber;
uint128 value;
}
string internal constant NAME = "Aave Token";
string internal constant SYMBOL = "AAVE";
uint8 internal constant DECIMALS = 18;
/// @dev the amount being distributed for the LEND -> AAVE migration
uint256 internal constant MIGRATION_AMOUNT = 13000000 ether;
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 15 of 19 : VersionedInitializable.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: agpl-3.0
pragma solidity 0.6.10;
/**
* @title VersionedInitializable
*
* @dev Helper contract to support initializer functions. To use it, replace
* the constructor with a function that has the `initializer` modifier.
* WARNING: Unlike constructors, initializer functions must be manually
* invoked. This applies both to deploying an Initializable contract, as well
* as extending an Initializable contract via inheritance.
* WARNING: When used with inheritance, manual care must be taken to not invoke
* a parent initializer twice, or ensure that all initializers are idempotent,
* because this is not dealt with automatically as with constructors.
*
* @author Aave, inspired by the OpenZeppelin Initializable contract
*/
abstract contract VersionedInitializable {
/**
* @dev Indicates that the contract has been initialized.
*/
uint256 internal lastInitializedRevision = 0;
/**
* @dev Modifier to use in the initializer function of a contract.
*/
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 16 of 19 : LendToAaveMigrator.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: agpl-3.0
pragma solidity 0.6.10;
import {IERC20} from "../interfaces/IERC20.sol";
import {SafeMath} from "../open-zeppelin/SafeMath.sol";
import {VersionedInitializable} from "../utils/VersionedInitializable.sol";
/**
* @title LendToAaveMigrator
* @notice This contract implements the migration from LEND to AAVE token
* @author Aave
*/
contract LendToAaveMigrator is VersionedInitializable {
using SafeMath for uint256;
IERC20 public immutable AAVE;
IERC20 public immutable LEND;
uint256 public immutable LEND_AAVE_RATIO;
uint256 public constant REVISION = 1;
uint256 public _totalLendMigrated;
/**
* @dev emitted on migration
* @param sender the caller of the migration
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 17 of 19 : DoubleTransferHelper.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// SPDX-License-Identifier: agpl-3.0
pragma solidity 0.6.10;
import "../interfaces/IERC20.sol";
contract DoubleTransferHelper {
IERC20 public immutable AAVE;
constructor(IERC20 aave) public {
AAVE = aave;
}
function doubleSend(address to, uint256 amount1, uint256 amount2) external {
AAVE.transfer(to, amount1);
AAVE.transfer(to, amount2);
}
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 18 of 19 : MintableErc20.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// SPDX-License-Identifier: agpl-3.0
pragma solidity 0.6.10;
import "../open-zeppelin/ERC20.sol";
/**
* @title ERC20Mintable
* @dev ERC20 minting logic
*/
contract MintableErc20 is ERC20 {
constructor(string memory name, string memory symbol, uint8 decimals) ERC20(name, symbol) public {
_setupDecimals(decimals);
}
/**
* @dev Function to mint tokens
* @param value The amount of tokens to mint.
* @return A boolean that indicates if the operation was successful.
*/
function mint(uint256 value) public returns (bool) {
_mint(msg.sender, value);
return true;
}
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 19 of 19 : MockTransferHook.sol
1
2
3
4
5
6
7
8
9
10
11
12
// SPDX-License-Identifier: agpl-3.0
pragma solidity 0.6.10;
import {ITransferHook} from "../interfaces/ITransferHook.sol";
contract MockTransferHook is ITransferHook {
event MockHookEvent();
function onTransfer(address from, address to, uint256 amount) external override {
emit MockHookEvent();
}
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Settings
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{
"metadata": {
"useLiteralContent": false
},
"optimizer": {
"enabled": true,
"runs": 200
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"abi"
]
}
},
"evmVersion": "istanbul",
"libraries": {}
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Contract Security Audit

Contract ABI

[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"previousAdmin","type":"address"},{"indexed":false,"internalType":"address","name":"newAdmin","type":"address"}],"name":"AdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"admin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAdmin","type":"address"}],"name":"changeAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_logic","type":"address"},{"internalType":"address","name":"_admin","type":"address"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"initialize","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_logic","type":"address"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"initialize","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"name":"upgradeTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"stateMutability":"payable","type":"function"}]

608060405234801561001057600080fd5b506109bb806100206000396000f3fe6080604052600436106100705760003560e01c80638f2839701161004e5780638f2839701461015e578063cf7a1d7714610191578063d1f5789414610250578063f851a4401461030657610070565b80633659cfe61461007a5780634f1ef286146100ad5780635c60da1b1461012d575b61007861031b565b005b34801561008657600080fd5b506100786004803603602081101561009d57600080fd5b50356001600160a01b0316610335565b610078600480360360408110156100c357600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100ee57600080fd5b82018360208201111561010057600080fd5b8035906020019184600183028401116401000000008311171561012257600080fd5b50909250905061036f565b34801561013957600080fd5b5061014261041c565b604080516001600160a01b039092168252519081900360200190f35b34801561016a57600080fd5b506100786004803603602081101561018157600080fd5b50356001600160a01b0316610459565b610078600480360360608110156101a757600080fd5b6001600160a01b0382358116926020810135909116918101906060810160408201356401000000008111156101db57600080fd5b8201836020820111156101ed57600080fd5b8035906020019184600183028401116401000000008311171561020f57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610513945050505050565b6100786004803603604081101561026657600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561029157600080fd5b8201836020820111156102a357600080fd5b803590602001918460018302840111640100000000831117156102c557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610599945050505050565b34801561031257600080fd5b506101426106d9565b610323610704565b61033361032e61070c565b610731565b565b61033d610755565b6001600160a01b0316336001600160a01b031614156103645761035f8161077a565b61036c565b61036c61031b565b50565b610377610755565b6001600160a01b0316336001600160a01b0316141561040f576103998361077a565b6000836001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d80600081146103f6576040519150601f19603f3d011682016040523d82523d6000602084013e6103fb565b606091505b505090508061040957600080fd5b50610417565b61041761031b565b505050565b6000610426610755565b6001600160a01b0316336001600160a01b0316141561044e5761044761070c565b9050610456565b61045661031b565b90565b610461610755565b6001600160a01b0316336001600160a01b03161415610364576001600160a01b0381166104bf5760405162461bcd60e51b81526004018080602001828103825260368152602001806109156036913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6104e8610755565b604080516001600160a01b03928316815291841660208301528051918290030190a161035f816107ba565b600061051d61070c565b6001600160a01b03161461053057600080fd5b61053a8382610599565b604080517232b4b8189c9b1b97383937bc3c9730b236b4b760691b815290519081900360130190207fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61036000199091011461059057fe5b610417826107ba565b60006105a361070c565b6001600160a01b0316146105b657600080fd5b604080517f656970313936372e70726f78792e696d706c656d656e746174696f6e000000008152905190819003601c0190207f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6000199091011461061657fe5b61061f826107de565b8051156106d5576000826001600160a01b0316826040518082805190602001908083835b602083106106625780518252601f199092019160209182019101610643565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146106c2576040519150601f19603f3d011682016040523d82523d6000602084013e6106c7565b606091505b505090508061041757600080fd5b5050565b60006106e3610755565b6001600160a01b0316336001600160a01b0316141561044e57610447610755565b610333610846565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e808015610750573d6000f35b3d6000fd5b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b610783816107de565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b6107e7816108a6565b6108225760405162461bcd60e51b815260040180806020018281038252603b81526020018061094b603b913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b61084e610755565b6001600160a01b0316336001600160a01b0316141561089e5760405162461bcd60e51b81526004018080602001828103825260328152602001806108e36032913960400191505060405180910390fd5b610333610333565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708181148015906108da57508115155b94935050505056fe43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e2066726f6d207468652070726f78792061646d696e43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f787920746f20746865207a65726f206164647265737343616e6e6f742073657420612070726f787920696d706c656d656e746174696f6e20746f2061206e6f6e2d636f6e74726163742061646472657373a264697066735822122015ad4f558453503f6a69b059ae32eae69d5d5581a73fa01a8cc186d278650c8a64736f6c634300060a0033

Deployed Bytecode

0x6080604052600436106100705760003560e01c80638f2839701161004e5780638f2839701461015e578063cf7a1d7714610191578063d1f5789414610250578063f851a4401461030657610070565b80633659cfe61461007a5780634f1ef286146100ad5780635c60da1b1461012d575b61007861031b565b005b34801561008657600080fd5b506100786004803603602081101561009d57600080fd5b50356001600160a01b0316610335565b610078600480360360408110156100c357600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100ee57600080fd5b82018360208201111561010057600080fd5b8035906020019184600183028401116401000000008311171561012257600080fd5b50909250905061036f565b34801561013957600080fd5b5061014261041c565b604080516001600160a01b039092168252519081900360200190f35b34801561016a57600080fd5b506100786004803603602081101561018157600080fd5b50356001600160a01b0316610459565b610078600480360360608110156101a757600080fd5b6001600160a01b0382358116926020810135909116918101906060810160408201356401000000008111156101db57600080fd5b8201836020820111156101ed57600080fd5b8035906020019184600183028401116401000000008311171561020f57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610513945050505050565b6100786004803603604081101561026657600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561029157600080fd5b8201836020820111156102a357600080fd5b803590602001918460018302840111640100000000831117156102c557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610599945050505050565b34801561031257600080fd5b506101426106d9565b610323610704565b61033361032e61070c565b610731565b565b61033d610755565b6001600160a01b0316336001600160a01b031614156103645761035f8161077a565b61036c565b61036c61031b565b50565b610377610755565b6001600160a01b0316336001600160a01b0316141561040f576103998361077a565b6000836001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d80600081146103f6576040519150601f19603f3d011682016040523d82523d6000602084013e6103fb565b606091505b505090508061040957600080fd5b50610417565b61041761031b565b505050565b6000610426610755565b6001600160a01b0316336001600160a01b0316141561044e5761044761070c565b9050610456565b61045661031b565b90565b610461610755565b6001600160a01b0316336001600160a01b03161415610364576001600160a01b0381166104bf5760405162461bcd60e51b81526004018080602001828103825260368152602001806109156036913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6104e8610755565b604080516001600160a01b03928316815291841660208301528051918290030190a161035f816107ba565b600061051d61070c565b6001600160a01b03161461053057600080fd5b61053a8382610599565b604080517232b4b8189c9b1b97383937bc3c9730b236b4b760691b815290519081900360130190207fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61036000199091011461059057fe5b610417826107ba565b60006105a361070c565b6001600160a01b0316146105b657600080fd5b604080517f656970313936372e70726f78792e696d706c656d656e746174696f6e000000008152905190819003601c0190207f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6000199091011461061657fe5b61061f826107de565b8051156106d5576000826001600160a01b0316826040518082805190602001908083835b602083106106625780518252601f199092019160209182019101610643565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146106c2576040519150601f19603f3d011682016040523d82523d6000602084013e6106c7565b606091505b505090508061041757600080fd5b5050565b60006106e3610755565b6001600160a01b0316336001600160a01b0316141561044e57610447610755565b610333610846565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e808015610750573d6000f35b3d6000fd5b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b610783816107de565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b6107e7816108a6565b6108225760405162461bcd60e51b815260040180806020018281038252603b81526020018061094b603b913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b61084e610755565b6001600160a01b0316336001600160a01b0316141561089e5760405162461bcd60e51b81526004018080602001828103825260328152602001806108e36032913960400191505060405180910390fd5b610333610333565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708181148015906108da57508115155b94935050505056fe43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e2066726f6d207468652070726f78792061646d696e43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f787920746f20746865207a65726f206164647265737343616e6e6f742073657420612070726f787920696d706c656d656e746174696f6e20746f2061206e6f6e2d636f6e74726163742061646472657373a264697066735822122015ad4f558453503f6a69b059ae32eae69d5d5581a73fa01a8cc186d278650c8a64736f6c634300060a0033

Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.