Medium Severity Revert
·
Sui Framework (0x2)
0x2::transfer_policy::ERuleNotSatisfied (Abort 0)
0x2::transfer_policy::ERuleNotSatisfied(abort 0)
Why Did This Transaction Revert?
Calling transfer_policy::confirm_request when one or more required rules (e.g. royalty or floor price) have not been satisfied.
Smart Contract Revert Point
assert!(transfer_policy::has_rule_receipt(request, Rule), ERuleNotSatisfied);
⚙️ Native Monero Diagnostic Code & Fix
Daemon RPC// Add rule resolution before confirm:
royalty_rule::pay(&mut policy, &mut request, royalty_payment);
transfer_policy::confirm_request(&policy, request);Step-by-Step Resolution Checklist
1
Inspect the TransferPolicy<T> configuration to see all active registered rules.
2
Add the required rule payment/action commands in the PTB before confirm_request.
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