ETH Price: $1,984.28 (+6.38%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

1 address found via
Transaction Hash
Method
Block
From
To
Transfer240360602025-12-18 0:58:4773 days ago1766019527IN
0x99178264...3885a4BD2
0.005 ETH0.000048252.03660508
Transfer240360382025-12-18 0:54:2373 days ago1766019263IN
0x99178264...3885a4BD2
0.005 ETH0.000048092.03006837
Transfer239856122025-12-10 23:35:5980 days ago1765409759IN
0x99178264...3885a4BD2
0.002 ETH0.000051082.15620938
Transfer238862612025-11-26 23:43:3594 days ago1764200615IN
0x99178264...3885a4BD2
0.002 ETH0.000048712.05609105
Transfer237364562025-11-05 23:45:35115 days ago1762386335IN
0x99178264...3885a4BD2
0.005 ETH0.000053362.2522554
Transfer236360762025-10-22 22:36:23129 days ago1761172583IN
0x99178264...3885a4BD2
0.005 ETH0.000049782.10115
Transfer234711762025-09-29 20:56:23152 days ago1759179383IN
0x99178264...3885a4BD2
0.005 ETH0.000039821.68076603
Transfer233324432025-09-10 11:39:47171 days ago1757504387IN
0x99178264...3885a4BD2
0.005 ETH0.000029121.22939043
Transfer232853312025-09-03 21:40:47178 days ago1756935647IN
0x99178264...3885a4BD2
0.005 ETH0.000031341.32289415
Transfer230562182025-08-02 22:00:47210 days ago1754172047IN
0x99178264...3885a4BD2
0.005 ETH0.000055092.32520332
Transfer229836912025-07-23 18:35:59220 days ago1753295759IN
0x99178264...3885a4BD2
0.005 ETH0.000066692.81509578
Transfer228350382025-07-03 0:11:47241 days ago1751501507IN
0x99178264...3885a4BD2
0.005 ETH0.000063272.67078381
Transfer227342882025-06-18 22:15:35255 days ago1750284935IN
0x99178264...3885a4BD2
0.005 ETH0.000028091.18598748
Transfer225831012025-05-28 18:39:47276 days ago1748457587IN
0x99178264...3885a4BD2
0.005 ETH0.000077513.27159195
Transfer224843912025-05-14 22:32:59290 days ago1747261979IN
0x99178264...3885a4BD2
0.005 ETH0.000022530.95131553
Transfer223331562025-04-23 17:20:23311 days ago1745428823IN
0x99178264...3885a4BD2
0.005 ETH0.000050562.13428387
Transfer222348792025-04-10 0:17:23325 days ago1744244243IN
0x99178264...3885a4BD2
0.005 ETH0.000022330.94277113
Transfer220846792025-03-20 1:04:59346 days ago1742432699IN
0x99178264...3885a4BD2
0.005 ETH0.000022870.96545387
Transfer219484552025-03-01 0:33:11365 days ago1740789191IN
0x99178264...3885a4BD2
0.005 ETH0.000028061.18453591
Transfer218339892025-02-13 0:28:47381 days ago1739406527IN
0x99178264...3885a4BD2
0.005 ETH0.000042061.77551368
Transfer217337462025-01-30 0:23:59395 days ago1738196639IN
0x99178264...3885a4BD2
0.005 ETH0.000071793.03040761
Transfer215832512025-01-09 0:09:47416 days ago1736381387IN
0x99178264...3885a4BD2
0.005 ETH0.000160496.77398562
Transfer214901982024-12-27 0:24:11429 days ago1735259051IN
0x99178264...3885a4BD2
0.005 ETH0.000127655.38793153
Transfer213828202024-12-12 0:23:47444 days ago1733963027IN
0x99178264...3885a4BD2
0.005 ETH0.0005212422.00012353
Transfer212325462024-11-21 0:32:11465 days ago1732149131IN
0x99178264...3885a4BD2
0.005 ETH0.000223639.43884222
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Bridge244872092026-02-19 0:08:3510 days ago1771459715
0x99178264...3885a4BD2
0.00200036 ETH
Transfer244872092026-02-19 0:08:3510 days ago1771459715
0x99178264...3885a4BD2
0.00200036 ETH
Bridge244370232026-02-12 0:10:2317 days ago1770855023
0x99178264...3885a4BD2
0.00200036 ETH
Transfer244370232026-02-12 0:10:2317 days ago1770855023
0x99178264...3885a4BD2
0.00200036 ETH
Bridge243869812026-02-05 0:13:3524 days ago1770250415
0x99178264...3885a4BD2
0.00200101 ETH
Transfer243869812026-02-05 0:13:3524 days ago1770250415
0x99178264...3885a4BD2
0.00200101 ETH
Bridge243368242026-01-29 0:07:4731 days ago1769645267
0x99178264...3885a4BD2
0.00200066 ETH
Transfer243368242026-01-29 0:07:4731 days ago1769645267
0x99178264...3885a4BD2
0.00200066 ETH
Bridge242866422026-01-22 0:06:5938 days ago1769040419
0x99178264...3885a4BD2
0.0020003 ETH
Transfer242866422026-01-22 0:06:5938 days ago1769040419
0x99178264...3885a4BD2
0.00118533 ETH
Bridge242364252026-01-15 0:07:4745 days ago1768435667
0x99178264...3885a4BD2
0.00200042 ETH
Bridge241862812026-01-08 0:07:5952 days ago1767830879
0x99178264...3885a4BD2
0.00200034 ETH
Bridge241360872026-01-01 0:06:5959 days ago1767226019
0x99178264...3885a4BD2
0.0020004 ETH
Bridge240859652025-12-25 0:08:4766 days ago1766621327
0x99178264...3885a4BD2
0.00200019 ETH
Bridge240360522025-12-18 0:57:1173 days ago1766019431
0x99178264...3885a4BD2
0.00200031 ETH
Bridge239857592025-12-11 0:05:4780 days ago1765411547
0x99178264...3885a4BD2
0.00200102 ETH
Bridge239364442025-12-04 0:29:2387 days ago1764808163
0x99178264...3885a4BD2
0.00200018 ETH
Bridge238864212025-11-27 0:15:5994 days ago1764202559
0x99178264...3885a4BD2
0.00200046 ETH
Bridge238365742025-11-20 0:05:59101 days ago1763597159
0x99178264...3885a4BD2
0.00200156 ETH
Bridge237866092025-11-13 0:06:35108 days ago1762992395
0x99178264...3885a4BD2
0.00200055 ETH
Bridge237365652025-11-06 0:07:47115 days ago1762387667
0x99178264...3885a4BD2
0.00200327 ETH
Bridge236865242025-10-30 0:07:23122 days ago1761782843
0x99178264...3885a4BD2
0.00200153 ETH
Bridge236365632025-10-23 0:14:47129 days ago1761178487
0x99178264...3885a4BD2
0.00200062 ETH
Bridge235865512025-10-16 0:05:35136 days ago1760573135
0x99178264...3885a4BD2
0.00200185 ETH
Bridge235364832025-10-09 0:04:35143 days ago1759968275
0x99178264...3885a4BD2
0.00200092 ETH
View All Internal Transactions
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Minimal Proxy Contract for 0x9336da074c4f585a8b59a8c2b77a32b630cde5a1

Contract Name:
Vyper_contract

Compiler Version
vyper:0.3.1

Optimization Enabled:
N/A

Other Settings:
berlin EvmVersion, MIT license

Contract Source Code (Vyper language format)

# @version 0.3.1
"""
@title Root Liquidity Gauge Implementation
@license MIT
@author Curve Finance
"""


interface Bridger:
    def cost() -> uint256: view
    def bridge(_token: address, _destination: address, _amount: uint256): payable

interface CRV20:
    def rate() -> uint256: view
    def future_epoch_time_write() -> uint256: nonpayable

interface ERC20:
    def balanceOf(_account: address) -> uint256: view
    def approve(_account: address, _value: uint256): nonpayable
    def transfer(_to: address, _amount: uint256): nonpayable

interface GaugeController:
    def checkpoint_gauge(addr: address): nonpayable
    def gauge_relative_weight(addr: address, time: uint256) -> uint256: view

interface Factory:
    def get_bridger(_chain_id: uint256) -> address: view
    def owner() -> address: view

interface Minter:
    def mint(_gauge: address): nonpayable


struct InflationParams:
    rate: uint256
    finish_time: uint256


WEEK: constant(uint256) = 604800
YEAR: constant(uint256) = 86400 * 365
RATE_DENOMINATOR: constant(uint256) = 10 ** 18
RATE_REDUCTION_COEFFICIENT: constant(uint256) = 1189207115002721024  # 2 ** (1/4) * 1e18
RATE_REDUCTION_TIME: constant(uint256) = YEAR

CRV: immutable(address)
GAUGE_CONTROLLER: immutable(address)
MINTER: immutable(address)


chain_id: public(uint256)
bridger: public(address)
factory: public(address)
inflation_params: public(InflationParams)

last_period: public(uint256)
total_emissions: public(uint256)

is_killed: public(bool)


@external
def __init__(_crv_token: address, _gauge_controller: address, _minter: address):
    self.factory = 0x000000000000000000000000000000000000dEaD

    # assign immutable variables
    CRV = _crv_token
    GAUGE_CONTROLLER = _gauge_controller
    MINTER = _minter


@payable
@external
def __default__():
    pass


@external
def transmit_emissions():
    """
    @notice Mint any new emissions and transmit across to child gauge
    """
    assert msg.sender == self.factory  # dev: call via factory

    Minter(MINTER).mint(self)
    minted: uint256 = ERC20(CRV).balanceOf(self)

    assert minted != 0  # dev: nothing minted
    bridger: address = self.bridger

    Bridger(bridger).bridge(CRV, self, minted, value=Bridger(bridger).cost())


@view
@external
def integrate_fraction(_user: address) -> uint256:
    """
    @notice Query the total emissions `_user` is entitled to
    @dev Any value of `_user` other than the gauge address will return 0
    """
    if _user == self:
        return self.total_emissions
    return 0


@external
def user_checkpoint(_user: address) -> bool:
    """
    @notice Checkpoint the gauge updating total emissions
    @param _user Vestigal parameter with no impact on the function
    """
    # the last period we calculated emissions up to (but not including)
    last_period: uint256 = self.last_period
    # our current period (which we will calculate emissions up to)
    current_period: uint256 = block.timestamp / WEEK

    # only checkpoint if the current period is greater than the last period
    # last period is always less than or equal to current period and we only calculate
    # emissions up to current period (not including it)
    if last_period != current_period:
        # checkpoint the gauge filling in any missing weight data
        GaugeController(GAUGE_CONTROLLER).checkpoint_gauge(self)

        params: InflationParams = self.inflation_params
        emissions: uint256 = 0

        # only calculate emissions for at most 256 periods since the last checkpoint
        for i in range(last_period, last_period + 256):
            if i == current_period:
                # don't calculate emissions for the current period
                break
            period_time: uint256 = i * WEEK
            weight: uint256 = GaugeController(GAUGE_CONTROLLER).gauge_relative_weight(self, period_time)

            if period_time <= params.finish_time and params.finish_time < period_time + WEEK:
                # calculate with old rate
                emissions += weight * params.rate * (params.finish_time - period_time) / 10 ** 18
                # update rate
                params.rate = params.rate * RATE_DENOMINATOR / RATE_REDUCTION_COEFFICIENT
                # calculate with new rate
                emissions += weight * params.rate * (period_time + WEEK - params.finish_time) / 10 ** 18
                # update finish time
                params.finish_time += RATE_REDUCTION_TIME
                # update storage
                self.inflation_params = params
            else:
                emissions += weight * params.rate * WEEK / 10 ** 18

        self.last_period = current_period
        self.total_emissions += emissions

    return True


@external
def set_killed(_is_killed: bool):
    """
    @notice Set the gauge kill status
    @dev Inflation params are modified accordingly to disable/enable emissions
    """
    assert msg.sender == Factory(self.factory).owner()

    if _is_killed:
        self.inflation_params.rate = 0
    else:
        self.inflation_params = InflationParams({
            rate: CRV20(CRV).rate(),
            finish_time: CRV20(CRV).future_epoch_time_write()
        })
        self.last_period = block.timestamp / WEEK
    self.is_killed = _is_killed


@external
def update_bridger():
    """
    @notice Update the bridger used by this contract
    @dev Bridger contracts should prevent briding if ever updated
    """
    # reset approval
    bridger: address = Factory(self.factory).get_bridger(self.chain_id)
    ERC20(CRV).approve(self.bridger, 0)
    ERC20(CRV).approve(bridger, MAX_UINT256)
    self.bridger = bridger


@external
def initialize(_bridger: address, _chain_id: uint256):
    """
    @notice Proxy initialization method
    """
    assert self.factory == ZERO_ADDRESS  # dev: already initialized

    self.chain_id = _chain_id
    self.bridger = _bridger
    self.factory = msg.sender

    inflation_params: InflationParams = InflationParams({
        rate: CRV20(CRV).rate(),
        finish_time: CRV20(CRV).future_epoch_time_write()
    })
    assert inflation_params.rate != 0

    self.inflation_params = inflation_params
    self.last_period = block.timestamp / WEEK

    ERC20(CRV).approve(_bridger, MAX_UINT256)

Contract ABI

API
[{"stateMutability":"nonpayable","type":"constructor","inputs":[{"name":"_crv_token","type":"address"},{"name":"_gauge_controller","type":"address"},{"name":"_minter","type":"address"}],"outputs":[]},{"stateMutability":"payable","type":"fallback"},{"stateMutability":"nonpayable","type":"function","name":"transmit_emissions","inputs":[],"outputs":[]},{"stateMutability":"view","type":"function","name":"integrate_fraction","inputs":[{"name":"_user","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"nonpayable","type":"function","name":"user_checkpoint","inputs":[{"name":"_user","type":"address"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"set_killed","inputs":[{"name":"_is_killed","type":"bool"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"update_bridger","inputs":[],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"initialize","inputs":[{"name":"_bridger","type":"address"},{"name":"_chain_id","type":"uint256"}],"outputs":[]},{"stateMutability":"view","type":"function","name":"chain_id","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"bridger","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"factory","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"inflation_params","inputs":[],"outputs":[{"name":"","type":"tuple","components":[{"name":"rate","type":"uint256"},{"name":"finish_time","type":"uint256"}]}]},{"stateMutability":"view","type":"function","name":"last_period","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"total_emissions","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"is_killed","inputs":[],"outputs":[{"name":"","type":"bool"}]}]

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ 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.