ETH Price: $3,985.99 (+3.07%)

Token

Curve DAO Token (CRV)
 

Overview

Max Total Supply

2,200,677,813.537934767535145591 CRV

Holders

88,605 ( 0.012%)

Market

Price

$1.19 @ 0.000297 ETH (+6.95%)

Onchain Market Cap

$2,608,985,246.63

Circulating Supply Market Cap

$1,477,726,743.88

Other Info

Token Contract (WITH 18 Decimals)

Balance
5.50345923991932336 CRV

Value
$6.52 ( ~0.00163573082914169 Eth) [0.0000%]
0x77a01c716980169a051504f4e92ba25556befd0a
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Curve is an exchange liquidity pool on Ethereum. Curve is designed for extremely efficient stablecoin trading and low risk, supplemental fee income for liquidity providers, without an opportunity cost.

Market

Volume (24H):$1,381,454,338.74
Market Capitalization:$1,477,726,743.88
Circulating Supply:1,246,461,805.00 CRV
Market Data Source: Coinmarketcap

# Exchange Pair Price  24H Volume % Volume
1
Binance
CRV-USDT$1.19
0.0002976 Eth
$297,166,044.00
242,541,343.600 CRV
29.7470%
2
Gate.io
CRV-USDT$1.18
0.0002965 Eth
$81,075,482.00
66,174,259.854 CRV
8.1161%
3
OKX
CRV-USDT$1.18
0.0002968 Eth
$75,695,897.00
61,957,842.499 CRV
7.5990%
4
Bitget
CRV-USDT$1.18
0.0002970 Eth
$53,715,459.00
43,704,237.055 CRV
5.3602%
5
Coinbase Exchange
CRV-USD$1.18
0.0002968 Eth
$45,529,582.00
38,509,330.990 CRV
4.7231%
6
Bitunix
CRV-USDT$1.18
0.0002963 Eth
$39,442,246.00
33,416,946.500 CRV
4.0985%
7
MEXC
CRV-USDT$1.19
0.0002983 Eth
$38,803,608.00
32,656,889.729 CRV
4.0053%
8
Bybit
CRV-USDT$1.18
0.0002961 Eth
$36,412,996.00
29,778,366.580 CRV
3.6522%
9
HTX
CRV-USDT$1.18
0.0002969 Eth
$31,054,409.00
25,475,254.608 CRV
3.1245%
10
XT.COM
CRV-USDT$1.19
0.0002987 Eth
$23,697,300.00
19,363,331.500 CRV
2.3749%
11
Slex
CRV-USDT$1.18
0.0002974 Eth
$22,418,949.00
18,347,035.900 CRV
2.2502%
12
BTSE
CRV-USDT$1.18
0.0002960 Eth
$19,217,566.00
16,294,365.466 CRV
1.9985%
13
DigiFinex
CRV-USDT$1.18
0.0002971 Eth
$14,685,942.00
12,408,738.100 CRV
1.5219%
14
BYDFi
CRV-USDT$1.18
0.0002968 Eth
$11,232,773.00
9,505,553.900 CRV
1.1658%
15
KuCoin
CRV-USDT$1.18
0.0002967 Eth
$10,974,113.00
9,283,995.986 CRV
1.1387%
16
Kraken
CRV-USD$1.18
0.0002965 Eth
$10,135,263.00
8,581,932.687 CRV
1.0526%
17
Dex-Trade
CRV-USDT$1.19
0.0002986 Eth
$9,626,861.00
8,079,904.348 CRV
0.9910%
18
Binance
CRV-TRY$1.18
0.0002965 Eth
$9,126,160.00
7,375,280.800 CRV
0.9046%
19
CoinW
CRV-USDT$1.18
0.0002968 Eth
$8,030,689.00
6,793,774.047 CRV
0.8332%
20
Uniswap V3 (Arbitrum One)
0X11CDB42B0EB46D95F990BEDD4695A6E3FA034978-0X82AF49447D8A07E3BD95BD0D56F35241523FBAB1$1.18
0.0002969 Eth
$8,025,075.00
6,551,137.601 0X11CDB42B0EB46D95F990BEDD4695A6E3FA034978
0.8035%
21
Currency.com
CRV-USD$1.18
0.0002967 Eth
$7,925,719.00
6,705,630.000 CRV
0.8224%
22
Biconomy.com
CRV-USDT$1.18
0.0002957 Eth
$7,830,326.00
6,405,832.710 CRV
0.7857%
23
Coinstore
CRV-USDT$1.18
0.0002960 Eth
$7,234,583.00
5,906,732.500 CRV
0.7244%
24
LBank
CRV-USDT$1.18
0.0002971 Eth
$6,872,652.00
5,808,451.410 CRV
0.7124%
25
Luno
CRV-MYR$1.19
0.0002982 Eth
$6,465,569.00
5,442,777.400 CRV
0.6675%
26
Binance
CRV-BTC$1.19
0.0002976 Eth
$6,435,156.00
5,229,242.500 CRV
0.6414%
27
Bitkub
CRV-THB$1.19
0.0002983 Eth
$6,359,862.00
5,346,926.029 CRV
0.6558%
28
Toobit
CRV-USDT$1.18
0.0002972 Eth
$5,898,540.00
4,815,302.100 CRV
0.5906%
29
Bitrue
CRV-USDT$1.19
0.0002985 Eth
$5,512,498.00
4,627,876.620 CRV
0.5676%
30
Bitvavo
CRV-EUR$1.18
0.0002953 Eth
$5,094,891.00
4,331,728.778 CRV
0.5313%
31
BingX
CRV-USDT$1.18
0.0002966 Eth
$5,090,977.00
4,146,545.022 CRV
0.5086%
32
PointPay
CRV-USDT$1.18
0.0002968 Eth
$4,909,654.00
4,000,558.830 CRV
0.4907%
33
Bithumb
CRV-KRW$1.15
0.0002888 Eth
$4,577,893.00
3,978,439.943 CRV
0.4879%
34
Ourbit
CRV-USDT$1.18
0.0002967 Eth
$4,541,567.00
3,712,528.810 CRV
0.4553%
35
CoinEx
CRV-USDT$1.17
0.0002943 Eth
$4,432,066.00
3,610,658.664 CRV
0.4428%
36
Curve (Ethereum)
0XD533A949740BB3306D119CC777FA900BA034CD52-0X62B9C7356A2DC64A1969E19C23E4F579F9810AA7$1.20
0.0002996 Eth
$4,123,201.00
3,322,523.488 0XD533A949740BB3306D119CC777FA900BA034CD52
0.4075%
37
WhiteBIT
CRV-BTC$1.18
0.0002963 Eth
$3,830,937.00
3,244,903.100 CRV
0.3980%
38
Bullish
CRV-USDC$1.18
0.0002966 Eth
$3,776,597.00
3,087,180.956 CRV
0.3786%
39
FMCPAY
CRV-USDT$1.18
0.0002971 Eth
$3,528,298.00
2,887,828.570 CRV
0.3542%
40
Phemex
CRV-USDT$1.18
0.0002957 Eth
$3,216,288.00
2,731,080.810 CRV
0.3350%
41
BitMart
CRV-USDT$1.18
0.0002960 Eth
$3,042,992.00
2,580,811.520 CRV
0.3165%
42
Icrypex
CRV-USDT$1.18
0.0002950 Eth
$2,847,613.00
2,423,151.187 CRV
0.2972%
43
Trubit
CRV-USDT$1.19
0.0002990 Eth
$2,314,679.00
1,894,671.200 CRV
0.2324%
44
Kraken
CRV-EUR$1.18
0.0002964 Eth
$2,209,173.00
1,871,031.031 CRV
0.2295%
45
Coinbase Exchange
CRV-EUR$1.18
0.0002964 Eth
$2,136,837.00
1,809,280.900 CRV
0.2219%
46
P2B
CRV-USD$1.18
0.0002952 Eth
$1,990,440.00
1,692,550.990 CRV
0.2076%
47
WEEX
CRV-USDT$1.19
0.0002979 Eth
$1,501,962.00
1,265,886.033 CRV
0.1553%
48
Hotcoin
CRV-USDT$1.18
0.0002962 Eth
$1,484,846.00
1,258,487.871 CRV
0.1544%
49
OKX
CRV-USDC$1.18
0.0002965 Eth
$1,461,392.00
1,192,195.322 CRV
0.1462%
50
Upbit
CRV-BTC$1.18
0.0002953 Eth
$1,371,535.00
1,165,887.695 CRV
0.1430%
51
LATOKEN
CRV-BTC$1.18
0.0002975 Eth
$1,361,827.00
1,149,497.399 CRV
0.1410%
52
WhiteBIT
CRV-TRY$1.18
0.0002965 Eth
$1,331,478.00
1,127,634.200 CRV
0.1383%
53
Uniswap V3 (Ethereum)
0X4E3FBD56CD56C3E72C1403E103B45DB9DA5B9D2B-0XD533A949740BB3306D119CC777FA900BA034CD52$1.17
0.0002931 Eth
$1,088,702.00
158,132.033 0X4E3FBD56CD56C3E72C1403E103B45DB9DA5B9D2B
0.0194%
54
Gemini
CRV-USD$1.18
0.0002966 Eth
$1,088,211.00
921,042.304 CRV
0.1130%
55
BitDelta
CRV-USDT$1.18
0.0002974 Eth
$923,638.00
763,986.700 CRV
0.0937%
56
Quickswap (v3)
0X172370D5CD63279EFA6D502DAB29171933A610AF-0X0D500B1D8E8EF31E21C99D1DB9A6444D3ADF1270$1.18
0.0002968 Eth
$790,790.00
643,743.118 0X172370D5CD63279EFA6D502DAB29171933A610AF
0.0790%
57
Bitso
CRV-USD$1.18
0.0002969 Eth
$766,673.00
648,113.442 CRV
0.0795%
58
Nonkyc.io
CRV-USDT$1.19
0.0002982 Eth
$743,090.00
611,953.139 CRV
0.0751%
59
Curve (Ethereum)
0XD533A949740BB3306D119CC777FA900BA034CD52-0XD1B5651E55D4CEED36251C61C50C889B36F6ABB5$1.16
0.0002900 Eth
$679,062.00
573,895.388 0XD533A949740BB3306D119CC777FA900BA034CD52
0.0704%
60
Tapbit
CRV-USDT$1.21
0.0003034 Eth
$658,781.00
540,409.000 CRV
0.0663%
61
Uniswap V3 (Polygon)
0X172370D5CD63279EFA6D502DAB29171933A610AF-0X0D500B1D8E8EF31E21C99D1DB9A6444D3ADF1270$1.19
0.0002984 Eth
$613,259.00
498,920.244 0X172370D5CD63279EFA6D502DAB29171933A610AF
0.0612%
62
Curve (Ethereum)
0XD533A949740BB3306D119CC777FA900BA034CD52-0XFCC5C47BE19D06BF83EB04298B026F81069FF65B$1.19
0.0002988 Eth
$580,967.00
483,789.160 0XD533A949740BB3306D119CC777FA900BA034CD52
0.0593%
63
Bitazza
CRV-USDT$1.19
0.0002980 Eth
$472,549.00
384,734.900 CRV
0.0472%
64
WEEX
CRV-USDC$1.19
0.0002989 Eth
$450,310.00
369,279.000 CRV
0.0453%
65
Coinbase Exchange
CRV-BTC$1.18
0.0002951 Eth
$383,607.00
326,360.470 CRV
0.0400%
66
Curve (Optimism)
0X4200000000000000000000000000000000000042-0X0994206DFE8DE6EC6920FF4D779B0D950605FB53$1.19
0.0002976 Eth
$373,493.00
144,864.740 0X4200000000000000000000000000000000000042
0.0178%
67
Curve (Arbitrum)
0X912CE59144191C1204E64559FE8253A0E49E6548-0X11CDB42B0EB46D95F990BEDD4695A6E3FA034978$1.19
0.0002981 Eth
$360,363.00
317,145.147 0X912CE59144191C1204E64559FE8253A0E49E6548
0.0389%
68
AscendEX (BitMax)
CRV-USDT$1.18
0.0002961 Eth
$359,189.00
304,463.900 CRV
0.0373%
69
Bitget
CRV-BTC$1.18
0.0002971 Eth
$329,319.00
264,448.126 CRV
0.0324%
70
Coinbase Exchange
CRV-GBP$1.18
0.0002966 Eth
$325,872.00
275,807.500 CRV
0.0338%
71
LATOKEN
CRV-USDT$1.18
0.0002974 Eth
$272,918.00
230,387.172 CRV
0.0283%
72
KickEX
CRV-USDT$1.18
0.0002958 Eth
$266,419.00
226,082.480 CRV
0.0277%
73
Dex-Trade
CRV-BTC$1.18
0.0002964 Eth
$207,839.00
176,050.581 CRV
0.0216%
74
BigONE
CRV-USDT$1.18
0.0002963 Eth
$207,576.00
175,874.377 CRV
0.0216%
75
DeGate
0XD533A949740BB3306D119CC777FA900BA034CD52-0XA0B86991C6218B36C1D19D4A2E9EB0CE3606EB48$1.19
0.0002988 Eth
$204,243.00
167,330.624 0XD533A949740BB3306D119CC777FA900BA034CD52
0.0205%
76
Uniswap V2 (Ethereum)
0XD533A949740BB3306D119CC777FA900BA034CD52-0XC02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2$1.18
0.0002967 Eth
$130,944.00
106,007.640 0XD533A949740BB3306D119CC777FA900BA034CD52
0.0130%
77
Uniswap V3 (Polygon)
0X172370D5CD63279EFA6D502DAB29171933A610AF-0X7CEB23FD6BC0ADD59E62AC25578270CFF1B9F619$1.19
0.0002982 Eth
$113,697.00
93,437.104 0X172370D5CD63279EFA6D502DAB29171933A610AF
0.0115%
78
Sushiswap (Polygon POS)
0X172370D5CD63279EFA6D502DAB29171933A610AF-0X7CEB23FD6BC0ADD59E62AC25578270CFF1B9F619$1.19
0.0002998 Eth
$77,266.00
62,443.661 0X172370D5CD63279EFA6D502DAB29171933A610AF
0.0077%
79
Bitlo
CRV-TRY$1.19
0.0002987 Eth
$67,219.00
53,955.736 CRV
0.0066%
80
Globe
CRV-USDT$1.18
0.0002974 Eth
$66,297.00
53,771.935 CRV
0.0066%
81
Nonkyc.io
CRV-BTC$1.18
0.0002971 Eth
$32,370.00
26,442.277 CRV
0.0032%
82
Uniswap V3 (Optimism)
0X0994206DFE8DE6EC6920FF4D779B0D950605FB53-0X4200000000000000000000000000000000000006$1.19
0.0002985 Eth
$29,715.00
24,379.230 0X0994206DFE8DE6EC6920FF4D779B0D950605FB53
0.0030%
83
ApeSwap (Polygon)
0X172370D5CD63279EFA6D502DAB29171933A610AF-0X0D500B1D8E8EF31E21C99D1DB9A6444D3ADF1270$1.19
0.0002984 Eth
$22,611.00
18,248.193 0X172370D5CD63279EFA6D502DAB29171933A610AF
0.0022%
84
Gate.io
CRV-BTC$1.18
0.0002961 Eth
$18,835.77
15,488.581 CRV
0.0019%
85
Uniswap V3 (Arbitrum One)
0X11CDB42B0EB46D95F990BEDD4695A6E3FA034978-0XFD086BC7CD5C481DCC9C85EBE478A1C0B69FCBB9$1.19
0.0002977 Eth
$17,244.59
13,744.449 0X11CDB42B0EB46D95F990BEDD4695A6E3FA034978
0.0017%
86
DeFi Swap
0XD533A949740BB3306D119CC777FA900BA034CD52-0XC02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2$1.20
0.0003006 Eth
$16,831.91
13,636.341 0XD533A949740BB3306D119CC777FA900BA034CD52
0.0017%
87
Gate.io
CRV-TRY$1.21
0.0003048 Eth
$16,742.92
13,389.525 CRV
0.0016%
88
Luno
CRV-XBT$1.20
0.0003002 Eth
$15,955.51
13,342.800 CRV
0.0016%
89
HashKey Global
CRV-USDT$1.18
0.0002963 Eth
$15,625.04
12,830.400 CRV
0.0016%
90
Korbit
CRV-KRW$1.18
0.0002958 Eth
$13,059.34
10,726.399 CRV
0.0013%
91
Uniswap V3 (Polygon)
0X172370D5CD63279EFA6D502DAB29171933A610AF-0X7CEB23FD6BC0ADD59E62AC25578270CFF1B9F619$1.28
0.0003198 Eth
$12,178.41
9,640.499 0X172370D5CD63279EFA6D502DAB29171933A610AF
0.0012%
92
Sushiswap (Arbitrum One)
0X11CDB42B0EB46D95F990BEDD4695A6E3FA034978-0X82AF49447D8A07E3BD95BD0D56F35241523FBAB1$1.19
0.0002977 Eth
$7,060.24
5,752.456 0X11CDB42B0EB46D95F990BEDD4695A6E3FA034978
0.0007%
93
PancakeSwap V3 (Arbitrum)
0X11CDB42B0EB46D95F990BEDD4695A6E3FA034978-0X82AF49447D8A07E3BD95BD0D56F35241523FBAB1$1.19
0.0002982 Eth
$6,726.63
5,426.086 0X11CDB42B0EB46D95F990BEDD4695A6E3FA034978
0.0007%
94
Uniswap V3 (Optimism)
0X0994206DFE8DE6EC6920FF4D779B0D950605FB53-0X4200000000000000000000000000000000000006$1.16
0.0002914 Eth
$5,040.83
4,146.127 0X0994206DFE8DE6EC6920FF4D779B0D950605FB53
0.0005%
95
Uniswap V3 (Arbitrum One)
0X11CDB42B0EB46D95F990BEDD4695A6E3FA034978-0X82AF49447D8A07E3BD95BD0D56F35241523FBAB1$1.19
0.0002982 Eth
$4,734.35
3,797.891 0X11CDB42B0EB46D95F990BEDD4695A6E3FA034978
0.0005%
96
Sushiswap
0XD533A949740BB3306D119CC777FA900BA034CD52-0X62B9C7356A2DC64A1969E19C23E4F579F9810AA7$1.18
0.0002969 Eth
$4,621.26
3,651.499 0XD533A949740BB3306D119CC777FA900BA034CD52
0.0004%
97
Gravity Finance
0X172370D5CD63279EFA6D502DAB29171933A610AF-0X7CEB23FD6BC0ADD59E62AC25578270CFF1B9F619$1.19
0.0003001 Eth
$1,275.34
1,037.943 0X172370D5CD63279EFA6D502DAB29171933A610AF
0.0001%
98
Energiswap
0XD3319EAF3C4743AC75AACE77BEFCFA445ED6E69E-0XA55F26319462355474A9F2C8790860776A329AA4$1.20
0.0003014 Eth
$513.77
420.820 0XD3319EAF3C4743AC75AACE77BEFCFA445ED6E69E
0.0001%
99
Quickswap
0X172370D5CD63279EFA6D502DAB29171933A610AF-0X0D500B1D8E8EF31E21C99D1DB9A6444D3ADF1270$1.20
0.0003008 Eth
$402.84
326.022 0X172370D5CD63279EFA6D502DAB29171933A610AF
0.0000%
100
Quickswap
0X172370D5CD63279EFA6D502DAB29171933A610AF-0X7CEB23FD6BC0ADD59E62AC25578270CFF1B9F619$1.20
0.0003001 Eth
$300.42
244.948 0X172370D5CD63279EFA6D502DAB29171933A610AF
0.0000%

Contract Source Code Verified (Exact Match)

Contract Name:
Vyper_contract

Compiler Version
vyper:0.2.4

Optimization Enabled:
N/A

Other Settings:
default evmVersion, MIT license

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

Contract ABI

[{"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}]

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.