// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";
import {ReentrancyGuard} from "@openzeppelin/contracts/utils/ReentrancyGuard.sol";
import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
import {IUniswapV3Factory, IUniswapV3Pool, IWETH9} from "./interfaces/IUniswapV3.sol";
import {TickMath} from "./libraries/TickMath.sol";
interface IV3PoolOracle {
function fee() external view returns (uint24);
function observe(uint32[] calldata secondsAgos)
external
view
returns (int56[] memory tickCumulatives, uint160[] memory secondsPerLiquidityCumulativeX128s);
}
interface ILaunchpadPools {
function poolOf(address token) external view returns (address);
}
/// @notice Protocol-fee sink that converts everything it receives into the
/// burn token and destroys it. Intended as one of the FeeRouter recipients and
/// as the WETH launch-fee recipient:
/// - WETH pair-fee shares arrive as WETH ERC20 transfers
/// - launch fees arrive wrapped as WETH ERC20 transfers
/// - launched-token fee shares arrive as plain ERC20 transfers
/// `sweep`/`sweepToken` (token -> WETH) and `burn` (wrap any accidentally sent
/// native asset, then WETH -> burn token -> dead address) process the inventory.
///
/// Design constraints inherited from the fee path:
/// - `receive()` accepts accidental or legacy native transfers so they can
/// be wrapped and included in the next burn.
/// - Permissionless sweeps resolve the pool from the launchpad factory's
/// `poolOf` mapping — callers can never steer a swap into a pool of their
/// choosing (a second factory-created pool for the same pair at another
/// fee tier, initialized at a hostile price, would otherwise let them
/// drain the inventory). The owner has `sweepTokenVia` as an explicit
/// escape hatch for tokens without an official pool.
/// - Untrusted swaps are priced against a COMMIT-DELAY-EXECUTE forward
/// TWAP, not the pool oracle ring: V3 only writes ring observations when
/// a swap crosses a tick and pools default to a single slot, so
/// ring-based TWAPs are unreliable here. Instead, anyone may
/// `recordAnchor(pool)`, storing the pool's live `tickCumulative`
/// (observe([0]), which never depends on ring capacity); the anchor
/// becomes usable after `anchorDelay` and expires at `anchorValidity`.
/// Execution prices against the TRUE average tick over the elapsed
/// period — (cumulativeNow - cumulativeRecorded) / elapsed. Because the
/// cumulative is a time integral, an atomic manipulate-record-unwind (or
/// manipulate-execute-unwind) contributes ~zero weight to it: biasing the
/// average requires HOLDING a hostile price for a meaningful fraction of
/// the window, exposed to arbitrage the whole time. There is deliberately
/// NO spot path for untrusted callers; owner-initiated swaps price off
/// spot directly (the owner chooses its own timing).
/// - The anchor tick is shifted at most `maxTickDrift` in the swap
/// direction, so a thin or manipulated pool produces a PARTIAL fill
/// instead of a revert or a bad execution; the remainder waits.
/// - `sweep` isolates each token in a self-call so one bad entry (fee-on-
/// transfer donation, missing pool, drained liquidity) cannot brick the
/// batch.
/// - The burn token is a vanilla OZ ERC20 with no `burn()`, and OZ rejects
/// transfers to address(0), so burning sends to the canonical dead
/// address, which the CTO snapshot logic treats as nonvoting supply.
/// - `burn` is owner-gated so execution timing stays with the operator, but
/// if the owner goes quiet for `PUBLIC_BURN_DELAY` anyone may trigger it,
/// and with ownership renounced it is fully permissionless. The cooldown
/// only re-arms when the WETH balance was consumed in full — a partial
/// fill leaves the public window open, so a hostile dust-burn cannot
/// lock the fallback while inventory remains.
contract NoxaBuyBurner is Ownable, ReentrancyGuard {
using SafeERC20 for IERC20;
error ZeroAddress();
error InvalidToken();
error InvalidPool();
error NoOfficialPool();
error BurnTargetNotSet();
error NothingToSweep();
error AmountOverflow();
error InvalidGuardConfig();
error AnchorNotReady();
error AnchorPending();
error UnexpectedCallback();
error NotSelf();
error BurnLocked();
event BurnTargetUpdated(address token, address pool);
event SwapGuardUpdated(uint32 anchorDelay, uint32 anchorValidity, uint24 maxTickDrift);
event AnchorRecorded(address indexed pool, int56 tickCumulative, uint256 usableAt, uint256 expiresAt);
event Swept(address indexed token, address indexed pool, uint256 amountIn, uint256 wethOut);
event SweepFailed(address indexed token, bytes reason);
event Burned(uint256 wethIn, uint256 swapOut, uint256 amountBurned);
event Rescued(address indexed token, address indexed to, uint256 amount);
struct PriceAnchor {
int56 tickCumulative;
uint40 recordedAt;
}
/// @dev OZ ERC20 reverts on transfer to address(0); dead is the burn convention.
address public constant BURN_ADDRESS = 0x000000000000000000000000000000000000dEaD;
/// @notice How long after the last completed burn anyone (not just the
/// owner) may trigger the next one.
uint256 public constant PUBLIC_BURN_DELAY = 2 days;
IUniswapV3Factory public immutable v3Factory;
IWETH9 public immutable weth;
/// @notice Launchpad factory whose `poolOf` mapping is the only pool
/// source for permissionless sweeps.
ILaunchpadPools public immutable launchFactory;
/// @notice Token bought and burned by `burn`. Unset at deployment (the
/// live token pre-exists this contract); owner-settable via
/// `setBurnTarget`, with its pool, atomically. Until it is set, fees
/// simply accumulate here and `burn` reverts.
address public burnToken;
/// @notice Canonical burnToken/WETH pool used by `burn`. Owner-settable so
/// the burn route can follow liquidity migrations.
address public burnPool;
/// @notice Timestamp of the last complete burn; anchors the public-burn
/// fallback. Not re-armed by partial fills.
uint256 public lastBurnAt;
/// @notice Commit-delay-execute cumulative snapshots, per pool. See notice.
mapping(address pool => PriceAnchor) public priceAnchor;
/// @notice Minimum anchor age before an untrusted caller may swap against
/// it — the averaging window floor. Manipulating the resulting mean by
/// X ticks requires holding a price X ticks out (or proportionally
/// further, for less time) across this window, against arbitrage.
uint32 public anchorDelay = 300;
/// @notice Anchor lifetime; after this it is stale and re-recordable.
uint32 public anchorValidity = 3600;
/// @notice Max ticks the execution price may drift past the anchor
/// (1 tick ~= 1 bp). Swaps stop at this bound and partially fill.
uint24 public maxTickDrift = 300;
/// @dev Pool allowed to invoke the swap callback for the current swap.
address private expectedPool;
constructor(address v3Factory_, address weth_, address launchFactory_, address owner_) Ownable(owner_) {
if (v3Factory_ == address(0) || weth_ == address(0) || launchFactory_ == address(0)) revert ZeroAddress();
v3Factory = IUniswapV3Factory(v3Factory_);
weth = IWETH9(weth_);
launchFactory = ILaunchpadPools(launchFactory_);
lastBurnAt = block.timestamp;
}
/// @dev Accept accidental or legacy native transfers for the next burn.
receive() external payable {}
// ---------------------------------------------------------------- admin
/// @notice Point burning at a (possibly new) target token and its pool,
/// atomically so the pair can never disagree. Pass the current token to
/// only migrate pools. Any balance of a previous target left behind
/// becomes sweepable like an ordinary token.
function setBurnTarget(address token, address pool) external onlyOwner {
if (token == address(0)) revert ZeroAddress();
if (token == address(weth)) revert InvalidToken();
_requireCanonicalPool(pool, address(weth), token);
burnToken = token;
burnPool = pool;
emit BurnTargetUpdated(token, pool);
}
function setSwapGuard(uint32 anchorDelay_, uint32 anchorValidity_, uint24 maxTickDrift_) external onlyOwner {
if (
anchorDelay_ < 60 || anchorValidity_ <= anchorDelay_ || maxTickDrift_ == 0
|| maxTickDrift_ > uint24(uint256(int256(TickMath.MAX_TICK)))
) revert InvalidGuardConfig();
anchorDelay = anchorDelay_;
anchorValidity = anchorValidity_;
maxTickDrift = maxTickDrift_;
emit SwapGuardUpdated(anchorDelay_, anchorValidity_, maxTickDrift_);
}
/// @notice Escape hatch for balances that can never be swept (no pool,
/// permanently broken token). Owner-only by definition of "rescue".
function rescueToken(address token, address to, uint256 amount) external onlyOwner {
if (to == address(0)) revert ZeroAddress();
IERC20(token).safeTransfer(to, amount);
emit Rescued(token, to, amount);
}
// ---------------------------------------------------------------- anchors
/// @notice Snapshot `pool`'s live tick cumulative as the starting point of
/// a forward TWAP for untrusted swaps through it. Permissionless — the
/// stored value is a time integral, so a caller manipulating spot in the
/// recording transaction adds nothing to it. A live (pending or usable)
/// anchor cannot be overwritten, so nobody can reset the maturation clock
/// forever; once it expires anyone may record a fresh one.
function recordAnchor(address pool) external {
PriceAnchor memory existing = priceAnchor[pool];
if (existing.recordedAt != 0 && block.timestamp <= uint256(existing.recordedAt) + anchorValidity) {
revert AnchorPending();
}
int56 tickCumulative = _currentTickCumulative(pool);
priceAnchor[pool] = PriceAnchor(tickCumulative, uint40(block.timestamp));
emit AnchorRecorded(pool, tickCumulative, block.timestamp + anchorDelay, block.timestamp + anchorValidity);
}
// ---------------------------------------------------------------- sweeping
/// @notice Swap this contract's entire balance of `token` into WETH
/// through the token's OFFICIAL launchpad pool (`launchFactory.poolOf`).
/// Callable by anyone; the pool is never caller-influenced. Untrusted
/// callers need a matured `recordAnchor` snapshot for that pool.
function sweepToken(address token) external nonReentrant returns (uint256 wethOut) {
return _sweepResolved(token, msg.sender == owner());
}
/// @notice Owner-only sweep through an explicit canonical V3 pool, for
/// inventory the factory mapping cannot serve (donated tokens with no
/// official pool, or an official pool whose liquidity migrated).
function sweepTokenVia(address token, address pool) external onlyOwner nonReentrant returns (uint256 wethOut) {
if (token == address(weth) || token == burnToken) revert InvalidToken();
_requireCanonicalPool(pool, token, address(weth));
return _sweepVia(token, pool, true);
}
/// @notice Failure-tolerant batch sweep: each token is processed in an
/// isolated self-call, so a token with no official pool, drained
/// liquidity, or fee-on-transfer semantics (whose V3 swap reverts by
/// design) is skipped with an event instead of bricking the rest.
function sweep(address[] calldata tokens) external {
bool trusted = msg.sender == owner();
for (uint256 i = 0; i < tokens.length; i++) {
try this.sweepTokenSelf(tokens[i], trusted) {}
catch (bytes memory reason) {
emit SweepFailed(tokens[i], reason);
}
}
}
/// @dev External trampoline so `sweep` can try/catch while preserving the
/// original caller's trust level; callable only by self.
function sweepTokenSelf(address token, bool trusted) external nonReentrant {
if (msg.sender != address(this)) revert NotSelf();
_sweepResolved(token, trusted);
}
function _sweepResolved(address token, bool trusted) private returns (uint256 wethOut) {
if (token == address(weth) || token == burnToken) revert InvalidToken();
address pool = launchFactory.poolOf(token);
if (pool == address(0)) revert NoOfficialPool();
return _sweepVia(token, pool, trusted);
}
function _sweepVia(address token, address pool, bool trusted) private returns (uint256 wethOut) {
uint256 balance = IERC20(token).balanceOf(address(this));
if (balance == 0) revert NothingToSweep();
(uint256 amountIn, uint256 amountOut) = _swapExactIn(pool, token, address(weth), balance, trusted);
emit Swept(token, pool, amountIn, amountOut);
return amountOut;
}
// ---------------------------------------------------------------- burning
/// @notice Wrap all ETH, swap all WETH into the burn token through
/// `burnPool`, and send every unit held to the dead address. Owner-only,
/// except that once `PUBLIC_BURN_DELAY` has passed since the last
/// complete burn anyone may call it; with ownership renounced the gate
/// disappears entirely (untrusted calls still need a matured anchor for
/// `burnPool`). The cooldown re-arms only when the whole WETH balance was
/// consumed — a partial fill (price-limit hit on a thin pool) keeps the
/// public window open for the remainder.
function burn() external nonReentrant returns (uint256 amountBurned) {
if (burnToken == address(0)) revert BurnTargetNotSet();
address currentOwner = owner();
bool trusted = currentOwner != address(0) && msg.sender == currentOwner;
if (!trusted && currentOwner != address(0) && block.timestamp < lastBurnAt + PUBLIC_BURN_DELAY) {
revert BurnLocked();
}
uint256 ethBalance = address(this).balance;
if (ethBalance > 0) weth.deposit{value: ethBalance}();
uint256 wethBalance = weth.balanceOf(address(this));
uint256 swapOut;
uint256 wethIn;
if (wethBalance > 0) {
(wethIn, swapOut) = _swapExactIn(burnPool, address(weth), burnToken, wethBalance, trusted);
}
// Re-arm the public-burn cooldown ONLY when a non-empty WETH balance
// was consumed in full. A zero-WETH call must stay a no-op for the
// cooldown, otherwise a front-runner could re-lock the public fallback
// with an empty burn the instant the window opens (wethIn==wethBalance==0).
if (wethBalance > 0 && wethIn == wethBalance) lastBurnAt = block.timestamp;
amountBurned = IERC20(burnToken).balanceOf(address(this));
if (amountBurned > 0) IERC20(burnToken).safeTransfer(BURN_ADDRESS, amountBurned);
emit Burned(wethIn, swapOut, amountBurned);
}
// ---------------------------------------------------------------- internals
/// @dev Exact-input single-pool swap with an anchor-bounded price limit.
/// Returns the amounts actually taken/received (may be a partial fill).
function _swapExactIn(address pool, address tokenIn, address tokenOut, uint256 amountIn, bool trusted)
private
returns (uint256 actualIn, uint256 amountOut)
{
if (amountIn > uint256(type(int256).max)) revert AmountOverflow();
bool zeroForOne = tokenIn < tokenOut;
uint160 priceLimit = _boundedPriceLimit(pool, zeroForOne, trusted);
expectedPool = pool;
(int256 amount0, int256 amount1) =
IUniswapV3Pool(pool).swap(address(this), zeroForOne, int256(amountIn), priceLimit, abi.encode(tokenIn));
expectedPool = address(0);
actualIn = uint256(zeroForOne ? amount0 : amount1);
amountOut = uint256(-(zeroForOne ? amount1 : amount0));
}
/// @dev V3 pools verify their balance delta after this callback, so a
/// fee-on-transfer `tokenIn` underpays the pool and the pool itself
/// reverts the whole swap — no special handling needed here.
function uniswapV3SwapCallback(int256 amount0Delta, int256 amount1Delta, bytes calldata data) external {
if (msg.sender != expectedPool || expectedPool == address(0)) revert UnexpectedCallback();
address tokenIn = abi.decode(data, (address));
uint256 owed = uint256(amount0Delta > 0 ? amount0Delta : amount1Delta);
IERC20(tokenIn).safeTransfer(msg.sender, owed);
}
/// @dev Price limit = anchor tick shifted `maxTickDrift` in the swap
/// direction. Untrusted callers MUST have a matured, unexpired
/// `recordAnchor` snapshot for the pool; the owner prices off spot (it
/// chooses its own timing).
function _boundedPriceLimit(address pool, bool zeroForOne, bool trusted) private view returns (uint160) {
int24 anchorTick = _anchorTick(pool, trusted);
int24 drift = int24(maxTickDrift);
int24 limitTick = zeroForOne ? anchorTick - drift : anchorTick + drift;
if (limitTick < TickMath.MIN_TICK) limitTick = TickMath.MIN_TICK;
if (limitTick > TickMath.MAX_TICK) limitTick = TickMath.MAX_TICK;
uint160 sqrtLimit = TickMath.getSqrtRatioAtTick(limitTick);
// swap() requires the limit strictly inside the global bounds.
if (sqrtLimit <= TickMath.MIN_SQRT_RATIO) sqrtLimit = TickMath.MIN_SQRT_RATIO + 1;
if (sqrtLimit >= TickMath.MAX_SQRT_RATIO) sqrtLimit = TickMath.MAX_SQRT_RATIO - 1;
return sqrtLimit;
}
function _anchorTick(address pool, bool trusted) private view returns (int24) {
if (trusted) {
(, int24 spotTick,,,,,) = IUniswapV3Pool(pool).slot0();
return spotTick;
}
PriceAnchor memory anchor = priceAnchor[pool];
if (anchor.recordedAt == 0) revert AnchorNotReady();
uint256 elapsed = block.timestamp - anchor.recordedAt;
if (elapsed < anchorDelay || elapsed > anchorValidity) revert AnchorNotReady();
// True average tick since recording. Atomic manipulation on either
// side of the window carries ~zero time weight in this delta.
int56 delta = _currentTickCumulative(pool) - anchor.tickCumulative;
int56 mean = delta / int56(uint56(elapsed));
// Round toward negative infinity like OracleLibrary.
if (delta < 0 && (delta % int56(uint56(elapsed)) != 0)) mean--;
return int24(mean);
}
/// @dev observe([0]) serves the pool's live tick cumulative regardless of
/// its observation ring capacity — it can never revert with OLD.
function _currentTickCumulative(address pool) private view returns (int56) {
uint32[] memory secondsAgos = new uint32[](1);
(int56[] memory tickCumulatives,) = IV3PoolOracle(pool).observe(secondsAgos);
return tickCumulatives[0];
}
function _requireCanonicalPool(address pool, address tokenA, address tokenB) private view {
if (pool == address(0)) revert ZeroAddress();
uint24 fee = IV3PoolOracle(pool).fee();
if (v3Factory.getPool(tokenA, tokenB, fee) != pool) revert InvalidPool();
}
}[
{
"type": "constructor",
"inputs": [
{
"name": "v3Factory_",
"type": "address",
"internalType": "address"
},
{
"name": "weth_",
"type": "address",
"internalType": "address"
},
{
"name": "launchFactory_",
"type": "address",
"internalType": "address"
},
{
"name": "owner_",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "nonpayable"
},
{
"name": "AmountOverflow",
"type": "error",
"inputs": []
},
{
"name": "AnchorNotReady",
"type": "error",
"inputs": []
},
{
"name": "AnchorPending",
"type": "error",
"inputs": []
},
{
"name": "BurnLocked",
"type": "error",
"inputs": []
},
{
"name": "BurnTargetNotSet",
"type": "error",
"inputs": []
},
{
"name": "InvalidGuardConfig",
"type": "error",
"inputs": []
},
{
"name": "InvalidPool",
"type": "error",
"inputs": []
},
{
"name": "InvalidToken",
"type": "error",
"inputs": []
},
{
"name": "NoOfficialPool",
"type": "error",
"inputs": []
},
{
"name": "NotSelf",
"type": "error",
"inputs": []
},
{
"name": "NothingToSweep",
"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": "ReentrancyGuardReentrantCall",
"type": "error",
"inputs": []
},
{
"name": "SafeERC20FailedOperation",
"type": "error",
"inputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "UnexpectedCallback",
"type": "error",
"inputs": []
},
{
"name": "ZeroAddress",
"type": "error",
"inputs": []
},
{
"name": "AnchorRecorded",
"type": "event",
"inputs": [
{
"name": "pool",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "tickCumulative",
"type": "int56",
"indexed": false,
"internalType": "int56"
},
{
"name": "usableAt",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "expiresAt",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "BurnTargetUpdated",
"type": "event",
"inputs": [
{
"name": "token",
"type": "address",
"indexed": false,
"internalType": "address"
},
{
"name": "pool",
"type": "address",
"indexed": false,
"internalType": "address"
}
],
"anonymous": false
},
{
"name": "Burned",
"type": "event",
"inputs": [
{
"name": "wethIn",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "swapOut",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "amountBurned",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"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": "Rescued",
"type": "event",
"inputs": [
{
"name": "token",
"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": "SwapGuardUpdated",
"type": "event",
"inputs": [
{
"name": "anchorDelay",
"type": "uint32",
"indexed": false,
"internalType": "uint32"
},
{
"name": "anchorValidity",
"type": "uint32",
"indexed": false,
"internalType": "uint32"
},
{
"name": "maxTickDrift",
"type": "uint24",
"indexed": false,
"internalType": "uint24"
}
],
"anonymous": false
},
{
"name": "SweepFailed",
"type": "event",
"inputs": [
{
"name": "token",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "reason",
"type": "bytes",
"indexed": false,
"internalType": "bytes"
}
],
"anonymous": false
},
{
"name": "Swept",
"type": "event",
"inputs": [
{
"name": "token",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "pool",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "amountIn",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "wethOut",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "BURN_ADDRESS",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "PUBLIC_BURN_DELAY",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "anchorDelay",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint32",
"internalType": "uint32"
}
],
"stateMutability": "view"
},
{
"name": "anchorValidity",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint32",
"internalType": "uint32"
}
],
"stateMutability": "view"
},
{
"name": "burn",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "amountBurned",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "nonpayable"
},
{
"name": "burnPool",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "burnToken",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "lastBurnAt",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "launchFactory",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "contract ILaunchpadPools"
}
],
"stateMutability": "view"
},
{
"name": "maxTickDrift",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint24",
"internalType": "uint24"
}
],
"stateMutability": "view"
},
{
"name": "owner",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "priceAnchor",
"type": "function",
"inputs": [
{
"name": "pool",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "tickCumulative",
"type": "int56",
"internalType": "int56"
},
{
"name": "recordedAt",
"type": "uint40",
"internalType": "uint40"
}
],
"stateMutability": "view"
},
{
"name": "recordAnchor",
"type": "function",
"inputs": [
{
"name": "pool",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "renounceOwnership",
"type": "function",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "rescueToken",
"type": "function",
"inputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
},
{
"name": "to",
"type": "address",
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "setBurnTarget",
"type": "function",
"inputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
},
{
"name": "pool",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "setSwapGuard",
"type": "function",
"inputs": [
{
"name": "anchorDelay_",
"type": "uint32",
"internalType": "uint32"
},
{
"name": "anchorValidity_",
"type": "uint32",
"internalType": "uint32"
},
{
"name": "maxTickDrift_",
"type": "uint24",
"internalType": "uint24"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "sweep",
"type": "function",
"inputs": [
{
"name": "tokens",
"type": "address[]",
"internalType": "address[]"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "sweepToken",
"type": "function",
"inputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "wethOut",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "nonpayable"
},
{
"name": "sweepTokenSelf",
"type": "function",
"inputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
},
{
"name": "trusted",
"type": "bool",
"internalType": "bool"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "sweepTokenVia",
"type": "function",
"inputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
},
{
"name": "pool",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "wethOut",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "nonpayable"
},
{
"name": "transferOwnership",
"type": "function",
"inputs": [
{
"name": "newOwner",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "uniswapV3SwapCallback",
"type": "function",
"inputs": [
{
"name": "amount0Delta",
"type": "int256",
"internalType": "int256"
},
{
"name": "amount1Delta",
"type": "int256",
"internalType": "int256"
},
{
"name": "data",
"type": "bytes",
"internalType": "bytes"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "v3Factory",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "contract IUniswapV3Factory"
}
],
"stateMutability": "view"
},
{
"name": "weth",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "contract IWETH9"
}
],
"stateMutability": "view"
},
{
"type": "receive",
"stateMutability": "payable"
}
]0x60e0346101d757601f61213d38819003918201601f19168301916001600160401b038311848410176101db578084926080946040528339810103126101d757610047816101ef565b90610054602082016101ef565b610060604083016101ef565b916001600160a01b0390610076906060016101ef565b169283156101c4575f80546001600160a01b031981168617825560405195916001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a360017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055600580546001600160581b03191669012c00000e100000012c1790556001600160a01b0316801580156101b3575b80156101a2575b610193576080526001600160a01b0390811660a0521660c05242600355611f399081610204823960805181818161058701526113e0015260a0518181816107ef01528181610a6401528181610c8001528181610d6001528181610f4a01526111ab015260c05181818161097601526111fc0152f35b63d92e233d60e01b5f5260045ffd5b506001600160a01b0383161561011e565b506001600160a01b03821615610117565b631e4fbdf760e01b5f525f60045260245ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036101d75756fe6080604052600436101561001a575b3615610018575f80fd5b005b5f803560e01c80630316bd07146110035780630720144914610f0e5780630b364e8f14610ee95780631be1956014610e975780632d803eb914610d8f5780633fc8cef314610d4b57806344df8e70146109f057806351951a8c146109a5578063536dac9b1461096057806364027e231461093c57806370f7e093146107ae578063715018a614610754578063780469bb146105b65780637c887c59146105715780638da5cb5b1461054a57806392edcd6a146103f5578063a54b2a73146103cc578063b88685fc146103ae578063d465a49614610390578063e5711e8b146102fe578063efa326f2146102d8578063f2fde38b14610252578063fa461e3314610180578063faa0a264146101575763fccc281314610138575061000e565b34610154578060031936011261015457602060405161dead8152f35b80fd5b50346101545780600319360112610154576001546040516001600160a01b039091168152602090f35b50346101545760603660031901126101545760043560443567ffffffffffffffff8111610232573660238201121561023257806004013567ffffffffffffffff811161024e57810136602482011161024e5760018060a01b0360055460581c1680331490811591610245575b506102365760209082900312610232576024013560018060a01b03811680910361023257610225918381131561022857905b3390611a7a565b80f35b506024359061021e565b8280fd5b63dab1e99360e01b8452600484fd5b9050155f6101ec565b8380fd5b50346101545760203660031901126101545761026c611063565b610274611349565b6001600160a01b031680156102c45781546001600160a01b03198116821783556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b631e4fbdf760e01b82526004829052602482fd5b5034610154578060031936011261015457602063ffffffff600554821c16604051908152f35b503461015457606036600319011261015457610318611063565b610320611079565b60443561032b611349565b6001600160a01b038216928315610381576001600160a01b0316917f3af790fafda720819b2fc6e15090606e81154e0ac9a92d38ecad006d99d20ecc9160209161037790829086611a7a565b604051908152a380f35b63d92e233d60e01b8552600485fd5b503461015457806003193601126101545760206040516202a3008152f35b50346101545780600319360112610154576020600354604051908152f35b50346101545780600319360112610154576002546040516001600160a01b039091168152602090f35b50346101545760203660031901126101545761040f611063565b60018060a01b03811690818352600460205260206040842064ffffffffff6040519161043a8361109c565b548060060b835260381c169182910152801515908161052a575b5061051b5760606104857ff929606f0f89de047c3cd554d4a65bffb33faa8eb8c87684bcecff53b28d648e92611b27565b604051906104928261109c565b60060b908181526020810164ffffffffff4216815285875260046020526040872091519066ffffffffffffff6bffffffffff000000000000008454925160381b169216906001600160601b0319161717905560055461050663ffffffff6104fb8184164261108f565b9260201c164261108f565b9060405192835260208301526040820152a280f35b632e08291360e01b8352600483fd5b610541915063ffffffff60055460201c169061108f565b4211155f610454565b5034610154578060031936011261015457546040516001600160a01b039091168152602090f35b50346101545780600319360112610154576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b50346101545760203660031901126101545760043567ffffffffffffffff811161075057366023820112156107505780600401359067ffffffffffffffff8211610232576024810190602436918460051b0101116102325782546001600160a01b0316331491835b818110610629578480f35b61063c6106378284866110ee565b611112565b303b1561074c57604051630316bd0760e01b81526001600160a01b0390911660048201526024810185905285808260448183305af19182610737575b505061072f573d15610725573d67ffffffffffffffff811161071157604051600192916106af601f8201601f1916602001836110cc565b81523d87602083013e5b7f156d6df187ebbca98e090d6e6fb9795b5d2f191a40f15d864d64e0826a464b81610707848060a01b036106f161063786898b6110ee565b1692604051918291602083526020830190611126565b0390a25b0161061e565b634e487b7160e01b86526041600452602486fd5b60019060606106b9565b60019061070b565b81610741916110cc565b61074c57855f610678565b8580fd5b5080fd5b503461015457806003193601126101545761076d611349565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5034610154576040366003190112610154576107c8611063565b6107d0611079565b916107d9611349565b6107e161114a565b6001600160a01b03828116927f0000000000000000000000000000000000000000000000000000000000000000909116908382148015610928575b6109195761082b82828761136f565b6040516370a0823160e01b815230600482015292602084602481885afa93841561090c5781946108d4575b5083156108c5576020604087877f8496dda4d04919fec296be83f4d7d178dafb7c0d3abe1553c092f1466e8f292861089260018a8a8a87611491565b8551918252868201819052946001600160a01b039094169390a360015f80516020611ee483398151915255604051908152f35b630d44987f60e21b8152600490fd5b9093506020813d602011610904575b816108f0602093836110cc565b810103126109005751925f610856565b5f80fd5b3d91506108e3565b50604051903d90823e3d90fd5b63c1ab6dc160e01b8352600483fd5b506001546001600160a01b0316841461081c565b5034610154578060031936011261015457602063ffffffff60055416604051908152f35b50346101545780600319360112610154576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b50346101545760203660031901126101545760409081906001600160a01b036109cc611063565b1681526004602052205464ffffffffff8251918060060b835260381c166020820152f35b5034610900575f36600319011261090057610a0961114a565b6001546001600160a01b031615610d3c575f546001600160a01b03168015159190829081610d32575b5082159081610d2a575b5080610cfe575b610cef574780610c7e575b506040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316602082602481845afa918215610c73578392610c3f575b50829183948115159283610c0e575b505081610c04575b50610bfb575b6001546040516370a0823160e01b815230600482015292906001600160a01b0316602084602481845afa938415610bf0578294610bbc575b5083610b51575b6020847f82ac44fe03cbf84203fdc07400a8a763498cf2ccaa9788e23b09d56f4fc85f726060888760405191825285820152836040820152a160015f80516020611ee483398151915255604051908152f35b60405163a9059cbb60e01b835261dead600452602485905260208360448180865af1906001845114821615610b9b575b604052610aff57635274afe760e01b825260045260249150fd5b906001811516610bb357823b15153d15161690610b81565b503d83823e3d90fd5b9093506020813d602011610be8575b81610bd8602093836110cc565b810103126109005751925f610af8565b3d9150610bcb565b6040513d84823e3d90fd5b42600355610ac0565b905083145f610aba565b600254600154939750939450610c3593919287926001600160a01b03918216929116611491565b9190935f80610ab2565b9091506020813d602011610c6b575b81610c5b602093836110cc565b810103126109005751905f610aa3565b3d9150610c4e565b6040513d85823e3d90fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316803b15610900575f90600460405180948193630d0e30db60e41b83525af18015610ce45715610a4e57610cdd91505f906110cc565b5f80610a4e565b6040513d5f823e3d90fd5b635a70f20360e01b5f5260045ffd5b506003546202a3008101809111610d16574210610a43565b634e487b7160e01b5f52601160045260245ffd5b90505f610a3c565b331492505f610a32565b631c80296960e11b5f5260045ffd5b34610900575f366003190112610900576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346109005760603660031901126109005760043563ffffffff81168091036109005760243563ffffffff811691828203610900576044359262ffffff84169081850361090057610ddd611349565b603c83108015610e8d575b8015610e85575b8015610e79575b610e6a577f0396f9b7728c317b6f9852d786d9353ee91aeeb03aa5cff7a2bdd4133e32e24c9460609467ffffffff00000000856affffff00000000000000006005549460401b16936affffffffffffffffffffff1916179160201b16171760055560405192835260208301526040820152a1005b633d0a253560e01b5f5260045ffd5b50620d89e88211610df6565b508115610def565b5082811115610de8565b34610900576020366003190112610900576020610ed0610eb5611063565b610ebd61114a565b5f546001600160a01b03163314906111a1565b60015f80516020611ee483398151915255604051908152f35b34610900575f36600319011261090057602062ffffff60055460401c16604051908152f35b3461090057604036600319011261090057610f27611063565b610f2f611079565b90610f38611349565b6001600160a01b0381168015610ff4577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031692818414610fe557610fa86040937f43f7402e42d01c735d6673d0c2889b67e80c9453060a71417ed3d11e36e8dd6b958361136f565b816001600160601b0360a01b600154161760015560018060a01b0316806001600160601b0360a01b600254161760025582519182526020820152a1005b63c1ab6dc160e01b5f5260045ffd5b63d92e233d60e01b5f5260045ffd5b346109005760403660031901126109005761101c611063565b60243580151581036109005761103061114a565b30330361105457611040916111a1565b5060015f80516020611ee483398151915255005b6314e1dbf760e11b5f5260045ffd5b600435906001600160a01b038216820361090057565b602435906001600160a01b038216820361090057565b91908201809211610d1657565b6040810190811067ffffffffffffffff8211176110b857604052565b634e487b7160e01b5f52604160045260245ffd5b90601f8019910116810190811067ffffffffffffffff8211176110b857604052565b91908110156110fe5760051b0190565b634e487b7160e01b5f52603260045260245ffd5b356001600160a01b03811681036109005790565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b60025f80516020611ee483398151915254146111735760025f80516020611ee483398151915255565b633ee5aeb560e01b5f5260045ffd5b9081602091031261090057516001600160a01b03811681036109005790565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081169291908116908184148015611335575b610fe55760405163988b1fa760e01b8152600481018390526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610ce4575f91611306575b506001600160a01b0381169384156112f7576040516370a0823160e01b8152306004820152602081602481885afa908115610ce4575f916112c5575b5080156112b6576040967f8496dda4d04919fec296be83f4d7d178dafb7c0d3abe1553c092f1466e8f2928946112a594611491565b94908151908152856020820152a390565b630d44987f60e21b5f5260045ffd5b90506020813d6020116112ef575b816112e0602093836110cc565b8101031261090057515f611270565b3d91506112d3565b635385cf3760e11b5f5260045ffd5b611328915060203d60201161132e575b61132081836110cc565b810190611182565b5f611234565b503d611316565b506001546001600160a01b031682146111dc565b5f546001600160a01b0316330361135c57565b63118cdaa760e01b5f523360045260245ffd5b6001600160a01b0316918215610ff45760405163ddca3f4360e01b8152602081600481875afa908115610ce4575f9161144e575b50604051630b4c774160e11b81526001600160a01b039384166004820152918316602483015262ffffff16604482015290602090829060649082907f0000000000000000000000000000000000000000000000000000000000000000165afa908115610ce4575f9161142f575b506001600160a01b03160361142157565b62820f3560e61b5f5260045ffd5b611448915060203d60201161132e5761132081836110cc565b5f611410565b90506020813d602011611489575b81611469602093836110cc565b8101031261090057519062ffffff82168203610900579062ffffff6113a3565b3d915061145c565b939493906001600160ff1b038411611a6b576001600160a01b039283169216918210946114be9082611cf8565b6005549062ffffff8260401c1660020b90875f14611a405760020b03627fffff198112627fffff821317610d16575b620d89e719600282900b12611a35575b620d89e890818160020b13611a2e575b60020b5f811215611a2757805f03915b82116119fe5760018216156119ec576001600160881b036ffffcb933bd6fad37aa2d162d1a5940015b1691600281166119d0575b600481166119b4575b60088116611998575b6010811661197c575b60208116611960575b60408116611944575b60808116611928575b610100811661190c575b61020081166118f0575b61040081166118d4575b61080081166118b8575b611000811661189c575b6120008116611880575b6140008116611864575b6180008116611848575b62010000811661182c575b620200008116611811575b6204000081166117f6575b62080000166117dd575b5f126117b3575b6116ea9460409493929163ffffffff81166117ab575f905b60201c60ff91909116016001600160a01b0316906401000276a382111561179e575b73fffd8963efd1fc6a506488495d951d5263988d266001600160a01b0383161015611782575b600160581b600160f81b0319909216605884901b600160581b600160f81b0316176005558451602080820195909552938452905f906116a886866110cc565b855196879586948593630251596160e31b85523060048601528c6024860152604485015260018060a01b0316606484015260a0608484015260a4830190611126565b03926001600160a01b03165af1908115610ce4575f905f92611748575b5060058054600160581b600160f81b0319169055831561174257805b931561173b57505b600160ff1b8114610d16575f0390565b905061172b565b81611723565b9150506040813d60401161177a575b81611764604093836110cc565b810103126109005760208151910151905f611707565b3d9150611757565b73fffd8963efd1fc6a506488495d951d5263988d259150611669565b6401000276a49150611643565b600190611621565b92919083156117c95791929091905f1904611609565b634e487b7160e01b5f52601260045260245ffd5b6b048a170391f7dc42444e8fa290910260801c90611602565b6d2216e584f5fa1ea926041bedfe9890920260801c916115f8565b916e5d6af8dedb81196699c329225ee6040260801c916115ed565b916f09aa508b5b7a84e1c677de54f3e99bc90260801c916115e2565b916f31be135f97d08fd981231505542fcfa60260801c916115d7565b916f70d869a156d2a1b890bb3df62baf32f70260801c916115cd565b916fa9f746462d870fdf8a65dc1f90e061e50260801c916115c3565b916fd097f3bdfd2022b8845ad8f792aa58250260801c916115b9565b916fe7159475a2c29b7443b29c7fa6e889d90260801c916115af565b916ff3392b0822b70005940c7a398e4b70f30260801c916115a5565b916ff987a7253ac413176f2b074cf7815e540260801c9161159b565b916ffcbe86c7900a88aedcffc83b479aa3a40260801c91611591565b916ffe5dee046a99a2a811c461f1969c30530260801c91611587565b916fff2ea16466c96a3843ec78b326b528610260801c9161157e565b916fff973b41fa98c081472e6896dfb254c00260801c91611575565b916fffcb9843d60f6159c9db58835c9266440260801c9161156c565b916fffe5caca7e10e4e61c3624eaa0941cd00260801c91611563565b916ffff2e50f5f656932ef12357cf3c7fdcc0260801c9161155a565b916ffff97272373d413259a46990580e213a0260801c91611551565b6001600160881b03600160801b611546565b60405162461bcd60e51b81526020600482015260016024820152601560fa1b6044820152606490fd5b809161151d565b508061150d565b50620d89e7196114fd565b60020b01627fffff8113627fffff19821217156114ed57634e487b7160e01b5f52601160045260245ffd5b630590fb9f60e01b5f5260045ffd5b916040519163a9059cbb60e01b5f5260018060a01b031660045260245260205f60448180865af19060015f5114821615611ada575b60405215611aba5750565b635274afe760e01b5f9081526001600160a01b0391909116600452602490fd5b906001811516611af257823b15153d15161690611aaf565b503d5f823e3d90fd5b67ffffffffffffffff81116110b85760051b60200190565b51906001600160a01b038216820361090057565b604090815190611b3783836110cc565b600182526020820191601f198401368437835163883bdbfd60e01b815260206004820152905160248201819052909283916044830191905f5b818110611cca57505f9492849003928492506001600160a01b031690505afa918215611cc1575f92611bb0575b50508051156110fe576020015160060b90565b9091503d805f843e611bc281846110cc565b820190808383031261090057825167ffffffffffffffff81116109005783019282601f85011215610900578351611bf881611afb565b94611c05845196876110cc565b81865260208087019260051b8201019085821161090057602001915b818310611ca75750505060208101519067ffffffffffffffff8211610900570182601f8201121561090057602080825193611c67611c5e86611afb565b915191826110cc565b848152019260051b82010192831161090057602001905b828210611c8f575050505f80611b9d565b60208091611c9c84611b13565b815201910190611c7e565b82518060060b810361090057815260209283019201611c21565b513d5f823e3d90fd5b825163ffffffff16845286945060209384019390920191600101611b70565b519061ffff8216820361090057565b90611e265760018060a01b0381165f52600460205260405f2064ffffffffff60405191611d248361109c565b548060060b835260381c16602082019080825215611e045764ffffffffff905116420391428311610d165760055463ffffffff81168410908115611e13575b50611e0457611d7190611b27565b905160060b9060060b0390667fffffffffffff8213667fffffffffffff19831217610d165766ffffffffffffff1660060b9060060b81156117c957667fffffffffffff1981145f19831416610d1657818105915f82129182611df5575b5050611ddb575b60020b90565b60060b667fffffffffffff198114610d16575f1901611dd5565b0760060b151590505f80611dce565b634e2b0b8d60e01b5f5260045ffd5b63ffffffff915060201c1683115f611d63565b604051633850c7bd60e01b81529060e090829060049082906001600160a01b03165afa908115610ce4575f91611e5a575090565b905060e0813d60e011611edb575b81611e7560e093836110cc565b8101031261090057611e8681611b13565b506020810151908160020b820361090057611ea360408201611ce9565b50611eb060608201611ce9565b50611ebd60808201611ce9565b5060a081015160ff8116036109005760c00151801515036109005790565b3d9150611e6856fe9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00a2646970667358221220c1d93e4ec3522d0dabf1f602e644714a73a5d7a3beebd86994ffdbc0e57ede6d64736f6c634300081a00330000000000000000000000001f7d7550b1b028f7571e69a784071f0205fd2efa0000000000000000000000000bd7d308f8e1639fab988df18a8011f41eacad73000000000000000000000000a24d48d50fd7985c6de816eaf77c1a17d3593bbe000000000000000000000000407fe47fa03617062e9cd27dcace8dab006322d8
0x6080604052600436101561001a575b3615610018575f80fd5b005b5f803560e01c80630316bd07146110035780630720144914610f0e5780630b364e8f14610ee95780631be1956014610e975780632d803eb914610d8f5780633fc8cef314610d4b57806344df8e70146109f057806351951a8c146109a5578063536dac9b1461096057806364027e231461093c57806370f7e093146107ae578063715018a614610754578063780469bb146105b65780637c887c59146105715780638da5cb5b1461054a57806392edcd6a146103f5578063a54b2a73146103cc578063b88685fc146103ae578063d465a49614610390578063e5711e8b146102fe578063efa326f2146102d8578063f2fde38b14610252578063fa461e3314610180578063faa0a264146101575763fccc281314610138575061000e565b34610154578060031936011261015457602060405161dead8152f35b80fd5b50346101545780600319360112610154576001546040516001600160a01b039091168152602090f35b50346101545760603660031901126101545760043560443567ffffffffffffffff8111610232573660238201121561023257806004013567ffffffffffffffff811161024e57810136602482011161024e5760018060a01b0360055460581c1680331490811591610245575b506102365760209082900312610232576024013560018060a01b03811680910361023257610225918381131561022857905b3390611a7a565b80f35b506024359061021e565b8280fd5b63dab1e99360e01b8452600484fd5b9050155f6101ec565b8380fd5b50346101545760203660031901126101545761026c611063565b610274611349565b6001600160a01b031680156102c45781546001600160a01b03198116821783556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b631e4fbdf760e01b82526004829052602482fd5b5034610154578060031936011261015457602063ffffffff600554821c16604051908152f35b503461015457606036600319011261015457610318611063565b610320611079565b60443561032b611349565b6001600160a01b038216928315610381576001600160a01b0316917f3af790fafda720819b2fc6e15090606e81154e0ac9a92d38ecad006d99d20ecc9160209161037790829086611a7a565b604051908152a380f35b63d92e233d60e01b8552600485fd5b503461015457806003193601126101545760206040516202a3008152f35b50346101545780600319360112610154576020600354604051908152f35b50346101545780600319360112610154576002546040516001600160a01b039091168152602090f35b50346101545760203660031901126101545761040f611063565b60018060a01b03811690818352600460205260206040842064ffffffffff6040519161043a8361109c565b548060060b835260381c169182910152801515908161052a575b5061051b5760606104857ff929606f0f89de047c3cd554d4a65bffb33faa8eb8c87684bcecff53b28d648e92611b27565b604051906104928261109c565b60060b908181526020810164ffffffffff4216815285875260046020526040872091519066ffffffffffffff6bffffffffff000000000000008454925160381b169216906001600160601b0319161717905560055461050663ffffffff6104fb8184164261108f565b9260201c164261108f565b9060405192835260208301526040820152a280f35b632e08291360e01b8352600483fd5b610541915063ffffffff60055460201c169061108f565b4211155f610454565b5034610154578060031936011261015457546040516001600160a01b039091168152602090f35b50346101545780600319360112610154576040517f0000000000000000000000001f7d7550b1b028f7571e69a784071f0205fd2efa6001600160a01b03168152602090f35b50346101545760203660031901126101545760043567ffffffffffffffff811161075057366023820112156107505780600401359067ffffffffffffffff8211610232576024810190602436918460051b0101116102325782546001600160a01b0316331491835b818110610629578480f35b61063c6106378284866110ee565b611112565b303b1561074c57604051630316bd0760e01b81526001600160a01b0390911660048201526024810185905285808260448183305af19182610737575b505061072f573d15610725573d67ffffffffffffffff811161071157604051600192916106af601f8201601f1916602001836110cc565b81523d87602083013e5b7f156d6df187ebbca98e090d6e6fb9795b5d2f191a40f15d864d64e0826a464b81610707848060a01b036106f161063786898b6110ee565b1692604051918291602083526020830190611126565b0390a25b0161061e565b634e487b7160e01b86526041600452602486fd5b60019060606106b9565b60019061070b565b81610741916110cc565b61074c57855f610678565b8580fd5b5080fd5b503461015457806003193601126101545761076d611349565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5034610154576040366003190112610154576107c8611063565b6107d0611079565b916107d9611349565b6107e161114a565b6001600160a01b03828116927f0000000000000000000000000bd7d308f8e1639fab988df18a8011f41eacad73909116908382148015610928575b6109195761082b82828761136f565b6040516370a0823160e01b815230600482015292602084602481885afa93841561090c5781946108d4575b5083156108c5576020604087877f8496dda4d04919fec296be83f4d7d178dafb7c0d3abe1553c092f1466e8f292861089260018a8a8a87611491565b8551918252868201819052946001600160a01b039094169390a360015f80516020611ee483398151915255604051908152f35b630d44987f60e21b8152600490fd5b9093506020813d602011610904575b816108f0602093836110cc565b810103126109005751925f610856565b5f80fd5b3d91506108e3565b50604051903d90823e3d90fd5b63c1ab6dc160e01b8352600483fd5b506001546001600160a01b0316841461081c565b5034610154578060031936011261015457602063ffffffff60055416604051908152f35b50346101545780600319360112610154576040517f000000000000000000000000a24d48d50fd7985c6de816eaf77c1a17d3593bbe6001600160a01b03168152602090f35b50346101545760203660031901126101545760409081906001600160a01b036109cc611063565b1681526004602052205464ffffffffff8251918060060b835260381c166020820152f35b5034610900575f36600319011261090057610a0961114a565b6001546001600160a01b031615610d3c575f546001600160a01b03168015159190829081610d32575b5082159081610d2a575b5080610cfe575b610cef574780610c7e575b506040516370a0823160e01b81523060048201527f0000000000000000000000000bd7d308f8e1639fab988df18a8011f41eacad736001600160a01b0316602082602481845afa918215610c73578392610c3f575b50829183948115159283610c0e575b505081610c04575b50610bfb575b6001546040516370a0823160e01b815230600482015292906001600160a01b0316602084602481845afa938415610bf0578294610bbc575b5083610b51575b6020847f82ac44fe03cbf84203fdc07400a8a763498cf2ccaa9788e23b09d56f4fc85f726060888760405191825285820152836040820152a160015f80516020611ee483398151915255604051908152f35b60405163a9059cbb60e01b835261dead600452602485905260208360448180865af1906001845114821615610b9b575b604052610aff57635274afe760e01b825260045260249150fd5b906001811516610bb357823b15153d15161690610b81565b503d83823e3d90fd5b9093506020813d602011610be8575b81610bd8602093836110cc565b810103126109005751925f610af8565b3d9150610bcb565b6040513d84823e3d90fd5b42600355610ac0565b905083145f610aba565b600254600154939750939450610c3593919287926001600160a01b03918216929116611491565b9190935f80610ab2565b9091506020813d602011610c6b575b81610c5b602093836110cc565b810103126109005751905f610aa3565b3d9150610c4e565b6040513d85823e3d90fd5b7f0000000000000000000000000bd7d308f8e1639fab988df18a8011f41eacad736001600160a01b0316803b15610900575f90600460405180948193630d0e30db60e41b83525af18015610ce45715610a4e57610cdd91505f906110cc565b5f80610a4e565b6040513d5f823e3d90fd5b635a70f20360e01b5f5260045ffd5b506003546202a3008101809111610d16574210610a43565b634e487b7160e01b5f52601160045260245ffd5b90505f610a3c565b331492505f610a32565b631c80296960e11b5f5260045ffd5b34610900575f366003190112610900576040517f0000000000000000000000000bd7d308f8e1639fab988df18a8011f41eacad736001600160a01b03168152602090f35b346109005760603660031901126109005760043563ffffffff81168091036109005760243563ffffffff811691828203610900576044359262ffffff84169081850361090057610ddd611349565b603c83108015610e8d575b8015610e85575b8015610e79575b610e6a577f0396f9b7728c317b6f9852d786d9353ee91aeeb03aa5cff7a2bdd4133e32e24c9460609467ffffffff00000000856affffff00000000000000006005549460401b16936affffffffffffffffffffff1916179160201b16171760055560405192835260208301526040820152a1005b633d0a253560e01b5f5260045ffd5b50620d89e88211610df6565b508115610def565b5082811115610de8565b34610900576020366003190112610900576020610ed0610eb5611063565b610ebd61114a565b5f546001600160a01b03163314906111a1565b60015f80516020611ee483398151915255604051908152f35b34610900575f36600319011261090057602062ffffff60055460401c16604051908152f35b3461090057604036600319011261090057610f27611063565b610f2f611079565b90610f38611349565b6001600160a01b0381168015610ff4577f0000000000000000000000000bd7d308f8e1639fab988df18a8011f41eacad736001600160a01b031692818414610fe557610fa86040937f43f7402e42d01c735d6673d0c2889b67e80c9453060a71417ed3d11e36e8dd6b958361136f565b816001600160601b0360a01b600154161760015560018060a01b0316806001600160601b0360a01b600254161760025582519182526020820152a1005b63c1ab6dc160e01b5f5260045ffd5b63d92e233d60e01b5f5260045ffd5b346109005760403660031901126109005761101c611063565b60243580151581036109005761103061114a565b30330361105457611040916111a1565b5060015f80516020611ee483398151915255005b6314e1dbf760e11b5f5260045ffd5b600435906001600160a01b038216820361090057565b602435906001600160a01b038216820361090057565b91908201809211610d1657565b6040810190811067ffffffffffffffff8211176110b857604052565b634e487b7160e01b5f52604160045260245ffd5b90601f8019910116810190811067ffffffffffffffff8211176110b857604052565b91908110156110fe5760051b0190565b634e487b7160e01b5f52603260045260245ffd5b356001600160a01b03811681036109005790565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b60025f80516020611ee483398151915254146111735760025f80516020611ee483398151915255565b633ee5aeb560e01b5f5260045ffd5b9081602091031261090057516001600160a01b03811681036109005790565b6001600160a01b037f0000000000000000000000000bd7d308f8e1639fab988df18a8011f41eacad7381169291908116908184148015611335575b610fe55760405163988b1fa760e01b8152600481018390526020816024817f000000000000000000000000a24d48d50fd7985c6de816eaf77c1a17d3593bbe6001600160a01b03165afa908115610ce4575f91611306575b506001600160a01b0381169384156112f7576040516370a0823160e01b8152306004820152602081602481885afa908115610ce4575f916112c5575b5080156112b6576040967f8496dda4d04919fec296be83f4d7d178dafb7c0d3abe1553c092f1466e8f2928946112a594611491565b94908151908152856020820152a390565b630d44987f60e21b5f5260045ffd5b90506020813d6020116112ef575b816112e0602093836110cc565b8101031261090057515f611270565b3d91506112d3565b635385cf3760e11b5f5260045ffd5b611328915060203d60201161132e575b61132081836110cc565b810190611182565b5f611234565b503d611316565b506001546001600160a01b031682146111dc565b5f546001600160a01b0316330361135c57565b63118cdaa760e01b5f523360045260245ffd5b6001600160a01b0316918215610ff45760405163ddca3f4360e01b8152602081600481875afa908115610ce4575f9161144e575b50604051630b4c774160e11b81526001600160a01b039384166004820152918316602483015262ffffff16604482015290602090829060649082907f0000000000000000000000001f7d7550b1b028f7571e69a784071f0205fd2efa165afa908115610ce4575f9161142f575b506001600160a01b03160361142157565b62820f3560e61b5f5260045ffd5b611448915060203d60201161132e5761132081836110cc565b5f611410565b90506020813d602011611489575b81611469602093836110cc565b8101031261090057519062ffffff82168203610900579062ffffff6113a3565b3d915061145c565b939493906001600160ff1b038411611a6b576001600160a01b039283169216918210946114be9082611cf8565b6005549062ffffff8260401c1660020b90875f14611a405760020b03627fffff198112627fffff821317610d16575b620d89e719600282900b12611a35575b620d89e890818160020b13611a2e575b60020b5f811215611a2757805f03915b82116119fe5760018216156119ec576001600160881b036ffffcb933bd6fad37aa2d162d1a5940015b1691600281166119d0575b600481166119b4575b60088116611998575b6010811661197c575b60208116611960575b60408116611944575b60808116611928575b610100811661190c575b61020081166118f0575b61040081166118d4575b61080081166118b8575b611000811661189c575b6120008116611880575b6140008116611864575b6180008116611848575b62010000811661182c575b620200008116611811575b6204000081166117f6575b62080000166117dd575b5f126117b3575b6116ea9460409493929163ffffffff81166117ab575f905b60201c60ff91909116016001600160a01b0316906401000276a382111561179e575b73fffd8963efd1fc6a506488495d951d5263988d266001600160a01b0383161015611782575b600160581b600160f81b0319909216605884901b600160581b600160f81b0316176005558451602080820195909552938452905f906116a886866110cc565b855196879586948593630251596160e31b85523060048601528c6024860152604485015260018060a01b0316606484015260a0608484015260a4830190611126565b03926001600160a01b03165af1908115610ce4575f905f92611748575b5060058054600160581b600160f81b0319169055831561174257805b931561173b57505b600160ff1b8114610d16575f0390565b905061172b565b81611723565b9150506040813d60401161177a575b81611764604093836110cc565b810103126109005760208151910151905f611707565b3d9150611757565b73fffd8963efd1fc6a506488495d951d5263988d259150611669565b6401000276a49150611643565b600190611621565b92919083156117c95791929091905f1904611609565b634e487b7160e01b5f52601260045260245ffd5b6b048a170391f7dc42444e8fa290910260801c90611602565b6d2216e584f5fa1ea926041bedfe9890920260801c916115f8565b916e5d6af8dedb81196699c329225ee6040260801c916115ed565b916f09aa508b5b7a84e1c677de54f3e99bc90260801c916115e2565b916f31be135f97d08fd981231505542fcfa60260801c916115d7565b916f70d869a156d2a1b890bb3df62baf32f70260801c916115cd565b916fa9f746462d870fdf8a65dc1f90e061e50260801c916115c3565b916fd097f3bdfd2022b8845ad8f792aa58250260801c916115b9565b916fe7159475a2c29b7443b29c7fa6e889d90260801c916115af565b916ff3392b0822b70005940c7a398e4b70f30260801c916115a5565b916ff987a7253ac413176f2b074cf7815e540260801c9161159b565b916ffcbe86c7900a88aedcffc83b479aa3a40260801c91611591565b916ffe5dee046a99a2a811c461f1969c30530260801c91611587565b916fff2ea16466c96a3843ec78b326b528610260801c9161157e565b916fff973b41fa98c081472e6896dfb254c00260801c91611575565b916fffcb9843d60f6159c9db58835c9266440260801c9161156c565b916fffe5caca7e10e4e61c3624eaa0941cd00260801c91611563565b916ffff2e50f5f656932ef12357cf3c7fdcc0260801c9161155a565b916ffff97272373d413259a46990580e213a0260801c91611551565b6001600160881b03600160801b611546565b60405162461bcd60e51b81526020600482015260016024820152601560fa1b6044820152606490fd5b809161151d565b508061150d565b50620d89e7196114fd565b60020b01627fffff8113627fffff19821217156114ed57634e487b7160e01b5f52601160045260245ffd5b630590fb9f60e01b5f5260045ffd5b916040519163a9059cbb60e01b5f5260018060a01b031660045260245260205f60448180865af19060015f5114821615611ada575b60405215611aba5750565b635274afe760e01b5f9081526001600160a01b0391909116600452602490fd5b906001811516611af257823b15153d15161690611aaf565b503d5f823e3d90fd5b67ffffffffffffffff81116110b85760051b60200190565b51906001600160a01b038216820361090057565b604090815190611b3783836110cc565b600182526020820191601f198401368437835163883bdbfd60e01b815260206004820152905160248201819052909283916044830191905f5b818110611cca57505f9492849003928492506001600160a01b031690505afa918215611cc1575f92611bb0575b50508051156110fe576020015160060b90565b9091503d805f843e611bc281846110cc565b820190808383031261090057825167ffffffffffffffff81116109005783019282601f85011215610900578351611bf881611afb565b94611c05845196876110cc565b81865260208087019260051b8201019085821161090057602001915b818310611ca75750505060208101519067ffffffffffffffff8211610900570182601f8201121561090057602080825193611c67611c5e86611afb565b915191826110cc565b848152019260051b82010192831161090057602001905b828210611c8f575050505f80611b9d565b60208091611c9c84611b13565b815201910190611c7e565b82518060060b810361090057815260209283019201611c21565b513d5f823e3d90fd5b825163ffffffff16845286945060209384019390920191600101611b70565b519061ffff8216820361090057565b90611e265760018060a01b0381165f52600460205260405f2064ffffffffff60405191611d248361109c565b548060060b835260381c16602082019080825215611e045764ffffffffff905116420391428311610d165760055463ffffffff81168410908115611e13575b50611e0457611d7190611b27565b905160060b9060060b0390667fffffffffffff8213667fffffffffffff19831217610d165766ffffffffffffff1660060b9060060b81156117c957667fffffffffffff1981145f19831416610d1657818105915f82129182611df5575b5050611ddb575b60020b90565b60060b667fffffffffffff198114610d16575f1901611dd5565b0760060b151590505f80611dce565b634e2b0b8d60e01b5f5260045ffd5b63ffffffff915060201c1683115f611d63565b604051633850c7bd60e01b81529060e090829060049082906001600160a01b03165afa908115610ce4575f91611e5a575090565b905060e0813d60e011611edb575b81611e7560e093836110cc565b8101031261090057611e8681611b13565b506020810151908160020b820361090057611ea360408201611ce9565b50611eb060608201611ce9565b50611ebd60808201611ce9565b5060a081015160ff8116036109005760c00151801515036109005790565b3d9150611e6856fe9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00a2646970667358221220c1d93e4ec3522d0dabf1f602e644714a73a5d7a3beebd86994ffdbc0e57ede6d64736f6c634300081a0033
| Token | Symbol | Balance | Price | Value |
|---|---|---|---|---|
| Wrapped Small ETH (WETH) | WETH | 14 | $1,892.08 | $26,489.12 |
WETH (WETH) | WETH | 0.0015 | $1,892.08 | $2.84 |
| Global Dollar (USDG) | USDG | 1 | $1 | $1 |
| DIH | 1 | $0.0000102 | $0 | |
| Don't Blink (BLINK) | BLINK | 10 | — | — |
| Trump Account Fund (TA) | TA | 1 | — | — |
| Wrapped BTC (WBTC) | WBTC | 1 | — | — |
| Apes Together Strong (APES) | APES | 1 | — | — |
| Txn Hash | Age | Event | Topics / Data |
|---|---|---|---|
| 0xa4f24c…273279 | 5 days agoWed, 12 Aug 2026 21:48:16 UTC | 0x3af790…0ecc | [0] 0x000000000000…bda667a3 [1] 0x000000000000…006322d8 data: 0x000000000000000000…bbe90883 |
| 0xf4d836…9f9449 | 5 days agoWed, 12 Aug 2026 21:48:15 UTC | 0x3af790…0ecc | [0] 0x000000000000…bf45bb82 [1] 0x000000000000…006322d8 data: 0x000000000000000000…ac3229e7 |
| 0x8dde16…9e8996 | 5 days agoWed, 12 Aug 2026 21:48:14 UTC | 0x3af790…0ecc | [0] 0x000000000000…15e40f2f [1] 0x000000000000…006322d8 data: 0x000000000000000000…505abde5 |
| 0xad4f52…5dab57 | 5 days agoWed, 12 Aug 2026 21:48:13 UTC | 0x3af790…0ecc | [0] 0x000000000000…a620909f [1] 0x000000000000…006322d8 data: 0x000000000000000000…509a440c |
| 0x6c311a…513471 | 5 days agoWed, 12 Aug 2026 21:48:13 UTC | 0x3af790…0ecc | [0] 0x000000000000…d94bcb23 [1] 0x000000000000…006322d8 data: 0x000000000000000000…61e9c800 |
| 0x2249fa…e1589c | 5 days agoWed, 12 Aug 2026 21:48:12 UTC | 0x3af790…0ecc | [0] 0x000000000000…61b2eda9 [1] 0x000000000000…006322d8 data: 0x000000000000000000…ee41418c |
| 0x0e8c83…9e5ccf | 5 days agoWed, 12 Aug 2026 21:48:12 UTC | 0x3af790…0ecc | [0] 0x000000000000…5c00f1e6 [1] 0x000000000000…006322d8 data: 0x000000000000000000…34d7d4a6 |
| 0x8898f2…8c2acd | 5 days agoWed, 12 Aug 2026 21:48:11 UTC | 0x3af790…0ecc | [0] 0x000000000000…21d2cc62 [1] 0x000000000000…006322d8 data: 0x000000000000000000…385742db |
| 0xf10c06…4e6b5c | 5 days agoWed, 12 Aug 2026 21:48:10 UTC | 0x3af790…0ecc | [0] 0x000000000000…69397414 [1] 0x000000000000…006322d8 data: 0x000000000000000000…3fab9bb0 |
| 0x877e97…2bcfa1 | 5 days agoWed, 12 Aug 2026 21:48:10 UTC | 0x3af790…0ecc | [0] 0x000000000000…39e98a7d [1] 0x000000000000…006322d8 data: 0x000000000000000000…459494fd |
| 0x44d42c…720a23 | 5 days agoWed, 12 Aug 2026 21:48:08 UTC | 0x3af790…0ecc | [0] 0x000000000000…6aba80a4 [1] 0x000000000000…006322d8 data: 0x000000000000000000…dc4bd246 |
| 0x6c80d9…4a20a6 | 5 days agoWed, 12 Aug 2026 21:48:08 UTC | 0x3af790…0ecc | [0] 0x000000000000…272ea6df [1] 0x000000000000…006322d8 data: 0x000000000000000000…7ad7ee4d |
| 0x88531d…756326 | 5 days agoWed, 12 Aug 2026 21:48:07 UTC | 0x3af790…0ecc | [0] 0x000000000000…bde5120a [1] 0x000000000000…006322d8 data: 0x000000000000000000…b0515680 |
| 0xb3415e…1debf4 | 5 days agoWed, 12 Aug 2026 21:48:07 UTC | 0x3af790…0ecc | [0] 0x000000000000…25023106 [1] 0x000000000000…006322d8 data: 0x000000000000000000…ed84cc0b |
| 0xc53564…4e09c8 | 5 days agoWed, 12 Aug 2026 21:48:06 UTC | 0x3af790…0ecc | [0] 0x000000000000…116e3f5a [1] 0x000000000000…006322d8 data: 0x000000000000000000…91dc4c79 |
| 0x9e33dc…b40b5e | 5 days agoWed, 12 Aug 2026 21:48:05 UTC | 0x3af790…0ecc | [0] 0x000000000000…6ee12afa [1] 0x000000000000…006322d8 data: 0x000000000000000000…0c839a2c |
| 0x395726…24cd44 | 5 days agoWed, 12 Aug 2026 21:48:05 UTC | 0x3af790…0ecc | [0] 0x000000000000…7adeabf2 [1] 0x000000000000…006322d8 data: 0x000000000000000000…c4052bb8 |
| 0xfbdb67…056d66 | 5 days agoWed, 12 Aug 2026 21:48:04 UTC | 0x3af790…0ecc | [0] 0x000000000000…c016e2cd [1] 0x000000000000…006322d8 data: 0x000000000000000000…9724ca71 |
| 0x80e48e…e1b040 | 5 days agoWed, 12 Aug 2026 21:48:04 UTC | 0x3af790…0ecc | [0] 0x000000000000…8843942d [1] 0x000000000000…006322d8 data: 0x000000000000000000…55fcd49e |
| 0x5adb92…fee6d7 | 5 days agoWed, 12 Aug 2026 21:48:03 UTC | 0x3af790…0ecc | [0] 0x000000000000…6e7c228e [1] 0x000000000000…006322d8 data: 0x000000000000000000…49920ded |
| 0x9bf2f2…809c8b | 5 days agoWed, 12 Aug 2026 21:48:02 UTC | 0x3af790…0ecc | [0] 0x000000000000…8e08627e [1] 0x000000000000…006322d8 data: 0x000000000000000000…12cfc41a |
| 0x489a9a…3ff893 | 5 days agoWed, 12 Aug 2026 21:48:02 UTC | 0x3af790…0ecc | [0] 0x000000000000…0ae6a75b [1] 0x000000000000…006322d8 data: 0x000000000000000000…ed584247 |
| 0x218f20…ed37bc | 5 days agoWed, 12 Aug 2026 21:48:01 UTC | 0x3af790…0ecc | [0] 0x000000000000…17657d51 [1] 0x000000000000…006322d8 data: 0x000000000000000000…0fec6027 |
| 0x4f0068…be9790 | 5 days agoWed, 12 Aug 2026 21:48:01 UTC | 0x3af790…0ecc | [0] 0x000000000000…a69bdfa2 [1] 0x000000000000…006322d8 data: 0x000000000000000000…f116b2de |
| 0x528c04…bf34d5 | 5 days agoWed, 12 Aug 2026 21:48:00 UTC | 0x3af790…0ecc | [0] 0x000000000000…12024352 [1] 0x000000000000…006322d8 data: 0x000000000000000000…6f7ef60c |
| 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 | |||||||||
| Transaction Hash | Method ? | Block | Age | From | To | Amount | Txn Fee ? | ||
|---|---|---|---|---|---|---|---|---|---|
| 0xa4f24c…273279 | rescueToken | 34,863,880 | 5 days agoWed, 12 Aug 2026 21:48:16 UTC | 0x407f…22d8 | IN | NoxaBuyBurner | $0.000 ETH | 0.00000264 | |
| 0xf4d836…9f9449 | rescueToken | 34,863,871 | 5 days agoWed, 12 Aug 2026 21:48:15 UTC | 0x407f…22d8 | IN | NoxaBuyBurner | $0.000 ETH | 0.00000268 | |
| 0x8dde16…9e8996 | rescueToken | 34,863,864 | 5 days agoWed, 12 Aug 2026 21:48:14 UTC | 0x407f…22d8 | IN | NoxaBuyBurner | $0.000 ETH | 0.00000266 | |
| 0xad4f52…5dab57 | rescueToken | 34,863,857 | 5 days agoWed, 12 Aug 2026 21:48:13 UTC | 0x407f…22d8 | IN | NoxaBuyBurner | $0.000 ETH | 0.00000269 | |
| 0x6c311a…513471 | rescueToken | 34,863,851 | 5 days agoWed, 12 Aug 2026 21:48:13 UTC | 0x407f…22d8 | IN | NoxaBuyBurner | $0.000 ETH | 0.00000264 | |
| 0x2249fa…e1589c | rescueToken | 34,863,845 | 5 days agoWed, 12 Aug 2026 21:48:12 UTC | 0x407f…22d8 | IN | NoxaBuyBurner | $0.000 ETH | 0.00000266 | |
| 0x0e8c83…9e5ccf | rescueToken | 34,863,839 | 5 days agoWed, 12 Aug 2026 21:48:12 UTC | 0x407f…22d8 | IN | NoxaBuyBurner | $0.000 ETH | 0.00000268 | |
| 0x8898f2…8c2acd | rescueToken | 34,863,833 | 5 days agoWed, 12 Aug 2026 21:48:11 UTC | 0x407f…22d8 | IN | NoxaBuyBurner | $0.000 ETH | 0.00000266 | |
| 0xf10c06…4e6b5c | rescueToken | 34,863,827 | 5 days agoWed, 12 Aug 2026 21:48:10 UTC | 0x407f…22d8 | IN | NoxaBuyBurner | $0.000 ETH | 0.00000272 | |
| 0x877e97…2bcfa1 | rescueToken | 34,863,820 | 5 days agoWed, 12 Aug 2026 21:48:10 UTC | 0x407f…22d8 | IN | NoxaBuyBurner | $0.000 ETH | 0.00000264 | |
| 0x44d42c…720a23 | rescueToken | 34,863,809 | 5 days agoWed, 12 Aug 2026 21:48:08 UTC | 0x407f…22d8 | IN | NoxaBuyBurner | $0.000 ETH | 0.00000268 | |
| 0x6c80d9…4a20a6 | rescueToken | 34,863,802 | 5 days agoWed, 12 Aug 2026 21:48:08 UTC | 0x407f…22d8 | IN | NoxaBuyBurner | $0.000 ETH | 0.00000265 | |
| 0x88531d…756326 | rescueToken | 34,863,796 | 5 days agoWed, 12 Aug 2026 21:48:07 UTC | 0x407f…22d8 | IN | NoxaBuyBurner | $0.000 ETH | 0.00000270 | |
| 0xb3415e…1debf4 | rescueToken | 34,863,790 | 5 days agoWed, 12 Aug 2026 21:48:07 UTC | 0x407f…22d8 | IN | NoxaBuyBurner | $0.000 ETH | 0.00000272 | |
| 0xc53564…4e09c8 | rescueToken | 34,863,784 | 5 days agoWed, 12 Aug 2026 21:48:06 UTC | 0x407f…22d8 | IN | NoxaBuyBurner | $0.000 ETH | 0.00000267 | |
| 0x9e33dc…b40b5e | rescueToken | 34,863,778 | 5 days agoWed, 12 Aug 2026 21:48:05 UTC | 0x407f…22d8 | IN | NoxaBuyBurner | $0.000 ETH | 0.00000267 | |
| 0x395726…24cd44 | rescueToken | 34,863,772 | 5 days agoWed, 12 Aug 2026 21:48:05 UTC | 0x407f…22d8 | IN | NoxaBuyBurner | $0.000 ETH | 0.00000264 | |
| 0xfbdb67…056d66 | rescueToken | 34,863,766 | 5 days agoWed, 12 Aug 2026 21:48:04 UTC | 0x407f…22d8 | IN | NoxaBuyBurner | $0.000 ETH | 0.00000267 | |
| 0x80e48e…e1b040 | rescueToken | 34,863,760 | 5 days agoWed, 12 Aug 2026 21:48:04 UTC | 0x407f…22d8 | IN | NoxaBuyBurner | $0.000 ETH | 0.00000270 | |
| 0x5adb92…fee6d7 | rescueToken | 34,863,754 | 5 days agoWed, 12 Aug 2026 21:48:03 UTC | 0x407f…22d8 | IN | NoxaBuyBurner | $0.000 ETH | 0.00000266 | |
| 0x9bf2f2…809c8b | rescueToken | 34,863,748 | 5 days agoWed, 12 Aug 2026 21:48:02 UTC | 0x407f…22d8 | IN | NoxaBuyBurner | $0.000 ETH | 0.00000270 | |
| 0x489a9a…3ff893 | rescueToken | 34,863,742 | 5 days agoWed, 12 Aug 2026 21:48:02 UTC | 0x407f…22d8 | IN | NoxaBuyBurner | $0.000 ETH | 0.00000264 | |
| 0x218f20…ed37bc | rescueToken | 34,863,736 | 5 days agoWed, 12 Aug 2026 21:48:01 UTC | 0x407f…22d8 | IN | NoxaBuyBurner | $0.000 ETH | 0.00000266 | |
| 0x4f0068…be9790 | rescueToken | 34,863,730 | 5 days agoWed, 12 Aug 2026 21:48:01 UTC | 0x407f…22d8 | IN | NoxaBuyBurner | $0.000 ETH | 0.00000267 | |
| 0x528c04…bf34d5 | rescueToken | 34,863,723 | 5 days agoWed, 12 Aug 2026 21:48:00 UTC | 0x407f…22d8 | IN | NoxaBuyBurner | $0.000 ETH | 0.00000265 |
| Block | Age | Parent Transaction Hash | Type | Method | From | To | Value | |
|---|---|---|---|---|---|---|---|---|
| no internal transactions found for this address yet (traced blocks + on-demand) | ||||||||
| Transaction Hash | Method | Block | Age | From | To | Amount | Token | ||
|---|---|---|---|---|---|---|---|---|---|
| 0xd72269e5…3311e5 | Transfer | 38,797,117 | 18 hrs agoMon, 17 Aug 2026 11:22:24 UTC | 0xa24d…3bbe | IN | 0xee0a…7748 | 0.0005 WETH | WETH (WETH) | |
| 0x82e89c61…fd5a85 | Transfer | 38,056,625 | 1 day agoSun, 16 Aug 2026 14:43:50 UTC | 0xb545…cc2c | IN | 0xee0a…7748 | 14 WETH | Wrapped Small ETH (WETH) | |
| 0xf0c6f540…2b0a4f | Transfer | 37,960,422 | 1 day agoSun, 16 Aug 2026 12:02:49 UTC | 0xa24d…3bbe | IN | 0xee0a…7748 | 0.0005 WETH | WETH (WETH) | |
| 0x8f79b320…f4313e | Transfer | 37,345,113 | 2 days agoSat, 15 Aug 2026 18:53:28 UTC | 0xa24d…3bbe | IN | 0xee0a…7748 | 0.0005 WETH | WETH (WETH) | |
| 0xa4f24c77…273279 | Transfer | 34,863,880 | 5 days agoWed, 12 Aug 2026 21:48:16 UTC | 0xee0a…7748 | OUT | 0x407f…22d8 | 5,805,347.082207 robinhood | robinhood (robinhood) | |
| 0xf4d83611…9f9449 | Transfer | 34,863,871 | 5 days agoWed, 12 Aug 2026 21:48:15 UTC | 0xee0a…7748 | OUT | 0x407f…22d8 | 1,249,098.483472 ceshcet | ceshcet (ceshcet) | |
| 0x8dde1632…9e8996 | Transfer | 34,863,864 | 5 days agoWed, 12 Aug 2026 21:48:14 UTC | 0xee0a…7748 | OUT | 0x407f…22d8 | $NaN11,326,144.287604 GUS | Gus the Gopher (GUS) | |
| 0xad4f52ea…5dab57 | Transfer | 34,863,857 | 5 days agoWed, 12 Aug 2026 21:48:13 UTC | 0xee0a…7748 | OUT | 0x407f…22d8 | 1,623,818.924138 BELIEVERS | BUILT BY THE BELIEVERS FOR THE CULTURE (BELIEVERS) | |
| 0x6c311a0c…513471 | Transfer | 34,863,851 | 5 days agoWed, 12 Aug 2026 21:48:13 UTC | 0xee0a…7748 | OUT | 0x407f…22d8 | 14,540.285359 ELON | ELON THE WARRIOR (ELON) | |
| 0x2249faec…e1589c | Transfer | 34,863,845 | 5 days agoWed, 12 Aug 2026 21:48:12 UTC | 0xee0a…7748 | OUT | 0x407f…22d8 | 526,202.552704 NOXACTO | noxa cto (NOXACTO) | |
| 0x0e8c8363…9e5ccf | Transfer | 34,863,839 | 5 days agoWed, 12 Aug 2026 21:48:12 UTC | 0xee0a…7748 | OUT | 0x407f…22d8 | 1,685,630.853185 MNGA | Make Noxa Great Again (MNGA) | |
| 0x8898f26f…8c2acd | Transfer | 34,863,833 | 5 days agoWed, 12 Aug 2026 21:48:11 UTC | 0xee0a…7748 | OUT | 0x407f…22d8 | 241,899.734368 LILJOHN | Little John (LILJOHN) | |
| 0xf10c063a…4e6b5c | Transfer | 34,863,827 | 5 days agoWed, 12 Aug 2026 21:48:10 UTC | 0xee0a…7748 | OUT | 0x407f…22d8 | 356,156.979547 NGMI | NOXA GONA MAKE IT (NGMI) | |
| 0x877e97fd…2bcfa1 | Transfer | 34,863,820 | 5 days agoWed, 12 Aug 2026 21:48:10 UTC | 0xee0a…7748 | OUT | 0x407f…22d8 | 1,400,602.717626 NTO | noxa takes over (NTO) | |
| 0x44d42c92…720a23 | Transfer | 34,863,809 | 5 days agoWed, 12 Aug 2026 21:48:08 UTC | 0xee0a…7748 | OUT | 0x407f…22d8 | 229,148.721947 GMONKE | Monke Green (GMONKE) | |
| 0x6c80d935…4a20a6 | Transfer | 34,863,802 | 5 days agoWed, 12 Aug 2026 21:48:08 UTC | 0xee0a…7748 | OUT | 0x407f…22d8 | 1,019,214.667930 nuxa | nuxa (nuxa) | |
| 0x88531d66…756326 | Transfer | 34,863,796 | 5 days agoWed, 12 Aug 2026 21:48:07 UTC | 0xee0a…7748 | OUT | 0x407f…22d8 | 847,888.330302 NOXA Reloaded | NOXA Reloaded (NOXA Reloaded) | |
| 0xb3415e1f…1debf4 | Transfer | 34,863,790 | 5 days agoWed, 12 Aug 2026 21:48:07 UTC | 0xee0a…7748 | OUT | 0x407f…22d8 | 165,926.348243 CASHCATr | CashCatReborn (CASHCATr) | |
| 0xc5356483…4e09c8 | Transfer | 34,863,784 | 5 days agoWed, 12 Aug 2026 21:48:06 UTC | 0xee0a…7748 | OUT | 0x407f…22d8 | 364,870.010727 BACK | Back in the Game (BACK) | |
| 0x9e33dc6a…b40b5e | Transfer | 34,863,778 | 5 days agoWed, 12 Aug 2026 21:48:05 UTC | 0xee0a…7748 | OUT | 0x407f…22d8 | $NaN18,638,870.714261 PLAS | ||
| 0x39572634…24cd44 | Transfer | 34,863,772 | 5 days agoWed, 12 Aug 2026 21:48:05 UTC | 0xee0a…7748 | OUT | 0x407f…22d8 | 270,301.766419 BRODIE | Robinhood Dog (BRODIE) | |
| 0xfbdb67f4…056d66 | Transfer | 34,863,766 | 5 days agoWed, 12 Aug 2026 21:48:04 UTC | 0xee0a…7748 | OUT | 0x407f…22d8 | 299,102.349238 tenevhouse | tenev house (tenevhouse) | |
| 0x80e48eb8…e1b040 | Transfer | 34,863,760 | 5 days agoWed, 12 Aug 2026 21:48:04 UTC | 0xee0a…7748 | OUT | 0x407f…22d8 | 5,507,634.699123 NOXA | NOXA (NOXA) | |
| 0x5adb9283…fee6d7 | Transfer | 34,863,754 | 5 days agoWed, 12 Aug 2026 21:48:03 UTC | 0xee0a…7748 | OUT | 0x407f…22d8 | 300,503.341955 SAUCE | Tendies Need Sauce (SAUCE) | |
| 0x9bf2f218…809c8b | Transfer | 34,863,748 | 5 days agoWed, 12 Aug 2026 21:48:02 UTC | 0xee0a…7748 | OUT | 0x407f…22d8 | $NaN17,753,260.094048 NOXA | noxa.fi (NOXA) |