// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;
import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
import {Ownable2Step, Ownable} from "@openzeppelin/contracts/access/Ownable2Step.sol";
// ─── Packed Interfaces ────────────────────────────────────────────────────────
interface IAaveV3Pool {
function supply(address asset, uint256 amount, address onBehalfOf, uint16 referralCode) external;
function withdraw(address asset, uint256 amount, address to) external returns (uint256);
}
// ─────────────────────────────────────────────────────────────────────────────
// SwingVault
// Own-capital swing trading vault. No flash loans — owns its capital.
//
// Curated token allowlist (April 2026):
// FET 0xaea46A60368A7bD060eec7DF8CBa43b7EF41Ad85 Fetch.ai / ASI Alliance (-93% from ATH)
// ENA 0x57e114B691Db790C35207b2e685D4A43181e6061 Ethena (-92% from ATH)
// ETHFI 0xFe0c30065B384F05761f15d0CC899D4F9F9Cc0eB ether.fi governance (-92% from ATH)
// MORPHO 0x58D97B57BB95320F9a05dC918Aef65434969c2B2 Morpho (-74% from ATH)
// AIOZ 0x626E8036dEB333b408Be468F951bdB42433cBF18 AIOZ Network DePIN (-89% from ATH)
// wstETH 0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0 Lido wstETH (LST anchor)
// weETH 0xCd5fE23C85820F7B72D0926FC9b05b43E359b7ee EtherFi weETH (LRT)
// ezETH 0xbf5495Efe5DB9ce00f80364C8B423567e58d2110 Renzo ezETH (LRT)
// pufETH 0xD9A442856C234a39a81a089C06451EBAa4306a72 Puffer pufETH (LRT)
// rsETH 0xA1290d69c65A6Fe4DF752f95823fae25cB99e5A7 Kelp rsETH (LRT)
// WETH 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 entry/exit denomination
// USDC 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 idle yield base
//
// Non-EVM sentinel tokens (bot monitors only, not traded by this contract):
// XRP — leading altcoin-wave indicator (Rakuten integration, ETF inflows)
// BCH — Bitcoin ecosystem health gauge
// TAO — AI narrative strength / governance controversy recovery
//
// Gas optimisations (EIP-1153 Cancun):
// · Transient reentrancy guard — replaces OZ ReentrancyGuard (~2 000 gas/tx)
// · Immutable chain addresses — no SLOAD for constants
// ─────────────────────────────────────────────────────────────────────────────
contract SwingVault is Ownable2Step {
using SafeERC20 for IERC20;
// ── Errors ─────────────────────────────────────────────────────────────
error ContractPaused();
error TokenNotAllowed(address token);
error ReturnInsufficient(uint256 actual, uint256 minimum);
error StepFailed(uint256 idx, bytes reason);
error PositionNotOpen(uint256 posId);
error Reentrancy();
error DeadlineExpired(); // tx executed after deadline block
error TargetNotAllowed(address target); // step target not in allowlist
error TooManySteps(); // step count exceeds MAX_STEPS
error PositionTooLarge(); // position cost exceeds MAX_POSITION_WEI
// ── Events ─────────────────────────────────────────────────────────────
event Entered(uint256 indexed posId, address indexed token, uint256 amount, uint256 costWei);
event Exited(uint256 indexed posId, address indexed token, uint256 amount, uint256 returnWei, int256 pnlWei);
event AllowedSet(address indexed token, bool allowed);
event PauseSet(bool paused);
event AaveDeposited(address indexed token, uint256 amount);
event AaveWithdrawn(address indexed token, uint256 amount);
// ── Transient storage slot (EIP-1153) ──────────────────────────────────
uint256 private constant _T_REENTRANCY = 0;
// ── Constants ──────────────────────────────────────────────────────────
uint256 public constant MAX_STEPS = 5; // max swap steps (simpler than arb)
uint256 public constant MAX_POSITION_WEI = 0.5 ether; // max position size (risk cap)
// ── Structs ────────────────────────────────────────────────────────────
/// @dev One atomic execution step. Pre-built off-chain by swing.js.
/// Same pattern as FlashArbVault for calldata reuse.
struct Step {
address target; // contract to call
bytes data; // pre-encoded calldata
address approveToken; // token to approve before call; address(0) = skip
address approveTo; // approval spender
uint256 approveAmt; // 0 → type(uint256).max
}
/// @dev One open swing position.
struct Position {
address token; // ERC-20 held
uint256 amount; // units held (set at entry, cleared on exit)
uint256 costWei; // WETH-denominated cost at entry (for PnL tracking)
uint256 entryBlock; // block.number at entry
bool open; // true while live
}
// ── Immutables (set once at deploy, cheaper than constants for ext calls) ──
address public immutable AAVE_POOL;
address public immutable WETH;
address public immutable USDC;
// ── State ──────────────────────────────────────────────────────────────
bool public paused;
uint256 public nextPosId;
mapping(address => bool) public allowed; // token allowlist
mapping(address => bool) public allowedTargets; // swap router allowlist
mapping(uint256 => Position) public positions;
// ── Constructor ────────────────────────────────────────────────────────
/// @param owner_ Initial owner (Ownable2Step — two-step transfer).
/// @param aavePool_ Aave V3 pool address (mainnet: 0x87870Bca3F3fD6335C3F4ce8392D69350B4fA4E2).
/// @param weth_ WETH address.
/// @param usdc_ USDC address.
constructor(address owner_, address aavePool_, address weth_, address usdc_)
Ownable(owner_)
{
AAVE_POOL = aavePool_;
WETH = weth_;
USDC = usdc_;
// Allow base trading pair only — all chain-specific tokens are seeded
// by the deploy script via setAllowed() after construction.
// This keeps the contract chain-agnostic (mainnet, Arbitrum, Base).
_setAllowed(weth_, true);
_setAllowed(usdc_, true);
}
// ── Modifiers ──────────────────────────────────────────────────────────
modifier live() { if (paused) revert ContractPaused(); _; }
/// @dev EIP-1153 transient reentrancy guard — ~100 gas vs ~2 000 gas (SSTORE).
modifier nonReentrant() {
assembly { if tload(_T_REENTRANCY) { mstore(0, 0x9e87fac8) revert(28, 4) } tstore(_T_REENTRANCY, 1) }
_;
assembly { tstore(_T_REENTRANCY, 0) }
}
// ══════════════════════════ Core Trade Functions ══════════════════════
/// @notice Enter a swing position: spend costToken, acquire acquiredToken via swap steps.
/// @param steps Uniswap V3 swap steps built off-chain by swing.js.
/// @param acquiredToken ERC-20 the vault will hold after the swap.
/// @param minAcquired Minimum units of acquiredToken (slippage guard, set to 99.5% of quote).
/// @param costToken Token spent on entry — must be WETH or USDC.
/// @param costAmount Amount of costToken spent (stored for PnL calculation, not enforced).
/// @param deadline Block number deadline; 0 = no deadline.
/// @return posId Position ID to use in exit().
function enter(
Step[] calldata steps,
address acquiredToken,
uint256 minAcquired,
address costToken,
uint256 costAmount,
uint256 deadline
) external onlyOwner nonReentrant live returns (uint256 posId) {
if (deadline != 0 && block.number > deadline) revert DeadlineExpired();
if (steps.length > MAX_STEPS) revert TooManySteps();
if (costAmount > MAX_POSITION_WEI) revert PositionTooLarge();
if (!allowed[acquiredToken]) revert TokenNotAllowed(acquiredToken);
if (!allowed[costToken]) revert TokenNotAllowed(costToken);
uint256 balBefore = IERC20(acquiredToken).balanceOf(address(this));
_runSteps(steps);
uint256 acquired = IERC20(acquiredToken).balanceOf(address(this)) - balBefore;
if (acquired < minAcquired) revert ReturnInsufficient(acquired, minAcquired);
posId = nextPosId++;
positions[posId] = Position({
token: acquiredToken,
amount: acquired,
costWei: costAmount,
entryBlock: block.number,
open: true
});
emit Entered(posId, acquiredToken, acquired, costAmount);
}
/// @notice Exit a swing position: sell held token back to returnToken.
/// @param posId Position ID returned by enter().
/// @param steps Swap steps built off-chain by swing.js.
/// @param returnToken Token to receive on exit — must be in allowlist (typically WETH).
/// @param minReturn Minimum returnToken units; encodes both slippage guard and profit floor.
/// For stop-loss exits set to 0.5% slippage only. For profit exits the
/// bot sets this to costWei + MIN_PROFIT_WEI (guarantees net profit on-chain).
/// @param deadline Block number deadline; 0 = no deadline.
function exit(
uint256 posId,
Step[] calldata steps,
address returnToken,
uint256 minReturn,
uint256 deadline
) external onlyOwner nonReentrant live {
if (deadline != 0 && block.number > deadline) revert DeadlineExpired();
if (steps.length > MAX_STEPS) revert TooManySteps();
Position storage pos = positions[posId];
if (!pos.open) revert PositionNotOpen(posId);
if (!allowed[returnToken]) revert TokenNotAllowed(returnToken);
uint256 balBefore = IERC20(returnToken).balanceOf(address(this));
_runSteps(steps);
uint256 returned = IERC20(returnToken).balanceOf(address(this)) - balBefore;
if (returned < minReturn) revert ReturnInsufficient(returned, minReturn);
// Safe: both operands are bounded ETH amounts (never approach int256 max).
int256 pnl;
if (returned >= pos.costWei) {
// forge-lint: disable-next-line(unsafe-typecast)
pnl = int256(returned - pos.costWei);
} else {
// forge-lint: disable-next-line(unsafe-typecast)
pnl = -int256(pos.costWei - returned);
}
pos.open = false;
emit Exited(posId, pos.token, pos.amount, returned, pnl);
}
// ══════════════════════════ Aave Yield Integration ════════════════════
/// @notice Deposit idle WETH or USDC to Aave V3 to earn yield between positions.
/// Bot calls this automatically after each exit and on startup.
function aaveDeposit(address token, uint256 amount) external onlyOwner live {
if (AAVE_POOL == address(0)) return; // Aave not configured on this chain
if (!allowed[token]) revert TokenNotAllowed(token);
IERC20(token).forceApprove(AAVE_POOL, amount);
IAaveV3Pool(AAVE_POOL).supply(token, amount, address(this), 0);
emit AaveDeposited(token, amount);
}
/// @notice Withdraw from Aave V3 to free capital before a swap entry.
/// Bot calls this automatically before enter() when needed.
function aaveWithdraw(address token, uint256 amount) external onlyOwner live {
if (AAVE_POOL == address(0)) return; // Aave not configured on this chain
if (!allowed[token]) revert TokenNotAllowed(token);
IAaveV3Pool(AAVE_POOL).withdraw(token, amount, address(this));
emit AaveWithdrawn(token, amount);
}
// ══════════════════════════ Admin ════════════════════════════════════
/// @notice Add or remove a token from the trading allowlist.
function setAllowed(address token, bool isAllowed) external onlyOwner {
_setAllowed(token, isAllowed);
}
/// @notice Add or remove an address from the allowed step targets (swap routers).
function setAllowedTarget(address target, bool isAllowed) external onlyOwner {
allowedTargets[target] = isAllowed;
}
/// @notice Batch add multiple allowed targets in one tx.
function setAllowedTargetsBatch(address[] calldata targets, bool isAllowed) external onlyOwner {
for (uint256 i; i < targets.length; ) {
allowedTargets[targets[i]] = isAllowed;
unchecked { ++i; }
}
}
/// @notice Pause or unpause the vault. Stops all enter/exit/deposit.
function setPause(bool p) external onlyOwner {
paused = p;
emit PauseSet(p);
}
/// @notice Recover ERC-20 tokens sent to the vault by mistake.
function rescueERC20(address token, address to, uint256 amount) external onlyOwner {
IERC20(token).safeTransfer(to, amount);
}
/// @notice Recover native ETH (e.g. from an accidental WETH.withdraw).
function rescueETH(address payable to, uint256 amount) external onlyOwner {
(bool ok,) = to.call{value: amount}("");
require(ok, "ETH transfer failed");
}
receive() external payable {}
// ══════════════════════════ Internal ════════════════════════════════
function _setAllowed(address token, bool isAllowed) internal {
allowed[token] = isAllowed;
emit AllowedSet(token, isAllowed);
}
/// @dev Execute a sequence of pre-encoded call steps (approve + call).
function _runSteps(Step[] calldata steps) internal {
for (uint256 i; i < steps.length; ) {
Step calldata s = steps[i];
// Validate step target is in allowlist
if (!allowedTargets[s.target]) revert TargetNotAllowed(s.target);
if (s.approveToken != address(0)) {
uint256 amt = s.approveAmt == 0 ? type(uint256).max : s.approveAmt;
IERC20(s.approveToken).forceApprove(s.approveTo, amt);
}
(bool ok, bytes memory reason) = s.target.call(s.data);
if (!ok) revert StepFailed(i, reason);
// Revoke approval after step to prevent leftover allowances
if (s.approveToken != address(0)) {
IERC20(s.approveToken).forceApprove(s.approveTo, 0);
}
unchecked { ++i; }
}
}
}[
{
"type": "constructor",
"inputs": [
{
"name": "owner_",
"type": "address",
"internalType": "address"
},
{
"name": "aavePool_",
"type": "address",
"internalType": "address"
},
{
"name": "weth_",
"type": "address",
"internalType": "address"
},
{
"name": "usdc_",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "nonpayable"
},
{
"name": "ContractPaused",
"type": "error",
"inputs": []
},
{
"name": "DeadlineExpired",
"type": "error",
"inputs": []
},
{
"name": "OwnableInvalidOwner",
"type": "error",
"inputs": [
{
"name": "owner",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "OwnableUnauthorizedAccount",
"type": "error",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "PositionNotOpen",
"type": "error",
"inputs": [
{
"name": "posId",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "PositionTooLarge",
"type": "error",
"inputs": []
},
{
"name": "Reentrancy",
"type": "error",
"inputs": []
},
{
"name": "ReturnInsufficient",
"type": "error",
"inputs": [
{
"name": "actual",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "minimum",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "SafeERC20FailedOperation",
"type": "error",
"inputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "StepFailed",
"type": "error",
"inputs": [
{
"name": "idx",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "reason",
"type": "bytes",
"internalType": "bytes"
}
]
},
{
"name": "TargetNotAllowed",
"type": "error",
"inputs": [
{
"name": "target",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "TokenNotAllowed",
"type": "error",
"inputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "TooManySteps",
"type": "error",
"inputs": []
},
{
"name": "AaveDeposited",
"type": "event",
"inputs": [
{
"name": "token",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "AaveWithdrawn",
"type": "event",
"inputs": [
{
"name": "token",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "AllowedSet",
"type": "event",
"inputs": [
{
"name": "token",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "allowed",
"type": "bool",
"indexed": false,
"internalType": "bool"
}
],
"anonymous": false
},
{
"name": "Entered",
"type": "event",
"inputs": [
{
"name": "posId",
"type": "uint256",
"indexed": true,
"internalType": "uint256"
},
{
"name": "token",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "costWei",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "Exited",
"type": "event",
"inputs": [
{
"name": "posId",
"type": "uint256",
"indexed": true,
"internalType": "uint256"
},
{
"name": "token",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "returnWei",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "pnlWei",
"type": "int256",
"indexed": false,
"internalType": "int256"
}
],
"anonymous": false
},
{
"name": "OwnershipTransferStarted",
"type": "event",
"inputs": [
{
"name": "previousOwner",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "newOwner",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"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": "PauseSet",
"type": "event",
"inputs": [
{
"name": "paused",
"type": "bool",
"indexed": false,
"internalType": "bool"
}
],
"anonymous": false
},
{
"name": "AAVE_POOL",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "MAX_POSITION_WEI",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "MAX_STEPS",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "USDC",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "WETH",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "aaveDeposit",
"type": "function",
"inputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "aaveWithdraw",
"type": "function",
"inputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "acceptOwnership",
"type": "function",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "allowed",
"type": "function",
"inputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"name": "allowedTargets",
"type": "function",
"inputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"name": "enter",
"type": "function",
"inputs": [
{
"name": "steps",
"type": "tuple[]",
"components": [
{
"name": "target",
"type": "address",
"internalType": "address"
},
{
"name": "data",
"type": "bytes",
"internalType": "bytes"
},
{
"name": "approveToken",
"type": "address",
"internalType": "address"
},
{
"name": "approveTo",
"type": "address",
"internalType": "address"
},
{
"name": "approveAmt",
"type": "uint256",
"internalType": "uint256"
}
],
"internalType": "struct SwingVault.Step[]"
},
{
"name": "acquiredToken",
"type": "address",
"internalType": "address"
},
{
"name": "minAcquired",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "costToken",
"type": "address",
"internalType": "address"
},
{
"name": "costAmount",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "deadline",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "posId",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "nonpayable"
},
{
"name": "exit",
"type": "function",
"inputs": [
{
"name": "posId",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "steps",
"type": "tuple[]",
"components": [
{
"name": "target",
"type": "address",
"internalType": "address"
},
{
"name": "data",
"type": "bytes",
"internalType": "bytes"
},
{
"name": "approveToken",
"type": "address",
"internalType": "address"
},
{
"name": "approveTo",
"type": "address",
"internalType": "address"
},
{
"name": "approveAmt",
"type": "uint256",
"internalType": "uint256"
}
],
"internalType": "struct SwingVault.Step[]"
},
{
"name": "returnToken",
"type": "address",
"internalType": "address"
},
{
"name": "minReturn",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "deadline",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "nextPosId",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "owner",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "paused",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"name": "pendingOwner",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "positions",
"type": "function",
"inputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "costWei",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "entryBlock",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "open",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"name": "renounceOwnership",
"type": "function",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "rescueERC20",
"type": "function",
"inputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
},
{
"name": "to",
"type": "address",
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "rescueETH",
"type": "function",
"inputs": [
{
"name": "to",
"type": "address",
"internalType": "address payable"
},
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "setAllowed",
"type": "function",
"inputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
},
{
"name": "isAllowed",
"type": "bool",
"internalType": "bool"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "setAllowedTarget",
"type": "function",
"inputs": [
{
"name": "target",
"type": "address",
"internalType": "address"
},
{
"name": "isAllowed",
"type": "bool",
"internalType": "bool"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "setAllowedTargetsBatch",
"type": "function",
"inputs": [
{
"name": "targets",
"type": "address[]",
"internalType": "address[]"
},
{
"name": "isAllowed",
"type": "bool",
"internalType": "bool"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "setPause",
"type": "function",
"inputs": [
{
"name": "p",
"type": "bool",
"internalType": "bool"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "transferOwnership",
"type": "function",
"inputs": [
{
"name": "newOwner",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "receive",
"stateMutability": "payable"
}
]0x60e03461013657601f61221338819003918201601f19168301916001600160401b0383118484101761013a57808492608094604052833981010312610136576100478161014e565b6100536020830161014e565b9161006c60606100656040840161014e565b920161014e565b916001600160a01b031690811561012357600180546001600160a01b03199081169091555f8054918216841781556100eb956100e694909290916001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a36080528060a0528260c052610162565b610162565b60405161206490816101af8239608051818181610206015281816117c601526118f9015260a05181610dab015260c05181610c1e0152f35b631e4fbdf760e01b5f525f60045260245ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b038216820361013657565b60018060a01b0316805f52600360205260405f20600160ff198254161790557fc5217903bd71390e046be1c1ee589f3af533c8fe5b67ee0a7dade2f8a853badd602060405160018152a256fe6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c806308a01675146101a9578063099a04e5146101a457806317fab32c1461019f5780633c255b741461019a5780633f2acfe3146101955780634697f05d146101905780635c975abb1461018b578063715018a61461018657806379ba50971461018157806389a302711461017c5780638da5cb5b1461017757806399fbab8814610172578063a25d887d1461016d578063ad5c464814610168578063b2118a8d14610163578063b8fe8d5f1461015e578063bedb86fb14610159578063ca1dd22e14610154578063cf95061a1461014f578063d63a8e111461014a578063e30c397814610145578063e9838e2b14610140578063eb9ff5391461013b578063f2fde38b146101365763f367d5cc0361000e57611567565b6114a6565b6111b5565b611159565b611108565b61109c565b611061565b610fc1565b610f0b565b610e9f565b610dcf565b610d61565b610d21565b610c92565b610c42565b610bd4565b610acc565b610a0a565b6109c7565b6108f7565b61089b565b610431565b610359565b610248565b6101bc565b5f9103126101b857565b5f80fd5b346101b8575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b857602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b73ffffffffffffffffffffffffffffffffffffffff8116036101b857565b346101b85760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b8575f8080806004356102878161022a565b73ffffffffffffffffffffffffffffffffffffffff602435916102a8611ac7565b165af16102b3611624565b50156102bb57005b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f455448207472616e73666572206661696c6564000000000000000000000000006044820152fd5b9181601f840112156101b85782359167ffffffffffffffff83116101b8576020808501948460051b0101116101b857565b6024359081151582036101b857565b346101b85760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b85760043567ffffffffffffffff81116101b8576103a8903690600401610319565b6103b061034a565b916103b9611ac7565b5f5b828110156100185760019073ffffffffffffffffffffffffffffffffffffffff8160051b8401356103eb8161022a565b165f52600460205261042b8560405f209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b016103bb565b346101b85760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b85760043567ffffffffffffffff81116101b857610480903690600401610319565b60243561048c8161022a565b604435926064359061049d8261022a565b6084359160a4356104ac611ac7565b5f5c61088e5760015f5d60ff60015460a01c1661086657801515908161085c575b50610834576005851161080c576706f05b59d3b2000083116107e45761052261051e6105178673ffffffffffffffffffffffffffffffffffffffff165f52600360205260405f2090565b5460ff1690565b1590565b6107a25761055461051e6105178373ffffffffffffffffffffffffffffffffffffffff165f52600360205260405f2090565b61076157506040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff841694602082602481895afa918215610739575f9261073e575b506105bf9192611c02565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290602082602481885afa80156107395761060c925f9161070a575b506116d5565b938085106106d9576002546106d59085817f67f18c62d694f27ab65863682a2757fc3881081d5274f7fe7deb533a5ef32b9e868a6106b28a610655610650876116e7565b600255565b61067c610660611613565b73ffffffffffffffffffffffffffffffffffffffff9092168252565b82602082015283604082015243606082015261069b6080820160019052565b6106ad865f52600560205260405f2090565b611714565b604080519182526020820192909252a35f805d6040519081529081906020820190565b0390f35b7f24557f05000000000000000000000000000000000000000000000000000000005f52600485905260245260445b5ffd5b61072c915060203d602011610732575b61072481836115cd565b81019061168e565b5f610606565b503d61071a565b61169d565b6105bf925061075b9060203d6020116107325761072481836115cd565b916105b4565b7f94403b70000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff1660045260245ffd5b7f94403b70000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff841660045260245ffd5b7f543a6e10000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f5cdc2c78000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f1ab7da6b000000000000000000000000000000000000000000000000000000005f5260045ffd5b905043115f6104cd565b7fab35696f000000000000000000000000000000000000000000000000000000005f5260045ffd5b639e87fac85f526004601cfd5b346101b85760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b8576004356108d68161022a565b6024356108e1611ac7565b60ff60015460a01c1661086657610018916117af565b346101b85760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b8576004356109328161022a565b7fc5217903bd71390e046be1c1ee589f3af533c8fe5b67ee0a7dade2f8a853badd602073ffffffffffffffffffffffffffffffffffffffff61097261034a565b9361097b611ac7565b1692835f52600382526109bc8160405f209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b6040519015158152a2005b346101b8575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b857602060ff60015460a01c166040519015158152f35b346101b8575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b857610a40611ac7565b7fffffffffffffffffffffffff0000000000000000000000000000000000000000600154166001555f73ffffffffffffffffffffffffffffffffffffffff81547fffffffffffffffffffffffff000000000000000000000000000000000000000081168355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346101b8575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b8573373ffffffffffffffffffffffffffffffffffffffff6001541603610ba8577fffffffffffffffffffffffff0000000000000000000000000000000000000000600154166001555f54337fffffffffffffffffffffffff00000000000000000000000000000000000000008216175f5573ffffffffffffffffffffffffffffffffffffffff3391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3005b7f118cdaa7000000000000000000000000000000000000000000000000000000005f523360045260245ffd5b346101b8575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b857602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346101b8575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b857602073ffffffffffffffffffffffffffffffffffffffff5f5416604051908152f35b346101b85760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b8576004355f52600560205260a060405f2073ffffffffffffffffffffffffffffffffffffffff81541690600181015490600281015460ff60046003840154930154169260405194855260208501526040840152606083015215156080820152f35b346101b8575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b85760206040516706f05b59d3b200008152f35b346101b8575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b857602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346101b85760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b857610018600435610e0d8161022a565b73ffffffffffffffffffffffffffffffffffffffff60243591610e2f8361022a565b610e9960443593610e3e611ac7565b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000602082015273ffffffffffffffffffffffffffffffffffffffff9190911660248201526044808201959095529384526064846115cd565b16611fa7565b346101b85760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b85773ffffffffffffffffffffffffffffffffffffffff600435610eef8161022a565b165f526004602052602060ff60405f2054166040519015158152f35b346101b85760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b8576004358015158091036101b85760207f878ac8a2ca79520471f8f3c8494fa802c03ce3bf034252aad7f22318984fdbdb91610f73611ac7565b6001547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff74ff00000000000000000000000000000000000000008360a01b16911617600155604051908152a1005b346101b85760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b857610018600435610fff8161022a565b73ffffffffffffffffffffffffffffffffffffffff61101c61034a565b91611025611ac7565b165f52600460205260405f209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b346101b8575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b8576020600254604051908152f35b346101b85760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b85773ffffffffffffffffffffffffffffffffffffffff6004356110ec8161022a565b165f526003602052602060ff60405f2054166040519015158152f35b346101b8575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b857602073ffffffffffffffffffffffffffffffffffffffff60015416604051908152f35b346101b85760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b8576004356111948161022a565b60243561119f611ac7565b60ff60015460a01c1661086657610018916118f7565b346101b85760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b85760043560243567ffffffffffffffff81116101b857611207903690600401610319565b91906044356112158161022a565b60643593608435611224611ac7565b5f5c61088e5760015f5d60ff60015460a01c1661086657801515908161149c575b50610834576005811161080c57611264845f52600560205260405f2090565b92600484019261127861051e855460ff1690565b61146f576112aa61051e6105178373ffffffffffffffffffffffffffffffffffffffff165f52600360205260405f2090565b610761576040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff9190911692602082602481875afa918215610739575f9261144c575b506113169192611c02565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015291602090839060249082905afa801561073957611365925f9161070a57506116d5565b938085106106d957507f1c3eac18e39e60bda6689777ecb748f675c665aa861874b20b759e72f2dfd76e9161143273ffffffffffffffffffffffffffffffffffffffff926113ef600284015488818110155f1461143a57906113c6916116d5565b917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008154169055565b600161140f845473ffffffffffffffffffffffffffffffffffffffff1690565b930154966040519485941697846040919493926060820195825260208201520152565b0390a35f805d005b611447906113c6926116d5565b611a9b565b61131692506114699060203d6020116107325761072481836115cd565b9161130b565b7f02adcd55000000000000000000000000000000000000000000000000000000005f52600486905260245ffd5b905043115f611245565b346101b85760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b85773ffffffffffffffffffffffffffffffffffffffff6004356114f68161022a565b6114fe611ac7565b16807fffffffffffffffffffffffff0000000000000000000000000000000000000000600154161760015573ffffffffffffffffffffffffffffffffffffffff5f54167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e227005f80a3005b346101b8575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b857602060405160058152f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761160e57604052565b6115a0565b6040519061162260a0836115cd565b565b3d1561167c573d9067ffffffffffffffff821161160e576040519161167160207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601846115cd565b82523d5f602084013e565b606090565b3561168b8161022a565b90565b908160209103126101b8575190565b6040513d5f823e3d90fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b919082039182116116e257565b6116a8565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146116e25760010190565b600460806116229373ffffffffffffffffffffffffffffffffffffffff8151167fffffffffffffffffffffffff00000000000000000000000000000000000000008554161784556020810151600185015560408101516002850155606081015160038501550151151591019060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169081156118f25761181b61051e6105178373ffffffffffffffffffffffffffffffffffffffff165f52600360205260405f2090565b610761576040517f69328dec00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821660048201526024810184905230604482015291602090839060649082905f905af1908115610739577f9a8d1a90858e1d53e9e227915c06be2638a682a3ce90883523b667d68d3c48559273ffffffffffffffffffffffffffffffffffffffff926118d5575b50604051938452169180602081015b0390a2565b6118ed9060203d6020116107325761072481836115cd565b6118c1565b505050565b7f00000000000000000000000000000000000000000000000000000000000000009173ffffffffffffffffffffffffffffffffffffffff83168015611a955761196461051e6105178573ffffffffffffffffffffffffffffffffffffffff165f52600360205260405f2090565b611a535761198a8273ffffffffffffffffffffffffffffffffffffffff85169586611f44565b803b156101b8576040517f617ba03700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff939093166004840152602483018290523060448401525f60648401819052908390608490829084905af1908115610739577ffb9eabf11d5fbc089b6f1ac15f2482c0f73b775918df44c47d50133c0b5412ae926118d092611a39575b506040519081529081906020820190565b80611a475f611a4d936115cd565b806101ae565b5f611a28565b7f94403b70000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff831660045260245ffd5b50505050565b7f800000000000000000000000000000000000000000000000000000000000000081146116e2575f0390565b73ffffffffffffffffffffffffffffffffffffffff5f54163303610ba857565b9190811015611b275760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61813603018212156101b8570190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156101b8570180359067ffffffffffffffff82116101b8576020019181360383136101b857565b908092918237015f815290565b90601f60206060947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09385526040828601528051918291826040880152018686015e5f8582860101520116010190565b91905f5b818110611c135750509050565b611c1e818386611ae7565b611c5461051e610517611c3084611681565b73ffffffffffffffffffffffffffffffffffffffff165f52600460205260405f2090565b611da0576040810190611c82611c6983611681565b73ffffffffffffffffffffffffffffffffffffffff1690565b611d44575b5f80611c9283611681565b81611ca06020860186611b54565b9190611cb160405180948193611ba5565b03925af1611cbd611624565b9015611d0a57509060019291611cd5611c6983611681565b611ce2575b505001611c06565b611cfd6060611cf6611c69611d0395611681565b9201611681565b90611ded565b5f80611cda565b83611d406040519283927f6f43605f00000000000000000000000000000000000000000000000000000000845260048401611bb2565b0390fd5b608081013580611d975750611d927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5b611d80611c6985611681565b611d8c60608501611681565b90611f44565b611c87565b611d9290611d74565b611dac61070791611681565b7fe356c1d3000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff16600452602490565b6040519060205f8184017f095ea7b3000000000000000000000000000000000000000000000000000000008152611e7b85611e4f8489602484016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018752866115cd565b84519082855af15f51903d81611f0b575b501590505b611e9a57505050565b6040517f095ea7b300000000000000000000000000000000000000000000000000000000602082015273ffffffffffffffffffffffffffffffffffffffff9390931660248401525f604480850191909152835261162292611f0690611f006064826115cd565b82611fa7565b611fa7565b15159050611f385750611e9173ffffffffffffffffffffffffffffffffffffffff82163b15155b5f611e8c565b6001611e919114611f32565b6040517f095ea7b300000000000000000000000000000000000000000000000000000000602082810191825273ffffffffffffffffffffffffffffffffffffffff851660248401526044830195909552929390925f90611e7b8560648101611e4f565b905f602091828151910182855af11561169d575f513d612025575073ffffffffffffffffffffffffffffffffffffffff81163b155b611fe35750565b73ffffffffffffffffffffffffffffffffffffffff907f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b60011415611fdc56fea2646970667358221220d069c4476debdfdf0b994f503801e988e51ad911525b71740521b19f8e995b3464736f6c634300081c0033000000000000000000000000c6224562566118f7020bbb9cd00eef906c68bd9c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000bd7d308f8e1639fab988df18a8011f41eacad730000000000000000000000005fc5360d0400a0fd4f2af552add042d716f1d168
0x6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c806308a01675146101a9578063099a04e5146101a457806317fab32c1461019f5780633c255b741461019a5780633f2acfe3146101955780634697f05d146101905780635c975abb1461018b578063715018a61461018657806379ba50971461018157806389a302711461017c5780638da5cb5b1461017757806399fbab8814610172578063a25d887d1461016d578063ad5c464814610168578063b2118a8d14610163578063b8fe8d5f1461015e578063bedb86fb14610159578063ca1dd22e14610154578063cf95061a1461014f578063d63a8e111461014a578063e30c397814610145578063e9838e2b14610140578063eb9ff5391461013b578063f2fde38b146101365763f367d5cc0361000e57611567565b6114a6565b6111b5565b611159565b611108565b61109c565b611061565b610fc1565b610f0b565b610e9f565b610dcf565b610d61565b610d21565b610c92565b610c42565b610bd4565b610acc565b610a0a565b6109c7565b6108f7565b61089b565b610431565b610359565b610248565b6101bc565b5f9103126101b857565b5f80fd5b346101b8575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b857602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b73ffffffffffffffffffffffffffffffffffffffff8116036101b857565b346101b85760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b8575f8080806004356102878161022a565b73ffffffffffffffffffffffffffffffffffffffff602435916102a8611ac7565b165af16102b3611624565b50156102bb57005b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f455448207472616e73666572206661696c6564000000000000000000000000006044820152fd5b9181601f840112156101b85782359167ffffffffffffffff83116101b8576020808501948460051b0101116101b857565b6024359081151582036101b857565b346101b85760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b85760043567ffffffffffffffff81116101b8576103a8903690600401610319565b6103b061034a565b916103b9611ac7565b5f5b828110156100185760019073ffffffffffffffffffffffffffffffffffffffff8160051b8401356103eb8161022a565b165f52600460205261042b8560405f209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b016103bb565b346101b85760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b85760043567ffffffffffffffff81116101b857610480903690600401610319565b60243561048c8161022a565b604435926064359061049d8261022a565b6084359160a4356104ac611ac7565b5f5c61088e5760015f5d60ff60015460a01c1661086657801515908161085c575b50610834576005851161080c576706f05b59d3b2000083116107e45761052261051e6105178673ffffffffffffffffffffffffffffffffffffffff165f52600360205260405f2090565b5460ff1690565b1590565b6107a25761055461051e6105178373ffffffffffffffffffffffffffffffffffffffff165f52600360205260405f2090565b61076157506040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff841694602082602481895afa918215610739575f9261073e575b506105bf9192611c02565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290602082602481885afa80156107395761060c925f9161070a575b506116d5565b938085106106d9576002546106d59085817f67f18c62d694f27ab65863682a2757fc3881081d5274f7fe7deb533a5ef32b9e868a6106b28a610655610650876116e7565b600255565b61067c610660611613565b73ffffffffffffffffffffffffffffffffffffffff9092168252565b82602082015283604082015243606082015261069b6080820160019052565b6106ad865f52600560205260405f2090565b611714565b604080519182526020820192909252a35f805d6040519081529081906020820190565b0390f35b7f24557f05000000000000000000000000000000000000000000000000000000005f52600485905260245260445b5ffd5b61072c915060203d602011610732575b61072481836115cd565b81019061168e565b5f610606565b503d61071a565b61169d565b6105bf925061075b9060203d6020116107325761072481836115cd565b916105b4565b7f94403b70000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff1660045260245ffd5b7f94403b70000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff841660045260245ffd5b7f543a6e10000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f5cdc2c78000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f1ab7da6b000000000000000000000000000000000000000000000000000000005f5260045ffd5b905043115f6104cd565b7fab35696f000000000000000000000000000000000000000000000000000000005f5260045ffd5b639e87fac85f526004601cfd5b346101b85760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b8576004356108d68161022a565b6024356108e1611ac7565b60ff60015460a01c1661086657610018916117af565b346101b85760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b8576004356109328161022a565b7fc5217903bd71390e046be1c1ee589f3af533c8fe5b67ee0a7dade2f8a853badd602073ffffffffffffffffffffffffffffffffffffffff61097261034a565b9361097b611ac7565b1692835f52600382526109bc8160405f209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b6040519015158152a2005b346101b8575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b857602060ff60015460a01c166040519015158152f35b346101b8575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b857610a40611ac7565b7fffffffffffffffffffffffff0000000000000000000000000000000000000000600154166001555f73ffffffffffffffffffffffffffffffffffffffff81547fffffffffffffffffffffffff000000000000000000000000000000000000000081168355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346101b8575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b8573373ffffffffffffffffffffffffffffffffffffffff6001541603610ba8577fffffffffffffffffffffffff0000000000000000000000000000000000000000600154166001555f54337fffffffffffffffffffffffff00000000000000000000000000000000000000008216175f5573ffffffffffffffffffffffffffffffffffffffff3391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3005b7f118cdaa7000000000000000000000000000000000000000000000000000000005f523360045260245ffd5b346101b8575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b857602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000005fc5360d0400a0fd4f2af552add042d716f1d168168152f35b346101b8575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b857602073ffffffffffffffffffffffffffffffffffffffff5f5416604051908152f35b346101b85760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b8576004355f52600560205260a060405f2073ffffffffffffffffffffffffffffffffffffffff81541690600181015490600281015460ff60046003840154930154169260405194855260208501526040840152606083015215156080820152f35b346101b8575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b85760206040516706f05b59d3b200008152f35b346101b8575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b857602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000bd7d308f8e1639fab988df18a8011f41eacad73168152f35b346101b85760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b857610018600435610e0d8161022a565b73ffffffffffffffffffffffffffffffffffffffff60243591610e2f8361022a565b610e9960443593610e3e611ac7565b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000602082015273ffffffffffffffffffffffffffffffffffffffff9190911660248201526044808201959095529384526064846115cd565b16611fa7565b346101b85760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b85773ffffffffffffffffffffffffffffffffffffffff600435610eef8161022a565b165f526004602052602060ff60405f2054166040519015158152f35b346101b85760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b8576004358015158091036101b85760207f878ac8a2ca79520471f8f3c8494fa802c03ce3bf034252aad7f22318984fdbdb91610f73611ac7565b6001547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff74ff00000000000000000000000000000000000000008360a01b16911617600155604051908152a1005b346101b85760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b857610018600435610fff8161022a565b73ffffffffffffffffffffffffffffffffffffffff61101c61034a565b91611025611ac7565b165f52600460205260405f209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b346101b8575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b8576020600254604051908152f35b346101b85760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b85773ffffffffffffffffffffffffffffffffffffffff6004356110ec8161022a565b165f526003602052602060ff60405f2054166040519015158152f35b346101b8575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b857602073ffffffffffffffffffffffffffffffffffffffff60015416604051908152f35b346101b85760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b8576004356111948161022a565b60243561119f611ac7565b60ff60015460a01c1661086657610018916118f7565b346101b85760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b85760043560243567ffffffffffffffff81116101b857611207903690600401610319565b91906044356112158161022a565b60643593608435611224611ac7565b5f5c61088e5760015f5d60ff60015460a01c1661086657801515908161149c575b50610834576005811161080c57611264845f52600560205260405f2090565b92600484019261127861051e855460ff1690565b61146f576112aa61051e6105178373ffffffffffffffffffffffffffffffffffffffff165f52600360205260405f2090565b610761576040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff9190911692602082602481875afa918215610739575f9261144c575b506113169192611c02565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015291602090839060249082905afa801561073957611365925f9161070a57506116d5565b938085106106d957507f1c3eac18e39e60bda6689777ecb748f675c665aa861874b20b759e72f2dfd76e9161143273ffffffffffffffffffffffffffffffffffffffff926113ef600284015488818110155f1461143a57906113c6916116d5565b917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008154169055565b600161140f845473ffffffffffffffffffffffffffffffffffffffff1690565b930154966040519485941697846040919493926060820195825260208201520152565b0390a35f805d005b611447906113c6926116d5565b611a9b565b61131692506114699060203d6020116107325761072481836115cd565b9161130b565b7f02adcd55000000000000000000000000000000000000000000000000000000005f52600486905260245ffd5b905043115f611245565b346101b85760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b85773ffffffffffffffffffffffffffffffffffffffff6004356114f68161022a565b6114fe611ac7565b16807fffffffffffffffffffffffff0000000000000000000000000000000000000000600154161760015573ffffffffffffffffffffffffffffffffffffffff5f54167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e227005f80a3005b346101b8575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b857602060405160058152f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761160e57604052565b6115a0565b6040519061162260a0836115cd565b565b3d1561167c573d9067ffffffffffffffff821161160e576040519161167160207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601846115cd565b82523d5f602084013e565b606090565b3561168b8161022a565b90565b908160209103126101b8575190565b6040513d5f823e3d90fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b919082039182116116e257565b6116a8565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146116e25760010190565b600460806116229373ffffffffffffffffffffffffffffffffffffffff8151167fffffffffffffffffffffffff00000000000000000000000000000000000000008554161784556020810151600185015560408101516002850155606081015160038501550151151591019060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169081156118f25761181b61051e6105178373ffffffffffffffffffffffffffffffffffffffff165f52600360205260405f2090565b610761576040517f69328dec00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821660048201526024810184905230604482015291602090839060649082905f905af1908115610739577f9a8d1a90858e1d53e9e227915c06be2638a682a3ce90883523b667d68d3c48559273ffffffffffffffffffffffffffffffffffffffff926118d5575b50604051938452169180602081015b0390a2565b6118ed9060203d6020116107325761072481836115cd565b6118c1565b505050565b7f00000000000000000000000000000000000000000000000000000000000000009173ffffffffffffffffffffffffffffffffffffffff83168015611a955761196461051e6105178573ffffffffffffffffffffffffffffffffffffffff165f52600360205260405f2090565b611a535761198a8273ffffffffffffffffffffffffffffffffffffffff85169586611f44565b803b156101b8576040517f617ba03700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff939093166004840152602483018290523060448401525f60648401819052908390608490829084905af1908115610739577ffb9eabf11d5fbc089b6f1ac15f2482c0f73b775918df44c47d50133c0b5412ae926118d092611a39575b506040519081529081906020820190565b80611a475f611a4d936115cd565b806101ae565b5f611a28565b7f94403b70000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff831660045260245ffd5b50505050565b7f800000000000000000000000000000000000000000000000000000000000000081146116e2575f0390565b73ffffffffffffffffffffffffffffffffffffffff5f54163303610ba857565b9190811015611b275760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61813603018212156101b8570190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156101b8570180359067ffffffffffffffff82116101b8576020019181360383136101b857565b908092918237015f815290565b90601f60206060947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09385526040828601528051918291826040880152018686015e5f8582860101520116010190565b91905f5b818110611c135750509050565b611c1e818386611ae7565b611c5461051e610517611c3084611681565b73ffffffffffffffffffffffffffffffffffffffff165f52600460205260405f2090565b611da0576040810190611c82611c6983611681565b73ffffffffffffffffffffffffffffffffffffffff1690565b611d44575b5f80611c9283611681565b81611ca06020860186611b54565b9190611cb160405180948193611ba5565b03925af1611cbd611624565b9015611d0a57509060019291611cd5611c6983611681565b611ce2575b505001611c06565b611cfd6060611cf6611c69611d0395611681565b9201611681565b90611ded565b5f80611cda565b83611d406040519283927f6f43605f00000000000000000000000000000000000000000000000000000000845260048401611bb2565b0390fd5b608081013580611d975750611d927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5b611d80611c6985611681565b611d8c60608501611681565b90611f44565b611c87565b611d9290611d74565b611dac61070791611681565b7fe356c1d3000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff16600452602490565b6040519060205f8184017f095ea7b3000000000000000000000000000000000000000000000000000000008152611e7b85611e4f8489602484016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018752866115cd565b84519082855af15f51903d81611f0b575b501590505b611e9a57505050565b6040517f095ea7b300000000000000000000000000000000000000000000000000000000602082015273ffffffffffffffffffffffffffffffffffffffff9390931660248401525f604480850191909152835261162292611f0690611f006064826115cd565b82611fa7565b611fa7565b15159050611f385750611e9173ffffffffffffffffffffffffffffffffffffffff82163b15155b5f611e8c565b6001611e919114611f32565b6040517f095ea7b300000000000000000000000000000000000000000000000000000000602082810191825273ffffffffffffffffffffffffffffffffffffffff851660248401526044830195909552929390925f90611e7b8560648101611e4f565b905f602091828151910182855af11561169d575f513d612025575073ffffffffffffffffffffffffffffffffffffffff81163b155b611fe35750565b73ffffffffffffffffffffffffffffffffffffffff907f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b60011415611fdc56fea2646970667358221220d069c4476debdfdf0b994f503801e988e51ad911525b71740521b19f8e995b3464736f6c634300081c0033
| Token | Symbol | Balance | Price | Value |
|---|---|---|---|---|
| Global Dollar (USDG) | USDG | 12 | $1 | $12 |
| RVH | 1 | $0.00282 | $0 | |
| DIH | 1 | $0.0000102 | $0 | |
| Mooncoin (LUNA) | LUNA | 30 | — | — |
| Nova Finance (NOVA) | NOVA | 10 | — | — |
| Pons (PONS) | PONS | 3 | — | — |
| Block | Age | Parent Transaction Hash | Type | Method | From | To | Value | |
|---|---|---|---|---|---|---|---|---|
| no internal transactions found for this address yet (traced blocks + on-demand) | ||||||||
| Type | Age | Block | Details |
|---|---|---|---|
| no cross-chain L1↔L2 transactions for this address | |||
| Txn Hash | Age | Event | Topics / Data |
|---|---|---|---|
| 0xa237c1…cb84ea | 18 days agoThu, 30 Jul 2026 01:42:32 UTC | 0x1c3eac…d76e | [0] 0x000000000000…0000005c [1] 0x000000000000…0e97fcf9 data: 0x000000000000000000…ae1b9e5c |
| 0x3e3c8d…3c90f0 | 18 days agoThu, 30 Jul 2026 01:35:34 UTC | 0x67f18c…2b9e | [0] 0x000000000000…0000005c [1] 0x000000000000…0e97fcf9 data: 0x000000000000000000…e3defba3 |
| 0xa0c8b2…a750a6 | 18 days agoThu, 30 Jul 2026 01:34:10 UTC | 0x1c3eac…d76e | [0] 0x000000000000…0000005b [1] 0x000000000000…26c9e4a4 data: 0x000000000000000000…8a2351fd |
| 0x335d1c…f5704e | 18 days agoThu, 30 Jul 2026 01:32:30 UTC | 0x67f18c…2b9e | [0] 0x000000000000…0000005b [1] 0x000000000000…26c9e4a4 data: 0x000000000000000000…59bba9a6 |
| 0x245944…30ef5e | 19 days agoWed, 29 Jul 2026 22:48:36 UTC | 0x1c3eac…d76e | [0] 0x000000000000…0000005a [1] 0x000000000000…fdd8e7a4 data: 0x000000000000000000…2098d51a |
| 0xfa2a7c…5719fe | 19 days agoWed, 29 Jul 2026 22:43:29 UTC | 0x67f18c…2b9e | [0] 0x000000000000…0000005a [1] 0x000000000000…fdd8e7a4 data: 0x000000000000000000…3922d48c |
| 0xfe9de5…220f9e | 19 days agoWed, 29 Jul 2026 21:41:24 UTC | 0x1c3eac…d76e | [0] 0x000000000000…00000059 [1] 0x000000000000…7f65b6dd data: 0x000000000000000000…eca94056 |
| 0xa49b3c…e70d9e | 19 days agoWed, 29 Jul 2026 21:32:22 UTC | 0x67f18c…2b9e | [0] 0x000000000000…00000059 [1] 0x000000000000…7f65b6dd data: 0x000000000000000000…4c799436 |
| 0x5df19d…d074a2 | 19 days agoWed, 29 Jul 2026 21:30:55 UTC | 0x1c3eac…d76e | [0] 0x000000000000…00000058 [1] 0x000000000000…e68ed35a data: 0x000000000000000000…bde54afb |
| 0xbd68fe…80dbba | 19 days agoWed, 29 Jul 2026 21:29:03 UTC | 0x67f18c…2b9e | [0] 0x000000000000…00000058 [1] 0x000000000000…e68ed35a data: 0x000000000000000000…8e94493b |
| 0x071ab3…352406 | 19 days agoWed, 29 Jul 2026 21:01:50 UTC | 0x1c3eac…d76e | [0] 0x000000000000…00000057 [1] 0x000000000000…d8633296 data: 0x000000000000000000…b2b4aefc |
| 0x0378f5…abfeae | 19 days agoWed, 29 Jul 2026 20:57:17 UTC | 0x67f18c…2b9e | [0] 0x000000000000…00000057 [1] 0x000000000000…d8633296 data: 0x000000000000000000…dbdf9a3f |
| 0xd02a6e…0f0a02 | 19 days agoWed, 29 Jul 2026 18:03:03 UTC | 0xc52179…badd | [0] 0x000000000000…6a04600d data: 0x000000000000000000…00000000 |
| 0xd031eb…dce788 | 19 days agoWed, 29 Jul 2026 17:44:53 UTC | 0x1c3eac…d76e | [0] 0x000000000000…00000056 [1] 0x000000000000…0e97fcf9 data: 0x000000000000000000…47668313 |
| 0x3d245f…4a81e3 | 19 days agoWed, 29 Jul 2026 17:40:50 UTC | 0x67f18c…2b9e | [0] 0x000000000000…00000056 [1] 0x000000000000…0e97fcf9 data: 0x000000000000000000…9479172c |
| 0xceb2c4…3ec439 | 19 days agoWed, 29 Jul 2026 17:20:12 UTC | 0x1c3eac…d76e | [0] 0x000000000000…00000055 [1] 0x000000000000…813c4571 data: 0x000000000000000000…f4e98123 |
| 0x217c59…f09db0 | 19 days agoWed, 29 Jul 2026 17:13:01 UTC | 0x67f18c…2b9e | [0] 0x000000000000…00000055 [1] 0x000000000000…813c4571 data: 0x000000000000000000…9f8f9609 |
| 0xde51cf…d0ce34 | 19 days agoWed, 29 Jul 2026 16:18:41 UTC | 0xc52179…badd | [0] 0x000000000000…c950ab2f data: 0x000000000000000000…00000000 |
| 0x72985d…93fbfb | 19 days agoWed, 29 Jul 2026 13:48:14 UTC | 0x1c3eac…d76e | [0] 0x000000000000…00000054 [1] 0x000000000000…d8633296 data: 0x000000000000000000…c0d24ca1 |
| 0xa8490f…b6a52a | 19 days agoWed, 29 Jul 2026 13:47:28 UTC | 0xc52179…badd | [0] 0x000000000000…8cb77d26 data: 0x000000000000000000…00000000 |
| 0x91cd8e…66fa5d | 19 days agoWed, 29 Jul 2026 13:43:04 UTC | 0x67f18c…2b9e | [0] 0x000000000000…00000054 [1] 0x000000000000…d8633296 data: 0x000000000000000000…debd4968 |
| 0xf64dca…1cc85b | 19 days agoWed, 29 Jul 2026 11:21:18 UTC | 0x1c3eac…d76e | [0] 0x000000000000…00000053 [1] 0x000000000000…d8633296 data: 0x000000000000000000…77e9d4b0 |
| 0xe58bbc…bba103 | 19 days agoWed, 29 Jul 2026 11:20:01 UTC | 0x67f18c…2b9e | [0] 0x000000000000…00000053 [1] 0x000000000000…d8633296 data: 0x000000000000000000…66d374b8 |
| 0xecab3f…a23fbd | 19 days agoWed, 29 Jul 2026 11:09:30 UTC | 0xc52179…badd | [0] 0x000000000000…319fdaa3 data: 0x000000000000000000…00000000 |
| 0x84b89f…aef7d6 | 19 days agoWed, 29 Jul 2026 11:07:24 UTC | 0xc52179…badd | [0] 0x000000000000…82c28b0e data: 0x000000000000000000…00000000 |
| 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 ? | ||
|---|---|---|---|---|---|---|---|---|---|
| 0x84e6c5…6b5cc2 | rescueERC20 | 23,145,174 | 18 days agoThu, 30 Jul 2026 07:43:53 UTC | 0xc622…bd9c | IN | SwingVault | $0.000 ETH | 0.00000120 | |
| 0xa237c1…cb84ea | exit | 22,929,170 | 18 days agoThu, 30 Jul 2026 01:42:32 UTC | 0xc622…bd9c | IN | SwingVault | $0.000 ETH | 0.00000324 | |
| 0x3e3c8d…3c90f0 | enter | 22,924,997 | 18 days agoThu, 30 Jul 2026 01:35:34 UTC | 0xc622…bd9c | IN | SwingVault | $0.000 ETH | 0.00000593 | |
| 0xa0c8b2…a750a6 | exit | 22,924,160 | 18 days agoThu, 30 Jul 2026 01:34:10 UTC | 0xc622…bd9c | IN | SwingVault | $0.000 ETH | 0.00000322 | |
| 0x335d1c…f5704e | enter | 22,923,150 | 18 days agoThu, 30 Jul 2026 01:32:30 UTC | 0xc622…bd9c | IN | SwingVault | $0.000 ETH | 0.00000610 | |
| 0x245944…30ef5e | exit | 22,825,064 | 19 days agoWed, 29 Jul 2026 22:48:36 UTC | 0xc622…bd9c | IN | SwingVault | $0.000 ETH | 0.00000335 | |
| 0xfa2a7c…5719fe | enter | 22,822,002 | 19 days agoWed, 29 Jul 2026 22:43:29 UTC | 0xc622…bd9c | IN | SwingVault | $0.000 ETH | 0.00000640 | |
| 0xfe9de5…220f9e | exit | 22,784,753 | 19 days agoWed, 29 Jul 2026 21:41:24 UTC | 0xc622…bd9c | IN | SwingVault | $0.000 ETH | 0.00000342 | |
| 0xa49b3c…e70d9e | enter | 22,779,333 | 19 days agoWed, 29 Jul 2026 21:32:22 UTC | 0xc622…bd9c | IN | SwingVault | $0.000 ETH | 0.00000645 | |
| 0x5df19d…d074a2 | exit | 22,778,468 | 19 days agoWed, 29 Jul 2026 21:30:55 UTC | 0xc622…bd9c | IN | SwingVault | $0.000 ETH | 0.00000333 | |
| 0xbd68fe…80dbba | enter | 22,777,344 | 19 days agoWed, 29 Jul 2026 21:29:03 UTC | 0xc622…bd9c | IN | SwingVault | $0.000 ETH | 0.00000642 | |
| !0x83e2fb…c6ddbb | enter | 22,777,055 | 19 days agoWed, 29 Jul 2026 21:28:34 UTC | 0xc622…bd9c | IN | SwingVault | $0.000 ETH | 0.00000405 | |
| 0x071ab3…352406 | exit | 22,761,052 | 19 days agoWed, 29 Jul 2026 21:01:50 UTC | 0xc622…bd9c | IN | SwingVault | $0.000 ETH | 0.00000339 | |
| 0x0378f5…abfeae | enter | 22,758,321 | 19 days agoWed, 29 Jul 2026 20:57:17 UTC | 0xc622…bd9c | IN | SwingVault | $0.000 ETH | 0.00000634 | |
| 0xd02a6e…0f0a02 | setAllowed | 22,653,915 | 19 days agoWed, 29 Jul 2026 18:03:03 UTC | 0xc622…bd9c | IN | SwingVault | $0.000 ETH | 0.00000061 | |
| 0xd031eb…dce788 | exit | 22,643,036 | 19 days agoWed, 29 Jul 2026 17:44:53 UTC | 0xc622…bd9c | IN | SwingVault | $0.000 ETH | 0.00000338 | |
| 0x3d245f…4a81e3 | enter | 22,640,615 | 19 days agoWed, 29 Jul 2026 17:40:50 UTC | 0xc622…bd9c | IN | SwingVault | $0.000 ETH | 0.00000623 | |
| 0xceb2c4…3ec439 | exit | 22,628,244 | 19 days agoWed, 29 Jul 2026 17:20:12 UTC | 0xc622…bd9c | IN | SwingVault | $0.000 ETH | 0.00000324 | |
| 0x217c59…f09db0 | enter | 22,623,942 | 19 days agoWed, 29 Jul 2026 17:13:01 UTC | 0xc622…bd9c | IN | SwingVault | $0.000 ETH | 0.00000624 | |
| 0xde51cf…d0ce34 | setAllowed | 22,591,419 | 19 days agoWed, 29 Jul 2026 16:18:41 UTC | 0xc622…bd9c | IN | SwingVault | $0.000 ETH | 0.00000057 | |
| 0x72985d…93fbfb | exit | 22,501,305 | 19 days agoWed, 29 Jul 2026 13:48:14 UTC | 0xc622…bd9c | IN | SwingVault | $0.000 ETH | 0.00000348 | |
| 0xa8490f…b6a52a | setAllowed | 22,500,850 | 19 days agoWed, 29 Jul 2026 13:47:28 UTC | 0xc622…bd9c | IN | SwingVault | $0.000 ETH | 0.00000062 | |
| 0x91cd8e…66fa5d | enter | 22,498,201 | 19 days agoWed, 29 Jul 2026 13:43:04 UTC | 0xc622…bd9c | IN | SwingVault | $0.000 ETH | 0.00000671 | |
| 0xf64dca…1cc85b | exit | 22,413,429 | 19 days agoWed, 29 Jul 2026 11:21:18 UTC | 0xc622…bd9c | IN | SwingVault | $0.000 ETH | 0.00000355 | |
| 0xe58bbc…bba103 | enter | 22,412,664 | 19 days agoWed, 29 Jul 2026 11:20:01 UTC | 0xc622…bd9c | IN | SwingVault | $0.000 ETH | 0.00000679 |
| Transaction Hash | Method | Block | Age | From | To | Amount | Token | ||
|---|---|---|---|---|---|---|---|---|---|
| 0xb62823f1…926627 | Transfer | 23,520,360 | 18 days agoThu, 30 Jul 2026 18:10:59 UTC | 0xcbf0…8b4d | IN | 0x1abe…8d53 | 30 LUNA | Mooncoin (LUNA) | |
| 0x21927cf2…b21f50 | Transfer | 23,515,081 | 18 days agoThu, 30 Jul 2026 18:02:09 UTC | 0x5483…a3d5 | IN | 0x1abe…8d53 | 10 NOVA | Nova Finance (NOVA) | |
| 0x84e6c5a5…6b5cc2 | Transfer | 23,145,174 | 18 days agoThu, 30 Jul 2026 07:43:53 UTC | 0x1abe…8d53 | OUT | 0xb93b…fb66 | 0.005011 WETH | WETH (WETH) | |
| 0xa237c15d…cb84ea | Transfer | 22,929,170 | 18 days agoThu, 30 Jul 2026 01:42:32 UTC | 0x1abe…8d53 | OUT | 0x2376…c4c5 | $10.48720.227332 TENDIES | ||
| 0xa237c15d…cb84ea | Transfer | 22,929,170 | 18 days agoThu, 30 Jul 2026 01:42:32 UTC | 0x2376…c4c5 | IN | 0x1abe…8d53 | 0.004811 WETH | WETH (WETH) | |
| 0x3e3c8dde…3c90f0 | Transfer | 22,924,997 | 18 days agoThu, 30 Jul 2026 01:35:34 UTC | 0x1abe…8d53 | OUT | 0x2376…c4c5 | 0.004911 WETH | WETH (WETH) | |
| 0x3e3c8dde…3c90f0 | Transfer | 22,924,997 | 18 days agoThu, 30 Jul 2026 01:35:34 UTC | 0x2376…c4c5 | IN | 0x1abe…8d53 | $10.48720.227332 TENDIES | ||
| 0xa0c8b28f…a750a6 | Transfer | 22,924,160 | 18 days agoThu, 30 Jul 2026 01:34:10 UTC | 0x1abe…8d53 | OUT | 0x21c3…1bfb | $NaN43,607.090178 DIH | ||
| 0xa0c8b28f…a750a6 | Transfer | 22,924,160 | 18 days agoThu, 30 Jul 2026 01:34:10 UTC | 0x21c3…1bfb | IN | 0x1abe…8d53 | 0.004911 WETH | WETH (WETH) | |
| 0x335d1c35…f5704e | Transfer | 22,923,150 | 18 days agoThu, 30 Jul 2026 01:32:30 UTC | 0x1abe…8d53 | OUT | 0x21c3…1bfb | 0.004734 WETH | WETH (WETH) | |
| 0x335d1c35…f5704e | Transfer | 22,923,150 | 18 days agoThu, 30 Jul 2026 01:32:30 UTC | 0x21c3…1bfb | IN | 0x1abe…8d53 | $NaN43,607.090178 DIH | ||
| 0x24594424…30ef5e | Transfer | 22,825,064 | 19 days agoWed, 29 Jul 2026 22:48:36 UTC | 0x1abe…8d53 | OUT | 0x66ec…6fc8 | $NaN4,368.802052 APES | ||
| 0x24594424…30ef5e | Transfer | 22,825,064 | 19 days agoWed, 29 Jul 2026 22:48:36 UTC | 0x66ec…6fc8 | IN | 0x1abe…8d53 | 0.004734 WETH | WETH (WETH) | |
| 0xfa2a7c68…5719fe | Transfer | 22,822,002 | 19 days agoWed, 29 Jul 2026 22:43:29 UTC | 0x1abe…8d53 | OUT | 0x66ec…6fc8 | 0.004889 WETH | WETH (WETH) | |
| 0xfa2a7c68…5719fe | Transfer | 22,822,002 | 19 days agoWed, 29 Jul 2026 22:43:29 UTC | 0x66ec…6fc8 | IN | 0x1abe…8d53 | $NaN4,368.802052 APES | ||
| 0xfe9de50e…220f9e | Transfer | 22,784,753 | 19 days agoWed, 29 Jul 2026 21:41:24 UTC | 0x1abe…8d53 | OUT | 0xa427…d1b5 | $NaN74,242.802206 4663 | ||
| 0xfe9de50e…220f9e | Transfer | 22,784,753 | 19 days agoWed, 29 Jul 2026 21:41:24 UTC | 0xa427…d1b5 | IN | 0x1abe…8d53 | 0.004889 WETH | WETH (WETH) | |
| 0xa49b3c95…e70d9e | Transfer | 22,779,333 | 19 days agoWed, 29 Jul 2026 21:32:22 UTC | 0x1abe…8d53 | OUT | 0xa427…d1b5 | 0.005126 WETH | WETH (WETH) | |
| 0xa49b3c95…e70d9e | Transfer | 22,779,333 | 19 days agoWed, 29 Jul 2026 21:32:22 UTC | 0xa427…d1b5 | IN | 0x1abe…8d53 | $NaN74,242.802206 4663 | ||
| 0x5df19dda…d074a2 | Transfer | 22,778,468 | 19 days agoWed, 29 Jul 2026 21:30:55 UTC | 0x1abe…8d53 | OUT | 0x0415…cb2c | $NaN257,447.285774 BABYCASHCAT | ||
| 0x5df19dda…d074a2 | Transfer | 22,778,468 | 19 days agoWed, 29 Jul 2026 21:30:55 UTC | 0x0415…cb2c | IN | 0x1abe…8d53 | 0.005126 WETH | WETH (WETH) | |
| 0xbd68fe05…80dbba | Transfer | 22,777,344 | 19 days agoWed, 29 Jul 2026 21:29:03 UTC | 0x1abe…8d53 | OUT | 0x0415…cb2c | 0.006070 WETH | WETH (WETH) | |
| 0xbd68fe05…80dbba | Transfer | 22,777,344 | 19 days agoWed, 29 Jul 2026 21:29:03 UTC | 0x0415…cb2c | IN | 0x1abe…8d53 | $NaN257,447.285774 BABYCASHCAT | ||
| 0x071ab390…352406 | Transfer | 22,761,052 | 19 days agoWed, 29 Jul 2026 21:01:50 UTC | 0x1abe…8d53 | OUT | 0xd24c…4986 | $NaN41,072.684678 Artcoin | ||
| 0x071ab390…352406 | Transfer | 22,761,052 | 19 days agoWed, 29 Jul 2026 21:01:50 UTC | 0xd24c…4986 | IN | 0x1abe…8d53 | 0.006070 WETH | WETH (WETH) |