S Price: $0.059404 (-1.07%)
Gas: 55 Gwei

Contract

0x5Af79133999f7908953E94b7A5CF367740Ebee35

Overview

S Balance

Sonic LogoSonic LogoSonic Logo0 S

S Value

$0.00

More Info

Private Name Tags

TokenTracker

Multichain Info

No addresses found
Transaction Hash
Block
From
To
Approve615422012026-01-31 6:52:4047 mins ago1769842360IN
Curve: CRV Token
0 S0.0014227955
Approve615241362026-01-31 0:05:207 hrs ago1769817920IN
Curve: CRV Token
0 S0.0032754259.389
Approve614987302026-01-30 17:20:4814 hrs ago1769793648IN
Curve: CRV Token
0 S0.0026700855
Approve614326842026-01-29 20:20:0735 hrs ago1769718007IN
Curve: CRV Token
0 S0.0024273550
Approve614269382026-01-29 18:57:1036 hrs ago1769713030IN
Curve: CRV Token
0 S0.0024122550
Approve614238582026-01-29 18:14:1437 hrs ago1769710454IN
Curve: CRV Token
0 S0.0024149550
Transfer614238412026-01-29 18:13:4637 hrs ago1769710426IN
Curve: CRV Token
0 S0.001962455
Approve613978212026-01-29 11:38:5644 hrs ago1769686736IN
Curve: CRV Token
0 S0.002311850.0001
Approve613727982026-01-29 2:26:442 days ago1769653604IN
Curve: CRV Token
0 S0.0026564455
Approve613306002026-01-28 13:32:062 days ago1769607126IN
Curve: CRV Token
0 S0.0024281151
Approve613250862026-01-28 11:33:412 days ago1769600021IN
Curve: CRV Token
0 S0.0014221355
Approve613223542026-01-28 10:22:582 days ago1769595778IN
Curve: CRV Token
0 S0.0026570555
Approve613198262026-01-28 9:36:342 days ago1769592994IN
Curve: CRV Token
0 S0.0024149550
Approve612984392026-01-28 1:16:393 days ago1769562999IN
Curve: CRV Token
0 S0.0024138550
Approve612633222026-01-27 14:07:333 days ago1769522853IN
Curve: CRV Token
0 S0.0014227955
Approve612633202026-01-27 14:07:283 days ago1769522848IN
Curve: CRV Token
0 S0.0014227955
Approve612595942026-01-27 12:34:483 days ago1769517288IN
Curve: CRV Token
0 S0.0014227955
Approve612157542026-01-26 19:37:434 days ago1769456263IN
Curve: CRV Token
0 S0.0024084550
Approve612081282026-01-26 17:03:534 days ago1769447033IN
Curve: CRV Token
0 S0.0014227955
Approve612008882026-01-26 15:10:574 days ago1769440257IN
Curve: CRV Token
0 S0.0027863557.3949578
Approve611904532026-01-26 12:15:074 days ago1769429707IN
Curve: CRV Token
0 S0.00122150.0001
Approve611904002026-01-26 12:14:184 days ago1769429658IN
Curve: CRV Token
0 S0.001221650.0001
Approve611903832026-01-26 12:14:094 days ago1769429649IN
Curve: CRV Token
0 S0.001221650.0001
Approve611887422026-01-26 11:40:014 days ago1769427601IN
Curve: CRV Token
0 S0.0014227955
Approve611840582026-01-26 10:03:074 days ago1769421787IN
Curve: CRV Token
0 S0.0014227955
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
615418822026-01-31 6:45:4754 mins ago1769841947
0x5Af79133...740Ebee35
0 S
615418822026-01-31 6:45:4754 mins ago1769841947
0x5Af79133...740Ebee35
0 S
615418732026-01-31 6:45:3454 mins ago1769841934
0x5Af79133...740Ebee35
0 S
615418732026-01-31 6:45:3454 mins ago1769841934
0x5Af79133...740Ebee35
0 S
615241452026-01-31 0:05:337 hrs ago1769817933
0x5Af79133...740Ebee35
0 S
615241452026-01-31 0:05:337 hrs ago1769817933
0x5Af79133...740Ebee35
0 S
615241452026-01-31 0:05:337 hrs ago1769817933
0x5Af79133...740Ebee35
0 S
615241452026-01-31 0:05:337 hrs ago1769817933
0x5Af79133...740Ebee35
0 S
615241452026-01-31 0:05:337 hrs ago1769817933
0x5Af79133...740Ebee35
0 S
615241452026-01-31 0:05:337 hrs ago1769817933
0x5Af79133...740Ebee35
0 S
615235052026-01-30 23:51:247 hrs ago1769817084
0x5Af79133...740Ebee35
0 S
615235052026-01-30 23:51:247 hrs ago1769817084
0x5Af79133...740Ebee35
0 S
615235052026-01-30 23:51:247 hrs ago1769817084
0x5Af79133...740Ebee35
0 S
615235052026-01-30 23:51:247 hrs ago1769817084
0x5Af79133...740Ebee35
0 S
615235052026-01-30 23:51:247 hrs ago1769817084
0x5Af79133...740Ebee35
0 S
615235052026-01-30 23:51:247 hrs ago1769817084
0x5Af79133...740Ebee35
0 S
615235052026-01-30 23:51:247 hrs ago1769817084
0x5Af79133...740Ebee35
0 S
615235052026-01-30 23:51:247 hrs ago1769817084
0x5Af79133...740Ebee35
0 S
615152002026-01-30 21:14:5210 hrs ago1769807692
0x5Af79133...740Ebee35
0 S
615152002026-01-30 21:14:5210 hrs ago1769807692
0x5Af79133...740Ebee35
0 S
615152002026-01-30 21:14:5210 hrs ago1769807692
0x5Af79133...740Ebee35
0 S
615152002026-01-30 21:14:5210 hrs ago1769807692
0x5Af79133...740Ebee35
0 S
615152002026-01-30 21:14:5210 hrs ago1769807692
0x5Af79133...740Ebee35
0 S
615144712026-01-30 21:02:3510 hrs ago1769806955
0x5Af79133...740Ebee35
0 S
615144392026-01-30 21:02:0610 hrs ago1769806926
0x5Af79133...740Ebee35
0 S
View All Internal Transactions
Cross-Chain Transactions
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0x09F8D940...1B686C071
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
Token

