ETH Price: $2,701.64 (-0.16%)

Contract

0x4E7bBd911cf1EFa442BC1b2e9Ea01ffE785412EC
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Create172191322023-05-08 23:47:35648 days ago1683589655IN
0x4E7bBd91...E785412EC
0 ETH0.0223527868.13604921
Create169734202023-04-04 5:15:59683 days ago1680585359IN
0x4E7bBd91...E785412EC
0 ETH0.0068257122.31493639
Create165834892023-02-08 10:33:11737 days ago1675852391IN
0x4E7bBd91...E785412EC
0 ETH0.0073378422.37476683
Create164733842023-01-24 1:27:59753 days ago1674523679IN
0x4E7bBd91...E785412EC
0 ETH0.0051983615.85099097
Create163819682023-01-11 7:06:35766 days ago1673420795IN
0x4E7bBd91...E785412EC
0 ETH0.0048264514.71696897
Create163710862023-01-09 18:38:11767 days ago1673289491IN
0x4E7bBd91...E785412EC
0 ETH0.0110729833.75766473
Create163709422023-01-09 18:08:59767 days ago1673287739IN
0x4E7bBd91...E785412EC
0 ETH0.0033128235.24767358
Create163709322023-01-09 18:06:59767 days ago1673287619IN
0x4E7bBd91...E785412EC
0 ETH0.0036499338.83442716
Create163359032023-01-04 20:45:47772 days ago1672865147IN
0x4E7bBd91...E785412EC
0 ETH0.0065637720.01444272
Create162400922022-12-22 11:57:35785 days ago1671710255IN
0x4E7bBd91...E785412EC
0 ETH0.003423210.43813328
Create161829752022-12-14 12:36:35793 days ago1671021395IN
0x4E7bBd91...E785412EC
0 ETH0.0037839812.37080085
Create161829712022-12-14 12:35:47793 days ago1671021347IN
0x4E7bBd91...E785412EC
0 ETH0.0037449912.24333277
Create161160162022-12-05 3:49:11803 days ago1670212151IN
0x4E7bBd91...E785412EC
0 ETH0.0010712711.73360839
Create160768352022-11-29 16:27:35808 days ago1669739255IN
0x4E7bBd91...E785412EC
0 ETH0.0047313214.4274158
Create160690072022-11-28 14:13:11809 days ago1669644791IN
0x4E7bBd91...E785412EC
0 ETH0.0045201313.77934542
Create160452102022-11-25 6:27:59813 days ago1669357679IN
0x4E7bBd91...E785412EC
0 ETH0.0034107811.15306073
Create160403962022-11-24 14:20:23813 days ago1669299623IN
0x4E7bBd91...E785412EC
0 ETH0.0041714612.71975728
Create160403932022-11-24 14:19:47813 days ago1669299587IN
0x4E7bBd91...E785412EC
0 ETH0.004555813.89168915
Create160348422022-11-23 19:41:23814 days ago1669232483IN
0x4E7bBd91...E785412EC
0 ETH0.0046151314.06809781
Create160172822022-11-21 8:45:47816 days ago1669020347IN
0x4E7bBd91...E785412EC
0 ETH0.0038381811.7034978
Create159794802022-11-16 2:02:47822 days ago1668564167IN
0x4E7bBd91...E785412EC
0 ETH0.0051999617
Create159723232022-11-15 2:01:59823 days ago1668477719IN
0x4E7bBd91...E785412EC
0 ETH0.0059790718.22570825
Create158953712022-11-04 8:11:23833 days ago1667549483IN
0x4E7bBd91...E785412EC
0 ETH0.0054426316.59113816
Create158846182022-11-02 20:07:11835 days ago1667419631IN
0x4E7bBd91...E785412EC
0 ETH0.006546119.95418156
Create158824892022-11-02 12:59:11835 days ago1667393951IN
0x4E7bBd91...E785412EC
0 ETH0.003301710.06765316
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
172191322023-05-08 23:47:35648 days ago1683589655
0x4E7bBd91...E785412EC
 Contract Creation0 ETH
169734202023-04-04 5:15:59683 days ago1680585359
0x4E7bBd91...E785412EC
 Contract Creation0 ETH
