ETH Price: $3,356.51 (-3.74%)

Token

Curve.Fi USD Stablecoin (crvUSD)
 

Overview

Max Total Supply

716,174,073.441331418404550146 crvUSD

Holders

2,965 ( -0.304%)

Market

Price

$0.99 @ 0.000296 ETH (-0.28%)

Onchain Market Cap

$712,477,899.05

Circulating Supply Market Cap

$78,232,287.00

Other Info

Token Contract (WITH 18 Decimals)

Balance
0 crvUSD

Value
$0.00
0xcfcce06af0ee209dfa340247199057fe619c98c9
Loading...
Loading
Loading...
Loading
Loading...
Loading

Market

Volume (24H):$7,398,670.00
Market Capitalization:$78,232,287.00
Circulating Supply:78,701,659.00 crvUSD
Market Data Source: Coinmarketcap

 

 

 

 


# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
crvUSD Stablecoin

Compiler Version
vyper:0.3.7

Optimization Enabled:
N/A

Other Settings:
default evmVersion, None license

Contract Source Code (Vyper language format)

# @version 0.3.7
"""
@title crvUSD Stablecoin
@author Curve.Fi
@license Copyright (c) Curve.Fi, 2020-2023 - all rights reserved
"""
from vyper.interfaces import ERC20

implements: ERC20


interface ERC1271:
    def isValidSignature(_hash: bytes32, _signature: Bytes[65]) -> bytes4: view


event Approval:
    owner: indexed(address)
    spender: indexed(address)
    value: uint256

event Transfer:
    sender: indexed(address)
    receiver: indexed(address)
    value: uint256

event SetMinter:
    minter: indexed(address)


decimals: public(constant(uint8)) = 18
version: public(constant(String[8])) = "v1.0.0"

ERC1271_MAGIC_VAL: constant(bytes4) = 0x1626ba7e
EIP712_TYPEHASH: constant(bytes32) = keccak256(
    "EIP712Domain(string name,string version,uint256 chainId,address verifyingContract,bytes32 salt)"
)
EIP2612_TYPEHASH: constant(bytes32) = keccak256(
    "Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)"
)
VERSION_HASH: constant(bytes32) = keccak256(version)


name: public(immutable(String[64]))
symbol: public(immutable(String[32]))
salt: public(immutable(bytes32))

NAME_HASH: immutable(bytes32)
CACHED_CHAIN_ID: immutable(uint256)
CACHED_DOMAIN_SEPARATOR: immutable(bytes32)


allowance: public(HashMap[address, HashMap[address, uint256]])
balanceOf: public(HashMap[address, uint256])
totalSupply: public(uint256)

nonces: public(HashMap[address, uint256])
minter: public(address)


@external
def __init__(_name: String[64], _symbol: String[32]):
    name = _name
    symbol = _symbol

    NAME_HASH = keccak256(_name)
    CACHED_CHAIN_ID = chain.id
    salt = block.prevhash
    CACHED_DOMAIN_SEPARATOR = keccak256(
        _abi_encode(
            EIP712_TYPEHASH,
            keccak256(_name),
            VERSION_HASH,
            chain.id,
            self,
            block.prevhash,
        )
    )

    self.minter = msg.sender
    log SetMinter(msg.sender)


@internal
def _approve(_owner: address, _spender: address, _value: uint256):
    self.allowance[_owner][_spender] = _value

    log Approval(_owner, _spender, _value)


@internal
def _burn(_from: address, _value: uint256):
    self.balanceOf[_from] -= _value
    self.totalSupply -= _value

    log Transfer(_from, empty(address), _value)


@internal
def _transfer(_from: address, _to: address, _value: uint256):
    assert _to not in [self, empty(address)]

    self.balanceOf[_from] -= _value
    self.balanceOf[_to] += _value

    log Transfer(_from, _to, _value)