Compiler Version
vyper:0.3.10

Optimization Enabled:
N/A

Other Settings:
default evmVersion, MIT license

Contract Source Code (Vyper language format)

# @version 0.3.10
"""
@title Token
@license MIT
@author Curve Finance
"""

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

event Transfer:
    owner: indexed(address)
    receiver: indexed(address)
    amount: uint256

event SetMinter:
    minter: indexed(address)


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

VERSION: constant(String[5]) = "1.0.0"
VERSION_HASH: constant(bytes32) = keccak256(VERSION)


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

NAME_HASH: immutable(bytes32)

name: public(immutable(String[64]))
symbol: public(immutable(String[32]))
decimals: public(immutable(uint8))


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

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


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

    CACHED_CHAIN_ID = chain.id
    CACHED_DOMAIN_SEPARATOR = keccak256(
        _abi_encode(
            EIP712_TYPEHASH,
            keccak256(_name),
            VERSION_HASH,
            chain.id,
            self
        )
    )

    NAME_HASH = keccak256(_name)

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


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

    log Approval(_owner, _spender, _amount)


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

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


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

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

    log Transfer(_from, _to, _amount)


@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
            )
        )

    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 the caller's allowance.
    @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)),
        )
    )

    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):
    """
    @notice Set the minter.
    @dev Only callble by the current minter account.
    @param _minter The account to transfer minter permissions to.
    """
    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