165834892023-02-08 10:33:11737 days ago1675852391
0x4E7bBd91...E785412EC
 Contract Creation0 ETH
164733842023-01-24 1:27:59753 days ago1674523679
0x4E7bBd91...E785412EC
 Contract Creation0 ETH
163819682023-01-11 7:06:35766 days ago1673420795
0x4E7bBd91...E785412EC
 Contract Creation0 ETH
163710862023-01-09 18:38:11767 days ago1673289491
0x4E7bBd91...E785412EC
 Contract Creation0 ETH
163709422023-01-09 18:08:59767 days ago1673287739
0x4E7bBd91...E785412EC
 Contract Creation0 ETH
163709322023-01-09 18:06:59767 days ago1673287619
0x4E7bBd91...E785412EC
 Contract Creation0 ETH
163359032023-01-04 20:45:47772 days ago1672865147
0x4E7bBd91...E785412EC
 Contract Creation0 ETH
162400922022-12-22 11:57:35785 days ago1671710255
0x4E7bBd91...E785412EC
 Contract Creation0 ETH
161829752022-12-14 12:36:35793 days ago1671021395
0x4E7bBd91...E785412EC
 Contract Creation0 ETH
161829712022-12-14 12:35:47793 days ago1671021347
0x4E7bBd91...E785412EC
 Contract Creation0 ETH
161160162022-12-05 3:49:11803 days ago1670212151
0x4E7bBd91...E785412EC
 Contract Creation0 ETH
160768352022-11-29 16:27:35808 days ago1669739255
0x4E7bBd91...E785412EC
 Contract Creation0 ETH
160690072022-11-28 14:13:11809 days ago1669644791
0x4E7bBd91...E785412EC
 Contract Creation0 ETH
160452102022-11-25 6:27:59813 days ago1669357679
0x4E7bBd91...E785412EC
 Contract Creation0 ETH
160403962022-11-24 14:20:23813 days ago1669299623
0x4E7bBd91...E785412EC
 Contract Creation0 ETH
160403932022-11-24 14:19:47813 days ago1669299587
0x4E7bBd91...E785412EC
 Contract Creation0 ETH
160348422022-11-23 19:41:23814 days ago1669232483
0x4E7bBd91...E785412EC
 Contract Creation0 ETH
160172822022-11-21 8:45:47816 days ago1669020347
0x4E7bBd91...E785412EC
 Contract Creation0 ETH
159794802022-11-16 2:02:47822 days ago1668564167
0x4E7bBd91...E785412EC
 Contract Creation0 ETH
159723232022-11-15 2:01:59823 days ago1668477719
0x4E7bBd91...E785412EC
 Contract Creation0 ETH
158953712022-11-04 8:11:23833 days ago1667549483
0x4E7bBd91...E785412EC
 Contract Creation0 ETH
158846182022-11-02 20:07:11835 days ago1667419631
0x4E7bBd91...E785412EC
 Contract Creation0 ETH
158824892022-11-02 12:59:11835 days ago1667393951
0x4E7bBd91...E785412EC
 Contract Creation0 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
LiquidityGaugeFactory

Compiler Version
v0.7.1+commit.f4a555be

Optimization Enabled:
Yes with 9999 runs

Other Settings:
default evmVersion
File 1 of 6 : LiquidityGaugeFactory.sol
// SPDX-License-Identifier: GPL-3.0-or-later
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.

// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.

// You should have received a copy of the GNU General Public License
// along with this program.  If not, see <http://www.gnu.org/licenses/>.

pragma solidity ^0.7.0;
pragma experimental ABIEncoderV2;

import "@balancer-labs/v2-solidity-utils/contracts/openzeppelin/Clones.sol";

import "../../interfaces/IStakingLiquidityGauge.sol";
import "../../interfaces/ILiquidityGaugeFactory.sol";

