| Token | Symbol | Balance | Price | Value |
|---|---|---|---|---|
| no token holdings | ||||
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (proxy/transparent/TransparentUpgradeableProxy.sol)
pragma solidity ^0.8.20;
import {ERC1967Utils} from "../ERC1967/ERC1967Utils.sol";
import {ERC1967Proxy} from "../ERC1967/ERC1967Proxy.sol";
import {IERC1967} from "../../interfaces/IERC1967.sol";
import {ProxyAdmin} from "./ProxyAdmin.sol";
/**
* @dev Interface for {TransparentUpgradeableProxy}. In order to implement transparency, {TransparentUpgradeableProxy}
* does not implement this interface directly, and its upgradeability mechanism is implemented by an internal dispatch
* mechanism. The compiler is unaware that these functions are implemented by {TransparentUpgradeableProxy} and will not
* include them in the ABI so this interface must be used to interact with it.
*/
interface ITransparentUpgradeableProxy is IERC1967 {
function upgradeToAndCall(address, bytes calldata) external payable;
}
/**
* @dev This contract implements a proxy that is upgradeable through an associated {ProxyAdmin} instance.
*
* To avoid https://medium.com/nomic-labs-blog/malicious-backdoors-in-ethereum-proxies-62629adf3357[proxy selector
* clashing], which can potentially be used in an attack, this contract uses the
* https://blog.openzeppelin.com/the-transparent-proxy-pattern/[transparent proxy pattern]. This pattern implies two
* things that go hand in hand:
*
* 1. If any account other than the admin calls the proxy, the call will be forwarded to the implementation, even if
* that call matches the {ITransparentUpgradeableProxy-upgradeToAndCall} function exposed by the proxy itself.
* 2. If the admin calls the proxy, it can call the `upgradeToAndCall` function but any other call won't be forwarded to
* the implementation. If the admin tries to call a function on the implementation it will fail with an error indicating
* the proxy admin cannot fallback to the target implementation.
*
* These properties mean that the admin account can only be used for upgrading the proxy, so it's best if it's a
* dedicated account that is not used for anything else. This will avoid headaches due to sudden errors when trying to
* call a function from the proxy implementation. For this reason, the proxy deploys an instance of {ProxyAdmin} and
* allows upgrades only if they come through it. You should think of the `ProxyAdmin` instance as the administrative
* interface of the proxy, including the ability to change who can trigger upgrades by transferring ownership.
*
* NOTE: The real interface of this proxy is that defined in `ITransparentUpgradeableProxy`. This contract does not
* inherit from that interface, and instead `upgradeToAndCall` is implicitly implemented using a custom dispatch
* mechanism in `_fallback`. Consequently, the compiler will not produce an ABI for this contract. This is necessary to
* fully implement transparency without decoding reverts caused by selector clashes between the proxy and the
* implementation.
*
* NOTE: This proxy does not inherit from {Context} deliberately. The {ProxyAdmin} of this contract won't send a
* meta-transaction in any way, and any other meta-transaction setup should be made in the implementation contract.
*
* IMPORTANT: This contract avoids unnecessary storage reads by setting the admin only during construction as an
* immutable variable, preventing any changes thereafter. However, the admin slot defined in ERC-1967 can still be
* overwritten by the implementation logic pointed to by this proxy. In such cases, the contract may end up in an
* undesirable state where the admin slot is different from the actual admin.
*
* WARNING: It is not recommended to extend this contract to add additional external functions. If you do so, the
* compiler will not check that there are no selector conflicts, due to the note above. A selector clash between any new
* function and the functions declared in {ITransparentUpgradeableProxy} will be resolved in favor of the new one. This
* could render the `upgradeToAndCall` function inaccessible, preventing upgradeability and compromising transparency.
*/
contract TransparentUpgradeableProxy is ERC1967Proxy {
// An immutable address for the admin to avoid unnecessary SLOADs before each call
// at the expense of removing the ability to change the admin once it's set.
// This is acceptable if the admin is always a ProxyAdmin instance or similar contract
// with its own ability to transfer the permissions to another account.
address private immutable _admin;
/**
* @dev The proxy caller is the current admin, and can't fallback to the proxy target.
*/
error ProxyDeniedAdminAccess();
/**
* @dev Initializes an upgradeable proxy managed by an instance of a {ProxyAdmin} with an `initialOwner`,
* backed by the implementation at `_logic`, and optionally initialized with `_data` as explained in
* {ERC1967Proxy-constructor}.
*/
constructor(address _logic, address initialOwner, bytes memory _data) payable ERC1967Proxy(_logic, _data) {
_admin = address(new ProxyAdmin(initialOwner));
// Set the storage value and emit an event for ERC-1967 compatibility
ERC1967Utils.changeAdmin(_proxyAdmin());
}
/**
* @dev Returns the admin of this proxy.
*/
function _proxyAdmin() internal virtual returns (address) {
return _admin;
}
/**
* @dev If caller is the admin process the call internally, otherwise transparently fallback to the proxy behavior.
*/
function _fallback() internal virtual override {
if (msg.sender == _proxyAdmin()) {
if (msg.sig != ITransparentUpgradeableProxy.upgradeToAndCall.selector) {
revert ProxyDeniedAdminAccess();
} else {
_dispatchUpgradeToAndCall();
}
} else {
super._fallback();
}
}
/**
* @dev Upgrade the implementation of the proxy. See {ERC1967Utils-upgradeToAndCall}.
*
* Requirements:
*
* - If `data` is empty, `msg.value` must be zero.
*/
function _dispatchUpgradeToAndCall() private {
(address newImplementation, bytes memory data) = abi.decode(msg.data[4:], (address, bytes));
ERC1967Utils.upgradeToAndCall(newImplementation, data);
}
}[
{
"type": "constructor",
"inputs": [
{
"name": "_logic",
"type": "address",
"internalType": "address"
},
{
"name": "initialOwner",
"type": "address",
"internalType": "address"
},
{
"name": "_data",
"type": "bytes",
"internalType": "bytes"
}
],
"stateMutability": "payable"
},
{
"name": "AddressEmptyCode",
"type": "error",
"inputs": [
{
"name": "target",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "ERC1967InvalidAdmin",
"type": "error",
"inputs": [
{
"name": "admin",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "ERC1967InvalidImplementation",
"type": "error",
"inputs": [
{
"name": "implementation",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "ERC1967NonPayable",
"type": "error",
"inputs": []
},
{
"name": "FailedInnerCall",
"type": "error",
"inputs": []
},
{
"name": "ProxyDeniedAdminAccess",
"type": "error",
"inputs": []
},
{
"name": "AdminChanged",
"type": "event",
"inputs": [
{
"name": "previousAdmin",
"type": "address",
"indexed": false,
"internalType": "address"
},
{
"name": "newAdmin",
"type": "address",
"indexed": false,
"internalType": "address"
}
],
"anonymous": false
},
{
"name": "Upgraded",
"type": "event",
"inputs": [
{
"name": "implementation",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
},
{
"type": "fallback",
"stateMutability": "payable"
}
][
{
"type": "constructor",
"inputs": [],
"stateMutability": "nonpayable"
},
{
"name": "ALLOC_POINT_MISMATCH",
"type": "error",
"inputs": [
{
"name": "chef",
"type": "address",
"internalType": "address"
},
{
"name": "expected",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "actual",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "AccessControlBadConfirmation",
"type": "error",
"inputs": []
},
{
"name": "AccessControlUnauthorizedAccount",
"type": "error",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
},
{
"name": "neededRole",
"type": "bytes32",
"internalType": "bytes32"
}
]
},
{
"name": "AddressEmptyCode",
"type": "error",
"inputs": [
{
"name": "target",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "AddressInsufficientBalance",
"type": "error",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "FARM_INACTIVE",
"type": "error",
"inputs": [
{
"name": "pool",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "FailedInnerCall",
"type": "error",
"inputs": []
},
{
"name": "INSUFFICIENT_REWARD_BALANCE",
"type": "error",
"inputs": [
{
"name": "chef",
"type": "address",
"internalType": "address"
},
{
"name": "required",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "balance",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "INVALID_ASSORTMENT",
"type": "error",
"inputs": []
},
{
"name": "INVALID_DURATION",
"type": "error",
"inputs": []
},
{
"name": "INVALID_POOL",
"type": "error",
"inputs": [
{
"name": "pool",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "InvalidInitialization",
"type": "error",
"inputs": []
},
{
"name": "NOT_AUTHORIZED",
"type": "error",
"inputs": [
{
"name": "caller",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "NOT_PAIR",
"type": "error",
"inputs": [
{
"name": "pair",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "NotInitializing",
"type": "error",
"inputs": []
},
{
"name": "POOL_EXISTS",
"type": "error",
"inputs": [
{
"name": "pool",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "ReentrancyGuardReentrantCall",
"type": "error",
"inputs": []
},
{
"name": "SafeERC20FailedOperation",
"type": "error",
"inputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "ZERO_ADDRESS",
"type": "error",
"inputs": []
},
{
"name": "ZERO_AMOUNT",
"type": "error",
"inputs": []
},
{
"name": "CLFarmActivated",
"type": "event",
"inputs": [
{
"name": "clFactory",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "pool",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "allocPoint",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "CLFarmDeactivated",
"type": "event",
"inputs": [
{
"name": "clFactory",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "pool",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
},
{
"name": "CLFarmRegistered",
"type": "event",
"inputs": [
{
"name": "clFactory",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "pool",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
},
{
"name": "ClassicFarmActivated",
"type": "event",
"inputs": [
{
"name": "pair",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "allocPoint",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "feeReceiver",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
},
{
"name": "ClassicFarmDeactivated",
"type": "event",
"inputs": [
{
"name": "pair",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
},
{
"name": "ClassicFarmRegistered",
"type": "event",
"inputs": [
{
"name": "pair",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
},
{
"name": "ControllerInitialized",
"type": "event",
"inputs": [
{
"name": "admin",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "treasury",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
},
{
"name": "EmissionCenterSet",
"type": "event",
"inputs": [
{
"name": "center",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
},
{
"name": "Initialized",
"type": "event",
"inputs": [
{
"name": "version",
"type": "uint64",
"indexed": false,
"internalType": "uint64"
}
],
"anonymous": false
},
{
"name": "ProtocolInitialized",
"type": "event",
"inputs": [
{
"name": "rewardToken",
"type": "address",
"indexed": false,
"internalType": "address"
},
{
"name": "classicFactory",
"type": "address",
"indexed": false,
"internalType": "address"
},
{
"name": "clFactory",
"type": "address",
"indexed": false,
"internalType": "address"
},
{
"name": "classicChef",
"type": "address",
"indexed": false,
"internalType": "address"
},
{
"name": "clMasterChef",
"type": "address",
"indexed": false,
"internalType": "address"
},
{
"name": "apexVault",
"type": "address",
"indexed": false,
"internalType": "address"
},
{
"name": "feeCenter",
"type": "address",
"indexed": false,
"internalType": "address"
}
],
"anonymous": false
},
{
"name": "RebalanceEmissions",
"type": "event",
"inputs": [
{
"name": "amount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "duration",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "rewardAmount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "rewardPerSecond",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "RewardForfeited",
"type": "event",
"inputs": [
{
"name": "pool",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "RewardPaid",
"type": "event",
"inputs": [
{
"name": "pool",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "to",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "RoleAdminChanged",
"type": "event",
"inputs": [
{
"name": "role",
"type": "bytes32",
"indexed": true,
"internalType": "bytes32"
},
{
"name": "previousAdminRole",
"type": "bytes32",
"indexed": true,
"internalType": "bytes32"
},
{
"name": "newAdminRole",
"type": "bytes32",
"indexed": true,
"internalType": "bytes32"
}
],
"anonymous": false
},
{
"name": "RoleGranted",
"type": "event",
"inputs": [
{
"name": "role",
"type": "bytes32",
"indexed": true,
"internalType": "bytes32"
},
{
"name": "account",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "sender",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
},
{
"name": "RoleRevoked",
"type": "event",
"inputs": [
{
"name": "role",
"type": "bytes32",
"indexed": true,
"internalType": "bytes32"
},
{
"name": "account",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "sender",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
},
{
"name": "DEFAULT_ADMIN_ROLE",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"stateMutability": "view"
},
{
"name": "EMISSION_OPERATOR",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"stateMutability": "view"
},
{
"name": "FEE_OPERATOR",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"stateMutability": "view"
},
{
"name": "REWARD_PRECISION",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "VAULT_OPERATOR",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"stateMutability": "view"
},
{
"name": "activateCLFarm",
"type": "function",
"inputs": [
{
"name": "_pool",
"type": "address",
"internalType": "address"
},
{
"name": "_allocPoint",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "activateClassicFarm",
"type": "function",
"inputs": [
{
"name": "_pair",
"type": "address",
"internalType": "address"
},
{
"name": "_allocPoint",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "addFeeReceiver",
"type": "function",
"inputs": [
{
"name": "_outputToken",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "receiver",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "nonpayable"
},
{
"name": "apexVault",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "contract IApexVault"
}
],
"stateMutability": "view"
},
{
"name": "clFactory",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "contract ICLFactory"
}
],
"stateMutability": "view"
},
{
"name": "classicFactory",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "contract IClassicFactory"
}
],
"stateMutability": "view"
},
{
"name": "collectCLProtocolFees",
"type": "function",
"inputs": [
{
"name": "_pool",
"type": "address",
"internalType": "address"
},
{
"name": "_amount0Requested",
"type": "uint128",
"internalType": "uint128"
},
{
"name": "_amount1Requested",
"type": "uint128",
"internalType": "uint128"
}
],
"outputs": [
{
"name": "amount0",
"type": "uint128",
"internalType": "uint128"
},
{
"name": "amount1",
"type": "uint128",
"internalType": "uint128"
}
],
"stateMutability": "nonpayable"
},
{
"name": "collectClassicProtocolFees",
"type": "function",
"inputs": [
{
"name": "_pair",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "amount0",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "amount1",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "nonpayable"
},
{
"name": "compoundVault",
"type": "function",
"inputs": [
{
"name": "_tokenId",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "nonpayable"
},
{
"name": "compoundVaultMany",
"type": "function",
"inputs": [
{
"name": "_tokenIds",
"type": "uint256[]",
"internalType": "uint256[]"
}
],
"outputs": [
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "nonpayable"
},
{
"name": "deactivateCLFarm",
"type": "function",
"inputs": [
{
"name": "_pool",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "deactivateClassicFarm",
"type": "function",
"inputs": [
{
"name": "_pair",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "emissionCenter",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "executeFeeReceiverSwap",
"type": "function",
"inputs": [
{
"name": "_receiver",
"type": "address",
"internalType": "address"
},
{
"name": "_tokenIn",
"type": "address",
"internalType": "address"
},
{
"name": "_swapper",
"type": "address",
"internalType": "address"
},
{
"name": "_amount",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "_minAmountOut",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "spent",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "received",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "nonpayable"
},
{
"name": "farmAllocPoint",
"type": "function",
"inputs": [
{
"name": "_pool",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "feeCenter",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "forfeitReward",
"type": "function",
"inputs": [
{
"name": "_pool",
"type": "address",
"internalType": "address"
},
{
"name": "_amount",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "forfeited",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "nonpayable"
},
{
"name": "getCLMasterChef",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "contract ICLMasterChef"
}
],
"stateMutability": "view"
},
{
"name": "getClassicChef",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "contract IClassicChef"
}
],
"stateMutability": "view"
},
{
"name": "getLatestPeriodInfo",
"type": "function",
"inputs": [
{
"name": "_pool",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "rewardPerSecond",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "endTime",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "getRoleAdmin",
"type": "function",
"inputs": [
{
"name": "role",
"type": "bytes32",
"internalType": "bytes32"
}
],
"outputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"stateMutability": "view"
},
{
"name": "getRoleMember",
"type": "function",
"inputs": [
{
"name": "role",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "index",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "getRoleMemberCount",
"type": "function",
"inputs": [
{
"name": "role",
"type": "bytes32",
"internalType": "bytes32"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "grantRole",
"type": "function",
"inputs": [
{
"name": "role",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "account",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "hasRole",
"type": "function",
"inputs": [
{
"name": "role",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "account",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"name": "initialize",
"type": "function",
"inputs": [
{
"name": "_params",
"type": "tuple",
"components": [
{
"name": "admin",
"type": "address",
"internalType": "address"
},
{
"name": "treasury",
"type": "address",
"internalType": "address"
}
],
"internalType": "struct IApexController.InitParams"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "initializeProtocol",
"type": "function",
"inputs": [
{
"name": "_params",
"type": "tuple",
"components": [
{
"name": "rewardToken",
"type": "address",
"internalType": "address"
},
{
"name": "classicFactory",
"type": "address",
"internalType": "address"
},
{
"name": "clFactory",
"type": "address",
"internalType": "address"
},
{
"name": "classicChef",
"type": "address",
"internalType": "address"
},
{
"name": "clMasterChef",
"type": "address",
"internalType": "address"
},
{
"name": "apexVault",
"type": "address",
"internalType": "address"
},
{
"name": "feeCenter",
"type": "address",
"internalType": "address"
}
],
"internalType": "struct IApexController.ProtocolParams"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "isFarmActive",
"type": "function",
"inputs": [
{
"name": "_pool",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"name": "isFarmRegistered",
"type": "function",
"inputs": [
{
"name": "_pool",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"name": "latestPeriodEndTime",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "latestPeriodNumber",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "latestPeriodRewardPerSecond",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "latestPeriodStartTime",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "notifyFeeReceiverVault",
"type": "function",
"inputs": [
{
"name": "_receiver",
"type": "address",
"internalType": "address"
},
{
"name": "_amount",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "notifyFeeReceiverVaultBalance",
"type": "function",
"inputs": [
{
"name": "_receiver",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "nonpayable"
},
{
"name": "notifyFeeReceiverVaultCompound",
"type": "function",
"inputs": [
{
"name": "_receiver",
"type": "address",
"internalType": "address"
},
{
"name": "_amount",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "notifyFeeReceiverVaultCompoundBalance",
"type": "function",
"inputs": [
{
"name": "_receiver",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "nonpayable"
},
{
"name": "notifyVaultCompoundReward",
"type": "function",
"inputs": [
{
"name": "_amount",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "notifyVaultCompoundRewardFrom",
"type": "function",
"inputs": [
{
"name": "_from",
"type": "address",
"internalType": "address"
},
{
"name": "_amount",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "notifyVaultReward",
"type": "function",
"inputs": [
{
"name": "_token",
"type": "address",
"internalType": "address"
},
{
"name": "_amount",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "notifyVaultRewardFrom",
"type": "function",
"inputs": [
{
"name": "_from",
"type": "address",
"internalType": "address"
},
{
"name": "_token",
"type": "address",
"internalType": "address"
},
{
"name": "_amount",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "overrideCLProtocolFee",
"type": "function",
"inputs": [
{
"name": "_pool",
"type": "address",
"internalType": "address"
},
{
"name": "_feeProtocol0",
"type": "uint32",
"internalType": "uint32"
},
{
"name": "_feeProtocol1",
"type": "uint32",
"internalType": "uint32"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "overrideClassicFee",
"type": "function",
"inputs": [
{
"name": "_pair",
"type": "address",
"internalType": "address"
},
{
"name": "_fee",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "overrideClassicFeeReceiver",
"type": "function",
"inputs": [
{
"name": "_pair",
"type": "address",
"internalType": "address"
},
{
"name": "_feeReceiver",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "overrideClassicProtocolFee",
"type": "function",
"inputs": [
{
"name": "_pair",
"type": "address",
"internalType": "address"
},
{
"name": "_protocolFee",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "payReward",
"type": "function",
"inputs": [
{
"name": "_pool",
"type": "address",
"internalType": "address"
},
{
"name": "_to",
"type": "address",
"internalType": "address"
},
{
"name": "_amount",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "paid",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "nonpayable"
},
{
"name": "pushAndSplitFees",
"type": "function",
"inputs": [
{
"name": "_tokens",
"type": "address[]",
"internalType": "address[]"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "rebalanceEmissions",
"type": "function",
"inputs": [
{
"name": "_amount",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "_duration",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "_weights",
"type": "tuple[]",
"components": [
{
"name": "kind",
"type": "uint8",
"internalType": "enum IApexController.PoolKind"
},
{
"name": "pool",
"type": "address",
"internalType": "address"
},
{
"name": "allocPoint",
"type": "uint256",
"internalType": "uint256"
}
],
"internalType": "struct IApexController.EmissionWeight[]"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "registerCLFarm",
"type": "function",
"inputs": [
{
"name": "_pool",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "registerClassicFarm",
"type": "function",
"inputs": [
{
"name": "_pair",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "registeredCLFarmAt",
"type": "function",
"inputs": [
{
"name": "_index",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "registeredCLFarmsLength",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "registeredClassicFarmAt",
"type": "function",
"inputs": [
{
"name": "_index",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "registeredClassicFarmsLength",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "releaseAndSplitEmissions",
"type": "function",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "removeFeeReceiver",
"type": "function",
"inputs": [
{
"name": "_outputToken",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "receiver",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "nonpayable"
},
{
"name": "renounceRole",
"type": "function",
"inputs": [
{
"name": "role",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "callerConfirmation",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "rescueFeeReceiverToken",
"type": "function",
"inputs": [
{
"name": "_receiver",
"type": "address",
"internalType": "address"
},
{
"name": "_token",
"type": "address",
"internalType": "address"
},
{
"name": "_to",
"type": "address",
"internalType": "address"
},
{
"name": "_amount",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "revokeRole",
"type": "function",
"inputs": [
{
"name": "role",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "account",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "rewardLiability",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "rewardToken",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "setCLMasterChefEmergency",
"type": "function",
"inputs": [
{
"name": "_emergency",
"type": "bool",
"internalType": "bool"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "setCLMevResistanceWindow",
"type": "function",
"inputs": [
{
"name": "_window",
"type": "uint32",
"internalType": "uint32"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "setClassicGlobalFee",
"type": "function",
"inputs": [
{
"name": "_fee",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "setClassicGlobalFeeReceiver",
"type": "function",
"inputs": [
{
"name": "_feeReceiver",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "setClassicGlobalProtocolFee",
"type": "function",
"inputs": [
{
"name": "_protocolFee",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "setEmissionCenter",
"type": "function",
"inputs": [
{
"name": "_center",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "setFeeReceiverImplementation",
"type": "function",
"inputs": [
{
"name": "_implementation",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "setFeeSwapper",
"type": "function",
"inputs": [
{
"name": "_swapper",
"type": "address",
"internalType": "address"
},
{
"name": "_status",
"type": "bool",
"internalType": "bool"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "setLmPoolDeployer",
"type": "function",
"inputs": [
{
"name": "_lmPoolDeployer",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "setVaultConfig",
"type": "function",
"inputs": [
{
"name": "_minRemainingLock",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "_rewardDuration",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "setVaultRewardToken",
"type": "function",
"inputs": [
{
"name": "_token",
"type": "address",
"internalType": "address"
},
{
"name": "_status",
"type": "bool",
"internalType": "bool"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "setVeArtProxy",
"type": "function",
"inputs": [
{
"name": "_artProxy",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "stopAllEmissions",
"type": "function",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "supportsInterface",
"type": "function",
"inputs": [
{
"name": "interfaceId",
"type": "bytes4",
"internalType": "bytes4"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"name": "sweepVaultUnallocated",
"type": "function",
"inputs": [
{
"name": "_token",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "nonpayable"
},
{
"name": "totalAllocPoint",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "treasury",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
}
]0x60a0604052604051610d91380380610d918339810160408190526100229161036a565b828161002e828261008c565b50508160405161003d9061032e565b6001600160a01b039091168152602001604051809103905ff080158015610066573d5f5f3e3d5ffd5b506001600160a01b031660805261008461007f60805190565b6100ea565b505050610451565b61009582610157565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a28051156100de576100d982826101d5565b505050565b6100e6610248565b5050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6101295f516020610d715f395f51905f52546001600160a01b031690565b604080516001600160a01b03928316815291841660208301520160405180910390a161015481610269565b50565b806001600160a01b03163b5f0361019157604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b80546001600160a01b0319166001600160a01b039290921691909117905550565b60605f5f846001600160a01b0316846040516101f1919061043b565b5f60405180830381855af49150503d805f8114610229576040519150601f19603f3d011682016040523d82523d5f602084013e61022e565b606091505b50909250905061023f8583836102a6565b95945050505050565b34156102675760405163b398979f60e01b815260040160405180910390fd5b565b6001600160a01b03811661029257604051633173bdd160e11b81525f6004820152602401610188565b805f516020610d715f395f51905f526101b4565b6060826102bb576102b682610305565b6102fe565b81511580156102d257506001600160a01b0384163b155b156102fb57604051639996b31560e01b81526001600160a01b0385166004820152602401610188565b50805b9392505050565b8051156103155780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6104d78061089a83390190565b80516001600160a01b0381168114610351575f5ffd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f5f5f6060848603121561037c575f5ffd5b6103858461033b565b92506103936020850161033b565b60408501519092506001600160401b038111156103ae575f5ffd5b8401601f810186136103be575f5ffd5b80516001600160401b038111156103d7576103d7610356565b604051601f8201601f19908116603f011681016001600160401b038111828210171561040557610405610356565b60405281815282820160200188101561041c575f5ffd5b8160208401602083015e5f602083830101528093505050509250925092565b5f82518060208501845e5f920191825250919050565b6080516104326104685f395f601001526104325ff3fe608060405261000c61000e565b005b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361007a575f356001600160e01b03191663278f794360e11b14610070576040516334ad5dbb60e21b815260040160405180910390fd5b610078610082565b565b6100786100b0565b5f806100913660048184610303565b81019061009e919061033e565b915091506100ac82826100c0565b5050565b6100786100bb61011a565b610151565b6100c98261016f565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a28051156101125761010d82826101ea565b505050565b6100ac61025c565b5f61014c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f5f375f5f365f845af43d5f5f3e80801561016b573d5ff35b3d5ffd5b806001600160a01b03163b5f036101a957604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b60605f5f846001600160a01b031684604051610206919061040f565b5f60405180830381855af49150503d805f811461023e576040519150601f19603f3d011682016040523d82523d5f602084013e610243565b606091505b509150915061025385838361027b565b95945050505050565b34156100785760405163b398979f60e01b815260040160405180910390fd5b6060826102905761028b826102da565b6102d3565b81511580156102a757506001600160a01b0384163b155b156102d057604051639996b31560e01b81526001600160a01b03851660048201526024016101a0565b50805b9392505050565b8051156102ea5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b5f5f85851115610311575f5ffd5b8386111561031d575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52604160045260245ffd5b5f5f6040838503121561034f575f5ffd5b82356001600160a01b0381168114610365575f5ffd5b9150602083013567ffffffffffffffff811115610380575f5ffd5b8301601f81018513610390575f5ffd5b803567ffffffffffffffff8111156103aa576103aa61032a565b604051601f8201601f19908116603f0116810167ffffffffffffffff811182821017156103d9576103d961032a565b6040528181528282016020018710156103f0575f5ffd5b816020840160208301375f602083830101528093505050509250929050565b5f82518060208501845e5f92019182525091905056fea164736f6c6343000823000a6080604052348015600e575f5ffd5b506040516104d73803806104d7833981016040819052602b9160b4565b806001600160a01b038116605857604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b605f816065565b505060df565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f6020828403121560c3575f5ffd5b81516001600160a01b038116811460d8575f5ffd5b9392505050565b6103eb806100ec5f395ff3fe608060405260043610610049575f3560e01c8063715018a61461004d5780638da5cb5b146100635780639623609d14610090578063ad3cb1cc146100a3578063f2fde38b146100e0575b5f5ffd5b348015610058575f5ffd5b506100616100ff565b005b34801561006e575f5ffd5b505f546001600160a01b0316604051610087919061023e565b60405180910390f35b61006161009e36600461027a565b610112565b3480156100ae575f5ffd5b506100d3604051806040016040528060058152602001640352e302e360dc1b81525081565b604051610087919061037f565b3480156100eb575f5ffd5b506100616100fa366004610398565b61017d565b6101076101c3565b6101105f6101ef565b565b61011a6101c3565b60405163278f794360e11b81526001600160a01b03841690634f1ef28690349061014a90869086906004016103b3565b5f604051808303818588803b158015610161575f5ffd5b505af1158015610173573d5f5f3e3d5ffd5b5050505050505050565b6101856101c3565b6001600160a01b0381166101b7575f604051631e4fbdf760e01b81526004016101ae919061023e565b60405180910390fd5b6101c0816101ef565b50565b5f546001600160a01b03163314610110573360405163118cdaa760e01b81526004016101ae919061023e565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0391909116815260200190565b6001600160a01b03811681146101c0575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b5f5f5f6060848603121561028c575f5ffd5b833561029781610252565b925060208401356102a781610252565b9150604084013567ffffffffffffffff8111156102c2575f5ffd5b8401601f810186136102d2575f5ffd5b803567ffffffffffffffff8111156102ec576102ec610266565b604051601f8201601f19908116603f0116810167ffffffffffffffff8111828210171561031b5761031b610266565b604052818152828201602001881015610332575f5ffd5b816020840160208301375f602083830101528093505050509250925092565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6103916020830184610351565b9392505050565b5f602082840312156103a8575f5ffd5b813561039181610252565b6001600160a01b03831681526040602082018190525f906103d690830184610351565b94935050505056fea164736f6c6343000823000ab53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103000000000000000000000000cf97f396047eac5c7663e77dc985c32fc289ae900000000000000000000000005f378c7c4d33e43ed3ea573a2b0a6ba8a688ad4000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044b6a597dd0000000000000000000000005f378c7c4d33e43ed3ea573a2b0a6ba8a688ad400000000000000000000000005f378c7c4d33e43ed3ea573a2b0a6ba8a688ad4000000000000000000000000000000000000000000000000000000000
0x608060405261000c61000e565b005b7f0000000000000000000000002d4838d06623d3b8473b64e7cf518d09136f1e2e6001600160a01b0316330361007a575f356001600160e01b03191663278f794360e11b14610070576040516334ad5dbb60e21b815260040160405180910390fd5b610078610082565b565b6100786100b0565b5f806100913660048184610303565b81019061009e919061033e565b915091506100ac82826100c0565b5050565b6100786100bb61011a565b610151565b6100c98261016f565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a28051156101125761010d82826101ea565b505050565b6100ac61025c565b5f61014c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f5f375f5f365f845af43d5f5f3e80801561016b573d5ff35b3d5ffd5b806001600160a01b03163b5f036101a957604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b60605f5f846001600160a01b031684604051610206919061040f565b5f60405180830381855af49150503d805f811461023e576040519150601f19603f3d011682016040523d82523d5f602084013e610243565b606091505b509150915061025385838361027b565b95945050505050565b34156100785760405163b398979f60e01b815260040160405180910390fd5b6060826102905761028b826102da565b6102d3565b81511580156102a757506001600160a01b0384163b155b156102d057604051639996b31560e01b81526001600160a01b03851660048201526024016101a0565b50805b9392505050565b8051156102ea5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b5f5f85851115610311575f5ffd5b8386111561031d575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52604160045260245ffd5b5f5f6040838503121561034f575f5ffd5b82356001600160a01b0381168114610365575f5ffd5b9150602083013567ffffffffffffffff811115610380575f5ffd5b8301601f81018513610390575f5ffd5b803567ffffffffffffffff8111156103aa576103aa61032a565b604051601f8201601f19908116603f0116810167ffffffffffffffff811182821017156103d9576103d961032a565b6040528181528282016020018710156103f0575f5ffd5b816020840160208301375f602083830101528093505050509250929050565b5f82518060208501845e5f92019182525091905056fea164736f6c6343000823000a
| Type | Age | Block | Details |
|---|---|---|---|
| no cross-chain L1↔L2 transactions for this address | |||
| Txn Hash | Age | Event | Topics / Data |
|---|---|---|---|
| 0x570900…30a893 | 32 days agoWed, 15 Jul 2026 11:23:10 UTC | 0x2f8788…6f0d | [0] 0x76d92ef51f7d…6b2edb86 [1] 0x000000000000…f2a1b907 [2] 0x000000000000…a688ad40 |
| 0x2a803b…5e9e53 | 32 days agoWed, 15 Jul 2026 11:23:08 UTC | 0x9ae129…9ea5 | [0] 0x000000000000…7b13bc35 |
| 0xd88ce0…9cd294 | 32 days agoWed, 15 Jul 2026 11:23:03 UTC | 0xc7f505…81d2 | data: 0x000000000000000000…00000002 |
| 0xd88ce0…9cd294 | 32 days agoWed, 15 Jul 2026 11:23:03 UTC | 0xa8c7f0…83d1 | data: 0x000000000000000000…f2a1b907 |
| 0x8c28e8…472434 | 32 days agoWed, 15 Jul 2026 11:21:49 UTC | 0x7e644d…798f | data: 0x000000000000000000…136f1e2e |
| 0x8c28e8…472434 | 32 days agoWed, 15 Jul 2026 11:21:49 UTC | 0xc7f505…81d2 | data: 0x000000000000000000…00000001 |
| 0x8c28e8…472434 | 32 days agoWed, 15 Jul 2026 11:21:49 UTC | 0xab0117…0b3a | [0] 0x000000000000…a688ad40 [1] 0x000000000000…a688ad40 |
| 0x8c28e8…472434 | 32 days agoWed, 15 Jul 2026 11:21:49 UTC | 0x2f8788…6f0d | [0] 0x76d92ef51f7d…6b2edb86 [1] 0x000000000000…a688ad40 [2] 0x000000000000…a688ad40 |
| 0x8c28e8…472434 | 32 days agoWed, 15 Jul 2026 11:21:49 UTC | 0x2f8788…6f0d | [0] 0xc6cf55ef6ef7…36596676 [1] 0x000000000000…a688ad40 [2] 0x000000000000…a688ad40 |
| 0x8c28e8…472434 | 32 days agoWed, 15 Jul 2026 11:21:49 UTC | 0x2f8788…6f0d | [0] 0xeacefb4fbbb6…2beef39e [1] 0x000000000000…a688ad40 [2] 0x000000000000…a688ad40 |
| 0x8c28e8…472434 | 32 days agoWed, 15 Jul 2026 11:21:49 UTC | 0x2f8788…6f0d | [0] 0x000000000000…00000000 [1] 0x000000000000…a688ad40 [2] 0x000000000000…a688ad40 |
| 0x8c28e8…472434 | 32 days agoWed, 15 Jul 2026 11:21:49 UTC | 0xbc7cd7…2d3b | [0] 0x000000000000…c289ae90 |
| Transaction Hash | Method | Block | Age | From | To | Type | Item | ||
|---|---|---|---|---|---|---|---|---|---|
| no NFT transfers for this address yet | |||||||||
| Transaction Hash | Method | Block | Age | From | To | Amount | Token | ||
|---|---|---|---|---|---|---|---|---|---|
| no token transfers for this address yet | |||||||||
| Transaction Hash | Method ? | Block | Age | From | To | Amount | Txn Fee ? | ||
|---|---|---|---|---|---|---|---|---|---|
| 0xe1b86c…74ad15 | grantRole | 10,353,885 | 32 days agoWed, 15 Jul 2026 11:23:19 UTC | 0x5f37…ad40 | IN | ApexController | $0.000 ETH | 0.00000199 | |
| 0x25b210…cc1bae | grantRole | 10,353,862 | 32 days agoWed, 15 Jul 2026 11:23:17 UTC | 0x5f37…ad40 | IN | ApexController | $0.000 ETH | 0.00000198 | |
| 0x77eda0…c49c80 | grantRole | 10,353,838 | 32 days agoWed, 15 Jul 2026 11:23:15 UTC | 0x5f37…ad40 | IN | ApexController | $0.000 ETH | 0.00000195 | |
| 0x7ffd50…4d693b | grantRole | 10,353,815 | 32 days agoWed, 15 Jul 2026 11:23:12 UTC | 0x5f37…ad40 | IN | ApexController | $0.000 ETH | 0.00000183 | |
| 0x570900…30a893 | grantRole | 10,353,792 | 32 days agoWed, 15 Jul 2026 11:23:10 UTC | 0x5f37…ad40 | IN | ApexController | $0.000 ETH | 0.00000604 | |
| 0x2a803b…5e9e53 | setEmissionCenter | 10,353,769 | 32 days agoWed, 15 Jul 2026 11:23:08 UTC | 0x5f37…ad40 | IN | ApexController | $0.000 ETH | 0.00000311 | |
| 0xc8a713…1b2c6f | setLmPoolDeployer | 10,353,746 | 32 days agoWed, 15 Jul 2026 11:23:05 UTC | 0x5f37…ad40 | IN | ApexController | $0.000 ETH | 0.00000234 | |
| 0xd88ce0…9cd294 | initializeProtocol | 10,353,723 | 32 days agoWed, 15 Jul 2026 11:23:03 UTC | 0x5f37…ad40 | IN | ApexController | $0.000 ETH | 0.00001517 |
| Block | Age | Parent Transaction Hash | Type | Method | From | To | Value | |
|---|---|---|---|---|---|---|---|---|
| 10,352,971 | 32 days agoWed, 15 Jul 2026 11:21:49 UTC | 0x8c28e8…472434 | CREATE | 0x60a06040 | 0x87c8…e4e0 | OUT | 0x2d48…1e2e | 0 ETH |