ABI: marketPhaseAdmissionV1

Source module: packages/dclutch-sdk/lib/generated/marketPhaseAdmissionV1.ts, whose own header reads:

@generated from docs/reference/routes.md; do not edit.
Regenerate with: npm run abi:phase-admission

Numeric constants (widths, offsets, counts, tags)

namevalue
ROUTE_COUNT_V1165

Functions (see the source module)

Unrendered exports (verbatim)

The renderer did not recognize these statement shapes, so they are shown verbatim rather than dropped.

export type MarketPhaseV1 = "Founding" | "Open" | "Terminal" | "Retiring" | "Retired";

/** Every Resolution Fund readiness a Core Market can be in. */
export type MarketReadinessV1 = "Prepaid" | "Ready" | "Consumed";

/**
 * One route's admissible Market prestates, as its own guard declares them.
 *
 * `prestates` is exact and `phases` is its projection. A guard that names no
 * readiness leaves `prestates` empty and admits every readiness in `phases`.
 */
export interface RoutePhaseGateV1 {
  readonly route: string;
  readonly phases: ReadonlyArray<MarketPhaseV1>;
  readonly prestates: ReadonlyArray<readonly [MarketPhaseV1, MarketReadinessV1]>;
}

/** Routes enumerated by the census, gated or not. */
export const ROUTE_PHASE_GATES_V1: ReadonlyArray<RoutePhaseGateV1> = [
  { route: "claims/affine_batch_v2::process", phases: ["Open"], prestates: [] },
  { route: "claims/claim_check_compaction_v1::process_compaction", phases: ["Terminal", "Retiring"], prestates: [] },
  { route: "claims/claim_check_compaction_v1::process_open_escrow", phases: ["Terminal", "Retiring"], prestates: [] },
  { route: "claims/claims_conservation_v1::process", phases: ["Open"], prestates: [] },
  { route: "claims/founding_v5::process", phases: ["Founding"], prestates: [] },
  { route: "claims/fractional_claim_check_v1::process_fractional_compaction", phases: ["Terminal", "Retiring"], prestates: [] },
  { route: "claims/market_closure_v1::process_checkpoint_handoff", phases: ["Retiring"], prestates: [] },
  { route: "claims/process_begin#Begin", phases: ["Terminal", "Retiring"], prestates: [] },
  { route: "claims/process_open#WholeUnwrap", phases: ["Open"], prestates: [] },
  { route: "claims/rational_lifecycle_v2::process", phases: ["Open", "Retiring"], prestates: [] },
  { route: "claims/rational_representation_v2::process", phases: ["Open", "Terminal", "Retiring"], prestates: [] },
  { route: "claims/series_founding_transport_v1::process", phases: ["Founding"], prestates: [] },
  { route: "claims/signed_delta_v3::process", phases: ["Open"], prestates: [] },
  { route: "claims/sparse_native_transfer_v1::process", phases: ["Open"], prestates: [] },
  { route: "claims/terminal_settlement_v3::process", phases: ["Terminal", "Retiring"], prestates: [] },
  { route: "core/commit_checkpoint#AGGREGATE_RETIREMENT_CLOSE_REPLAY_MAGIC_V1", phases: ["Retiring"], prestates: [] },
  { route: "core/commit_checkpoint#AGGREGATE_RETIREMENT_CLOSE_VAULT_MAGIC_V1", phases: ["Retiring"], prestates: [] },
  { route: "core/execute_provider_v3::process#ExecuteProvider", phases: ["Open"], prestates: [["Open", "Consumed"]] },
  { route: "core/finish_checkpoint_retirement#AGGREGATE_RETIREMENT_FINISH_MAGIC_V1", phases: ["Retiring"], prestates: [] },
  { route: "core/open_market::process#OpenMarket", phases: ["Founding"], prestates: [["Founding", "Ready"]] },
  { route: "core/process_open#Open", phases: ["Founding"], prestates: [["Founding", "Prepaid"]] },
  { route: "core/resolution::process#AdmitTerminal", phases: ["Open", "Terminal"], prestates: [["Open", "Consumed"], ["Terminal", "Consumed"]] },
  { route: "core/resolution::process#CreateFund", phases: ["Founding", "Open"], prestates: [["Founding", "Prepaid"], ["Open", "Consumed"]] },
  { route: "core/resolution::process#VerifyFundReady", phases: ["Founding", "Open"], prestates: [["Founding", "Prepaid"], ["Founding", "Ready"], ["Open", "Consumed"]] },
  { route: "core/retire_v1::process_checkpoint_prepare#Retire", phases: ["Retiring"], prestates: [] },
  { route: "core/retire_v1::process_checkpoint_suffix", phases: ["Retiring"], prestates: [] },
  { route: "core/retirement_replay_handoff_v1::process", phases: ["Retiring"], prestates: [] },
  { route: "core/series_open::process", phases: ["Founding"], prestates: [["Founding", "Prepaid"]] },
  { route: "custody/retirement_replay_handoff_v1::process", phases: ["Retiring"], prestates: [] },
  { route: "resolution/core_effect::process_direct_funding_activation_v1", phases: ["Founding", "Open"], prestates: [["Founding", "Prepaid"], ["Open", "Consumed"]] },
  { route: "resolution/core_effect::process_direct_funding_close_v1", phases: ["Retiring"], prestates: [["Retiring", "Consumed"]] },
  { route: "resolution/derived_transport_v1::process_derived_settle_v1", phases: ["Open"], prestates: [["Open", "Consumed"]] },
  { route: "resolution/process_admit#AdmitTerminal", phases: ["Open"], prestates: [["Open", "Consumed"]] },
  { route: "resolution/process_advance_recovery#AdvanceRecovery", phases: ["Open"], prestates: [["Open", "Consumed"]] },
  { route: "resolution/process_capture#Capture", phases: ["Open"], prestates: [["Open", "Consumed"]] },
  { route: "resolution/process_close#CloseFund", phases: ["Retiring"], prestates: [["Retiring", "Consumed"]] },
  { route: "resolution/process_commit_deadline_failure#CommitDeadlineFailure", phases: ["Open"], prestates: [["Open", "Consumed"]] },
  { route: "resolution/process_commit_failure#CommitFailure", phases: ["Open"], prestates: [["Open", "Consumed"]] },
  { route: "resolution/process_consume#ConsumeRecord", phases: ["Open"], prestates: [["Open", "Consumed"]] },
  { route: "resolution/process_create#CreateFund", phases: ["Founding", "Open"], prestates: [["Founding", "Prepaid"], ["Open", "Consumed"]] },
  { route: "resolution/process_create_record#CreateRecord", phases: ["Open"], prestates: [["Open", "Consumed"]] },
  { route: "resolution/process_ensemble_fold#EnsembleFold", phases: ["Open"], prestates: [["Open", "Consumed"]] },
  { route: "resolution/process_reclaim_member_seat#ReclaimMemberSeat", phases: ["Open"], prestates: [["Open", "Consumed"]] },
  { route: "resolution/process_settle#Settle", phases: ["Open"], prestates: [["Open", "Consumed"]] },
  { route: "resolution/process_submit#magic", phases: ["Open"], prestates: [["Open", "Consumed"]] },
  { route: "resolution/process_verify#VerifyFundReady", phases: ["Founding", "Open"], prestates: [["Founding", "Prepaid"], ["Open", "Consumed"]] },
  { route: "resolution/provider_instruction_v3::process_provider_resolution_v3", phases: ["Open"], prestates: [["Open", "Consumed"]] },
  { route: "resolution/provider_instruction_v3::process_provider_resolution_v3#count", phases: ["Open"], prestates: [["Open", "Consumed"]] },
  { route: "trading/direct_begin_retiring_v1::process_direct_begin_retiring_v1", phases: ["Retiring"], prestates: [] },
  { route: "trading/direct_close_maker_v1::process_direct_close_maker_v1", phases: ["Retiring"], prestates: [] },
  { route: "trading/direct_replay_setup_v1::process_direct_replay_setup_v1", phases: ["Open"], prestates: [] },
  { route: "trading/direct_token_setup_v1::process_direct_token_setup_v1", phases: ["Open"], prestates: [] },
];