contract LiquidityGaugeFactory is ILiquidityGaugeFactory {
    ILiquidityGauge private immutable _gaugeImplementation;

    mapping(address => bool) private _isGaugeFromFactory;
    mapping(address => address) private _poolGauge;

    event GaugeCreated(address indexed gauge, address indexed pool);

    constructor(ILiquidityGauge gauge) {
        _gaugeImplementation = gauge;
    }

    /**
     * @notice Returns the address of the implementation used for gauge deployments.
     */
    function getGaugeImplementation() public view returns (ILiquidityGauge) {
        return _gaugeImplementation;
    }

    /**
     * @notice Returns the address of the gauge belonging to `pool`.
     */
    function getPoolGauge(address pool) external view returns (ILiquidityGauge) {
        return ILiquidityGauge(_poolGauge[pool]);
    }

    /**
     * @notice Returns true if `gauge` was created by this factory.
     */
    function isGaugeFromFactory(address gauge) external view override returns (bool) {
        return _isGaugeFromFactory[gauge];
    }

    /**
     * @notice Deploys a new gauge for a Balancer pool.
     * @dev As anyone can register arbitrary Balancer pools with the Vault,
     * it's impossible to prove onchain that `pool` is a "valid" deployment.
     *
     * Care must be taken to ensure that gauges deployed from this factory are
     * suitable before they are added to the GaugeController.
     *
     * This factory disallows deploying multiple gauges for a single pool.
     * @param pool The address of the pool for which to deploy a gauge
     * @return The address of the deployed gauge
     */
    function create(address pool) external returns (address) {
        require(_poolGauge[pool] == address(0), "Gauge already exists");

        address gauge = Clones.clone(address(_gaugeImplementation));

        IStakingLiquidityGauge(gauge).initialize(pool);

        _isGaugeFromFactory[gauge] = true;
        _poolGauge[pool] = gauge;
        emit GaugeCreated(gauge, pool);

        return gauge;
    }
}

File 2 of 6 : IERC20.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.7.0;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `sender` to `recipient` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

File 3 of 6 : ILiquidityGauge.sol
// SPDX-License-Identifier: GPL-3.0-or-later
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.

// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.

// You should have received a copy of the GNU General Public License
// along with this program.  If not, see <http://www.gnu.org/licenses/>.

pragma solidity ^0.7.0;

// For compatibility, we're keeping the same function names as in the original Curve code, including the mixed-case
// naming convention.
// solhint-disable func-name-mixedcase

interface ILiquidityGauge {
    function integrate_fraction(address user) external view returns (uint256);

    function user_checkpoint(address user) external returns (bool);

    function is_killed() external view returns (bool);

    function killGauge() external;

    function unkillGauge() external;
}

File 4 of 6 : Clones.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (proxy/Clones.sol)

pragma solidity ^0.7.0;

/**
 * @dev https://eips.ethereum.org/EIPS/eip-1167[EIP 1167] is a standard for
 * deploying minimal proxy contracts, also known as "clones".
 *
 * > To simply and cheaply clone contract functionality in an immutable way, this standard specifies
 * > a minimal bytecode implementation that delegates all calls to a known, fixed address.
 *
 * The library includes functions to deploy a proxy using either `create` (traditional deployment) or `create2`
 * (salted deterministic deployment). It also includes functions to predict the addresses of clones deployed using the
 * deterministic method.
 *
 * _Available since v3.4._
 */
