Token Dai Stablecoin
This token is bridged from its native chain using Nomad.
Overview ERC20
Price
$0.00 @ 0.000000 GLMR
Fully Diluted Market Cap
Total Supply:
711,249.627768 DAI
Holders:
1,180 addresses
Contract:
Decimals:
18
Official Site:
Balance
127,579.307889805029409127 DAIValue
$127,834.47 ( ~326,206.3702 GLMR) [17.9373%]
[ Download CSV Export ]
[ Download CSV Export ]
OVERVIEW
Bridged DAI Token of Nomad.Market
Volume (24H) | : | $198,203,637.00 |
Market Capitalization | : | $5,287,532,929.00 |
Circulating Supply | : | 5,284,124,490.00 DAI |
Market Data Source: Coinmarketcap |
Update? Click here to update the token ICO / general information
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|---|---|---|---|---|
1 | ![]() | BTC-DAI | $0.9999 0.0000353 Btc | $14,583,982.00 517.520 BTC | 0.0005% |
2 | ![]() | 0X6B175474E89094C44DA98B954EEDEAC495271D0F-0XA0B86991C6218B36C1D19D4A2E9EB0CE3606EB48 | $1.004 0.0000355 Btc | $14,327,310.00 14,265,381.050 0X6B175474E89094C44DA98B954EEDEAC495271D0F | 12.7236% |
3 | ![]() | DAI-EUR | $0.9995 0.0000353 Btc | $13,125,094.00 13,131,637.532 DAI | 11.7124% |
4 | ![]() | DAI-USDT | $1.004 0.0000355 Btc | $12,026,697.00 11,977,785.163 DAI | 10.6832% |
5 | ![]() | 0X6B175474E89094C44DA98B954EEDEAC495271D0F-0XC02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2 | $1.006 0.0000356 Btc | $11,705,462.00 11,618,133.260 0X6B175474E89094C44DA98B954EEDEAC495271D0F | 10.3625% |
6 | ![]() | DAI-USD | $0.9994 0.0000353 Btc | $10,915,961.00 10,922,296.365 DAI | 9.7418% |
7 | ![]() | ETH-DAI | $0.9999 0.0000353 Btc | $6,174,241.00 3,429.939 ETH | 0.0031% |
8 | ![]() | ETH-DAI | $0.9999 0.0000353 Btc | $5,524,127.00 3,043.163 ETH | 0.0027% |
9 | ![]() | ETH-DAI | $0.9999 0.0000353 Btc | $5,294,277.00 2,917.683 ETH | 0.0026% |
10 | ![]() | ETH-DAI | $0.9999 0.0000353 Btc | $4,596,720.00 2,577.929 ETH | 0.0023% |
11 | ![]() | 0XAE37D54AE477268B9997D4161B96B8200755935C-0X6B175474E89094C44DA98B954EEDEAC495271D0F | $0.9998 0.0000353 Btc | $4,474,819.00 4,464,522.955 0XAE37D54AE477268B9997D4161B96B8200755935C | 3.9820% |
12 | ![]() | BTC-DAI | $0.9999 0.0000354 Btc | $3,876,528.00 137.482 BTC | 0.0001% |
13 | ![]() | USDT-DAI | $0.9999 0.0000353 Btc | $3,541,872.00 3,534,098.279 USDT | 3.1521% |
14 | ![]() | USDT-DAI | $0.9999 0.0000353 Btc | $3,517,137.00 3,506,636.350 USDT | 3.1276% |
15 | ![]() | BTC-DAI | $0.9999 0.0000353 Btc | $3,446,556.00 123.139 BTC | 0.0001% |
16 | ![]() | BTC-DAI | $0.9999 0.0000353 Btc | $3,078,676.00 109.199 BTC | 0.0001% |
17 | ![]() | BTC-DAI | $0.9999 0.0000353 Btc | $2,827,347.00 101.903 BTC | 0.0001% |
18 | ![]() | 0X6B175474E89094C44DA98B954EEDEAC495271D0F-0XC02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2 | $1.006 0.0000356 Btc | $2,666,743.00 2,627,716.496 0X6B175474E89094C44DA98B954EEDEAC495271D0F | 2.3437% |
19 | ![]() | 0XDA10009CBD5D07DD0CECC66161FC93D7C9000DA1-0XFF970A61A04B1CA14834A43F5DE4533EBDDB5CC8 | $1.004 0.0000355 Btc | $2,619,880.00 2,609,652.117 0XDA10009CBD5D07DD0CECC66161FC93D7C9000DA1 | 2.3276% |
20 | ![]() | BTC-DAI | $0.9999 0.0000353 Btc | $2,320,426.00 83.611 BTC | 0.0001% |
21 | ![]() | 0XDA10009CBD5D07DD0CECC66161FC93D7C9000DA1-0XFF970A61A04B1CA14834A43F5DE4533EBDDB5CC8 | $1.004 0.0000355 Btc | $2,139,368.00 2,131,254.889 0XDA10009CBD5D07DD0CECC66161FC93D7C9000DA1 | 1.9009% |
22 | ![]() | 0XDA10009CBD5D07DD0CECC66161FC93D7C9000DA1-0XFF970A61A04B1CA14834A43F5DE4533EBDDB5CC8 | $1.004 0.0000355 Btc | $1,701,106.00 1,695,071.931 0XDA10009CBD5D07DD0CECC66161FC93D7C9000DA1 | 1.5119% |
23 | ![]() | 0XDA10009CBD5D07DD0CECC66161FC93D7C9000DA1-0XFD086BC7CD5C481DCC9C85EBE478A1C0B69FCBB9 | $0.9918 0.0000350 Btc | $1,538,246.00 1,551,125.337 0XDA10009CBD5D07DD0CECC66161FC93D7C9000DA1 | 1.3835% |
24 | ![]() | 0XA0B86991C6218B36C1D19D4A2E9EB0CE3606EB48-DAI | $0.997 0.0000352 Btc | $1,530,403.00 1,524,196.610 0XA0B86991C6218B36C1D19D4A2E9EB0CE3606EB48 | 1.3595% |
25 | ![]() | 0X6B175474E89094C44DA98B954EEDEAC495271D0F-USDC | $1.002 0.0000354 Btc | $1,529,362.00 1,526,170.618 0X6B175474E89094C44DA98B954EEDEAC495271D0F | 1.3612% |
26 | ![]() | DAI-USDT | $1.004 0.0000355 Btc | $1,431,002.00 1,425,354.400 DAI | 1.2713% |
27 | ![]() | 0X04068DA6C83AFCFA0E13BA15A6696662335D5B75-DAI | $1.005 0.0000355 Btc | $1,124,562.00 1,118,675.800 0X04068DA6C83AFCFA0E13BA15A6696662335D5B75 | 0.9978% |
28 | ![]() | 0X8D11EC38A3EB5E956B052F67DA8BDC9BEF8ABF3E-USDC | $1.004 0.0000355 Btc | $1,123,134.00 1,118,913.169 0X8D11EC38A3EB5E956B052F67DA8BDC9BEF8ABF3E | 0.9980% |
29 | ![]() | 0X2791BCA1F2DE4661ED88A30C99A7A9449AA84174-0X8F3CF7AD23CD3CADBD9735AFF958023239C6A063 | $1.004 0.0000355 Btc | $1,116,571.00 1,112,267.572 0X2791BCA1F2DE4661ED88A30C99A7A9449AA84174 | 0.9921% |
30 | ![]() | 0X7F5C764CBC14F9669B88837CA1490CCA17C31607-0XDA10009CBD5D07DD0CECC66161FC93D7C9000DA1 | $1.003 0.0000355 Btc | $968,648.00 965,154.424 0X7F5C764CBC14F9669B88837CA1490CCA17C31607 | 0.8608% |
31 | ![]() | DAI-USD | $0.9998 0.0000353 Btc | $919,077.00 919,260.934 DAI | 0.8199% |
32 | ![]() | 0XDA10009CBD5D07DD0CECC66161FC93D7C9000DA1-0XFD086BC7CD5C481DCC9C85EBE478A1C0B69FCBB9 | $1.004 0.0000355 Btc | $866,617.00 862,441.129 0XDA10009CBD5D07DD0CECC66161FC93D7C9000DA1 | 0.7692% |
33 | ![]() | BUSD-DAI | $0.9999 0.0000353 Btc | $830,829.00 830,579.845 BUSD | 0.7408% |
34 | ![]() | ETH-DAI | $0.9999 0.0000353 Btc | $807,777.00 453.434 ETH | 0.0004% |
35 | ![]() | 0X2791BCA1F2DE4661ED88A30C99A7A9449AA84174-0X8F3CF7AD23CD3CADBD9735AFF958023239C6A063 | $1.004 0.0000355 Btc | $759,954.00 756,974.594 0X2791BCA1F2DE4661ED88A30C99A7A9449AA84174 | 0.6752% |
36 | ![]() | 0X7F5C764CBC14F9669B88837CA1490CCA17C31607-0XDA10009CBD5D07DD0CECC66161FC93D7C9000DA1 | $1.004 0.0000355 Btc | $648,921.00 646,356.248 0X7F5C764CBC14F9669B88837CA1490CCA17C31607 | 0.5765% |
37 | ![]() | USDT-DAI | $0.9999 0.0000353 Btc | $645,780.00 643,848.503 USDT | 0.5743% |
38 | ![]() | DAI-USDT | $1.004 0.0000355 Btc | $620,461.00 617,943.620 DAI | 0.5512% |
39 | ![]() | DAI-USDT | $1.004 0.0000355 Btc | $539,663.00 537,641.140 DAI | 0.4795% |
40 | ![]() | 0X6B175474E89094C44DA98B954EEDEAC495271D0F-0XDAC17F958D2EE523A2206206994597C13D831EC7 | $1.007 0.0000356 Btc | $512,688.00 509,177.476 0X6B175474E89094C44DA98B954EEDEAC495271D0F | 0.4541% |
41 | ![]() | 0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83-0X8D11EC38A3EB5E956B052F67DA8BDC9BEF8ABF3E | $1.006 0.0000355 Btc | $465,759.00 953,699.827 0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83 | 0.8506% |
42 | ![]() | DAI-USDT | $1.004 0.0000355 Btc | $457,606.00 456,109.000 DAI | 0.4068% |
43 | ![]() | 0X4200000000000000000000000000000000000006-0XDA10009CBD5D07DD0CECC66161FC93D7C9000DA1 | $1.006 0.0000356 Btc | $413,888.00 229.180 0X4200000000000000000000000000000000000006 | 0.0002% |
44 | ![]() | 0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83-0X8D11EC38A3EB5E956B052F67DA8BDC9BEF8ABF3E | $1.006 0.0000356 Btc | $397,175.00 812,081.585 0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83 | 0.7243% |
45 | ![]() | DAI-USDT | $1.004 0.0000355 Btc | $323,414.00 322,137.133 DAI | 0.2873% |
46 | ![]() | BIT-DAI | $0.9999 0.0000353 Btc | $309,626.00 584,810.630 BIT | 0.5216% |
47 | ![]() | 0XDA10009CBD5D07DD0CECC66161FC93D7C9000DA1-0X4200000000000000000000000000000000000006 | $1.003 0.0000355 Btc | $308,370.00 303,272.373 0XDA10009CBD5D07DD0CECC66161FC93D7C9000DA1 | 0.2705% |
48 | ![]() | 0X82AF49447D8A07E3BD95BD0D56F35241523FBAB1-0XDA10009CBD5D07DD0CECC66161FC93D7C9000DA1 | $0.9999 0.0000353 Btc | $293,819.00 164.045 0X82AF49447D8A07E3BD95BD0D56F35241523FBAB1 | 0.0001% |
49 | ![]() | DAI-USDC | $1.004 0.0000355 Btc | $284,328.00 283,259.800 DAI | 0.2526% |
50 | ![]() | 0X1AF3F329E8BE154074D8769D1FFA4EE058B1DBC3-BUSD | $1.004 0.0000355 Btc | $280,712.00 280,179.593 0X1AF3F329E8BE154074D8769D1FFA4EE058B1DBC3 | 0.2499% |
51 | ![]() | 0X2791BCA1F2DE4661ED88A30C99A7A9449AA84174-0X8F3CF7AD23CD3CADBD9735AFF958023239C6A063 | $1.004 0.0000355 Btc | $244,890.00 243,936.542 0X2791BCA1F2DE4661ED88A30C99A7A9449AA84174 | 0.2176% |
52 | ![]() | 0XC02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2-DAI | $0.997 0.0000352 Btc | $214,459.00 118.910 0XC02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2 | 0.0001% |
53 | ![]() | 0X049D68029688EABF473097A2FC38EF61633A3C7A-0X8D11EC38A3EB5E956B052F67DA8BDC9BEF8ABF3E | $1.006 0.0000355 Btc | $201,488.00 199,807.950 0X049D68029688EABF473097A2FC38EF61633A3C7A | 0.1782% |
54 | ![]() | 0X6B175474E89094C44DA98B954EEDEAC495271D0F-ETH | $1.007 0.0000356 Btc | $198,315.00 196,876.627 0X6B175474E89094C44DA98B954EEDEAC495271D0F | 0.1756% |
55 | ![]() | 0X6B175474E89094C44DA98B954EEDEAC495271D0F-0XC02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2 | $1.002 0.0000354 Btc | $193,814.00 190,893.426 0X6B175474E89094C44DA98B954EEDEAC495271D0F | 0.1703% |
56 | ![]() | IBC/0CD3A0285E1341859B5E86B6AB7682F023D03E97607CCC1DC95706411D866DF7-UOSMO | $1.002 0.0000354 Btc | $188,416.00 188,049.438 IBC/0CD3A0285E1341859B5E86B6AB7682F023D03E97607CCC1DC95706411D866DF7 | 0.1677% |
57 | ![]() | DAI-USDC | $1.003 0.0000354 Btc | $178,062.00 177,401.000 DAI | 0.1582% |
58 | ![]() | DAI-USDT | $1.004 0.0000355 Btc | $170,975.00 170,278.220 DAI | 0.1519% |
59 | ![]() | 0X7F5C764CBC14F9669B88837CA1490CCA17C31607-0XDA10009CBD5D07DD0CECC66161FC93D7C9000DA1 | $1.003 0.0000355 Btc | $164,105.00 163,526.297 0X7F5C764CBC14F9669B88837CA1490CCA17C31607 | 0.1459% |
60 | ![]() | 0X04068DA6C83AFCFA0E13BA15A6696662335D5B75-0X8D11EC38A3EB5E956B052F67DA8BDC9BEF8ABF3E | $1.007 0.0000356 Btc | $162,005.00 160,898.128 0X04068DA6C83AFCFA0E13BA15A6696662335D5B75 | 0.1435% |
61 | ![]() | DAI-USDT | $1.004 0.0000355 Btc | $149,456.00 148,959.467 DAI | 0.1329% |
62 | ![]() | DAI-USDC | $1.004 0.0000355 Btc | $127,118.00 126,580.540 DAI | 0.1129% |
63 | ![]() | 0X0D500B1D8E8EF31E21C99D1DB9A6444D3ADF1270-0X8F3CF7AD23CD3CADBD9735AFF958023239C6A063 | $1.004 0.0000355 Btc | $118,689.00 105,346.820 0X0D500B1D8E8EF31E21C99D1DB9A6444D3ADF1270 | 0.0940% |
64 | ![]() | 0X6B175474E89094C44DA98B954EEDEAC495271D0F-0XDAC17F958D2EE523A2206206994597C13D831EC7 | $1.006 0.0000355 Btc | $102,211.00 101,576.738 0X6B175474E89094C44DA98B954EEDEAC495271D0F | 0.0906% |
65 | ![]() | DAI-USD | $0.9993 0.0000353 Btc | $98,800.00 98,869.386 DAI | 0.0882% |
66 | ![]() | 0X6B175474E89094C44DA98B954EEDEAC495271D0F-0XB53ECF1345CABEE6EA1A65100EBB153CEBCAC40F | $0.9999 0.0000353 Btc | $95,542.00 96,780.205 0X6B175474E89094C44DA98B954EEDEAC495271D0F | 0.0863% |
67 | ![]() | 0XDA10009CBD5D07DD0CECC66161FC93D7C9000DA1-0XFF970A61A04B1CA14834A43F5DE4533EBDDB5CC8 | $1.007 0.0000356 Btc | $87,229.00 86,669.955 0XDA10009CBD5D07DD0CECC66161FC93D7C9000DA1 | 0.0773% |
68 | ![]() | DAI-USDT | $1.004 0.0000355 Btc | $83,823.00 83,550.850 DAI | 0.0745% |
69 | ![]() | 0XA3FA99A148FA48D14ED51D610C367C61876997F1-0X8F3CF7AD23CD3CADBD9735AFF958023239C6A063 | $1.004 0.0000355 Btc | $81,925.00 81,654.460 0XA3FA99A148FA48D14ED51D610C367C61876997F1 | 0.0728% |
70 | ![]() | ETH-DAI | $0.9999 0.0000353 Btc | $76,076.00 41.906 ETH | 0.0000% |
71 | ![]() | BTC-DAI | $0.9999 0.0000353 Btc | $74,936.00 2.667 BTC | 0.0000% |
72 | ![]() | DAI-USDC | $1.004 0.0000355 Btc | $63,891.00 63,633.000 DAI | 0.0568% |
73 | ![]() | 0X18C11FD286C5EC11C3B683CAA813B77F5163A122-0XDA10009CBD5D07DD0CECC66161FC93D7C9000DA1 | $0.9917 0.0000350 Btc | $61,870.00 7,841.715 0X18C11FD286C5EC11C3B683CAA813B77F5163A122 | 0.0070% |
74 | ![]() | DAI-USDT | $1.004 0.0000355 Btc | $59,328.00 59,124.680 DAI | 0.0527% |
75 | ![]() | 0X765277EEBECA2E31912C9946EAE1021199B39C61-0XFA9343C3897324496A05FC75ABED6BAC29F8A40F | $1.005 0.0000355 Btc | $48,163.00 47,996.344 0X765277EEBECA2E31912C9946EAE1021199B39C61 | 0.0428% |
76 | ![]() | DAI-USD | $0.997 0.0000352 Btc | $46,719.00 46,859.833 DAI | 0.0418% |
77 | ![]() | 0XDAC17F958D2EE523A2206206994597C13D831EC7-DAI | $0.9998 0.0000353 Btc | $45,671.00 45,542.325 0XDAC17F958D2EE523A2206206994597C13D831EC7 | 0.0406% |
78 | ![]() | 0X419D0D8BDD9AF5E606AE2232ED285AFF190E711B-0X6B175474E89094C44DA98B954EEDEAC495271D0F | $1.006 0.0000356 Btc | $39,600.00 5,712,599.599 0X419D0D8BDD9AF5E606AE2232ED285AFF190E711B | 5.0952% |
79 | ![]() | DAI-USDT | $1.004 0.0000355 Btc | $37,416.00 37,276.030 DAI | 0.0332% |
80 | ![]() | DAI-USDT | $1.002 0.0000354 Btc | $33,691.00 33,583.381 DAI | 0.0300% |
81 | ![]() | 0X2791BCA1F2DE4661ED88A30C99A7A9449AA84174-0X8F3CF7AD23CD3CADBD9735AFF958023239C6A063 | $1.005 0.0000355 Btc | $33,072.00 32,800.360 0X2791BCA1F2DE4661ED88A30C99A7A9449AA84174 | 0.0293% |
82 | ![]() | 0X2791BCA1F2DE4661ED88A30C99A7A9449AA84174-DAI | $1.004 0.0000355 Btc | $30,649.00 30,518.908 0X2791BCA1F2DE4661ED88A30C99A7A9449AA84174 | 0.0272% |
83 | ![]() | 0X8F3CF7AD23CD3CADBD9735AFF958023239C6A063-USDC | $1.003 0.0000355 Btc | $30,627.00 30,523.317 0X8F3CF7AD23CD3CADBD9735AFF958023239C6A063 | 0.0272% |
84 | ![]() | 0X7CEB23FD6BC0ADD59E62AC25578270CFF1B9F619-0X8F3CF7AD23CD3CADBD9735AFF958023239C6A063 | $1.007 0.0000356 Btc | $27,667.00 15.308 0X7CEB23FD6BC0ADD59E62AC25578270CFF1B9F619 | 0.0000% |
85 | ![]() | DAI-USDT | $1.002 0.0000354 Btc | $23,129.00 23,101.241 DAI | 0.0206% |
86 | ![]() | 0X8F3CF7AD23CD3CADBD9735AFF958023239C6A063-USDT | $1.004 0.0000355 Btc | $21,839.00 21,754.258 0X8F3CF7AD23CD3CADBD9735AFF958023239C6A063 | 0.0194% |
87 | ![]() | 0XC2132D05D31C914A87C6611C10748AEB04B58E8F-DAI | $1.003 0.0000355 Btc | $21,810.00 21,683.393 0XC2132D05D31C914A87C6611C10748AEB04B58E8F | 0.0193% |
88 | ![]() | ETH-DAI | $0.9999 0.0000353 Btc | $21,073.00 11.658 ETH | 0.0000% |
89 | ![]() | 0X40803CEA2B2A32BDA1BE61D3604AF6A814E70976-0X6B175474E89094C44DA98B954EEDEAC495271D0F | $0.9999 0.0000353 Btc | $17,522.88 34,584.795 0X40803CEA2B2A32BDA1BE61D3604AF6A814E70976 | 0.0308% |
90 | ![]() | DAI-BNT | $0.9905 0.0000350 Btc | $14,891.41 15,033.554 DAI | 0.0134% |
91 | ![]() | 0XB97EF9EF8734C71904D8002F8B6BC66DD9C48A6E-0XD586E7F844CEA2F87F50152665BCBC2C279D8D70 | $1.004 0.0000355 Btc | $14,037.58 13,980.654 0XB97EF9EF8734C71904D8002F8B6BC66DD9C48A6E | 0.0125% |
92 | ![]() | 0XD586E7F844CEA2F87F50152665BCBC2C279D8D70-0XB97EF9EF8734C71904D8002F8B6BC66DD9C48A6E | $1.004 0.0000355 Btc | $14,034.71 13,976.463 0XD586E7F844CEA2F87F50152665BCBC2C279D8D70 | 0.0125% |
93 | ![]() | 0XDA10009CBD5D07DD0CECC66161FC93D7C9000DA1-0XFD086BC7CD5C481DCC9C85EBE478A1C0B69FCBB9 | $1.004 0.0000355 Btc | $13,687.99 13,635.253 0XDA10009CBD5D07DD0CECC66161FC93D7C9000DA1 | 0.0122% |
94 | ![]() | BTC-DAI | $0.9999 0.0000353 Btc | $12,856.89 0.456 BTC | 0.0000% |
95 | ![]() | 0X9702230A8EA53601F5CD2DC00FDBC13D4DF4A8C7-0XD586E7F844CEA2F87F50152665BCBC2C279D8D70 | $1.004 0.0000355 Btc | $7,979.04 7,928.478 0X9702230A8EA53601F5CD2DC00FDBC13D4DF4A8C7 | 0.0071% |
96 | ![]() | 0XDA10009CBD5D07DD0CECC66161FC93D7C9000DA1-0XFF970A61A04B1CA14834A43F5DE4533EBDDB5CC8 | $1.004 0.0000355 Btc | $6,188.68 6,162.970 0XDA10009CBD5D07DD0CECC66161FC93D7C9000DA1 | 0.0055% |
97 | ![]() | 0X6B175474E89094C44DA98B954EEDEAC495271D0F-0XBE56AB825FD35678A32DC35BC4EB17E238E1404F | $0.9999 0.0000353 Btc | $5,365.37 5,427.595 0X6B175474E89094C44DA98B954EEDEAC495271D0F | 0.0048% |
98 | ![]() | 0X2791BCA1F2DE4661ED88A30C99A7A9449AA84174-0X8F3CF7AD23CD3CADBD9735AFF958023239C6A063 | $1.004 0.0000355 Btc | $3,551.53 3,540.215 0X2791BCA1F2DE4661ED88A30C99A7A9449AA84174 | 0.0032% |
99 | ![]() | DAI-USD | $0.9987 0.0000353 Btc | $3,499.67 3,504.152 DAI | 0.0031% |
100 | ![]() | DAI-EUR | $0.9977 0.0000353 Btc | $3,316.75 3,324.488 DAI | 0.0030% |
Similar Match Source Code
Note: This contract matches the deployed ByteCode of the Source Code for Contract 0x30D2a9F5FDf90ACe8c17952cbb4eE48a55D916A7
Contract Name:
UpgradeBeaconProxy
Compiler Version
v0.7.6+commit.7338295f
Optimization Enabled:
Yes with 999999 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity >=0.6.11; // ============ External Imports ============ import {Address} from "@openzeppelin/contracts/utils/Address.sol"; /** * @title UpgradeBeaconProxy * @notice * Proxy contract which delegates all logic, including initialization, * to an implementation contract. * The implementation contract is stored within an Upgrade Beacon contract; * the implementation contract can be changed by performing an upgrade on the Upgrade Beacon contract. * The Upgrade Beacon contract for this Proxy is immutably specified at deployment. * @dev This implementation combines the gas savings of keeping the UpgradeBeacon address outside of contract storage * found in 0age's implementation: * https://github.com/dharma-eng/dharma-smart-wallet/blob/master/contracts/proxies/smart-wallet/UpgradeBeaconProxyV1.sol * With the added safety checks that the UpgradeBeacon and implementation are contracts at time of deployment * found in OpenZeppelin's implementation: * https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/proxy/beacon/BeaconProxy.sol */ contract UpgradeBeaconProxy { // ============ Immutables ============ // Upgrade Beacon address is immutable (therefore not kept in contract storage) address private immutable upgradeBeacon; // ============ Constructor ============ /** * @notice Validate that the Upgrade Beacon is a contract, then set its * address immutably within this contract. * Validate that the implementation is also a contract, * Then call the initialization function defined at the implementation. * The deployment will revert and pass along the * revert reason if the initialization function reverts. * @param _upgradeBeacon Address of the Upgrade Beacon to be stored immutably in the contract * @param _initializationCalldata Calldata supplied when calling the initialization function */ constructor(address _upgradeBeacon, bytes memory _initializationCalldata) payable { // Validate the Upgrade Beacon is a contract require(Address.isContract(_upgradeBeacon), "beacon !contract"); // set the Upgrade Beacon upgradeBeacon = _upgradeBeacon; // Validate the implementation is a contract address _implementation = _getImplementation(_upgradeBeacon); require( Address.isContract(_implementation), "beacon implementation !contract" ); // Call the initialization function on the implementation if (_initializationCalldata.length > 0) { _initialize(_implementation, _initializationCalldata); } } // ============ External Functions ============ /** * @notice Forwards all calls with data to _fallback() * No public functions are declared on the contract, so all calls hit fallback */ fallback() external payable { _fallback(); } /** * @notice Forwards all calls with no data to _fallback() */ receive() external payable { _fallback(); } // ============ Private Functions ============ /** * @notice Call the initialization function on the implementation * Used at deployment to initialize the proxy * based on the logic for initialization defined at the implementation * @param _implementation - Contract to which the initalization is delegated * @param _initializationCalldata - Calldata supplied when calling the initialization function */ function _initialize( address _implementation, bytes memory _initializationCalldata ) private { // Delegatecall into the implementation, supplying initialization calldata. (bool _ok, ) = _implementation.delegatecall(_initializationCalldata); // Revert and include revert data if delegatecall to implementation reverts. if (!_ok) { assembly { returndatacopy(0, 0, returndatasize()) revert(0, returndatasize()) } } } /** * @notice Delegates function calls to the implementation contract returned by the Upgrade Beacon */ function _fallback() private { _delegate(_getImplementation()); } /** * @notice Delegate function execution to the implementation contract * @dev This is a low level function that doesn't return to its internal * call site. It will return whatever is returned by the implementation to the * external caller, reverting and returning the revert data if implementation * reverts. * @param _implementation - Address to which the function execution is delegated */ function _delegate(address _implementation) private { assembly { // Copy msg.data. We take full control of memory in this inline assembly // block because it will not return to Solidity code. We overwrite the // Solidity scratch pad at memory position 0. calldatacopy(0, 0, calldatasize()) // Delegatecall to the implementation, supplying calldata and gas. // Out and outsize are set to zero - instead, use the return buffer. let result := delegatecall( gas(), _implementation, 0, calldatasize(), 0, 0 ) // Copy the returned data from the return buffer. returndatacopy(0, 0, returndatasize()) switch result // Delegatecall returns 0 on error. case 0 { revert(0, returndatasize()) } default { return(0, returndatasize()) } } } /** * @notice Call the Upgrade Beacon to get the current implementation contract address * @return _implementation Address of the current implementation. */ function _getImplementation() private view returns (address _implementation) { _implementation = _getImplementation(upgradeBeacon); } /** * @notice Call the Upgrade Beacon to get the current implementation contract address * @dev _upgradeBeacon is passed as a parameter so that * we can also use this function in the constructor, * where we can't access immutable variables. * @param _upgradeBeacon Address of the UpgradeBeacon storing the current implementation * @return _implementation Address of the current implementation. */ function _getImplementation(address _upgradeBeacon) private view returns (address _implementation) { // Get the current implementation address from the upgrade beacon. (bool _ok, bytes memory _returnData) = _upgradeBeacon.staticcall(""); // Revert and pass along revert message if call to upgrade beacon reverts. require(_ok, string(_returnData)); // Set the implementation to the address returned from the upgrade beacon. _implementation = abi.decode(_returnData, (address)); } }
// SPDX-License-Identifier: MIT pragma solidity >=0.6.2 <0.8.0; /** * @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) { // This method relies on extcodesize, which returns 0 for contracts in // construction, since the code is only stored at the end of the // constructor execution. uint256 size; // solhint-disable-next-line no-inline-assembly assembly { size := extcodesize(account) } return size > 0; } /** * @dev Replacement for Solidity's `transfer`: sends `amount` wei to * `recipient`, forwarding all available gas and reverting on errors. * * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost * of certain opcodes, possibly making contracts go over the 2300 gas limit * imposed by `transfer`, making them unable to receive funds via * `transfer`. {sendValue} removes this limitation. * * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more]. * * IMPORTANT: because control is transferred to `recipient`, care must be * taken to not create reentrancy vulnerabilities. Consider using * {ReentrancyGuard} or the * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern]. */ function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); // solhint-disable-next-line avoid-low-level-calls, avoid-call-value (bool success, ) = recipient.call{ value: amount }(""); require(success, "Address: unable to send value, recipient may have reverted"); } /** * @dev Performs a Solidity function call using a low level `call`. A * plain`call` is an unsafe replacement for a function call: use this * function instead. * * If `target` reverts with a revert reason, it is bubbled up by this * function (like regular Solidity function calls). * * Returns the raw returned data. To convert to the expected return value, * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`]. * * Requirements: * * - `target` must be a contract. * - calling `target` with `data` must not revert. * * _Available since v3.1._ */ function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCall(target, data, "Address: low-level call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with * `errorMessage` as a fallback revert reason when `target` reverts. * * _Available since v3.1._ */ function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { return functionCallWithValue(target, data, 0, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but also transferring `value` wei to `target`. * * Requirements: * * - the calling contract must have an ETH balance of at least `value`. * - the called Solidity function must be `payable`. * * _Available since v3.1._ */ function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) { return functionCallWithValue(target, data, value, "Address: low-level call with value failed"); } /** * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but * with `errorMessage` as a fallback revert reason when `target` reverts. * * _Available since v3.1._ */ function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) { require(address(this).balance >= value, "Address: insufficient balance for call"); require(isContract(target), "Address: call to non-contract"); // solhint-disable-next-line avoid-low-level-calls (bool success, bytes memory returndata) = target.call{ value: value }(data); return _verifyCallResult(success, returndata, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but performing a static call. * * _Available since v3.3._ */ function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) { return functionStaticCall(target, data, "Address: low-level static call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`], * but performing a static call. * * _Available since v3.3._ */ function functionStaticCall(address target, bytes memory data, string memory errorMessage) internal view returns (bytes memory) { require(isContract(target), "Address: static call to non-contract"); // solhint-disable-next-line avoid-low-level-calls (bool success, bytes memory returndata) = target.staticcall(data); return _verifyCallResult(success, returndata, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but performing a delegate call. * * _Available since v3.4._ */ function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) { return functionDelegateCall(target, data, "Address: low-level delegate call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`], * but performing a delegate call. * * _Available since v3.4._ */ function functionDelegateCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { require(isContract(target), "Address: delegate call to non-contract"); // solhint-disable-next-line avoid-low-level-calls (bool success, bytes memory returndata) = target.delegatecall(data); return _verifyCallResult(success, returndata, errorMessage); } function _verifyCallResult(bool success, bytes memory returndata, string memory errorMessage) private pure returns(bytes memory) { if (success) { return returndata; } else { // Look for revert reason and bubble it up if present if (returndata.length > 0) { // The easiest way to bubble the revert reason is using memory via assembly // solhint-disable-next-line no-inline-assembly assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } }
{ "optimizer": { "enabled": true, "runs": 999999 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_upgradeBeacon","type":"address"},{"internalType":"bytes","name":"_initializationCalldata","type":"bytes"}],"stateMutability":"payable","type":"constructor"},{"stateMutability":"payable","type":"fallback"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60a060405260405161058b38038061058b8339818101604052604081101561002657600080fd5b81516020830180516040519294929383019291908464010000000082111561004d57600080fd5b90830190602082018581111561006257600080fd5b825164010000000081118282018810171561007c57600080fd5b82525081516020918201929091019080838360005b838110156100a9578181015183820152602001610091565b50505050905090810190601f1680156100d65780820380516001836020036101000a031916815260200191505b506040525050506100f0826101d060201b6100291760201c565b610134576040805162461bcd60e51b815260206004820152601060248201526f18995858dbdb880858dbdb9d1c9858dd60821b604482015290519081900360640190fd5b6001600160601b0319606083901b166080526000610151836101d6565b9050610166816101d060201b6100291760201c565b6101b7576040805162461bcd60e51b815260206004820152601f60248201527f626561636f6e20696d706c656d656e746174696f6e2021636f6e747261637400604482015290519081900360640190fd5b8151156101c8576101c881836102d6565b50505061038f565b3b151590565b604051600090819081906001600160a01b0385169082818181855afa9150503d8060008114610221576040519150601f19603f3d011682016040523d82523d6000602084013e610226565b606091505b50915091508181906102b65760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561027b578181015183820152602001610263565b50505050905090810190601f1680156102a85780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b508080602001905160208110156102cc57600080fd5b5051949350505050565b6000826001600160a01b0316826040518082805190602001908083835b602083106103125780518252601f1990920191602091820191016102f3565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610372576040519150601f19603f3d011682016040523d82523d6000602084013e610377565b606091505b505090508061038a573d6000803e3d6000fd5b505050565b60805160601c6101e06103ab60003980603652506101e06000f3fe60806040523661001357610011610017565b005b6100115b61002761002261002f565b61005f565b565b3b151590565b600061005a7f0000000000000000000000000000000000000000000000000000000000000000610083565b905090565b3660008037600080366000845af43d6000803e80801561007e573d6000f35b3d6000fd5b6040516000908190819073ffffffffffffffffffffffffffffffffffffffff85169082818181855afa9150503d80600081146100db576040519150601f19603f3d011682016040523d82523d6000602084013e6100e0565b606091505b509150915081819061018a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561014f578181015183820152602001610137565b50505050905090810190601f16801561017c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b508080602001905160208110156101a057600080fd5b505194935050505056fea26469706673582212207a913a499405f220fe73d6c33af6d31fa3d6dd38aef5fe5d043818455b8bd55c64736f6c63430007060033000000000000000000000000969d515486ba6133400ac9c73298586426a090f500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000