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 2024if (!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