API
[{"name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true},{"name":"spender","type":"address","indexed":true},{"name":"amount","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"Transfer","inputs":[{"name":"owner","type":"address","indexed":true},{"name":"receiver","type":"address","indexed":true},{"name":"amount","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"},{"name":"_decimals","type":"uint8"}],"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":"name","inputs":[],"outputs":[{"name":"","type":"string"}]},{"stateMutability":"view","type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string"}]},{"stateMutability":"view","type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8"}]},{"stateMutability":"view","type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"balanceOf","inputs":[{"name":"arg0","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"allowance","inputs":[{"name":"arg0","type":"address"},{"name":"arg1","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"minter","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"nonces","inputs":[{"name":"arg0","type":"address"}],"outputs":[{"name":"","type":"uint256"}]}]

0x610bb85150346101cc576020610c9f5f395f516040602082610c9f015f395f51116101cc576020602082610c9f015f395f51018082610c9f0160403950506020610cbf5f395f516020602082610c9f015f395f51116101cc576020602082610c9f015f395f51018082610c9f0160a03950506020610cdf5f395f518060081c6101cc5760e0526020604051015f81601f0160051c600381116101cc5780156100c257905b8060051b604001518160051b606001610ab801526001018181186100a3575b505050602060a051015f81601f0160051c600281116101cc57801561010257905b8060051b60a001518160051b60c001610ab801526001018181186100e3575b50505060e051610bb85246610ab8527f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f61012052604051606020610140527f06c015bd22b4c69690933c1058878ebdfef31f9aaae40bbe86d8a09fe1b2972c610160524661018052306101a05260a061010052610100805160208201209050610ad852604051606020610af85233600355337fcec52196e972044edde8689a1b608e459c5946b7f3e5c8cd3d6d8e126d422e1c5f610100a2610ab86101d061000039610bd8610000f35b5f80fd5f3560e01c6002600f821660011b610a9801601e395f51565b6306fdde03811861006e5734610a94576020806040528060400160206020610b185f395f510180610b188339508051806020830101601f825f03163682375050601f19601f825160200101169050810190506040f35b63095ea7b381186108af57604436103417610a94576004358060a01c610a945760c0523360405260c0516060526024356080526100a96108b3565b600160e052602060e0f36108af565b6395d89b41811861010e5734610a94576020806040528060400160206020610b785f395f510180610b788339508051806020830101601f825f03163682375050601f19601f825160200101169050810190506040f35b6370a08231811861014957602436103417610a94576004358060a01c610a945760405260016040516020525f5260405f205460605260206060f35b633950935181186108af57604436103417610a94576004358060a01c610a945760c0526002336020525f5260405f208060c0516020525f5260405f2090505460e05260243560e051016101005260e0516101005110156101c9577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610100525b60e05161010051146101ee573360405260c051606052610100516080526101ee6108b3565b6001610120526020610120f36108af565b63313ce567811861021d5734610a94576020610bb860403960206040f35b63a457c2d781186108af57604436103417610a94576004358060a01c610a945760c0526002336020525f5260405f208060c0516020525f5260405f2090505460e05260243560e05103610100526101005160e051101561027d575f610100525b60e05161010051146102a2573360405260c051606052610100516080526102a26108b3565b6001610120526020610120f36108af565b6318160ddd81186102ce5734610a94575f5460405260206040f35b6323b872dd81186108af57606436103417610a94576004358060a01c610a945760c0526024358060a01c610a945760e052600260c0516020525f5260405f2080336020525f5260405f20905054610100527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61010051146103735760c0516040523360605261010051604435808203828111610a9457905090506080526103736108b3565b60c05160405260e05160605260443560805261038d610973565b6001610120526020610120f36108af565b63dd62ed3e81186108af57604436103417610a94576004358060a01c610a94576040526024358060a01c610a945760605260026040516020525f5260405f20806060516020525f5260405f2090505460805260206080f36108af565b630754617281186108af5734610a945760035460405260206040f36108af565b637ecebe00811460033611161561045b57602436103417610a94576004358060a01c610a945760405260046040516020525f5260405f205460605260206060f35b6379cc679081186108af57604436103417610a94576004358060a01c610a945760c052600260c0516020525f5260405f2080336020525f5260405f2090505460e0527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60e051146104ef5760c0516040523360605260e051602435808203828111610a9457905090506080526104ef6108b3565b60c051604052602435606052610503610908565b6001610100526020610100f36108af565b63a9059cbb81186108af57604436103417610a94576004358060a01c610a945760c0523360405260c05160605260243560805261054f610973565b600160e052602060e0f36108af565b63d505accf81186108af5760e436103417610a94576004358060a01c610a9457610100526024358060a01c610a9457610120526084358060081c610a94576101405261010051156105b4576064354211156105b6565b5f5b15610a94576004610100516020525f5260405f2054610160525f60026101a0527f19010000000000000000000000000000000000000000000000000000000000006101c0526101a08051602082018361030001815181525050808301925050506106216101e0610a0a565b6101e0518161030001526020810190507f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9610220526101005161024052610120516102605260443561028052610160516102a0526064356102c05260c061020052610200805160208201209050816103000152602081019050806102e0526102e0905080516020820120905061018052610100515f61022052610180516101a052610140516101c052604060a46101e037602061022060806101a060015afa506102205118610a94576101605160018101818110610a945790506004610100516020525f5260405f205561010051604052610120516060526044356080526107276108b3565b60016101a05260206101a0f36108af565b6342966c6881186108af57602436103417610a94573360405260043560605261075f610908565b600160a052602060a0f36108af565b6340c10f1981186108af57604436103417610a94576004358060a01c610a94576040526003543318610a94576040513081146107ac578015156107ae565b5f5b905015610a945760016040516020525f5260405f208054602435808201828110610a9457905090508155505f54602435808201828110610a9457905090505f556040515f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60243560605260206060a3600160605260206060f36108af565b631652e9fc81186108af57602436103417610a94576004358060a01c610a94576040526003543318610a94576040516003556040517fcec52196e972044edde8689a1b608e459c5946b7f3e5c8cd3d6d8e126d422e1c5f6060a2006108af565b633644e51581186108af5734610a945760206108aa610100610a0a565b610100f35b5f5ffd5b60805160026040516020525f5260405f20806060516020525f5260405f209050556060516040517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560805160a052602060a0a3565b60016040516020525f5260405f208054606051808203828111610a9457905090508155505f54606051808203828111610a9457905090505f555f6040517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60605160805260206080a3565b60605130811461098557801515610987565b5f5b905015610a945760016040516020525f5260405f208054608051808203828111610a94579050905081555060016060516020525f5260405f208054608051808201828110610a9457905090508155506060516040517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60805160a052602060a0a3565b6020610ab85f395f514614610a89577f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6060526020610af86080397f06c015bd22b4c69690933c1058878ebdfef31f9aaae40bbe86d8a09fe1b2972c60a0524660c0523060e05260a06040526040805160208201209050815250610a92565b6020610ad88239505b565b5f80fd041a00b803fa001808af088d08af01ff0738076e08af0514082d02b3039e055e84190ab8811820190120a16576797065728300030a0017000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000f43757276652044414f20546f6b656e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034352560000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x5f3560e01c6002600f821660011b610a9801601e395f51565b6306fdde03811861006e5734610a94576020806040528060400160206020610b185f395f510180610b188339508051806020830101601f825f03163682375050601f19601f825160200101169050810190506040f35b63095ea7b381186108af57604436103417610a94576004358060a01c610a945760c0523360405260c0516060526024356080526100a96108b3565b600160e052602060e0f36108af565b6395d89b41811861010e5734610a94576020806040528060400160206020610b785f395f510180610b788339508051806020830101601f825f03163682375050601f19601f825160200101169050810190506040f35b6370a08231811861014957602436103417610a94576004358060a01c610a945760405260016040516020525f5260405f205460605260206060f35b633950935181186108af57604436103417610a94576004358060a01c610a945760c0526002336020525f5260405f208060c0516020525f5260405f2090505460e05260243560e051016101005260e0516101005110156101c9577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610100525b60e05161010051146101ee573360405260c051606052610100516080526101ee6108b3565b6001610120526020610120f36108af565b63313ce567811861021d5734610a94576020610bb860403960206040f35b63a457c2d781186108af57604436103417610a94576004358060a01c610a945760c0526002336020525f5260405f208060c0516020525f5260405f2090505460e05260243560e05103610100526101005160e051101561027d575f610100525b60e05161010051146102a2573360405260c051606052610100516080526102a26108b3565b6001610120526020610120f36108af565b6318160ddd81186102ce5734610a94575f5460405260206040f35b6323b872dd81186108af57606436103417610a94576004358060a01c610a945760c0526024358060a01c610a945760e052600260c0516020525f5260405f2080336020525f5260405f20905054610100527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61010051146103735760c0516040523360605261010051604435808203828111610a9457905090506080526103736108b3565b60c05160405260e05160605260443560805261038d610973565b6001610120526020610120f36108af565b63dd62ed3e81186108af57604436103417610a94576004358060a01c610a94576040526024358060a01c610a945760605260026040516020525f5260405f20806060516020525f5260405f2090505460805260206080f36108af565b630754617281186108af5734610a945760035460405260206040f36108af565b637ecebe00811460033611161561045b57602436103417610a94576004358060a01c610a945760405260046040516020525f5260405f205460605260206060f35b6379cc679081186108af57604436103417610a94576004358060a01c610a945760c052600260c0516020525f5260405f2080336020525f5260405f2090505460e0527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60e051146104ef5760c0516040523360605260e051602435808203828111610a9457905090506080526104ef6108b3565b60c051604052602435606052610503610908565b6001610100526020610100f36108af565b63a9059cbb81186108af57604436103417610a94576004358060a01c610a945760c0523360405260c05160605260243560805261054f610973565b600160e052602060e0f36108af565b63d505accf81186108af5760e436103417610a94576004358060a01c610a9457610100526024358060a01c610a9457610120526084358060081c610a94576101405261010051156105b4576064354211156105b6565b5f5b15610a94576004610100516020525f5260405f2054610160525f60026101a0527f19010000000000000000000000000000000000000000000000000000000000006101c0526101a08051602082018361030001815181525050808301925050506106216101e0610a0a565b6101e0518161030001526020810190507f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9610220526101005161024052610120516102605260443561028052610160516102a0526064356102c05260c061020052610200805160208201209050816103000152602081019050806102e0526102e0905080516020820120905061018052610100515f61022052610180516101a052610140516101c052604060a46101e037602061022060806101a060015afa506102205118610a94576101605160018101818110610a945790506004610100516020525f5260405f205561010051604052610120516060526044356080526107276108b3565b60016101a05260206101a0f36108af565b6342966c6881186108af57602436103417610a94573360405260043560605261075f610908565b600160a052602060a0f36108af565b6340c10f1981186108af57604436103417610a94576004358060a01c610a94576040526003543318610a94576040513081146107ac578015156107ae565b5f5b905015610a945760016040516020525f5260405f208054602435808201828110610a9457905090508155505f54602435808201828110610a9457905090505f556040515f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60243560605260206060a3600160605260206060f36108af565b631652e9fc81186108af57602436103417610a94576004358060a01c610a94576040526003543318610a94576040516003556040517fcec52196e972044edde8689a1b608e459c5946b7f3e5c8cd3d6d8e126d422e1c5f6060a2006108af565b633644e51581186108af5734610a945760206108aa610100610a0a565b610100f35b5f5ffd5b60805160026040516020525f5260405f20806060516020525f5260405f209050556060516040517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560805160a052602060a0a3565b60016040516020525f5260405f208054606051808203828111610a9457905090508155505f54606051808203828111610a9457905090505f555f6040517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60605160805260206080a3565b60605130811461098557801515610987565b5f5b905015610a945760016040516020525f5260405f208054608051808203828111610a94579050905081555060016060516020525f5260405f208054608051808201828110610a9457905090508155506060516040517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60805160a052602060a0a3565b6020610ab85f395f514614610a89577f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6060526020610af86080397f06c015bd22b4c69690933c1058878ebdfef31f9aaae40bbe86d8a09fe1b2972c60a0524660c0523060e05260a06040526040805160208201209050815250610a92565b6020610ad88239505b565b5f80fd041a00b803fa001808af088d08af01ff0738076e08af0514082d02b3039e055e0000000000000000000000000000000000000000000000000000000000000092b1e565103d3584a80fc5c031900235ba7bc961ea0c63d990cd20fa0de0eb55b69f8677a1fd4b02d0a7b641e866cb02a22994bd45292cfd173416a660877ce3f2000000000000000000000000000000000000000000000000000000000000000f43757276652044414f20546f6b656e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000343525600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012

Block Transaction Gas Used Reward
view all blocks ##produced##

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
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.

Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.