// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.5.0) (proxy/transparent/TransparentUpgradeableProxy.sol)
pragma solidity ^0.8.22;
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 {
/// @dev See {UUPSUpgradeable-upgradeToAndCall}
function upgradeToAndCall(address newImplementation, bytes calldata data) 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. Relying on the value of the admin slot
* is generally fine if the implementation is trusted.
*
* 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 view 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": "FailedCall",
"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": "AccessControlBadConfirmation",
"type": "error",
"inputs": []
},
{
"name": "AccessControlUnauthorizedAccount",
"type": "error",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
},
{
"name": "neededRole",
"type": "bytes32",
"internalType": "bytes32"
}
]
},
{
"name": "AddToStakeNotYetMigrated",
"type": "error",
"inputs": []
},
{
"name": "ArrayLengthMismatch",
"type": "error",
"inputs": []
},
{
"name": "AutoRestakeAlreadyEnabled",
"type": "error",
"inputs": []
},
{
"name": "AutoRestakeNotEnabled",
"type": "error",
"inputs": []
},
{
"name": "AutoRestakeNotSupported",
"type": "error",
"inputs": []
},
{
"name": "CannotAddInUnstakeRequest",
"type": "error",
"inputs": []
},
{
"name": "CannotClaimInStakeMonth",
"type": "error",
"inputs": []
},
{
"name": "CliffNotPassed",
"type": "error",
"inputs": []
},
{
"name": "CliffTooLong",
"type": "error",
"inputs": []
},
{
"name": "CompounderAlreadyEnabled",
"type": "error",
"inputs": []
},
{
"name": "CoolingOffNotFinished",
"type": "error",
"inputs": []
},
{
"name": "EnforcedPause",
"type": "error",
"inputs": []
},
{
"name": "ExpectedPause",
"type": "error",
"inputs": []
},
{
"name": "InvalidFeePercent",
"type": "error",
"inputs": [
{
"name": "provided",
"type": "uint16",
"internalType": "uint16"
}
]
},
{
"name": "InvalidInitialization",
"type": "error",
"inputs": []
},
{
"name": "InvalidLockMonths",
"type": "error",
"inputs": [
{
"name": "provided",
"type": "uint16",
"internalType": "uint16"
}
]
},
{
"name": "InvalidPool",
"type": "error",
"inputs": []
},
{
"name": "MigrationPausedError",
"type": "error",
"inputs": []
},
{
"name": "MustClaimBeforeAutoRestake",
"type": "error",
"inputs": [
{
"name": "rewardToken",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "NoActiveStake",
"type": "error",
"inputs": []
},
{
"name": "NoRewardToClaim",
"type": "error",
"inputs": []
},
{
"name": "NoRewardToCompound",
"type": "error",
"inputs": []
},
{
"name": "NoUnstakeRequested",
"type": "error",
"inputs": []
},
{
"name": "NotInitializing",
"type": "error",
"inputs": []
},
{
"name": "NotYetEarning",
"type": "error",
"inputs": []
},
{
"name": "OwnableInvalidOwner",
"type": "error",
"inputs": [
{
"name": "owner",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "OwnableUnauthorizedAccount",
"type": "error",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "PoolAlreadyExists",
"type": "error",
"inputs": []
},
{
"name": "PoolNotMigrationEligible",
"type": "error",
"inputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "ReentrancyGuardReentrantCall",
"type": "error",
"inputs": []
},
{
"name": "RestakeCooldownNotFinished",
"type": "error",
"inputs": []
},
{
"name": "RewardTokensRequired",
"type": "error",
"inputs": []
},
{
"name": "SafeERC20FailedOperation",
"type": "error",
"inputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "StakeAlreadyActive",
"type": "error",
"inputs": []
},
{
"name": "StakeLockExpired",
"type": "error",
"inputs": []
},
{
"name": "StakeLockNotEnded",
"type": "error",
"inputs": []
},
{
"name": "SweepBatchTooLarge",
"type": "error",
"inputs": []
},
{
"name": "UnstakeAlreadyRequested",
"type": "error",
"inputs": []
},
{
"name": "ZeroAddress",
"type": "error",
"inputs": []
},
{
"name": "ZeroAmount",
"type": "error",
"inputs": []
},
{
"name": "AddedToStake",
"type": "event",
"inputs": [
{
"name": "user",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "stakingToken",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "addedAmount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "atMonthIndex",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "newTotalAmount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "AutoRestakeCommitted",
"type": "event",
"inputs": [
{
"name": "user",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "stakingToken",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "cyclesPassed",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "newStakeMonthIndex",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "AutoRestakeDisabled",
"type": "event",
"inputs": [
{
"name": "user",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "stakingToken",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
},
{
"name": "AutoRestakeEnabled",
"type": "event",
"inputs": [
{
"name": "user",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "stakingToken",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
},
{
"name": "Compounded",
"type": "event",
"inputs": [
{
"name": "user",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "stakingToken",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "atMonthIndex",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "newTotalAmount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "CompounderEnabled",
"type": "event",
"inputs": [
{
"name": "user",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "stakingToken",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
},
{
"name": "FeePercentUpdated",
"type": "event",
"inputs": [
{
"name": "oldFeePercent",
"type": "uint16",
"indexed": false,
"internalType": "uint16"
},
{
"name": "newFeePercent",
"type": "uint16",
"indexed": false,
"internalType": "uint16"
}
],
"anonymous": false
},
{
"name": "Initialized",
"type": "event",
"inputs": [
{
"name": "version",
"type": "uint64",
"indexed": false,
"internalType": "uint64"
}
],
"anonymous": false
},
{
"name": "MigrationPaused",
"type": "event",
"inputs": [],
"anonymous": false
},
{
"name": "MigrationUnpaused",
"type": "event",
"inputs": [],
"anonymous": false
},
{
"name": "OwnershipTransferred",
"type": "event",
"inputs": [
{
"name": "previousOwner",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "newOwner",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
},
{
"name": "Paused",
"type": "event",
"inputs": [
{
"name": "account",
"type": "address",
"indexed": false,
"internalType": "address"
}
],
"anonymous": false
},
{
"name": "RewardForfeited",
"type": "event",
"inputs": [
{
"name": "staker",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "stakingToken",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "rewardToken",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "fundingEventIndex",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "forfeitedAmount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "RewardFunded",
"type": "event",
"inputs": [
{
"name": "user",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "stakingToken",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "rewardToken",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "RewardFundedWithCliff",
"type": "event",
"inputs": [
{
"name": "funder",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "stakingToken",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "rewardToken",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "fundingEventIndex",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "amount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "cliffMonths",
"type": "uint8",
"indexed": false,
"internalType": "uint8"
},
{
"name": "distributionStartMonth",
"type": "uint32",
"indexed": false,
"internalType": "uint32"
}
],
"anonymous": false
},
{
"name": "RewardsClaimed",
"type": "event",
"inputs": [
{
"name": "user",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "stakingToken",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "rewardToken",
"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": "StakeMigrated",
"type": "event",
"inputs": [
{
"name": "user",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "stakingToken",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "oldStakeMonth",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "newFirstEarningMonth",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "newLastEarningMonth",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "Staked",
"type": "event",
"inputs": [
{
"name": "user",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "token",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "lockMonths",
"type": "uint16",
"indexed": true,
"internalType": "uint16"
},
{
"name": "amount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "autoRestake",
"type": "bool",
"indexed": false,
"internalType": "bool"
}
],
"anonymous": false
},
{
"name": "TreasuryUpdated",
"type": "event",
"inputs": [
{
"name": "oldTreasury",
"type": "address",
"indexed": false,
"internalType": "address"
},
{
"name": "newTreasury",
"type": "address",
"indexed": false,
"internalType": "address"
}
],
"anonymous": false
},
{
"name": "Unpaused",
"type": "event",
"inputs": [
{
"name": "account",
"type": "address",
"indexed": false,
"internalType": "address"
}
],
"anonymous": false
},
{
"name": "UnstakeRequested",
"type": "event",
"inputs": [
{
"name": "user",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "token",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "lockMonths",
"type": "uint16",
"indexed": true,
"internalType": "uint16"
},
{
"name": "timestamp",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "Unstaked",
"type": "event",
"inputs": [
{
"name": "user",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "token",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "lockMonths",
"type": "uint16",
"indexed": true,
"internalType": "uint16"
},
{
"name": "amount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "penaltyBurned",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "penaltyTreasury",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "DEAD_ADDRESS",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "DEFAULT_ADMIN_ROLE",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"stateMutability": "view"
},
{
"name": "EMERGENCY_PRINCIPAL_TAX_PERCENT",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint16",
"internalType": "uint16"
}
],
"stateMutability": "view"
},
{
"name": "FEE_SETTER_ROLE",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"stateMutability": "view"
},
{
"name": "KEEPER_ROLE",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"stateMutability": "view"
},
{
"name": "LOCK_MONTHS",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint16",
"internalType": "uint16"
}
],
"stateMutability": "view"
},
{
"name": "MAX_SWEEP",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "MIGRATION_POOL_FADED",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "MIGRATION_POOL_GSTAR",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "MIGRATION_POOL_JESSE",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "POOL_CREATOR_ROLE",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"stateMutability": "view"
},
{
"name": "PRINCIPAL_TAX_PERCENT",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint16",
"internalType": "uint16"
}
],
"stateMutability": "view"
},
{
"name": "RESTAKE_COOLDOWN",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "REWARD_DISTRIBUTION_MONTHS",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint16",
"internalType": "uint16"
}
],
"stateMutability": "view"
},
{
"name": "TREASURY_SETTER_ROLE",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"stateMutability": "view"
},
{
"name": "UNSTAKE_COOLING_OFF",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "VERSION",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "accruedReward",
"type": "function",
"inputs": [
{
"name": "user",
"type": "address",
"internalType": "address"
},
{
"name": "stakingToken",
"type": "address",
"internalType": "address"
},
{
"name": "rewardToken",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "addToStake",
"type": "function",
"inputs": [
{
"name": "stakingToken",
"type": "address",
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "autoRestake",
"type": "function",
"inputs": [
{
"name": "user",
"type": "address",
"internalType": "address"
},
{
"name": "stakingToken",
"type": "address",
"internalType": "address"
},
{
"name": "rewardTokens",
"type": "address[]",
"internalType": "address[]"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "autoRestakeMany",
"type": "function",
"inputs": [
{
"name": "users",
"type": "address[]",
"internalType": "address[]"
},
{
"name": "stakingToken",
"type": "address",
"internalType": "address"
},
{
"name": "rewardTokens",
"type": "address[]",
"internalType": "address[]"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "claimReward",
"type": "function",
"inputs": [
{
"name": "stakingToken",
"type": "address",
"internalType": "address"
},
{
"name": "rewardToken",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "claimedAmounts",
"type": "function",
"inputs": [
{
"name": "",
"type": "address",
"internalType": "address"
},
{
"name": "",
"type": "address",
"internalType": "address"
},
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "compoundPosition",
"type": "function",
"inputs": [
{
"name": "stakingToken",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "createPool",
"type": "function",
"inputs": [
{
"name": "stakingToken",
"type": "address",
"internalType": "address"
},
{
"name": "cliffMonths",
"type": "uint16",
"internalType": "uint16"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "emergencyExit",
"type": "function",
"inputs": [
{
"name": "stakingToken",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "feePercent",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint16",
"internalType": "uint16"
}
],
"stateMutability": "view"
},
{
"name": "finalizeUnstake",
"type": "function",
"inputs": [
{
"name": "stakingToken",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "fundRewardPool",
"type": "function",
"inputs": [
{
"name": "stakingToken",
"type": "address",
"internalType": "address"
},
{
"name": "rewardToken",
"type": "address",
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "cliffMonths",
"type": "uint8",
"internalType": "uint8"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "fundingEvents",
"type": "function",
"inputs": [
{
"name": "",
"type": "address",
"internalType": "address"
},
{
"name": "",
"type": "address",
"internalType": "address"
},
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "cliffMonths",
"type": "uint8",
"internalType": "uint8"
},
{
"name": "fundedAtMonth",
"type": "uint32",
"internalType": "uint32"
},
{
"name": "distributionStartMonth",
"type": "uint32",
"internalType": "uint32"
},
{
"name": "funder",
"type": "address",
"internalType": "address"
},
{
"name": "amount",
"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": "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": "_treasury",
"type": "address",
"internalType": "address"
},
{
"name": "_owner",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "initializeV2",
"type": "function",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "initializeV3",
"type": "function",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "initializeV4",
"type": "function",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "isRewardTokenForPool",
"type": "function",
"inputs": [
{
"name": "stakingToken",
"type": "address",
"internalType": "address"
},
{
"name": "rewardToken",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"name": "lastClaimTimestamp",
"type": "function",
"inputs": [
{
"name": "",
"type": "address",
"internalType": "address"
},
{
"name": "",
"type": "address",
"internalType": "address"
},
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "lastMonthIndex",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "lastSweepMonth",
"type": "function",
"inputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint32",
"internalType": "uint32"
}
],
"stateMutability": "view"
},
{
"name": "migrateStakes",
"type": "function",
"inputs": [
{
"name": "users",
"type": "address[]",
"internalType": "address[]"
},
{
"name": "stakingTokens",
"type": "address[]",
"internalType": "address[]"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "migrationPaused",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"name": "owner",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "pause",
"type": "function",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "pauseForMigration",
"type": "function",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "paused",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"name": "poolRewardTokens",
"type": "function",
"inputs": [
{
"name": "",
"type": "address",
"internalType": "address"
},
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "pools",
"type": "function",
"inputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "active",
"type": "bool",
"internalType": "bool"
},
{
"name": "cliffMonths",
"type": "uint32",
"internalType": "uint32"
},
{
"name": "totalStaked",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "renounceOwnership",
"type": "function",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "renounceRole",
"type": "function",
"inputs": [
{
"name": "role",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "callerConfirmation",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "requestUnstake",
"type": "function",
"inputs": [
{
"name": "stakingToken",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "revokeRole",
"type": "function",
"inputs": [
{
"name": "role",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "account",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "rewardPoolBalances",
"type": "function",
"inputs": [
{
"name": "",
"type": "address",
"internalType": "address"
},
{
"name": "",
"type": "address",
"internalType": "address"
},
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "setAutoRestakeForPosition",
"type": "function",
"inputs": [
{
"name": "stakingToken",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "setCompounderForPosition",
"type": "function",
"inputs": [
{
"name": "stakingToken",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "setFeePercent",
"type": "function",
"inputs": [
{
"name": "newFeePercent",
"type": "uint16",
"internalType": "uint16"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "setTreasury",
"type": "function",
"inputs": [
{
"name": "_treasury",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "stake",
"type": "function",
"inputs": [
{
"name": "stakingToken",
"type": "address",
"internalType": "address"
},
{
"name": "lockMonths",
"type": "uint16",
"internalType": "uint16"
},
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "autoRestakeOptIn",
"type": "bool",
"internalType": "bool"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "stakes",
"type": "function",
"inputs": [
{
"name": "",
"type": "address",
"internalType": "address"
},
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "autoRestake",
"type": "bool",
"internalType": "bool"
},
{
"name": "lockMonths",
"type": "uint16",
"internalType": "uint16"
},
{
"name": "lockDuration",
"type": "uint32",
"internalType": "uint32"
},
{
"name": "stakeTime",
"type": "uint32",
"internalType": "uint32"
},
{
"name": "unstakeRequestTime",
"type": "uint32",
"internalType": "uint32"
},
{
"name": "unstakeTime",
"type": "uint32",
"internalType": "uint32"
},
{
"name": "stakeMonthIndex",
"type": "uint32",
"internalType": "uint32"
},
{
"name": "compounderEnabled",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"name": "supportsInterface",
"type": "function",
"inputs": [
{
"name": "interfaceId",
"type": "bytes4",
"internalType": "bytes4"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"name": "sweepCompounders",
"type": "function",
"inputs": [
{
"name": "users",
"type": "address[]",
"internalType": "address[]"
},
{
"name": "stakingToken",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "totalSharesAuto",
"type": "function",
"inputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "totalSharesPerMonth",
"type": "function",
"inputs": [
{
"name": "",
"type": "address",
"internalType": "address"
},
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "transferOwnership",
"type": "function",
"inputs": [
{
"name": "newOwner",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "treasury",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "unpause",
"type": "function",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "unpauseForMigration",
"type": "function",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "userShareForMonth",
"type": "function",
"inputs": [
{
"name": "",
"type": "address",
"internalType": "address"
},
{
"name": "",
"type": "address",
"internalType": "address"
},
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
}
]0x60a0604052610a69803803806100148161024a565b92833981016060828203126102465761002c8261026f565b906100396020840161026f565b604084015190936001600160401b038211610246570181601f82011215610246578051906001600160401b0382116101fa5761007e601f8301601f191660200161024a565b928284526020838301011161024657815f9260208093018386015e83010152813b15610225577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0384169081179091557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a280511561020e5761011591610283565b505b604051906104408083016001600160401b038111848210176101fa57602092849261060984396001600160a01b031681520301905ff080156101ef5760018060a01b0316806080525f516020610a495f395f51905f52547f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6040805160018060a01b0384168152846020820152a181156101dc576001600160a01b031916175f516020610a495f395f51905f52556040516102f9908161031082396080518160070152f35b633173bdd160e11b5f525f60045260245ffd5b6040513d5f823e3d90fd5b634e487b7160e01b5f52604160045260245ffd5b505034156101175763b398979f60e01b5f5260045ffd5b50634c9c8ce360e01b5f9081526001600160a01b0391909116600452602490fd5b5f80fd5b6040519190601f01601f191682016001600160401b038111838210176101fa57604052565b51906001600160a01b038216820361024657565b905f8091602081519101845af480806102fc575b156102b75750506040513d81523d5f602083013e60203d82010160405290565b156102dc57639996b31560e01b5f9081526001600160a01b0391909116600452602490fd5b3d156102ed576040513d5f823e3d90fd5b63d6bda27560e01b5f5260045ffd5b503d1515806102975750813b151561029756fe6080604052337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031603610066575f356001600160e01b03191663278f794360e11b1461005c576334ad5dbb60e21b5f5260045ffd5b6100646100c3565b005b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545f9081906001600160a01b0316368280378136915af43d5f803e156100ab573d5ff35b3d5ffd5b634e487b7160e01b5f52604160045260245ffd5b36600411610173576040366003190112610173576004356001600160a01b03811690819003610173576024359067ffffffffffffffff821161017357366023830112156101735781600401359067ffffffffffffffff82116101775760405191601f8101601f19908116603f0116830167ffffffffffffffff811184821017610177576040528083523660248286010111610173576020815f9260246101719701838701378401015261017c565b565b5f80fd5b6100af565b90813b15610210577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0384169081179091557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a28051156101f8576101f591610231565b50565b50503461020157565b63b398979f60e01b5f5260045ffd5b50634c9c8ce360e01b5f9081526001600160a01b0391909116600452602490fd5b905f8091602081519101845af48080610297575b156102575750506102546102aa565b90565b1561027757639996b31560e01b5f526001600160a01b031660045260245ffd5b3d15610288576040513d5f823e3d90fd5b63d6bda27560e01b5f5260045ffd5b503d1515806102455750813b1515610245565b604051903d82523d5f602084013e60203d83010160405256fea26469706673582212209108b11e9c8949db6b05a0413f482ca92949d76b7eefd0b212a64b7274c86d1b64736f6c634300081c003360803460b857601f61044038819003918201601f19168301916001600160401b0383118484101760bc5780849260209460405283398101031260b857516001600160a01b0381169081900360b857801560a5575f80546001600160a01b031981168317825560405192916001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a361036f90816100d18239f35b631e4fbdf760e01b5f525f60045260245ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60806040526004361015610011575f80fd5b5f5f3560e01c8063715018a6146102765780638da5cb5b1461024f5780639623609d1461012c578063ad3cb1cc146100df5763f2fde38b14610051575f80fd5b346100dc5760203660031901126100dc576004356001600160a01b038116908190036100da5761007f610313565b80156100c65781546001600160a01b03198116821783556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b631e4fbdf760e01b82526004829052602482fd5b505b80fd5b50346100dc57806003193601126100dc57506101286040516101026040826102cd565b60058152640352e302e360dc1b60208201526040519182916020835260208301906102ef565b0390f35b506060366003190112610237576004356001600160a01b03811690819003610237576024356001600160a01b038116908190036102375760443567ffffffffffffffff8111610237573660238201121561023757806004013567ffffffffffffffff811161023b57604051916101ac601f8301601f1916602001846102cd565b818352366024838301011161023757815f9260246020930183860137830101526101d4610313565b823b156102375761020a925f9260405180958194829363278f794360e11b845260048401526040602484015260448301906102ef565b039134905af1801561022c5761021e575080f35b61022a91505f906102cd565b005b6040513d5f823e3d90fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b34610237575f366003190112610237575f546040516001600160a01b039091168152602090f35b34610237575f3660031901126102375761028e610313565b5f80546001600160a01b0319811682556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b90601f8019910116810190811067ffffffffffffffff82111761023b57604052565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b5f546001600160a01b0316330361032657565b63118cdaa760e01b5f523360045260245ffdfea2646970667358221220da634e8c4f71e4b1c5f8d3593ff12ac4b81c6ca90dd7a1a72b8003a014f4439164736f6c634300081c0033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103000000000000000000000000b43e88d96c1c99c7949a32b4996b84181126176d0000000000000000000000009eba2ecd3c07f0d693105a112ae3404f5513747a00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044485cc955000000000000000000000000aa850ccf9b22edcb50752d08d1bec6be6262bcbb0000000000000000000000009eba2ecd3c07f0d693105a112ae3404f5513747a00000000000000000000000000000000000000000000000000000000
0x6080604052337f00000000000000000000000013f499767408a9fba1bd54e097e57df245e0e24a6001600160a01b031603610066575f356001600160e01b03191663278f794360e11b1461005c576334ad5dbb60e21b5f5260045ffd5b6100646100c3565b005b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545f9081906001600160a01b0316368280378136915af43d5f803e156100ab573d5ff35b3d5ffd5b634e487b7160e01b5f52604160045260245ffd5b36600411610173576040366003190112610173576004356001600160a01b03811690819003610173576024359067ffffffffffffffff821161017357366023830112156101735781600401359067ffffffffffffffff82116101775760405191601f8101601f19908116603f0116830167ffffffffffffffff811184821017610177576040528083523660248286010111610173576020815f9260246101719701838701378401015261017c565b565b5f80fd5b6100af565b90813b15610210577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0384169081179091557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a28051156101f8576101f591610231565b50565b50503461020157565b63b398979f60e01b5f5260045ffd5b50634c9c8ce360e01b5f9081526001600160a01b0391909116600452602490fd5b905f8091602081519101845af48080610297575b156102575750506102546102aa565b90565b1561027757639996b31560e01b5f526001600160a01b031660045260245ffd5b3d15610288576040513d5f823e3d90fd5b63d6bda27560e01b5f5260045ffd5b503d1515806102455750813b1515610245565b604051903d82523d5f602084013e60203d83010160405256fea26469706673582212209108b11e9c8949db6b05a0413f482ca92949d76b7eefd0b212a64b7274c86d1b64736f6c634300081c0033
| Token | Symbol | Balance | Price | Value |
|---|---|---|---|---|
| LNOC | 3,674,962.872869 | $0.00126 | $4,617.91 | |
Global Dollar (USDG) | USDG | 20.602101 | $1 | $20.67 |
| DIH | 2.9 | $0.0000102 | $0 | |
| RH Vault TEST (tTEST) | tTEST | 101 | — | — |
| The Juggernauts (JUGGERNAUT) | JUGGERNAUT | 15 | — | — |
| Bycocket (BYCOCKET) | BYCOCKET | 14 | — | — |
| PRINTER (PRINTER) | PRINTER | 5 | — | — |
| Type | Age | Block | Details |
|---|---|---|---|
| no cross-chain L1↔L2 transactions for this address | |||
| Transaction Hash | Method | Block | Age | From | To | Type | Item | ||
|---|---|---|---|---|---|---|---|---|---|
| no NFT transfers for this address yet | |||||||||
| Txn Hash | Age | Event | Topics / Data |
|---|---|---|---|
| 0xaa9107…807781 | 20 hrs agoMon, 17 Aug 2026 01:13:06 UTC | 0x2681ea…ba32 | [0] 0x000000000000…74678d3b [1] 0x000000000000…9316a991 [2] 0x000000000000…00000006 data: 0x000000000000000000…00000000 |
| 0x363390…7eccc3 | 1 day agoSun, 16 Aug 2026 14:57:21 UTC | 0x74e060…ee13 | [0] 0x000000000000…b80010c6 [1] 0x000000000000…9316a991 [2] 0x000000000000…16f1d168 data: 0x000000000000000000…000002a8 |
| 0xf33952…e5a2e4 | 1 day agoSun, 16 Aug 2026 09:45:00 UTC | 0x2681ea…ba32 | [0] 0x000000000000…e8c5578f [1] 0x000000000000…9316a991 [2] 0x000000000000…00000006 data: 0x000000000000000000…00000000 |
| 0x59f1d1…907ad8 | 1 day agoSun, 16 Aug 2026 09:42:33 UTC | 0x2681ea…ba32 | [0] 0x000000000000…c21fbfda [1] 0x000000000000…9316a991 [2] 0x000000000000…00000006 data: 0x000000000000000000…00000000 |
| 0x1236f6…2f73f6 | 1 day agoSun, 16 Aug 2026 09:29:34 UTC | 0x2681ea…ba32 | [0] 0x000000000000…09eec670 [1] 0x000000000000…9316a991 [2] 0x000000000000…00000006 data: 0x000000000000000000…00000000 |
| 0x1831db…0c6aa1 | 1 day agoSun, 16 Aug 2026 06:34:36 UTC | 0x2681ea…ba32 | [0] 0x000000000000…65cbbe30 [1] 0x000000000000…9316a991 [2] 0x000000000000…00000006 data: 0x000000000000000000…00000000 |
| 0xf053a3…d89683 | 1 day agoSun, 16 Aug 2026 02:35:19 UTC | 0x2681ea…ba32 | [0] 0x000000000000…0175d259 [1] 0x000000000000…9316a991 [2] 0x000000000000…00000006 data: 0x000000000000000000…00000000 |
| 0xfdee28…2d79b9 | 1 day agoSun, 16 Aug 2026 00:39:34 UTC | 0x2681ea…ba32 | [0] 0x000000000000…0ffdae4a [1] 0x000000000000…9316a991 [2] 0x000000000000…00000006 data: 0x000000000000000000…00000000 |
| 0x7aa19e…8baf64 | 1 day agoSun, 16 Aug 2026 00:32:53 UTC | 0x74e060…ee13 | [0] 0x000000000000…7035f230 [1] 0x000000000000…9316a991 [2] 0x000000000000…9316a991 data: 0x000000000000000000…000002a8 |
| 0x6b0323…8bc004 | 1 day agoSun, 16 Aug 2026 00:15:20 UTC | 0x2681ea…ba32 | [0] 0x000000000000…e3355701 [1] 0x000000000000…9316a991 [2] 0x000000000000…00000006 data: 0x000000000000000000…00000000 |
| 0xcf8a32…b96045 | 1 day agoSat, 15 Aug 2026 23:29:24 UTC | 0x2681ea…ba32 | [0] 0x000000000000…469f90d3 [1] 0x000000000000…9316a991 [2] 0x000000000000…00000006 data: 0x000000000000000000…00000000 |
| 0x0ca7bb…aab701 | 1 day agoSat, 15 Aug 2026 22:54:55 UTC | 0x2681ea…ba32 | [0] 0x000000000000…7927b03b [1] 0x000000000000…9316a991 [2] 0x000000000000…00000006 data: 0x000000000000000000…00000000 |
| 0xdab6d4…3b1968 | 3 days agoFri, 14 Aug 2026 08:06:03 UTC | 0x74e060…ee13 | [0] 0x000000000000…b17f62dd [1] 0x000000000000…a87118b0 [2] 0x000000000000…9c119c74 data: 0x000000000000000000…000002a8 |
| 0x121c75…d6a7b4 | 13 days agoTue, 04 Aug 2026 01:17:42 UTC | 0x2681ea…ba32 | [0] 0x000000000000…b17f62dd [1] 0x000000000000…a87118b0 [2] 0x000000000000…00000006 data: 0x000000000000000000…00000000 |
| 0x40d9aa…11ee12 | 28 days agoMon, 20 Jul 2026 10:58:06 UTC | 0x2681ea…ba32 | [0] 0x000000000000…5513747a [1] 0x000000000000…a87118b0 [2] 0x000000000000…00000006 data: 0x000000000000000000…00000000 |
| 0xef517e…bd77a0 | 28 days agoMon, 20 Jul 2026 10:55:18 UTC | 0x74e060…ee13 | [0] 0x000000000000…5513747a [1] 0x000000000000…a87118b0 [2] 0x000000000000…16f1d168 data: 0x000000000000000000…000002a7 |
| 0x34b6ad…09924b | 29 days agoSun, 19 Jul 2026 10:51:05 UTC | 0x2f8788…6f0d | [0] 0x4066b03ab177…de6cfe52 [1] 0x000000000000…48d4e2f5 [2] 0x000000000000…5513747a |
| 0x39efc9…bd8ed7 | 29 days agoSun, 19 Jul 2026 10:48:43 UTC | 0x7e644d…798f | data: 0x000000000000000000…45e0e24a |
| 0x39efc9…bd8ed7 | 29 days agoSun, 19 Jul 2026 10:48:43 UTC | 0xc7f505…81d2 | data: 0x000000000000000000…00000001 |
| 0x39efc9…bd8ed7 | 29 days agoSun, 19 Jul 2026 10:48:43 UTC | 0x2f8788…6f0d | [0] 0x4066b03ab177…de6cfe52 [1] 0x000000000000…5513747a [2] 0x000000000000…5513747a |
| 0x39efc9…bd8ed7 | 29 days agoSun, 19 Jul 2026 10:48:43 UTC | 0x2f8788…6f0d | [0] 0xe6ad9a47fbda…88182060 [1] 0x000000000000…5513747a [2] 0x000000000000…5513747a |
| 0x39efc9…bd8ed7 | 29 days agoSun, 19 Jul 2026 10:48:43 UTC | 0x2f8788…6f0d | [0] 0x63cf56a80783…c83055c3 [1] 0x000000000000…5513747a [2] 0x000000000000…5513747a |
| 0x39efc9…bd8ed7 | 29 days agoSun, 19 Jul 2026 10:48:43 UTC | 0x2f8788…6f0d | [0] 0x000000000000…00000000 [1] 0x000000000000…5513747a [2] 0x000000000000…5513747a |
| 0x39efc9…bd8ed7 | 29 days agoSun, 19 Jul 2026 10:48:43 UTC | 0x8be007…57e0 | [0] 0x000000000000…00000000 [1] 0x000000000000…5513747a |
| 0x39efc9…bd8ed7 | 29 days agoSun, 19 Jul 2026 10:48:43 UTC | 0xbc7cd7…2d3b | [0] 0x000000000000…1126176d |
| Transaction Hash | Method ? | Block | Age | From | To | Amount | Txn Fee ? | ||
|---|---|---|---|---|---|---|---|---|---|
| 0xaa9107…807781 | stake | 38,432,978 | 20 hrs agoMon, 17 Aug 2026 01:13:06 UTC | 0xa831…8d3b | IN | StakingVault | $0.000 ETH | 0.00000638 | |
| 0x363390…7eccc3 | fundRewardPool | 38,064,706 | 1 day agoSun, 16 Aug 2026 14:57:21 UTC | 0x47b5…10c6 | IN | StakingVault | $0.000 ETH | 0.00001494 | |
| 0xf33952…e5a2e4 | stake | 37,878,091 | 1 day agoSun, 16 Aug 2026 09:45:00 UTC | 0x7f06…578f | IN | StakingVault | $0.000 ETH | 0.00000710 | |
| 0x59f1d1…907ad8 | stake | 37,876,631 | 1 day agoSun, 16 Aug 2026 09:42:33 UTC | 0x84b0…bfda | IN | StakingVault | $0.000 ETH | 0.00000727 | |
| 0x1236f6…2f73f6 | stake | 37,868,866 | 1 day agoSun, 16 Aug 2026 09:29:34 UTC | 0x43dc…c670 | IN | StakingVault | $0.000 ETH | 0.00000713 | |
| 0x1831db…0c6aa1 | stake | 37,764,405 | 1 day agoSun, 16 Aug 2026 06:34:36 UTC | 0x591c…be30 | IN | StakingVault | $0.000 ETH | 0.00000779 | |
| 0xf053a3…d89683 | stake | 37,621,389 | 1 day agoSun, 16 Aug 2026 02:35:19 UTC | 0xf31b…d259 | IN | StakingVault | $0.000 ETH | 0.00000854 | |
| 0xfdee28…2d79b9 | stake | 37,552,147 | 1 day agoSun, 16 Aug 2026 00:39:34 UTC | 0x83f1…ae4a | IN | StakingVault | $0.000 ETH | 0.00000880 | |
| 0x7aa19e…8baf64 | fundRewardPool | 37,548,150 | 1 day agoSun, 16 Aug 2026 00:32:53 UTC | 0x755d…f230 | IN | StakingVault | $0.000 ETH | 0.00002099 | |
| 0x6b0323…8bc004 | stake | 37,537,662 | 1 day agoSun, 16 Aug 2026 00:15:20 UTC | 0x23cb…5701 | IN | StakingVault | $0.000 ETH | 0.00000877 | |
| 0xcf8a32…b96045 | stake | 37,510,191 | 1 day agoSat, 15 Aug 2026 23:29:24 UTC | 0xacbc…90d3 | IN | StakingVault | $0.000 ETH | 0.00000895 | |
| 0xdab6d4…3b1968 | fundRewardPool | 36,095,710 | 3 days agoFri, 14 Aug 2026 08:06:03 UTC | 0x90d3…62dd | IN | StakingVault | $0.000 ETH | 0.00003088 | |
| 0x9c9b60…76f007 | createPool | 35,977,717 | 3 days agoFri, 14 Aug 2026 04:49:07 UTC | 0xf90c…e2f5 | IN | StakingVault | $0.000 ETH | 0.00000220 | |
| 0x121c75…d6a7b4 | stake | 27,222,978 | 13 days agoTue, 04 Aug 2026 01:17:42 UTC | 0x90d3…62dd | IN | StakingVault | $0.000 ETH | 0.00000652 | |
| 0x40d9aa…11ee12 | stake | 14,647,122 | 28 days agoMon, 20 Jul 2026 10:58:06 UTC | 0x9eba…747a | IN | StakingVault | $0.000 ETH | 0.00002284 | |
| 0xef517e…bd77a0 | fundRewardPool | 14,645,443 | 28 days agoMon, 20 Jul 2026 10:55:18 UTC | 0x9eba…747a | IN | StakingVault | $0.000 ETH | 0.00004044 | |
| 0xfc0b42…f7a894 | createPool | 14,643,350 | 28 days agoMon, 20 Jul 2026 10:51:47 UTC | 0x9eba…747a | IN | StakingVault | $0.000 ETH | 0.00000262 | |
| 0x34b6ad…09924b | grantRole | 13,782,473 | 29 days agoSun, 19 Jul 2026 10:51:05 UTC | 0x9eba…747a | IN | StakingVault | $0.000 ETH | 0.00000318 |
| Transaction Hash | Method | Block | Age | From | To | Amount | Token | ||
|---|---|---|---|---|---|---|---|---|---|
| 0xaa91079a…807781 | Transfer | 38,432,978 | 20 hrs agoMon, 17 Aug 2026 01:13:06 UTC | 0xa831…8d3b | IN | 0x541e…3edb | $NaN220,939.952577 LNOC | ||
| 0xac32b923…b13af2 | Transfer | 38,307,180 | 23 hrs agoSun, 16 Aug 2026 21:42:43 UTC | 0x2757…221a | IN | 0x541e…3edb | 5 PRINTER | PRINTER (PRINTER) | |
| 0x77e7d4c2…c6f3e3 | Transfer | 38,099,002 | 1 day agoSun, 16 Aug 2026 15:54:42 UTC | 0xb545…cc2c | IN | 0x541e…3edb | 14 BYCOCKET | Bycocket (BYCOCKET) | |
| 0xf9caf46f…069371 | Transfer | 38,089,592 | 1 day agoSun, 16 Aug 2026 15:38:57 UTC | 0xb545…cc2c | IN | 0x541e…3edb | 15 JUGGERNAUT | The Juggernauts (JUGGERNAUT) | |
| 0x3633901e…7eccc3 | Transfer | 38,064,706 | 1 day agoSun, 16 Aug 2026 14:57:21 UTC | 0x47b5…10c6 | IN | 0x541e…3edb | $17.9017.847101 USDG | Global Dollar (USDG) | |
| 0xf3395204…e5a2e4 | Transfer | 37,878,091 | 1 day agoSun, 16 Aug 2026 09:45:00 UTC | 0x7f06…578f | IN | 0x541e…3edb | $NaN199,999.999999 LNOC | ||
| 0x59f1d1b7…907ad8 | Transfer | 37,876,631 | 1 day agoSun, 16 Aug 2026 09:42:33 UTC | 0x84b0…bfda | IN | 0x541e…3edb | $NaN300,000.000000 LNOC | ||
| 0x1236f658…2f73f6 | Transfer | 37,868,866 | 1 day agoSun, 16 Aug 2026 09:29:34 UTC | 0x43dc…c670 | IN | 0x541e…3edb | $NaN24,120.136266 LNOC | ||
| 0x1831db7c…0c6aa1 | Transfer | 37,764,405 | 1 day agoSun, 16 Aug 2026 06:34:36 UTC | 0x591c…be30 | IN | 0x541e…3edb | $NaN44,751.000000 LNOC | ||
| 0xf053a301…d89683 | Transfer | 37,621,389 | 1 day agoSun, 16 Aug 2026 02:35:19 UTC | 0xf31b…d259 | IN | 0x541e…3edb | $NaN388,125.000000 LNOC | ||
| 0xfdee2852…2d79b9 | Transfer | 37,552,147 | 1 day agoSun, 16 Aug 2026 00:39:34 UTC | 0x83f1…ae4a | IN | 0x541e…3edb | $NaN150,000.000000 LNOC | ||
| 0x7aa19ebe…8baf64 | Transfer | 37,548,150 | 1 day agoSun, 16 Aug 2026 00:32:53 UTC | 0x755d…f230 | IN | 0x541e…3edb | $NaN2,027,085.539992 LNOC | ||
| 0x6b0323bb…8bc004 | Transfer | 37,537,662 | 1 day agoSun, 16 Aug 2026 00:15:20 UTC | 0x23cb…5701 | IN | 0x541e…3edb | $NaN5,054.133270 LNOC | ||
| 0xcf8a32ca…b96045 | Transfer | 37,510,191 | 1 day agoSat, 15 Aug 2026 23:29:24 UTC | 0xacbc…90d3 | IN | 0x541e…3edb | $NaN249,999.999999 LNOC | ||
| 0x0ca7bb57…aab701 | Transfer | 37,489,552 | 1 day agoSat, 15 Aug 2026 22:54:55 UTC | 0x90f1…b03b | IN | 0x541e…3edb | $NaN2,401.245981 LNOC | ||
| 0xdab6d4eb…3b1968 | Transfer | 36,095,710 | 3 days agoFri, 14 Aug 2026 08:06:03 UTC | 0x90d3…62dd | IN | 0x541e…3edb | $0.001.9 DIH | ||
| 0x121c7502…d6a7b4 | Transfer | 27,222,978 | 13 days agoTue, 04 Aug 2026 01:17:42 UTC | 0x90d3…62dd | IN | 0x541e…3edb | 1 tTEST | RH Vault TEST (tTEST) | |
| 0x30248e6e…9ba05c | Transfer | 18,474,616 | 24 days agoFri, 24 Jul 2026 21:32:29 UTC | 0xcaf7…5d11 | IN | 0x541e…3edb | $0.001 DIH | ||
| 0x40d9aa4a…11ee12 | Transfer | 14,647,122 | 28 days agoMon, 20 Jul 2026 10:58:06 UTC | 0x9eba…747a | IN | 0x541e…3edb | 100 tTEST | RH Vault TEST (tTEST) | |
| 0xef517ef2…bd77a0 | Transfer | 14,645,443 | 28 days agoMon, 20 Jul 2026 10:55:18 UTC | 0x9eba…747a | IN | 0x541e…3edb | $2.762.755 USDG | Global Dollar (USDG) |
| Block | Age | Parent Transaction Hash | Type | Method | From | To | Value | |
|---|---|---|---|---|---|---|---|---|
| 13,781,057 | 29 days agoSun, 19 Jul 2026 10:48:43 UTC | 0x39efc9…bd8ed7 | CREATE | 0x60a06040 | 0x541e…3edb | OUT | 0x13f4…e24a | 0 ETH |