@view
@internal
def _domain_separator() -> bytes32:
    if chain.id != CACHED_CHAIN_ID:
        return keccak256(
            _abi_encode(
                EIP712_TYPEHASH,
                NAME_HASH,
                VERSION_HASH,
                chain.id,
                self,
                salt,
            )
        )
    return CACHED_DOMAIN_SEPARATOR


@external
def transferFrom(_from: address, _to: address, _value: uint256) -> bool:
    """
    @notice Transfer tokens from one account to another.
    @dev The caller needs to have an allowance from account `_from` greater than or
        equal to the value being transferred. An allowance equal to the uint256 type's
        maximum, is considered infinite and does not decrease.
    @param _from The account which tokens will be spent from.
    @param _to The account which tokens will be sent to.
    @param _value The amount of tokens to be transferred.
    """
    allowance: uint256 = self.allowance[_from][msg.sender]
    if allowance != max_value(uint256):
        self._approve(_from, msg.sender, allowance - _value)

    self._transfer(_from, _to, _value)
    return True


@external
def transfer(_to: address, _value: uint256) -> bool:
    """
    @notice Transfer tokens to `_to`.
    @param _to The account to transfer tokens to.
    @param _value The amount of tokens to transfer.
    """
    self._transfer(msg.sender, _to, _value)
    return True


@external
def approve(_spender: address, _value: uint256) -> bool:
    """
    @notice Allow `_spender` to transfer up to `_value` amount of tokens from the caller's account.
    @dev Non-zero to non-zero approvals are allowed, but should be used cautiously. The methods
        increaseAllowance + decreaseAllowance are available to prevent any front-running that
        may occur.
    @param _spender The account permitted to spend up to `_value` amount of caller's funds.
    @param _value The amount of tokens `_spender` is allowed to spend.
    """
    self._approve(msg.sender, _spender, _value)
    return True


@external
def permit(
    _owner: address,
    _spender: address,
    _value: uint256,
    _deadline: uint256,
    _v: uint8,
    _r: bytes32,
    _s: bytes32,
) -> bool:
    """
    @notice Permit `_spender` to spend up to `_value` amount of `_owner`'s tokens via a signature.
    @dev In the event of a chain fork, replay attacks are prevented as domain separator is recalculated.
        However, this is only if the resulting chains update their chainId.
    @param _owner The account which generated the signature and is granting an allowance.
    @param _spender The account which will be granted an allowance.
    @param _value The approval amount.
    @param _deadline The deadline by which the signature must be submitted.
    @param _v The last byte of the ECDSA signature.
    @param _r The first 32 bytes of the ECDSA signature.
    @param _s The second 32 bytes of the ECDSA signature.
    """
    assert _owner != empty(address) and block.timestamp <= _deadline

    nonce: uint256 = self.nonces[_owner]
    digest: bytes32 = keccak256(
        concat(
            b"\x19\x01",
            self._domain_separator(),
            keccak256(_abi_encode(EIP2612_TYPEHASH, _owner, _spender, _value, nonce, _deadline)),
        )
    )

    if _owner.is_contract:
        sig: Bytes[65] = concat(_abi_encode(_r, _s), slice(convert(_v, bytes32), 31, 1))
        assert ERC1271(_owner).isValidSignature(digest, sig) == ERC1271_MAGIC_VAL
    else:
        assert ecrecover(digest, _v, _r, _s) == _owner

    self.nonces[_owner] = nonce + 1
    self._approve(_owner, _spender, _value)
    return True


@external
def increaseAllowance(_spender: address, _add_value: uint256) -> bool:
    """
    @notice Increase the allowance granted to `_spender`.
    @dev This function will never overflow, and instead will bound
        allowance to MAX_UINT256. This has the potential to grant an
        infinite approval.
    @param _spender The account to increase the allowance of.
    @param _add_value The amount to increase the allowance by.
    """
    cached_allowance: uint256 = self.allowance[msg.sender][_spender]
    allowance: uint256 = unsafe_add(cached_allowance, _add_value)

    # check for an overflow
    if allowance < cached_allowance:
        allowance = max_value(uint256)

    if allowance != cached_allowance:
        self._approve(msg.sender, _spender, allowance)

    return True


