#[repr(transparent)]pub struct DbConflictCode(pub i32);Expand description
Reason a storage delta could not be applied during two-phase commit. These are the nondeterministic failures of try_push_new_subtransaction: any of them causes ExecResultTxNonDeterministicError, and the transaction is excluded from the block. Codes are intentionally coarse; finer-grained detail may be added later behind a debug-only extension.
Tuple Fields§
§0: i32Implementations§
Source§impl DbConflictCode
impl DbConflictCode
Sourcepub const ExclusiveLockDenied: DbConflictCode
pub const ExclusiveLockDenied: DbConflictCode
Exclusive-lock collision: the key is exclusively locked by another transaction (committed or concurrent), an exclusive lock could not be acquired because other transactions hold the key, or an exclusive-lock flag was used on a key type that does not support it.
Sourcepub const TypeMismatch: DbConflictCode
pub const TypeMismatch: DbConflictCode
Two transactions created different item types at the same key.
Sourcepub const ValueMismatch: DbConflictCode
pub const ValueMismatch: DbConflictCode
Two transactions wrote irreconcilable values of the same type at the same key: different bytestrings, different nnint base values, different auth-data bases, or different contract / deployment hashes.
Sourcepub const BoundsExceeded: DbConflictCode
pub const BoundsExceeded: DbConflictCode
A nonnegative int would go below zero given the deltas in this block. A native-token balance that cannot cover its debits reports InsufficientFunds instead.
Sourcepub const Overflow: DbConflictCode
pub const Overflow: DbConflictCode
Integer overflow combining deltas on a nonnegative int or balance.
Sourcepub const ReplayProtection: DbConflictCode
pub const ReplayProtection: DbConflictCode
Replay-protection conflict: uniquifier expired, already consumed (in a prior block or by a concurrent transaction), or consumed twice by this transaction.
Sourcepub const QueueConsumer: DbConflictCode
pub const QueueConsumer: DbConflictCode
A retrocausal queue already has a consumer in this block.
Sourcepub const CapacityExceeded: DbConflictCode
pub const CapacityExceeded: DbConflictCode
A per-item capacity limit was hit: replay-cache active heights or nonces, retrocausal-queue block entries, or auth signer slots.
Sourcepub const InsufficientFunds: DbConflictCode
pub const InsufficientFunds: DbConflictCode
The native-token balance at the diagnostic’s address cannot cover the debits in this block, or a newly created balance item cannot cover its own storage cost. Storage written under a contract’s address is charged to that contract’s balance, so a deployment reports this at the new contract’s address when it holds no native tokens.
Sourcepub const DuplicateSigner: DbConflictCode
pub const DuplicateSigner: DbConflictCode
An auth-data change would register a public key in a slot while another slot of the same address already holds that key, whether committed or set by the same change. The table would count one key’s weight twice, so the change is refused.
Trait Implementations§
Source§impl Clone for DbConflictCode
impl Clone for DbConflictCode
Source§fn clone(&self) -> DbConflictCode
fn clone(&self) -> DbConflictCode
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl ConstMaxSize for DbConflictCode
impl ConstMaxSize for DbConflictCode
Source§impl ConstMaxSize for DbConflictCode
impl ConstMaxSize for DbConflictCode
impl Copy for DbConflictCode
Source§impl Debug for DbConflictCode
impl Debug for DbConflictCode
Source§impl Display for DbConflictCode
Available on crate feature std only.
impl Display for DbConflictCode
std only.impl EncodesAs<DbConflictCode> for DbConflictCode
impl Eq for DbConflictCode
Source§impl From<i32> for DbConflictCode
impl From<i32> for DbConflictCode
Source§fn from(v: i32) -> DbConflictCode
fn from(v: i32) -> DbConflictCode
Source§impl Hash for DbConflictCode
impl Hash for DbConflictCode
Source§impl JsonSchema for DbConflictCode
impl JsonSchema for DbConflictCode
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreSource§impl Ord for DbConflictCode
impl Ord for DbConflictCode
Source§fn cmp(&self, other: &DbConflictCode) -> Ordering
fn cmp(&self, other: &DbConflictCode) -> Ordering
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
1.21.0 (const: unstable) · Source§fn min(self, other: Self) -> Selfwhere
Self: Sized,
fn min(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for DbConflictCode
impl PartialEq for DbConflictCode
Source§impl PartialOrd for DbConflictCode
impl PartialOrd for DbConflictCode
Source§impl<'_r> ReadXDR<'_r> for DbConflictCode
impl<'_r> ReadXDR<'_r> for DbConflictCode
Source§fn read_xdr<R>(r: &mut R) -> Result<DbConflictCode, ReadError>where
R: Reader<'_r>,
fn read_xdr<R>(r: &mut R) -> Result<DbConflictCode, ReadError>where
R: Reader<'_r>,
Source§fn read_xdr_in_place<R, '__xdrs_s>(
r: &mut R,
__xdrs_slot: Slot<'__xdrs_s, DbConflictCode>,
) -> Result<Init<'__xdrs_s, DbConflictCode>, ReadError>where
R: Reader<'_r>,
fn read_xdr_in_place<R, '__xdrs_s>(
r: &mut R,
__xdrs_slot: Slot<'__xdrs_s, DbConflictCode>,
) -> Result<Init<'__xdrs_s, DbConflictCode>, ReadError>where
R: Reader<'_r>,
slot, without first building it
on the stack. Read more