Overview
Max Total Supply
2,200,071,960.678319126969642295 CRV
Holders
88,654 ( 0.012%)
Market
Price
$1.11 @ 0.000282 ETH (-1.33%)
Onchain Market Cap
$2,433,312,171.92
Circulating Supply Market Cap
$1,378,196,538.62
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|---|---|---|---|---|
1 | Binance | CRV-USDT | $1.10 0.0002824 Eth | $227,273,627.00 209,455,370.600 CRV | 23.1405% |
2 | Websea | CRV-USDT | $1.11 0.0002829 Eth | $121,726,515.00 0.000 CRV | 0.0000% |
3 | WhiteBIT | CRV-USDT | $1.10 0.0002824 Eth | $94,347,268.00 85,425,628.042 CRV | 9.4378% |
4 | Gate.io | CRV-USDT | $1.11 0.0002837 Eth | $91,606,469.00 84,371,804.524 CRV | 9.3213% |
5 | OKX | CRV-USDT | $1.11 0.0002836 Eth | $69,713,479.00 64,114,250.169 CRV | 7.0833% |
6 | MEXC | CRV-USDT | $1.11 0.0002829 Eth | $50,799,369.00 45,898,951.462 CRV | 5.0709% |
7 | Bitget | CRV-USDT | $1.11 0.0002833 Eth | $38,773,421.00 35,084,751.741 CRV | 3.8761% |
8 | Coinbase Exchange | CRV-USD | $1.11 0.0002829 Eth | $37,414,582.00 33,807,339.220 CRV | 3.7350% |
9 | Bybit | CRV-USDT | $1.11 0.0002839 Eth | $36,211,578.00 33,127,282.810 CRV | 3.6599% |
10 | Bitunix | CRV-USDT | $1.11 0.0002834 Eth | $35,229,288.00 31,786,178.800 CRV | 3.5117% |
11 | HTX | CRV-USDT | $1.11 0.0002837 Eth | $33,226,611.00 30,495,095.079 CRV | 3.3691% |
12 | Slex | CRV-USDT | $1.10 0.0002823 Eth | $21,088,516.00 19,321,619.000 CRV | 2.1346% |
13 | XT.COM | CRV-USDT | $1.10 0.0002824 Eth | $18,327,923.00 16,889,724.000 CRV | 1.8660% |
14 | BTSE | CRV-USDT | $1.11 0.0002825 Eth | $17,609,917.00 15,933,529.278 CRV | 1.7603% |
15 | LBank | CRV-USDT | $1.10 0.0002820 Eth | $15,244,275.00 13,814,625.240 CRV | 1.5262% |
16 | DigiFinex | CRV-USDT | $1.11 0.0002832 Eth | $12,755,781.00 11,517,280.100 CRV | 1.2724% |
17 | Kraken | CRV-USD | $1.11 0.0002836 Eth | $10,609,610.00 9,566,826.290 CRV | 1.0569% |
18 | Niza Global | CRV-USD | $1.11 0.0002834 Eth | $10,436,971.00 9,566,865.031 CRV | 1.0569% |
19 | Currency.com | CRV-USD | $1.11 0.0002840 Eth | $9,877,482.00 8,871,060.000 CRV | 0.9801% |
20 | KuCoin | CRV-USDT | $1.11 0.0002833 Eth | $9,584,602.00 8,654,799.595 CRV | 0.9562% |
21 | BYDFi | CRV-USDT | $1.11 0.0002834 Eth | $9,060,625.00 8,175,829.600 CRV | 0.9033% |
22 | Hotcoin | CRV-USDT | $1.11 0.0002829 Eth | $8,920,484.00 8,066,867.600 CRV | 0.8912% |
23 | Binance | CRV-USDC | $1.10 0.0002819 Eth | $7,625,994.00 6,884,671.000 CRV | 0.7606% |
24 | Binance | CRV-BTC | $1.11 0.0002827 Eth | $7,610,827.00 6,954,560.300 CRV | 0.7683% |
25 | CoinW | CRV-USDT | $1.11 0.0002828 Eth | $7,404,338.00 6,696,410.755 CRV | 0.7398% |
26 | Dex-Trade | CRV-USDT | $1.10 0.0002821 Eth | $6,170,740.00 5,591,365.742 CRV | 0.6177% |
27 | Biconomy.com | CRV-USDT | $1.10 0.0002824 Eth | $5,967,016.00 5,476,675.600 CRV | 0.6051% |
28 | Coinstore | CRV-USDT | $1.12 0.0002847 Eth | $5,924,574.00 5,450,938.100 CRV | 0.6022% |
29 | Uniswap V3 (Arbitrum One) | 0X11CDB42B0EB46D95F990BEDD4695A6E3FA034978-0X82AF49447D8A07E3BD95BD0D56F35241523FBAB1 | $1.11 0.0002831 Eth | $5,515,105.00 4,967,939.395 0X11CDB42B0EB46D95F990BEDD4695A6E3FA034978 | 0.5489% |
30 | Trubit | CRV-USDT | $1.11 0.0002823 Eth | $5,339,077.00 4,922,122.000 CRV | 0.5438% |
31 | Bitvavo | CRV-EUR | $1.11 0.0002841 Eth | $5,115,795.00 4,602,674.617 CRV | 0.5085% |
32 | Toobit | CRV-USDT | $1.11 0.0002834 Eth | $4,511,235.00 4,156,967.800 CRV | 0.4593% |
33 | Binance | CRV-TRY | $1.11 0.0002828 Eth | $4,166,235.00 3,767,890.400 CRV | 0.4163% |
34 | BingX | CRV-USDT | $1.11 0.0002833 Eth | $3,826,458.00 3,513,571.201 CRV | 0.3882% |
35 | PointPay | CRV-USDT | $1.11 0.0002830 Eth | $3,777,271.00 3,482,549.566 CRV | 0.3847% |
36 | Phemex | CRV-USDT | $1.11 0.0002831 Eth | $3,727,121.00 3,367,360.380 CRV | 0.3720% |
37 | Ourbit | CRV-USDT | $1.10 0.0002825 Eth | $3,622,211.00 3,334,209.460 CRV | 0.3684% |
38 | Luno | CRV-MYR | $1.10 0.0002823 Eth | $3,347,881.00 3,032,475.980 CRV | 0.3350% |
39 | Bullish | CRV-USDC | $1.11 0.0002829 Eth | $3,285,196.00 2,995,895.444 CRV | 0.3310% |
40 | Curve (Ethereum) | 0XD533A949740BB3306D119CC777FA900BA034CD52-0X62B9C7356A2DC64A1969E19C23E4F579F9810AA7 | $1.10 0.0002823 Eth | $3,209,912.00 2,965,235.205 0XD533A949740BB3306D119CC777FA900BA034CD52 | 0.3276% |
41 | Uniswap V3 (Ethereum) | 0XD533A949740BB3306D119CC777FA900BA034CD52-0XC02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2 | $1.11 0.0002829 Eth | $3,194,918.00 2,916,393.401 0XD533A949740BB3306D119CC777FA900BA034CD52 | 0.3222% |
42 | Bitkub | CRV-THB | $1.10 0.0002816 Eth | $2,966,171.00 2,692,646.310 CRV | 0.2975% |
43 | FMCPAY | CRV-USDT | $1.11 0.0002827 Eth | $2,829,122.00 2,596,867.470 CRV | 0.2869% |
44 | Bithumb | CRV-KRW | $1.10 0.0002813 Eth | $2,782,585.00 2,530,418.056 CRV | 0.2796% |
45 | CoinEx | CRV-USDT | $1.10 0.0002819 Eth | $2,442,433.00 2,241,507.730 CRV | 0.2476% |
46 | Curve (Ethereum) | 0XC02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2-0XD533A949740BB3306D119CC777FA900BA034CD52 | $1.10 0.0002820 Eth | $2,436,219.00 622.604 0XC02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2 | 0.0001% |
47 | BitMart | CRV-USDT | $1.11 0.0002827 Eth | $2,295,139.00 2,076,418.480 CRV | 0.2294% |
48 | WhiteBIT | CRV-BTC | $1.11 0.0002827 Eth | $2,035,444.00 1,841,908.000 CRV | 0.2035% |
49 | Coinbase Exchange | CRV-EUR | $1.11 0.0002832 Eth | $1,997,603.00 1,803,964.950 CRV | 0.1993% |
50 | Icrypex | CRV-USDT | $1.11 0.0002835 Eth | $1,868,558.00 1,685,448.973 CRV | 0.1862% |
51 | LATOKEN | CRV-BTC | $1.10 0.0002813 Eth | $1,502,846.00 1,363,043.845 CRV | 0.1506% |
52 | WEEX | CRV-USDT | $1.11 0.0002825 Eth | $1,502,378.00 1,359,389.050 CRV | 0.1502% |
53 | Kraken | CRV-EUR | $1.11 0.0002830 Eth | $1,482,712.00 1,339,496.144 CRV | 0.1480% |
54 | Upbit | CRV-BTC | $1.11 0.0002833 Eth | $1,373,801.00 1,240,498.420 CRV | 0.1370% |
55 | OKX | CRV-USDC | $1.11 0.0002833 Eth | $1,282,330.00 1,173,180.520 CRV | 0.1296% |
56 | P2B | CRV-USD | $1.11 0.0002826 Eth | $1,226,928.00 1,110,342.280 CRV | 0.1227% |
57 | Curve (Ethereum) | 0XF939E0A03FB07F59A73314E73794BE0E57AC1B4E-0XD533A949740BB3306D119CC777FA900BA034CD52 | $1.10 0.0002817 Eth | $1,154,406.00 1,150,096.433 0XF939E0A03FB07F59A73314E73794BE0E57AC1B4E | 0.1271% |
58 | WhiteBIT | CRV-TRY | $1.11 0.0002835 Eth | $944,143.00 849,893.100 CRV | 0.0939% |
59 | Bitso | CRV-USD | $1.11 0.0002828 Eth | $892,592.00 807,300.590 CRV | 0.0892% |
60 | BitDelta | CRV-USDT | $1.11 0.0002830 Eth | $860,550.00 787,701.900 CRV | 0.0870% |
61 | Gemini | CRV-USD | $1.11 0.0002828 Eth | $819,873.00 741,430.085 CRV | 0.0819% |
62 | Nonkyc.io | CRV-USDT | $1.11 0.0002839 Eth | $806,403.00 740,968.965 CRV | 0.0819% |
63 | Uniswap V3 (Ethereum) | 0XD533A949740BB3306D119CC777FA900BA034CD52-0XA0B86991C6218B36C1D19D4A2E9EB0CE3606EB48 | $1.12 0.0002852 Eth | $732,165.00 687,021.783 0XD533A949740BB3306D119CC777FA900BA034CD52 | 0.0759% |
64 | Curve (Arbitrum) | 0X498BF2B1E120FED3AD3D42EA2165E9B73F99C1E5-0X11CDB42B0EB46D95F990BEDD4695A6E3FA034978 | $1.10 0.0002820 Eth | $591,562.00 590,796.178 0X498BF2B1E120FED3AD3D42EA2165E9B73F99C1E5 | 0.0653% |
65 | Curve (Arbitrum) | 0X912CE59144191C1204E64559FE8253A0E49E6548-0X11CDB42B0EB46D95F990BEDD4695A6E3FA034978 | $1.11 0.0002840 Eth | $587,228.00 508,901.830 0X912CE59144191C1204E64559FE8253A0E49E6548 | 0.0562% |
66 | BigONE | CRV-USDT | $1.10 0.0002816 Eth | $559,169.00 507,943.101 CRV | 0.0561% |
67 | Uniswap V3 (Polygon) | 0X172370D5CD63279EFA6D502DAB29171933A610AF-0X0D500B1D8E8EF31E21C99D1DB9A6444D3ADF1270 | $1.10 0.0002825 Eth | $519,008.00 474,905.130 0X172370D5CD63279EFA6D502DAB29171933A610AF | 0.0525% |
68 | Bitazza | CRV-USDT | $1.11 0.0002837 Eth | $476,984.00 435,921.100 CRV | 0.0482% |
69 | WEEX | CRV-USDC | $1.11 0.0002837 Eth | $407,494.00 373,600.000 CRV | 0.0413% |
70 | Coinbase Exchange | CRV-GBP | $1.10 0.0002815 Eth | $406,894.00 369,501.420 CRV | 0.0408% |
71 | Curve (Optimism) | 0X4200000000000000000000000000000000000042-0X0994206DFE8DE6EC6920FF4D779B0D950605FB53 | $1.11 0.0002820 Eth | $319,189.00 123,137.632 0X4200000000000000000000000000000000000042 | 0.0136% |
72 | Quickswap (v3) | 0X172370D5CD63279EFA6D502DAB29171933A610AF-0X0D500B1D8E8EF31E21C99D1DB9A6444D3ADF1270 | $1.12 0.0002856 Eth | $295,990.00 267,418.250 0X172370D5CD63279EFA6D502DAB29171933A610AF | 0.0295% |
73 | KickEX | CRV-USDT | $1.11 0.0002836 Eth | $241,477.00 217,764.206 CRV | 0.0241% |
74 | Coinbase Exchange | CRV-BTC | $1.11 0.0002843 Eth | $219,513.00 197,487.670 CRV | 0.0218% |
75 | LATOKEN | CRV-USDT | $1.10 0.0002821 Eth | $208,505.00 188,928.534 CRV | 0.0209% |
76 | Dex-Trade | CRV-BTC | $1.10 0.0002824 Eth | $201,806.00 182,645.330 CRV | 0.0202% |
77 | DeGate | 0XD533A949740BB3306D119CC777FA900BA034CD52-0XA0B86991C6218B36C1D19D4A2E9EB0CE3606EB48 | $1.10 0.0002823 Eth | $175,068.00 161,585.276 0XD533A949740BB3306D119CC777FA900BA034CD52 | 0.0179% |
78 | Sushiswap | 0XD533A949740BB3306D119CC777FA900BA034CD52-0XC02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2 | $1.10 0.0002815 Eth | $112,755.00 101,855.228 0XD533A949740BB3306D119CC777FA900BA034CD52 | 0.0113% |
79 | Uniswap V2 (Ethereum) | 0XD533A949740BB3306D119CC777FA900BA034CD52-0XC02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2 | $1.10 0.0002817 Eth | $101,674.00 91,790.942 0XD533A949740BB3306D119CC777FA900BA034CD52 | 0.0101% |
80 | Uniswap V3 (Ethereum) | 0XD533A949740BB3306D119CC777FA900BA034CD52-0X1F9840A85D5AF5BF1D1762F925BDADDC4201F984 | $1.10 0.0002820 Eth | $97,218.00 87,341.468 0XD533A949740BB3306D119CC777FA900BA034CD52 | 0.0096% |
81 | Uniswap V3 (Polygon) | 0X172370D5CD63279EFA6D502DAB29171933A610AF-0X7CEB23FD6BC0ADD59E62AC25578270CFF1B9F619 | $1.11 0.0002844 Eth | $89,815.00 80,766.065 0X172370D5CD63279EFA6D502DAB29171933A610AF | 0.0089% |
82 | Sushiswap (Polygon POS) | 0X172370D5CD63279EFA6D502DAB29171933A610AF-0X7CEB23FD6BC0ADD59E62AC25578270CFF1B9F619 | $1.11 0.0002834 Eth | $67,813.00 61,506.324 0X172370D5CD63279EFA6D502DAB29171933A610AF | 0.0068% |
83 | Globe | CRV-USDT | $1.12 0.0002854 Eth | $51,720.00 47,432.734 CRV | 0.0052% |
84 | Gate.io | CRV-ETH | $1.11 0.0002834 Eth | $39,798.00 36,071.970 CRV | 0.0040% |
85 | Coinone | CRV-KRW | $1.10 0.0002821 Eth | $39,273.00 35,599.406 CRV | 0.0039% |
86 | Nonkyc.io | CRV-BTC | $1.11 0.0002838 Eth | $35,262.00 32,404.712 CRV | 0.0036% |
87 | Foxbit | CRV-BRL | $1.099 0.0002810 Eth | $33,040.00 30,557.671 CRV | 0.0034% |
88 | Uniswap V3 (Optimism) | 0X0994206DFE8DE6EC6920FF4D779B0D950605FB53-0X4200000000000000000000000000000000000006 | $1.11 0.0002839 Eth | $31,020.00 28,381.679 0X0994206DFE8DE6EC6920FF4D779B0D950605FB53 | 0.0031% |
89 | ApeSwap (Polygon) | 0X172370D5CD63279EFA6D502DAB29171933A610AF-0X0D500B1D8E8EF31E21C99D1DB9A6444D3ADF1270 | $1.10 0.0002824 Eth | $16,710.87 15,301.185 0X172370D5CD63279EFA6D502DAB29171933A610AF | 0.0017% |
90 | Luno | CRV-XBT | $1.10 0.0002817 Eth | $14,270.79 12,957.000 CRV | 0.0014% |
91 | DeFi Swap | 0XD533A949740BB3306D119CC777FA900BA034CD52-0XC02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2 | $1.098 0.0002806 Eth | $11,126.86 10,079.309 0XD533A949740BB3306D119CC777FA900BA034CD52 | 0.0011% |
92 | Gate.io | CRV-TRY | $1.10 0.0002823 Eth | $8,857.46 8,063.880 CRV | 0.0009% |
93 | Uniswap V2 (Ethereum) | 0XD533A949740BB3306D119CC777FA900BA034CD52-0X1F9840A85D5AF5BF1D1762F925BDADDC4201F984 | $1.12 0.0002870 Eth | $7,190.69 6,404.898 0XD533A949740BB3306D119CC777FA900BA034CD52 | 0.0007% |
94 | Uniswap V3 (Arbitrum One) | 0X11CDB42B0EB46D95F990BEDD4695A6E3FA034978-0XAF88D065E77C8CC2239327C5EDB3A432268E5831 | $1.099 0.0002801 Eth | $6,568.50 6,018.055 0X11CDB42B0EB46D95F990BEDD4695A6E3FA034978 | 0.0007% |
95 | Uniswap V3 (Arbitrum One) | 0X11CDB42B0EB46D95F990BEDD4695A6E3FA034978-0XFD086BC7CD5C481DCC9C85EBE478A1C0B69FCBB9 | $1.11 0.0002827 Eth | $4,675.76 4,272.867 0X11CDB42B0EB46D95F990BEDD4695A6E3FA034978 | 0.0005% |
96 | Uniswap V3 (Arbitrum One) | 0X11CDB42B0EB46D95F990BEDD4695A6E3FA034978-0X82AF49447D8A07E3BD95BD0D56F35241523FBAB1 | $1.098 0.0002806 Eth | $2,463.02 2,227.355 0X11CDB42B0EB46D95F990BEDD4695A6E3FA034978 | 0.0002% |
97 | Gravity Finance | 0X172370D5CD63279EFA6D502DAB29171933A610AF-0X7CEB23FD6BC0ADD59E62AC25578270CFF1B9F619 | $1.11 0.0002841 Eth | $965.14 870.740 0X172370D5CD63279EFA6D502DAB29171933A610AF | 0.0001% |
98 | Energiswap | 0XD3319EAF3C4743AC75AACE77BEFCFA445ED6E69E-0XA55F26319462355474A9F2C8790860776A329AA4 | $1.11 0.0002830 Eth | $437.19 387.299 0XD3319EAF3C4743AC75AACE77BEFCFA445ED6E69E | 0.0000% |
99 | Quickswap | 0X172370D5CD63279EFA6D502DAB29171933A610AF-0X0D500B1D8E8EF31E21C99D1DB9A6444D3ADF1270 | $1.11 0.0002832 Eth | $323.13 294.783 0X172370D5CD63279EFA6D502DAB29171933A610AF | 0.0000% |
100 | Quickswap | 0X172370D5CD63279EFA6D502DAB29171933A610AF-0X7CEB23FD6BC0ADD59E62AC25578270CFF1B9F619 | $1.11 0.0002851 Eth | $235.52 210.837 0X172370D5CD63279EFA6D502DAB29171933A610AF | 0.0000% |
Contract Source Code Verified (Exact Match)
Contract Name:
Vyper_contract
Compiler Version
vyper:0.2.4
Contract Source Code (Vyper language format)
# @version 0.2.4 """ @title Curve DAO Token @author Curve Finance @license MIT @notice ERC20 with piecewise-linear mining supply. @dev Based on the ERC-20 token standard as defined at https://eips.ethereum.org/EIPS/eip-20 """ from vyper.interfaces import ERC20 implements: ERC20 event Transfer: _from: indexed(address) _to: indexed(address) _value: uint256 event Approval: _owner: indexed(address) _spender: indexed(address) _value: uint256 event UpdateMiningParameters: time: uint256 rate: uint256 supply: uint256 event SetMinter: minter: address event SetAdmin: admin: address name: public(String[64]) symbol: public(String[32]) decimals: public(uint256) balanceOf: public(HashMap[address, uint256]) allowances: HashMap[address, HashMap[address, uint256]] total_supply: uint256 minter: public(address) admin: public(address) # General constants YEAR: constant(uint256) = 86400 * 365 # Allocation: # ========= # * shareholders - 30% # * emplyees - 3% # * DAO-controlled reserve - 5% # * Early users - 5% # == 43% == # left for inflation: 57% # Supply parameters INITIAL_SUPPLY: constant(uint256) = 1_303_030_303 INITIAL_RATE: constant(uint256) = 274_815_283 * 10 ** 18 / YEAR # leading to 43% premine RATE_REDUCTION_TIME: constant(uint256) = YEAR RATE_REDUCTION_COEFFICIENT: constant(uint256) = 1189207115002721024 # 2 ** (1/4) * 1e18 RATE_DENOMINATOR: constant(uint256) = 10 ** 18 INFLATION_DELAY: constant(uint256) = 86400 # Supply variables mining_epoch: public(int128) start_epoch_time: public(uint256) rate: public(uint256) start_epoch_supply: uint256 @external def __init__(_name: String[64], _symbol: String[32], _decimals: uint256): """ @notice Contract constructor @param _name Token full name @param _symbol Token symbol @param _decimals Number of decimals for token """ init_supply: uint256 = INITIAL_SUPPLY * 10 ** _decimals self.name = _name self.symbol = _symbol self.decimals = _decimals self.balanceOf[msg.sender] = init_supply self.total_supply = init_supply self.admin = msg.sender log Transfer(ZERO_ADDRESS, msg.sender, init_supply) self.start_epoch_time = block.timestamp + INFLATION_DELAY - RATE_REDUCTION_TIME self.mining_epoch = -1 self.rate = 0 self.start_epoch_supply = init_supply @internal def _update_mining_parameters(): """ @dev Update mining rate and supply at the start of the epoch Any modifying mining call must also call this """ _rate: uint256 = self.rate _start_epoch_supply: uint256 = self.start_epoch_supply self.start_epoch_time += RATE_REDUCTION_TIME self.mining_epoch += 1 if _rate == 0: _rate = INITIAL_RATE else: _start_epoch_supply += _rate * RATE_REDUCTION_TIME self.start_epoch_supply = _start_epoch_supply _rate = _rate * RATE_DENOMINATOR / RATE_REDUCTION_COEFFICIENT self.rate = _rate log UpdateMiningParameters(block.timestamp, _rate, _start_epoch_supply) @external def update_mining_parameters(): """ @notice Update mining rate and supply at the start of the epoch @dev Callable by any address, but only once per epoch Total supply becomes slightly larger if this function is called late """ assert block.timestamp >= self.start_epoch_time + RATE_REDUCTION_TIME # dev: too soon! self._update_mining_parameters() @external def start_epoch_time_write() -> uint256: """ @notice Get timestamp of the current mining epoch start while simultaneously updating mining parameters @return Timestamp of the epoch """ _start_epoch_time: uint256 = self.start_epoch_time if block.timestamp >= _start_epoch_time + RATE_REDUCTION_TIME: self._update_mining_parameters() return self.start_epoch_time else: return _start_epoch_time @external def future_epoch_time_write() -> uint256: """ @notice Get timestamp of the next mining epoch start while simultaneously updating mining parameters @return Timestamp of the next epoch """ _start_epoch_time: uint256 = self.start_epoch_time if block.timestamp >= _start_epoch_time + RATE_REDUCTION_TIME: self._update_mining_parameters() return self.start_epoch_time + RATE_REDUCTION_TIME else: return _start_epoch_time + RATE_REDUCTION_TIME @internal @view def _available_supply() -> uint256: return self.start_epoch_supply + (block.timestamp - self.start_epoch_time) * self.rate @external @view def available_supply() -> uint256: """ @notice Current number of tokens in existence (claimed or unclaimed) """ return self._available_supply() @external @view def mintable_in_timeframe(start: uint256, end: uint256) -> uint256: """ @notice How much supply is mintable from start timestamp till end timestamp @param start Start of the time interval (timestamp) @param end End of the time interval (timestamp) @return Tokens mintable from `start` till `end` """ assert start <= end # dev: start > end to_mint: uint256 = 0 current_epoch_time: uint256 = self.start_epoch_time current_rate: uint256 = self.rate # Special case if end is in future (not yet minted) epoch if end > current_epoch_time + RATE_REDUCTION_TIME: current_epoch_time += RATE_REDUCTION_TIME current_rate = current_rate * RATE_DENOMINATOR / RATE_REDUCTION_COEFFICIENT assert end <= current_epoch_time + RATE_REDUCTION_TIME # dev: too far in future for i in range(999): # Curve will not work in 1000 years. Darn! if end >= current_epoch_time: current_end: uint256 = end if current_end > current_epoch_time + RATE_REDUCTION_TIME: current_end = current_epoch_time + RATE_REDUCTION_TIME current_start: uint256 = start if current_start >= current_epoch_time + RATE_REDUCTION_TIME: break # We should never get here but what if... elif current_start < current_epoch_time: current_start = current_epoch_time to_mint += current_rate * (current_end - current_start) if start >= current_epoch_time: break current_epoch_time -= RATE_REDUCTION_TIME current_rate = current_rate * RATE_REDUCTION_COEFFICIENT / RATE_DENOMINATOR # double-division with rounding made rate a bit less => good assert current_rate <= INITIAL_RATE # This should never happen return to_mint @external def set_minter(_minter: address): """ @notice Set the minter address @dev Only callable once, when minter has not yet been set @param _minter Address of the minter """ assert msg.sender == self.admin # dev: admin only assert self.minter == ZERO_ADDRESS # dev: can set the minter only once, at creation self.minter = _minter log SetMinter(_minter) @external def set_admin(_admin: address): """ @notice Set the new admin. @dev After all is set up, admin only can change the token name @param _admin New admin address """ assert msg.sender == self.admin # dev: admin only self.admin = _admin log SetAdmin(_admin) @external @view def totalSupply() -> uint256: """ @notice Total number of tokens in existence. """ return self.total_supply @external @view def allowance(_owner : address, _spender : address) -> uint256: """ @notice Check the amount of tokens that an owner allowed to a spender @param _owner The address which owns the funds @param _spender The address which will spend the funds @return uint256 specifying the amount of tokens still available for the spender """ return self.allowances[_owner][_spender] @external def transfer(_to : address, _value : uint256) -> bool: """ @notice Transfer `_value` tokens from `msg.sender` to `_to` @dev Vyper does not allow underflows, so the subtraction in this function will revert on an insufficient balance @param _to The address to transfer to @param _value The amount to be transferred @return bool success """ assert _to != ZERO_ADDRESS # dev: transfers to 0x0 are not allowed self.balanceOf[msg.sender] -= _value self.balanceOf[_to] += _value log Transfer(msg.sender, _to, _value) return True @external def transferFrom(_from : address, _to : address, _value : uint256) -> bool: """ @notice Transfer `_value` tokens from `_from` to `_to` @param _from address The address which you want to send tokens from @param _to address The address which you want to transfer to @param _value uint256 the amount of tokens to be transferred @return bool success """ assert _to != ZERO_ADDRESS # dev: transfers to 0x0 are not allowed # NOTE: vyper does not allow underflows # so the following subtraction would revert on insufficient balance self.balanceOf[_from] -= _value self.balanceOf[_to] += _value self.allowances[_from][msg.sender] -= _value log Transfer(_from, _to, _value) return True @external def approve(_spender : address, _value : uint256) -> bool: """ @notice Approve `_spender` to transfer `_value` tokens on behalf of `msg.sender` @dev Approval may only be from zero -> nonzero or from nonzero -> zero in order to mitigate the potential race condition described here: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 @param _spender The address which will spend the funds @param _value The amount of tokens to be spent @return bool success """ assert _value == 0 or self.allowances[msg.sender][_spender] == 0 self.allowances[msg.sender][_spender] = _value log Approval(msg.sender, _spender, _value) return True @external def mint(_to: address, _value: uint256) -> bool: """ @notice Mint `_value` tokens and assign them to `_to` @dev Emits a Transfer event originating from 0x00 @param _to The account that will receive the created tokens @param _value The amount that will be created @return bool success """ assert msg.sender == self.minter # dev: minter only assert _to != ZERO_ADDRESS # dev: zero address if block.timestamp >= self.start_epoch_time + RATE_REDUCTION_TIME: self._update_mining_parameters() _total_supply: uint256 = self.total_supply + _value assert _total_supply <= self._available_supply() # dev: exceeds allowable mint amount self.total_supply = _total_supply self.balanceOf[_to] += _value log Transfer(ZERO_ADDRESS, _to, _value) return True @external def burn(_value: uint256) -> bool: """ @notice Burn `_value` tokens belonging to `msg.sender` @dev Emits a Transfer event with a destination of 0x00 @param _value The amount that will be burned @return bool success """ self.balanceOf[msg.sender] -= _value self.total_supply -= _value log Transfer(msg.sender, ZERO_ADDRESS, _value) return True @external def set_name(_name: String[64], _symbol: String[32]): """ @notice Change the token name and symbol to `_name` and `_symbol` @dev Only callable by the admin account @param _name New token name @param _symbol New token symbol """ assert msg.sender == self.admin, "Only admin is allowed to change name" self.name = _name self.symbol = _symbol
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"name":"Transfer","inputs":[{"type":"address","name":"_from","indexed":true},{"type":"address","name":"_to","indexed":true},{"type":"uint256","name":"_value","indexed":false}],"anonymous":false,"type":"event"},{"name":"Approval","inputs":[{"type":"address","name":"_owner","indexed":true},{"type":"address","name":"_spender","indexed":true},{"type":"uint256","name":"_value","indexed":false}],"anonymous":false,"type":"event"},{"name":"UpdateMiningParameters","inputs":[{"type":"uint256","name":"time","indexed":false},{"type":"uint256","name":"rate","indexed":false},{"type":"uint256","name":"supply","indexed":false}],"anonymous":false,"type":"event"},{"name":"SetMinter","inputs":[{"type":"address","name":"minter","indexed":false}],"anonymous":false,"type":"event"},{"name":"SetAdmin","inputs":[{"type":"address","name":"admin","indexed":false}],"anonymous":false,"type":"event"},{"outputs":[],"inputs":[{"type":"string","name":"_name"},{"type":"string","name":"_symbol"},{"type":"uint256","name":"_decimals"}],"stateMutability":"nonpayable","type":"constructor"},{"name":"update_mining_parameters","outputs":[],"inputs":[],"stateMutability":"nonpayable","type":"function","gas":148748},{"name":"start_epoch_time_write","outputs":[{"type":"uint256","name":""}],"inputs":[],"stateMutability":"nonpayable","type":"function","gas":149603},{"name":"future_epoch_time_write","outputs":[{"type":"uint256","name":""}],"inputs":[],"stateMutability":"nonpayable","type":"function","gas":149806},{"name":"available_supply","outputs":[{"type":"uint256","name":""}],"inputs":[],"stateMutability":"view","type":"function","gas":4018},{"name":"mintable_in_timeframe","outputs":[{"type":"uint256","name":""}],"inputs":[{"type":"uint256","name":"start"},{"type":"uint256","name":"end"}],"stateMutability":"view","type":"function","gas":2216141},{"name":"set_minter","outputs":[],"inputs":[{"type":"address","name":"_minter"}],"stateMutability":"nonpayable","type":"function","gas":38698},{"name":"set_admin","outputs":[],"inputs":[{"type":"address","name":"_admin"}],"stateMutability":"nonpayable","type":"function","gas":37837},{"name":"totalSupply","outputs":[{"type":"uint256","name":""}],"inputs":[],"stateMutability":"view","type":"function","gas":1421},{"name":"allowance","outputs":[{"type":"uint256","name":""}],"inputs":[{"type":"address","name":"_owner"},{"type":"address","name":"_spender"}],"stateMutability":"view","type":"function","gas":1759},{"name":"transfer","outputs":[{"type":"bool","name":""}],"inputs":[{"type":"address","name":"_to"},{"type":"uint256","name":"_value"}],"stateMutability":"nonpayable","type":"function","gas":75139},{"name":"transferFrom","outputs":[{"type":"bool","name":""}],"inputs":[{"type":"address","name":"_from"},{"type":"address","name":"_to"},{"type":"uint256","name":"_value"}],"stateMutability":"nonpayable","type":"function","gas":111433},{"name":"approve","outputs":[{"type":"bool","name":""}],"inputs":[{"type":"address","name":"_spender"},{"type":"uint256","name":"_value"}],"stateMutability":"nonpayable","type":"function","gas":39288},{"name":"mint","outputs":[{"type":"bool","name":""}],"inputs":[{"type":"address","name":"_to"},{"type":"uint256","name":"_value"}],"stateMutability":"nonpayable","type":"function","gas":228030},{"name":"burn","outputs":[{"type":"bool","name":""}],"inputs":[{"type":"uint256","name":"_value"}],"stateMutability":"nonpayable","type":"function","gas":74999},{"name":"set_name","outputs":[],"inputs":[{"type":"string","name":"_name"},{"type":"string","name":"_symbol"}],"stateMutability":"nonpayable","type":"function","gas":178270},{"name":"name","outputs":[{"type":"string","name":""}],"inputs":[],"stateMutability":"view","type":"function","gas":8063},{"name":"symbol","outputs":[{"type":"string","name":""}],"inputs":[],"stateMutability":"view","type":"function","gas":7116},{"name":"decimals","outputs":[{"type":"uint256","name":""}],"inputs":[],"stateMutability":"view","type":"function","gas":1721},{"name":"balanceOf","outputs":[{"type":"uint256","name":""}],"inputs":[{"type":"address","name":"arg0"}],"stateMutability":"view","type":"function","gas":1905},{"name":"minter","outputs":[{"type":"address","name":""}],"inputs":[],"stateMutability":"view","type":"function","gas":1781},{"name":"admin","outputs":[{"type":"address","name":""}],"inputs":[],"stateMutability":"view","type":"function","gas":1811},{"name":"mining_epoch","outputs":[{"type":"int128","name":""}],"inputs":[],"stateMutability":"view","type":"function","gas":1841},{"name":"start_epoch_time","outputs":[{"type":"uint256","name":""}],"inputs":[],"stateMutability":"view","type":"function","gas":1871},{"name":"rate","outputs":[{"type":"uint256","name":""}],"inputs":[],"stateMutability":"view","type":"function","gas":1901}]
Contract Creation Code
740100000000000000000000000000000000000000006020526f7fffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff8000000000000000000000000000000060605274012a05f1fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffed5fa0e000000000000000000000000000000000060a05260606113e46101403934156100a157600080fd5b606060206113e460c03960c0516113e4016101a039604060206113e460c03960c0516004013511156100d257600080fd5b6040602060206113e40160c03960c0516113e401610220396020602060206113e40160c03960c05160040135111561010957600080fd5b634daaaa1f604e610180511061011e57600080fd5b61018051600a0a808202821582848304141761013957600080fd5b80905090509050610280526101a080600060c052602060c020602082510161012060006003818352015b8261012051602002111561017657610198565b61012051602002850151610120518501555b8151600101808352811415610163575b50505050505061022080600160c052602060c020602082510161012060006002818352015b826101205160200211156101d0576101f2565b61012051602002850151610120518501555b81516001018083528114156101bd575b505050505050610180516002556102805160033360e05260c052604060c020556102805160055533600755610280516102a0523360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60206102a0a3426201518081818301101561026357600080fd5b808201905090506301e133808082101561027c57600080fd5b808203905090506009557fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6008556000600a5561028051600b556113cc56600436101561000d5761110b565b600035601c52740100000000000000000000000000000000000000006020526f7fffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff8000000000000000000000000000000060605274012a05f1fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffed5fa0e000000000000000000000000000000000060a052600015610203575b61014052600a5461016052600b5461018052600980546301e133808181830110156100d357600080fd5b80820190509050815550600880546001606051818301806040519013156100f957600080fd5b809190121561010757600080fd5b9050905081555061016051151561012a576778ef89edad16a615610160526101ba565b6101808051610160516301e13380808202821582848304141761014c57600080fd5b8090509050905081818301101561016257600080fd5b8082019050905081525061018051600b5561016051670de0b6b3a7640000808202821582848304141761019457600080fd5b80905090509050671080e992061ab30080806101af57600080fd5b820490509050610160525b61016051600a55426101a052610160516101c052610180516101e0527f27e46362a1e6129b6dd539c984ce739291a97128dfcaeca1255e8ac83abd944160606101a0a161014051565b63d43b40fa600051141561025457341561021c57600080fd5b6009546301e1338081818301101561023357600080fd5b8082019050905042101561024657600080fd5b600658016100a9565b600050005b63adc4cf4360005114156102d057341561026d57600080fd5b60095461014052610140516301e1338081818301101561028c57600080fd5b80820190509050421015156102c05761014051600658016100a9565b6101405260005060095460005260206000f3506102ce565b6101405160005260206000f3505b005b63b26b238e60005114156103825734156102e957600080fd5b60095461014052610140516301e1338081818301101561030857600080fd5b80820190509050421015156103575761014051600658016100a9565b610140526000506009546301e1338081818301101561034257600080fd5b8082019050905060005260206000f350610380565b610140516301e1338081818301101561036f57600080fd5b8082019050905060005260206000f3505b005b6000156103eb575b61014052600b5442600954808210156103a257600080fd5b80820390509050600a5480820282158284830414176103c057600080fd5b809050905090508181830110156103d657600080fd5b80820190509050600052600051610140515650005b6324f92a25600051141561042057341561040457600080fd5b6006580161038a565b610140526101405160005260206000f350005b63d725a9ca60005114156106ec57341561043957600080fd5b602435600435111561044a57600080fd5b60006101405260095461016052600a5461018052610160516301e1338081818301101561047657600080fd5b8082019050905060243511156104f05761016080516301e1338081818301101561049f57600080fd5b8082019050905081525061018051670de0b6b3a764000080820282158284830414176104ca57600080fd5b80905090509050671080e992061ab30080806104e557600080fd5b820490509050610180525b610160516301e1338081818301101561050857600080fd5b80820190509050602435111561051d57600080fd5b6101a060006103e7818352015b6101605160243510151561064b576024356101c052610160516301e1338081818301101561055757600080fd5b808201905090506101c051111561058c57610160516301e1338081818301101561058057600080fd5b808201905090506101c0525b6004356101e052610160516301e133808181830110156105ab57600080fd5b808201905090506101e0511015156105c6576106db566105de565b610160516101e05110156105dd57610160516101e0525b5b6101408051610180516101c0516101e051808210156105fc57600080fd5b80820390509050808202821582848304141761061757600080fd5b8090509050905081818301101561062d57600080fd5b808201905090508152506101605160043510151561064a576106db565b5b61016080516301e133808082101561066257600080fd5b8082039050905081525061018051671080e992061ab300808202821582848304141761068d57600080fd5b80905090509050670de0b6b3a764000080806106a857600080fd5b820490509050610180526778ef89edad16a6156101805111156106ca57600080fd5b5b815160010180835281141561052a575b50506101405160005260206000f350005b631652e9fc600051141561076857341561070557600080fd5b600435602051811061071657600080fd5b50600754331461072557600080fd5b6006541561073257600080fd5b600435600655600435610140527fcec52196e972044edde8689a1b608e459c5946b7f3e5c8cd3d6d8e126d422e1c6020610140a1005b63e9333fab60005114156107d757341561078157600080fd5b600435602051811061079257600080fd5b5060075433146107a157600080fd5b600435600755600435610140527f5a272403b402d892977df56625f4164ccaf70ca3863991c43ecfe76a6905b0a16020610140a1005b6318160ddd60005114156107fe5734156107f057600080fd5b60055460005260206000f350005b63dd62ed3e600051141561086557341561081757600080fd5b600435602051811061082857600080fd5b50602435602051811061083a57600080fd5b50600460043560e05260c052604060c02060243560e05260c052604060c0205460005260206000f350005b63a9059cbb600051141561093657341561087e57600080fd5b600435602051811061088f57600080fd5b5060006004351861089f57600080fd5b60033360e05260c052604060c0208054602435808210156108bf57600080fd5b80820390509050815550600360043560e05260c052604060c02080546024358181830110156108ed57600080fd5b8082019050905081555060243561014052600435337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6020610140a3600160005260206000f350005b6323b872dd6000511415610a5557341561094f57600080fd5b600435602051811061096057600080fd5b50602435602051811061097257600080fd5b5060006024351861098257600080fd5b600360043560e05260c052604060c0208054604435808210156109a457600080fd5b80820390509050815550600360243560e05260c052604060c02080546044358181830110156109d257600080fd5b80820190509050815550600460043560e05260c052604060c0203360e05260c052604060c020805460443580821015610a0a57600080fd5b80820390509050815550604435610140526024356004357fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6020610140a3600160005260206000f350005b63095ea7b36000511415610b18573415610a6e57600080fd5b6004356020518110610a7f57600080fd5b506024351515610a90576001610aaf565b60043360e05260c052604060c02060043560e05260c052604060c02054155b5b610ab957600080fd5b60243560043360e05260c052604060c02060043560e05260c052604060c0205560243561014052600435337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9256020610140a3600160005260206000f350005b6340c10f196000511415610c50573415610b3157600080fd5b6004356020518110610b4257600080fd5b506006543314610b5157600080fd5b600060043518610b6057600080fd5b6009546301e13380818183011015610b7757600080fd5b8082019050905042101515610b9357600658016100a9565b6000505b600554602435818183011015610ba857600080fd5b8082019050905061014052610140516006580161038a565b610180526101405261018051610140511115610bdb57600080fd5b61014051600555600360043560e05260c052604060c0208054602435818183011015610c0657600080fd5b808201905090508155506024356101a05260043560007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60206101a0a3600160005260206000f350005b6342966c686000511415610cef573415610c6957600080fd5b60033360e05260c052604060c020805460043580821015610c8957600080fd5b808203905090508155506005805460043580821015610ca757600080fd5b80820390509050815550600435610140526000337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6020610140a3600160005260206000f350005b63e1430e066000511415610e71573415610d0857600080fd5b6060600435600401610140376040600435600401351115610d2857600080fd5b60406024356004016101c0376020602435600401351115610d4857600080fd5b6308c379a0610220526020610240526024610260527f4f6e6c792061646d696e20697320616c6c6f77656420746f206368616e676520610280527f6e616d65000000000000000000000000000000000000000000000000000000006102a052610260506007543314610dbb57608461023cfd5b61014080600060c052602060c020602082510161012060006003818352015b82610120516020021115610ded57610e0f565b61012051602002850151610120518501555b8151600101808352811415610dda575b5050505050506101c080600160c052602060c020602082510161012060006002818352015b82610120516020021115610e4757610e69565b61012051602002850151610120518501555b8151600101808352811415610e34575b505050505050005b6306fdde036000511415610f25573415610e8a57600080fd5b60008060c052602060c020610180602082540161012060006003818352015b82610120516020021115610ebc57610ede565b61012051850154610120516020028501525b8151600101808352811415610ea9575b50505050505061018051806101a001818260206001820306601f82010390500336823750506020610160526040610180510160206001820306601f8201039050610160f350005b6395d89b416000511415610fd9573415610f3e57600080fd5b60018060c052602060c020610180602082540161012060006002818352015b82610120516020021115610f7057610f92565b61012051850154610120516020028501525b8151600101808352811415610f5d575b50505050505061018051806101a001818260206001820306601f82010390500336823750506020610160526040610180510160206001820306601f8201039050610160f350005b63313ce5676000511415611000573415610ff257600080fd5b60025460005260206000f350005b6370a08231600051141561104757341561101957600080fd5b600435602051811061102a57600080fd5b50600360043560e05260c052604060c0205460005260206000f350005b6307546172600051141561106e57341561106057600080fd5b60065460005260206000f350005b63f851a440600051141561109557341561108757600080fd5b60075460005260206000f350005b63f9a40bf660005114156110bc5734156110ae57600080fd5b60085460005260206000f350005b637375be2660005114156110e35734156110d557600080fd5b60095460005260206000f350005b632c4e722e600051141561110a5734156110fc57600080fd5b600a5460005260206000f350005b5b60006000fd5b6102bb6113cc036102bb6000396102bb6113cc036000f3000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000f43757276652044414f20546f6b656e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034352560000000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x600436101561000d5761110b565b600035601c52740100000000000000000000000000000000000000006020526f7fffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff8000000000000000000000000000000060605274012a05f1fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffed5fa0e000000000000000000000000000000000060a052600015610203575b61014052600a5461016052600b5461018052600980546301e133808181830110156100d357600080fd5b80820190509050815550600880546001606051818301806040519013156100f957600080fd5b809190121561010757600080fd5b9050905081555061016051151561012a576778ef89edad16a615610160526101ba565b6101808051610160516301e13380808202821582848304141761014c57600080fd5b8090509050905081818301101561016257600080fd5b8082019050905081525061018051600b5561016051670de0b6b3a7640000808202821582848304141761019457600080fd5b80905090509050671080e992061ab30080806101af57600080fd5b820490509050610160525b61016051600a55426101a052610160516101c052610180516101e0527f27e46362a1e6129b6dd539c984ce739291a97128dfcaeca1255e8ac83abd944160606101a0a161014051565b63d43b40fa600051141561025457341561021c57600080fd5b6009546301e1338081818301101561023357600080fd5b8082019050905042101561024657600080fd5b600658016100a9565b600050005b63adc4cf4360005114156102d057341561026d57600080fd5b60095461014052610140516301e1338081818301101561028c57600080fd5b80820190509050421015156102c05761014051600658016100a9565b6101405260005060095460005260206000f3506102ce565b6101405160005260206000f3505b005b63b26b238e60005114156103825734156102e957600080fd5b60095461014052610140516301e1338081818301101561030857600080fd5b80820190509050421015156103575761014051600658016100a9565b610140526000506009546301e1338081818301101561034257600080fd5b8082019050905060005260206000f350610380565b610140516301e1338081818301101561036f57600080fd5b8082019050905060005260206000f3505b005b6000156103eb575b61014052600b5442600954808210156103a257600080fd5b80820390509050600a5480820282158284830414176103c057600080fd5b809050905090508181830110156103d657600080fd5b80820190509050600052600051610140515650005b6324f92a25600051141561042057341561040457600080fd5b6006580161038a565b610140526101405160005260206000f350005b63d725a9ca60005114156106ec57341561043957600080fd5b602435600435111561044a57600080fd5b60006101405260095461016052600a5461018052610160516301e1338081818301101561047657600080fd5b8082019050905060243511156104f05761016080516301e1338081818301101561049f57600080fd5b8082019050905081525061018051670de0b6b3a764000080820282158284830414176104ca57600080fd5b80905090509050671080e992061ab30080806104e557600080fd5b820490509050610180525b610160516301e1338081818301101561050857600080fd5b80820190509050602435111561051d57600080fd5b6101a060006103e7818352015b6101605160243510151561064b576024356101c052610160516301e1338081818301101561055757600080fd5b808201905090506101c051111561058c57610160516301e1338081818301101561058057600080fd5b808201905090506101c0525b6004356101e052610160516301e133808181830110156105ab57600080fd5b808201905090506101e0511015156105c6576106db566105de565b610160516101e05110156105dd57610160516101e0525b5b6101408051610180516101c0516101e051808210156105fc57600080fd5b80820390509050808202821582848304141761061757600080fd5b8090509050905081818301101561062d57600080fd5b808201905090508152506101605160043510151561064a576106db565b5b61016080516301e133808082101561066257600080fd5b8082039050905081525061018051671080e992061ab300808202821582848304141761068d57600080fd5b80905090509050670de0b6b3a764000080806106a857600080fd5b820490509050610180526778ef89edad16a6156101805111156106ca57600080fd5b5b815160010180835281141561052a575b50506101405160005260206000f350005b631652e9fc600051141561076857341561070557600080fd5b600435602051811061071657600080fd5b50600754331461072557600080fd5b6006541561073257600080fd5b600435600655600435610140527fcec52196e972044edde8689a1b608e459c5946b7f3e5c8cd3d6d8e126d422e1c6020610140a1005b63e9333fab60005114156107d757341561078157600080fd5b600435602051811061079257600080fd5b5060075433146107a157600080fd5b600435600755600435610140527f5a272403b402d892977df56625f4164ccaf70ca3863991c43ecfe76a6905b0a16020610140a1005b6318160ddd60005114156107fe5734156107f057600080fd5b60055460005260206000f350005b63dd62ed3e600051141561086557341561081757600080fd5b600435602051811061082857600080fd5b50602435602051811061083a57600080fd5b50600460043560e05260c052604060c02060243560e05260c052604060c0205460005260206000f350005b63a9059cbb600051141561093657341561087e57600080fd5b600435602051811061088f57600080fd5b5060006004351861089f57600080fd5b60033360e05260c052604060c0208054602435808210156108bf57600080fd5b80820390509050815550600360043560e05260c052604060c02080546024358181830110156108ed57600080fd5b8082019050905081555060243561014052600435337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6020610140a3600160005260206000f350005b6323b872dd6000511415610a5557341561094f57600080fd5b600435602051811061096057600080fd5b50602435602051811061097257600080fd5b5060006024351861098257600080fd5b600360043560e05260c052604060c0208054604435808210156109a457600080fd5b80820390509050815550600360243560e05260c052604060c02080546044358181830110156109d257600080fd5b80820190509050815550600460043560e05260c052604060c0203360e05260c052604060c020805460443580821015610a0a57600080fd5b80820390509050815550604435610140526024356004357fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6020610140a3600160005260206000f350005b63095ea7b36000511415610b18573415610a6e57600080fd5b6004356020518110610a7f57600080fd5b506024351515610a90576001610aaf565b60043360e05260c052604060c02060043560e05260c052604060c02054155b5b610ab957600080fd5b60243560043360e05260c052604060c02060043560e05260c052604060c0205560243561014052600435337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9256020610140a3600160005260206000f350005b6340c10f196000511415610c50573415610b3157600080fd5b6004356020518110610b4257600080fd5b506006543314610b5157600080fd5b600060043518610b6057600080fd5b6009546301e13380818183011015610b7757600080fd5b8082019050905042101515610b9357600658016100a9565b6000505b600554602435818183011015610ba857600080fd5b8082019050905061014052610140516006580161038a565b610180526101405261018051610140511115610bdb57600080fd5b61014051600555600360043560e05260c052604060c0208054602435818183011015610c0657600080fd5b808201905090508155506024356101a05260043560007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60206101a0a3600160005260206000f350005b6342966c686000511415610cef573415610c6957600080fd5b60033360e05260c052604060c020805460043580821015610c8957600080fd5b808203905090508155506005805460043580821015610ca757600080fd5b80820390509050815550600435610140526000337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6020610140a3600160005260206000f350005b63e1430e066000511415610e71573415610d0857600080fd5b6060600435600401610140376040600435600401351115610d2857600080fd5b60406024356004016101c0376020602435600401351115610d4857600080fd5b6308c379a0610220526020610240526024610260527f4f6e6c792061646d696e20697320616c6c6f77656420746f206368616e676520610280527f6e616d65000000000000000000000000000000000000000000000000000000006102a052610260506007543314610dbb57608461023cfd5b61014080600060c052602060c020602082510161012060006003818352015b82610120516020021115610ded57610e0f565b61012051602002850151610120518501555b8151600101808352811415610dda575b5050505050506101c080600160c052602060c020602082510161012060006002818352015b82610120516020021115610e4757610e69565b61012051602002850151610120518501555b8151600101808352811415610e34575b505050505050005b6306fdde036000511415610f25573415610e8a57600080fd5b60008060c052602060c020610180602082540161012060006003818352015b82610120516020021115610ebc57610ede565b61012051850154610120516020028501525b8151600101808352811415610ea9575b50505050505061018051806101a001818260206001820306601f82010390500336823750506020610160526040610180510160206001820306601f8201039050610160f350005b6395d89b416000511415610fd9573415610f3e57600080fd5b60018060c052602060c020610180602082540161012060006002818352015b82610120516020021115610f7057610f92565b61012051850154610120516020028501525b8151600101808352811415610f5d575b50505050505061018051806101a001818260206001820306601f82010390500336823750506020610160526040610180510160206001820306601f8201039050610160f350005b63313ce5676000511415611000573415610ff257600080fd5b60025460005260206000f350005b6370a08231600051141561104757341561101957600080fd5b600435602051811061102a57600080fd5b50600360043560e05260c052604060c0205460005260206000f350005b6307546172600051141561106e57341561106057600080fd5b60065460005260206000f350005b63f851a440600051141561109557341561108757600080fd5b60075460005260206000f350005b63f9a40bf660005114156110bc5734156110ae57600080fd5b60085460005260206000f350005b637375be2660005114156110e35734156110d557600080fd5b60095460005260206000f350005b632c4e722e600051141561110a5734156110fc57600080fd5b600a5460005260206000f350005b5b60006000fd
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000f43757276652044414f20546f6b656e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034352560000000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : _name (string): Curve DAO Token
Arg [1] : _symbol (string): CRV
Arg [2] : _decimals (uint256): 18
-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000012
Arg [3] : 000000000000000000000000000000000000000000000000000000000000000f
Arg [4] : 43757276652044414f20546f6b656e0000000000000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [6] : 4352560000000000000000000000000000000000000000000000000000000000
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.