Skip to content

@lelantos-org/sdk / index / RelayerRejectReason

Type Alias: RelayerRejectReason ​

ts
type RelayerRejectReason = 
  | "nullifier-spent"
  | "nullifier-in-flight"
  | "idempotency-key-reused"
  | "stale-estimate"
  | "fee-missing"
  | "fee-too-low"
  | "fee-asset-rejected"
  | "contract-rejected"
  | "reverted"
  | "bad-request"
  | "unknown-chain"
  | "unavailable"
  | "internal"
  | "unknown";

Defined in: @lelantos-org/sdk/dist/errors/spend.d.ts:25

Why the relayer refused a submission, parsed from its response by services/relayer/reject-reason.ts.

  • nullifier-spent: a note this spend consumes is already spent on chain. The wallet resyncs its spent set before throwing.
  • nullifier-in-flight: another submission of the same note is still pending at the relayer. Retryable.
  • idempotency-key-reused: the request key collided with a different submission. Retryable (a retry draws a fresh key).
  • stale-estimate: the fee quote the spend was priced against has moved. Retryable (a retry re-quotes).
  • fee-missing / fee-too-low / fee-asset-rejected: the shielded fee note is absent, short, or in an asset the relayer will not take.
  • contract-rejected: a pool guard refused the payload in pre-flight; no gas was spent.
  • reverted: the transaction reached the chain and reverted.
  • bad-request: the payload is malformed.
  • unknown-chain: the relayer does not serve this chain.
  • unavailable: the relayer cannot serve this chain right now. Retryable.
  • internal: the relayer failed. Retryable.
  • unknown: a response this SDK version does not recognise.