Severity Revert · Sui Framework (0x2)

0x2::table::EKeyAlreadyExists (Abort 100)

0x2::table::EKeyAlreadyExists(abort 100)

Why Did This Transaction Revert?

Calling table::add with a key that is already stored in Table<K, V>.

Smart Contract Revert Point

assert!(!table::contains(table, key), EKeyAlreadyExists);

💧 Native Sui Move Code & Fix

Move 2024
if (!table::contains(&table, key)) { table::add(&mut table, key, value); } else { *table::borrow_mut(&mut table, key) = value; };

Step-by-Step Resolution Checklist

1

Check table::contains before calling table::add.

2

Use table::borrow_mut if updating an existing record.

Diagnostic Actions

Target Chain:
Recommended Gas Limit: units

Other Common EVM 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
Sui
$3.42 100 MIST