Token Dai Stablecoin
Overview CRC20
Price
$1.00 @ 19.730656 CRO (+0.07%)
Fully Diluted Market Cap
Total Supply:
2,507,929.608898 DAI
Holders:
5,181 addresses
Contract:
Decimals:
18
Official Site:
Balance
79.681482342032537412 DAIValue
$79.68 ( ~1,572.1387 CRO) [0.0032%]
[ Download CSV Export ]
[ Download CSV Export ]
OVERVIEW
Multi-Collateral Dai, brings a lot of new and exciting features, such as support for new CDP collateral types and Dai Savings Rate.Market
Volume (24H) | : | $115,057,453.00 |
Market Capitalization | : | $3,825,047,784.00 |
Circulating Supply | : | 3,824,976,296.00 DAI |
Market Data Source: Coinmarketcap |
Update? Click here to update the token ICO / general information
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|---|---|---|---|---|
1 | ![]() | 0X6B175474E89094C44DA98B954EEDEAC495271D0F-0XC02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2 | $1.001 0.0000371 Btc | $8,798,784.00 8,688,541.669 0X6B175474E89094C44DA98B954EEDEAC495271D0F | 30.3118% |
2 | ![]() | 0X6B175474E89094C44DA98B954EEDEAC495271D0F-0XDAC17F958D2EE523A2206206994597C13D831EC7 | $0.9993 0.0000370 Btc | $3,452,414.00 3,452,537.262 0X6B175474E89094C44DA98B954EEDEAC495271D0F | 12.0449% |
3 | ![]() | 0X9F8F72AA9304C8B593D555F12EF6589CC3A579A2-0X6B175474E89094C44DA98B954EEDEAC495271D0F | $1.001 0.0000370 Btc | $2,485,615.00 1,627.006 0X9F8F72AA9304C8B593D555F12EF6589CC3A579A2 | 0.0057% |
4 | ![]() | USDT-DAI | $0.9999 0.0000370 Btc | $1,917,097.00 1,917,985.500 USDT | 6.6913% |
5 | ![]() | 0X7F5C764CBC14F9669B88837CA1490CCA17C31607-0XDA10009CBD5D07DD0CECC66161FC93D7C9000DA1 | $1.001 0.0000370 Btc | $1,646,875.00 1,643,499.549 0X7F5C764CBC14F9669B88837CA1490CCA17C31607 | 5.7337% |
6 | ![]() | 0X6B175474E89094C44DA98B954EEDEAC495271D0F-0XC02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2 | $1.001 0.0000371 Btc | $1,365,771.00 1,351,577.518 0X6B175474E89094C44DA98B954EEDEAC495271D0F | 4.7153% |
7 | ![]() | ETH-DAI | $0.9999 0.0000370 Btc | $1,102,188.00 658.741 ETH | 0.0023% |
8 | ![]() | 0XDA10009CBD5D07DD0CECC66161FC93D7C9000DA1-0XFF970A61A04B1CA14834A43F5DE4533EBDDB5CC8 | $0.9993 0.0000370 Btc | $898,925.00 899,546.760 0XDA10009CBD5D07DD0CECC66161FC93D7C9000DA1 | 3.1383% |
9 | ![]() | DAI-USDT | $1.00 0.0000370 Btc | $893,064.00 892,978.966 DAI | 3.1153% |
10 | ![]() | 0X94B008AA00579C1307B0EF2C499AD98A8CE58E58-0XDA10009CBD5D07DD0CECC66161FC93D7C9000DA1 | $1.001 0.0000370 Btc | $860,017.00 858,551.906 0X94B008AA00579C1307B0EF2C499AD98A8CE58E58 | 2.9952% |
11 | ![]() | 0X7F5C764CBC14F9669B88837CA1490CCA17C31607-0XDA10009CBD5D07DD0CECC66161FC93D7C9000DA1 | $0.9994 0.0000370 Btc | $788,737.00 788,589.942 0X7F5C764CBC14F9669B88837CA1490CCA17C31607 | 2.7512% |
12 | ![]() | DAI-USDT | $0.9998 0.0000370 Btc | $788,210.00 788,385.100 DAI | 2.7504% |
13 | ![]() | BTC-DAI | $0.9999 0.0000370 Btc | $747,575.00 27.734 BTC | 0.0001% |
14 | ![]() | 0X2791BCA1F2DE4661ED88A30C99A7A9449AA84174-0X8F3CF7AD23CD3CADBD9735AFF958023239C6A063 | $0.9999 0.0000370 Btc | $737,672.00 737,659.413 0X2791BCA1F2DE4661ED88A30C99A7A9449AA84174 | 2.5735% |
15 | ![]() | 0X40379A439D4F6795B6FC9AA5687DB461677A2DBA-0X8F3CF7AD23CD3CADBD9735AFF958023239C6A063 | $0.9996 0.0000370 Btc | $627,478.00 627,970.319 0X40379A439D4F6795B6FC9AA5687DB461677A2DBA | 2.1908% |
16 | ![]() | 0X2791BCA1F2DE4661ED88A30C99A7A9449AA84174-0X8F3CF7AD23CD3CADBD9735AFF958023239C6A063 | $0.9999 0.0000370 Btc | $563,581.00 563,551.376 0X2791BCA1F2DE4661ED88A30C99A7A9449AA84174 | 1.9661% |
17 | ![]() | 0X50C5725949A6F0C72E6C4A641F24049A917DB0CB-0XD9AAEC86B65D86F6A7B5B1B0C42FFA531710B6CA | $1.001 0.0000370 Btc | $460,840.00 460,442.169 0X50C5725949A6F0C72E6C4A641F24049A917DB0CB | 1.6063% |
18 | ![]() | 0X183015A9BA6FF60230FDEADC3F43B3D788B13E21-0X6B175474E89094C44DA98B954EEDEAC495271D0F | $0.9999 0.0000370 Btc | $458,593.00 460,579.970 0X183015A9BA6FF60230FDEADC3F43B3D788B13E21 | 1.6068% |
19 | ![]() | 0X4200000000000000000000000000000000000006-0XDA10009CBD5D07DD0CECC66161FC93D7C9000DA1 | $0.9971 0.0000369 Btc | $404,622.00 244.997 0X4200000000000000000000000000000000000006 | 0.0009% |
20 | ![]() | DAI-USD | $0.9999 0.0000370 Btc | $402,844.00 402,884.010 DAI | 1.4055% |
21 | ![]() | ETH-DAI | $0.9999 0.0000370 Btc | $336,557.00 202.978 ETH | 0.0007% |
22 | ![]() | 0XDA10009CBD5D07DD0CECC66161FC93D7C9000DA1-0XFF970A61A04B1CA14834A43F5DE4533EBDDB5CC8 | $1.00 0.0000370 Btc | $309,104.00 309,154.097 0XDA10009CBD5D07DD0CECC66161FC93D7C9000DA1 | 1.0785% |
23 | ![]() | ETH-DAI | $0.9999 0.0000370 Btc | $293,126.00 176.416 ETH | 0.0006% |
24 | ![]() | DAI-USDT | $1.00 0.0000370 Btc | $290,565.00 290,386.680 DAI | 1.0131% |
25 | ![]() | 0XDA10009CBD5D07DD0CECC66161FC93D7C9000DA1-0XFD086BC7CD5C481DCC9C85EBE478A1C0B69FCBB9 | $1.001 0.0000370 Btc | $287,549.00 287,215.976 0XDA10009CBD5D07DD0CECC66161FC93D7C9000DA1 | 1.0020% |
26 | ![]() | DAI-USDT | $1.00 0.0000370 Btc | $232,326.00 232,243.100 DAI | 0.8102% |
27 | ![]() | DAI-USDT | $1.00 0.0000370 Btc | $219,971.00 219,812.261 DAI | 0.7669% |
28 | ![]() | DAI-USDT | $1.00 0.0000370 Btc | $214,604.00 214,547.180 DAI | 0.7485% |
29 | ![]() | 0X6B175474E89094C44DA98B954EEDEAC495271D0F-0XC02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2 | $1.001 0.0000370 Btc | $203,080.00 200,938.758 0X6B175474E89094C44DA98B954EEDEAC495271D0F | 0.7010% |
30 | ![]() | USDT-DAI | $0.9999 0.0000370 Btc | $192,142.00 192,045.822 USDT | 0.6700% |
31 | ![]() | DAI-USD | $1.00 0.0000370 Btc | $172,968.00 172,958.070 DAI | 0.6034% |
32 | ![]() | 0X8F3CF7AD23CD3CADBD9735AFF958023239C6A063-0XC2132D05D31C914A87C6611C10748AEB04B58E8F | $1.00 0.0000370 Btc | $170,117.00 170,077.734 0X8F3CF7AD23CD3CADBD9735AFF958023239C6A063 | 0.5934% |
33 | ![]() | 0X64AA3364F17A4D01C6F1751FD97C2BD3D7E7F1D5-0X6B175474E89094C44DA98B954EEDEAC495271D0F | $0.998 0.0000369 Btc | $161,873.00 14,329.415 0X64AA3364F17A4D01C6F1751FD97C2BD3D7E7F1D5 | 0.0500% |
34 | ![]() | DAI-EUR | $0.9995 0.0000370 Btc | $160,963.00 161,036.073 DAI | 0.5618% |
35 | ![]() | DAI-USDT | $1.001 0.0000370 Btc | $148,174.00 148,085.429 DAI | 0.5166% |
36 | ![]() | DAI-USDT | $1.001 0.0000370 Btc | $136,977.00 136,829.809 DAI | 0.4774% |
37 | ![]() | DAI-USDT | $0.9966 0.0000369 Btc | $134,690.00 135,143.404 DAI | 0.4715% |
38 | ![]() | 0X6B175474E89094C44DA98B954EEDEAC495271D0F-0XC02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2 | $1.001 0.0000370 Btc | $108,422.00 107,333.578 0X6B175474E89094C44DA98B954EEDEAC495271D0F | 0.3745% |
39 | ![]() | DAI-USDT | $0.9999 0.0000370 Btc | $104,299.00 104,312.490 DAI | 0.3639% |
40 | ![]() | BTC-DAI | $0.9999 0.0000370 Btc | $92,397.00 3.424 BTC | 0.0000% |
41 | ![]() | ETH-DAI | $0.9999 0.0000370 Btc | $84,754.00 51.104 ETH | 0.0002% |
42 | ![]() | ETH-DAI | $0.9999 0.0000370 Btc | $80,813.00 48.212 ETH | 0.0002% |
43 | ![]() | 0X7F5C764CBC14F9669B88837CA1490CCA17C31607-0XDA10009CBD5D07DD0CECC66161FC93D7C9000DA1 | $0.9994 0.0000370 Btc | $75,912.00 75,909.585 0X7F5C764CBC14F9669B88837CA1490CCA17C31607 | 0.2648% |
44 | ![]() | 0X2791BCA1F2DE4661ED88A30C99A7A9449AA84174-0X8F3CF7AD23CD3CADBD9735AFF958023239C6A063 | $1.00 0.0000370 Btc | $74,242.00 74,236.524 0X2791BCA1F2DE4661ED88A30C99A7A9449AA84174 | 0.2590% |
45 | ![]() | 0XAF88D065E77C8CC2239327C5EDB3A432268E5831-0XDA10009CBD5D07DD0CECC66161FC93D7C9000DA1 | $0.9996 0.0000370 Btc | $73,384.00 73,400.952 0XAF88D065E77C8CC2239327C5EDB3A432268E5831 | 0.2561% |
46 | ![]() | DAI-BTC | $1.003 0.0000371 Btc | $65,504.00 65,323.328 DAI | 0.2279% |
47 | ![]() | DAI-ETH | $0.999 0.0000370 Btc | $64,783.00 64,848.202 DAI | 0.2262% |
48 | ![]() | 0X82AF49447D8A07E3BD95BD0D56F35241523FBAB1-0XDA10009CBD5D07DD0CECC66161FC93D7C9000DA1 | $0.9959 0.0000369 Btc | $52,764.00 31.979 0X82AF49447D8A07E3BD95BD0D56F35241523FBAB1 | 0.0001% |
49 | ![]() | 0X03AB458634910AAD20EF5F1C8EE96F1D6AC54919-0X6B175474E89094C44DA98B954EEDEAC495271D0F | $1.001 0.0000371 Btc | $47,796.00 17,359.113 0X03AB458634910AAD20EF5F1C8EE96F1D6AC54919 | 0.0606% |
50 | ![]() | DAI-USDT | $0.9991 0.0000369 Btc | $46,782.00 46,825.490 DAI | 0.1634% |
51 | ![]() | DAI-USDC | $1.00 0.0000370 Btc | $41,741.00 41,738.000 DAI | 0.1456% |
52 | ![]() | DAI-USD | $0.9975 0.0000369 Btc | $38,541.00 38,636.400 DAI | 0.1348% |
53 | ![]() | 0X6B175474E89094C44DA98B954EEDEAC495271D0F-0XC02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2 | $0.9994 0.0000369 Btc | $34,336.00 34,993.214 0X6B175474E89094C44DA98B954EEDEAC495271D0F | 0.1221% |
54 | ![]() | DAI-USDT | $0.9985 0.0000369 Btc | $32,492.00 32,542.100 DAI | 0.1135% |
55 | ![]() | 0X2260FAC5E5542A773AA44FBCFEDF7C193BC2C599-0X6B175474E89094C44DA98B954EEDEAC495271D0F | $0.9984 0.0000369 Btc | $32,388.00 1.203 0X2260FAC5E5542A773AA44FBCFEDF7C193BC2C599 | 0.0000% |
56 | ![]() | IBC/0CD3A0285E1341859B5E86B6AB7682F023D03E97607CCC1DC95706411D866DF7-UOSMO | $1.001 0.0000370 Btc | $27,142.00 27,105.403 IBC/0CD3A0285E1341859B5E86B6AB7682F023D03E97607CCC1DC95706411D866DF7 | 0.0946% |
57 | ![]() | USDT-DAI | $0.9999 0.0000370 Btc | $24,826.00 24,833.430 USDT | 0.0866% |
58 | ![]() | 0X6B175474E89094C44DA98B954EEDEAC495271D0F-0XC02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2 | $1.001 0.0000371 Btc | $23,743.00 23,325.585 0X6B175474E89094C44DA98B954EEDEAC495271D0F | 0.0814% |
59 | ![]() | BTC-DAI | $0.9999 0.0000370 Btc | $23,265.00 0.860 BTC | 0.0000% |
60 | ![]() | 0X50C5725949A6F0C72E6C4A641F24049A917DB0CB-0XD9AAEC86B65D86F6A7B5B1B0C42FFA531710B6CA | $1.00 0.0000370 Btc | $21,912.00 21,891.053 0X50C5725949A6F0C72E6C4A641F24049A917DB0CB | 0.0764% |
61 | ![]() | 0XDA10009CBD5D07DD0CECC66161FC93D7C9000DA1-0XFF970A61A04B1CA14834A43F5DE4533EBDDB5CC8 | $1.00 0.0000370 Btc | $17,019.49 17,015.631 0XDA10009CBD5D07DD0CECC66161FC93D7C9000DA1 | 0.0594% |
62 | ![]() | 0XD586E7F844CEA2F87F50152665BCBC2C279D8D70-0XB97EF9EF8734C71904D8002F8B6BC66DD9C48A6E | $0.9993 0.0000370 Btc | $16,765.91 16,777.475 0XD586E7F844CEA2F87F50152665BCBC2C279D8D70 | 0.0585% |
63 | ![]() | 0XB97EF9EF8734C71904D8002F8B6BC66DD9C48A6E-0XD586E7F844CEA2F87F50152665BCBC2C279D8D70 | $0.9992 0.0000370 Btc | $16,761.59 16,762.651 0XB97EF9EF8734C71904D8002F8B6BC66DD9C48A6E | 0.0585% |
64 | ![]() | BTC-DAI | $1.003 0.0000371 Btc | $15,324.48 0.567 BTC | 0.0000% |
65 | ![]() | ETH-DAI | $0.9999 0.0000370 Btc | $14,783.83 8.963 ETH | 0.0000% |
66 | ![]() | 0X50C5725949A6F0C72E6C4A641F24049A917DB0CB-0X4200000000000000000000000000000000000006 | $0.9967 0.0000369 Btc | $14,561.77 14,416.327 0X50C5725949A6F0C72E6C4A641F24049A917DB0CB | 0.0503% |
67 | ![]() | BTC-DAI | $0.9999 0.0000370 Btc | $11,440.35 0.425 BTC | 0.0000% |
68 | ![]() | 0X9702230A8EA53601F5CD2DC00FDBC13D4DF4A8C7-0XD586E7F844CEA2F87F50152665BCBC2C279D8D70 | $0.9992 0.0000370 Btc | $10,528.68 10,534.777 0X9702230A8EA53601F5CD2DC00FDBC13D4DF4A8C7 | 0.0368% |
69 | ![]() | DAI-USDT | $1.00 0.0000370 Btc | $10,279.18 10,277.353 DAI | 0.0359% |
70 | ![]() | ETH-DAI | $0.9999 0.0000370 Btc | $9,816.75 5.852 ETH | 0.0000% |
71 | ![]() | 0XDA10009CBD5D07DD0CECC66161FC93D7C9000DA1-0XFF970A61A04B1CA14834A43F5DE4533EBDDB5CC8 | $1.00 0.0000370 Btc | $9,538.97 9,543.659 0XDA10009CBD5D07DD0CECC66161FC93D7C9000DA1 | 0.0333% |
72 | ![]() | BNB-DAI | $0.9999 0.0000370 Btc | $9,267.90 43.092 BNB | 0.0002% |
73 | ![]() | DAI-USDT | $0.9995 0.0000370 Btc | $9,036.62 9,041.630 DAI | 0.0315% |
74 | ![]() | 0X3347453CED85BD288D783D85CDEC9B01AB90F9D8-0X50C5725949A6F0C72E6C4A641F24049A917DB0CB | $0.9998 0.0000370 Btc | $8,660.85 3,490.592 0X3347453CED85BD288D783D85CDEC9B01AB90F9D8 | 0.0122% |
75 | ![]() | 0X2791BCA1F2DE4661ED88A30C99A7A9449AA84174-DAI | $0.9999 0.0000370 Btc | $8,441.83 8,429.317 0X2791BCA1F2DE4661ED88A30C99A7A9449AA84174 | 0.0294% |
76 | ![]() | 0X8F3CF7AD23CD3CADBD9735AFF958023239C6A063-USDC | $0.9992 0.0000369 Btc | $8,422.27 8,429.332 0X8F3CF7AD23CD3CADBD9735AFF958023239C6A063 | 0.0294% |
77 | ![]() | 0X2791BCA1F2DE4661ED88A30C99A7A9449AA84174-0X8F3CF7AD23CD3CADBD9735AFF958023239C6A063 | $0.9977 0.0000369 Btc | $7,090.94 7,128.082 0X2791BCA1F2DE4661ED88A30C99A7A9449AA84174 | 0.0249% |
78 | ![]() | 0XE5417AF564E4BFDA1C483642DB72007871397896-0X8F3CF7AD23CD3CADBD9735AFF958023239C6A063 | $0.9977 0.0000369 Btc | $6,942.10 2,086.187 0XE5417AF564E4BFDA1C483642DB72007871397896 | 0.0073% |
79 | ![]() | 0X7CEB23FD6BC0ADD59E62AC25578270CFF1B9F619-0X8F3CF7AD23CD3CADBD9735AFF958023239C6A063 | $0.9995 0.0000370 Btc | $6,066.78 3.677 0X7CEB23FD6BC0ADD59E62AC25578270CFF1B9F619 | 0.0000% |
80 | ![]() | DAI-USDT | $0.9985 0.0000369 Btc | $5,976.87 5,975.793 DAI | 0.0208% |
81 | ![]() | 0X7F5C764CBC14F9669B88837CA1490CCA17C31607-0XDA10009CBD5D07DD0CECC66161FC93D7C9000DA1 | $0.9995 0.0000370 Btc | $5,826.77 5,823.499 0X7F5C764CBC14F9669B88837CA1490CCA17C31607 | 0.0203% |
82 | ![]() | 0X50EEC6D765792DCFB0913C8403EF2A12E1B861A6-0X6B175474E89094C44DA98B954EEDEAC495271D0F | $1.001 0.0000370 Btc | $5,774.27 172,175.666 0X50EEC6D765792DCFB0913C8403EF2A12E1B861A6 | 0.6007% |
83 | ![]() | DAI-BNT | $1.006 0.0000372 Btc | $4,834.81 4,804.022 DAI | 0.0168% |
84 | ![]() | DAI-MXN | $0.9972 0.0000369 Btc | $3,977.65 3,988.689 DAI | 0.0139% |
85 | ![]() | 0XC40F949F8A4E094D1B49A23EA9241D289B7B2819-0XDA10009CBD5D07DD0CECC66161FC93D7C9000DA1 | $0.9995 0.0000370 Btc | $3,843.64 3,881.586 0XC40F949F8A4E094D1B49A23EA9241D289B7B2819 | 0.0135% |
86 | ![]() | IBC/0CD3A0285E1341859B5E86B6AB7682F023D03E97607CCC1DC95706411D866DF7-UOSMO | $1.001 0.0000370 Btc | $3,597.82 3,592.909 IBC/0CD3A0285E1341859B5E86B6AB7682F023D03E97607CCC1DC95706411D866DF7 | 0.0125% |
87 | ![]() | DAI-THB | $0.997 0.0000369 Btc | $3,589.27 3,600.137 DAI | 0.0126% |
88 | ![]() | 0X8F3CF7AD23CD3CADBD9735AFF958023239C6A063-USDT | $1.001 0.0000370 Btc | $3,432.26 3,430.458 0X8F3CF7AD23CD3CADBD9735AFF958023239C6A063 | 0.0120% |
89 | ![]() | 0XC2132D05D31C914A87C6611C10748AEB04B58E8F-DAI | $0.9992 0.0000369 Btc | $3,429.10 3,432.129 0XC2132D05D31C914A87C6611C10748AEB04B58E8F | 0.0120% |
90 | ![]() | 0X0D500B1D8E8EF31E21C99D1DB9A6444D3ADF1270-0X8F3CF7AD23CD3CADBD9735AFF958023239C6A063 | $0.9999 0.0000370 Btc | $2,951.67 5,691.043 0X0D500B1D8E8EF31E21C99D1DB9A6444D3ADF1270 | 0.0199% |
91 | ![]() | 0X6B175474E89094C44DA98B954EEDEAC495271D0F-0XC02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2 | $0.9995 0.0000370 Btc | $2,286.29 2,276.047 0X6B175474E89094C44DA98B954EEDEAC495271D0F | 0.0079% |
92 | ![]() | 0XA3FA99A148FA48D14ED51D610C367C61876997F1-DAI | $0.9999 0.0000370 Btc | $2,239.21 2,531.231 0XA3FA99A148FA48D14ED51D610C367C61876997F1 | 0.0088% |
93 | ![]() | 0XDA10009CBD5D07DD0CECC66161FC93D7C9000DA1-0X750BA8B76187092B0D1E87E28DAAF484D1B5273B | $0.9989 0.0000370 Btc | $2,135.43 2,142.978 0XDA10009CBD5D07DD0CECC66161FC93D7C9000DA1 | 0.0075% |
94 | ![]() | DAI-THB | $1.001 0.0000370 Btc | $2,021.71 2,020.698 DAI | 0.0070% |
95 | ![]() | DAI-USDT | $1.002 0.0000371 Btc | $2,019.32 2,020.696 DAI | 0.0070% |
96 | ![]() | 0X7F5C764CBC14F9669B88837CA1490CCA17C31607-0XDA10009CBD5D07DD0CECC66161FC93D7C9000DA1 | $0.9997 0.0000370 Btc | $1,647.10 1,646.950 0X7F5C764CBC14F9669B88837CA1490CCA17C31607 | 0.0057% |
97 | ![]() | 0X6B175474E89094C44DA98B954EEDEAC495271D0F-0XC02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2 | $0.9959 0.0000368 Btc | $1,290.71 1,279.150 0X6B175474E89094C44DA98B954EEDEAC495271D0F | 0.0045% |
98 | ![]() | 0X8F3CF7AD23CD3CADBD9735AFF958023239C6A063-0XC2132D05D31C914A87C6611C10748AEB04B58E8F | $1.001 0.0000370 Btc | $753.05 752.851 0X8F3CF7AD23CD3CADBD9735AFF958023239C6A063 | 0.0026% |
99 | ![]() | 0XDA10009CBD5D07DD0CECC66161FC93D7C9000DA1-0XFF970A61A04B1CA14834A43F5DE4533EBDDB5CC8 | $0.9967 0.0000369 Btc | $740.45 743.051 0XDA10009CBD5D07DD0CECC66161FC93D7C9000DA1 | 0.0026% |
100 | ![]() | 0X2791BCA1F2DE4661ED88A30C99A7A9449AA84174-0X8F3CF7AD23CD3CADBD9735AFF958023239C6A063 | $0.9999 0.0000370 Btc | $353.26 353.446 0X2791BCA1F2DE4661ED88A30C99A7A9449AA84174 | 0.0012% |
Similar Match Source Code This contract matches the deployed ByteCode of the Source Code for Contract 0xc21223249ca28397b4b6541dffaecc539bff0c59 The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
CronosCRC20
Compiler Version
v0.6.11+commit.5ef660b1
Contract Source Code (Solidity)
/** *Submitted for verification at cronoscan.com on 2022-01-11 */ // File contracts/ModuleCRC20.sol // SPDX-License-Identifier: GNU-3 pragma solidity >0.4.13 >=0.4.23 >=0.6.11 <0.7.0; ////// lib/ds-token/lib/ds-auth/src/auth.sol // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program. If not, see <http://www.gnu.org/licenses/>. /* pragma solidity >=0.4.23; */ interface DSAuthority { function canCall( address src, address dst, bytes4 sig ) external view returns (bool); } contract DSAuthEvents { event LogSetAuthority (address indexed authority); event LogSetOwner (address indexed owner); } contract DSAuth is DSAuthEvents { DSAuthority public authority; address public owner; constructor() public { owner = msg.sender; emit LogSetOwner(msg.sender); } function setOwner(address owner_) public auth { owner = owner_; emit LogSetOwner(owner); } function setAuthority(DSAuthority authority_) public auth { authority = authority_; emit LogSetAuthority(address(authority)); } modifier auth { require(isAuthorized(msg.sender, msg.sig), "ds-auth-unauthorized"); _; } function isAuthorized(address src, bytes4 sig) internal view returns (bool) { if (src == address(this)) { return true; } else if (src == owner) { return true; } else if (authority == DSAuthority(address(0))) { return false; } else { return authority.canCall(src, address(this), sig); } } } ////// lib/ds-token/lib/ds-math/src/math.sol /// math.sol -- mixin for inline numerical wizardry // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program. If not, see <http://www.gnu.org/licenses/>. /* pragma solidity >0.4.13; */ contract DSMath { function add(uint x, uint y) internal pure returns (uint z) { require((z = x + y) >= x, "ds-math-add-overflow"); } function sub(uint x, uint y) internal pure returns (uint z) { require((z = x - y) <= x, "ds-math-sub-underflow"); } function mul(uint x, uint y) internal pure returns (uint z) { require(y == 0 || (z = x * y) / y == x, "ds-math-mul-overflow"); } function min(uint x, uint y) internal pure returns (uint z) { return x <= y ? x : y; } function max(uint x, uint y) internal pure returns (uint z) { return x >= y ? x : y; } function imin(int x, int y) internal pure returns (int z) { return x <= y ? x : y; } function imax(int x, int y) internal pure returns (int z) { return x >= y ? x : y; } uint constant WAD = 10 ** 18; uint constant RAY = 10 ** 27; //rounds to zero if x*y < WAD / 2 function wmul(uint x, uint y) internal pure returns (uint z) { z = add(mul(x, y), WAD / 2) / WAD; } //rounds to zero if x*y < WAD / 2 function rmul(uint x, uint y) internal pure returns (uint z) { z = add(mul(x, y), RAY / 2) / RAY; } //rounds to zero if x*y < WAD / 2 function wdiv(uint x, uint y) internal pure returns (uint z) { z = add(mul(x, WAD), y / 2) / y; } //rounds to zero if x*y < RAY / 2 function rdiv(uint x, uint y) internal pure returns (uint z) { z = add(mul(x, RAY), y / 2) / y; } // This famous algorithm is called "exponentiation by squaring" // and calculates x^n with x as fixed-point and n as regular unsigned. // // It's O(log n), instead of O(n) for naive repeated multiplication. // // These facts are why it works: // // If n is even, then x^n = (x^2)^(n/2). // If n is odd, then x^n = x * x^(n-1), // and applying the equation for even x gives // x^n = x * (x^2)^((n-1) / 2). // // Also, EVM division is flooring and // floor[(n-1) / 2] = floor[n / 2]. // function rpow(uint x, uint n) internal pure returns (uint z) { z = n % 2 != 0 ? x : RAY; for (n /= 2; n != 0; n /= 2) { x = rmul(x, x); if (n % 2 != 0) { z = rmul(z, x); } } } } ////// lib/ds-token/src/token.sol /// token.sol -- ERC20 implementation with minting and burning // Copyright (C) 2015, 2016, 2017 DappHub, LLC // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program. If not, see <http://www.gnu.org/licenses/>. /* pragma solidity >=0.4.23; */ /* import "ds-math/math.sol"; */ /* import "ds-auth/auth.sol"; */ contract DSToken is DSMath, DSAuth { bool public stopped; uint256 public totalSupply; mapping (address => uint256) public balanceOf; mapping (address => mapping (address => uint256)) public allowance; string public symbol; uint8 public decimals = 18; // standard token precision. override to customize string public name = ""; // Optional token name constructor(string memory symbol_) public { symbol = symbol_; } event Approval(address indexed src, address indexed guy, uint wad); event Transfer(address indexed src, address indexed dst, uint wad); event Mint(address indexed guy, uint wad); event Burn(address indexed guy, uint wad); event Stop(); event Start(); modifier stoppable { require(!stopped, "ds-stop-is-stopped"); _; } function approve(address guy) external returns (bool) { return approve(guy, uint(-1)); } function approve(address guy, uint wad) public stoppable returns (bool) { allowance[msg.sender][guy] = wad; emit Approval(msg.sender, guy, wad); return true; } function transfer(address dst, uint wad) external returns (bool) { return transferFrom(msg.sender, dst, wad); } function transferFrom(address src, address dst, uint wad) public stoppable returns (bool) { if (src != msg.sender && allowance[src][msg.sender] != uint(-1)) { require(allowance[src][msg.sender] >= wad, "ds-token-insufficient-approval"); allowance[src][msg.sender] = sub(allowance[src][msg.sender], wad); } require(balanceOf[src] >= wad, "ds-token-insufficient-balance"); balanceOf[src] = sub(balanceOf[src], wad); balanceOf[dst] = add(balanceOf[dst], wad); emit Transfer(src, dst, wad); return true; } function push(address dst, uint wad) external { transferFrom(msg.sender, dst, wad); } function pull(address src, uint wad) external { transferFrom(src, msg.sender, wad); } function move(address src, address dst, uint wad) external { transferFrom(src, dst, wad); } function mint(uint wad) external { mint(msg.sender, wad); } function burn(uint wad) external { burn(msg.sender, wad); } function mint(address guy, uint wad) public auth stoppable { balanceOf[guy] = add(balanceOf[guy], wad); totalSupply = add(totalSupply, wad); emit Mint(guy, wad); } function burn(address guy, uint wad) public auth stoppable { if (guy != msg.sender && allowance[guy][msg.sender] != uint(-1)) { require(allowance[guy][msg.sender] >= wad, "ds-token-insufficient-approval"); allowance[guy][msg.sender] = sub(allowance[guy][msg.sender], wad); } require(balanceOf[guy] >= wad, "ds-token-insufficient-balance"); balanceOf[guy] = sub(balanceOf[guy], wad); totalSupply = sub(totalSupply, wad); emit Burn(guy, wad); } function stop() public auth { stopped = true; emit Stop(); } function start() public auth { stopped = false; emit Start(); } function setName(string memory name_) public auth { name = name_; } } ////// src/ModuleCRC20.sol /* pragma solidity ^0.6.11; */ /* import "ds-token/token.sol"; */ contract ModuleCRC20 is DSToken { // sha256('cronos')[:20] address constant module_address = 0x89A7EF2F08B1c018D5Cc88836249b84Dd5392905; string denom; event __CronosSendToEthereum(address recipient, uint256 amount, uint256 bridge_fee); event __CronosSendToIbc(address sender, string recipient, uint256 amount); constructor(string memory denom_, uint8 decimals_) DSToken(denom_) public { decimals = decimals_; denom = denom_; } // unsafe_burn burn tokens without user's approval and authentication, used internally function unsafe_burn(address addr, uint amount) private { // Deduct user's balance without approval require(balanceOf[addr] >= amount, "ds-token-insufficient-balance"); balanceOf[addr] = sub(balanceOf[addr], amount); totalSupply = sub(totalSupply, amount); emit Burn(addr, amount); } function native_denom() public view returns (string memory) { return denom; } function mint_by_cronos_module(address addr, uint amount) public { require(msg.sender == module_address); mint(addr, amount); } function burn_by_cronos_module(address addr, uint amount) public { require(msg.sender == module_address); unsafe_burn(addr, amount); } // send to ethereum through gravity bridge function send_to_ethereum(address recipient, uint amount, uint bridge_fee) external { unsafe_burn(msg.sender, add(amount, bridge_fee)); emit __CronosSendToEthereum(recipient, amount, bridge_fee); } // send an "amount" of the contract token to recipient through IBC function send_to_ibc(string memory recipient, uint amount) public { unsafe_burn(msg.sender, amount); emit __CronosSendToIbc(msg.sender, recipient, amount); } } // File contracts/CronosCRC20.sol pragma solidity 0.6.11; contract CronosCRC20 is ModuleCRC20 { constructor ( string memory _name, string memory _denom, uint8 _decimal ) ModuleCRC20(_denom, _decimal) public { setName(_name); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_denom","type":"string"},{"internalType":"uint8","name":"_decimal","type":"uint8"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"src","type":"address"},{"indexed":true,"internalType":"address","name":"guy","type":"address"},{"indexed":false,"internalType":"uint256","name":"wad","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"guy","type":"address"},{"indexed":false,"internalType":"uint256","name":"wad","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"authority","type":"address"}],"name":"LogSetAuthority","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"}],"name":"LogSetOwner","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"guy","type":"address"},{"indexed":false,"internalType":"uint256","name":"wad","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[],"name":"Start","type":"event"},{"anonymous":false,"inputs":[],"name":"Stop","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"src","type":"address"},{"indexed":true,"internalType":"address","name":"dst","type":"address"},{"indexed":false,"internalType":"uint256","name":"wad","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"recipient","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"bridge_fee","type":"uint256"}],"name":"__CronosSendToEthereum","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"string","name":"recipient","type":"string"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"__CronosSendToIbc","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"guy","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"guy","type":"address"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"authority","outputs":[{"internalType":"contract DSAuthority","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"guy","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn_by_cronos_module","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"guy","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint_by_cronos_module","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"src","type":"address"},{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"move","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"native_denom","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"src","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"pull","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"push","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"bridge_fee","type":"uint256"}],"name":"send_to_ethereum","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"recipient","type":"string"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"send_to_ibc","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract DSAuthority","name":"authority_","type":"address"}],"name":"setAuthority","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"name_","type":"string"}],"name":"setName","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner_","type":"address"}],"name":"setOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"start","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stopped","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"dst","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"src","type":"address"},{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040526012600660006101000a81548160ff021916908360ff1602179055506040518060200160405280600081525060079080519060200190620000479291906200061e565b503480156200005557600080fd5b50604051620031cf380380620031cf833981810160405260608110156200007b57600080fd5b81019080805160405193929190846401000000008211156200009c57600080fd5b83820191506020820185811115620000b357600080fd5b8251866001820283011164010000000082111715620000d157600080fd5b8083526020830192505050908051906020019080838360005b8381101562000107578082015181840152602081019050620000ea565b50505050905090810190601f168015620001355780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200015957600080fd5b838201915060208201858111156200017057600080fd5b82518660018202830111640100000000821117156200018e57600080fd5b8083526020830192505050908051906020019080838360005b83811015620001c4578082015181840152602081019050620001a7565b50505050905090810190601f168015620001f25780820380516001836020036101000a031916815260200191505b506040526020018051906020019092919050505081818133600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff167fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9460405160405180910390a28060059080519060200190620002a59291906200061e565b505080600660006101000a81548160ff021916908360ff1602179055508160089080519060200190620002da9291906200061e565b505050620002ee83620002f760201b60201c565b505050620006cd565b6200032d336000357fffffffff0000000000000000000000000000000000000000000000000000000016620003bc60201b60201c565b620003a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d617574682d756e617574686f72697a656400000000000000000000000081525060200191505060405180910390fd5b8060079080519060200190620003b89291906200061e565b5050565b60003073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415620003fd576001905062000618565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156200045e576001905062000618565b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415620004bf576000905062000618565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b70096138430856040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001935050505060206040518083038186803b158015620005d857600080fd5b505afa158015620005ed573d6000803e3d6000fd5b505050506040513d60208110156200060457600080fd5b810190808051906020019092919050505090505b92915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200066157805160ff191683800117855562000692565b8280016001018555821562000692579182015b828111156200069157825182559160200191906001019062000674565b5b509050620006a19190620006a5565b5090565b620006ca91905b80821115620006c6576000816000905550600101620006ac565b5090565b90565b612af280620006dd6000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c80639dc29fac11610104578063bf7e214f116100a2578063dd62ed3e11610071578063dd62ed3e14610a59578063e978206414610ad1578063ee36665414610b1f578063f2d5d56b14610ba2576101da565b8063bf7e214f146108a0578063c47f0027146108ea578063d3d78b9b146109a5578063daea85c5146109fd576101da565b8063a9059cbb116100de578063a9059cbb14610774578063b753a98c146107da578063bb35783b14610828578063be9a655514610896576101da565b80639dc29fac14610633578063a0712d6814610681578063a515cb40146106af576101da565b806340c10f191161017c57806375f12b211161014b57806375f12b21146105005780637a9e5e4b146105225780638da5cb5b1461056657806395d89b41146105b0576101da565b806340c10f19146103de57806342966c681461042c57806370a082311461045a57806375620d6f146104b2576101da565b806313af4035116101b857806313af4035146102d257806318160ddd1461031657806323b872dd14610334578063313ce567146103ba576101da565b806306fdde03146101df57806307da68f514610262578063095ea7b31461026c575b600080fd5b6101e7610bf0565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561022757808201518184015260208101905061020c565b50505050905090810190601f1680156102545780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61026a610c8e565b005b6102b86004803603604081101561028257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d76565b604051808215151515815260200191505060405180910390f35b610314600480360360208110156102e857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610eeb565b005b61031e611034565b6040518082815260200191505060405180910390f35b6103a06004803603606081101561034a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061103a565b604051808215151515815260200191505060405180910390f35b6103c26115d2565b604051808260ff1660ff16815260200191505060405180910390f35b61042a600480360360408110156103f457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506115e5565b005b6104586004803603602081101561044257600080fd5b81019080803590602001909291905050506117f8565b005b61049c6004803603602081101561047057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611805565b6040518082815260200191505060405180910390f35b6104fe600480360360408110156104c857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061181d565b005b610508611877565b604051808215151515815260200191505060405180910390f35b6105646004803603602081101561053857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061188a565b005b61056e6119d1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105b86119f7565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105f85780820151818401526020810190506105dd565b50505050905090810190601f1680156106255780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61067f6004803603604081101561064957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611a95565b005b6106ad6004803603602081101561069757600080fd5b8101908080359060200190929190505050612033565b005b610772600480360360408110156106c557600080fd5b81019080803590602001906401000000008111156106e257600080fd5b8201836020820111156106f457600080fd5b8035906020019184600183028401116401000000008311171561071657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190505050612040565b005b6107c06004803603604081101561078a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612126565b604051808215151515815260200191505060405180910390f35b610826600480360360408110156107f057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061213b565b005b6108946004803603606081101561083e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061214b565b005b61089e61215c565b005b6108a8612245565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6109a36004803603602081101561090057600080fd5b810190808035906020019064010000000081111561091d57600080fd5b82018360208201111561092f57600080fd5b8035906020019184600183028401116401000000008311171561095157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061226a565b005b6109fb600480360360608110156109bb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190505050612324565b005b610a3f60048036036020811015610a1357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506123af565b604051808215151515815260200191505060405180910390f35b610abb60048036036040811015610a6f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506123e2565b6040518082815260200191505060405180910390f35b610b1d60048036036040811015610ae757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612407565b005b610b27612461565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610b67578082015181840152602081019050610b4c565b50505050905090810190601f168015610b945780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610bee60048036036040811015610bb857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612503565b005b60078054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c865780601f10610c5b57610100808354040283529160200191610c86565b820191906000526020600020905b815481529060010190602001808311610c6957829003601f168201915b505050505081565b610cbc336000357fffffffff0000000000000000000000000000000000000000000000000000000016612513565b610d2e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d617574682d756e617574686f72697a656400000000000000000000000081525060200191505060405180910390fd5b60018060146101000a81548160ff0219169083151502179055507fbedf0f4abfe86d4ffad593d9607fe70e83ea706033d44d24b3b6283cf3fc4f6b60405160405180910390a1565b6000600160149054906101000a900460ff1615610dfb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f64732d73746f702d69732d73746f70706564000000000000000000000000000081525060200191505060405180910390fd5b81600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b610f19336000357fffffffff0000000000000000000000000000000000000000000000000000000016612513565b610f8b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d617574682d756e617574686f72697a656400000000000000000000000081525060200191505060405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9460405160405180910390a250565b60025481565b6000600160149054906101000a900460ff16156110bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f64732d73746f702d69732d73746f70706564000000000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561119757507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b156113955781600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561128e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f64732d746f6b656e2d696e73756666696369656e742d617070726f76616c000081525060200191505060405180910390fd5b611314600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548361276c565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b81600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561144a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f64732d746f6b656e2d696e73756666696369656e742d62616c616e636500000081525060200191505060405180910390fd5b611493600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548361276c565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061151f600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836127ef565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600660009054906101000a900460ff1681565b611613336000357fffffffff0000000000000000000000000000000000000000000000000000000016612513565b611685576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d617574682d756e617574686f72697a656400000000000000000000000081525060200191505060405180910390fd5b600160149054906101000a900460ff1615611708576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f64732d73746f702d69732d73746f70706564000000000000000000000000000081525060200191505060405180910390fd5b611751600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054826127ef565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506117a0600254826127ef565b6002819055508173ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885826040518082815260200191505060405180910390a25050565b6118023382611a95565b50565b60036020528060005260406000206000915090505481565b7389a7ef2f08b1c018d5cc88836249b84dd539290573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461186957600080fd5b6118738282612872565b5050565b600160149054906101000a900460ff1681565b6118b8336000357fffffffff0000000000000000000000000000000000000000000000000000000016612513565b61192a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d617574682d756e617574686f72697a656400000000000000000000000081525060200191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada460405160405180910390a250565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611a8d5780601f10611a6257610100808354040283529160200191611a8d565b820191906000526020600020905b815481529060010190602001808311611a7057829003601f168201915b505050505081565b611ac3336000357fffffffff0000000000000000000000000000000000000000000000000000000016612513565b611b35576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d617574682d756e617574686f72697a656400000000000000000000000081525060200191505060405180910390fd5b600160149054906101000a900460ff1615611bb8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f64732d73746f702d69732d73746f70706564000000000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015611c9057507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b15611e8e5780600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611d87576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f64732d746f6b656e2d696e73756666696369656e742d617070726f76616c000081525060200191505060405180910390fd5b611e0d600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548261276c565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611f43576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f64732d746f6b656e2d696e73756666696369656e742d62616c616e636500000081525060200191505060405180910390fd5b611f8c600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548261276c565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611fdb6002548261276c565b6002819055508173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a25050565b61203d33826115e5565b50565b61204a3382612872565b7f7835232045347ac086653cbd9c0e6303f23502bb796f671a56755142063df2b2338383604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001838152602001828103825284818151815260200191508051906020019080838360005b838110156120e65780820151818401526020810190506120cb565b50505050905090810190601f1680156121135780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a15050565b600061213333848461103a565b905092915050565b61214633838361103a565b505050565b61215683838361103a565b50505050565b61218a336000357fffffffff0000000000000000000000000000000000000000000000000000000016612513565b6121fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d617574682d756e617574686f72697a656400000000000000000000000081525060200191505060405180910390fd5b6000600160146101000a81548160ff0219169083151502179055507f1b55ba3aa851a46be3b365aee5b5c140edd620d578922f3e8466d2cbd96f954b60405160405180910390a1565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b612298336000357fffffffff0000000000000000000000000000000000000000000000000000000016612513565b61230a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d617574682d756e617574686f72697a656400000000000000000000000081525060200191505060405180910390fd5b8060079080519060200190612320929190612a17565b5050565b6123373361233284846127ef565b612872565b7f937492d2511a2fbc9b51ea08825f1e252247d339dfd50904ebf4f4411f1d8136838383604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390a1505050565b60006123db827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610d76565b9050919050565b6004602052816000526040600020602052806000526040600020600091509150505481565b7389a7ef2f08b1c018d5cc88836249b84dd539290573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461245357600080fd5b61245d82826115e5565b5050565b606060088054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156124f95780601f106124ce576101008083540402835291602001916124f9565b820191906000526020600020905b8154815290600101906020018083116124dc57829003601f168201915b5050505050905090565b61250e82338361103a565b505050565b60003073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156125525760019050612766565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156125b15760019050612766565b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156126105760009050612766565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b70096138430856040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001935050505060206040518083038186803b15801561272857600080fd5b505afa15801561273c573d6000803e3d6000fd5b505050506040513d602081101561275257600080fd5b810190808051906020019092919050505090505b92915050565b60008282840391508111156127e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f64732d6d6174682d7375622d756e646572666c6f77000000000000000000000081525060200191505060405180910390fd5b92915050565b600082828401915081101561286c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d6d6174682d6164642d6f766572666c6f7700000000000000000000000081525060200191505060405180910390fd5b92915050565b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015612927576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f64732d746f6b656e2d696e73756666696369656e742d62616c616e636500000081525060200191505060405180910390fd5b612970600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548261276c565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506129bf6002548261276c565b6002819055508173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a25050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10612a5857805160ff1916838001178555612a86565b82800160010185558215612a86579182015b82811115612a85578251825591602001919060010190612a6a565b5b509050612a939190612a97565b5090565b612ab991905b80821115612ab5576000816000905550600101612a9d565b5090565b9056fea26469706673582212207d1371c93de00a190d16292f8a6a4b87b05d0e439fb42a4f18abd31faadc684664736f6c634300060b0033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000855534420436f696e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045553444300000000000000000000000000000000000000000000000000000000
Deployed ByteCode Sourcemap
12031:222:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6832:67;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9708:83;;;:::i;:::-;;7512:195;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1352:128;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6408:69;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7848:621;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6703:71;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8968:195;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8887:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6484:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11265:157;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6336:65;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1488:165;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1212:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6632:64;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9171:529;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8806:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11778:180;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7715:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8477:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8691:105;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9799:86;;;:::i;:::-;;1175:30;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9895:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11478:220;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7402:102;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6558:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11107:150;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11008:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8584:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6832:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;9708:83::-;1694:33;1707:10;1719:7;;;;1694:12;:33::i;:::-;1686:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9757:4:::1;9747:7:::0;::::1;:14;;;;;;;;;;;;;;;;;;9777:6;;;;;;;;;;9708:83::o:0;7512:195::-;7578:4;7344:7;;;;;;;;;;;7343:8;7335:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7624:3:::1;7595:9;:21;7605:10;7595:21;;;;;;;;;;;;;;;:26;7617:3;7595:26;;;;;;;;;;;;;;;:32;;;;7666:3;7645:30;;7654:10;7645:30;;;7671:3;7645:30;;;;;;;;;;;;;;;;;;7695:4;7688:11;;7512:195:::0;;;;:::o;1352:128::-;1694:33;1707:10;1719:7;;;;1694:12;:33::i;:::-;1686:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1432:6:::1;1424:5;;:14;;;;;;;;;;;;;;;;;;1466:5;;;;;;;;;;;1454:18;;;;;;;;;;;;1352:128:::0;:::o;6408:69::-;;;;:::o;7848:621::-;7947:4;7344:7;;;;;;;;;;;7343:8;7335:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7980:10:::1;7973:17;;:3;:17;;;;:59;;;;;8029:2;7994:9;:14;8004:3;7994:14;;;;;;;;;;;;;;;:26;8009:10;7994:26;;;;;;;;;;;;;;;;:38;;7973:59;7969:248;;;8087:3;8057:9;:14;8067:3;8057:14;;;;;;;;;;;;;;;:26;8072:10;8057:26;;;;;;;;;;;;;;;;:33;;8049:76;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;8169:36;8173:9;:14;8183:3;8173:14;;;;;;;;;;;;;;;:26;8188:10;8173:26;;;;;;;;;;;;;;;;8201:3;8169;:36::i;:::-;8140:9;:14;8150:3;8140:14;;;;;;;;;;;;;;;:26;8155:10;8140:26;;;;;;;;;;;;;;;:65;;;;7969:248;8255:3;8237:9;:14;8247:3;8237:14;;;;;;;;;;;;;;;;:21;;8229:63;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;8320:24;8324:9;:14;8334:3;8324:14;;;;;;;;;;;;;;;;8340:3;8320;:24::i;:::-;8303:9;:14;8313:3;8303:14;;;;;;;;;;;;;;;:41;;;;8372:24;8376:9;:14;8386:3;8376:14;;;;;;;;;;;;;;;;8392:3;8372;:24::i;:::-;8355:9;:14;8365:3;8355:14;;;;;;;;;;;;;;;:41;;;;8428:3;8414:23;;8423:3;8414:23;;;8433:3;8414:23;;;;;;;;;;;;;;;;;;8457:4;8450:11;;7848:621:::0;;;;;:::o;6703:71::-;;;;;;;;;;;;;:::o;8968:195::-;1694:33;1707:10;1719:7;;;;1694:12;:33::i;:::-;1686:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7344:7:::1;;;;;;;;;;;7343:8;7335:39;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;9055:24:::2;9059:9;:14;9069:3;9059:14;;;;;;;;;;;;;;;;9075:3;9055;:24::i;:::-;9038:9;:14;9048:3;9038:14;;;;;;;;;;;;;;;:41;;;;9104:21;9108:11;;9121:3;9104;:21::i;:::-;9090:11;:35;;;;9146:3;9141:14;;;9151:3;9141:14;;;;;;;;;;;;;;;;;;8968:195:::0;;:::o;8887:73::-;8931:21;8936:10;8948:3;8931:4;:21::i;:::-;8887:73;:::o;6484:67::-;;;;;;;;;;;;;;;;;:::o;11265:157::-;10187:42;11349:28;;:10;:28;;;11341:37;;;;;;11389:25;11401:4;11407:6;11389:11;:25::i;:::-;11265:157;;:::o;6336:65::-;;;;;;;;;;;;;:::o;1488:165::-;1694:33;1707:10;1719:7;;;;1694:12;:33::i;:::-;1686:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1584:10:::1;1572:9;::::0;:22:::1;;;;;;;;;;;;;;;;;;1634:9;::::0;::::1;;;;;;;;;1610:35;;;;;;;;;;;;1488:165:::0;:::o;1212:26::-;;;;;;;;;;;;;:::o;6632:64::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;9171:529::-;1694:33;1707:10;1719:7;;;;1694:12;:33::i;:::-;1686:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7344:7:::1;;;;;;;;;;;7343:8;7335:39;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;9252:10:::2;9245:17;;:3;:17;;;;:59;;;;;9301:2;9266:9;:14;9276:3;9266:14;;;;;;;;;;;;;;;:26;9281:10;9266:26;;;;;;;;;;;;;;;;:38;;9245:59;9241:248;;;9359:3;9329:9;:14;9339:3;9329:14;;;;;;;;;;;;;;;:26;9344:10;9329:26;;;;;;;;;;;;;;;;:33;;9321:76;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;9441:36;9445:9;:14;9455:3;9445:14;;;;;;;;;;;;;;;:26;9460:10;9445:26;;;;;;;;;;;;;;;;9473:3;9441;:36::i;:::-;9412:9;:14;9422:3;9412:14;;;;;;;;;;;;;;;:26;9427:10;9412:26;;;;;;;;;;;;;;;:65;;;;9241:248;9527:3;9509:9;:14;9519:3;9509:14;;;;;;;;;;;;;;;;:21;;9501:63;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;9592:24;9596:9;:14;9606:3;9596:14;;;;;;;;;;;;;;;;9612:3;9592;:24::i;:::-;9575:9;:14;9585:3;9575:14;;;;;;;;;;;;;;;:41;;;;9641:21;9645:11;;9658:3;9641;:21::i;:::-;9627:11;:35;;;;9683:3;9678:14;;;9688:3;9678:14;;;;;;;;;;;;;;;;;;9171:529:::0;;:::o;8806:73::-;8850:21;8855:10;8867:3;8850:4;:21::i;:::-;8806:73;:::o;11778:180::-;11855:31;11867:10;11879:6;11855:11;:31::i;:::-;11902:48;11920:10;11932:9;11943:6;11902:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11778:180;;:::o;7715:125::-;7774:4;7798:34;7811:10;7823:3;7828;7798:12;:34::i;:::-;7791:41;;7715:125;;;;:::o;8477:99::-;8534:34;8547:10;8559:3;8564;8534:12;:34::i;:::-;;8477:99;;:::o;8691:105::-;8761:27;8774:3;8779;8784;8761:12;:27::i;:::-;;8691:105;;;:::o;9799:86::-;1694:33;1707:10;1719:7;;;;1694:12;:33::i;:::-;1686:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9849:5:::1;9839:7;;:15;;;;;;;;;;;;;;;;;;9870:7;;;;;;;;;;9799:86::o:0;1175:30::-;;;;;;;;;;;;;:::o;9895:81::-;1694:33;1707:10;1719:7;;;;1694:12;:33::i;:::-;1686:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9963:5:::1;9956:4;:12;;;;;;;;;;;;:::i;:::-;;9895:81:::0;:::o;11478:220::-;11573:48;11585:10;11597:23;11601:6;11609:10;11597:3;:23::i;:::-;11573:11;:48::i;:::-;11637:53;11660:9;11671:6;11679:10;11637:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11478:220;;;:::o;7402:102::-;7450:4;7474:22;7482:3;7492:2;7474:7;:22::i;:::-;7467:29;;7402:102;;;:::o;6558:67::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;11107:150::-;10187:42;11191:28;;:10;:28;;;11183:37;;;;;;11231:18;11236:4;11242:6;11231:4;:18::i;:::-;11107:150;;:::o;11008:91::-;11053:13;11086:5;11079:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11008:91;:::o;8584:99::-;8641:34;8654:3;8659:10;8671:3;8641:12;:34::i;:::-;;8584:99;;:::o;1780:389::-;1850:4;1886;1871:20;;:3;:20;;;1867:295;;;1915:4;1908:11;;;;1867:295;1948:5;;;;;;;;;;;1941:12;;:3;:12;;;1937:225;;;1977:4;1970:11;;;;1937:225;2036:1;2003:36;;:9;;;;;;;;;;;:36;;;1999:163;;;2063:5;2056:12;;;;1999:163;2108:9;;;;;;;;;;;:17;;;2126:3;2139:4;2146:3;2108:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2101:49;;1780:389;;;;;:::o;3124:129::-;3176:6;3218:1;3212;3208;:5;3204:9;;;3203:16;;3195:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3124:129;;;;:::o;2990:128::-;3042:6;3084:1;3078;3074;:5;3070:9;;;3069:16;;3061:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2990:128;;;;:::o;10667:333::-;10812:6;10793:9;:15;10803:4;10793:15;;;;;;;;;;;;;;;;:25;;10785:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10881:28;10885:9;:15;10895:4;10885:15;;;;;;;;;;;;;;;;10902:6;10881:3;:28::i;:::-;10863:9;:15;10873:4;10863:15;;;;;;;;;;;;;;;:46;;;;10934:24;10938:11;;10951:6;10934:3;:24::i;:::-;10920:11;:38;;;;10979:4;10974:18;;;10985:6;10974:18;;;;;;;;;;;;;;;;;;10667:333;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o
Swarm Source
ipfs://7d1371c93de00a190d16292f8a6a4b87b05d0e439fb42a4f18abd31faadc6846