Medium Severity Revert · Sui Framework (0x2)

0x2::coin::ENotEnoughBalance (Abort 0)

0x2::coin::ENotEnoughBalance(abort 0)

Why Did This Transaction Revert?

A coin::split, coin::take, or transfer method attempted to withdraw more MIST or tokens than available in the target Coin<T> object.

Smart Contract Revert Point

assert!(balance::value(&coin.balance) >= amount, ENotEnoughBalance);

⚙️ Native Monero Diagnostic Code & Fix

Daemon RPC
// Aborting Call: let split_coin = coin::split(&mut user_coin, 5_000_000_000, ctx); // aborts if balance < 5 SUI // Corrected Move Solution: assert!(coin::value(&user_coin) >= 5_000_000_000, 1001); let split_coin = coin::split(&mut user_coin, 5_000_000_000, ctx);

Step-by-Step Resolution Checklist

1

Inspect the Coin<T> balance using coin::value(&coin) before executing coin::split.

2

If using Programmable Transaction Blocks (PTBs), ensure SplitCoins amounts do not exceed source coin value.

3

Use Gas Station or sponsor to merge fragmented gas coins if paying network fees.

Diagnostic Actions

Target Chain: xmr
Recommended Gas Limit: 150000 units

Other Common Node & Protocol Reverts

· · · · · · · · · · Move Execution Revert / Error(string) · Move Execution Abort · Insufficient Gas Balance · Gas Budget Too Low · Object ID Not Found · Object Version Mismatch / Congestion · Move Package Not Found · Type Argument Mismatch · Cryptographic Signature Invalid · 0x2::coin::ENotEnoughBalance · 0x2::coin::EGlobalCoinDoesNotExist · 0x2::dynamic_field::EFieldDoesNotExist · 0x2::dynamic_field::EFieldAlreadyExists · 0x2::kiosk::ELocked · 0x2::kiosk::ENotOwner · 0x2::kiosk::EItemNotFound · 0x2::table::EKeyNotFound · 0x2::table::EKeyAlreadyExists · 0x2::balance::EOverflow · 0x2::balance::ENotEnough · 0x2::transfer::ESharedObjectAlreadyExists · 0x2::transfer_policy::ERuleNotSatisfied · 0x2::package::EUpgradeBadVersion · 0x2::package::EUpgradeImmutable · Bytecode Verification Failure · Module Link Failure · VM Verification Error · Authorization Failure · Insufficient Coin Balance · DEX Slippage Exceeded · Object or Record Already Exists · Invalid Protocol State · Zero Amount Invalid · Transaction Expired · Liquidity Pool Locked · Arithmetic Overflow · Arithmetic Underflow · Sui Kiosk Asset Locked · Borrow Limit Exceeded · Account At Liquidation Risk · Staking Pool Inactive · Unstake Timelocked · Transfer Policy Unmet · DeepBook Order Limit Unfilled · Storage Rebate Calculation Failure · Dynamic Field Already Exists · Dynamic Field Not Found · Capability Already Consumed · Shared Object Congestion · Object Version Too Old · One-Time Witness Invalid · Gas Budget Exhausted During PTB · Epoch Transition In Progress · zkLogin Ephemeral Key Expired
Monero
$172.50 0.00005 XMR