Medium Severity Revert · Sui Framework (0x2)

0x2::transfer::ESharedObjectAlreadyExists (Abort 0)

0x2::transfer::ESharedObjectAlreadyExists(abort 0)

Why Did This Transaction Revert?

Calling transfer::share_object on an object that was already shared or is not newly created.

Smart Contract Revert Point

assert!(!is_shared(object), ESharedObjectAlreadyExists);

⚙️ Native Monero Diagnostic Code & Fix

Daemon RPC
let obj = MySharedObject { id: object::new(ctx) }; transfer::share_object(obj);

Step-by-Step Resolution Checklist

1

Only call transfer::share_object immediately after object::new in module init or constructors.

2

Never invoke transfer::share_object on objects passed as mutable references.

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