// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;
import {Ownable} from "openzeppelin-contracts/contracts/access/Ownable.sol";
import {ReentrancyGuard} from "openzeppelin-contracts/contracts/utils/ReentrancyGuard.sol";
import {IERC20} from "openzeppelin-contracts/contracts/token/ERC20/IERC20.sol";
import {IPoolAdapter} from "./interfaces/IPoolAdapter.sol";
interface IWETH9 {
function balanceOf(address) external view returns (uint256);
function withdraw(uint256) external;
}
interface EmeraldRouterLike {
function routeRoyaltyLiquidity() external payable;
}
/// @title LiquidityManager
/// @notice Turns the mint's liquidity stream into REAL LP positions across
/// 3-4 EMERALD pools, in real time, fail-open.
///
/// Every mint batch, the EmeraldRouter mints the EMERALD side of the stream
/// and calls `routeLiquidity{value: liqEth}(emeraldAmount)`. The manager
/// splits both sides across the configured pools by shareBps and asks each
/// pool's IPoolAdapter to add liquidity (the adapter wraps ETH -> WETH or
/// swaps ETH -> the quote token internally). Any leg that can't be deployed
/// right now (pool not live yet, swap too thin, adapter down) is queued and
/// re-attempted by anyone calling `deployLiquidity()` — the mint path never
/// bricks.
///
/// Pool lineup (Robinhood Chain, chainId 4663 — all verified live 2026-08-06):
/// EMERALD/WETH (WETH 0x0Bd7D308f8E1639FAb988df18A8011f41EAcAD73)
/// EMERALD/USDG (USDG 0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168)
/// EMERALD/IOU (IOU 0xf391999facbee613d4024191dd31060540bf0bed)
/// EMERALD/HOOD (HOOD 0xC42cF61C16aaC797b991cf9C1ac8Ae70bA74A286)
/// on Uniswap V3 (factory 0x1F98431c8aD98523631AE4a59f267346ea31F984).
///
/// Royalties (ERC-2981 receiver on RakeTicket) land here too and accrue as a
/// protocol treasury; `recover()` is the owner's escape hatch for anything
/// that can't be LP'd.
contract LiquidityManager is Ownable, ReentrancyGuard {
uint256 public constant BPS = 10_000;
IERC20 public immutable emerald;
address public router; // EmeraldRouter — the only funder
struct Pool {
address quote; // always an ERC20; WETH for the native pool
uint24 fee; // Uniswap V3 fee tier (3000)
IPoolAdapter adapter;
uint16 shareBps; // share of each routed batch
bool active;
}
Pool[] public pools;
uint256 public totalShareBps;
/// @notice Deferred legs per pool (fail-open queue), in routing order.
struct Leg {
uint256 eth; // native ETH side of the leg
uint256 emerald; // EMERALD side of the leg
}
mapping(uint256 => Leg[]) public pending;
event PoolAdded(uint256 index, address quote, uint24 fee, address adapter, uint16 shareBps);
event Routed(uint256 eth, uint256 emerald);
event LiquidityAdded(uint256 poolIndex, uint256 eth, uint256 emerald);
event LiquidityDeferred(uint256 poolIndex, uint256 eth, uint256 emerald);
event LiquidityRetried(uint256 poolIndex, uint256 eth, uint256 emerald);
constructor(IERC20 emerald_, address router_) Ownable(msg.sender) {
emerald = emerald_;
router = router_;
}
modifier onlyRouter() {
require(msg.sender == router, "not router");
_;
}
function setRouter(address r) external onlyOwner {
router = r;
}
/// @notice Wrapped-native for unwrapping OS-paid royalties (OpenSea pays
/// creator royalties in WETH for ETH listings).
address public weth;
function setWeth(address w) external onlyOwner {
weth = w;
}
function withdrawWeth() external {
uint256 bal = IWETH9(weth).balanceOf(address(this));
if (bal > 0) IWETH9(weth).withdraw(bal);
}
bool private _deploying; // guards deployRoyalties -> router -> routeLiquidity round trip
/// @notice Sum of native ETH committed to deferred legs — must never be
/// counted as royalty money.
function pendingEthTotal() public view returns (uint256 total) {
uint256 n = pools.length;
for (uint256 i; i < n; i++) {
Leg[] storage q = pending[i];
for (uint256 j; j < q.length; j++) {
total += q[j].eth;
}
}
}
/// @notice Permissionless: route accrued royalties (ETH held beyond
/// committed legs, plus any WETH) into the pools — the router mints the
/// matching EMERALD and the existing fail-open machinery deploys it.
function deployRoyalties() external {
require(!_deploying, "busy");
_deploying = true;
if (weth != address(0)) {
uint256 wBal = IWETH9(weth).balanceOf(address(this));
if (wBal > 0) IWETH9(weth).withdraw(wBal);
}
uint256 eth = address(this).balance - pendingEthTotal();
if (eth > 0) {
EmeraldRouterLike(router).routeRoyaltyLiquidity{value: eth}();
}
_deploying = false;
}
/// @notice Configure a pool. Shares across pools may total up to 100%.
function addPool(address quote, uint24 fee, IPoolAdapter adapter, uint16 shareBps) external onlyOwner {
require(shareBps > 0 && shareBps <= BPS, "bad share");
require(totalShareBps + shareBps <= BPS, "shares > 100%");
require(address(adapter) != address(0), "no adapter");
totalShareBps += shareBps;
pools.push(Pool(quote, fee, adapter, shareBps, true));
emerald.approve(address(adapter), type(uint256).max);
emit PoolAdded(pools.length - 1, quote, fee, address(adapter), shareBps);
}
function setPoolActive(uint256 i, bool active) external onlyOwner {
pools[i].active = active;
}
function poolCount() external view returns (uint256) {
return pools.length;
}
function pendingCount(uint256 i) external view returns (uint256) {
return pending[i].length;
}
// ------------------------------------------------------------------
// Routing
// ------------------------------------------------------------------
/// @notice Router entry: pull the EMERALD side, split the batch across the
/// pools, and deploy immediately (best-effort; failures queue).
function routeLiquidity(uint256 emeraldAmount) external payable onlyRouter nonReentrant returns (uint256) {
require(emeraldAmount > 0, "zero emerald");
require(pools.length > 0, "no pools"); // router holds the stream until pools exist
require(emerald.transferFrom(router, address(this), emeraldAmount), "pull failed");
uint256 eth = msg.value;
uint256 n = pools.length;
uint256 deployed;
for (uint256 i; i < n; i++) {
Pool storage p = pools[i];
uint256 ethShare = (eth * p.shareBps) / totalShareBps;
uint256 emShare = (emeraldAmount * p.shareBps) / totalShareBps;
if (!p.active || ethShare == 0) continue;
if (_deployLeg(i, ethShare, emShare)) {
deployed++;
} else {
pending[i].push(Leg(ethShare, emShare));
}
}
emit Routed(eth, emeraldAmount);
return deployed;
}
/// @dev Ask one pool's adapter to LP a leg. try/catch + the adapter's own
/// false-return keep every pool's failure local to that pool.
function _deployLeg(uint256 i, uint256 eth, uint256 emeraldAmt) internal returns (bool ok) {
Pool storage p = pools[i];
try p.adapter.addLiquidity{value: eth}(address(emerald), p.quote, p.fee, emeraldAmt) returns (bool r) {
ok = r;
} catch {
ok = false;
}
if (ok) {
emit LiquidityAdded(i, eth, emeraldAmt);
} else {
emit LiquidityDeferred(i, eth, emeraldAmt);
}
}
/// @notice Permissionless retry: re-attempt every deferred leg.
function deployLiquidity() external nonReentrant {
uint256 n = pools.length;
for (uint256 i; i < n; i++) {
Leg[] storage q = pending[i];
uint256 j;
while (j < q.length) {
if (_deployLeg(i, q[j].eth, q[j].emerald)) {
emit LiquidityRetried(i, q[j].eth, q[j].emerald);
q[j] = q[q.length - 1];
q.pop();
} else {
j++;
}
}
}
}
// ------------------------------------------------------------------
// Treasury / escape hatches
// ------------------------------------------------------------------
/// @notice Pull any token (or native ETH) that can't be LP'd — royalties
/// and dust. Owner only.
function recover(address token, uint256 amount, address to) external onlyOwner {
if (token == address(0)) {
(bool ok,) = to.call{value: amount}("");
require(ok, "send failed");
} else {
require(IERC20(token).transfer(to, amount), "transfer failed");
}
}
receive() external payable {} // ETH royalties / leftovers
}[
{
"type": "constructor",
"inputs": [
{
"name": "emerald_",
"type": "address",
"internalType": "contract IERC20"
},
{
"name": "router_",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "nonpayable"
},
{
"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": "LiquidityAdded",
"type": "event",
"inputs": [
{
"name": "poolIndex",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "eth",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "emerald",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "LiquidityDeferred",
"type": "event",
"inputs": [
{
"name": "poolIndex",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "eth",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "emerald",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "LiquidityRetried",
"type": "event",
"inputs": [
{
"name": "poolIndex",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "eth",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "emerald",
"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": "PoolAdded",
"type": "event",
"inputs": [
{
"name": "index",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "quote",
"type": "address",
"indexed": false,
"internalType": "address"
},
{
"name": "fee",
"type": "uint24",
"indexed": false,
"internalType": "uint24"
},
{
"name": "adapter",
"type": "address",
"indexed": false,
"internalType": "address"
},
{
"name": "shareBps",
"type": "uint16",
"indexed": false,
"internalType": "uint16"
}
],
"anonymous": false
},
{
"name": "Routed",
"type": "event",
"inputs": [
{
"name": "eth",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "emerald",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "BPS",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "addPool",
"type": "function",
"inputs": [
{
"name": "quote",
"type": "address",
"internalType": "address"
},
{
"name": "fee",
"type": "uint24",
"internalType": "uint24"
},
{
"name": "adapter",
"type": "address",
"internalType": "contract IPoolAdapter"
},
{
"name": "shareBps",
"type": "uint16",
"internalType": "uint16"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "deployLiquidity",
"type": "function",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "deployRoyalties",
"type": "function",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "emerald",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "contract IERC20"
}
],
"stateMutability": "view"
},
{
"name": "owner",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "pending",
"type": "function",
"inputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "eth",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "emerald",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "pendingCount",
"type": "function",
"inputs": [
{
"name": "i",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "pendingEthTotal",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "total",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "poolCount",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "pools",
"type": "function",
"inputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "quote",
"type": "address",
"internalType": "address"
},
{
"name": "fee",
"type": "uint24",
"internalType": "uint24"
},
{
"name": "adapter",
"type": "address",
"internalType": "contract IPoolAdapter"
},
{
"name": "shareBps",
"type": "uint16",
"internalType": "uint16"
},
{
"name": "active",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"name": "recover",
"type": "function",
"inputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "to",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "renounceOwnership",
"type": "function",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "routeLiquidity",
"type": "function",
"inputs": [
{
"name": "emeraldAmount",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "payable"
},
{
"name": "router",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "setPoolActive",
"type": "function",
"inputs": [
{
"name": "i",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "active",
"type": "bool",
"internalType": "bool"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "setRouter",
"type": "function",
"inputs": [
{
"name": "r",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "setWeth",
"type": "function",
"inputs": [
{
"name": "w",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "totalShareBps",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "transferOwnership",
"type": "function",
"inputs": [
{
"name": "newOwner",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "weth",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "withdrawWeth",
"type": "function",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "receive",
"stateMutability": "payable"
}
]0x60a060405234801561000f575f5ffd5b5060405161182938038061182983398101604081905261002e9161010f565b338061005357604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b61005c816100a9565b5060017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00556001600160a01b03918216608052600180546001600160a01b03191691909216179055610147565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038116811461010c575f5ffd5b50565b5f5f60408385031215610120575f5ffd5b825161012b816100f8565b602084015190925061013c816100f8565b809150509250929050565b6080516116b56101745f395f818161024a015281816106be01528181610896015261126c01526116b55ff3fe608060405260043610610134575f3560e01c8063738646ae116100a8578063b8d1452f1161006d578063b8d1452f14610379578063c0d7865514610398578063ea17fa93146103b7578063f2fde38b146103d6578063f525cb68146103f5578063f887ea4014610409575f5ffd5b8063738646ae146102955780638da5cb5b146102a95780638e5116bc146102c5578063a30a7171146102e4578063ac4afa3814610318575f5ffd5b80633fc8cef3116100f95780633fc8cef3146101da5780634086bf89146102115780635a862dcc146102255780636a4c7606146102395780636b26d5981461026c578063715018a614610281575f5ffd5b806302f72bc41461013f578063136a8b371461016657806317be644714610187578063249d39e91461019a57806329441d97146101af575f5ffd5b3661013b57005b5f5ffd5b34801561014a575f5ffd5b50610153610428565b6040519081526020015b60405180910390f35b348015610171575f5ffd5b5061018561018036600461143e565b610494565b005b6101536101953660046114a4565b61079e565b3480156101a5575f5ffd5b5061015361271081565b3480156101ba575f5ffd5b506101536101c93660046114a4565b5f9081526004602052604090205490565b3480156101e5575f5ffd5b506005546101f9906001600160a01b031681565b6040516001600160a01b03909116815260200161015d565b34801561021c575f5ffd5b50610185610abe565b348015610230575f5ffd5b50610185610c84565b348015610244575f5ffd5b506101f97f000000000000000000000000000000000000000000000000000000000000000081565b348015610277575f5ffd5b5061015360035481565b34801561028c575f5ffd5b50610185610d53565b3480156102a0575f5ffd5b50610185610d64565b3480156102b4575f5ffd5b505f546001600160a01b03166101f9565b3480156102d0575f5ffd5b506101856102df3660046114bb565b610f28565b3480156102ef575f5ffd5b506103036102fe3660046114fa565b611084565b6040805192835260208301919091520161015d565b348015610323575f5ffd5b506103376103323660046114a4565b6110bc565b604080516001600160a01b03968716815262ffffff959095166020860152929094169183019190915261ffff166060820152901515608082015260a00161015d565b348015610384575f5ffd5b5061018561039336600461151a565b611117565b3480156103a3575f5ffd5b506101856103b236600461151a565b611141565b3480156103c2575f5ffd5b506101856103d1366004611549565b61116b565b3480156103e1575f5ffd5b506101856103f036600461151a565b6111b1565b348015610400575f5ffd5b50600254610153565b348015610414575f5ffd5b506001546101f9906001600160a01b031681565b6002545f90815b8181101561048f575f818152600460205260408120905b81548110156104855781818154811061046157610461611577565b905f5260205f2090600202015f01548561047b919061159f565b9450600101610446565b505060010161042f565b505090565b61049c6111eb565b5f8161ffff161180156104b557506127108161ffff1611155b6104f25760405162461bcd60e51b815260206004820152600960248201526862616420736861726560b81b60448201526064015b60405180910390fd5b6127108161ffff16600354610507919061159f565b11156105455760405162461bcd60e51b815260206004820152600d60248201526c736861726573203e203130302560981b60448201526064016104e9565b6001600160a01b0382166105885760405162461bcd60e51b815260206004820152600a60248201526937379030b230b83a32b960b11b60448201526064016104e9565b8061ffff1660035f82825461059d919061159f565b90915550506040805160a0810182526001600160a01b03868116825262ffffff8681166020840190815286831684860181815261ffff888116606088019081526001608089018181526002805492830181555f8190529951919099027f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace810180549751909816600160a01b9081026001600160b81b0319909816928a16929092179690961790965591517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf9094018054925197511515600160b01b0260ff60b01b19989092169095026001600160b01b0319909216938616939093171794909416179055915163095ea7b360e01b815260048101919091525f1960248201527f00000000000000000000000000000000000000000000000000000000000000009091169063095ea7b3906044016020604051808303815f875af1158015610706573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061072a91906115b8565b506002547fb7bf510b8339062764fbe7e278bbc5d8cbd841d4556c47243c61eee68e98d0ca9061075c906001906115d3565b604080519182526001600160a01b03878116602084015262ffffff8716838301528516606083015261ffff84166080830152519081900360a00190a150505050565b6001545f906001600160a01b031633146107e75760405162461bcd60e51b815260206004820152600a6024820152693737ba103937baba32b960b11b60448201526064016104e9565b6107ef611217565b5f821161082d5760405162461bcd60e51b815260206004820152600c60248201526b1e995c9bc8195b595c985b1960a21b60448201526064016104e9565b6002546108675760405162461bcd60e51b81526020600482015260086024820152676e6f20706f6f6c7360c01b60448201526064016104e9565b6001546040516323b872dd60e01b81526001600160a01b039182166004820152306024820152604481018490527f0000000000000000000000000000000000000000000000000000000000000000909116906323b872dd906064016020604051808303815f875af11580156108de573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061090291906115b8565b61093c5760405162461bcd60e51b815260206004820152600b60248201526a1c1d5b1b0819985a5b195960aa1b60448201526064016104e9565b60025434905f805b82811015610a65575f6002828154811061096057610960611577565b905f5260205f20906002020190505f6003548260010160149054906101000a900461ffff1661ffff168761099491906115e6565b61099e91906115fd565b60035460018401549192505f916109c090600160a01b900461ffff168b6115e6565b6109ca91906115fd565b6001840154909150600160b01b900460ff1615806109e6575081155b156109f357505050610a5d565b6109fe848383611232565b15610a155784610a0d8161161c565b955050610a59565b5f8481526004602090815260408083208151808301909252858252818301858152815460018181018455928652939094209151600290930290910191825591519101555b5050505b600101610944565b5060408051848152602081018790527fcafd272887d09c9615b3354aa56a477e3ba7b4095d0b6201235c2bfabe2294c5910160405180910390a192505050610ab960015f5160206116605f395f51905f5255565b919050565b610ac6611217565b6002545f5b81811015610c6a575f818152600460205260408120905b8154811015610c6057610b3783838381548110610b0157610b01611577565b905f5260205f2090600202015f0154848481548110610b2257610b22611577565b905f5260205f20906002020160010154611232565b15610c4e577f4890498df504e3b60bb29be8b89b632cfe1eed22aa0248dd49bdee46e899151483838381548110610b7057610b70611577565b905f5260205f2090600202015f0154848481548110610b9157610b91611577565b5f91825260209182902060016002909202010154604080519485529184019290925282015260600160405180910390a181548290610bd1906001906115d3565b81548110610be157610be1611577565b905f5260205f209060020201828281548110610bff57610bff611577565b5f918252602090912082546002909202019081556001918201549101558154829080610c2d57610c2d611634565b5f8281526020812060025f1990930192830201818155600101559055610ae2565b80610c588161161c565b915050610ae2565b5050600101610acb565b5050610c8260015f5160206116605f395f51905f5255565b565b6005546040516370a0823160e01b81523060048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa158015610cca573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cee9190611648565b90508015610d5057600554604051632e1a7d4d60e01b8152600481018390526001600160a01b0390911690632e1a7d4d906024015f604051808303815f87803b158015610d39575f5ffd5b505af1158015610d4b573d5f5f3e3d5ffd5b505050505b50565b610d5b6111eb565b610c825f6113ac565b600554600160a01b900460ff1615610da75760405162461bcd60e51b81526004016104e9906020808252600490820152636275737960e01b604082015260600190565b6005805460ff60a01b198116600160a01b179091556001600160a01b031615610e98576005546040516370a0823160e01b81523060048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa158015610e10573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e349190611648565b90508015610e9657600554604051632e1a7d4d60e01b8152600481018390526001600160a01b0390911690632e1a7d4d906024015f604051808303815f87803b158015610e7f575f5ffd5b505af1158015610e91573d5f5f3e3d5ffd5b505050505b505b5f610ea1610428565b610eab90476115d3565b90508015610f185760015f9054906101000a90046001600160a01b03166001600160a01b031663694c48d5826040518263ffffffff1660e01b81526004015f604051808303818588803b158015610f00575f5ffd5b505af1158015610f12573d5f5f3e3d5ffd5b50505050505b506005805460ff60a01b19169055565b610f306111eb565b6001600160a01b038316610fd1575f816001600160a01b0316836040515f6040518083038185875af1925050503d805f8114610f87576040519150601f19603f3d011682016040523d82523d5f602084013e610f8c565b606091505b5050905080610fcb5760405162461bcd60e51b815260206004820152600b60248201526a1cd95b990819985a5b195960aa1b60448201526064016104e9565b50505050565b60405163a9059cbb60e01b81526001600160a01b0382811660048301526024820184905284169063a9059cbb906044016020604051808303815f875af115801561101d573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061104191906115b8565b61107f5760405162461bcd60e51b815260206004820152600f60248201526e1d1c985b9cd9995c8819985a5b1959608a1b60448201526064016104e9565b505050565b6004602052815f5260405f20818154811061109d575f80fd5b5f91825260209091206002909102018054600190910154909250905082565b600281815481106110cb575f80fd5b5f918252602090912060029091020180546001909101546001600160a01b038083169350600160a01b9283900462ffffff16929082169190810461ffff1690600160b01b900460ff1685565b61111f6111eb565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b6111496111eb565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6111736111eb565b806002838154811061118757611187611577565b905f5260205f20906002020160010160166101000a81548160ff0219169083151502179055505050565b6111b96111eb565b6001600160a01b0381166111e257604051631e4fbdf760e01b81525f60048201526024016104e9565b610d50816113ac565b5f546001600160a01b03163314610c825760405163118cdaa760e01b81523360048201526024016104e9565b61121f6113fb565b60025f5160206116605f395f51905f5255565b5f5f6002858154811061124757611247611577565b5f91825260209091206002909102016001810154815460405163043f144560e51b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811660048301528083166024830152600160a01b90920462ffffff1660448201526064810187905292935016906387e288a090869060840160206040518083038185885af193505050508015611307575060408051601f3d908101601f19168201909252611304918101906115b8565b60015b611313575f9150611316565b91505b81156113625760408051868152602081018690529081018490527fd7f28048575eead8851d024ead087913957dfb4fd1a02b4d1573f5352a5a2be39060600160405180910390a16113a4565b60408051868152602081018690529081018490527f60c19dcc0ef52c2ea2b035272bea137bdbb0bcae7199528dd257cf56454aff259060600160405180910390a15b509392505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f5160206116605f395f51905f5254600203610c8257604051633ee5aeb560e01b815260040160405180910390fd5b6001600160a01b0381168114610d50575f5ffd5b5f5f5f5f60808587031215611451575f5ffd5b843561145c8161142a565b9350602085013562ffffff81168114611473575f5ffd5b925060408501356114838161142a565b9150606085013561ffff81168114611499575f5ffd5b939692955090935050565b5f602082840312156114b4575f5ffd5b5035919050565b5f5f5f606084860312156114cd575f5ffd5b83356114d88161142a565b92506020840135915060408401356114ef8161142a565b809150509250925092565b5f5f6040838503121561150b575f5ffd5b50508035926020909101359150565b5f6020828403121561152a575f5ffd5b81356115358161142a565b9392505050565b8015158114610d50575f5ffd5b5f5f6040838503121561155a575f5ffd5b82359150602083013561156c8161153c565b809150509250929050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156115b2576115b261158b565b92915050565b5f602082840312156115c8575f5ffd5b81516115358161153c565b818103818111156115b2576115b261158b565b80820281158282048414176115b2576115b261158b565b5f8261161757634e487b7160e01b5f52601260045260245ffd5b500490565b5f6001820161162d5761162d61158b565b5060010190565b634e487b7160e01b5f52603160045260245ffd5b5f60208284031215611658575f5ffd5b505191905056fe9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00a2646970667358221220a204665811d43692e3535f9f7ca86077952a3423be13d4eae89fe792bb22186964736f6c63430008230033000000000000000000000000b0cf3dc3a6f7bc78c447415117a1414159679a63000000000000000000000000f5bb046fb8a5e50e7d417f1662fc4ae8ea6537f6
0x608060405260043610610134575f3560e01c8063738646ae116100a8578063b8d1452f1161006d578063b8d1452f14610379578063c0d7865514610398578063ea17fa93146103b7578063f2fde38b146103d6578063f525cb68146103f5578063f887ea4014610409575f5ffd5b8063738646ae146102955780638da5cb5b146102a95780638e5116bc146102c5578063a30a7171146102e4578063ac4afa3814610318575f5ffd5b80633fc8cef3116100f95780633fc8cef3146101da5780634086bf89146102115780635a862dcc146102255780636a4c7606146102395780636b26d5981461026c578063715018a614610281575f5ffd5b806302f72bc41461013f578063136a8b371461016657806317be644714610187578063249d39e91461019a57806329441d97146101af575f5ffd5b3661013b57005b5f5ffd5b34801561014a575f5ffd5b50610153610428565b6040519081526020015b60405180910390f35b348015610171575f5ffd5b5061018561018036600461143e565b610494565b005b6101536101953660046114a4565b61079e565b3480156101a5575f5ffd5b5061015361271081565b3480156101ba575f5ffd5b506101536101c93660046114a4565b5f9081526004602052604090205490565b3480156101e5575f5ffd5b506005546101f9906001600160a01b031681565b6040516001600160a01b03909116815260200161015d565b34801561021c575f5ffd5b50610185610abe565b348015610230575f5ffd5b50610185610c84565b348015610244575f5ffd5b506101f97f000000000000000000000000b0cf3dc3a6f7bc78c447415117a1414159679a6381565b348015610277575f5ffd5b5061015360035481565b34801561028c575f5ffd5b50610185610d53565b3480156102a0575f5ffd5b50610185610d64565b3480156102b4575f5ffd5b505f546001600160a01b03166101f9565b3480156102d0575f5ffd5b506101856102df3660046114bb565b610f28565b3480156102ef575f5ffd5b506103036102fe3660046114fa565b611084565b6040805192835260208301919091520161015d565b348015610323575f5ffd5b506103376103323660046114a4565b6110bc565b604080516001600160a01b03968716815262ffffff959095166020860152929094169183019190915261ffff166060820152901515608082015260a00161015d565b348015610384575f5ffd5b5061018561039336600461151a565b611117565b3480156103a3575f5ffd5b506101856103b236600461151a565b611141565b3480156103c2575f5ffd5b506101856103d1366004611549565b61116b565b3480156103e1575f5ffd5b506101856103f036600461151a565b6111b1565b348015610400575f5ffd5b50600254610153565b348015610414575f5ffd5b506001546101f9906001600160a01b031681565b6002545f90815b8181101561048f575f818152600460205260408120905b81548110156104855781818154811061046157610461611577565b905f5260205f2090600202015f01548561047b919061159f565b9450600101610446565b505060010161042f565b505090565b61049c6111eb565b5f8161ffff161180156104b557506127108161ffff1611155b6104f25760405162461bcd60e51b815260206004820152600960248201526862616420736861726560b81b60448201526064015b60405180910390fd5b6127108161ffff16600354610507919061159f565b11156105455760405162461bcd60e51b815260206004820152600d60248201526c736861726573203e203130302560981b60448201526064016104e9565b6001600160a01b0382166105885760405162461bcd60e51b815260206004820152600a60248201526937379030b230b83a32b960b11b60448201526064016104e9565b8061ffff1660035f82825461059d919061159f565b90915550506040805160a0810182526001600160a01b03868116825262ffffff8681166020840190815286831684860181815261ffff888116606088019081526001608089018181526002805492830181555f8190529951919099027f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace810180549751909816600160a01b9081026001600160b81b0319909816928a16929092179690961790965591517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf9094018054925197511515600160b01b0260ff60b01b19989092169095026001600160b01b0319909216938616939093171794909416179055915163095ea7b360e01b815260048101919091525f1960248201527f000000000000000000000000b0cf3dc3a6f7bc78c447415117a1414159679a639091169063095ea7b3906044016020604051808303815f875af1158015610706573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061072a91906115b8565b506002547fb7bf510b8339062764fbe7e278bbc5d8cbd841d4556c47243c61eee68e98d0ca9061075c906001906115d3565b604080519182526001600160a01b03878116602084015262ffffff8716838301528516606083015261ffff84166080830152519081900360a00190a150505050565b6001545f906001600160a01b031633146107e75760405162461bcd60e51b815260206004820152600a6024820152693737ba103937baba32b960b11b60448201526064016104e9565b6107ef611217565b5f821161082d5760405162461bcd60e51b815260206004820152600c60248201526b1e995c9bc8195b595c985b1960a21b60448201526064016104e9565b6002546108675760405162461bcd60e51b81526020600482015260086024820152676e6f20706f6f6c7360c01b60448201526064016104e9565b6001546040516323b872dd60e01b81526001600160a01b039182166004820152306024820152604481018490527f000000000000000000000000b0cf3dc3a6f7bc78c447415117a1414159679a63909116906323b872dd906064016020604051808303815f875af11580156108de573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061090291906115b8565b61093c5760405162461bcd60e51b815260206004820152600b60248201526a1c1d5b1b0819985a5b195960aa1b60448201526064016104e9565b60025434905f805b82811015610a65575f6002828154811061096057610960611577565b905f5260205f20906002020190505f6003548260010160149054906101000a900461ffff1661ffff168761099491906115e6565b61099e91906115fd565b60035460018401549192505f916109c090600160a01b900461ffff168b6115e6565b6109ca91906115fd565b6001840154909150600160b01b900460ff1615806109e6575081155b156109f357505050610a5d565b6109fe848383611232565b15610a155784610a0d8161161c565b955050610a59565b5f8481526004602090815260408083208151808301909252858252818301858152815460018181018455928652939094209151600290930290910191825591519101555b5050505b600101610944565b5060408051848152602081018790527fcafd272887d09c9615b3354aa56a477e3ba7b4095d0b6201235c2bfabe2294c5910160405180910390a192505050610ab960015f5160206116605f395f51905f5255565b919050565b610ac6611217565b6002545f5b81811015610c6a575f818152600460205260408120905b8154811015610c6057610b3783838381548110610b0157610b01611577565b905f5260205f2090600202015f0154848481548110610b2257610b22611577565b905f5260205f20906002020160010154611232565b15610c4e577f4890498df504e3b60bb29be8b89b632cfe1eed22aa0248dd49bdee46e899151483838381548110610b7057610b70611577565b905f5260205f2090600202015f0154848481548110610b9157610b91611577565b5f91825260209182902060016002909202010154604080519485529184019290925282015260600160405180910390a181548290610bd1906001906115d3565b81548110610be157610be1611577565b905f5260205f209060020201828281548110610bff57610bff611577565b5f918252602090912082546002909202019081556001918201549101558154829080610c2d57610c2d611634565b5f8281526020812060025f1990930192830201818155600101559055610ae2565b80610c588161161c565b915050610ae2565b5050600101610acb565b5050610c8260015f5160206116605f395f51905f5255565b565b6005546040516370a0823160e01b81523060048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa158015610cca573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cee9190611648565b90508015610d5057600554604051632e1a7d4d60e01b8152600481018390526001600160a01b0390911690632e1a7d4d906024015f604051808303815f87803b158015610d39575f5ffd5b505af1158015610d4b573d5f5f3e3d5ffd5b505050505b50565b610d5b6111eb565b610c825f6113ac565b600554600160a01b900460ff1615610da75760405162461bcd60e51b81526004016104e9906020808252600490820152636275737960e01b604082015260600190565b6005805460ff60a01b198116600160a01b179091556001600160a01b031615610e98576005546040516370a0823160e01b81523060048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa158015610e10573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e349190611648565b90508015610e9657600554604051632e1a7d4d60e01b8152600481018390526001600160a01b0390911690632e1a7d4d906024015f604051808303815f87803b158015610e7f575f5ffd5b505af1158015610e91573d5f5f3e3d5ffd5b505050505b505b5f610ea1610428565b610eab90476115d3565b90508015610f185760015f9054906101000a90046001600160a01b03166001600160a01b031663694c48d5826040518263ffffffff1660e01b81526004015f604051808303818588803b158015610f00575f5ffd5b505af1158015610f12573d5f5f3e3d5ffd5b50505050505b506005805460ff60a01b19169055565b610f306111eb565b6001600160a01b038316610fd1575f816001600160a01b0316836040515f6040518083038185875af1925050503d805f8114610f87576040519150601f19603f3d011682016040523d82523d5f602084013e610f8c565b606091505b5050905080610fcb5760405162461bcd60e51b815260206004820152600b60248201526a1cd95b990819985a5b195960aa1b60448201526064016104e9565b50505050565b60405163a9059cbb60e01b81526001600160a01b0382811660048301526024820184905284169063a9059cbb906044016020604051808303815f875af115801561101d573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061104191906115b8565b61107f5760405162461bcd60e51b815260206004820152600f60248201526e1d1c985b9cd9995c8819985a5b1959608a1b60448201526064016104e9565b505050565b6004602052815f5260405f20818154811061109d575f80fd5b5f91825260209091206002909102018054600190910154909250905082565b600281815481106110cb575f80fd5b5f918252602090912060029091020180546001909101546001600160a01b038083169350600160a01b9283900462ffffff16929082169190810461ffff1690600160b01b900460ff1685565b61111f6111eb565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b6111496111eb565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6111736111eb565b806002838154811061118757611187611577565b905f5260205f20906002020160010160166101000a81548160ff0219169083151502179055505050565b6111b96111eb565b6001600160a01b0381166111e257604051631e4fbdf760e01b81525f60048201526024016104e9565b610d50816113ac565b5f546001600160a01b03163314610c825760405163118cdaa760e01b81523360048201526024016104e9565b61121f6113fb565b60025f5160206116605f395f51905f5255565b5f5f6002858154811061124757611247611577565b5f91825260209091206002909102016001810154815460405163043f144560e51b81527f000000000000000000000000b0cf3dc3a6f7bc78c447415117a1414159679a636001600160a01b0390811660048301528083166024830152600160a01b90920462ffffff1660448201526064810187905292935016906387e288a090869060840160206040518083038185885af193505050508015611307575060408051601f3d908101601f19168201909252611304918101906115b8565b60015b611313575f9150611316565b91505b81156113625760408051868152602081018690529081018490527fd7f28048575eead8851d024ead087913957dfb4fd1a02b4d1573f5352a5a2be39060600160405180910390a16113a4565b60408051868152602081018690529081018490527f60c19dcc0ef52c2ea2b035272bea137bdbb0bcae7199528dd257cf56454aff259060600160405180910390a15b509392505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f5160206116605f395f51905f5254600203610c8257604051633ee5aeb560e01b815260040160405180910390fd5b6001600160a01b0381168114610d50575f5ffd5b5f5f5f5f60808587031215611451575f5ffd5b843561145c8161142a565b9350602085013562ffffff81168114611473575f5ffd5b925060408501356114838161142a565b9150606085013561ffff81168114611499575f5ffd5b939692955090935050565b5f602082840312156114b4575f5ffd5b5035919050565b5f5f5f606084860312156114cd575f5ffd5b83356114d88161142a565b92506020840135915060408401356114ef8161142a565b809150509250925092565b5f5f6040838503121561150b575f5ffd5b50508035926020909101359150565b5f6020828403121561152a575f5ffd5b81356115358161142a565b9392505050565b8015158114610d50575f5ffd5b5f5f6040838503121561155a575f5ffd5b82359150602083013561156c8161153c565b809150509250929050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156115b2576115b261158b565b92915050565b5f602082840312156115c8575f5ffd5b81516115358161153c565b818103818111156115b2576115b261158b565b80820281158282048414176115b2576115b261158b565b5f8261161757634e487b7160e01b5f52601260045260245ffd5b500490565b5f6001820161162d5761162d61158b565b5060010190565b634e487b7160e01b5f52603160045260245ffd5b5f60208284031215611658575f5ffd5b505191905056fe9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00a2646970667358221220a204665811d43692e3535f9f7ca86077952a3423be13d4eae89fe792bb22186964736f6c63430008230033
| Token | Symbol | Balance | Price | Value |
|---|---|---|---|---|
| EMERALD (EMERALD) | EMERALD | 0.758056 | — | — |
| Type | Age | Block | Details |
|---|---|---|---|
| no cross-chain L1↔L2 transactions for this address | |||
| Txn Hash | Age | Event | Topics / Data |
|---|---|---|---|
| 0xdb9994…dab900 | 9 days agoSat, 08 Aug 2026 21:30:23 UTC | 0xcafd27…94c5 | data: 0x000000000000000000…01f04fe2 |
| 0xdb9994…dab900 | 9 days agoSat, 08 Aug 2026 21:30:23 UTC | 0xd7f280…2be3 | data: 0x000000000000000000…0031a196 |
| 0xdb9994…dab900 | 9 days agoSat, 08 Aug 2026 21:30:23 UTC | 0x60c19d…ff25 | data: 0x000000000000000000…0031a196 |
| 0xdb9994…dab900 | 9 days agoSat, 08 Aug 2026 21:30:23 UTC | 0x60c19d…ff25 | data: 0x000000000000000000…0063432d |
| 0xdb9994…dab900 | 9 days agoSat, 08 Aug 2026 21:30:23 UTC | 0xd7f280…2be3 | data: 0x000000000000000000…007c13f8 |
| 0xdb9994…dab900 | 9 days agoSat, 08 Aug 2026 21:30:23 UTC | 0xd7f280…2be3 | data: 0x000000000000000000…00adb58f |
| 0xed7d30…660018 | 9 days agoSat, 08 Aug 2026 21:30:20 UTC | 0xcafd27…94c5 | data: 0x000000000000000000…01daf094 |
| 0xed7d30…660018 | 9 days agoSat, 08 Aug 2026 21:30:20 UTC | 0xd7f280…2be3 | data: 0x000000000000000000…002f7e75 |
| 0xed7d30…660018 | 9 days agoSat, 08 Aug 2026 21:30:20 UTC | 0x60c19d…ff25 | data: 0x000000000000000000…002f7e75 |
| 0xed7d30…660018 | 9 days agoSat, 08 Aug 2026 21:30:20 UTC | 0x60c19d…ff25 | data: 0x000000000000000000…005efcea |
| 0xed7d30…660018 | 9 days agoSat, 08 Aug 2026 21:30:20 UTC | 0xd7f280…2be3 | data: 0x000000000000000000…0076bc25 |
| 0xed7d30…660018 | 9 days agoSat, 08 Aug 2026 21:30:20 UTC | 0xd7f280…2be3 | data: 0x000000000000000000…00a63a9a |
| 0x41a5a1…e2c198 | 9 days agoSat, 08 Aug 2026 21:30:16 UTC | 0xcafd27…94c5 | data: 0x000000000000000000…038cf9c1 |
| 0x41a5a1…e2c198 | 9 days agoSat, 08 Aug 2026 21:30:16 UTC | 0xd7f280…2be3 | data: 0x000000000000000000…005ae5c6 |
| 0x41a5a1…e2c198 | 9 days agoSat, 08 Aug 2026 21:30:16 UTC | 0xd7f280…2be3 | data: 0x000000000000000000…005ae5c6 |
| 0x41a5a1…e2c198 | 9 days agoSat, 08 Aug 2026 21:30:16 UTC | 0x60c19d…ff25 | data: 0x000000000000000000…00b5cb8d |
| 0x41a5a1…e2c198 | 9 days agoSat, 08 Aug 2026 21:30:16 UTC | 0xd7f280…2be3 | data: 0x000000000000000000…00e33e70 |
| 0x41a5a1…e2c198 | 9 days agoSat, 08 Aug 2026 21:30:16 UTC | 0xd7f280…2be3 | data: 0x000000000000000000…013e2436 |
| 0x6cfa93…cfef07 | 9 days agoSat, 08 Aug 2026 21:30:12 UTC | 0xcafd27…94c5 | data: 0x000000000000000000…0d97551e |
| 0x6cfa93…cfef07 | 9 days agoSat, 08 Aug 2026 21:30:12 UTC | 0xd7f280…2be3 | data: 0x000000000000000000…015beee9 |
| 0x6cfa93…cfef07 | 9 days agoSat, 08 Aug 2026 21:30:12 UTC | 0xd7f280…2be3 | data: 0x000000000000000000…015beee9 |
| 0x6cfa93…cfef07 | 9 days agoSat, 08 Aug 2026 21:30:12 UTC | 0xd7f280…2be3 | data: 0x000000000000000000…02b7ddd2 |
| 0x6cfa93…cfef07 | 9 days agoSat, 08 Aug 2026 21:30:12 UTC | 0xd7f280…2be3 | data: 0x000000000000000000…0365d547 |
| 0x6cfa93…cfef07 | 9 days agoSat, 08 Aug 2026 21:30:12 UTC | 0xd7f280…2be3 | data: 0x000000000000000000…04c1c430 |
| 0xbaaa0c…46db13 | 10 days agoSat, 08 Aug 2026 02:56:37 UTC | 0xcafd27…94c5 | data: 0x000000000000000000…0098967f |
| 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 ? | ||
|---|---|---|---|---|---|---|---|---|---|
| 0x4fd4cd…3e5358 | addPool | 29,840,131 | 11 days agoFri, 07 Aug 2026 02:08:12 UTC | 0x26e8…5158 | IN | LiquidityManager | $0.000 ETH | 0.00000297 | |
| 0xa156dd…210572 | addPool | 29,840,109 | 11 days agoFri, 07 Aug 2026 02:08:09 UTC | 0x26e8…5158 | IN | LiquidityManager | $0.000 ETH | 0.00000301 | |
| 0x8cb174…148d32 | addPool | 29,840,088 | 11 days agoFri, 07 Aug 2026 02:08:07 UTC | 0x26e8…5158 | IN | LiquidityManager | $0.000 ETH | 0.00000302 | |
| 0x26153e…dd4335 | addPool | 29,840,067 | 11 days agoFri, 07 Aug 2026 02:08:05 UTC | 0x26e8…5158 | IN | LiquidityManager | $0.000 ETH | 0.00000301 | |
| 0x9a32f6…b04eab | addPool | 29,840,046 | 11 days agoFri, 07 Aug 2026 02:08:03 UTC | 0x26e8…5158 | IN | LiquidityManager | $0.000 ETH | 0.00000480 | |
| 0x1f37ee…41f72c | setWeth | 29,840,025 | 11 days agoFri, 07 Aug 2026 02:08:01 UTC | 0x26e8…5158 | IN | LiquidityManager | $0.000 ETH | 0.00000152 | |
| 0xcedab6…be86dc | setRouter | 29,840,004 | 11 days agoFri, 07 Aug 2026 02:07:59 UTC | 0x26e8…5158 | IN | LiquidityManager | $0.000 ETH | 0.00000087 |
| Transaction Hash | Method | Block | Age | From | To | Amount | Token | ||
|---|---|---|---|---|---|---|---|---|---|
| 0xdb9994fd…dab900 | Transfer | 31,398,229 | 9 days agoSat, 08 Aug 2026 21:30:23 UTC | 0xcbc6…5c33 | OUT | 0xd808…4edb | 0.032526 EMERALD | EMERALD (EMERALD) | |
| 0xdb9994fd…dab900 | Transfer | 31,398,229 | 9 days agoSat, 08 Aug 2026 21:30:23 UTC | 0xd808…4edb | IN | 0xcbc6…5c33 | 0.032526 EMERALD | EMERALD (EMERALD) | |
| 0xdb9994fd…dab900 | Transfer | 31,398,229 | 9 days agoSat, 08 Aug 2026 21:30:23 UTC | 0xcbc6…5c33 | OUT | 0xd808…4edb | 0.032526 EMERALD | EMERALD (EMERALD) | |
| 0xdb9994fd…dab900 | Transfer | 31,398,229 | 9 days agoSat, 08 Aug 2026 21:30:23 UTC | 0xd808…4edb | IN | 0xcbc6…5c33 | 0.065052 EMERALD | EMERALD (EMERALD) | |
| 0xdb9994fd…dab900 | Transfer | 31,398,229 | 9 days agoSat, 08 Aug 2026 21:30:23 UTC | 0xcbc6…5c33 | OUT | 0xd808…4edb | 0.065052 EMERALD | EMERALD (EMERALD) | |
| 0xdb9994fd…dab900 | Transfer | 31,398,229 | 9 days agoSat, 08 Aug 2026 21:30:23 UTC | 0xcbc6…5c33 | OUT | 0xd808…4edb | 0.081315 EMERALD | EMERALD (EMERALD) | |
| 0xdb9994fd…dab900 | Transfer | 31,398,229 | 9 days agoSat, 08 Aug 2026 21:30:23 UTC | 0xcbc6…5c33 | OUT | 0xd808…4edb | 0.113842 EMERALD | EMERALD (EMERALD) | |
| 0xdb9994fd…dab900 | Transfer | 31,398,229 | 9 days agoSat, 08 Aug 2026 21:30:23 UTC | 0xf5bb…37f6 | IN | 0xcbc6…5c33 | 0.325263 EMERALD | EMERALD (EMERALD) | |
| 0xed7d3008…660018 | Transfer | 31,398,197 | 9 days agoSat, 08 Aug 2026 21:30:20 UTC | 0xcbc6…5c33 | OUT | 0xd808…4edb | 0.031125 EMERALD | EMERALD (EMERALD) | |
| 0xed7d3008…660018 | Transfer | 31,398,197 | 9 days agoSat, 08 Aug 2026 21:30:20 UTC | 0xd808…4edb | IN | 0xcbc6…5c33 | 0.031125 EMERALD | EMERALD (EMERALD) | |
| 0xed7d3008…660018 | Transfer | 31,398,197 | 9 days agoSat, 08 Aug 2026 21:30:20 UTC | 0xcbc6…5c33 | OUT | 0xd808…4edb | 0.031125 EMERALD | EMERALD (EMERALD) | |
| 0xed7d3008…660018 | Transfer | 31,398,197 | 9 days agoSat, 08 Aug 2026 21:30:20 UTC | 0xd808…4edb | IN | 0xcbc6…5c33 | 0.062251 EMERALD | EMERALD (EMERALD) | |
| 0xed7d3008…660018 | Transfer | 31,398,197 | 9 days agoSat, 08 Aug 2026 21:30:20 UTC | 0xcbc6…5c33 | OUT | 0xd808…4edb | 0.062251 EMERALD | EMERALD (EMERALD) | |
| 0xed7d3008…660018 | Transfer | 31,398,197 | 9 days agoSat, 08 Aug 2026 21:30:20 UTC | 0xcbc6…5c33 | OUT | 0xd808…4edb | 0.077814 EMERALD | EMERALD (EMERALD) | |
| 0xed7d3008…660018 | Transfer | 31,398,197 | 9 days agoSat, 08 Aug 2026 21:30:20 UTC | 0xcbc6…5c33 | OUT | 0xd808…4edb | 0.108939 EMERALD | EMERALD (EMERALD) | |
| 0xed7d3008…660018 | Transfer | 31,398,197 | 9 days agoSat, 08 Aug 2026 21:30:20 UTC | 0xf5bb…37f6 | IN | 0xcbc6…5c33 | 0.311256 EMERALD | EMERALD (EMERALD) | |
| 0x41a5a11f…e2c198 | Transfer | 31,398,166 | 9 days agoSat, 08 Aug 2026 21:30:16 UTC | 0xcbc6…5c33 | OUT | 0xd808…4edb | 0.059570 EMERALD | EMERALD (EMERALD) | |
| 0x41a5a11f…e2c198 | Transfer | 31,398,166 | 9 days agoSat, 08 Aug 2026 21:30:16 UTC | 0xcbc6…5c33 | OUT | 0xd808…4edb | 0.059570 EMERALD | EMERALD (EMERALD) | |
| 0x41a5a11f…e2c198 | Transfer | 31,398,166 | 9 days agoSat, 08 Aug 2026 21:30:16 UTC | 0xd808…4edb | IN | 0xcbc6…5c33 | 0.119141 EMERALD | EMERALD (EMERALD) | |
| 0x41a5a11f…e2c198 | Transfer | 31,398,166 | 9 days agoSat, 08 Aug 2026 21:30:16 UTC | 0xcbc6…5c33 | OUT | 0xd808…4edb | 0.119141 EMERALD | EMERALD (EMERALD) | |
| 0x41a5a11f…e2c198 | Transfer | 31,398,166 | 9 days agoSat, 08 Aug 2026 21:30:16 UTC | 0xcbc6…5c33 | OUT | 0xd808…4edb | 0.148926 EMERALD | EMERALD (EMERALD) | |
| 0x41a5a11f…e2c198 | Transfer | 31,398,166 | 9 days agoSat, 08 Aug 2026 21:30:16 UTC | 0xcbc6…5c33 | OUT | 0xd808…4edb | 0.208497 EMERALD | EMERALD (EMERALD) | |
| 0x41a5a11f…e2c198 | Transfer | 31,398,166 | 9 days agoSat, 08 Aug 2026 21:30:16 UTC | 0xf5bb…37f6 | IN | 0xcbc6…5c33 | 0.595706 EMERALD | EMERALD (EMERALD) | |
| 0x6cfa9334…cfef07 | Transfer | 31,398,123 | 9 days agoSat, 08 Aug 2026 21:30:12 UTC | 0xcbc6…5c33 | OUT | 0xd808…4edb | 0.228021 EMERALD | EMERALD (EMERALD) | |
| 0x6cfa9334…cfef07 | Transfer | 31,398,123 | 9 days agoSat, 08 Aug 2026 21:30:12 UTC | 0xcbc6…5c33 | OUT | 0xd808…4edb | 0.228021 EMERALD | EMERALD (EMERALD) |
| Block | Age | Parent Transaction Hash | Type | Method | From | To | Value | |
|---|---|---|---|---|---|---|---|---|
| 31,398,229 | 9 days agoSat, 08 Aug 2026 21:30:23 UTC | 0xdb9994…dab900 | CALL | 0x63ac2a4c | 0xcbc6…5c33 | OUT | 0xd808…4edb | 0.00004 ETH |
| 31,398,229 | 9 days agoSat, 08 Aug 2026 21:30:23 UTC | 0xdb9994…dab900 | CALL | 0x63ac2a4c | 0xd808…4edb | IN | 0xcbc6…5c33 | 0.00004 ETH |
| 31,398,229 | 9 days agoSat, 08 Aug 2026 21:30:23 UTC | 0xdb9994…dab900 | CALL | 0x63ac2a4c | 0xcbc6…5c33 | OUT | 0xd808…4edb | 0.00004 ETH |
| 31,398,229 | 9 days agoSat, 08 Aug 2026 21:30:23 UTC | 0xdb9994…dab900 | CALL | 0x63ac2a4c | 0xd808…4edb | IN | 0xcbc6…5c33 | 0.00009 ETH |
| 31,398,229 | 9 days agoSat, 08 Aug 2026 21:30:23 UTC | 0xdb9994…dab900 | CALL | 0x63ac2a4c | 0xcbc6…5c33 | OUT | 0xd808…4edb | 0.00009 ETH |
| 31,398,229 | 9 days agoSat, 08 Aug 2026 21:30:23 UTC | 0xdb9994…dab900 | CALL | 0x63ac2a4c | 0xcbc6…5c33 | OUT | 0xd808…4edb | 0.00011 ETH |
| 31,398,229 | 9 days agoSat, 08 Aug 2026 21:30:23 UTC | 0xdb9994…dab900 | CALL | 0x63ac2a4c | 0xcbc6…5c33 | OUT | 0xd808…4edb | 0.00016 ETH |
| 31,398,229 | 9 days agoSat, 08 Aug 2026 21:30:23 UTC | 0xdb9994…dab900 | CALL | 0x63ac2a4c | 0xf5bb…37f6 | IN | 0xcbc6…5c33 | 0.00046 ETH |
| 31,398,197 | 9 days agoSat, 08 Aug 2026 21:30:20 UTC | 0xed7d30…660018 | CALL | 0x63ac2a4c | 0xcbc6…5c33 | OUT | 0xd808…4edb | 0.00004 ETH |
| 31,398,197 | 9 days agoSat, 08 Aug 2026 21:30:20 UTC | 0xed7d30…660018 | CALL | 0x63ac2a4c | 0xd808…4edb | IN | 0xcbc6…5c33 | 0.00004 ETH |
| 31,398,197 | 9 days agoSat, 08 Aug 2026 21:30:20 UTC | 0xed7d30…660018 | CALL | 0x63ac2a4c | 0xcbc6…5c33 | OUT | 0xd808…4edb | 0.00004 ETH |
| 31,398,197 | 9 days agoSat, 08 Aug 2026 21:30:20 UTC | 0xed7d30…660018 | CALL | 0x63ac2a4c | 0xd808…4edb | IN | 0xcbc6…5c33 | 0.00009 ETH |
| 31,398,197 | 9 days agoSat, 08 Aug 2026 21:30:20 UTC | 0xed7d30…660018 | CALL | 0x63ac2a4c | 0xcbc6…5c33 | OUT | 0xd808…4edb | 0.00009 ETH |
| 31,398,197 | 9 days agoSat, 08 Aug 2026 21:30:20 UTC | 0xed7d30…660018 | CALL | 0x63ac2a4c | 0xcbc6…5c33 | OUT | 0xd808…4edb | 0.00011 ETH |
| 31,398,197 | 9 days agoSat, 08 Aug 2026 21:30:20 UTC | 0xed7d30…660018 | CALL | 0x63ac2a4c | 0xcbc6…5c33 | OUT | 0xd808…4edb | 0.00016 ETH |
| 31,398,197 | 9 days agoSat, 08 Aug 2026 21:30:20 UTC | 0xed7d30…660018 | CALL | 0x63ac2a4c | 0xf5bb…37f6 | IN | 0xcbc6…5c33 | 0.00046 ETH |
| 31,398,166 | 9 days agoSat, 08 Aug 2026 21:30:16 UTC | 0x41a5a1…e2c198 | CALL | 0x63ac2a4c | 0xcbc6…5c33 | OUT | 0xd808…4edb | 0.00009 ETH |
| 31,398,166 | 9 days agoSat, 08 Aug 2026 21:30:16 UTC | 0x41a5a1…e2c198 | CALL | 0x63ac2a4c | 0xcbc6…5c33 | OUT | 0xd808…4edb | 0.00009 ETH |
| 31,398,166 | 9 days agoSat, 08 Aug 2026 21:30:16 UTC | 0x41a5a1…e2c198 | CALL | 0x63ac2a4c | 0xd808…4edb | IN | 0xcbc6…5c33 | 0.00018 ETH |
| 31,398,166 | 9 days agoSat, 08 Aug 2026 21:30:16 UTC | 0x41a5a1…e2c198 | CALL | 0x63ac2a4c | 0xcbc6…5c33 | OUT | 0xd808…4edb | 0.00018 ETH |
| 31,398,166 | 9 days agoSat, 08 Aug 2026 21:30:16 UTC | 0x41a5a1…e2c198 | CALL | 0x63ac2a4c | 0xcbc6…5c33 | OUT | 0xd808…4edb | 0.00023 ETH |
| 31,398,166 | 9 days agoSat, 08 Aug 2026 21:30:16 UTC | 0x41a5a1…e2c198 | CALL | 0x63ac2a4c | 0xcbc6…5c33 | OUT | 0xd808…4edb | 0.00032 ETH |
| 31,398,166 | 9 days agoSat, 08 Aug 2026 21:30:16 UTC | 0x41a5a1…e2c198 | CALL | 0x63ac2a4c | 0xf5bb…37f6 | IN | 0xcbc6…5c33 | 0.00093 ETH |
| 31,398,123 | 9 days agoSat, 08 Aug 2026 21:30:12 UTC | 0x6cfa93…cfef07 | CALL | 0x63ac2a4c | 0xcbc6…5c33 | OUT | 0xd808…4edb | 0.00037 ETH |
| 31,398,123 | 9 days agoSat, 08 Aug 2026 21:30:12 UTC | 0x6cfa93…cfef07 | CALL | 0x63ac2a4c | 0xcbc6…5c33 | OUT | 0xd808…4edb | 0.00037 ETH |