Contract 0xabc000d88f23bb45525e447528dbf656a9d55bf5 8

 

Contract Overview

Balance:
0 ETH

ETH Value:
$0.00

Token:
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xa41f8f9ec078c042946f341e27ec842c1e8bd90badb918551f8671f502eafa39Mint580387662023-02-04 20:13:2048 mins ago0xa2991019fe124ca4ff5c5f526e516ab838a62280 IN  0xabc000d88f23bb45525e447528dbf656a9d55bf50 ETH0.00005842
0x18b22bc347c1e097ad5ca8bf5857943981cd6658c5810652ae0bcd076b059467Mint580387422023-02-04 20:13:0948 mins ago0xa2991019fe124ca4ff5c5f526e516ab838a62280 IN  0xabc000d88f23bb45525e447528dbf656a9d55bf50 ETH0.00005842
0x7f33b09a3ee96917c422d4cf4359634d51f7f5695ece40413a789d260387e66cMint579811702023-02-04 15:11:365 hrs 50 mins ago0xa0b39324995bee3deb32b64f7cb246a6ef9b0d15 IN  0xabc000d88f23bb45525e447528dbf656a9d55bf50 ETH0.00005424
0xec3ac501f55e568b05696db3459863ea28ba632954d523851a88055b810c019fMint579807392023-02-04 15:09:365 hrs 52 mins ago0xa0b39324995bee3deb32b64f7cb246a6ef9b0d15 IN  0xabc000d88f23bb45525e447528dbf656a9d55bf50 ETH0.00005766
0x402fadaf35ae8791044e99c23ddd131696d771d49cc4386fc7055c0ca2367f79Mint579593722023-02-04 13:27:117 hrs 34 mins ago0x7044c2cc5e5bbc0485db999ff834556527685985 IN  0xabc000d88f23bb45525e447528dbf656a9d55bf50 ETH0.0000523
0x3c62f206d5bc43bdbfcc64c14b926b58c02323182b0195ddc631e69fe3076576Mint579577342023-02-04 13:19:357 hrs 42 mins ago0x5ce0595582e42f88ce7c0062c5ec80dd5e76d193 IN  0xabc000d88f23bb45525e447528dbf656a9d55bf50 ETH0.00004808
0x51592b41bb1a4f7fcbaf364019836687e62d85192c2aae94e37b648b875bdee4Mint579322252023-02-04 11:13:579 hrs 47 mins ago0x2b51d50c958aecb7f03aad8bdfaf5055274a6633 IN  0xabc000d88f23bb45525e447528dbf656a9d55bf50 ETH0.00004652
0xf184e3e040e31d0068ec80e1ae84796d2038a0330309b7ec6fd2c51ddae265ddMint579085602023-02-04 9:16:4511 hrs 44 mins ago0xd2bc2c11b7b62b142512cc5c2368c709477ebdcb IN  0xabc000d88f23bb45525e447528dbf656a9d55bf50 ETH0.00127783
0x2606812261fef3703c050da575247607476fc4c34cfe8a744a3f16b5a1a2e8e3Mint578930842023-02-04 7:56:2013 hrs 5 mins ago0xb7562f12e41c762cecda99d62bd6eac7b0c3b4c1 IN  0xabc000d88f23bb45525e447528dbf656a9d55bf50 ETH0.00005247
0xabbc90217a460a513df15d974546ce2140ed16378058496384a8a9984afcd860Mint578529952023-02-04 3:56:1117 hrs 5 mins ago0xc2ea22ec0c12761b26d05888397ca5dc23be64e0 IN  0xabc000d88f23bb45525e447528dbf656a9d55bf50 ETH0.00005801
0xc41150f6bb9ed7ebc7d27bbca8b820b8ecf20309de243d52d894399e5c5f9f47Mint577989622023-02-03 23:00:1722 hrs 1 min ago0x434eb950ef67470f1c255bdacd1b6a39e1c67a14 IN  0xabc000d88f23bb45525e447528dbf656a9d55bf50 ETH0.00165714
0x7df20ce6fdddb3d549853fbb2cbd96da4d263855d0ada775e01657638df4f6c1Mint577988922023-02-03 22:59:5922 hrs 1 min ago0x434eb950ef67470f1c255bdacd1b6a39e1c67a14 IN  0xabc000d88f23bb45525e447528dbf656a9d55bf50 ETH0.00174606
0x7474bac9a4cc14959fbdaf26a35cde9b8e588bb1ec343d1a773f01cb9f4643f4Mint577725552023-02-03 20:26:181 day 35 mins ago0xf291b752351a19e81f7b8a40790d2bdbb53a957d IN  0xabc000d88f23bb45525e447528dbf656a9d55bf50 ETH0.00007865
0x02f145cc5504e4c97604d90baa834e20623df6640b988a59c5bae714a26f4a22Mint577698802023-02-03 20:11:311 day 50 mins ago0xf5fe364d18f4a5a53badce9a046ba74cfc97f6fb IN  0xabc000d88f23bb45525e447528dbf656a9d55bf50 ETH0.00165269
0xea3b53589f1a8c58ae8ce1cb5e3bf27f1ed39a3af9be2989a22904104f85963aMint577697132023-02-03 20:10:411 day 51 mins ago0xf5fe364d18f4a5a53badce9a046ba74cfc97f6fb IN  0xabc000d88f23bb45525e447528dbf656a9d55bf50 ETH0.00169715
0x8abbcd3563e011005c753cbbff9e462749cf488abb8fb8574ccd3470bf7341deMint577524132023-02-03 18:36:171 day 2 hrs ago0x8966d8acbb4b0d5830fca4b0dd3b134e41049b19 IN  0xabc000d88f23bb45525e447528dbf656a9d55bf50 ETH0.00209927
0xafee8156d9f0f09f84df8542daeb38b11f2b6e259dc1c82addfcdefd9548ac3aMint577506372023-02-03 18:27:081 day 2 hrs ago0xa988f5761cb2f8c8b9b330e65c8404543c4ed9bb IN  0xabc000d88f23bb45525e447528dbf656a9d55bf50 ETH0.00205232
0xe4910d35b93ec8b02e1af9638ca07d464a37521b642da4a4f945fc2e9925a228Mint577222642023-02-03 16:07:061 day 4 hrs ago0xb1d9793cc51771b1c77a54ec25d0dfb63b8c973c IN  0xabc000d88f23bb45525e447528dbf656a9d55bf50 ETH0.00007843
0x86a435eb1b66b82055eaf2ec50a10f47f06b61a7e0f9d8c373d3192d63dbbd7bMint576824752023-02-03 12:58:171 day 8 hrs ago0xd871915a0bd59103aba2172e1df959e55146977e IN  0xabc000d88f23bb45525e447528dbf656a9d55bf50 ETH0.00005185
0x81fef778a6df57db5bb11b528f2594460cce0572449e9532e3c5bd72e73e0b8dMint576106992023-02-03 6:15:301 day 14 hrs ago0x849c35ec2613f44f4f3d8cca9bbeaf22c9d30a2d IN  0xabc000d88f23bb45525e447528dbf656a9d55bf50 ETH0.0000564
0x20e2a7e2c18173470cf3e8a8fdbac6595bc4823092db4fb176a48d303f56aea0Mint576092972023-02-03 6:06:151 day 14 hrs ago0xc7c7b3df40604eb544a9f3c41eb369619f43e9f2 IN  0xabc000d88f23bb45525e447528dbf656a9d55bf50 ETH0.00006024
0x8917adc8ab2d0f34b8dca105ef7339fb3adab5abdc6002fe076b9bd8e7d0b5d3Mint576082282023-02-03 5:59:201 day 15 hrs ago0x52539ccdb0ff2fa0528f41ea6c3628e92d96d812 IN  0xabc000d88f23bb45525e447528dbf656a9d55bf50 ETH0.00006035
0x8803dff9e7beb2d44aa19619155c50686fadf0f85a73020411c467280c9ac75bMint575754152023-02-03 2:35:461 day 18 hrs ago0x18b4318daec8c90a3f3912c8cc561f7aede15d1a IN  0xabc000d88f23bb45525e447528dbf656a9d55bf50 ETH0.00006527
0xa2c7a07d8b5c168636d9e5f13cef4839718cb22f649c270182afc91d4e32c05dMint575661122023-02-03 1:31:071 day 19 hrs ago0x8ff35b50f669c4d088dd6ce001e39bf6006402b9 IN  0xabc000d88f23bb45525e447528dbf656a9d55bf50 ETH0.00006645
0x7fcfae378275cef1e182fb1e9c9e9f4508f6bd13185ec60d9a8c2b135a9fb364Mint575463272023-02-02 23:03:041 day 21 hrs ago0x6baa7255029da0cde5fd272a4ca9e2da8be87eb4 IN  0xabc000d88f23bb45525e447528dbf656a9d55bf50 ETH0.00188579
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x7a889eb98b98b906ff8f0d5c3a9f6e726e2139c5dc022e68df54eb89e8358d6b580470332023-02-04 21:00:5249 secs ago 0xabc000d88f23bb45525e447528dbf656a9d55bf50x00000000000000000000000000000000000000040 ETH
0x7a889eb98b98b906ff8f0d5c3a9f6e726e2139c5dc022e68df54eb89e8358d6b580470332023-02-04 21:00:5249 secs ago 0xabc000d88f23bb45525e447528dbf656a9d55bf50x11cdb42b0eb46d95f990bedd4695a6e3fa0349780 ETH
0x7a889eb98b98b906ff8f0d5c3a9f6e726e2139c5dc022e68df54eb89e8358d6b580470332023-02-04 21:00:5249 secs ago 0xabc000d88f23bb45525e447528dbf656a9d55bf50x555766f3da968ecbefa690ffd49a2ac02f47aa5f0 ETH
0x7a889eb98b98b906ff8f0d5c3a9f6e726e2139c5dc022e68df54eb89e8358d6b580470332023-02-04 21:00:5249 secs ago 0xabc000d88f23bb45525e447528dbf656a9d55bf50x555766f3da968ecbefa690ffd49a2ac02f47aa5f0 ETH
0x7a889eb98b98b906ff8f0d5c3a9f6e726e2139c5dc022e68df54eb89e8358d6b580470332023-02-04 21:00:5249 secs ago 0x989aeb4d175e16225e39e87d0d97a3360524ad80 0xabc000d88f23bb45525e447528dbf656a9d55bf50 ETH
0xdfd43dda850fb54279ea2278aa24c4dcd0ef098c8d8b7dddd4425509f186863d580469572023-02-04 21:00:261 min ago 0xabc000d88f23bb45525e447528dbf656a9d55bf50x00000000000000000000000000000000000000040 ETH
0xdfd43dda850fb54279ea2278aa24c4dcd0ef098c8d8b7dddd4425509f186863d580469572023-02-04 21:00:261 min ago 0xabc000d88f23bb45525e447528dbf656a9d55bf50x11cdb42b0eb46d95f990bedd4695a6e3fa0349780 ETH
0xdfd43dda850fb54279ea2278aa24c4dcd0ef098c8d8b7dddd4425509f186863d580469572023-02-04 21:00:261 min ago 0xabc000d88f23bb45525e447528dbf656a9d55bf50x555766f3da968ecbefa690ffd49a2ac02f47aa5f0 ETH
0xdfd43dda850fb54279ea2278aa24c4dcd0ef098c8d8b7dddd4425509f186863d580469572023-02-04 21:00:261 min ago 0xabc000d88f23bb45525e447528dbf656a9d55bf50x555766f3da968ecbefa690ffd49a2ac02f47aa5f0 ETH
0xdfd43dda850fb54279ea2278aa24c4dcd0ef098c8d8b7dddd4425509f186863d580469572023-02-04 21:00:261 min ago 0x989aeb4d175e16225e39e87d0d97a3360524ad80 0xabc000d88f23bb45525e447528dbf656a9d55bf50 ETH
0xa28115770ab22a5f18407d75e000345915797f40f628af61034421a616b9aeab580436082023-02-04 20:41:4819 mins ago 0xabc000d88f23bb45525e447528dbf656a9d55bf50x098ef55011b6b8c99845128114a9d9159777d6970 ETH
0xa28115770ab22a5f18407d75e000345915797f40f628af61034421a616b9aeab580436082023-02-04 20:41:4819 mins ago 0xabc000d88f23bb45525e447528dbf656a9d55bf50x098ef55011b6b8c99845128114a9d9159777d6970 ETH
0xa28115770ab22a5f18407d75e000345915797f40f628af61034421a616b9aeab580436082023-02-04 20:41:4819 mins ago 0x6677c03b2c7da09dfbd869daeec3ccfd4ecc4b5f 0xabc000d88f23bb45525e447528dbf656a9d55bf50 ETH
0xfa7bd29e80a5fa37f489bb6ca8d0e67c57ae4ca13bede91c734ab69ed97e58fd580411482023-02-04 20:27:5133 mins ago 0xabc000d88f23bb45525e447528dbf656a9d55bf50x00000000000000000000000000000000000000040 ETH
0xfa7bd29e80a5fa37f489bb6ca8d0e67c57ae4ca13bede91c734ab69ed97e58fd580411482023-02-04 20:27:5133 mins ago 0xabc000d88f23bb45525e447528dbf656a9d55bf50x11cdb42b0eb46d95f990bedd4695a6e3fa0349780 ETH
0xfa7bd29e80a5fa37f489bb6ca8d0e67c57ae4ca13bede91c734ab69ed97e58fd580411482023-02-04 20:27:5133 mins ago 0xabc000d88f23bb45525e447528dbf656a9d55bf50x555766f3da968ecbefa690ffd49a2ac02f47aa5f0 ETH
0xfa7bd29e80a5fa37f489bb6ca8d0e67c57ae4ca13bede91c734ab69ed97e58fd580411482023-02-04 20:27:5133 mins ago 0xabc000d88f23bb45525e447528dbf656a9d55bf50x555766f3da968ecbefa690ffd49a2ac02f47aa5f0 ETH
0xfa7bd29e80a5fa37f489bb6ca8d0e67c57ae4ca13bede91c734ab69ed97e58fd580411482023-02-04 20:27:5133 mins ago 0xcdd989d84f9b63d2f0b1906a2d9b22355316de31 0xabc000d88f23bb45525e447528dbf656a9d55bf50 ETH
0x38254f3e6d1cb98c2a0dff7f5fe41dbc6d066bb90b87579b03ce66c4ab68ed3c580400042023-02-04 20:20:5640 mins ago 0xabc000d88f23bb45525e447528dbf656a9d55bf50x00000000000000000000000000000000000000040 ETH
0x38254f3e6d1cb98c2a0dff7f5fe41dbc6d066bb90b87579b03ce66c4ab68ed3c580400042023-02-04 20:20:5640 mins ago 0xabc000d88f23bb45525e447528dbf656a9d55bf50x11cdb42b0eb46d95f990bedd4695a6e3fa0349780 ETH
0x38254f3e6d1cb98c2a0dff7f5fe41dbc6d066bb90b87579b03ce66c4ab68ed3c580400042023-02-04 20:20:5640 mins ago 0xabc000d88f23bb45525e447528dbf656a9d55bf50x555766f3da968ecbefa690ffd49a2ac02f47aa5f0 ETH
0x38254f3e6d1cb98c2a0dff7f5fe41dbc6d066bb90b87579b03ce66c4ab68ed3c580400042023-02-04 20:20:5640 mins ago 0xabc000d88f23bb45525e447528dbf656a9d55bf50x555766f3da968ecbefa690ffd49a2ac02f47aa5f0 ETH
0x38254f3e6d1cb98c2a0dff7f5fe41dbc6d066bb90b87579b03ce66c4ab68ed3c580400042023-02-04 20:20:5640 mins ago 0x5e679692ca28aa61882c6d6863451fd2334a54ab 0xabc000d88f23bb45525e447528dbf656a9d55bf50 ETH
0x1217447205f6acd268bcef47b776478ad8f5037b6d1e12830658042d6d11cbca580399062023-02-04 20:20:2641 mins ago 0xabc000d88f23bb45525e447528dbf656a9d55bf50x00000000000000000000000000000000000000040 ETH
0x1217447205f6acd268bcef47b776478ad8f5037b6d1e12830658042d6d11cbca580399062023-02-04 20:20:2641 mins ago 0xabc000d88f23bb45525e447528dbf656a9d55bf50x11cdb42b0eb46d95f990bedd4695a6e3fa0349780 ETH
[ Download CSV Export 
Loading
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.

Contract Source Code Verified (Exact Match)

Contract Name:
Vyper_contract

Compiler Version
vyper:0.3.1

Optimization Enabled:
N/A

Other Settings:
, MIT license

Contract Source Code (Vyper language format)

# @version 0.3.1
"""
@title Child Liquidity Gauge Factory
@license MIT
@author Curve Finance
"""


interface ChildGauge:
    def initialize(_lp_token: address, _manager: address): nonpayable
    def integrate_fraction(_user: address) -> uint256: view
    def user_checkpoint(_user: address) -> bool: nonpayable

interface CallProxy:
    def anyCall(
        _to: address, _data: Bytes[1024], _fallback: address, _to_chain_id: uint256
    ): nonpayable


event DeployedGauge:
    _implementation: indexed(address)
    _lp_token: indexed(address)
    _deployer: indexed(address)
    _salt: bytes32
    _gauge: address

event Minted:
    _user: indexed(address)
    _gauge: indexed(address)
    _new_total: uint256

event UpdateImplementation:
    _old_implementation: address
    _new_implementation: address

event UpdateVotingEscrow:
    _old_voting_escrow: address
    _new_voting_escrow: address

event UpdateCallProxy:
    _old_call_proxy: address
    _new_call_proxy: address

event UpdateMirrored:
    _gauge: indexed(address)
    _mirrored: bool

event TransferOwnership:
    _old_owner: address
    _new_owner: address


WEEK: constant(uint256) = 86400 * 7


CRV: immutable(address)


get_implementation: public(address)
voting_escrow: public(address)

owner: public(address)
future_owner: public(address)

call_proxy: public(address)
# [last_request][has_counterpart][is_valid_gauge]
gauge_data: public(HashMap[address, uint256])
# user -> gauge -> value
minted: public(HashMap[address, HashMap[address, uint256]])

get_gauge_from_lp_token: public(HashMap[address, address])
get_gauge_count: public(uint256)
get_gauge: public(address[MAX_INT128])


@external
def __init__(_call_proxy: address, _crv: address, _owner: address):
    CRV = _crv

    self.call_proxy = _call_proxy
    log UpdateCallProxy(ZERO_ADDRESS, _call_proxy)

    self.owner = _owner
    log TransferOwnership(ZERO_ADDRESS, _owner)


@internal
def _psuedo_mint(_gauge: address, _user: address):
    gauge_data: uint256 = self.gauge_data[_gauge]
    assert gauge_data != 0  # dev: invalid gauge

    # if is_mirrored and last_request != this week
    if bitwise_and(gauge_data, 2) != 0 and shift(gauge_data, -2) / WEEK != block.timestamp / WEEK:
        CallProxy(self.call_proxy).anyCall(
            self,
            _abi_encode(_gauge, method_id=method_id("transmit_emissions(address)")),
            ZERO_ADDRESS,
            1,
        )
        # update last request time
        self.gauge_data[_gauge] = shift(block.timestamp, 2) + 3

    assert ChildGauge(_gauge).user_checkpoint(_user)
    total_mint: uint256 = ChildGauge(_gauge).integrate_fraction(_user)
    to_mint: uint256 = total_mint - self.minted[_user][_gauge]

    if to_mint != 0:
        # transfer tokens to user
        response: Bytes[32] = raw_call(
            CRV,
            _abi_encode(_user, to_mint, method_id=method_id("transfer(address,uint256)")),
            max_outsize=32,
        )
        if len(response) != 0:
            assert convert(response, bool)
        self.minted[_user][_gauge] = total_mint

        log Minted(_user, _gauge, total_mint)


@external
@nonreentrant("lock")
def mint(_gauge: address):
    """
    @notice Mint everything which belongs to `msg.sender` and send to them
    @param _gauge `LiquidityGauge` address to get mintable amount from
    """
    self._psuedo_mint(_gauge, msg.sender)


@external
@nonreentrant("lock")
def mint_many(_gauges: address[32]):
    """
    @notice Mint everything which belongs to `msg.sender` across multiple gauges
    @param _gauges List of `LiquidityGauge` addresses
    """
    for i in range(32):
        if _gauges[i] == ZERO_ADDRESS:
            pass
        self._psuedo_mint(_gauges[i], msg.sender)


@external
def deploy_gauge(_lp_token: address, _salt: bytes32, _manager: address = msg.sender) -> address:
    """
    @notice Deploy a liquidity gauge
    @param _lp_token The token to deposit in the gauge
    @param _manager The address to set as manager of the gauge
    @param _salt A value to deterministically deploy a gauge
    """
    if self.get_gauge_from_lp_token[_lp_token] != ZERO_ADDRESS:
        # overwriting lp_token -> gauge mapping requires
        assert msg.sender == self.owner  # dev: only owner

    gauge_data: uint256 = 1  # set is_valid_gauge = True
    implementation: address = self.get_implementation
    gauge: address = create_forwarder_to(
        implementation, salt=keccak256(_abi_encode(chain.id, msg.sender, _salt))
    )

    if msg.sender == self.call_proxy:
        gauge_data += 2  # set mirrored = True
        log UpdateMirrored(gauge, True)
        # issue a call to the root chain to deploy a root gauge
        CallProxy(self.call_proxy).anyCall(
            self,
            _abi_encode(chain.id, _salt, method_id=method_id("deploy_gauge(uint256,bytes32)")),
            ZERO_ADDRESS,
            1
        )

    self.gauge_data[gauge] = gauge_data

    idx: uint256 = self.get_gauge_count
    self.get_gauge[idx] = gauge
    self.get_gauge_count = idx + 1
    self.get_gauge_from_lp_token[_lp_token] = gauge

    ChildGauge(gauge).initialize(_lp_token, _manager)

    log DeployedGauge(implementation, _lp_token, msg.sender, _salt, gauge)
    return gauge


@external
def set_voting_escrow(_voting_escrow: address):
    """
    @notice Update the voting escrow contract
    @param _voting_escrow Contract to use as the voting escrow oracle
    """
    assert msg.sender == self.owner  # dev: only owner

    log UpdateVotingEscrow(self.voting_escrow, _voting_escrow)
    self.voting_escrow = _voting_escrow


@external
def set_implementation(_implementation: address):
    """
    @notice Set the implementation
    @param _implementation The address of the implementation to use
    """
    assert msg.sender == self.owner  # dev: only owner

    log UpdateImplementation(self.get_implementation, _implementation)
    self.get_implementation = _implementation


@external
def set_mirrored(_gauge: address, _mirrored: bool):
    """
    @notice Set the mirrored bit of the gauge data for `_gauge`
    @param _gauge The gauge of interest
    @param _mirrored Boolean deteremining whether to set the mirrored bit to True/False
    """
    gauge_data: uint256 = self.gauge_data[_gauge]
    assert gauge_data != 0  # dev: invalid gauge
    assert msg.sender == self.owner  # dev: only owner

    gauge_data = shift(shift(gauge_data, -2), 2) + 1  # set is_valid_gauge = True
    if _mirrored:
        gauge_data += 2  # set is_mirrored = True

    self.gauge_data[_gauge] = gauge_data
    log UpdateMirrored(_gauge, _mirrored)


@external
def set_call_proxy(_new_call_proxy: address):
    """
    @notice Set the address of the call proxy used
    @dev _new_call_proxy should adhere to the same interface as defined
    @param _new_call_proxy Address of the cross chain call proxy
    """
    assert msg.sender == self.owner

    log UpdateCallProxy(self.call_proxy, _new_call_proxy)
    self.call_proxy = _new_call_proxy


@external
def commit_transfer_ownership(_future_owner: address):
    """
    @notice Transfer ownership to `_future_owner`
    @param _future_owner The account to commit as the future owner
    """
    assert msg.sender == self.owner  # dev: only owner

    self.future_owner = _future_owner


@external
def accept_transfer_ownership():
    """
    @notice Accept the transfer of ownership
    @dev Only the committed future owner can call this function
    """
    assert msg.sender == self.future_owner  # dev: only future owner

    log TransferOwnership(self.owner, msg.sender)
    self.owner = msg.sender


@view
@external
def is_valid_gauge(_gauge: address) -> bool:
    """
    @notice Query whether the gauge is a valid one deployed via the factory
    @param _gauge The address of the gauge of interest
    """
    return self.gauge_data[_gauge] != 0


@view
@external
def is_mirrored(_gauge: address) -> bool:
    """
    @notice Query whether the gauge is mirrored on Ethereum mainnet
    @param _gauge The address of the gauge of interest
    """
    return bitwise_and(self.gauge_data[_gauge], 2) != 0


@view
@external
def last_request(_gauge: address) -> uint256:
    """
    @notice Query the timestamp of the last cross chain request for emissions
    @param _gauge The address of the gauge of interest
    """
    return shift(self.gauge_data[_gauge], -2)

Contract ABI

[{"name":"DeployedGauge","inputs":[{"name":"_implementation","type":"address","indexed":true},{"name":"_lp_token","type":"address","indexed":true},{"name":"_deployer","type":"address","indexed":true},{"name":"_salt","type":"bytes32","indexed":false},{"name":"_gauge","type":"address","indexed":false}],"anonymous":false,"type":"event"},{"name":"Minted","inputs":[{"name":"_user","type":"address","indexed":true},{"name":"_gauge","type":"address","indexed":true},{"name":"_new_total","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"UpdateImplementation","inputs":[{"name":"_old_implementation","type":"address","indexed":false},{"name":"_new_implementation","type":"address","indexed":false}],"anonymous":false,"type":"event"},{"name":"UpdateVotingEscrow","inputs":[{"name":"_old_voting_escrow","type":"address","indexed":false},{"name":"_new_voting_escrow","type":"address","indexed":false}],"anonymous":false,"type":"event"},{"name":"UpdateCallProxy","inputs":[{"name":"_old_call_proxy","type":"address","indexed":false},{"name":"_new_call_proxy","type":"address","indexed":false}],"anonymous":false,"type":"event"},{"name":"UpdateMirrored","inputs":[{"name":"_gauge","type":"address","indexed":true},{"name":"_mirrored","type":"bool","indexed":false}],"anonymous":false,"type":"event"},{"name":"TransferOwnership","inputs":[{"name":"_old_owner","type":"address","indexed":false},{"name":"_new_owner","type":"address","indexed":false}],"anonymous":false,"type":"event"},{"stateMutability":"nonpayable","type":"constructor","inputs":[{"name":"_call_proxy","type":"address"},{"name":"_crv","type":"address"},{"name":"_owner","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"mint","inputs":[{"name":"_gauge","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"mint_many","inputs":[{"name":"_gauges","type":"address[32]"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"deploy_gauge","inputs":[{"name":"_lp_token","type":"address"},{"name":"_salt","type":"bytes32"}],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"nonpayable","type":"function","name":"deploy_gauge","inputs":[{"name":"_lp_token","type":"address"},{"name":"_salt","type":"bytes32"},{"name":"_manager","type":"address"}],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"nonpayable","type":"function","name":"set_voting_escrow","inputs":[{"name":"_voting_escrow","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"set_implementation","inputs":[{"name":"_implementation","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"set_mirrored","inputs":[{"name":"_gauge","type":"address"},{"name":"_mirrored","type":"bool"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"set_call_proxy","inputs":[{"name":"_new_call_proxy","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"commit_transfer_ownership","inputs":[{"name":"_future_owner","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"accept_transfer_ownership","inputs":[],"outputs":[]},{"stateMutability":"view","type":"function","name":"is_valid_gauge","inputs":[{"name":"_gauge","type":"address"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"view","type":"function","name":"is_mirrored","inputs":[{"name":"_gauge","type":"address"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"view","type":"function","name":"last_request","inputs":[{"name":"_gauge","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"get_implementation","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"voting_escrow","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"future_owner","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"call_proxy","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"gauge_data","inputs":[{"name":"arg0","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"minted","inputs":[{"name":"arg0","type":"address"},{"name":"arg1","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"get_gauge_from_lp_token","inputs":[{"name":"arg0","type":"address"}],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"get_gauge_count","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"get_gauge","inputs":[{"name":"arg0","type":"uint256"}],"outputs":[{"name":"","type":"address"}]}]

6020610e936080396080518060a01c610e8e5760e05260206020610e93016080396080518060a01c610e8e576101005260206040610e93016080396080518060a01c610e8e5761012052610100516101405260e0516005557fe385116766307e81d4427b03f1ac50c300b2f6a5df7b3c67eeb7eaaab12f080560006101605260e051610180526040610160a1610120516003557f5c486528ec3e3f0ea91181cff8116f02bfa350e03b8b6f12e00765adbb5af85c60006101605261012051610180526040610160a1610e6656600436101561000d57610a7e565b60046000601c3760005134610d9557636a627842811861005d576004358060a01c610d95576102a052600054610d955760016000556102a05160e0523361010052610056610a84565b6000600055005b6355ec670881186102cf576004358060a01c610d95576102a0526024358060a01c610d95576102c0526044358060a01c610d95576102e0526064358060a01c610d9557610300526084358060a01c610d95576103205260a4358060a01c610d95576103405260c4358060a01c610d95576103605260e4358060a01c610d955761038052610104358060a01c610d95576103a052610124358060a01c610d95576103c052610144358060a01c610d95576103e052610164358060a01c610d955761040052610184358060a01c610d9557610420526101a4358060a01c610d9557610440526101c4358060a01c610d9557610460526101e4358060a01c610d955761048052610204358060a01c610d95576104a052610224358060a01c610d95576104c052610244358060a01c610d95576104e052610264358060a01c610d955761050052610284358060a01c610d9557610520526102a4358060a01c610d9557610540526102c4358060a01c610d9557610560526102e4358060a01c610d955761058052610304358060a01c610d95576105a052610324358060a01c610d95576105c052610344358060a01c610d95576105e052610364358060a01c610d955761060052610384358060a01c610d9557610620526103a4358060a01c610d9557610640526103c4358060a01c610d9557610660526103e4358060a01c610d955761068052600054610d955760016000556106a060006020818352015b6102a06106a0516020811015610d95576020020151610292575b6102a06106a0516020811015610d9557602002015160e05233610100526102b7610a84565b81516001018083528114156102785750506000600055005b638db98b5c81186102e45733610100526102ff565b636be320d281186105e2576044358060a01c610d9557610100525b6004358060a01c610d955760e0526000600860e05160a0526080526040608020541461032f576003543318610d95575b600161012052600154610140527f602d3d8160093d39f3363d3d373d3d3d363d7300000000000000000000000000610280526101405160601b610293527f5af43d82803e903d91602b57fd5bf300000000000000000000000000000000006102a752466102205233610240526024356102605260606102005261020080516020820120905060366102806000f56101605260055433186104e157610120805160028181830110610d955780820190509050815250610160517f54b0a41dd85251df77437effbf9fbdca133bd234e7771816495877177288092c6001610180526020610180a263f9754c936102005261022080608030825260208201915080825263e10a16b8610184526004466101a4526024356101c45260400161018052610180818401808280516020018083828460045afa905050508051806020830101818260206001820306601f8201039050033682375050805160200160206001820306601f82010390509050905090508101905060208201915060008252602082019150600182525050506005543b15610d95576000600061010461021c60006005545af16104e1573d600060003e3d6000fd5b6101205160066101605160a05260805260406080205560095461018052610160516001610180516f7fffffffffffffffffffffffffffffff811015610d955702600a01556101805160018181830110610d95578082019050905060095561016051600860e05160a05260805260406080205563485cc9556101a05260e0516101c052610100516101e052610160513b15610d95576000600060446101bc6000610160515af1610595573d600060003e3d6000fd5b3360e051610140517f69e16554b097f489830077da86e9e40cc91529a8d0787c42c4f33a0a337a0e086024356101a052610160516101c05260406101a0a4610160516101a05260206101a0f35b6323fc5a478118610641576004358060a01c610d955760e0526003543318610d95577fa1b167642dcf1fee2fbf716c48c7c3f2326e4f26020cb042cd6405dfa72f4fd26002546101005260e051610120526040610100a160e051600255005b634cd69da081186106a0576004358060a01c610d955760e0526003543318610d95577fcdfeee65e4d0a88d6e47c5d034c34b03d52f1e6ffc56906257fc93d993ca04c46001546101005260e051610120526040610100a160e051600155005b634b29cac8811861077e576004358060a01c610d955760e0526024358060011c610d955761010052600660e05160a0526080526040608020546101205260006101205114610d95576003543318610d95576101205160021c60021b60018181830110610d95578082019050905061012052610100511561073557610120805160028181830110610d9557808201905090508152505b61012051600660e05160a05260805260406080205560e0517f54b0a41dd85251df77437effbf9fbdca133bd234e7771816495877177288092c61010051610140526020610140a2005b635ecb9e1481186107dd576004358060a01c610d955760e0526003543318610d95577fe385116766307e81d4427b03f1ac50c300b2f6a5df7b3c67eeb7eaaab12f08056005546101005260e051610120526040610100a160e051600555005b636b441a408118610807576004358060a01c610d955760e0526003543318610d955760e051600455005b63e5ea47b88118610852576004543318610d95577f5c486528ec3e3f0ea91181cff8116f02bfa350e03b8b6f12e00765adbb5af85c60035460e0523361010052604060e0a133600355005b634b920379811861088b576004358060a01c610d955760e0526000600660e05160a0526080526040608020541415610100526020610100f35b638a42bd8281186108c7576004358060a01c610d955760e05260006002600660e05160a052608052604060802054161415610100526020610100f35b6351bd4db581186108ff576004358060a01c610d955760e052600660e05160a05260805260406080205460021c610100526020610100f35b63c781c66881186109165760015460e052602060e0f35b63dfe05031811861092d5760025460e052602060e0f35b638da5cb5b81186109445760035460e052602060e0f35b631ec0cdc1811861095b5760045460e052602060e0f35b63f81c6c3e81186109725760055460e052602060e0f35b63f0ce32f881186109a7576004358060a01c610d955760e052600660e05160a052608052604060802054610100526020610100f35b638b752bb081186109fa576004358060a01c610d955760e0526024358060a01c610d955761010052600760e05160a05260805260406080206101005160a052608052604060802054610120526020610120f35b635d95c65e8118610a2f576004358060a01c610d955760e052600860e05160a052608052604060802054610100526020610100f35b63f111569c8118610a465760095460e052602060e0f35b63285218488118610a7c5760016004356f7fffffffffffffffffffffffffffffff811015610d955702600a015460e052602060e0f35b505b60006000fd5b600660e05160a0526080526040608020546101205260006101205114610d95576000600261012051161415610aba576000610adb565b4262093a80808204905090506101205160021c62093a808082049050905014155b15610bcf5763f9754c936101a0526101c08060803082526020820191508082526311bfb95661014452600460e0516101645260200161014052610140818401808280516020018083828460045afa905050508051806020830101818260206001820306601f8201039050033682375050805160200160206001820306601f82010390509050905090508101905060208201915060008252602082019150600182525050506005543b15610d95576000600060e46101bc60006005545af1610ba7573d600060003e3d6000fd5b4260021b60038181830110610d955780820190509050600660e05160a0526080526040608020555b634b8200936101405261010051610160526020610140602461015c600060e0515af1610c00573d600060003e3d6000fd5b601f3d1115610d95576101405115610d955763094007076101605261010051610180526020610160602461017c60e0515afa610c41573d600060003e3d6000fd5b601f3d1115610d955761016051610140526101405160076101005160a052608052604060802060e05160a052608052604060802054808210610d9557808203905090506101605260006101605114610d935763a9059cbb6101c4526004610100516101e45261016051610204526040016101c0526101c05060206102606101c0516101e060006020602038036080396080515af1610ce4573d600060003e3d6000fd5b61024060203d808211610cf75781610cf9565b805b905090508152805160200180610180828460045afa9050505060006101805114610d38576101a0516101805181816020036008021c9050905015610d95575b6101405160076101005160a052608052604060802060e05160a05260805260406080205560e051610100517f9d228d69b5fdb8d273a2336f8fb8612d039631024ea9bf09c424a9503aa078f0610140516101c05260206101c0a35b565b600080fd5b6100cc610e66036100cc610160396100cc610e66036101405181610160015280602001610160f35b600080fd00000000000000000000000037414a8662bc1d25be3ee51fb27c2686e2490a8900000000000000000000000011cdb42b0eb46d95f990bedd4695a6e3fa034978000000000000000000000000919124f5f5135d3020a0b075412679755545f7c5

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

00000000000000000000000037414a8662bc1d25be3ee51fb27c2686e2490a8900000000000000000000000011cdb42b0eb46d95f990bedd4695a6e3fa034978000000000000000000000000919124f5f5135d3020a0b075412679755545f7c5

-----Decoded View---------------
Arg [0] : _call_proxy (address): 0x37414a8662bc1d25be3ee51fb27c2686e2490a89
Arg [1] : _crv (address): 0x11cdb42b0eb46d95f990bedd4695a6e3fa034978
Arg [2] : _owner (address): 0x919124f5f5135d3020a0b075412679755545f7c5

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 00000000000000000000000037414a8662bc1d25be3ee51fb27c2686e2490a89
Arg [1] : 00000000000000000000000011cdb42b0eb46d95f990bedd4695a6e3fa034978
Arg [2] : 000000000000000000000000919124f5f5135d3020a0b075412679755545f7c5


Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.