@external
def decreaseAllowance(_spender: address, _sub_value: uint256) -> bool:
    """
    @notice Decrease the allowance granted to `_spender`.
    @dev This function will never underflow, and instead will bound
        allowance to 0.
    @param _spender The account to decrease the allowance of.
    @param _sub_value The amount to decrease the allowance by.
    """
    cached_allowance: uint256 = self.allowance[msg.sender][_spender]
    allowance: uint256 = unsafe_sub(cached_allowance, _sub_value)

    # check for an underflow
    if cached_allowance < allowance:
        allowance = 0

    if allowance != cached_allowance:
        self._approve(msg.sender, _spender, allowance)

    return True


@external
def burnFrom(_from: address, _value: uint256) -> bool:
    """
    @notice Burn `_value` amount of tokens from `_from`.
    @dev The caller must have previously been given an allowance by `_from`.
    @param _from The account to burn the tokens from.
    @param _value The amount of tokens to burn.
    """
    allowance: uint256 = self.allowance[_from][msg.sender]
    if allowance != max_value(uint256):
        self._approve(_from, msg.sender, allowance - _value)

    self._burn(_from, _value)
    return True


@external
def burn(_value: uint256) -> bool:
    """
    @notice Burn `_value` amount of tokens.
    @param _value The amount of tokens to burn.
    """
    self._burn(msg.sender, _value)
    return True


@external
def mint(_to: address, _value: uint256) -> bool:
    """
    @notice Mint `_value` amount of tokens to `_to`.
    @dev Only callable by an account with minter privileges.
    @param _to The account newly minted tokens are credited to.
    @param _value The amount of tokens to mint.
    """
    assert msg.sender == self.minter
    assert _to not in [self, empty(address)]

    self.balanceOf[_to] += _value
    self.totalSupply += _value

    log Transfer(empty(address), _to, _value)
    return True


@external
def set_minter(_minter: address):
    assert msg.sender == self.minter

    self.minter = _minter
    log SetMinter(_minter)


@view
@external
def DOMAIN_SEPARATOR() -> bytes32:
    """
    @notice EIP712 domain separator.
    """
    return self._domain_separator()

Contract Security Audit

Contract ABI