/** The gate for one route, or `null` when the census read none for it. */
export interface RouteOtherMachineGateV1 {
  readonly route: string;
  readonly machines: ReadonlyArray<string>;
  /**
   * The states each of those machines admits, as the guard declares them.
   *
   * A reader holding a decoded observation of the machine answers the gate
   * from this set. Only a reader that has NO observation says `needs-chain`,
   * and it says which machine it is missing.
   */
  readonly gates: ReadonlyArray<RouteMachineStatesV1>;
}

/** One machine's admissible states on one route. */
export interface RouteMachineStatesV1 {
  readonly machine: string;
  readonly states: ReadonlyArray<string>;
}
export const ROUTES_GATED_ON_ANOTHER_MACHINE_V1: ReadonlyArray<RouteOtherMachineGateV1> = [
  { route: "core/activate_capability_child#ActivateCapability", machines: ["funding-ledger"], gates: [{ machine: "funding-ledger", states: ["Active", "Pending"] }] },
  { route: "core/capability::process#ActivateCapability", machines: ["funding-ledger"], gates: [{ machine: "funding-ledger", states: ["Active", "Pending"] }] },
  { route: "core/capability::process#CloseCapability", machines: ["funding-ledger"], gates: [{ machine: "funding-ledger", states: ["Active", "Pending"] }] },
  { route: "core/close_capability_child#CloseCapability", machines: ["funding-ledger"], gates: [{ machine: "funding-ledger", states: ["Active", "Pending"] }] },
  { route: "core/process_found#FoundAndPermit", machines: ["projected-custody"], gates: [{ machine: "projected-custody", states: ["HoardLocked"] }] },
  { route: "core/series_consume::process", machines: ["projected-custody", "series-root", "series-ticket"], gates: [{ machine: "projected-custody", states: ["HoardLocked"] }, { machine: "series-root", states: ["Active"] }, { machine: "series-ticket", states: ["Prepared"] }] },
  { route: "core/series_open::process", machines: ["series-root", "series-ticket"], gates: [{ machine: "series-root", states: ["Active"] }, { machine: "series-ticket", states: ["Prepared"] }] },
  { route: "core/series_permit_expiry::process", machines: ["series-ticket"], gates: [{ machine: "series-ticket", states: ["Expired"] }] },
  { route: "core/series_permit_expiry_precommit_v1::process", machines: ["series-ticket"], gates: [{ machine: "series-ticket", states: ["Prepared"] }] },
  { route: "custody/abort_open_and_close#AbortOpenAndClose", machines: ["projected-custody"], gates: [{ machine: "projected-custody", states: ["HoardOpen"] }] },
  { route: "custody/abort_source_and_close#AbortSourceAndClose", machines: ["projected-custody"], gates: [{ machine: "projected-custody", states: ["SourceFunded"] }] },
  { route: "custody/lock_hoard#LockHoard", machines: ["projected-custody"], gates: [{ machine: "projected-custody", states: ["HoardOpen"] }] },
  { route: "custody/lock_hoard_and_close_source#LockHoardAndCloseSource", machines: ["projected-custody"], gates: [{ machine: "projected-custody", states: ["HoardOpen", "SourceFunded"] }] },
  { route: "custody/open_hoard#OpenHoard", machines: ["projected-custody"], gates: [{ machine: "projected-custody", states: ["Initialized"] }] },
  { route: "custody/open_source_compartment#OpenSourceCompartment", machines: ["projected-custody"], gates: [{ machine: "projected-custody", states: ["HoardOpen"] }] },
  { route: "custody/realize_and_close#RealizeAndClose", machines: ["projected-custody"], gates: [{ machine: "projected-custody", states: ["HoardLocked"] }] },
  { route: "custody/refund_and_close#RefundAndClose", machines: ["projected-custody"], gates: [{ machine: "projected-custody", states: ["HoardLocked"] }] },
  { route: "resolution/process_abandon#magic", machines: ["source"], gates: [{ machine: "source", states: ["Exhausted", "FailureCommitted", "Resolved", "Retired"] }] },
  { route: "resolution/process_advance_recovery#AdvanceRecovery", machines: ["funding-ledger"], gates: [{ machine: "funding-ledger", states: ["Active"] }] },
  { route: "resolution/process_capture#Capture", machines: ["source"], gates: [{ machine: "source", states: ["Primary"] }] },
  { route: "resolution/process_commit_deadline_failure#CommitDeadlineFailure", machines: ["funding-ledger"], gates: [{ machine: "funding-ledger", states: ["Active"] }] },
  { route: "resolution/process_commit_failure#CommitFailure", machines: ["funding-ledger", "source"], gates: [{ machine: "funding-ledger", states: ["Active"] }, { machine: "source", states: ["Primary"] }] },
  { route: "resolution/process_settle#Settle", machines: ["source"], gates: [{ machine: "source", states: ["Primary"] }] },
  { route: "resolution/process_submit#magic", machines: ["source"], gates: [{ machine: "source", states: ["Primary", "Recovery"] }] },
  { route: "trading/direct_close_maker_v1::process_direct_close_maker_v1", machines: ["direct-root"], gates: [{ machine: "direct-root", states: ["Retiring"] }] },
  { route: "trading/direct_token_setup_v1::process_direct_token_setup_v1", machines: ["direct-root"], gates: [{ machine: "direct-root", states: ["Open"] }] },
];

