Token Frax
This token was updated based on the Boba Network's github documentation.
Overview [ERC-20]
Price
$1.00 @ 0.000595 Eth (-0.55%)
Fully Diluted Market Cap
Max Total Supply:
863.315648071797417727 FRAX
Holders:
29 (0.00%)
Transfers:
-
Contract:
Decimals:
18
Official Site:
[ Download CSV Export ]
[ Download CSV Export ]
Market
Volume (24H) | : | $24,547,550.00 |
Market Capitalization | : | $1,021,911,892.00 |
Circulating Supply | : | 1,023,393,133.00 FRAX |
Market Data Source: Coinmarketcap |
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|---|---|---|---|---|
1 | ![]() | 0X3432B6A60D23CA0DFCA7761B7AB56459D9C964D0-0X853D955ACEF822DB058EB8505911ED77F175B99E | $1.0010 0.0005954 Eth | $7,065,362.0000 639,853.896 0X3432B6A60D23CA0DFCA7761B7AB56459D9C964D0 | 2.1863% |
2 | ![]() | 0X853D955ACEF822DB058EB8505911ED77F175B99E-0XA0B86991C6218B36C1D19D4A2E9EB0CE3606EB48 | $1.0040 0.0005975 Eth | $5,064,695.0000 5,045,128.197 0X853D955ACEF822DB058EB8505911ED77F175B99E | 17.2386% |
3 | ![]() | 0X853D955ACEF822DB058EB8505911ED77F175B99E-0XA0B86991C6218B36C1D19D4A2E9EB0CE3606EB48 | $1.0030 0.0005967 Eth | $3,317,731.0000 3,305,404.953 0X853D955ACEF822DB058EB8505911ED77F175B99E | 11.2942% |
4 | ![]() | 0X0F2D719407FDBEFF09D87557ABB7232601FD9F29-0X853D955ACEF822DB058EB8505911ED77F175B99E | $1.0010 0.0005954 Eth | $2,525,054.0000 2,140,886.039 0X0F2D719407FDBEFF09D87557ABB7232601FD9F29 | 7.3152% |
5 | ![]() | FRAX-ETH | $1.0330 0.0006182 Eth | $2,066,990.0000 2,000,000.113 FRAX | 6.8338% |
6 | ![]() | 0X853D955ACEF822DB058EB8505911ED77F175B99E-0XDAC17F958D2EE523A2206206994597C13D831EC7 | $1.0080 0.0005997 Eth | $1,217,118.0000 1,207,104.204 0X853D955ACEF822DB058EB8505911ED77F175B99E | 4.1245% |
7 | ![]() | FRAX-USDC | $1.0030 0.0005966 Eth | $1,044,809.0000 1,042,103.702 FRAX | 3.5608% |
8 | ![]() | 0X853D955ACEF822DB058EB8505911ED77F175B99E-0XDAC17F958D2EE523A2206206994597C13D831EC7 | $1.0000 0.0005969 Eth | $906,296.0000 905,767.633 0X853D955ACEF822DB058EB8505911ED77F175B99E | 3.0949% |
9 | ![]() | 0X90C97F71E18723B0CF0DFA30EE176AB653E89F40-0XE9E7CEA3DEDCA5984780BAFC599BD69ADD087D56 | $1.0020 0.0005976 Eth | $706,265.0000 705,294.343 0X90C97F71E18723B0CF0DFA30EE176AB653E89F40 | 2.4099% |
10 | ![]() | 0X853D955ACEF822DB058EB8505911ED77F175B99E-0X6C3F90F043A72FA612CBAC8115EE7E52BDE6E490 | $1.0030 0.0005969 Eth | $442,236.0000 431,717.267 0X853D955ACEF822DB058EB8505911ED77F175B99E | 1.4751% |
11 | ![]() | 0X853D955ACEF822DB058EB8505911ED77F175B99E-0XC02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2 | $0.9972 0.0005934 Eth | $315,846.0000 313,087.569 0X853D955ACEF822DB058EB8505911ED77F175B99E | 1.0698% |
12 | ![]() | 0X64343594AB9B56E99087BFA6F2335DB24C2D1F17-0X17FC002B466EEC40DAE837FC4BE5C67993DDBD6F | $1.0010 0.0005957 Eth | $217,077.0000 219,771.443 0X64343594AB9B56E99087BFA6F2335DB24C2D1F17 | 0.7509% |
13 | ![]() | 0X3432B6A60D23CA0DFCA7761B7AB56459D9C964D0-0X853D955ACEF822DB058EB8505911ED77F175B99E | $1.0030 0.0005968 Eth | $216,044.0000 19,510.091 0X3432B6A60D23CA0DFCA7761B7AB56459D9C964D0 | 0.0667% |
14 | ![]() | 0X853D955ACEF822DB058EB8505911ED77F175B99E-0XA0B86991C6218B36C1D19D4A2E9EB0CE3606EB48 | $1.0040 0.0005976 Eth | $171,003.0000 170,304.470 0X853D955ACEF822DB058EB8505911ED77F175B99E | 0.5819% |
15 | ![]() | 0X2E3D870790DC77A83DD1D18184ACC7439A53F475-0X7F5C764CBC14F9669B88837CA1490CCA17C31607 | $1.0050 0.0005979 Eth | $165,701.0000 164,950.983 0X2E3D870790DC77A83DD1D18184ACC7439A53F475 | 0.5636% |
16 | ![]() | 0X6B175474E89094C44DA98B954EEDEAC495271D0F-0X853D955ACEF822DB058EB8505911ED77F175B99E | $1.0060 0.0005989 Eth | $163,556.0000 162,468.072 0X6B175474E89094C44DA98B954EEDEAC495271D0F | 0.5551% |
17 | ![]() | 0X17FC002B466EEC40DAE837FC4BE5C67993DDBD6F-0XFF970A61A04B1CA14834A43F5DE4533EBDDB5CC8 | $1.0010 0.0005957 Eth | $150,922.0000 150,284.523 0X17FC002B466EEC40DAE837FC4BE5C67993DDBD6F | 0.5135% |
18 | ![]() | 0XD24C2AD096400B6FBCD2AD8B24E7ACBC21A1DA64-0XB97EF9EF8734C71904D8002F8B6BC66DD9C48A6E | $1.0040 0.0005976 Eth | $106,122.0000 105,674.677 0XD24C2AD096400B6FBCD2AD8B24E7ACBC21A1DA64 | 0.3611% |
19 | ![]() | 0X90C97F71E18723B0CF0DFA30EE176AB653E89F40-0XE48A3D7D0BC88D552F730B62C006BC925EADB9EE | $0.9990 0.0005945 Eth | $76,949.0000 75,301.166 0X90C97F71E18723B0CF0DFA30EE176AB653E89F40 | 0.2573% |
20 | ![]() | 0X579CEA1889991F68ACC35FF5C3DD0621FF29B0C9-0X853D955ACEF822DB058EB8505911ED77F175B99E | $0.9972 0.0005934 Eth | $74,292.0000 11,594,117.122 0X579CEA1889991F68ACC35FF5C3DD0621FF29B0C9 | 39.6158% |
21 | ![]() | 0X90C97F71E18723B0CF0DFA30EE176AB653E89F40-0XFA4BA88CF97E282C505BEA095297786C16070129 | $0.9991 0.0005961 Eth | $66,897.0000 66,756.385 0X90C97F71E18723B0CF0DFA30EE176AB653E89F40 | 0.2281% |
22 | ![]() | 0XDC301622E621166BD8E82F2CA0A26C13AD0BE355-0X04068DA6C83AFCFA0E13BA15A6696662335D5B75 | $1.0060 0.0005987 Eth | $64,623.0000 64,093.445 0XDC301622E621166BD8E82F2CA0A26C13AD0BE355 | 0.2190% |
23 | ![]() | 0X90C97F71E18723B0CF0DFA30EE176AB653E89F40-0XE48A3D7D0BC88D552F730B62C006BC925EADB9EE | $0.9991 0.0005961 Eth | $63,381.0000 61,835.061 0X90C97F71E18723B0CF0DFA30EE176AB653E89F40 | 0.2113% |
24 | ![]() | 0X2E3D870790DC77A83DD1D18184ACC7439A53F475-0X7F5C764CBC14F9669B88837CA1490CCA17C31607 | $1.0050 0.0005983 Eth | $54,278.0000 53,971.863 0X2E3D870790DC77A83DD1D18184ACC7439A53F475 | 0.1844% |
25 | ![]() | 0XC2544A32872A91F4A553B404C6950E89DE901FDB-0X853D955ACEF822DB058EB8505911ED77F175B99E | $1.0010 0.0005954 Eth | $49,496.0000 38,045.097 0XC2544A32872A91F4A553B404C6950E89DE901FDB | 0.1300% |
26 | ![]() | 0X2E3D870790DC77A83DD1D18184ACC7439A53F475-0X7F5C764CBC14F9669B88837CA1490CCA17C31607 | $1.0090 0.0006003 Eth | $34,793.0000 34,496.992 0X2E3D870790DC77A83DD1D18184ACC7439A53F475 | 0.1179% |
27 | ![]() | 0XDC301622E621166BD8E82F2CA0A26C13AD0BE355-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83 | $1.0070 0.0005990 Eth | $32,437.0000 30,622.006 0XDC301622E621166BD8E82F2CA0A26C13AD0BE355 | 0.1046% |
28 | ![]() | 0X5F98805A4E8BE255A32880FDEC7F6728C6568BA0-0X853D955ACEF822DB058EB8505911ED77F175B99E | $1.0040 0.0005978 Eth | $28,875.0000 28,627.914 0X5F98805A4E8BE255A32880FDEC7F6728C6568BA0 | 0.0978% |
29 | ![]() | 0X45C32FA6DF82EAD1E2EF74D17B76547EDDFAFF89-0X2791BCA1F2DE4661ED88A30C99A7A9449AA84174 | $1.0050 0.0005978 Eth | $28,507.0000 28,275.482 0X45C32FA6DF82EAD1E2EF74D17B76547EDDFAFF89 | 0.0966% |
30 | ![]() | 0XDC301622E621166BD8E82F2CA0A26C13AD0BE355-0X04068DA6C83AFCFA0E13BA15A6696662335D5B75 | $1.0040 0.0005988 Eth | $24,854.0000 24,716.743 0XDC301622E621166BD8E82F2CA0A26C13AD0BE355 | 0.0845% |
31 | ![]() | 0X853D955ACEF822DB058EB8505911ED77F175B99E-0XC02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2 | $0.9913 0.0005899 Eth | $23,021.0000 19,594.656 0X853D955ACEF822DB058EB8505911ED77F175B99E | 0.0670% |
32 | ![]() | 0X6B3595068778DD592E39A122F4F5A5CF09C90FE2-0X853D955ACEF822DB058EB8505911ED77F175B99E | $0.9806 0.0005835 Eth | $15,865.4600 11,334.225 0X6B3595068778DD592E39A122F4F5A5CF09C90FE2 | 0.0387% |
33 | ![]() | 0X64AA3364F17A4D01C6F1751FD97C2BD3D7E7F1D5-0X853D955ACEF822DB058EB8505911ED77F175B99E | $1.0010 0.0005954 Eth | $15,844.3200 1,580.427 0X64AA3364F17A4D01C6F1751FD97C2BD3D7E7F1D5 | 0.0054% |
34 | ![]() | 0X6F80310CA7F2C654691D1383149FA1A57D8AB1F8-0X853D955ACEF822DB058EB8505911ED77F175B99E | $1.0030 0.0005969 Eth | $15,681.3100 282,028.254 0X6F80310CA7F2C654691D1383149FA1A57D8AB1F8 | 0.9637% |
35 | ![]() | 0X57AB1EC28D129707052DF4DF418D58A2D46D5F51-0X853D955ACEF822DB058EB8505911ED77F175B99E | $1.0040 0.0005978 Eth | $15,100.0300 15,011.736 0X57AB1EC28D129707052DF4DF418D58A2D46D5F51 | 0.0513% |
36 | ![]() | 0X45C32FA6DF82EAD1E2EF74D17B76547EDDFAFF89-0X2791BCA1F2DE4661ED88A30C99A7A9449AA84174 | $1.0050 0.0005983 Eth | $14,490.5900 14,333.117 0X45C32FA6DF82EAD1E2EF74D17B76547EDDFAFF89 | 0.0490% |
37 | ![]() | 0X5E8422345238F34275888049021821E8E08CAA1F-0X853D955ACEF822DB058EB8505911ED77F175B99E | $1.0090 0.0006004 Eth | $12,907.9300 7.738 0X5E8422345238F34275888049021821E8E08CAA1F | 0.0000% |
38 | ![]() | FRAX-USDC.E | $1.0050 0.0005996 Eth | $12,068.1900 12,009.141 FRAX | 0.0410% |
39 | ![]() | 0X2E3D870790DC77A83DD1D18184ACC7439A53F475-0X4200000000000000000000000000000000000042 | $1.0050 0.0005979 Eth | $10,940.6800 10,092.757 0X2E3D870790DC77A83DD1D18184ACC7439A53F475 | 0.0345% |
40 | ![]() | FRAX-USDC | $0.9586 0.0005718 Eth | $10,520.9000 10,975.502 FRAX | 0.0375% |
41 | ![]() | 0X1A93B23281CC1CDE4C4741353F3064709A16197D-0X98878B06940AE243284CA214F92BB71A2B032B8A | $1.0000 0.0005953 Eth | $6,953.1900 6,926.548 0X1A93B23281CC1CDE4C4741353F3064709A16197D | 0.0237% |
42 | ![]() | 0XC2544A32872A91F4A553B404C6950E89DE901FDB-0X853D955ACEF822DB058EB8505911ED77F175B99E | $1.0230 0.0006089 Eth | $6,401.8400 4,833.471 0XC2544A32872A91F4A553B404C6950E89DE901FDB | 0.0165% |
43 | ![]() | 0X90C97F71E18723B0CF0DFA30EE176AB653E89F40-0XE9E7CEA3DEDCA5984780BAFC599BD69ADD087D56 | $0.9992 0.0005946 Eth | $5,574.3500 5,905.766 0X90C97F71E18723B0CF0DFA30EE176AB653E89F40 | 0.0202% |
44 | ![]() | 0X5CA135CB8527D76E932F34B5145575F9D8CBE08E-0X853D955ACEF822DB058EB8505911ED77F175B99E | $1.0040 0.0005978 Eth | $5,307.2700 4,928.732 0X5CA135CB8527D76E932F34B5145575F9D8CBE08E | 0.0168% |
45 | ![]() | 0X853D955ACEF822DB058EB8505911ED77F175B99E-0X5CA135CB8527D76E932F34B5145575F9D8CBE08E | $1.0030 0.0005969 Eth | $4,935.7500 4,923.158 0X853D955ACEF822DB058EB8505911ED77F175B99E | 0.0168% |
46 | ![]() | 0X7D016EEC9C25232B01F23EF992D98CA97FC2AF5A-0XDC301622E621166BD8E82F2CA0A26C13AD0BE355 | $1.0030 0.0005987 Eth | $4,389.3400 403.793 0X7D016EEC9C25232B01F23EF992D98CA97FC2AF5A | 0.0014% |
47 | ![]() | 0X2E3D870790DC77A83DD1D18184ACC7439A53F475-0X8C6F28F2F1A3C87F0F938B96D27520D9751EC8D9 | $1.0050 0.0005979 Eth | $4,235.7500 4,215.276 0X2E3D870790DC77A83DD1D18184ACC7439A53F475 | 0.0144% |
48 | ![]() | 0X1A7E4E63778B4F12A199C062F3EFDD288AFCBCE8-0X853D955ACEF822DB058EB8505911ED77F175B99E | $1.0040 0.0005974 Eth | $3,465.2900 3,158.146 0X1A7E4E63778B4F12A199C062F3EFDD288AFCBCE8 | 0.0108% |
49 | ![]() | 0XDC301622E621166BD8E82F2CA0A26C13AD0BE355-0X04068DA6C83AFCFA0E13BA15A6696662335D5B75 | $1.0020 0.0005962 Eth | $2,458.9500 2,453.100 0XDC301622E621166BD8E82F2CA0A26C13AD0BE355 | 0.0084% |
50 | ![]() | USDC-FRAX | $1.0610 0.0006310 Eth | $2,329.9700 2,188.176 USDC | 0.0075% |
51 | ![]() | USDT-FRAX | $1.0060 0.0006329 Eth | $2,015.1000 2,000.000 USDT | 0.0068% |
52 | ![]() | USDC.E-FRAX | $0.9962 0.0006300 Eth | $2,003.3100 2,000.000 USDC.E | 0.0068% |
53 | ![]() | FRAX-GMX | $1.1400 0.0006777 Eth | $1,981.1900 1,735.547 FRAX | 0.0059% |
54 | ![]() | 0X4A436073552044D5F2F49B176853AD3AD473D9D6-0X1A93B23281CC1CDE4C4741353F3064709A16197D | $1.0000 0.0005953 Eth | $1,771.8700 132.029 0X4A436073552044D5F2F49B176853AD3AD473D9D6 | 0.0005% |
55 | ![]() | 0X45C32FA6DF82EAD1E2EF74D17B76547EDDFAFF89-0XA3FA99A148FA48D14ED51D610C367C61876997F1 | $1.0050 0.0005982 Eth | $1,521.7300 1,505.673 0X45C32FA6DF82EAD1E2EF74D17B76547EDDFAFF89 | 0.0051% |
56 | ![]() | 0X322E86852E492A7EE17F28A78C663DA38FB33BFB-0XACC15DC74880C9944775448304B263D191C6077F | $0.9904 0.0005894 Eth | $1,198.6300 1,165.185 0X322E86852E492A7EE17F28A78C663DA38FB33BFB | 0.0040% |
57 | ![]() | 0X236EEC6359FB44CCE8F97E99387AA7F8CD5CDE1F-0X45C32FA6DF82EAD1E2EF74D17B76547EDDFAFF89 | $1.0000 0.0006314 Eth | $1,126.8200 1,129.528 0X236EEC6359FB44CCE8F97E99387AA7F8CD5CDE1F | 0.0039% |
58 | ![]() | 0X45C32FA6DF82EAD1E2EF74D17B76547EDDFAFF89-0XC2132D05D31C914A87C6611C10748AEB04B58E8F | $1.0070 0.0005992 Eth | $1,090.3000 1,072.101 0X45C32FA6DF82EAD1E2EF74D17B76547EDDFAFF89 | 0.0037% |
59 | ![]() | 0XFF709449528B6FB6B88F557F7D93DECE33BCA78D-0X853D955ACEF822DB058EB8505911ED77F175B99E | $1.0030 0.0005969 Eth | $726.9000 724.445 0XFF709449528B6FB6B88F557F7D93DECE33BCA78D | 0.0025% |
60 | ![]() | 0X11EBE21E9D7BF541A18E1E3AC94939018CE88F0B-0X853D955ACEF822DB058EB8505911ED77F175B99E | $0.9972 0.0005934 Eth | $629.9200 126.036 0X11EBE21E9D7BF541A18E1E3AC94939018CE88F0B | 0.0004% |
61 | ![]() | 0X45C32FA6DF82EAD1E2EF74D17B76547EDDFAFF89-0X2791BCA1F2DE4661ED88A30C99A7A9449AA84174 | $1.0050 0.0005978 Eth | $618.1200 615.266 0X45C32FA6DF82EAD1E2EF74D17B76547EDDFAFF89 | 0.0021% |
62 | ![]() | 0XDC301622E621166BD8E82F2CA0A26C13AD0BE355-0X04068DA6C83AFCFA0E13BA15A6696662335D5B75 | $1.0070 0.0005995 Eth | $598.0000 591.677 0XDC301622E621166BD8E82F2CA0A26C13AD0BE355 | 0.0020% |
63 | ![]() | 0X470EBF5F030ED85FC1ED4C2D36B9DD02E77CF1B7-0X853D955ACEF822DB058EB8505911ED77F175B99E | $0.9899 0.0006201 Eth | $481.5200 506.334 0X470EBF5F030ED85FC1ED4C2D36B9DD02E77CF1B7 | 0.0017% |
64 | ![]() | FRAX-MAGIC | $0.9262 0.0005883 Eth | $414.9300 448.000 FRAX | 0.0015% |
65 | ![]() | 0X2E3D870790DC77A83DD1D18184ACC7439A53F475-0X4200000000000000000000000000000000000006 | $0.9898 0.0005891 Eth | $384.1500 377.969 0X2E3D870790DC77A83DD1D18184ACC7439A53F475 | 0.0013% |
66 | ![]() | 0X0F2D719407FDBEFF09D87557ABB7232601FD9F29-0X853D955ACEF822DB058EB8505911ED77F175B99E | $1.0010 0.0005954 Eth | $361.6500 358.780 0X0F2D719407FDBEFF09D87557ABB7232601FD9F29 | 0.0012% |
67 | ![]() | 0XDC301622E621166BD8E82F2CA0A26C13AD0BE355-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83 | $1.0020 0.0005962 Eth | $345.3400 325.643 0XDC301622E621166BD8E82F2CA0A26C13AD0BE355 | 0.0011% |
68 | ![]() | 0X322E86852E492A7EE17F28A78C663DA38FB33BFB-0XACC15DC74880C9944775448304B263D191C6077F | $0.9917 0.0005902 Eth | $326.6400 322.375 0X322E86852E492A7EE17F28A78C663DA38FB33BFB | 0.0011% |
69 | ![]() | 0X853D955ACEF822DB058EB8505911ED77F175B99E-0XC02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2 | $1.0030 0.0005972 Eth | $303.7400 299.249 0X853D955ACEF822DB058EB8505911ED77F175B99E | 0.0010% |
70 | ![]() | 0XCF664087A5BB0237A0BAD6742852EC6C8D69A27A-0XFA7191D292D5633F702B0BD7E3E3BCCC0E633200 | $0.1826 0.0001087 Eth | $278.3500 12,123.200 0XCF664087A5BB0237A0BAD6742852EC6C8D69A27A | 0.0414% |
71 | ![]() | 0XDC301622E621166BD8E82F2CA0A26C13AD0BE355-0X7D016EEC9C25232B01F23EF992D98CA97FC2AF5A | $1.0070 0.0005990 Eth | $276.7700 264.718 0XDC301622E621166BD8E82F2CA0A26C13AD0BE355 | 0.0009% |
72 | ![]() | FTM-FRAX | $1.0140 0.0006217 Eth | $220.7200 478.364 FTM | 0.0016% |
73 | ![]() | 0XDC301622E621166BD8E82F2CA0A26C13AD0BE355-0X21BE370D5312F44CB42CE377BC9B8A0CEF1A4C83 | $1.0010 0.0005959 Eth | $209.9900 198.604 0XDC301622E621166BD8E82F2CA0A26C13AD0BE355 | 0.0007% |
74 | ![]() | 0X579CEA1889991F68ACC35FF5C3DD0621FF29B0C9-0X853D955ACEF822DB058EB8505911ED77F175B99E | $0.9972 0.0005934 Eth | $203.7100 32,258.443 0X579CEA1889991F68ACC35FF5C3DD0621FF29B0C9 | 0.1102% |
75 | ![]() | WBTC-FRAX | $1.0560 0.0006298 Eth | $183.6700 0.007 WBTC | 0.0000% |
76 | ![]() | 0X853D955ACEF822DB058EB8505911ED77F175B99E-0XA0B86991C6218B36C1D19D4A2E9EB0CE3606EB48 | $1.0030 0.0005972 Eth | $147.0400 146.560 0X853D955ACEF822DB058EB8505911ED77F175B99E | 0.0005% |
77 | ![]() | FRAX-FTM | $1.0930 0.0006506 Eth | $122.4800 112.011 FRAX | 0.0004% |
78 | ![]() | 0X45C32FA6DF82EAD1E2EF74D17B76547EDDFAFF89-0X0D500B1D8E8EF31E21C99D1DB9A6444D3ADF1270 | $1.0060 0.0005988 Eth | $116.2300 113.072 0X45C32FA6DF82EAD1E2EF74D17B76547EDDFAFF89 | 0.0004% |
79 | ![]() | 0X985458E523DB3D53125813ED68C274899E9DFAB4-0XFA7191D292D5633F702B0BD7E3E3BCCC0E633200 | $0.1828 0.0001088 Eth | $96.7000 1,066.471 0X985458E523DB3D53125813ED68C274899E9DFAB4 | 0.0036% |
80 | ![]() | FRAX-WETH | $0.9925 0.0005920 Eth | $59.8700 60.318 FRAX | 0.0002% |
81 | ![]() | FRAX-USDD | $1.0910 0.0006876 Eth | $52.8100 48.386 FRAX | 0.0002% |
82 | ![]() | 0X29CED01C447166958605519F10DCF8B0255FB379-0XE9E7CEA3DEDCA5984780BAFC599BD69ADD087D56 | $1.0210 0.0006076 Eth | $42.7100 41.882 0X29CED01C447166958605519F10DCF8B0255FB379 | 0.0001% |
83 | ![]() | 0XDC301622E621166BD8E82F2CA0A26C13AD0BE355-0X04068DA6C83AFCFA0E13BA15A6696662335D5B75 | $0.9988 0.0005944 Eth | $27.0200 26.939 0XDC301622E621166BD8E82F2CA0A26C13AD0BE355 | 0.0001% |
84 | ![]() | 0X17FC002B466EEC40DAE837FC4BE5C67993DDBD6F-0XFF970A61A04B1CA14834A43F5DE4533EBDDB5CC8 | $0.9978 0.0005954 Eth | $24.9500 24.877 0X17FC002B466EEC40DAE837FC4BE5C67993DDBD6F | 0.0001% |
85 | ![]() | 0X45C32FA6DF82EAD1E2EF74D17B76547EDDFAFF89-0XC250E9987A032ACAC293D838726C511E6E1C029D | $1.0150 0.0006046 Eth | $18.7300 18.192 0X45C32FA6DF82EAD1E2EF74D17B76547EDDFAFF89 | 0.0001% |
86 | ![]() | FRAX-ONE | $0.1958 0.0001232 Eth | $12.9200 66.000 FRAX | 0.0002% |
87 | ![]() | 0X45C32FA6DF82EAD1E2EF74D17B76547EDDFAFF89-0XC2132D05D31C914A87C6611C10748AEB04B58E8F | $0.9993 0.0006313 Eth | $8.3000 8.305 0X45C32FA6DF82EAD1E2EF74D17B76547EDDFAFF89 | 0.0000% |
88 | ![]() | 0X29CED01C447166958605519F10DCF8B0255FB379-0XDE2F075F6F14EB9D96755B24E416A53E736CA363 | $1.0210 0.0006076 Eth | $5.8800 5.760 0X29CED01C447166958605519F10DCF8B0255FB379 | 0.0000% |
89 | ![]() | 0XDC301622E621166BD8E82F2CA0A26C13AD0BE355-0X04068DA6C83AFCFA0E13BA15A6696662335D5B75 | $1.0060 0.0006004 Eth | $2.2900 2.270 0XDC301622E621166BD8E82F2CA0A26C13AD0BE355 | 0.0000% |
90 | ![]() | 0X0767D8E1B05EFA8D6A301A65B324B6B66A1CC14C-0XFA7191D292D5633F702B0BD7E3E3BCCC0E633200 | $0.1826 0.0001087 Eth | $1.5100 3.694 0X0767D8E1B05EFA8D6A301A65B324B6B66A1CC14C | 0.0000% |
91 | ![]() | USDT-FRAX | $0.7248 0.0004541 Eth | $0.9951 1.000 USDT | 0.0000% |
92 | ![]() | 0X2E3D870790DC77A83DD1D18184ACC7439A53F475-0X7F5C764CBC14F9669B88837CA1490CCA17C31607 | $1.0010 0.0006360 Eth | $0.0298 0.030 0X2E3D870790DC77A83DD1D18184ACC7439A53F475 | 0.0000% |
Similar Match Source Code
Note: This contract matches the deployed ByteCode of the Source Code for Contract 0x023F34ce25758d4BC8FaC68e7472545D6b86d4Ea
Contract Name:
L2StandardERC20
Compiler Version
v0.8.9+commit.e5eed63a
Optimization Enabled:
Yes with 10000 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity ^0.8.9; import { ERC20 } from "@openzeppelin/contracts/token/ERC20/ERC20.sol"; import "./IL2StandardERC20.sol"; contract L2StandardERC20 is IL2StandardERC20, ERC20 { address public l1Token; address public l2Bridge; uint8 private immutable _decimals; /** * @param _l2Bridge Address of the L2 standard bridge. * @param _l1Token Address of the corresponding L1 token. * @param _name ERC20 name. * @param _symbol ERC20 symbol. * @param decimals_ ERC20 decimals. */ constructor( address _l2Bridge, address _l1Token, string memory _name, string memory _symbol, uint8 decimals_ ) ERC20(_name, _symbol) { l1Token = _l1Token; l2Bridge = _l2Bridge; _decimals = decimals_; } modifier onlyL2Bridge() { require(msg.sender == l2Bridge, "Only L2 Bridge can mint and burn"); _; } function supportsInterface(bytes4 _interfaceId) public pure returns (bool) { bytes4 firstSupportedInterface = bytes4(keccak256("supportsInterface(bytes4)")); // ERC165 bytes4 secondSupportedInterface = IL2StandardERC20.l1Token.selector ^ IL2StandardERC20.mint.selector ^ IL2StandardERC20.burn.selector; return _interfaceId == firstSupportedInterface || _interfaceId == secondSupportedInterface; } function mint(address _to, uint256 _amount) public virtual onlyL2Bridge { _mint(_to, _amount); emit Mint(_to, _amount); } function burn(address _from, uint256 _amount) public virtual onlyL2Bridge { _burn(_from, _amount); emit Burn(_from, _amount); } function decimals() public view virtual override returns (uint8) { return _decimals; } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import "./IERC20.sol"; import "./extensions/IERC20Metadata.sol"; import "../../utils/Context.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 Contracts guidelines: functions revert * instead 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 * by listening to said events. Other implementations of the EIP may not emit * these events, as it isn't required by the specification. * * Finally, the non-standard {decreaseAllowance} and {increaseAllowance} * functions have been added to mitigate the well-known issues around setting * allowances. See {IERC20-approve}. */ contract ERC20 is Context, IERC20, IERC20Metadata { mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; /** * @dev Sets the values for {name} and {symbol}. * * The default value of {decimals} is 18. To select a different value for * {decimals} you should overload it. * * All two of these values are immutable: they can only be set once during * construction. */ constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } /** * @dev Returns the name of the token. */ function name() public view virtual override returns (string memory) { return _name; } /** * @dev Returns the symbol of the token, usually a shorter version of the * name. */ function symbol() public view virtual override returns (string memory) { return _symbol; } /** * @dev Returns the number of decimals used to get its user representation. * For example, if `decimals` equals `2`, a balance of `505` tokens should * be displayed to a user as `5.05` (`505 / 10 ** 2`). * * Tokens usually opt for a value of 18, imitating the relationship between * Ether and Wei. This is the value {ERC20} uses, unless this function is * overridden; * * NOTE: This information is only used for _display_ purposes: it in * no way affects any of the arithmetic of the contract, including * {IERC20-balanceOf} and {IERC20-transfer}. */ function decimals() public view virtual override returns (uint8) { return 18; } /** * @dev See {IERC20-totalSupply}. */ function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } /** * @dev See {IERC20-balanceOf}. */ function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } /** * @dev See {IERC20-transfer}. * * Requirements: * * - `recipient` cannot be the zero address. * - the caller must have a balance of at least `amount`. */ function transfer(address recipient, uint256 amount) public virtual override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } /** * @dev See {IERC20-allowance}. */ function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } /** * @dev See {IERC20-approve}. * * Requirements: * * - `spender` cannot be the zero address. */ function approve(address spender, uint256 amount) public virtual override returns (bool) { _approve(_msgSender(), spender, amount); return true; } /** * @dev See {IERC20-transferFrom}. * * Emits an {Approval} event indicating the updated allowance. This is not * required by the EIP. See the note at the beginning of {ERC20}. * * Requirements: * * - `sender` and `recipient` cannot be the zero address. * - `sender` must have a balance of at least `amount`. * - the caller must have allowance for ``sender``'s tokens of at least * `amount`. */ function transferFrom( address sender, address recipient, uint256 amount ) public virtual override returns (bool) { _transfer(sender, recipient, amount); uint256 currentAllowance = _allowances[sender][_msgSender()]; require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance"); unchecked { _approve(sender, _msgSender(), currentAllowance - amount); } return true; } /** * @dev Atomically increases the allowance granted to `spender` by the caller. * * This is an alternative to {approve} that can be used as a mitigation for * problems described in {IERC20-approve}. * * Emits an {Approval} event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. */ function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue); return true; } /** * @dev Atomically decreases the allowance granted to `spender` by the caller. * * This is an alternative to {approve} that can be used as a mitigation for * problems described in {IERC20-approve}. * * Emits an {Approval} event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. * - `spender` must have allowance for the caller of at least * `subtractedValue`. */ function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { uint256 currentAllowance = _allowances[_msgSender()][spender]; require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); unchecked { _approve(_msgSender(), spender, currentAllowance - subtractedValue); } return true; } /** * @dev Moves `amount` of tokens from `sender` to `recipient`. * * This internal function is equivalent to {transfer}, and can be used to * e.g. implement automatic token fees, slashing mechanisms, etc. * * Emits a {Transfer} event. * * Requirements: * * - `sender` cannot be the zero address. * - `recipient` cannot be the zero address. * - `sender` must have a balance of at least `amount`. */ function _transfer( address sender, address recipient, uint256 amount ) internal virtual { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); _beforeTokenTransfer(sender, recipient, amount); uint256 senderBalance = _balances[sender]; require(senderBalance >= amount, "ERC20: transfer amount exceeds balance"); unchecked { _balances[sender] = senderBalance - amount; } _balances[recipient] += amount; emit Transfer(sender, recipient, amount); _afterTokenTransfer(sender, recipient, amount); } /** @dev Creates `amount` tokens and assigns them to `account`, increasing * the total supply. * * Emits a {Transfer} event with `from` set to the zero address. * * Requirements: * * - `account` cannot be the zero address. */ function _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _beforeTokenTransfer(address(0), account, amount); _totalSupply += amount; _balances[account] += amount; emit Transfer(address(0), account, amount); _afterTokenTransfer(address(0), account, amount); } /** * @dev Destroys `amount` tokens from `account`, reducing the * total supply. * * Emits a {Transfer} event with `to` set to the zero address. * * Requirements: * * - `account` cannot be the zero address. * - `account` must have at least `amount` tokens. */ function _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); _beforeTokenTransfer(account, address(0), amount); uint256 accountBalance = _balances[account]; require(accountBalance >= amount, "ERC20: burn amount exceeds balance"); unchecked { _balances[account] = accountBalance - amount; } _totalSupply -= amount; emit Transfer(account, address(0), amount); _afterTokenTransfer(account, address(0), amount); } /** * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens. * * This internal function is equivalent to `approve`, and can be used to * e.g. set automatic allowances for certain subsystems, etc. * * Emits an {Approval} event. * * Requirements: * * - `owner` cannot be the zero address. * - `spender` cannot be the zero address. */ function _approve( address owner, address spender, uint256 amount ) internal virtual { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } /** * @dev Hook that is called before any transfer of tokens. This includes * minting and burning. * * Calling conditions: * * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens * will be transferred to `to`. * - when `from` is zero, `amount` tokens will be minted for `to`. * - when `to` is zero, `amount` of ``from``'s tokens will be burned. * - `from` and `to` are never both zero. * * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. */ function _beforeTokenTransfer( address from, address to, uint256 amount ) internal virtual {} /** * @dev Hook that is called after any transfer of tokens. This includes * minting and burning. * * Calling conditions: * * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens * has been transferred to `to`. * - when `from` is zero, `amount` tokens have been minted for `to`. * - when `to` is zero, `amount` of ``from``'s tokens have been burned. * - `from` and `to` are never both zero. * * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. */ function _afterTokenTransfer( address from, address to, uint256 amount ) internal virtual {} }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.9; import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import { IERC165 } from "@openzeppelin/contracts/utils/introspection/IERC165.sol"; interface IL2StandardERC20 is IERC20, IERC165 { function l1Token() external returns (address); function mint(address _to, uint256 _amount) external; function burn(address _from, uint256 _amount) external; event Mint(address indexed _account, uint256 _amount); event Burn(address indexed _account, uint256 _amount); }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; /** * @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); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import "../IERC20.sol"; /** * @dev Interface for the optional metadata functions from the ERC20 standard. * * _Available since v4.1._ */ interface IERC20Metadata is IERC20 { /** * @dev Returns the name of the token. */ function name() external view returns (string memory); /** * @dev Returns the symbol of the token. */ function symbol() external view returns (string memory); /** * @dev Returns the decimals places of the token. */ function decimals() external view returns (uint8); }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.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 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) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; /** * @dev Interface of the ERC165 standard, as defined in the * https://eips.ethereum.org/EIPS/eip-165[EIP]. * * Implementers can declare support of contract interfaces, which can then be * queried by others ({ERC165Checker}). * * For an implementation, see {ERC165}. */ interface IERC165 { /** * @dev Returns true if this contract implements the interface defined by * `interfaceId`. See the corresponding * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] * to learn more about how these ids are created. * * This function call must use less than 30 000 gas. */ function supportsInterface(bytes4 interfaceId) external view returns (bool); }
{ "optimizer": { "enabled": true, "runs": 10000 }, "metadata": { "bytecodeHash": "none", "useLiteralContent": true }, "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":"_l2Bridge","type":"address"},{"internalType":"address","name":"_l1Token","type":"address"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"uint8","name":"decimals_","type":"uint8"}],"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":true,"internalType":"address","name":"_account","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_account","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"Mint","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":[{"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":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"l1Token","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"l2Bridge","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"_interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60a06040523480156200001157600080fd5b50604051620013fd380380620013fd833981016040819052620000349162000234565b8251839083906200004d906003906020850190620000a4565b50805162000063906004906020840190620000a4565b5050600580546001600160a01b039687166001600160a01b0319918216179091556006805497909616961695909517909355505060ff16608052506200031d565b828054620000b290620002e0565b90600052602060002090601f016020900481019282620000d6576000855562000121565b82601f10620000f157805160ff191683800117855562000121565b8280016001018555821562000121579182015b828111156200012157825182559160200191906001019062000104565b506200012f92915062000133565b5090565b5b808211156200012f576000815560010162000134565b80516001600160a01b03811681146200016257600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200018f57600080fd5b81516001600160401b0380821115620001ac57620001ac62000167565b604051601f8301601f19908116603f01168101908282118183101715620001d757620001d762000167565b81604052838152602092508683858801011115620001f457600080fd5b600091505b83821015620002185785820183015181830184015290820190620001f9565b838211156200022a5760008385830101525b9695505050505050565b600080600080600060a086880312156200024d57600080fd5b62000258866200014a565b945062000268602087016200014a565b60408701519094506001600160401b03808211156200028657600080fd5b6200029489838a016200017d565b94506060880151915080821115620002ab57600080fd5b50620002ba888289016200017d565b925050608086015160ff81168114620002d257600080fd5b809150509295509295909350565b600181811c90821680620002f557607f821691505b602082108114156200031757634e487b7160e01b600052602260045260246000fd5b50919050565b6080516110c462000339600039600061018101526110c46000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c806370a0823111610097578063a9059cbb11610066578063a9059cbb14610237578063ae1f6aaf1461024a578063c01e1bd61461028f578063dd62ed3e146102af57600080fd5b806370a08231146101d357806395d89b41146102095780639dc29fac14610211578063a457c2d71461022457600080fd5b806323b872dd116100d357806323b872dd14610167578063313ce5671461017a57806339509351146101ab57806340c10f19146101be57600080fd5b806301ffc9a71461010557806306fdde031461012d578063095ea7b31461014257806318160ddd14610155575b600080fd5b610118610113366004610e6c565b6102f5565b60405190151581526020015b60405180910390f35b6101356103b5565b6040516101249190610eb5565b610118610150366004610f51565b610447565b6002545b604051908152602001610124565b610118610175366004610f7b565b61045d565b60405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610124565b6101186101b9366004610f51565b61052e565b6101d16101cc366004610f51565b610577565b005b6101596101e1366004610fb7565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b61013561063c565b6101d161021f366004610f51565b61064b565b610118610232366004610f51565b610704565b610118610245366004610f51565b6107c2565b60065461026a9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610124565b60055461026a9073ffffffffffffffffffffffffffffffffffffffff1681565b6101596102bd366004610fd2565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b60007f01ffc9a7a5cef8baa21ed3c5c0d7e23accb804b619e9333b597f47a0d84076e27f1d1d8b63000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000084167f01ffc9a70000000000000000000000000000000000000000000000000000000014806103ad57507fffffffff00000000000000000000000000000000000000000000000000000000848116908216145b949350505050565b6060600380546103c490611005565b80601f01602080910402602001604051908101604052809291908181526020018280546103f090611005565b801561043d5780601f106104125761010080835404028352916020019161043d565b820191906000526020600020905b81548152906001019060200180831161042057829003601f168201915b5050505050905090565b60006104543384846107cf565b50600192915050565b600061046a84848461094f565b73ffffffffffffffffffffffffffffffffffffffff84166000908152600160209081526040808320338452909152902054828110156105165760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206160448201527f6c6c6f77616e636500000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61052385338584036107cf565b506001949350505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091610454918590610572908690611088565b6107cf565b60065473ffffffffffffffffffffffffffffffffffffffff1633146105de5760405162461bcd60e51b815260206004820181905260248201527f4f6e6c79204c32204272696467652063616e206d696e7420616e64206275726e604482015260640161050d565b6105e88282610bb5565b8173ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858260405161063091815260200190565b60405180910390a25050565b6060600480546103c490611005565b60065473ffffffffffffffffffffffffffffffffffffffff1633146106b25760405162461bcd60e51b815260206004820181905260248201527f4f6e6c79204c32204272696467652063616e206d696e7420616e64206275726e604482015260640161050d565b6106bc8282610cbb565b8173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58260405161063091815260200190565b33600090815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff86168452909152812054828110156107ab5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f000000000000000000000000000000000000000000000000000000606482015260840161050d565b6107b833858584036107cf565b5060019392505050565b600061045433848461094f565b73ffffffffffffffffffffffffffffffffffffffff83166108575760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161050d565b73ffffffffffffffffffffffffffffffffffffffff82166108e05760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015260840161050d565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff83166109d85760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015260840161050d565b73ffffffffffffffffffffffffffffffffffffffff8216610a615760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015260840161050d565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205481811015610afd5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e63650000000000000000000000000000000000000000000000000000606482015260840161050d565b73ffffffffffffffffffffffffffffffffffffffff808516600090815260208190526040808220858503905591851681529081208054849290610b41908490611088565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610ba791815260200190565b60405180910390a350505050565b73ffffffffffffffffffffffffffffffffffffffff8216610c185760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161050d565b8060026000828254610c2a9190611088565b909155505073ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604081208054839290610c64908490611088565b909155505060405181815273ffffffffffffffffffffffffffffffffffffffff8316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff8216610d445760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f7300000000000000000000000000000000000000000000000000000000000000606482015260840161050d565b73ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090205481811015610de05760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f6365000000000000000000000000000000000000000000000000000000000000606482015260840161050d565b73ffffffffffffffffffffffffffffffffffffffff83166000908152602081905260408120838303905560028054849290610e1c9084906110a0565b909155505060405182815260009073ffffffffffffffffffffffffffffffffffffffff8516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610942565b600060208284031215610e7e57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610eae57600080fd5b9392505050565b600060208083528351808285015260005b81811015610ee257858101830151858201604001528201610ec6565b81811115610ef4576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610f4c57600080fd5b919050565b60008060408385031215610f6457600080fd5b610f6d83610f28565b946020939093013593505050565b600080600060608486031215610f9057600080fd5b610f9984610f28565b9250610fa760208501610f28565b9150604084013590509250925092565b600060208284031215610fc957600080fd5b610eae82610f28565b60008060408385031215610fe557600080fd5b610fee83610f28565b9150610ffc60208401610f28565b90509250929050565b600181811c9082168061101957607f821691505b60208210811415611053577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000821982111561109b5761109b611059565b500190565b6000828210156110b2576110b2611059565b50039056fea164736f6c6343000809000a000000000000000000000000420000000000000000000000000000000000001000000000000000000000000015b0dd2c5db529ab870915ff498bea6d20fb6b9600000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000004424f424f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004424f424f00000000000000000000000000000000000000000000000000000000