[{"name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true},{"name":"spender","type":"address","indexed":true},{"name":"value","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"Transfer","inputs":[{"name":"sender","type":"address","indexed":true},{"name":"receiver","type":"address","indexed":true},{"name":"value","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"SetMinter","inputs":[{"name":"minter","type":"address","indexed":true}],"anonymous":false,"type":"event"},{"stateMutability":"nonpayable","type":"constructor","inputs":[{"name":"_name","type":"string"},{"name":"_symbol","type":"string"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"transferFrom","inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"transfer","inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"approve","inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"permit","inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"},{"name":"_deadline","type":"uint256"},{"name":"_v","type":"uint8"},{"name":"_r","type":"bytes32"},{"name":"_s","type":"bytes32"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"increaseAllowance","inputs":[{"name":"_spender","type":"address"},{"name":"_add_value","type":"uint256"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"decreaseAllowance","inputs":[{"name":"_spender","type":"address"},{"name":"_sub_value","type":"uint256"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"burnFrom","inputs":[{"name":"_from","type":"address"},{"name":"_value","type":"uint256"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"burn","inputs":[{"name":"_value","type":"uint256"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"mint","inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"set_minter","inputs":[{"name":"_minter","type":"address"}],"outputs":[]},{"stateMutability":"view","type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"","type":"bytes32"}]},{"stateMutability":"view","type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8"}]},{"stateMutability":"view","type":"function","name":"version","inputs":[],"outputs":[{"name":"","type":"string"}]},{"stateMutability":"view","type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string"}]},{"stateMutability":"view","type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string"}]},{"stateMutability":"view","type":"function","name":"salt","inputs":[],"outputs":[{"name":"","type":"bytes32"}]},{"stateMutability":"view","type":"function","name":"allowance","inputs":[{"name":"arg0","type":"address"},{"name":"arg1","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"balanceOf","inputs":[{"name":"arg0","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"nonces","inputs":[{"name":"arg0","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"minter","inputs":[],"outputs":[{"name":"","type":"address"}]}]

6020610e886000396000516040602082610e880160003960005111610e8357602081610e880160003960005180604052602082018181610e88016060395050506020610ea86000396000516020602082610e880160003960005111610e8357602081610e88016000396000518060a05260208201602081610e880160003960005160c05250505034610e835760405180610cd452600081601f0160051c60028111610e835780156100cb57905b8060051b606001518160051b602001610cd401526001018181186100ac575b50505060a05180610d345260c051610d545250604051606020610d945246610db4526001430340610d74527fd87cd6ef79d4e2b95e15ce8abf732db51ec771f1ca2edccf22a46c729ac5647261010052604051606020610120527f15124d26d1272f8d4d5266a24ca397811f414b8cd05a53b26b745f63af5ae2fc610140524661016052306101805260014303406101a05260c060e05260e0805160208201209050610dd45233600455337fcec52196e972044edde8689a1b608e459c5946b7f3e5c8cd3d6d8e126d422e1c600060e0a2610cd46101ae61000039610df4610000f36003361161000c57610ab0565b60003560e01c34610cc2576323b872dd81186100e55760643610610cc2576004358060a01c610cc25760c0526024358060a01c610cc25760e052600060c051602052600052604060002080336020526000526040600020905054610100527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61010051146100be5760c0516040523360605261010051604435808203828111610cc257905090506080526100be610ab6565b60c05160405260e0516060526044356080526100d8610b7f565b6001610120526020610120f35b63a9059cbb81186101295760443610610cc2576004358060a01c610cc25760c0523360405260c05160605260243560805261011e610b7f565b600160e052602060e0f35b63095ea7b3811861016d5760443610610cc2576004358060a01c610cc25760c0523360405260c051606052602435608052610162610ab6565b600160e052602060e0f35b63d505accf811861049b5760e43610610cc2576004358060a01c610cc257610120526024358060a01c610cc257610140526084358060081c610cc2576101605261012051156101c1576064354211156101c4565b60005b15610cc25760036101205160205260005260406000205461018052600060026101c0527f19010000000000000000000000000000000000000000000000000000000000006101e0526101c0805160208201836103200181518152505080830192505050610232610200610c1b565b610200518161032001526020810190507f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c961024052610120516102605261014051610280526044356102a052610180516102c0526064356102e05260c061022052610220805160208201209050816103200152602081019050806103005261030090508051602082012090506101a052610120513b1561041c576000604060a46102603760406102405261024080516020820183610320018281848460045afa50505080830192505050610160516102a0526102a0601f810180516102e0525060016102c0526102c09050805160208201836103200181518152505080830192505050806103005261030090508051806101c05260208201816101e0838360045afa505050507f1626ba7e0000000000000000000000000000000000000000000000000000000061012051631626ba7e6102405260406101a05161026052806102805280610260016101c051808252602082018181836101e060045afa5050508051806020830101601f82600003163682375050601f19601f82516020010116905081015050602061024060c461025c845afa6103f4573d600060003e3d6000fd5b60203d10610cc257610240518060201b610cc2576103205261032090505118610cc25761044f565b610120516101a0516101c052610160516101e052604060a4610200376020600060806101c060015afa5060005118610cc2575b6101805160018101818110610cc2579050600361012051602052600052604060002055610120516040526101405160605260443560805261048e610ab6565b60016101c05260206101c0f35b6339509351811861054f5760443610610cc2576004358060a01c610cc25760c05260003360205260005260406000208060c051602052600052604060002090505460e05260243560e051016101005260e05161010051101561051d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610100525b60e0516101005114610542573360405260c05160605261010051608052610542610ab6565b6001610120526020610120f35b63a457c2d781186105e45760443610610cc2576004358060a01c610cc25760c05260003360205260005260406000208060c051602052600052604060002090505460e05260243560e05103610100526101005160e05110156105b2576000610100525b60e05161010051146105d7573360405260c051606052610100516080526105d7610ab6565b6001610120526020610120f35b6379cc6790811861069b5760443610610cc2576004358060a01c610cc25760c052600060c05160205260005260406000208033602052600052604060002090505460e0527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60e0511461067a5760c0516040523360605260e051602435808203828111610cc2579050905060805261067a610ab6565b60c05160405260243560605261068e610b0f565b6001610100526020610100f35b6342966c6881186106cb5760243610610cc257336040526004356060526106c0610b0f565b600160a052602060a0f35b6340c10f19811861078a5760443610610cc2576004358060a01c610cc2576040526004543318610cc2576040513081146107075780151561070a565b60005b905015610cc257600160405160205260005260406000208054602435808201828110610cc25790509050815550600254602435808201828110610cc2579050905060025560405160007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60243560605260206060a3600160605260206060f35b631652e9fc81186107e55760243610610cc2576004358060a01c610cc2576040526004543318610cc2576040516004556040517fcec52196e972044edde8689a1b608e459c5946b7f3e5c8cd3d6d8e126d422e1c60006060a2005b633644e515811861080a5760043610610cc2576020610805610120610c1b565b610120f35b63313ce56781186108285760043610610cc257601260405260206040f35b6354fd4d5081186108b05760043610610cc25760208060805260066040527f76312e302e30000000000000000000000000000000000000000000000000000060605260408160800181518082526020830160208301815181525050508051806020830101601f82600003163682375050601f19601f8251602001011690509050810190506080f35b6306fdde0381186109115760043610610cc257602080604052806040016020610cd46000396000518082526020820181610cf4823950508051806020830101601f82600003163682375050601f19601f825160200101169050810190506040f35b6395d89b4181186109795760043610610cc257602080604052806040016020610d34600039600051808252602082016020610d54600039600051815250508051806020830101601f82600003163682375050601f19601f825160200101169050810190506040f35b63bfa0b13381186109a05760043610610cc2576020610d7460003960005160405260206040f35b63dd62ed3e81186109fa5760443610610cc2576004358060a01c610cc2576040526024358060a01c610cc2576060526000604051602052600052604060002080606051602052600052604060002090505460805260206080f35b6370a082318118610a355760243610610cc2576004358060a01c610cc257604052600160405160205260005260406000205460605260206060f35b6318160ddd8118610a545760043610610cc25760025460405260206040f35b637ecebe008118610a8f5760243610610cc2576004358060a01c610cc257604052600360405160205260005260406000205460605260206060f35b63075461728118610aae5760043610610cc25760045460405260206040f35b505b60006000fd5b608051600060405160205260005260406000208060605160205260005260406000209050556060516040517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560805160a052602060a0a3565b600160405160205260005260406000208054606051808203828111610cc25790509050815550600254606051808203828111610cc2579050905060025560006040517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60605160805260206080a3565b606051308114610b9157801515610b94565b60005b905015610cc257600160405160205260005260406000208054608051808203828111610cc25790509050815550600160605160205260005260406000208054608051808201828110610cc257905090508155506060516040517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60805160a052602060a0a3565b6020610db46000396000514614610cb1577fd87cd6ef79d4e2b95e15ce8abf732db51ec771f1ca2edccf22a46c729ac564726060526020610d946000396000516080527f15124d26d1272f8d4d5266a24ca397811f414b8cd05a53b26b745f63af5ae2fc60a0524660c0523060e0526020610d746000396000516101005260c06040526040805160208201209050815250610cc0565b6020610dd46000396000518152505b565b600080fda165767970657283000307000b005b600080fd00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000001743757276652e46692055534420537461626c65636f696e00000000000000000000000000000000000000000000000000000000000000000000000000000000066372765553440000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x6003361161000c57610ab0565b60003560e01c34610cc2576323b872dd81186100e55760643610610cc2576004358060a01c610cc25760c0526024358060a01c610cc25760e052600060c051602052600052604060002080336020526000526040600020905054610100527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61010051146100be5760c0516040523360605261010051604435808203828111610cc257905090506080526100be610ab6565b60c05160405260e0516060526044356080526100d8610b7f565b6001610120526020610120f35b63a9059cbb81186101295760443610610cc2576004358060a01c610cc25760c0523360405260c05160605260243560805261011e610b7f565b600160e052602060e0f35b63095ea7b3811861016d5760443610610cc2576004358060a01c610cc25760c0523360405260c051606052602435608052610162610ab6565b600160e052602060e0f35b63d505accf811861049b5760e43610610cc2576004358060a01c610cc257610120526024358060a01c610cc257610140526084358060081c610cc2576101605261012051156101c1576064354211156101c4565b60005b15610cc25760036101205160205260005260406000205461018052600060026101c0527f19010000000000000000000000000000000000000000000000000000000000006101e0526101c0805160208201836103200181518152505080830192505050610232610200610c1b565b610200518161032001526020810190507f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c961024052610120516102605261014051610280526044356102a052610180516102c0526064356102e05260c061022052610220805160208201209050816103200152602081019050806103005261030090508051602082012090506101a052610120513b1561041c576000604060a46102603760406102405261024080516020820183610320018281848460045afa50505080830192505050610160516102a0526102a0601f810180516102e0525060016102c0526102c09050805160208201836103200181518152505080830192505050806103005261030090508051806101c05260208201816101e0838360045afa505050507f1626ba7e0000000000000000000000000000000000000000000000000000000061012051631626ba7e6102405260406101a05161026052806102805280610260016101c051808252602082018181836101e060045afa5050508051806020830101601f82600003163682375050601f19601f82516020010116905081015050602061024060c461025c845afa6103f4573d600060003e3d6000fd5b60203d10610cc257610240518060201b610cc2576103205261032090505118610cc25761044f565b610120516101a0516101c052610160516101e052604060a4610200376020600060806101c060015afa5060005118610cc2575b6101805160018101818110610cc2579050600361012051602052600052604060002055610120516040526101405160605260443560805261048e610ab6565b60016101c05260206101c0f35b6339509351811861054f5760443610610cc2576004358060a01c610cc25760c05260003360205260005260406000208060c051602052600052604060002090505460e05260243560e051016101005260e05161010051101561051d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610100525b60e0516101005114610542573360405260c05160605261010051608052610542610ab6565b6001610120526020610120f35b63a457c2d781186105e45760443610610cc2576004358060a01c610cc25760c05260003360205260005260406000208060c051602052600052604060002090505460e05260243560e05103610100526101005160e05110156105b2576000610100525b60e05161010051146105d7573360405260c051606052610100516080526105d7610ab6565b6001610120526020610120f35b6379cc6790811861069b5760443610610cc2576004358060a01c610cc25760c052600060c05160205260005260406000208033602052600052604060002090505460e0527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60e0511461067a5760c0516040523360605260e051602435808203828111610cc2579050905060805261067a610ab6565b60c05160405260243560605261068e610b0f565b6001610100526020610100f35b6342966c6881186106cb5760243610610cc257336040526004356060526106c0610b0f565b600160a052602060a0f35b6340c10f19811861078a5760443610610cc2576004358060a01c610cc2576040526004543318610cc2576040513081146107075780151561070a565b60005b905015610cc257600160405160205260005260406000208054602435808201828110610cc25790509050815550600254602435808201828110610cc2579050905060025560405160007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60243560605260206060a3600160605260206060f35b631652e9fc81186107e55760243610610cc2576004358060a01c610cc2576040526004543318610cc2576040516004556040517fcec52196e972044edde8689a1b608e459c5946b7f3e5c8cd3d6d8e126d422e1c60006060a2005b633644e515811861080a5760043610610cc2576020610805610120610c1b565b610120f35b63313ce56781186108285760043610610cc257601260405260206040f35b6354fd4d5081186108b05760043610610cc25760208060805260066040527f76312e302e30000000000000000000000000000000000000000000000000000060605260408160800181518082526020830160208301815181525050508051806020830101601f82600003163682375050601f19601f8251602001011690509050810190506080f35b6306fdde0381186109115760043610610cc257602080604052806040016020610cd46000396000518082526020820181610cf4823950508051806020830101601f82600003163682375050601f19601f825160200101169050810190506040f35b6395d89b4181186109795760043610610cc257602080604052806040016020610d34600039600051808252602082016020610d54600039600051815250508051806020830101601f82600003163682375050601f19601f825160200101169050810190506040f35b63bfa0b13381186109a05760043610610cc2576020610d7460003960005160405260206040f35b63dd62ed3e81186109fa5760443610610cc2576004358060a01c610cc2576040526024358060a01c610cc2576060526000604051602052600052604060002080606051602052600052604060002090505460805260206080f35b6370a082318118610a355760243610610cc2576004358060a01c610cc257604052600160405160205260005260406000205460605260206060f35b6318160ddd8118610a545760043610610cc25760025460405260206040f35b637ecebe008118610a8f5760243610610cc2576004358060a01c610cc257604052600360405160205260005260406000205460605260206060f35b63075461728118610aae5760043610610cc25760045460405260206040f35b505b60006000fd5b608051600060405160205260005260406000208060605160205260005260406000209050556060516040517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560805160a052602060a0a3565b600160405160205260005260406000208054606051808203828111610cc25790509050815550600254606051808203828111610cc2579050905060025560006040517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60605160805260206080a3565b606051308114610b9157801515610b94565b60005b905015610cc257600160405160205260005260406000208054608051808203828111610cc25790509050815550600160605160205260005260406000208054608051808201828110610cc257905090508155506060516040517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60805160a052602060a0a3565b6020610db46000396000514614610cb1577fd87cd6ef79d4e2b95e15ce8abf732db51ec771f1ca2edccf22a46c729ac564726060526020610d946000396000516080527f15124d26d1272f8d4d5266a24ca397811f414b8cd05a53b26b745f63af5ae2fc60a0524660c0523060e0526020610d746000396000516101005260c06040526040805160208201209050815250610cc0565b6020610dd46000396000518152505b565b600080fda165767970657283000307000b000000000000000000000000000000000000000000000000000000000000001743757276652e46692055534420537461626c65636f696e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000066372765553440000000000000000000000000000000000000000000000000000b99ba1c24ff7f96081ccd1ad26ffc380e2cc4c73b87f99e7a0165fa980b3b9776b6d6c86c326770f6c25b6ef3f5528c1ce6dc99246faa6c29790347076961bba00000000000000000000000000000000000000000000000000000000000000017906987b5141f4b3a52bd45bf8cd1495b428ff72f3caefd1d670d9726103a7f0

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000001743757276652e46692055534420537461626c65636f696e00000000000000000000000000000000000000000000000000000000000000000000000000000000066372765553440000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _name (string): Curve.Fi USD Stablecoin
Arg [1] : _symbol (string): crvUSD

-----Encoded View---------------
6 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000017
Arg [3] : 43757276652e46692055534420537461626c65636f696e000000000000000000
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000006
Arg [5] : 6372765553440000000000000000000000000000000000000000000000000000


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.