/** The machines gating one route that this table cannot state, if any. */
export interface RouteSelectedGateV1 {
  readonly route: string;
  /** The classifier whose decline this gate sits behind. */
  readonly selectedBy: string;
  readonly machine: string;
  readonly states: ReadonlyArray<string>;
  /** The Rust the census read the set out of. */
  readonly provenance: string;
}
export const ROUTE_SELECTED_GATES_V1: ReadonlyArray<RouteSelectedGateV1> = [
  { route: "trading/hot_v3::process_hot_execution_v3", selectedBy: "hot_v3::direct::prepare_direct_inline_hot_crosscheck_v3", machine: "direct-root", states: ["Open"], provenance: "crates/dclutch-trading/src/direct_root_admission_v1.rs:107" },
  { route: "trading/hot_v3::process_hot_execution_v3", selectedBy: "hot_v3::series_expiry::try_authenticate_series_expiry_premarket_v1", machine: "series-ticket", states: ["Prepared"], provenance: "crates/dclutch-trading/src/series/ticket_admission_v1.rs:121" },
];

/** Every gate on one route that lies behind a classifier's decline. */
export const ROUTES_WITHOUT_A_STATE_MACHINE_V1: ReadonlyArray<string> = [
  "registry/continuation_v1::process",
  "registry/hot_continuation_v2::process",
  "registry/lineage_v1::process",
  "registry/process_abort#4",
  "registry/process_activate_role#ActivateRole",
  "registry/process_append#2",
  "registry/process_begin#5",
  "registry/process_finalize#3",
  "registry/process_instruction",
  "registry/process_reauthenticate#Reauthenticate",
  "registry/record_v1::dispatch",
];

/** Whether this route's program has no lifecycle discriminant at all. */