library Clones {
    /**
     * @dev Deploys and returns the address of a clone that mimics the behaviour of `implementation`.
     *
     * This function uses the create opcode, which should never revert.
     */
    function clone(address implementation) internal returns (address instance) {
        assembly {
            let ptr := mload(0x40)
            mstore(ptr, 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000)
            mstore(add(ptr, 0x14), shl(0x60, implementation))
            mstore(add(ptr, 0x28), 0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000)
            instance := create(0, ptr, 0x37)
        }
        require(instance != address(0), "ERC1167: create failed");
    }

    /**
     * @dev Deploys and returns the address of a clone that mimics the behaviour of `implementation`.
     *
     * This function uses the create2 opcode and a `salt` to deterministically deploy
     * the clone. Using the same `implementation` and `salt` multiple time will revert, since
     * the clones cannot be deployed twice at the same address.
     */
    function cloneDeterministic(address implementation, bytes32 salt) internal returns (address instance) {
        assembly {
            let ptr := mload(0x40)
            mstore(ptr, 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000)
            mstore(add(ptr, 0x14), shl(0x60, implementation))
            mstore(add(ptr, 0x28), 0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000)
            instance := create2(0, ptr, 0x37, salt)
        }
        require(instance != address(0), "ERC1167: create2 failed");
    }

    /**
     * @dev Computes the address of a clone deployed using {Clones-cloneDeterministic}.
     */
    function predictDeterministicAddress(
        address implementation,
        bytes32 salt,
        address deployer
    ) internal pure returns (address predicted) {
        assembly {
            let ptr := mload(0x40)
            mstore(ptr, 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000)
            mstore(add(ptr, 0x14), shl(0x60, implementation))
            mstore(add(ptr, 0x28), 0x5af43d82803e903d91602b57fd5bf3ff00000000000000000000000000000000)
            mstore(add(ptr, 0x38), shl(0x60, deployer))
            mstore(add(ptr, 0x4c), salt)
            mstore(add(ptr, 0x6c), keccak256(ptr, 0x37))
            predicted := keccak256(add(ptr, 0x37), 0x55)
        }
    }

    /**
     * @dev Computes the address of a clone deployed using {Clones-cloneDeterministic}.
     */
    function predictDeterministicAddress(address implementation, bytes32 salt)
        internal
        view
        returns (address predicted)
    {
        return predictDeterministicAddress(implementation, salt, address(this));
    }
}

File 5 of 6 : ILiquidityGaugeFactory.sol
// SPDX-License-Identifier: GPL-3.0-or-later
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.

// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.

// You should have received a copy of the GNU General Public License
// along with this program.  If not, see <http://www.gnu.org/licenses/>.

pragma solidity ^0.7.0;
pragma experimental ABIEncoderV2;

import "./ILiquidityGauge.sol";

interface ILiquidityGaugeFactory {
    /**
     * @notice Returns true if `gauge` was created by this factory.
     */
    function isGaugeFromFactory(address gauge) external view returns (bool);
}

File 6 of 6 : IStakingLiquidityGauge.sol
// SPDX-License-Identifier: GPL-3.0-or-later
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.

// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.

// You should have received a copy of the GNU General Public License
// along with this program.  If not, see <http://www.gnu.org/licenses/>.

pragma solidity ^0.7.0;

import "@balancer-labs/v2-solidity-utils/contracts/openzeppelin/IERC20.sol";

import "./ILiquidityGauge.sol";

// For compatibility, we're keeping the same function names as in the original Curve code, including the mixed-case
// naming convention.
// solhint-disable func-name-mixedcase

interface IStakingLiquidityGauge is ILiquidityGauge, IERC20 {
    function initialize(address lpToken) external;

    function lp_token() external view returns (IERC20);

    function deposit(uint256 value, address recipient) external;

    function withdraw(uint256 value) external;

    function claim_rewards(address user) external;

    function add_reward(address rewardToken, address distributor) external;

    function set_reward_distributor(address rewardToken, address distributor) external;
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 9999
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"contract ILiquidityGauge","name":"gauge","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"gauge","type":"address"},{"indexed":true,"internalType":"address","name":"pool","type":"address"}],"name":"GaugeCreated","type":"event"},{"inputs":[{"internalType":"address","name":"pool","type":"address"}],"name":"create","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getGaugeImplementation","outputs":[{"internalType":"contract ILiquidityGauge","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pool","type":"address"}],"name":"getPoolGauge","outputs":[{"internalType":"contract ILiquidityGauge","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"gauge","type":"address"}],"name":"isGaugeFromFactory","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}]

