Contract 0xabc000d88f23bb45525e447528dbf656a9d55bf5 8

 
 
Txn Hash
Method
Block
From
To
Value [Txn Fee]
0x6409bc8fb1406058009fb05194694c67f6beefeb795dd500a0b03acd8d5288fcMint390867692023-02-09 6:38:046 mins ago0xae6755901dc6c8fe6cb544a73693edbfd0d3d95b IN  0xabc000d88f23bb45525e447528dbf656a9d55bf50 MATIC0.04840049604 207.843414953
0x95ddbbf3f30f66b2093b600e5bb30b1567c44115a90323db242a30c6a96b155bMint390861652023-02-09 6:15:3029 mins ago0xecded8b1c603cf21299835f1dfbe37f10f2a29af IN  0xabc000d88f23bb45525e447528dbf656a9d55bf50 MATIC0.040254736641 217.537904646
0x9b2fbb4f1a8db5db88af12f0f503f1b2eb1435ce3c171b8eeb6b9b5db2193a78Mint390861652023-02-09 6:15:3029 mins ago0xecded8b1c603cf21299835f1dfbe37f10f2a29af IN  0xabc000d88f23bb45525e447528dbf656a9d55bf50 MATIC0.053336056854 229.037904646
0x591d64812667fa25595a08f39196165ba63afd421ea9f2781b293b60a5f19486Mint390860652023-02-09 6:11:5832 mins ago0x6505f5b020bf853a741cd72f803d3a099a5adb2e IN  0xabc000d88f23bb45525e447528dbf656a9d55bf50 MATIC0.046532336757 243.951771785
0xf9bd6ec79dd3d8178bbae405a9088df848adac35adbf992db22a0c2f6496c0fbMint390859342023-02-09 6:06:4637 mins ago0x6505f5b020bf853a741cd72f803d3a099a5adb2e IN  0xabc000d88f23bb45525e447528dbf656a9d55bf50 MATIC0.043050981097 207.007718
0x46da11791d560ff1940310274653f526142ad281d8e290538c9d64bf34f62dbfMint390857352023-02-09 5:59:1245 mins ago0x5a01b01fd43d30eb299f0c9b8a463ecfa531db2a IN  0xabc000d88f23bb45525e447528dbf656a9d55bf50 MATIC0.04532576 197
0x7ce7de1a36890e4716eaece9d07637a6029b301f10e490e442490d8b70de6591Mint390854792023-02-09 5:49:3654 mins ago0x5a01b01fd43d30eb299f0c9b8a463ecfa531db2a IN  0xabc000d88f23bb45525e447528dbf656a9d55bf50 MATIC0.0479205 225
0xcec21371e79c6bc9f376900a147d14371bdedde16e24e6b86c80e4a5c509eb16Mint390853742023-02-09 5:45:5258 mins ago0x747276019e3340104c96397bf6537ad01f93d7df IN  0xabc000d88f23bb45525e447528dbf656a9d55bf50 MATIC0.037498639561 161.028211282
0x0941dac9a0ed750786cb901f009638a63ce813b53fd6db9cddd0cf4cd727e8feMint390852742023-02-09 5:42:201 hr 2 mins ago0x5a01b01fd43d30eb299f0c9b8a463ecfa531db2a IN  0xabc000d88f23bb45525e447528dbf656a9d55bf50 MATIC0.0474943 190
0x69e04a651494ef74b3a390dac9dce5c3339b4eb0b3dbade7a7cd68dad26e7eb9Mint390849712023-02-09 5:31:041 hr 13 mins ago0x1cabc2a3e7fd58b16502bf7c60c5a5e41b9db638 IN  0xabc000d88f23bb45525e447528dbf656a9d55bf50 MATIC0.042722961352185.68741895
0x34c1cd66a07604d6d27043a72d1fc5fb8ca9efb5aafe17d83bb079d48f656b0fMint390838572023-02-09 4:50:271 hr 54 mins ago0xcc460c28003ee24a390da017244f4023363d45b3 IN  0xabc000d88f23bb45525e447528dbf656a9d55bf50 MATIC0.03637283459 156.193732944
0x1b9301f6459985e3d130879d8b4eb280dd1b2f797e9c1b0b58ba30ba47da0e0eMint390825722023-02-09 4:04:162 hrs 40 mins ago0x972b0f9cde1266e860e546ac92e783741769400f IN  0xabc000d88f23bb45525e447528dbf656a9d55bf50 MATIC0.051138598824 237.005138919
0xeec3a519c3a9738c74dd589c52d196d82b307f367d4625e0a7b4ef1a3ee7e881Mint390825482023-02-09 4:03:262 hrs 41 mins ago0x972b0f9cde1266e860e546ac92e783741769400f IN  0xabc000d88f23bb45525e447528dbf656a9d55bf50 MATIC0.049669519312 260.398855601
0x3750f9efd225818ad2b2cf457e0df1d951e96afe3623a902cfd59fb29912884eMint390825272023-02-09 4:02:402 hrs 41 mins ago0x972b0f9cde1266e860e546ac92e783741769400f IN  0xabc000d88f23bb45525e447528dbf656a9d55bf50 MATIC0.050298115017 263.694349585
0xda2a5c2fa8e99f4d055763cb75f2bf38a957678d08457240fe97df8ce6566e19Mint390824912023-02-09 4:01:242 hrs 43 mins ago0x972b0f9cde1266e860e546ac92e783741769400f IN  0xabc000d88f23bb45525e447528dbf656a9d55bf50 MATIC0.085924717143 302.238939771
0x97b4c1801b5d0c8bed87542304b6e6c2d1a48193bca5ae7b33b76068c6018d87Mint390822452023-02-09 3:52:102 hrs 52 mins ago0x7c6ac6d111c47e14bd9be96ab4b316da1bc0f7da IN  0xabc000d88f23bb45525e447528dbf656a9d55bf50 MATIC0.058481709705 274.587800291
0x96938746b9fd13fed5e2d8c5a017087ff0c4aef08af8a8b5c30179611bf4086fMint390799052023-02-09 2:26:374 hrs 17 mins ago0x3e2087f019108e13d2c3eda0a9764cef855cc46e IN  0xabc000d88f23bb45525e447528dbf656a9d55bf50 MATIC0.044177704129 165.416198486
0xc61867b2c787251854b27c6c9f4562563d910e1a1615cd0d2f986ab6d49877fdMint390768422023-02-09 0:34:516 hrs 9 mins ago0xd866d73d7e8269883ba23c684c807f8fdd9152ff IN  0xabc000d88f23bb45525e447528dbf656a9d55bf50 MATIC0.038416582663 143.844620001
0x8b1262d2c014271333d59407822a0214094f18c56af6950441bc32b0fff94e56Mint390766792023-02-09 0:29:056 hrs 15 mins ago0x5275817b74021e97c980e95ede6bbac0d0d6f3a2 IN  0xabc000d88f23bb45525e447528dbf656a9d55bf50 MATIC0.038766088866 153.341411369
0x130da2702b77b6b5a12477dc3bc6fc9cb5f922b2c92d7c59e94cfdec0b73a43dMint390739202023-02-08 22:44:318 hrs ago0x1c32267abc9cddf88aab8bd8e4d9dc83099b84c6 IN  0xabc000d88f23bb45525e447528dbf656a9d55bf50 MATIC0.02369273774 101.742335812
0x2d974b1888a647ebfeac7b41e2f701811b55466249be1cb8695bf500857bc87aMint390738802023-02-08 22:43:058 hrs 1 min ago0x1c32267abc9cddf88aab8bd8e4d9dc83099b84c6 IN  0xabc000d88f23bb45525e447528dbf656a9d55bf50 MATIC0.020816435924 102.141491287
0x3db8eca8da99e7df6d759f734d3c4b4bc5f49471cc4b803057515439b8c3c8e0Mint390737372023-02-08 22:37:588 hrs 6 mins ago0x266b0fad82daeafbcfdf95b3c71b8c43dc5c3039 IN  0xabc000d88f23bb45525e447528dbf656a9d55bf50 MATIC0.031969931758 129.3386672
0x5326e0491082748997641e814d3efff74147a5c136458225cba6f9666e5d7ef6Mint390688992023-02-08 19:42:1111 hrs 2 mins ago0x0aefb855fb614eec4380781f4c84a0710d9944bd IN  0xabc000d88f23bb45525e447528dbf656a9d55bf50 MATIC0.025112618389 116.386051767
0x8d3333a3f86097435cf8f77b3323105df4cea7d9ce5efe08fc4fb665b7816c4aMint390681282023-02-08 19:14:2811 hrs 30 mins ago0x98f6696f502f7cb7f13208c01f865f0dc514a40f IN  0xabc000d88f23bb45525e447528dbf656a9d55bf50 MATIC0.029498429501 136.712376613
0xa7d41ee4ed03513600c16ab7f51d8828ff13eb1eda5ba9beb34b71d9ad462a16Mint390681052023-02-08 19:13:3811 hrs 30 mins ago0x98f6696f502f7cb7f13208c01f865f0dc514a40f IN  0xabc000d88f23bb45525e447528dbf656a9d55bf50 MATIC0.02734182409 126.717449554
[ Download CSV Export 
Latest 20 internal transactions
Parent Txn Hash Block From To Value
0x5970419eb12409e6340794864d7829d268937d21f5a5eb8324e6c9909bc2e477369161282022-12-16 22:20:5154 days 8 hrs ago 0xabc000d88f23bb45525e447528dbf656a9d55bf5  Contract Creation0 MATIC
0x87bfff5a2185eea984e5c9d79324798704508660c1466cace72e8439be4041b8365575152022-12-08 0:47:0563 days 5 hrs ago 0xabc000d88f23bb45525e447528dbf656a9d55bf5  Contract Creation0 MATIC
0xcdc71ce647a75355234100c0dc15eb0b1d0081c83f4d37c00f6004458ed8e226359211142022-11-22 9:54:4778 days 20 hrs ago 0xabc000d88f23bb45525e447528dbf656a9d55bf5  Contract Creation0 MATIC
0xd4335d85b3e99ba77336c8eeb42abb13937e6876bceb3a8be709eaa3d8c04d4b349929332022-10-30 16:23:35101 days 14 hrs ago 0xabc000d88f23bb45525e447528dbf656a9d55bf5  Contract Creation0 MATIC
0x733f94a207407f3a410b1ef6e2ff282488d54f4a994bb5b30e1ec82d5806cc98344104202022-10-16 9:14:31115 days 21 hrs ago 0xabc000d88f23bb45525e447528dbf656a9d55bf5  Contract Creation0 MATIC
0xad7b85da9eec67cd7e1f8ca5f53a9376f8dc8b94f2c8ff445d5251ad22423e06312122582022-07-27 21:43:55196 days 9 hrs ago 0xabc000d88f23bb45525e447528dbf656a9d55bf5  Contract Creation0 MATIC
0x6cf8fefef58ad07370f61b06ec104ca14d289d314297444928f385d6e57f5c72308598242022-07-18 12:01:30205 days 18 hrs ago 0xabc000d88f23bb45525e447528dbf656a9d55bf5  Contract Creation0 MATIC
0xfdf95fa0b1a36c27b16754c44a5e71384beb1c2ddd916cc5d3d8542eb10ae5bd297255742022-06-18 19:19:11235 days 11 hrs ago 0xabc000d88f23bb45525e447528dbf656a9d55bf5  Contract Creation0 MATIC
0xe50bdcf490d6f4c00c0b8b13830092f5e7d64031638dc75e2aa42803caffe1c0296793442022-06-17 14:16:54236 days 16 hrs ago 0xabc000d88f23bb45525e447528dbf656a9d55bf5  Contract Creation0 MATIC
0xec47e9963b8e6d9534c233228af0b5743efd89a7015a6197adb19df751a26019267305452022-04-04 10:29:18310 days 20 hrs ago 0xabc000d88f23bb45525e447528dbf656a9d55bf5  Contract Creation0 MATIC
0x5c96243bc533f487354e6a4f760ef63ac7778a71bd7f76b7f736de878aa887b5266413772022-04-02 3:58:01313 days 2 hrs ago 0xabc000d88f23bb45525e447528dbf656a9d55bf5  Contract Creation0 MATIC
0x5d498f8e494435d22ef2a52069c354e392ca1f232ee1817beadd2d2fd9ef40f0264481552022-03-28 4:52:14318 days 1 hr ago 0xabc000d88f23bb45525e447528dbf656a9d55bf5  Contract Creation0 MATIC
0xc6e059d50044640a4c262c66e7e5f114d064952239072ee0ff46cb351a5e63e8264481512022-03-28 4:52:06318 days 1 hr ago 0xabc000d88f23bb45525e447528dbf656a9d55bf5  Contract Creation0 MATIC
0x9c925d5d8d6a6749b584fd6c39287d87b684c866203264c10b8590e04f4e005f264481452022-03-28 4:51:54318 days 1 hr ago 0xabc000d88f23bb45525e447528dbf656a9d55bf5  Contract Creation0 MATIC
0x9be2b7398977c40f6a2b186afef8669a989ef92785cf48eff07a824b483d0e55264481432022-03-28 4:51:50318 days 1 hr ago 0xabc000d88f23bb45525e447528dbf656a9d55bf5  Contract Creation0 MATIC
0xfc6fa0d6a92407f88f87a613cd52e70ed4844363088dd3f36760a6832b8f9f1d262777622022-03-23 19:04:31322 days 11 hrs ago 0xabc000d88f23bb45525e447528dbf656a9d55bf5  Contract Creation0 MATIC
0x9aeee4ac4b8640fab3a35de407a939adf6cb54496d6b24909ee0d7c20852d149261629112022-03-20 21:00:43325 days 9 hrs ago 0xabc000d88f23bb45525e447528dbf656a9d55bf5  Contract Creation0 MATIC
0x947680eefb80f3015a7908d3c043a8666ecc9d742c14ea6feb1f3f0ddae8e229259252872022-03-14 7:30:28331 days 23 hrs ago 0xabc000d88f23bb45525e447528dbf656a9d55bf5  Contract Creation0 MATIC
0x7b8e9391fe5f880a8864824b2a1e07aa573520014dfec36ebee5674ff078f692252043332022-02-21 19:33:38352 days 11 hrs ago 0xabc000d88f23bb45525e447528dbf656a9d55bf5  Contract Creation0 MATIC
0x0a253c0c3b1e21e8220d53aca7b7665e121705b2d15111767a803fa7c8315c1c252039872022-02-21 19:19:36352 days 11 hrs ago 0xabc000d88f23bb45525e447528dbf656a9d55bf5  Contract Creation0 MATIC
[ 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 Security Audit

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

6020610e936080396080518060a01c610e8e5760e05260206020610e93016080396080518060a01c610e8e576101005260206040610e93016080396080518060a01c610e8e5761012052610100516101405260e0516005557fe385116766307e81d4427b03f1ac50c300b2f6a5df7b3c67eeb7eaaab12f080560006101605260e051610180526040610160a1610120516003557f5c486528ec3e3f0ea91181cff8116f02bfa350e03b8b6f12e00765adbb5af85c60006101605261012051610180526040610160a1610e6656600436101561000d57610a7e565b60046000601c3760005134610d9557636a627842811861005d576004358060a01c610d95576102a052600054610d955760016000556102a05160e0523361010052610056610a84565b6000600055005b6355ec670881186102cf576004358060a01c610d95576102a0526024358060a01c610d95576102c0526044358060a01c610d95576102e0526064358060a01c610d9557610300526084358060a01c610d95576103205260a4358060a01c610d95576103405260c4358060a01c610d95576103605260e4358060a01c610d955761038052610104358060a01c610d95576103a052610124358060a01c610d95576103c052610144358060a01c610d95576103e052610164358060a01c610d955761040052610184358060a01c610d9557610420526101a4358060a01c610d9557610440526101c4358060a01c610d9557610460526101e4358060a01c610d955761048052610204358060a01c610d95576104a052610224358060a01c610d95576104c052610244358060a01c610d95576104e052610264358060a01c610d955761050052610284358060a01c610d9557610520526102a4358060a01c610d9557610540526102c4358060a01c610d9557610560526102e4358060a01c610d955761058052610304358060a01c610d95576105a052610324358060a01c610d95576105c052610344358060a01c610d95576105e052610364358060a01c610d955761060052610384358060a01c610d9557610620526103a4358060a01c610d9557610640526103c4358060a01c610d9557610660526103e4358060a01c610d955761068052600054610d955760016000556106a060006020818352015b6102a06106a0516020811015610d95576020020151610292575b6102a06106a0516020811015610d9557602002015160e05233610100526102b7610a84565b81516001018083528114156102785750506000600055005b638db98b5c81186102e45733610100526102ff565b636be320d281186105e2576044358060a01c610d9557610100525b6004358060a01c610d955760e0526000600860e05160a0526080526040608020541461032f576003543318610d95575b600161012052600154610140527f602d3d8160093d39f3363d3d373d3d3d363d7300000000000000000000000000610280526101405160601b610293527f5af43d82803e903d91602b57fd5bf300000000000000000000000000000000006102a752466102205233610240526024356102605260606102005261020080516020820120905060366102806000f56101605260055433186104e157610120805160028181830110610d955780820190509050815250610160517f54b0a41dd85251df77437effbf9fbdca133bd234e7771816495877177288092c6001610180526020610180a263f9754c936102005261022080608030825260208201915080825263e10a16b8610184526004466101a4526024356101c45260400161018052610180818401808280516020018083828460045afa905050508051806020830101818260206001820306601f8201039050033682375050805160200160206001820306601f82010390509050905090508101905060208201915060008252602082019150600182525050506005543b15610d95576000600061010461021c60006005545af16104e1573d600060003e3d6000fd5b6101205160066101605160a05260805260406080205560095461018052610160516001610180516f7fffffffffffffffffffffffffffffff811015610d955702600a01556101805160018181830110610d95578082019050905060095561016051600860e05160a05260805260406080205563485cc9556101a05260e0516101c052610100516101e052610160513b15610d95576000600060446101bc6000610160515af1610595573d600060003e3d6000fd5b3360e051610140517f69e16554b097f489830077da86e9e40cc91529a8d0787c42c4f33a0a337a0e086024356101a052610160516101c05260406101a0a4610160516101a05260206101a0f35b6323fc5a478118610641576004358060a01c610d955760e0526003543318610d95577fa1b167642dcf1fee2fbf716c48c7c3f2326e4f26020cb042cd6405dfa72f4fd26002546101005260e051610120526040610100a160e051600255005b634cd69da081186106a0576004358060a01c610d955760e0526003543318610d95577fcdfeee65e4d0a88d6e47c5d034c34b03d52f1e6ffc56906257fc93d993ca04c46001546101005260e051610120526040610100a160e051600155005b634b29cac8811861077e576004358060a01c610d955760e0526024358060011c610d955761010052600660e05160a0526080526040608020546101205260006101205114610d95576003543318610d95576101205160021c60021b60018181830110610d95578082019050905061012052610100511561073557610120805160028181830110610d9557808201905090508152505b61012051600660e05160a05260805260406080205560e0517f54b0a41dd85251df77437effbf9fbdca133bd234e7771816495877177288092c61010051610140526020610140a2005b635ecb9e1481186107dd576004358060a01c610d955760e0526003543318610d95577fe385116766307e81d4427b03f1ac50c300b2f6a5df7b3c67eeb7eaaab12f08056005546101005260e051610120526040610100a160e051600555005b636b441a408118610807576004358060a01c610d955760e0526003543318610d955760e051600455005b63e5ea47b88118610852576004543318610d95577f5c486528ec3e3f0ea91181cff8116f02bfa350e03b8b6f12e00765adbb5af85c60035460e0523361010052604060e0a133600355005b634b920379811861088b576004358060a01c610d955760e0526000600660e05160a0526080526040608020541415610100526020610100f35b638a42bd8281186108c7576004358060a01c610d955760e05260006002600660e05160a052608052604060802054161415610100526020610100f35b6351bd4db581186108ff576004358060a01c610d955760e052600660e05160a05260805260406080205460021c610100526020610100f35b63c781c66881186109165760015460e052602060e0f35b63dfe05031811861092d5760025460e052602060e0f35b638da5cb5b81186109445760035460e052602060e0f35b631ec0cdc1811861095b5760045460e052602060e0f35b63f81c6c3e81186109725760055460e052602060e0f35b63f0ce32f881186109a7576004358060a01c610d955760e052600660e05160a052608052604060802054610100526020610100f35b638b752bb081186109fa576004358060a01c610d955760e0526024358060a01c610d955761010052600760e05160a05260805260406080206101005160a052608052604060802054610120526020610120f35b635d95c65e8118610a2f576004358060a01c610d955760e052600860e05160a052608052604060802054610100526020610100f35b63f111569c8118610a465760095460e052602060e0f35b63285218488118610a7c5760016004356f7fffffffffffffffffffffffffffffff811015610d955702600a015460e052602060e0f35b505b60006000fd5b600660e05160a0526080526040608020546101205260006101205114610d95576000600261012051161415610aba576000610adb565b4262093a80808204905090506101205160021c62093a808082049050905014155b15610bcf5763f9754c936101a0526101c08060803082526020820191508082526311bfb95661014452600460e0516101645260200161014052610140818401808280516020018083828460045afa905050508051806020830101818260206001820306601f8201039050033682375050805160200160206001820306601f82010390509050905090508101905060208201915060008252602082019150600182525050506005543b15610d95576000600060e46101bc60006005545af1610ba7573d600060003e3d6000fd5b4260021b60038181830110610d955780820190509050600660e05160a0526080526040608020555b634b8200936101405261010051610160526020610140602461015c600060e0515af1610c00573d600060003e3d6000fd5b601f3d1115610d95576101405115610d955763094007076101605261010051610180526020610160602461017c60e0515afa610c41573d600060003e3d6000fd5b601f3d1115610d955761016051610140526101405160076101005160a052608052604060802060e05160a052608052604060802054808210610d9557808203905090506101605260006101605114610d935763a9059cbb6101c4526004610100516101e45261016051610204526040016101c0526101c05060206102606101c0516101e060006020602038036080396080515af1610ce4573d600060003e3d6000fd5b61024060203d808211610cf75781610cf9565b805b905090508152805160200180610180828460045afa9050505060006101805114610d38576101a0516101805181816020036008021c9050905015610d95575b6101405160076101005160a052608052604060802060e05160a05260805260406080205560e051610100517f9d228d69b5fdb8d273a2336f8fb8612d039631024ea9bf09c424a9503aa078f0610140516101c05260206101c0a35b565b600080fd5b6100cc610e66036100cc610160396100cc610e66036101405181610160015280602001610160f35b600080fd00000000000000000000000037414a8662bc1d25be3ee51fb27c2686e2490a89000000000000000000000000172370d5cd63279efa6d502dab29171933a610af000000000000000000000000919124f5f5135d3020a0b075412679755545f7c5

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

00000000000000000000000037414a8662bc1d25be3ee51fb27c2686e2490a89000000000000000000000000172370d5cd63279efa6d502dab29171933a610af000000000000000000000000919124f5f5135d3020a0b075412679755545f7c5

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

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 00000000000000000000000037414a8662bc1d25be3ee51fb27c2686e2490a89
Arg [1] : 000000000000000000000000172370d5cd63279efa6d502dab29171933a610af
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
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.