// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
import {IERC20 as OZIERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import {ReentrancyGuard} from "@openzeppelin/contracts/utils/ReentrancyGuard.sol";
import {TickMath} from "@uniswap/v3-core/contracts/libraries/TickMath.sol";
import {LiquidityAmounts} from "@uniswap/v3-periphery/contracts/libraries/LiquidityAmounts.sol";
import {V4PoolKey, IV4PositionManager, IPermit2} from "./interfaces/IV4.sol";
interface INPMCreate {
struct MintParams {
address token0;
address token1;
uint24 fee;
int24 tickLower;
int24 tickUpper;
uint256 amount0Desired;
uint256 amount1Desired;
uint256 amount0Min;
uint256 amount1Min;
address recipient;
uint256 deadline;
}
function createAndInitializePoolIfNecessary(
address token0,
address token1,
uint24 fee,
uint160 sqrtPriceX96
) external payable returns (address pool);
function mint(MintParams calldata params)
external
payable
returns (uint256 tokenId, uint128 liquidity, uint256 amount0, uint256 amount1);
}
interface IV4PoolManager {
function initialize(V4PoolKey memory key, uint160 sqrtPriceX96) external returns (int24 tick);
}
interface IV3Pool {
function slot0()
external
view
returns (uint160 sqrtPriceX96, int24, uint16, uint16, uint16, uint8, bool);
}
interface IV4Next {
function nextTokenId() external view returns (uint256);
}
/// @title AlpsPoolCreator — create + seed the first liquidity of a new pool
///
/// The opt-in launch lane: initialize a brand-new Uniswap v3 or v4 pool at a
/// creator-set price, take the immutable 0.1% platform fee on each seeded side,
/// and mint the first position straight to the creator. A fresh pool has no
/// liquidity, so there is NO swap here — the contract only initializes, skims
/// the fee, and mints; every non-fee wei is deposited or refunded in the tx.
///
/// v4 pools created here are forced hooks == 0 (no custom hook), so this
/// contract can never mint a honeypot/withdraw-tax pool into existence.
///
/// Trust surface: PLATFORM_FEE_BPS and feeSink are immutable; no owner, no
/// keeper, no pause, no upgrade, no fund access. Holds nothing at rest.
contract AlpsPoolCreator is ReentrancyGuard {
using SafeERC20 for OZIERC20;
uint256 public constant PLATFORM_FEE_BPS = 10; // 0.1% each seeded side
uint256 public constant BPS = 10_000;
uint8 internal constant MINT_POSITION = 0x02;
uint8 internal constant SETTLE_PAIR = 0x0d;
uint8 internal constant SWEEP = 0x14;
address internal constant NATIVE = address(0);
uint160 internal constant MAX_UINT160 = type(uint160).max;
uint48 internal constant MAX_UINT48 = type(uint48).max;
INPMCreate public immutable npm;
IV4PositionManager public immutable posm;
IV4PoolManager public immutable poolManager;
IPermit2 public immutable permit2;
address public immutable feeSink;
event PoolSeededV3(
address indexed creator,
address indexed token0,
address indexed token1,
uint24 fee,
uint256 tokenId,
uint128 liquidity
);
event PoolSeededV4(
address indexed creator,
address indexed currency0,
address indexed currency1,
uint24 fee,
uint256 tokenId,
uint128 liquidity
);
error BadParams();
error HooksNotAllowed();
error NativeMismatch();
error SlippageOrDust();
error PriceMismatch();
struct SeedV3Params {
address token0; // must be < token1 (Uniswap ordering); both ERC20 (wrap WETH off-chain)
address token1;
uint24 fee;
uint160 sqrtPriceX96; // initial price the creator sets
int24 tickLower;
int24 tickUpper;
uint256 amount0; // seed amounts; one may be 0 for a single-sided seed
uint256 amount1;
uint256 amount0Min;
uint256 amount1Min;
uint256 deadline;
}
struct SeedV4Params {
V4PoolKey poolKey; // hooks MUST be 0; currency0 < currency1; currency0 may be native
uint160 sqrtPriceX96;
int24 tickLower;
int24 tickUpper;
uint256 amount0;
uint256 amount1;
uint256 amount0Min;
uint256 amount1Min;
uint256 deadline;
}
constructor(
address npm_,
address posm_,
address poolManager_,
address permit2_,
address feeSink_
) {
if (
npm_ == address(0) || posm_ == address(0) || poolManager_ == address(0)
|| permit2_ == address(0) || feeSink_ == address(0)
) revert BadParams();
npm = INPMCreate(npm_);
posm = IV4PositionManager(posm_);
poolManager = IV4PoolManager(poolManager_);
permit2 = IPermit2(permit2_);
feeSink = feeSink_;
}
receive() external payable {} // native refunds from POSM sweeps land here
// --------------------------------------------------------------- v3 ----
function createAndSeedV3(SeedV3Params calldata p)
external
nonReentrant
returns (uint256 tokenId, uint128 liquidity)
{
if (p.token0 >= p.token1 || p.token0 == address(0)) revert BadParams();
if (p.amount0 == 0 && p.amount1 == 0) revert BadParams();
if (p.tickLower >= p.tickUpper) revert BadParams();
if (p.amount0 > 0) {
OZIERC20(p.token0).safeTransferFrom(msg.sender, address(this), p.amount0);
}
if (p.amount1 > 0) {
OZIERC20(p.token1).safeTransferFrom(msg.sender, address(this), p.amount1);
}
uint256 net0 = _skimErc20(p.token0, p.amount0);
uint256 net1 = _skimErc20(p.token1, p.amount1);
// create + initialize the pool at the creator's price. If the pool
// ALREADY exists this is a no-op that keeps the existing price — a
// front-runner could initialize it at a manipulated price first, then
// our mint would seed at THAT price and be arb'd. So require the live
// price to equal the creator's: fresh pool sets it exactly; a mismatch
// (pre-existing or front-run) reverts, funds returned. (v4 needs no such
// guard: PoolManager.initialize reverts outright if already initialized.)
address pool = npm.createAndInitializePoolIfNecessary(p.token0, p.token1, p.fee, p.sqrtPriceX96);
(uint160 livePrice,,,,,,) = IV3Pool(pool).slot0();
if (livePrice != p.sqrtPriceX96) revert PriceMismatch();
if (net0 > 0) OZIERC20(p.token0).forceApprove(address(npm), net0);
if (net1 > 0) OZIERC20(p.token1).forceApprove(address(npm), net1);
(tokenId, liquidity,,) = npm.mint(
INPMCreate.MintParams({
token0: p.token0,
token1: p.token1,
fee: p.fee,
tickLower: p.tickLower,
tickUpper: p.tickUpper,
amount0Desired: net0,
amount1Desired: net1,
amount0Min: p.amount0Min,
amount1Min: p.amount1Min,
recipient: msg.sender, // NFT straight to the creator
deadline: p.deadline
})
);
_refundErc20(p.token0, msg.sender);
_refundErc20(p.token1, msg.sender);
emit PoolSeededV3(msg.sender, p.token0, p.token1, p.fee, tokenId, liquidity);
}
// --------------------------------------------------------------- v4 ----
function createAndSeedV4(SeedV4Params calldata p)
external
payable
nonReentrant
returns (uint256 tokenId, uint128 liquidity)
{
address c0 = p.poolKey.currency0;
address c1 = p.poolKey.currency1;
if (p.poolKey.hooks != NATIVE) revert HooksNotAllowed();
if (c0 >= c1) revert BadParams(); // native (0) sorts first, so c0==0 is valid
if (p.amount0 == 0 && p.amount1 == 0) revert BadParams();
if (p.tickLower >= p.tickUpper) revert BadParams();
if (p.amount0 > type(uint128).max || p.amount1 > type(uint128).max) revert BadParams();
bool native0 = c0 == NATIVE;
if (native0) {
if (msg.value != p.amount0) revert NativeMismatch();
} else {
if (msg.value != 0) revert NativeMismatch();
if (p.amount0 > 0) OZIERC20(c0).safeTransferFrom(msg.sender, address(this), p.amount0);
}
if (p.amount1 > 0) OZIERC20(c1).safeTransferFrom(msg.sender, address(this), p.amount1);
uint256 net0 = _skimAny(c0, p.amount0);
uint256 net1 = _skimAny(c1, p.amount1);
// initialize the pool at the creator's price (reverts if it already
// exists; the frontend routes existing pools to the add flow)
poolManager.initialize(p.poolKey, p.sqrtPriceX96);
uint160 sqrtL = TickMath.getSqrtRatioAtTick(p.tickLower);
uint160 sqrtU = TickMath.getSqrtRatioAtTick(p.tickUpper);
liquidity = LiquidityAmounts.getLiquidityForAmounts(p.sqrtPriceX96, sqrtL, sqrtU, net0, net1);
if (liquidity == 0) revert SlippageOrDust();
(uint256 mintAmt0, uint256 mintAmt1) =
LiquidityAmounts.getAmountsForLiquidity(p.sqrtPriceX96, sqrtL, sqrtU, liquidity);
if (mintAmt0 < p.amount0Min || mintAmt1 < p.amount1Min) revert SlippageOrDust();
if (!native0 && net0 > 0) _permitPosm(c0, net0);
if (net1 > 0) _permitPosm(c1, net1);
bytes memory actions = native0
? abi.encodePacked(MINT_POSITION, SETTLE_PAIR, SWEEP)
: abi.encodePacked(MINT_POSITION, SETTLE_PAIR);
bytes[] memory params = new bytes[](native0 ? 3 : 2);
params[0] = abi.encode(
p.poolKey,
p.tickLower,
p.tickUpper,
uint256(liquidity),
uint128(net0),
uint128(net1),
msg.sender, // NFT straight to the creator
bytes("")
);
params[1] = abi.encode(c0, c1);
if (native0) params[2] = abi.encode(NATIVE, address(this));
uint256 idBefore = IV4Next(address(posm)).nextTokenId();
posm.modifyLiquidities{value: native0 ? net0 : 0}(abi.encode(actions, params), p.deadline);
tokenId = idBefore;
_refundAny(c0, msg.sender);
_refundAny(c1, msg.sender);
emit PoolSeededV4(msg.sender, c0, c1, p.poolKey.fee, tokenId, liquidity);
}
// ----------------------------------------------------------- helpers ---
function _skimErc20(address token, uint256 amount) internal returns (uint256) {
if (amount == 0) return 0;
uint256 fee = (amount * PLATFORM_FEE_BPS) / BPS;
if (fee > 0) OZIERC20(token).safeTransfer(feeSink, fee);
return amount - fee;
}
function _skimAny(address token, uint256 amount) internal returns (uint256) {
if (amount == 0) return 0;
uint256 fee = (amount * PLATFORM_FEE_BPS) / BPS;
if (fee > 0) {
if (token == NATIVE) {
(bool ok,) = feeSink.call{value: fee}("");
if (!ok) revert BadParams();
} else {
OZIERC20(token).safeTransfer(feeSink, fee);
}
}
return amount - fee;
}
function _permitPosm(address token, uint256 amount) internal {
OZIERC20(token).forceApprove(address(permit2), amount);
uint160 amt = amount > MAX_UINT160 ? MAX_UINT160 : uint160(amount);
permit2.approve(token, address(posm), amt, MAX_UINT48);
}
function _refundErc20(address token, address to) internal {
uint256 bal = OZIERC20(token).balanceOf(address(this));
if (bal > 0) OZIERC20(token).safeTransfer(to, bal);
}
function _refundAny(address token, address to) internal {
if (token == NATIVE) {
uint256 bal = address(this).balance;
if (bal > 0) {
(bool ok,) = to.call{value: bal}("");
if (!ok) revert BadParams();
}
} else {
_refundErc20(token, to);
}
}
}[
{
"type": "constructor",
"inputs": [
{
"name": "npm_",
"type": "address",
"internalType": "address"
},
{
"name": "posm_",
"type": "address",
"internalType": "address"
},
{
"name": "poolManager_",
"type": "address",
"internalType": "address"
},
{
"name": "permit2_",
"type": "address",
"internalType": "address"
},
{
"name": "feeSink_",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "nonpayable"
},
{
"name": "BadParams",
"type": "error",
"inputs": []
},
{
"name": "HooksNotAllowed",
"type": "error",
"inputs": []
},
{
"name": "NativeMismatch",
"type": "error",
"inputs": []
},
{
"name": "PriceMismatch",
"type": "error",
"inputs": []
},
{
"name": "ReentrancyGuardReentrantCall",
"type": "error",
"inputs": []
},
{
"name": "SafeERC20FailedOperation",
"type": "error",
"inputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "SlippageOrDust",
"type": "error",
"inputs": []
},
{
"name": "T",
"type": "error",
"inputs": []
},
{
"name": "PoolSeededV3",
"type": "event",
"inputs": [
{
"name": "creator",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "token0",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "token1",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "fee",
"type": "uint24",
"indexed": false,
"internalType": "uint24"
},
{
"name": "tokenId",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "liquidity",
"type": "uint128",
"indexed": false,
"internalType": "uint128"
}
],
"anonymous": false
},
{
"name": "PoolSeededV4",
"type": "event",
"inputs": [
{
"name": "creator",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "currency0",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "currency1",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "fee",
"type": "uint24",
"indexed": false,
"internalType": "uint24"
},
{
"name": "tokenId",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "liquidity",
"type": "uint128",
"indexed": false,
"internalType": "uint128"
}
],
"anonymous": false
},
{
"name": "BPS",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "PLATFORM_FEE_BPS",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "createAndSeedV3",
"type": "function",
"inputs": [
{
"name": "p",
"type": "tuple",
"components": [
{
"name": "token0",
"type": "address",
"internalType": "address"
},
{
"name": "token1",
"type": "address",
"internalType": "address"
},
{
"name": "fee",
"type": "uint24",
"internalType": "uint24"
},
{
"name": "sqrtPriceX96",
"type": "uint160",
"internalType": "uint160"
},
{
"name": "tickLower",
"type": "int24",
"internalType": "int24"
},
{
"name": "tickUpper",
"type": "int24",
"internalType": "int24"
},
{
"name": "amount0",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "amount1",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "amount0Min",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "amount1Min",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "deadline",
"type": "uint256",
"internalType": "uint256"
}
],
"internalType": "struct AlpsPoolCreator.SeedV3Params"
}
],
"outputs": [
{
"name": "tokenId",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "liquidity",
"type": "uint128",
"internalType": "uint128"
}
],
"stateMutability": "nonpayable"
},
{
"name": "createAndSeedV4",
"type": "function",
"inputs": [
{
"name": "p",
"type": "tuple",
"components": [
{
"name": "poolKey",
"type": "tuple",
"components": [
{
"name": "currency0",
"type": "address",
"internalType": "address"
},
{
"name": "currency1",
"type": "address",
"internalType": "address"
},
{
"name": "fee",
"type": "uint24",
"internalType": "uint24"
},
{
"name": "tickSpacing",
"type": "int24",
"internalType": "int24"
},
{
"name": "hooks",
"type": "address",
"internalType": "address"
}
],
"internalType": "struct V4PoolKey"
},
{
"name": "sqrtPriceX96",
"type": "uint160",
"internalType": "uint160"
},
{
"name": "tickLower",
"type": "int24",
"internalType": "int24"
},
{
"name": "tickUpper",
"type": "int24",
"internalType": "int24"
},
{
"name": "amount0",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "amount1",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "amount0Min",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "amount1Min",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "deadline",
"type": "uint256",
"internalType": "uint256"
}
],
"internalType": "struct AlpsPoolCreator.SeedV4Params"
}
],
"outputs": [
{
"name": "tokenId",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "liquidity",
"type": "uint128",
"internalType": "uint128"
}
],
"stateMutability": "payable"
},
{
"name": "feeSink",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "npm",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "contract INPMCreate"
}
],
"stateMutability": "view"
},
{
"name": "permit2",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "contract IPermit2"
}
],
"stateMutability": "view"
},
{
"name": "poolManager",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "contract IV4PoolManager"
}
],
"stateMutability": "view"
},
{
"name": "posm",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "contract IV4PositionManager"
}
],
"stateMutability": "view"
},
{
"type": "receive",
"stateMutability": "payable"
}
]0x610120346101af57601f611eee38819003918201601f19168301916001600160401b038311848410176101b35780849260a0946040528339810103126101af57610048816101c7565b90610055602082016101c7565b610061604083016101c7565b9061007a6080610073606086016101c7565b94016101c7565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055936001600160a01b03168015801561019e575b801561018d575b801561017c575b801561016b575b61015c576080526001600160a01b0390811660a05290811660c0521660e05261010052604051611d1290816101dc823960805181818160ed015261021a015260a05181818161013101528181610b2b0152611791015260c05181818160a601526108c4015260e051818181610f56015261171d015261010051818181610771015281816112f10152818161133601526118670152f35b63019af63760e01b5f5260045ffd5b506001600160a01b038516156100c6565b506001600160a01b038416156100bf565b506001600160a01b038316156100b8565b506001600160a01b038216156100b1565b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036101af5756fe608080604052600436101561001c575b50361561001a575f80fd5b005b5f905f3560e01c90816312261ee714610f39575080631836763d146107b2578063249d39e9146107955780634b38474d146107515780634d77cdc614610171578063539aa77f146101555780636f70a7fa146101115780637f1e9ef6146100cd5763dc4c90d30361000f57346100ca57806003193601126100ca5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b80fd5b50346100ca57806003193601126100ca5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b50346100ca57806003193601126100ca5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b50346100ca57806003193601126100ca576020604051600a8152f35b50346100ca576101603660031901126100ca5761018c611166565b610194610f7a565b6001600160a01b03806101a5610f90565b16911610801590610739575b61072a5760c4359081158080610720575b610711576101ce610fc6565b6101d6610fd6565b60020b9060020b121561071157156106f8575b61020f61020660e43593846106d5575b610201610f7a565b61182d565b92610201610f90565b916001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001692610243610f7a565b6001600160a01b03610253610f90565b62ffffff61025f611145565b83610268610ffc565b6040516309f56ab160e11b815296821660048801529316602486015216604484015216606482015260208160848187895af1908115610687578491610692575b5060e06001600160a01b0391600460405180948193633850c7bd861b8352165afa9081156106875784916105ed575b506001600160a01b03806102e9610ffc565b169116036105de57816105c4575b806105a4575b610305610f7a565b9361030e610f90565b92610317611145565b90610320610fc6565b90610329610fd6565b9060405195610160870199878b1067ffffffffffffffff8c111761059057899a60409a999a526001600160a01b0316875260208701986001600160a01b03168952604087019462ffffff168552606087019360020b8452608087019260020b835260a0870191825260c0870190815260e08701916101043583526101008801936101243585526101208901953387526101408a01976101443589526040519c8d9b634418b22b60e11b8d52516001600160a01b031660048d0152516001600160a01b031660248c01525162ffffff1660448b01525160020b60648a01525160020b60848901525160a48801525160c48701525160e486015251610104850152516001600160a01b031661012484015251610144830152815a9361016492608095f19182156105845780918193610533575b505061046d33610468610f7a565b6119a1565b61047933610468610f90565b610481610f7a565b610489610f90565b610491611145565b7f4734b22c89ba0a5e91062212bd10f93a2a1da9decbccb8bab72dc003ddada0526001600160a01b03806040519416941692806104f288883396849160409194936001600160801b039162ffffff6060860197168552602085015216910152565b0390a460017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055604080519182526001600160801b03929092166020820152f35b915091506080813d60801161057c575b8161055060809383611012565b810103126105785760208151910151916001600160801b03831683036100ca57505f8061045a565b5080fd5b3d9150610543565b604051903d90823e3d90fd5b634e487b7160e01b8a52604160045260248afd5b6105bf81856001600160a01b036105b9610f90565b16611894565b6102fd565b6105d982856001600160a01b036105b9610f7a565b6102f7565b63043a8b0160e41b8352600483fd5b905060e0813d60e01161067f575b8161060860e09383611012565b81010312610677578051906001600160a01b038216820361067b5761062f60208201611048565b5061063c60408201611157565b5061064960608201611157565b5061065660808201611157565b5060a081015160ff81160361067b5760c0015180151503610677575f6102d7565b8380fd5b8480fd5b3d91506105fb565b6040513d86823e3d90fd5b90506020813d6020116106cd575b816106ad60209383611012565b8101031261067757516001600160a01b03811681036106775760e06102a8565b3d91506106a0565b6106f3856001600160a01b036106e9610f90565b16309033906111c4565b6101f9565b61070c826001600160a01b036106e9610f7a565b6101e9565b63019af63760e01b8252600482fd5b5060e435156101c2565b63019af63760e01b8152600490fd5b506001600160a01b0361074a610f7a565b16156101b1565b50346100ca57806003193601126100ca5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b50346100ca57806003193601126100ca5760206040516127108152f35b6101a0366003190112610ca8576107c7611166565b6107cf610f7a565b6107d7610f90565b6084356001600160a01b03811690818103610ca85750610f2a576001600160a01b0381166001600160a01b03831681811015610efd57610104358015938480610f1f575b610efd57610827610fa6565b61082f610fb6565b60020b9060020b1215610efd576001600160801b0382118015610f0c575b610efd578215948515610ee35750813403610ed4575b61088161087a610124359384610ec3575b886112ae565b92826112ae565b9561088a610fe6565b60405163313b65df60e11b8152906001600160a01b03906108ad60048401611056565b1660a482015260208160c4815f6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165af18015610c9d57610e8c575b506109026108fd610fa6565b611366565b9261090e6108fd610fb6565b97610917610fe6565b6001600160a01b03808b169087161199908382888d610e83575b6001600160a01b0384811694879183168611610e215750506109539350611a9a565b995b6001600160801b038b16968715610dbe578b90610970610fe6565b93809180915f915f96610e16575b50506001600160a01b038681169083168111610dda5750506109a1939450611b11565b6101443511908115610dcd575b50610dbe57871580610db5575b610da6575b80610d97575b8715610d6b57604051600160f91b6020820152600d60f81b6021820152600560fa1b6022820152600381526109fc602382611012565b905b8815610d625760ff60035b1690610a14826110c8565b91610a226040519384611012565b808352610a31601f19916110c8565b015f5b818110610d51575050610ad0610a8391610ac2610a4f610fa6565b6001600160801b03610a5f610fb6565b9360209c8d9560405194610a738887611012565b5f8652604051998a988901611056565b60020b60c088015260020b60e0870152610100860152818a166101208601521661014084015233610160840152610180808401526101a08301906110e0565b03601f198101835282611012565b610ad982611104565b52610ae381611104565b50604051878782015288604082015260408152610b01606082611012565b610b0a82611125565b5288610b1582611125565b50610d1b575b604051631d5e528f60e21b8152987f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169390878b600481885afa9a8b15610c9d575f9b610cec575b5015610cde57959091610b8f925b60405193849260408585015260608401906110e0565b92601f198385030160408401528151908185528085019481808460051b8301019401955f915b848310610cac575050505050610bd4925003601f198101835282611012565b813b15610ca8575f91610c059160405196878094819363dd46508f60e01b83526040600484015260448301906110e0565b61018435602483015203925af1908115610c9d57610c3593610c2e92610c8d575b5033906117f1565b33906117f1565b610c3d611145565b6040805162ffffff9092168252602082018590526001600160801b0386169082015233907f509e0c558023e8964cf77403f87ab5c8f6b132da12eb6929d3dd45fc9b49e5239080606081016104f2565b5f610c9791611012565b5f610c26565b6040513d5f823e3d90fd5b5f80fd5b9193955091938480610cca600193601f198682030187528a516110e0565b980193019301909287959396949296610bb5565b505f959091610b8f92610b79565b909a508781813d8311610d14575b610d048183611012565b81010312610ca85751998c610b6b565b503d610cfa565b6040515f8782015230604082015260408152610d38606082611012565b610d4182611135565b52610d4b81611135565b50610b1b565b806060602080938701015201610a34565b60ff6002610a09565b604051600160f91b6020820152600d60f81b602182015260028152610d91602282611012565b906109fe565b610da1818561170a565b6109c6565b610db0828461170a565b6109c0565b508115156109bb565b6307bf3f6160e01b5f5260045ffd5b905061016435118a6109ae565b919450906001600160a01b0383161115610e0b575092610dff82610e05949583611b11565b93611ae0565b906109a1565b9350610e0592611ae0565b935091508f8061097e565b92909391946001600160a01b038216115f14610e77578291610e4791610e4d9594611a9a565b93611a5e565b6001600160801b0381166001600160801b038316105f14610e7057505b99610955565b9050610e6a565b915050610e6a92611a5e565b50508783610931565b6020813d602011610ebb575b81610ea560209383611012565b81010312610ca857610eb690611048565b6108f1565b3d9150610e98565b610ecf8530338a6111c4565b610874565b63106cab3360e21b5f5260045ffd5b34610ed45761086357610ef8823033866111c4565b610863565b63019af63760e01b5f5260045ffd5b506001600160801b03610124351161084d565b50610124351561081b565b637aba29c360e01b5f5260045ffd5b34610ca8575f366003190112610ca8576020906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b6004356001600160a01b0381168103610ca85790565b6024356001600160a01b0381168103610ca85790565b60c4358060020b8103610ca85790565b60e4358060020b8103610ca85790565b6084358060020b8103610ca85790565b60a4358060020b8103610ca85790565b60a4356001600160a01b0381168103610ca85790565b6064356001600160a01b0381168103610ca85790565b90601f8019910116810190811067ffffffffffffffff82111761103457604052565b634e487b7160e01b5f52604160045260245ffd5b51908160020b8203610ca857565b6004356001600160a01b038116809103610ca85781526024356001600160a01b038116809103610ca857602082015260443562ffffff8116809103610ca85760408201526064358060020b809103610ca8576060820152608435906001600160a01b038216809203610ca85760800152565b67ffffffffffffffff81116110345760051b60200190565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b8051156111115760200190565b634e487b7160e01b5f52603260045260245ffd5b8051600110156111115760400190565b8051600210156111115760600190565b60443562ffffff81168103610ca85790565b519061ffff82168203610ca857565b60027f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0054146111b55760027f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b633ee5aeb560e01b5f5260045ffd5b9290916001600160a01b039081604051946323b872dd60e01b5f52166004521660245260445260205f60648180865af19060015f511482161561122d575b6040525f606052156112115750565b6001600160a01b0390635274afe760e01b5f521660045260245ffd5b90600181151661124557823b15153d15161690611202565b503d5f823e3d90fd5b3d15611288573d9067ffffffffffffffff8211611034576040519161127d601f8201601f191660200184611012565b82523d5f602084013e565b606090565b9190820391821161129a57565b634e487b7160e01b5f52601160045260245ffd5b811561136057600a8202828104600a0361129a57612710900490816112db575b506112d89161128d565b90565b6001600160a01b03168061132b57505f808080847f00000000000000000000000000000000000000000000000000000000000000005af161131a61124e565b5015610efd576112d8915b916112ce565b9161135b826112d8947f000000000000000000000000000000000000000000000000000000000000000090611a1e565b611325565b50505f90565b60020b5f81121561170457805f03905b620d89e882116116f55760018216156116cc5770ffffffffffffffffffffffffffffffffff6ffffcb933bd6fad37aa2d162d1a5940015b1691600281166116b0575b60048116611694575b60088116611678575b6010811661165c575b60208116611640575b60408116611624575b60808116611608575b61010081166115ec575b61020081166115d0575b61040081166115b4575b6108008116611598575b611000811661157c575b6120008116611560575b6140008116611544575b6180008116611528575b62010000811661150c575b6202000081166114f1575b6204000081166114d6575b62080000166114bd575b5f1261149b575b6001600160a01b039063ffffffff81166114925760ff5f5b169060201c011690565b60ff6001611488565b80156114a9575f1904611470565b634e487b7160e01b5f52601260045260245ffd5b6b048a170391f7dc42444e8fa290910260801c90611469565b6d2216e584f5fa1ea926041bedfe9890920260801c9161145f565b916e5d6af8dedb81196699c329225ee6040260801c91611454565b916f09aa508b5b7a84e1c677de54f3e99bc90260801c91611449565b916f31be135f97d08fd981231505542fcfa60260801c9161143e565b916f70d869a156d2a1b890bb3df62baf32f70260801c91611434565b916fa9f746462d870fdf8a65dc1f90e061e50260801c9161142a565b916fd097f3bdfd2022b8845ad8f792aa58250260801c91611420565b916fe7159475a2c29b7443b29c7fa6e889d90260801c91611416565b916ff3392b0822b70005940c7a398e4b70f30260801c9161140c565b916ff987a7253ac413176f2b074cf7815e540260801c91611402565b916ffcbe86c7900a88aedcffc83b479aa3a40260801c916113f8565b916ffe5dee046a99a2a811c461f1969c30530260801c916113ee565b916fff2ea16466c96a3843ec78b326b528610260801c916113e5565b916fff973b41fa98c081472e6896dfb254c00260801c916113dc565b916fffcb9843d60f6159c9db58835c9266440260801c916113d3565b916fffe5caca7e10e4e61c3624eaa0941cd00260801c916113ca565b916ffff2e50f5f656932ef12357cf3c7fdcc0260801c916113c1565b916ffff97272373d413259a46990580e213a0260801c916113b8565b70ffffffffffffffffffffffffffffffffff7001000000000000000000000000000000006113ad565b6315e4079d60e11b5f5260045ffd5b80611376565b6001600160a01b03166001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691611749818484611894565b6001600160a01b038111156117e357506001600160a01b035b823b15610ca85760845f92836001600160a01b039560405196879586946387517c4560e01b86526004860152817f000000000000000000000000000000000000000000000000000000000000000016602486015216604484015265ffffffffffff60648401525af18015610c9d576117d75750565b5f6117e191611012565b565b6001600160a01b0316611762565b6001600160a01b038116611823575047908161180b575050565b5f80809381935af161181b61124e565b5015610efd57565b906117e1916119a1565b811561136057600a820291808304600a0361129a576127106112d89304918280611859575b505061128d565b61188d916001600160a01b037f00000000000000000000000000000000000000000000000000000000000000009116611a1e565b5f82611852565b916001600160a01b036040519263095ea7b360e01b5f521691826004528160245260205f60448180885af19060015f5114821615611992575b604052156118da57505050565b60405163095ea7b360e01b5f52826004525f60245260205f60448180885af19060015f511482161561197a575b6040521561195e576040519163095ea7b360e01b5f5260045260245260205f60448180865af19060015f5114821615611946575b604052156112115750565b90600181151661124557823b15153d1516169061193b565b6001600160a01b0383635274afe760e01b5f521660045260245ffd5b90600181151661124557843b15153d15161690611907565b90843b15153d151616906118cd565b6001600160a01b031690604051906370a0823160e01b8252306004830152602082602481865afa918215610c9d575f926119ea575b50816119e157505050565b6117e192611a1e565b9091506020813d602011611a16575b81611a0660209383611012565b81010312610ca85751905f6119d6565b3d91506119f9565b916001600160a01b036040519263a9059cbb60e01b5f521660045260245260205f60448180865af19060015f511482161561194657604052156112115750565b6001600160a01b0390611a80939282811683831611611a94575b031690611b7d565b6001600160801b038116908103610ca85790565b90611a78565b90611a8092916001600160a01b0382166001600160a01b03821611611ada575b6001600160a01b0390611ad1828416838316611c0a565b92031691611c57565b90611aba565b6001600160a01b036001600160801b03916112d8949382811683831611611b0b575b03169116611c0a565b90611b02565b916001600160a01b0382166001600160a01b03841611611b75575b81611b68917bffffffffffffffffffffffffffffffff0000000000000000000000006001600160a01b0386818097169403169160601b16611c57565b91169081156114a9570490565b909190611b2c565b5f19600160601b8209918160601b91828085109403938085039414611bfd5783821115610ca857600160601b82910981805f03168092046002816003021880820260020302808202600203028082026002030280820260020302808202600203028091026002030293600183805f03040190848311900302920304170290565b5080925015610ca8570490565b5f915f198183099181810293848085109403938085039414611c4d5783600160601b11156100ca575090600160601b910990828211900360a01b910360601c1790565b5050505060601c90565b915f198284099282810292838086109503948086039514611cce5784831115610ca85782910981805f03168092046002816003021880820260020302808202600203028082026002030280820260020302808202600203028091026002030293600183805f03040190848311900302920304170290565b505080925015610ca857049056fea26469706673582212209fbecde8a89e41865d5b16f5ec137b3e8d7be70ff6e5f8527c802169dc48e24464736f6c634300081a003300000000000000000000000073991a25c818bf1f1128deaab1492d45638de0d300000000000000000000000058daec3116aae6d93017baaea7749052e8a04fa70000000000000000000000008366a39cc670b4001a1121b8f6a443a643e40951000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba30000000000000000000000000ba46d24088f2f546d65f9a169d11ad8e055e01d
0x608080604052600436101561001c575b50361561001a575f80fd5b005b5f905f3560e01c90816312261ee714610f39575080631836763d146107b2578063249d39e9146107955780634b38474d146107515780634d77cdc614610171578063539aa77f146101555780636f70a7fa146101115780637f1e9ef6146100cd5763dc4c90d30361000f57346100ca57806003193601126100ca5760206040516001600160a01b037f0000000000000000000000008366a39cc670b4001a1121b8f6a443a643e40951168152f35b80fd5b50346100ca57806003193601126100ca5760206040516001600160a01b037f00000000000000000000000073991a25c818bf1f1128deaab1492d45638de0d3168152f35b50346100ca57806003193601126100ca5760206040516001600160a01b037f00000000000000000000000058daec3116aae6d93017baaea7749052e8a04fa7168152f35b50346100ca57806003193601126100ca576020604051600a8152f35b50346100ca576101603660031901126100ca5761018c611166565b610194610f7a565b6001600160a01b03806101a5610f90565b16911610801590610739575b61072a5760c4359081158080610720575b610711576101ce610fc6565b6101d6610fd6565b60020b9060020b121561071157156106f8575b61020f61020660e43593846106d5575b610201610f7a565b61182d565b92610201610f90565b916001600160a01b037f00000000000000000000000073991a25c818bf1f1128deaab1492d45638de0d31692610243610f7a565b6001600160a01b03610253610f90565b62ffffff61025f611145565b83610268610ffc565b6040516309f56ab160e11b815296821660048801529316602486015216604484015216606482015260208160848187895af1908115610687578491610692575b5060e06001600160a01b0391600460405180948193633850c7bd861b8352165afa9081156106875784916105ed575b506001600160a01b03806102e9610ffc565b169116036105de57816105c4575b806105a4575b610305610f7a565b9361030e610f90565b92610317611145565b90610320610fc6565b90610329610fd6565b9060405195610160870199878b1067ffffffffffffffff8c111761059057899a60409a999a526001600160a01b0316875260208701986001600160a01b03168952604087019462ffffff168552606087019360020b8452608087019260020b835260a0870191825260c0870190815260e08701916101043583526101008801936101243585526101208901953387526101408a01976101443589526040519c8d9b634418b22b60e11b8d52516001600160a01b031660048d0152516001600160a01b031660248c01525162ffffff1660448b01525160020b60648a01525160020b60848901525160a48801525160c48701525160e486015251610104850152516001600160a01b031661012484015251610144830152815a9361016492608095f19182156105845780918193610533575b505061046d33610468610f7a565b6119a1565b61047933610468610f90565b610481610f7a565b610489610f90565b610491611145565b7f4734b22c89ba0a5e91062212bd10f93a2a1da9decbccb8bab72dc003ddada0526001600160a01b03806040519416941692806104f288883396849160409194936001600160801b039162ffffff6060860197168552602085015216910152565b0390a460017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055604080519182526001600160801b03929092166020820152f35b915091506080813d60801161057c575b8161055060809383611012565b810103126105785760208151910151916001600160801b03831683036100ca57505f8061045a565b5080fd5b3d9150610543565b604051903d90823e3d90fd5b634e487b7160e01b8a52604160045260248afd5b6105bf81856001600160a01b036105b9610f90565b16611894565b6102fd565b6105d982856001600160a01b036105b9610f7a565b6102f7565b63043a8b0160e41b8352600483fd5b905060e0813d60e01161067f575b8161060860e09383611012565b81010312610677578051906001600160a01b038216820361067b5761062f60208201611048565b5061063c60408201611157565b5061064960608201611157565b5061065660808201611157565b5060a081015160ff81160361067b5760c0015180151503610677575f6102d7565b8380fd5b8480fd5b3d91506105fb565b6040513d86823e3d90fd5b90506020813d6020116106cd575b816106ad60209383611012565b8101031261067757516001600160a01b03811681036106775760e06102a8565b3d91506106a0565b6106f3856001600160a01b036106e9610f90565b16309033906111c4565b6101f9565b61070c826001600160a01b036106e9610f7a565b6101e9565b63019af63760e01b8252600482fd5b5060e435156101c2565b63019af63760e01b8152600490fd5b506001600160a01b0361074a610f7a565b16156101b1565b50346100ca57806003193601126100ca5760206040516001600160a01b037f0000000000000000000000000ba46d24088f2f546d65f9a169d11ad8e055e01d168152f35b50346100ca57806003193601126100ca5760206040516127108152f35b6101a0366003190112610ca8576107c7611166565b6107cf610f7a565b6107d7610f90565b6084356001600160a01b03811690818103610ca85750610f2a576001600160a01b0381166001600160a01b03831681811015610efd57610104358015938480610f1f575b610efd57610827610fa6565b61082f610fb6565b60020b9060020b1215610efd576001600160801b0382118015610f0c575b610efd578215948515610ee35750813403610ed4575b61088161087a610124359384610ec3575b886112ae565b92826112ae565b9561088a610fe6565b60405163313b65df60e11b8152906001600160a01b03906108ad60048401611056565b1660a482015260208160c4815f6001600160a01b037f0000000000000000000000008366a39cc670b4001a1121b8f6a443a643e40951165af18015610c9d57610e8c575b506109026108fd610fa6565b611366565b9261090e6108fd610fb6565b97610917610fe6565b6001600160a01b03808b169087161199908382888d610e83575b6001600160a01b0384811694879183168611610e215750506109539350611a9a565b995b6001600160801b038b16968715610dbe578b90610970610fe6565b93809180915f915f96610e16575b50506001600160a01b038681169083168111610dda5750506109a1939450611b11565b6101443511908115610dcd575b50610dbe57871580610db5575b610da6575b80610d97575b8715610d6b57604051600160f91b6020820152600d60f81b6021820152600560fa1b6022820152600381526109fc602382611012565b905b8815610d625760ff60035b1690610a14826110c8565b91610a226040519384611012565b808352610a31601f19916110c8565b015f5b818110610d51575050610ad0610a8391610ac2610a4f610fa6565b6001600160801b03610a5f610fb6565b9360209c8d9560405194610a738887611012565b5f8652604051998a988901611056565b60020b60c088015260020b60e0870152610100860152818a166101208601521661014084015233610160840152610180808401526101a08301906110e0565b03601f198101835282611012565b610ad982611104565b52610ae381611104565b50604051878782015288604082015260408152610b01606082611012565b610b0a82611125565b5288610b1582611125565b50610d1b575b604051631d5e528f60e21b8152987f00000000000000000000000058daec3116aae6d93017baaea7749052e8a04fa76001600160a01b03169390878b600481885afa9a8b15610c9d575f9b610cec575b5015610cde57959091610b8f925b60405193849260408585015260608401906110e0565b92601f198385030160408401528151908185528085019481808460051b8301019401955f915b848310610cac575050505050610bd4925003601f198101835282611012565b813b15610ca8575f91610c059160405196878094819363dd46508f60e01b83526040600484015260448301906110e0565b61018435602483015203925af1908115610c9d57610c3593610c2e92610c8d575b5033906117f1565b33906117f1565b610c3d611145565b6040805162ffffff9092168252602082018590526001600160801b0386169082015233907f509e0c558023e8964cf77403f87ab5c8f6b132da12eb6929d3dd45fc9b49e5239080606081016104f2565b5f610c9791611012565b5f610c26565b6040513d5f823e3d90fd5b5f80fd5b9193955091938480610cca600193601f198682030187528a516110e0565b980193019301909287959396949296610bb5565b505f959091610b8f92610b79565b909a508781813d8311610d14575b610d048183611012565b81010312610ca85751998c610b6b565b503d610cfa565b6040515f8782015230604082015260408152610d38606082611012565b610d4182611135565b52610d4b81611135565b50610b1b565b806060602080938701015201610a34565b60ff6002610a09565b604051600160f91b6020820152600d60f81b602182015260028152610d91602282611012565b906109fe565b610da1818561170a565b6109c6565b610db0828461170a565b6109c0565b508115156109bb565b6307bf3f6160e01b5f5260045ffd5b905061016435118a6109ae565b919450906001600160a01b0383161115610e0b575092610dff82610e05949583611b11565b93611ae0565b906109a1565b9350610e0592611ae0565b935091508f8061097e565b92909391946001600160a01b038216115f14610e77578291610e4791610e4d9594611a9a565b93611a5e565b6001600160801b0381166001600160801b038316105f14610e7057505b99610955565b9050610e6a565b915050610e6a92611a5e565b50508783610931565b6020813d602011610ebb575b81610ea560209383611012565b81010312610ca857610eb690611048565b6108f1565b3d9150610e98565b610ecf8530338a6111c4565b610874565b63106cab3360e21b5f5260045ffd5b34610ed45761086357610ef8823033866111c4565b610863565b63019af63760e01b5f5260045ffd5b506001600160801b03610124351161084d565b50610124351561081b565b637aba29c360e01b5f5260045ffd5b34610ca8575f366003190112610ca8576020906001600160a01b037f000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3168152f35b6004356001600160a01b0381168103610ca85790565b6024356001600160a01b0381168103610ca85790565b60c4358060020b8103610ca85790565b60e4358060020b8103610ca85790565b6084358060020b8103610ca85790565b60a4358060020b8103610ca85790565b60a4356001600160a01b0381168103610ca85790565b6064356001600160a01b0381168103610ca85790565b90601f8019910116810190811067ffffffffffffffff82111761103457604052565b634e487b7160e01b5f52604160045260245ffd5b51908160020b8203610ca857565b6004356001600160a01b038116809103610ca85781526024356001600160a01b038116809103610ca857602082015260443562ffffff8116809103610ca85760408201526064358060020b809103610ca8576060820152608435906001600160a01b038216809203610ca85760800152565b67ffffffffffffffff81116110345760051b60200190565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b8051156111115760200190565b634e487b7160e01b5f52603260045260245ffd5b8051600110156111115760400190565b8051600210156111115760600190565b60443562ffffff81168103610ca85790565b519061ffff82168203610ca857565b60027f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0054146111b55760027f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b633ee5aeb560e01b5f5260045ffd5b9290916001600160a01b039081604051946323b872dd60e01b5f52166004521660245260445260205f60648180865af19060015f511482161561122d575b6040525f606052156112115750565b6001600160a01b0390635274afe760e01b5f521660045260245ffd5b90600181151661124557823b15153d15161690611202565b503d5f823e3d90fd5b3d15611288573d9067ffffffffffffffff8211611034576040519161127d601f8201601f191660200184611012565b82523d5f602084013e565b606090565b9190820391821161129a57565b634e487b7160e01b5f52601160045260245ffd5b811561136057600a8202828104600a0361129a57612710900490816112db575b506112d89161128d565b90565b6001600160a01b03168061132b57505f808080847f0000000000000000000000000ba46d24088f2f546d65f9a169d11ad8e055e01d5af161131a61124e565b5015610efd576112d8915b916112ce565b9161135b826112d8947f0000000000000000000000000ba46d24088f2f546d65f9a169d11ad8e055e01d90611a1e565b611325565b50505f90565b60020b5f81121561170457805f03905b620d89e882116116f55760018216156116cc5770ffffffffffffffffffffffffffffffffff6ffffcb933bd6fad37aa2d162d1a5940015b1691600281166116b0575b60048116611694575b60088116611678575b6010811661165c575b60208116611640575b60408116611624575b60808116611608575b61010081166115ec575b61020081166115d0575b61040081166115b4575b6108008116611598575b611000811661157c575b6120008116611560575b6140008116611544575b6180008116611528575b62010000811661150c575b6202000081166114f1575b6204000081166114d6575b62080000166114bd575b5f1261149b575b6001600160a01b039063ffffffff81166114925760ff5f5b169060201c011690565b60ff6001611488565b80156114a9575f1904611470565b634e487b7160e01b5f52601260045260245ffd5b6b048a170391f7dc42444e8fa290910260801c90611469565b6d2216e584f5fa1ea926041bedfe9890920260801c9161145f565b916e5d6af8dedb81196699c329225ee6040260801c91611454565b916f09aa508b5b7a84e1c677de54f3e99bc90260801c91611449565b916f31be135f97d08fd981231505542fcfa60260801c9161143e565b916f70d869a156d2a1b890bb3df62baf32f70260801c91611434565b916fa9f746462d870fdf8a65dc1f90e061e50260801c9161142a565b916fd097f3bdfd2022b8845ad8f792aa58250260801c91611420565b916fe7159475a2c29b7443b29c7fa6e889d90260801c91611416565b916ff3392b0822b70005940c7a398e4b70f30260801c9161140c565b916ff987a7253ac413176f2b074cf7815e540260801c91611402565b916ffcbe86c7900a88aedcffc83b479aa3a40260801c916113f8565b916ffe5dee046a99a2a811c461f1969c30530260801c916113ee565b916fff2ea16466c96a3843ec78b326b528610260801c916113e5565b916fff973b41fa98c081472e6896dfb254c00260801c916113dc565b916fffcb9843d60f6159c9db58835c9266440260801c916113d3565b916fffe5caca7e10e4e61c3624eaa0941cd00260801c916113ca565b916ffff2e50f5f656932ef12357cf3c7fdcc0260801c916113c1565b916ffff97272373d413259a46990580e213a0260801c916113b8565b70ffffffffffffffffffffffffffffffffff7001000000000000000000000000000000006113ad565b6315e4079d60e11b5f5260045ffd5b80611376565b6001600160a01b03166001600160a01b037f000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba31691611749818484611894565b6001600160a01b038111156117e357506001600160a01b035b823b15610ca85760845f92836001600160a01b039560405196879586946387517c4560e01b86526004860152817f00000000000000000000000058daec3116aae6d93017baaea7749052e8a04fa716602486015216604484015265ffffffffffff60648401525af18015610c9d576117d75750565b5f6117e191611012565b565b6001600160a01b0316611762565b6001600160a01b038116611823575047908161180b575050565b5f80809381935af161181b61124e565b5015610efd57565b906117e1916119a1565b811561136057600a820291808304600a0361129a576127106112d89304918280611859575b505061128d565b61188d916001600160a01b037f0000000000000000000000000ba46d24088f2f546d65f9a169d11ad8e055e01d9116611a1e565b5f82611852565b916001600160a01b036040519263095ea7b360e01b5f521691826004528160245260205f60448180885af19060015f5114821615611992575b604052156118da57505050565b60405163095ea7b360e01b5f52826004525f60245260205f60448180885af19060015f511482161561197a575b6040521561195e576040519163095ea7b360e01b5f5260045260245260205f60448180865af19060015f5114821615611946575b604052156112115750565b90600181151661124557823b15153d1516169061193b565b6001600160a01b0383635274afe760e01b5f521660045260245ffd5b90600181151661124557843b15153d15161690611907565b90843b15153d151616906118cd565b6001600160a01b031690604051906370a0823160e01b8252306004830152602082602481865afa918215610c9d575f926119ea575b50816119e157505050565b6117e192611a1e565b9091506020813d602011611a16575b81611a0660209383611012565b81010312610ca85751905f6119d6565b3d91506119f9565b916001600160a01b036040519263a9059cbb60e01b5f521660045260245260205f60448180865af19060015f511482161561194657604052156112115750565b6001600160a01b0390611a80939282811683831611611a94575b031690611b7d565b6001600160801b038116908103610ca85790565b90611a78565b90611a8092916001600160a01b0382166001600160a01b03821611611ada575b6001600160a01b0390611ad1828416838316611c0a565b92031691611c57565b90611aba565b6001600160a01b036001600160801b03916112d8949382811683831611611b0b575b03169116611c0a565b90611b02565b916001600160a01b0382166001600160a01b03841611611b75575b81611b68917bffffffffffffffffffffffffffffffff0000000000000000000000006001600160a01b0386818097169403169160601b16611c57565b91169081156114a9570490565b909190611b2c565b5f19600160601b8209918160601b91828085109403938085039414611bfd5783821115610ca857600160601b82910981805f03168092046002816003021880820260020302808202600203028082026002030280820260020302808202600203028091026002030293600183805f03040190848311900302920304170290565b5080925015610ca8570490565b5f915f198183099181810293848085109403938085039414611c4d5783600160601b11156100ca575090600160601b910990828211900360a01b910360601c1790565b5050505060601c90565b915f198284099282810292838086109503948086039514611cce5784831115610ca85782910981805f03168092046002816003021880820260020302808202600203028082026002030280820260020302808202600203028091026002030293600183805f03040190848311900302920304170290565b505080925015610ca857049056fea26469706673582212209fbecde8a89e41865d5b16f5ec137b3e8d7be70ff6e5f8527c802169dc48e24464736f6c634300081a0033
| Token | Symbol | Balance | Price | Value |
|---|---|---|---|---|
| Global Dollar (USDG) | USDG | 15 | $1 | $15 |
| Global Dollar (USDG) | USDG | 9.36 | $1 | $9.36 |
| Global Dollar (USDG) | USDG | 8 | $1 | $8 |
| Global Dollar (USDG) | USDG | 6.22 | $1 | $6.22 |
| DIH | 1 | $0.0000106 | $0 |
| Type | Age | Block | Details |
|---|---|---|---|
| no cross-chain L1↔L2 transactions for this address | |||
| 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 | Type | Item | ||
|---|---|---|---|---|---|---|---|---|---|
| no NFT transfers for this address yet | |||||||||
| Transaction Hash | Method | Block | Age | From | To | Amount | Token | ||
|---|---|---|---|---|---|---|---|---|---|
| 0x8c378969…3cb116 | Transfer | 20,700,883 | 19 days agoMon, 27 Jul 2026 11:36:19 UTC | 0xd2e4…b70c | IN | 0x229d…41ea | 2 USDG | Global Dollar (USDG) | |
| 0x3dea439a…21ec30 | Transfer | 20,542,267 | 19 days agoMon, 27 Jul 2026 07:10:50 UTC | 0x229d…41ea | OUT | 0xe2ee…db0c | $9.939.99 USDG | Global Dollar (USDG) | |
| 0x3dea439a…21ec30 | Transfer | 20,542,267 | 19 days agoMon, 27 Jul 2026 07:10:50 UTC | 0x229d…41ea | OUT | 0x0ba4…e01d | $0.010.01 USDG | Global Dollar (USDG) | |
| 0x3dea439a…21ec30 | Transfer | 20,542,267 | 19 days agoMon, 27 Jul 2026 07:10:50 UTC | 0x381c…5bf4 | IN | 0x229d…41ea | $9.9410 USDG | Global Dollar (USDG) | |
| 0x9cf93383…aec782 | Transfer | 19,450,999 | 21 days agoSun, 26 Jul 2026 00:46:13 UTC | 0xc7a7…cec7 | IN | 0x229d…41ea | 5 USDG | Global Dollar (USDG) | |
| 0x6625c0e4…1124d4 | Transfer | 19,447,715 | 21 days agoSun, 26 Jul 2026 00:40:43 UTC | 0x229d…41ea | OUT | 0xca99…9396 | 0.000158 BOYZ | ||
| 0x6625c0e4…1124d4 | Transfer | 19,447,715 | 21 days agoSun, 26 Jul 2026 00:40:43 UTC | 0x229d…41ea | OUT | 0x8366…0951 | $105.13105.766906 USDG | Global Dollar (USDG) | |
| 0x6625c0e4…1124d4 | Transfer | 19,447,715 | 21 days agoSun, 26 Jul 2026 00:40:43 UTC | 0x229d…41ea | OUT | 0x8366…0951 | 75,986.786415 BOYZ | ||
| 0x6625c0e4…1124d4 | Transfer | 19,447,715 | 21 days agoSun, 26 Jul 2026 00:40:43 UTC | 0x229d…41ea | OUT | 0x0ba4…e01d | $0.110.105872 USDG | Global Dollar (USDG) | |
| 0x6625c0e4…1124d4 | Transfer | 19,447,715 | 21 days agoSun, 26 Jul 2026 00:40:43 UTC | 0x229d…41ea | OUT | 0x0ba4…e01d | 76.062849 BOYZ | ||
| 0x6625c0e4…1124d4 | Transfer | 19,447,715 | 21 days agoSun, 26 Jul 2026 00:40:43 UTC | 0xca99…9396 | IN | 0x229d…41ea | $105.24105.872778 USDG | Global Dollar (USDG) | |
| 0x6625c0e4…1124d4 | Transfer | 19,447,715 | 21 days agoSun, 26 Jul 2026 00:40:43 UTC | 0xca99…9396 | IN | 0x229d…41ea | 76,062.849423 BOYZ | ||
| 0x71f0a08a…6f17b5 | Transfer | 19,238,256 | 21 days agoSat, 25 Jul 2026 18:50:30 UTC | 0x229d…41ea | OUT | 0x8366…0951 | $297.90299.7 USDG | Global Dollar (USDG) | |
| 0x71f0a08a…6f17b5 | Transfer | 19,238,256 | 21 days agoSat, 25 Jul 2026 18:50:30 UTC | 0x229d…41ea | OUT | 0x0ba4…e01d | $0.300.3 USDG | Global Dollar (USDG) | |
| 0x71f0a08a…6f17b5 | Transfer | 19,238,256 | 21 days agoSat, 25 Jul 2026 18:50:30 UTC | 0x5fde…1759 | IN | 0x229d…41ea | $298.20300 USDG | Global Dollar (USDG) | |
| 0xe437c607…952e9b | Transfer | 19,157,763 | 21 days agoSat, 25 Jul 2026 16:35:54 UTC | 0x229d…41ea | OUT | 0xfd28…5e97 | $0.000.000000 VOXV | ||
| 0xe437c607…952e9b | Transfer | 19,157,763 | 21 days agoSat, 25 Jul 2026 16:35:54 UTC | 0x229d…41ea | OUT | 0x8366…0951 | $NaN33,633.081755 VOXV | ||
| 0xe437c607…952e9b | Transfer | 19,157,763 | 21 days agoSat, 25 Jul 2026 16:35:54 UTC | 0x229d…41ea | OUT | 0x0ba4…e01d | $0.0033.666748 VOXV | ||
| 0xe437c607…952e9b | Transfer | 19,157,763 | 21 days agoSat, 25 Jul 2026 16:35:54 UTC | 0xfd28…5e97 | IN | 0x229d…41ea | $NaN33,666.748504 VOXV | ||
| 0x76a4cbe8…0ffe8f | Transfer | 19,154,946 | 21 days agoSat, 25 Jul 2026 16:31:12 UTC | 0x229d…41ea | OUT | 0xfd28…5e97 | $0.000.000000 4663 | ||
| 0x76a4cbe8…0ffe8f | Transfer | 19,154,946 | 21 days agoSat, 25 Jul 2026 16:31:12 UTC | 0x229d…41ea | OUT | 0x8366…0951 | $NaN37,405.914356 4663 | ||
| 0x76a4cbe8…0ffe8f | Transfer | 19,154,946 | 21 days agoSat, 25 Jul 2026 16:31:12 UTC | 0x229d…41ea | OUT | 0x0ba4…e01d | $0.0037.443357 4663 | ||
| 0x76a4cbe8…0ffe8f | Transfer | 19,154,946 | 21 days agoSat, 25 Jul 2026 16:31:12 UTC | 0xfd28…5e97 | IN | 0x229d…41ea | $NaN37,443.357714 4663 | ||
| 0xa82673e3…cbf44b | Transfer | 19,145,248 | 21 days agoSat, 25 Jul 2026 16:14:59 UTC | 0x229d…41ea | OUT | 0xfd28…5e97 | $0.000.000000 MONA | ||
| 0xa82673e3…cbf44b | Transfer | 19,145,248 | 21 days agoSat, 25 Jul 2026 16:14:59 UTC | 0x229d…41ea | OUT | 0x8366…0951 | $NaN17,744.592454 MONA |
| Txn Hash | Age | Event | Topics / Data |
|---|---|---|---|
| 0x3dea43…21ec30 | 19 days agoMon, 27 Jul 2026 07:10:50 UTC | 0x4734b2…a052 | [0] 0x000000000000…65755bf4 [1] 0x000000000000…16f1d168 [2] 0x000000000000…c0d47777 data: 0x000000000000000000…432b67bf |
| 0x6625c0…1124d4 | 21 days agoSun, 26 Jul 2026 00:40:43 UTC | 0x509e0c…e523 | [0] 0x000000000000…e57b9396 [1] 0x000000000000…cf24b926 [2] 0x000000000000…16f1d168 data: 0x000000000000000000…24921d77 |
| 0x71f0a0…6f17b5 | 21 days agoSat, 25 Jul 2026 18:50:30 UTC | 0x509e0c…e523 | [0] 0x000000000000…61101759 [1] 0x000000000000…2492aba3 [2] 0x000000000000…16f1d168 data: 0x000000000000000000…6a9e9974 |
| 0xe437c6…952e9b | 21 days agoSat, 25 Jul 2026 16:35:54 UTC | 0x509e0c…e523 | [0] 0x000000000000…f1525e97 [1] 0x000000000000…16f1d168 [2] 0x000000000000…0703d261 data: 0x000000000000000000…78ac1190 |
| 0x76a4cb…0ffe8f | 21 days agoSat, 25 Jul 2026 16:31:12 UTC | 0x509e0c…e523 | [0] 0x000000000000…f1525e97 [1] 0x000000000000…16f1d168 [2] 0x000000000000…9671dced data: 0x000000000000000000…6421e46e |
| 0xa82673…cbf44b | 21 days agoSat, 25 Jul 2026 16:14:59 UTC | 0x509e0c…e523 | [0] 0x000000000000…f1525e97 [1] 0x000000000000…16f1d168 [2] 0x000000000000…5f998bb2 data: 0x000000000000000000…4ba1d3ad |
| 0xb9ac7b…5be988 | 21 days agoSat, 25 Jul 2026 16:12:40 UTC | 0x509e0c…e523 | [0] 0x000000000000…f1525e97 [1] 0x000000000000…1eacad73 [2] 0x000000000000…5f998bb2 data: 0x000000000000000000…245af17c |
| 0x11b6f7…f2d5b0 | 21 days agoSat, 25 Jul 2026 12:38:50 UTC | 0x509e0c…e523 | [0] 0x000000000000…b1da5446 [1] 0x000000000000…00000000 [2] 0x000000000000…d4165e49 data: 0x000000000000000000…d181b326 |
| 0xfe4306…cf3be2 | 21 days agoSat, 25 Jul 2026 04:52:54 UTC | 0x4734b2…a052 | [0] 0x000000000000…dae05312 [1] 0x000000000000…1eacad73 [2] 0x000000000000…adb35618 data: 0x000000000000000000…78ce18c9 |
| 0x2f9f09…1d2f09 | 22 days agoFri, 24 Jul 2026 15:47:56 UTC | 0x509e0c…e523 | [0] 0x000000000000…796631d4 [1] 0x000000000000…16f1d168 [2] 0x000000000000…4c207777 data: 0x000000000000000000…9a72a4a7 |
| 0xd43072…913b57 | 22 days agoFri, 24 Jul 2026 15:39:29 UTC | 0x509e0c…e523 | [0] 0x000000000000…33fb6102 [1] 0x000000000000…16f1d168 [2] 0x000000000000…fd7ab0f5 data: 0x000000000000000000…38b0f376 |
| 0xfd0db1…bf6572 | 22 days agoFri, 24 Jul 2026 15:37:41 UTC | 0x509e0c…e523 | [0] 0x000000000000…101207c7 [1] 0x000000000000…16f1d168 [2] 0x000000000000…fd7ab0f5 data: 0x000000000000000000…52c354fa |
| 0x92bfef…aeeaa0 | 22 days agoFri, 24 Jul 2026 04:21:39 UTC | 0x509e0c…e523 | [0] 0x000000000000…e7015c4e [1] 0x000000000000…16f1d168 [2] 0x000000000000…35db7777 data: 0x000000000000000000…739c8cf8 |
| 0x03db03…65541f | 22 days agoFri, 24 Jul 2026 03:52:15 UTC | 0x509e0c…e523 | [0] 0x000000000000…e7015c4e [1] 0x000000000000…16f1d168 [2] 0x000000000000…35db7777 data: 0x000000000000000000…b6621350 |
| 0x0b5993…ce9db3 | 23 days agoThu, 23 Jul 2026 23:45:51 UTC | 0x4734b2…a052 | [0] 0x000000000000…107312b3 [1] 0x000000000000…8379bbc8 [2] 0x000000000000…1eacad73 data: 0x000000000000000000…538af538 |
| 0x497c11…97c416 | 23 days agoThu, 23 Jul 2026 22:20:54 UTC | 0x4734b2…a052 | [0] 0x000000000000…c460ec7a [1] 0x000000000000…1eacad73 [2] 0x000000000000…9ddf5ba3 data: 0x000000000000000000…c82a9913 |
| 0x064e9c…32a227 | 23 days agoThu, 23 Jul 2026 19:40:27 UTC | 0x509e0c…e523 | [0] 0x000000000000…139cad2a [1] 0x000000000000…b58c9576 [2] 0x000000000000…1eacad73 data: 0x000000000000000000…06047d61 |
| 0x90bbe5…f472fb | 23 days agoThu, 23 Jul 2026 19:39:10 UTC | 0x509e0c…e523 | [0] 0x000000000000…139cad2a [1] 0x000000000000…b58c9576 [2] 0x000000000000…16f1d168 data: 0x000000000000000000…1710ee26 |
| 0xe3fd5c…2b268f | 23 days agoThu, 23 Jul 2026 18:40:43 UTC | 0x509e0c…e523 | [0] 0x000000000000…b362b14f [1] 0x000000000000…1eacad73 [2] 0x000000000000…6c22d969 data: 0x000000000000000000…52c6aec9 |
| 0x0f0708…e1a27f | 23 days agoThu, 23 Jul 2026 18:23:12 UTC | 0x509e0c…e523 | [0] 0x000000000000…b362b14f [1] 0x000000000000…16f1d168 [2] 0x000000000000…6c22d969 data: 0x000000000000000000…60ab5c52 |
| 0x510284…3bcda9 | 23 days agoThu, 23 Jul 2026 17:42:47 UTC | 0x509e0c…e523 | [0] 0x000000000000…b362b14f [1] 0x000000000000…16f1d168 [2] 0x000000000000…6c22d969 data: 0x000000000000000000…98449df0 |
| 0xad5007…023a9c | 28 days agoSat, 18 Jul 2026 22:46:22 UTC | 0x509e0c…e523 | [0] 0x000000000000…552f2315 [1] 0x000000000000…ff227777 [2] 0x000000000000…16f1d168 data: 0x000000000000000000…93404680 |
| 0x3fcc9c…4e108b | 28 days agoSat, 18 Jul 2026 16:27:37 UTC | 0x509e0c…e523 | [0] 0x000000000000…68d63e72 [1] 0x000000000000…16f1d168 [2] 0x000000000000…91ef028c data: 0x000000000000000000…b5559663 |
| 0x23ede7…837e3f | 28 days agoSat, 18 Jul 2026 10:17:22 UTC | 0x4734b2…a052 | [0] 0x000000000000…9e4cdb50 [1] 0x000000000000…1eacad73 [2] 0x000000000000…6254d69e data: 0x000000000000000000…ac24bd20 |
| Transaction Hash | Method ? | Block | Age | From | To | Amount | Txn Fee ? | ||
|---|---|---|---|---|---|---|---|---|---|
| 0x3dea43…21ec30 | createAndSeedV3 | 20,542,267 | 19 days agoMon, 27 Jul 2026 07:10:50 UTC | 0x381c…5bf4 | IN | AlpsPoolCreator | $0.000 ETH | 0.00020776 | |
| 0x6625c0…1124d4 | createAndSeedV4 | 19,447,715 | 21 days agoSun, 26 Jul 2026 00:40:43 UTC | 0xca99…9396 | IN | AlpsPoolCreator | $0.000 ETH | 0.00003845 | |
| 0x71f0a0…6f17b5 | createAndSeedV4 | 19,238,256 | 21 days agoSat, 25 Jul 2026 18:50:30 UTC | 0x5fde…1759 | IN | AlpsPoolCreator | $0.000 ETH | 0.00003021 | |
| 0xe437c6…952e9b | createAndSeedV4 | 19,157,763 | 21 days agoSat, 25 Jul 2026 16:35:54 UTC | 0xfd28…5e97 | IN | AlpsPoolCreator | $0.000 ETH | 0.00003491 | |
| 0x76a4cb…0ffe8f | createAndSeedV4 | 19,154,946 | 21 days agoSat, 25 Jul 2026 16:31:12 UTC | 0xfd28…5e97 | IN | AlpsPoolCreator | $0.000 ETH | 0.00003522 | |
| 0xa82673…cbf44b | createAndSeedV4 | 19,145,248 | 21 days agoSat, 25 Jul 2026 16:14:59 UTC | 0xfd28…5e97 | IN | AlpsPoolCreator | $0.000 ETH | 0.00002999 | |
| 0xb9ac7b…5be988 | createAndSeedV4 | 19,143,868 | 21 days agoSat, 25 Jul 2026 16:12:40 UTC | 0xfd28…5e97 | IN | AlpsPoolCreator | $0.000 ETH | 0.00003423 | |
| 0x11b6f7…f2d5b0 | createAndSeedV4 | 19,015,952 | 21 days agoSat, 25 Jul 2026 12:38:50 UTC | 0x7ce9…5446 | IN | AlpsPoolCreator | $0.000 ETH | 0.00003321 | |
| !0xf62ba2…6669a6 | createAndSeedV4 | 18,788,044 | 21 days agoSat, 25 Jul 2026 06:16:59 UTC | 0x7ce9…5446 | IN | AlpsPoolCreator | $0.000 ETH | 0.00001156 | |
| !0x0cecc0…6b2bc6 | createAndSeedV4 | 18,785,216 | 21 days agoSat, 25 Jul 2026 06:12:15 UTC | 0x7ce9…5446 | IN | AlpsPoolCreator | $0.000 ETH | 0.00000548 | |
| !0x7b7810…f959be | createAndSeedV4 | 18,784,801 | 21 days agoSat, 25 Jul 2026 06:11:33 UTC | 0x7ce9…5446 | IN | AlpsPoolCreator | $0.000 ETH | 0.00000550 | |
| 0xfe4306…cf3be2 | createAndSeedV3 | 18,737,906 | 21 days agoSat, 25 Jul 2026 04:52:54 UTC | 0x9139…5312 | IN | AlpsPoolCreator | $0.000 ETH | 0.00049554 | |
| !0xb165f9…5fd1fb | createAndSeedV4 | 18,344,583 | 22 days agoFri, 24 Jul 2026 17:55:21 UTC | 0x440a…4801 | IN | AlpsPoolCreator | $0.000 ETH | 0.00002636 | |
| !0x6a8ed6…8efd41 | createAndSeedV4 | 18,312,630 | 22 days agoFri, 24 Jul 2026 17:02:01 UTC | 0x440a…4801 | IN | AlpsPoolCreator | $0.000 ETH | 0.00002964 | |
| 0x2f9f09…1d2f09 | createAndSeedV4 | 18,268,239 | 22 days agoFri, 24 Jul 2026 15:47:56 UTC | 0xd00c…31d4 | IN | AlpsPoolCreator | $0.000 ETH | 0.00005002 | |
| 0xd43072…913b57 | createAndSeedV4 | 18,263,176 | 22 days agoFri, 24 Jul 2026 15:39:29 UTC | 0x7e97…6102 | IN | AlpsPoolCreator | $0.000 ETH | 0.00006135 | |
| 0xfd0db1…bf6572 | createAndSeedV4 | 18,262,072 | 22 days agoFri, 24 Jul 2026 15:37:41 UTC | 0x7a03…07c7 | IN | AlpsPoolCreator | $0.000 ETH | 0.00006801 | |
| !0x7190ab…d472b1 | createAndSeedV4 | 18,240,748 | 22 days agoFri, 24 Jul 2026 15:02:08 UTC | 0xe0d1…ad2a | IN | AlpsPoolCreator | $0.000 ETH | 0.00002812 | |
| !0x7cc067…915522 | createAndSeedV4 | 18,240,662 | 22 days agoFri, 24 Jul 2026 15:01:59 UTC | 0xe0d1…ad2a | IN | AlpsPoolCreator | $0.000 ETH | 0.00002824 | |
| !0x7acd73…1feed8 | createAndSeedV4 | 18,182,166 | 22 days agoFri, 24 Jul 2026 13:24:22 UTC | 0x7a03…07c7 | IN | AlpsPoolCreator | $0.000 ETH | 0.00002385 | |
| !0x9b15cb…e6c0af | createAndSeedV4 | 18,182,097 | 22 days agoFri, 24 Jul 2026 13:24:15 UTC | 0x7a03…07c7 | IN | AlpsPoolCreator | $0.000 ETH | 0.00002413 | |
| 0x92bfef…aeeaa0 | createAndSeedV4 | 17,857,919 | 22 days agoFri, 24 Jul 2026 04:21:39 UTC | 0x71b2…5c4e | IN | AlpsPoolCreator | $0.000 ETH | 0.00004837 | |
| 0x03db03…65541f | createAndSeedV4 | 17,840,327 | 22 days agoFri, 24 Jul 2026 03:52:15 UTC | 0x71b2…5c4e | IN | AlpsPoolCreator | $0.000 ETH | 0.00005050 | |
| !0x3b9349…7db58b | createAndSeedV4 | 17,807,072 | 22 days agoFri, 24 Jul 2026 02:56:40 UTC | 0xe0d1…ad2a | IN | AlpsPoolCreator | $0.000 ETH | 0.00008308 | |
| !0xe4b272…8e616c | createAndSeedV4 | 17,705,033 | 23 days agoFri, 24 Jul 2026 00:06:00 UTC | 0x7e97…6102 | IN | AlpsPoolCreator | $0.000 ETH | 0.00003134 |