60a060405234801561001057600080fd5b5060405161054b38038061054b83398101604081905261002f91610044565b60601b6001600160601b031916608052610072565b600060208284031215610055578081fd5b81516001600160a01b038116811461006b578182fd5b9392505050565b60805160601c6104b86100936000398060b7528061014a52506104b86000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806339312dee146100515780639ed933181461006f578063a8ea687514610082578063ce3cc8bd14610095575b600080fd5b6100596100b5565b60405161006691906103e8565b60405180910390f35b61005961007d3660046103ad565b6100d9565b6100596100903660046103ad565b6102aa565b6100a86100a33660046103ad565b6102d5565b6040516100669190610409565b7f000000000000000000000000000000000000000000000000000000000000000090565b73ffffffffffffffffffffffffffffffffffffffff81811660009081526001602052604081205490911615610143576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161013a90610414565b60405180910390fd5b600061016e7f0000000000000000000000000000000000000000000000000000000000000000610300565b6040517fc4d66de800000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff82169063c4d66de8906101c39086906004016103e8565b600060405180830381600087803b1580156101dd57600080fd5b505af11580156101f1573d6000803e3d6000fd5b5050505073ffffffffffffffffffffffffffffffffffffffff81811660008181526020818152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091559488168084529490915280822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055517fbc0aff029cf899fe358381e295caa21dd2e8c1a6607e2b9e6c7ec915db15bd539190a390505b919050565b73ffffffffffffffffffffffffffffffffffffffff9081166000908152600160205260409020541690565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205460ff1690565b60006040517f3d602d80600a3d3981f3363d3d373d3d3d363d7300000000000000000000000081528260601b60148201527f5af43d82803e903d91602b57fd5bf3000000000000000000000000000000000060288201526037816000f091505073ffffffffffffffffffffffffffffffffffffffff81166102a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161013a9061044b565b6000602082840312156103be578081fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146103e1578182fd5b9392505050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b901515815260200190565b60208082526014908201527f476175676520616c726561647920657869737473000000000000000000000000604082015260600190565b60208082526016908201527f455243313136373a20637265617465206661696c65640000000000000000000060408201526060019056fea2646970667358221220c8bcb512d185826a523e34d12bfb4dfb477cb7c3a8e9a517795e546d6b434c8e64736f6c634300070100330000000000000000000000003b8ca519122cdd8efb272b0d3085453404b25bd0

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061004c5760003560e01c806339312dee146100515780639ed933181461006f578063a8ea687514610082578063ce3cc8bd14610095575b600080fd5b6100596100b5565b60405161006691906103e8565b60405180910390f35b61005961007d3660046103ad565b6100d9565b6100596100903660046103ad565b6102aa565b6100a86100a33660046103ad565b6102d5565b6040516100669190610409565b7f0000000000000000000000003b8ca519122cdd8efb272b0d3085453404b25bd090565b73ffffffffffffffffffffffffffffffffffffffff81811660009081526001602052604081205490911615610143576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161013a90610414565b60405180910390fd5b600061016e7f0000000000000000000000003b8ca519122cdd8efb272b0d3085453404b25bd0610300565b6040517fc4d66de800000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff82169063c4d66de8906101c39086906004016103e8565b600060405180830381600087803b1580156101dd57600080fd5b505af11580156101f1573d6000803e3d6000fd5b5050505073ffffffffffffffffffffffffffffffffffffffff81811660008181526020818152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091559488168084529490915280822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055517fbc0aff029cf899fe358381e295caa21dd2e8c1a6607e2b9e6c7ec915db15bd539190a390505b919050565b73ffffffffffffffffffffffffffffffffffffffff9081166000908152600160205260409020541690565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205460ff1690565b60006040517f3d602d80600a3d3981f3363d3d373d3d3d363d7300000000000000000000000081528260601b60148201527f5af43d82803e903d91602b57fd5bf3000000000000000000000000000000000060288201526037816000f091505073ffffffffffffffffffffffffffffffffffffffff81166102a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161013a9061044b565b6000602082840312156103be578081fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146103e1578182fd5b9392505050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b901515815260200190565b60208082526014908201527f476175676520616c726561647920657869737473000000000000000000000000604082015260600190565b60208082526016908201527f455243313136373a20637265617465206661696c65640000000000000000000060408201526060019056fea2646970667358221220c8bcb512d185826a523e34d12bfb4dfb477cb7c3a8e9a517795e546d6b434c8e64736f6c63430007010033

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

0000000000000000000000003b8ca519122cdd8efb272b0d3085453404b25bd0

-----Decoded View---------------
Arg [0] : gauge (address): 0x3b8cA519122CdD8efb272b0D3085453404B25bD0

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000003b8ca519122cdd8efb272b0d3085453404b25bd0


Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
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.