@invisible-labs/sdk 0.6.0-devnet.3 → 0.6.0-devnet.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../protocol/src/coordinator/errors.ts","../../../protocol/src/coordinator/messages.ts","../../../protocol/src/coordinator/schema.generated.ts","../../../protocol/src/coordinator/payloads.ts","../../../protocol/src/coordinator/payout-windows.json","../../../protocol/src/coordinator/payoutWindows.ts","../../../protocol/src/coordinator/state.ts","../../../protocol/src/coordinator/coordinator-envelope.schema.json","../../../protocol/src/coordinator/envelope.ts"],"names":["isRecord"],"mappings":"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","file":"chunk-E4DCEDAG.js","sourcesContent":["/**\n * Coordinator protocol error codes and error type.\n *\n * Distinct from the P2P `AbortCode` set: the coordinator wire protocol\n * has its own failure modes (policy, recovery code, swap state), and\n * borrows nothing from the P2P abort taxonomy on purpose.\n *\n * @INFO(JW-113): there is no `ABORT` message in this protocol - JW-113\n * lists `Error` as the only error vehicle. Hard failures are signalled\n * via an `Error` envelope and the underlying tunnel (JW-112) is closed\n * by the layer above.\n */\n\n// --- Error codes ---\n\nexport const ErrorCode = {\n /** Decoding failed (JSON parse, missing field, wrong type). */\n ERR_INVALID_PAYLOAD: \"ERR_INVALID_PAYLOAD\",\n /** A message arrived in a state where it is not allowed. */\n ERR_UNEXPECTED_TYPE: \"ERR_UNEXPECTED_TYPE\",\n /** Unknown swap_id (coordinator-side) or no swap_id assigned yet (client-side). */\n ERR_UNKNOWN_SWAP: \"ERR_UNKNOWN_SWAP\",\n /** Spending policy violated (amount cap, fee floor, deadline, ...). */\n ERR_POLICY_VIOLATION: \"ERR_POLICY_VIOLATION\",\n /** Recovery code does not match the stored commitment. */\n ERR_INVALID_RECOVERY_CODE: \"ERR_INVALID_RECOVERY_CODE\",\n /** The swap is no longer refundable (settlement in progress / completed). */\n ERR_SWAP_NOT_REFUNDABLE: \"ERR_SWAP_NOT_REFUNDABLE\",\n /** FROST DKG package was rejected (malformed, wrong round, ...). */\n ERR_DKG_FAILURE: \"ERR_DKG_FAILURE\",\n /** Catch-all for unexpected coordinator-side failures. */\n ERR_INTERNAL: \"ERR_INTERNAL\",\n /** Deposit did not satisfy coordinator validation or funding policy. */\n ERR_INVALID_DEPOSIT: \"ERR_INVALID_DEPOSIT\",\n /** Autonomous payout/refund signing failed after the swap was accepted. */\n ERR_SETTLEMENT_FAILED: \"ERR_SETTLEMENT_FAILED\",\n} as const;\n\nexport type ErrorCode = (typeof ErrorCode)[keyof typeof ErrorCode];\n\nconst VALID_ERROR_CODES = new Set<string>(Object.values(ErrorCode));\nexport function isValidErrorCode(value: unknown): value is ErrorCode {\n return typeof value === \"string\" && VALID_ERROR_CODES.has(value);\n}\n\n// --- Error payload (wire shape) ---\n\n/**\n * Payload for an envelope with `kind: \"error\"`, `type: \"Error\"`.\n *\n * @INFO `failed_req_id` is set when the error is a response to a specific\n * request. If absent, the error is \"out-of-band\" (e.g. coordinator-initiated\n * shutdown, malformed inbound that did not carry a req_id).\n */\nexport type ErrorPayload = {\n readonly code: ErrorCode;\n readonly message: string;\n readonly failed_req_id?: number;\n};\n\n// --- Result type (coordinator-flavoured) ---\n\n/**\n * Result type used throughout the coordinator package. Mirrors the\n * P2P `Result<T, E>` shape but defaults to `CoordinatorError` so that\n * call sites in this package don't need to specify the error type.\n */\nexport type CoordResult<T> =\n | { readonly ok: true; readonly value: T }\n | { readonly ok: false; readonly error: CoordinatorError };\n\n// --- Local error class (used internally by the session) ---\n\n/**\n * Thrown locally by the session when validation fails before sending,\n * or surfaced as a rejected `request()` promise when an `Error` envelope\n * arrives in response. Never serialised on the wire - `ErrorPayload` is.\n */\nexport class CoordinatorError extends Error {\n readonly code: ErrorCode;\n readonly failed_req_id?: number;\n\n constructor(code: ErrorCode, message: string, failed_req_id?: number) {\n super(`[${code}] ${message}`);\n this.name = \"CoordinatorError\";\n this.code = code;\n this.failed_req_id = failed_req_id;\n }\n\n toPayload(): ErrorPayload {\n const p: ErrorPayload = { code: this.code, message: this.message };\n if (this.failed_req_id !== undefined) {\n return { ...p, failed_req_id: this.failed_req_id };\n }\n return p;\n }\n}\n","/**\n * Coordinator wire protocol - message type catalog.\n *\n * One enum, four `kind`s. The (kind, type) pair determines which payload\n * shape is valid. See `payloads.ts` for the typed maps.\n *\n * Source of truth: JW-113 (acceptance criteria) + MVP_Specs.md\n * \"Protocol Flow: Alice <-> TEE Pool\" section.\n *\n * @INFO(JW-114): cryptographic content of `DkgRound1` / `DkgRound2`\n * packages is opaque at this layer. The wire just transports bytes;\n * FROST validation is the responsibility of the crypto layer.\n *\n * @INFO(JW-118 / payout-modes): the protocol does not bake in the\n * payout mode (instant / scheduled / asap). The mode lives inside\n * `SwapRequestPayload.payout_spec` and is opaque to the wire format.\n */\n\n// --- Envelope kinds ---\n\nexport const EnvelopeKind = {\n REQUEST: \"request\",\n RESPONSE: \"response\",\n PUSH: \"push\",\n ERROR: \"error\",\n} as const;\n\nexport type EnvelopeKind = (typeof EnvelopeKind)[keyof typeof EnvelopeKind];\n\nconst VALID_KINDS = new Set<string>(Object.values(EnvelopeKind));\nexport function isValidEnvelopeKind(value: unknown): value is EnvelopeKind {\n return typeof value === \"string\" && VALID_KINDS.has(value);\n}\n\n// --- Message types (JW-113) ---\n\nexport const CoordinatorMessageType = {\n // Phase A: Swap/contract setup — unified user swap-open + LP position-open (JW-372 step 8).\n ContractRequest: \"ContractRequest\",\n\n // Phase B: DKG (Alice ↔ TEE)\n DkgInit: \"DkgInit\",\n DkgRound1: \"DkgRound1\",\n DkgRound2: \"DkgRound2\",\n DkgComplete: \"DkgComplete\",\n\n // Phase C: Delegation\n DelegateShare: \"DelegateShare\",\n DelegateAck: \"DelegateAck\",\n\n // Phase D: Settlement lifecycle\n DepositConfirmed: \"DepositConfirmed\",\n // Unified read-only status poll (user swap status + LP position) — JW-372 step 8.\n Sync: \"Sync\",\n // Actor-safe wake-up hint; authoritative state remains the Sync response.\n SyncRequired: \"SyncRequired\",\n // LP-only liquidity top-up command — JW-372 step 8 consolidation.\n Refill: \"Refill\",\n PayoutExecuted: \"PayoutExecuted\",\n\n // Phase E: Withdrawals - unified user Recovery Code withdrawal + LP withdrawal (JW-372 step 8).\n WithdrawRequest: \"WithdrawRequest\",\n // Intake ack for the user WithdrawRequest arm: the durable scheduler/matcher/\n // executor/confirmer pipeline owns the terminal outcome, surfaced via Sync.\n WithdrawAccepted: \"WithdrawAccepted\",\n\n // User withdrawal execution/replay surface (push or WithdrawAccepted-flow response).\n WithdrawExecuted: \"WithdrawExecuted\",\n\n // LP owner-authenticated command surface.\n LpCommand: \"LpCommand\",\n\n // Errors\n Error: \"Error\",\n} as const;\n\nexport type CoordinatorMessageType =\n (typeof CoordinatorMessageType)[keyof typeof CoordinatorMessageType];\n\nconst VALID_TYPES = new Set<string>(Object.values(CoordinatorMessageType));\nexport function isValidMessageType(value: unknown): value is CoordinatorMessageType {\n return typeof value === \"string\" && VALID_TYPES.has(value);\n}\n\n// --- Allowed (kind, type) combinations ---\n//\n// Each entry says \"this message type is valid with these kinds\".\n// Used by the envelope validator to reject e.g. a `kind=push` for\n// `type=SwapRequest` (which only makes sense as request/response).\n\nconst KIND_BY_TYPE: Readonly<Record<CoordinatorMessageType, ReadonlySet<EnvelopeKind>>> = {\n // Pure request/response\n ContractRequest: new Set([EnvelopeKind.REQUEST, EnvelopeKind.RESPONSE]),\n DkgInit: new Set([EnvelopeKind.REQUEST, EnvelopeKind.RESPONSE]),\n DkgRound1: new Set([EnvelopeKind.REQUEST, EnvelopeKind.RESPONSE]),\n DkgRound2: new Set([EnvelopeKind.REQUEST, EnvelopeKind.RESPONSE]),\n DelegateShare: new Set([EnvelopeKind.REQUEST, EnvelopeKind.RESPONSE]),\n Sync: new Set([EnvelopeKind.REQUEST, EnvelopeKind.RESPONSE]),\n Refill: new Set([EnvelopeKind.REQUEST, EnvelopeKind.RESPONSE]),\n // request (user refund + LP redeem) + response (the synchronous LP redeem result).\n WithdrawRequest: new Set([EnvelopeKind.REQUEST, EnvelopeKind.RESPONSE]),\n LpCommand: new Set([EnvelopeKind.REQUEST, EnvelopeKind.RESPONSE]),\n\n // Response only: intake ack for WithdrawRequest.\n WithdrawAccepted: new Set([EnvelopeKind.RESPONSE]),\n\n // Push only\n DkgComplete: new Set([EnvelopeKind.PUSH]),\n DelegateAck: new Set([EnvelopeKind.PUSH]),\n DepositConfirmed: new Set([EnvelopeKind.PUSH]),\n PayoutExecuted: new Set([EnvelopeKind.PUSH]),\n SyncRequired: new Set([EnvelopeKind.PUSH]),\n\n // Mixed: response to WithdrawRequest replay OR push (auto-withdrawal triggered by deadline)\n WithdrawExecuted: new Set([EnvelopeKind.RESPONSE, EnvelopeKind.PUSH]),\n\n // Errors\n Error: new Set([EnvelopeKind.ERROR]),\n};\n\n/**\n * Returns true if a (kind, type) pair is valid per the protocol catalog.\n *\n * Used by the envelope decoder to fail-fast on combinations that should\n * never be produced by either side. The state machine in `state.ts` is\n * responsible for the *temporal* validity (e.g. `DelegateShare` cannot\n * arrive before `DepositConfirmed`).\n */\nexport function isAllowedKindForType(kind: EnvelopeKind, type: CoordinatorMessageType): boolean {\n return KIND_BY_TYPE[type].has(kind);\n}\n\n// --- Direction tags (documentation + routing) ---\n//\n// @INFO: direction tags document which side may produce each message type.\n// Runtime validity is enforced through envelope decoding plus handler-level\n// state and authorization checks on each side.\n\nexport const MessageDirection = {\n CLIENT_TO_COORDINATOR: \"c2co\",\n COORDINATOR_TO_CLIENT: \"co2c\",\n BIDIRECTIONAL: \"both\",\n} as const;\n\nexport type MessageDirection = (typeof MessageDirection)[keyof typeof MessageDirection];\n\nexport const DIRECTION_BY_TYPE: Readonly<Record<CoordinatorMessageType, MessageDirection>> = {\n // Client-initiated\n ContractRequest: MessageDirection.BIDIRECTIONAL, // request c→co, response co→c\n DkgInit: MessageDirection.BIDIRECTIONAL,\n DkgRound1: MessageDirection.BIDIRECTIONAL,\n DkgRound2: MessageDirection.BIDIRECTIONAL,\n DelegateShare: MessageDirection.BIDIRECTIONAL,\n Sync: MessageDirection.BIDIRECTIONAL,\n Refill: MessageDirection.BIDIRECTIONAL,\n WithdrawRequest: MessageDirection.BIDIRECTIONAL, // user withdrawal c→co (ack via WithdrawAccepted); LP withdrawal c→co + co→c\n LpCommand: MessageDirection.BIDIRECTIONAL,\n\n // Coordinator-initiated (push) or coordinator response without matching request\n DkgComplete: MessageDirection.COORDINATOR_TO_CLIENT,\n DelegateAck: MessageDirection.COORDINATOR_TO_CLIENT,\n DepositConfirmed: MessageDirection.COORDINATOR_TO_CLIENT,\n PayoutExecuted: MessageDirection.COORDINATOR_TO_CLIENT,\n SyncRequired: MessageDirection.COORDINATOR_TO_CLIENT,\n WithdrawExecuted: MessageDirection.COORDINATOR_TO_CLIENT, // both response & push are co→c\n WithdrawAccepted: MessageDirection.COORDINATOR_TO_CLIENT, // response ack to WithdrawRequest\n\n // Errors can flow either way (validation can fail on either side)\n Error: MessageDirection.BIDIRECTIONAL,\n};\n","/* eslint-disable */\n// Generated by protocol/scripts/generate-coordinator-schema-types.mjs.\n// Do not edit directly. Update coordinator-envelope.schema.json, then run schema:generate.\n\nexport type CoordinatorWireSafeUInt = number;\n\nexport type CoordinatorWirePositiveSafeUInt = number;\n\nexport type CoordinatorWireEntryAmountLamports = number;\n\nexport type CoordinatorWireU32 = number;\n\nexport type CoordinatorWireLpShardIndex = number;\n\nexport type CoordinatorWireLpShardCount = number;\n\nexport type CoordinatorWirePositiveU32 = number;\n\nexport type CoordinatorWireString = string;\n\nexport type CoordinatorWireBase64urlBytes = string;\n\nexport type CoordinatorWireBase64url32Bytes = string;\n\nexport type CoordinatorWireEmptyObject = Record<string, never>;\n\nexport type CoordinatorWireDkgInitRequest = {\n readonly resume_secret?: CoordinatorWireBase64url32Bytes;\n};\n\nexport type CoordinatorWireSyncRequest =\n | CoordinatorWireSyncUserRequest\n | CoordinatorWireSyncLpRequest;\n\nexport type CoordinatorWireSyncUserRequest = {\n readonly actor: \"user\";\n readonly sync_secret?: CoordinatorWireBase64url32Bytes;\n};\n\nexport type CoordinatorWireSyncLpRequest = {\n readonly actor: \"lp\";\n readonly command: CoordinatorWireLpCommand;\n readonly signature: CoordinatorWireBase64url64Bytes;\n};\n\nexport type CoordinatorWireRefillRequest = {\n readonly actor: \"lp\";\n readonly command: CoordinatorWireLpCommand;\n readonly signature: CoordinatorWireBase64url64Bytes;\n};\n\nexport type CoordinatorWireSwapRequest = {\n readonly actor: \"user\";\n readonly amount_lamports: CoordinatorWireEntryAmountLamports;\n readonly payout_deadline_ms?: CoordinatorWirePositiveSafeUInt;\n readonly payout_spec: CoordinatorWirePayoutSpec;\n readonly sync_commitment: CoordinatorWireBase64url32Bytes;\n readonly resume_commitment?: CoordinatorWireBase64url32Bytes;\n};\n\nexport type CoordinatorWireContractRequestRequest =\n | CoordinatorWireSwapRequest\n | CoordinatorWireContractRequestLpRequest;\n\nexport type CoordinatorWireContractRequestLpRequest = {\n readonly actor: \"lp\";\n readonly command: CoordinatorWireLpCommand;\n readonly signature: CoordinatorWireBase64url64Bytes;\n};\n\nexport type CoordinatorWireContractRequestResponse =\n | CoordinatorWireSwapRequestResponse\n | CoordinatorWireLpPositionResponse;\n\nexport type CoordinatorWirePayoutSpec =\n | CoordinatorWireInstantPayoutSpec\n | CoordinatorWireScheduledPayoutSpec;\n\nexport type CoordinatorWireInstantPayoutSpec = {\n readonly mode: \"instant\";\n readonly destination_address: CoordinatorWireString;\n};\n\nexport type CoordinatorWireScheduledPayoutSpec = {\n readonly mode: \"scheduled\";\n readonly num_fragments: number;\n readonly window_seconds: CoordinatorWirePositiveSafeUInt;\n readonly destination_addresses: readonly CoordinatorWireString[];\n};\n\nexport type CoordinatorWireSpendingPolicyDestination = {\n readonly destination_address: CoordinatorWireString;\n};\n\nexport type CoordinatorWireSpendingPolicySnapshot = {\n readonly asset: \"SOL\";\n readonly entry_amount_lamports: CoordinatorWirePositiveSafeUInt;\n readonly total_committed_lamports: CoordinatorWirePositiveSafeUInt;\n readonly payout_deadline_ms: CoordinatorWirePositiveSafeUInt;\n readonly payout_window_ms?: CoordinatorWirePositiveSafeUInt;\n readonly payout_schedule: readonly CoordinatorWireSpendingPolicyDestination[];\n readonly fragment_count: number;\n readonly payout_mode: \"instant\" | \"scheduled\";\n readonly matching_mode: \"exact_1_to_1\";\n readonly fragmentation_allowed: \"payout_side_only\";\n readonly min_fee_bps: number;\n readonly fee_bps: number;\n readonly fee_lamports: CoordinatorWireSafeUInt;\n readonly net_payout_lamports: CoordinatorWireSafeUInt;\n};\n\nexport type CoordinatorWireSwapRequestResponse = {\n readonly swap_id: CoordinatorWireString;\n readonly accepted: true;\n readonly policy_snapshot: CoordinatorWireSpendingPolicySnapshot;\n};\n\nexport type CoordinatorWireDkgInitResponse = {\n readonly ready: true;\n};\n\nexport type CoordinatorWireDkgRoundPackage = {\n readonly package: CoordinatorWireBase64urlBytes;\n};\n\nexport type CoordinatorWireDkgRoundRequestPackage = {\n readonly package: CoordinatorWireBase64urlBytes;\n readonly resume_secret?: CoordinatorWireBase64url32Bytes;\n};\n\nexport type CoordinatorWireDkgRound1Response = {\n readonly package: CoordinatorWireBase64urlBytes;\n readonly round2_for_alice: CoordinatorWireBase64urlBytes;\n};\n\nexport type CoordinatorWireDkgComplete = {\n readonly joint_pubkey: CoordinatorWireBase64url32Bytes;\n readonly deposit_expires_at_ms: CoordinatorWireSafeUInt;\n};\n\nexport type CoordinatorWireDelegateShare = {\n readonly share: CoordinatorWireBase64url32Bytes;\n readonly recovery_commitment: CoordinatorWireBase64url32Bytes;\n readonly resume_secret?: CoordinatorWireBase64url32Bytes;\n};\n\nexport type CoordinatorWireDelegateShareResponse = {\n readonly delegated_at_ms: CoordinatorWirePositiveSafeUInt;\n};\n\nexport type CoordinatorWireDelegateAck = {\n readonly delegated_at_ms: CoordinatorWirePositiveSafeUInt;\n readonly spending_policy: CoordinatorWireSpendingPolicySnapshot;\n};\n\nexport type CoordinatorWireDepositConfirmed = {\n readonly tx_signature: CoordinatorWireString;\n readonly amount_lamports: CoordinatorWirePositiveSafeUInt;\n readonly observed_at_ms: CoordinatorWirePositiveSafeUInt;\n readonly origin_address?: CoordinatorWireString;\n};\n\nexport type CoordinatorWirePlannedFragment = {\n readonly index: CoordinatorWireU32;\n readonly amount_lamports: CoordinatorWirePositiveSafeUInt;\n readonly scheduled_at_ms: CoordinatorWirePositiveSafeUInt;\n readonly destination_address: CoordinatorWireString;\n};\n\nexport type CoordinatorWireExecutedFragment = {\n readonly index: CoordinatorWireU32;\n readonly amount_lamports: CoordinatorWirePositiveSafeUInt;\n readonly destination_address: CoordinatorWireString;\n readonly tx_signature: CoordinatorWireString;\n readonly executed_at_ms: CoordinatorWirePositiveSafeUInt;\n readonly final: boolean;\n};\n\nexport type CoordinatorWirePayoutSchedule = {\n readonly mode: \"instant\" | \"scheduled\";\n readonly fragments: readonly CoordinatorWirePlannedFragment[];\n};\n\nexport type CoordinatorWireNormalUserContractStatus =\n | \"deposit\"\n | \"activating\"\n | \"active\"\n | \"settling\"\n | \"completed\"\n | \"refunded\"\n | \"expired\";\n\nexport type CoordinatorWireNormalUserSettlementPhase =\n | \"awaiting_deposit\"\n | \"activating\"\n | \"waiting_for_liquidity\"\n | \"matched_scheduled\"\n | \"locked_pending_payout\"\n | \"submitted\"\n | \"confirming\"\n | \"retry_delayed\"\n | \"recovery_required\"\n | \"completed\"\n | \"refund_pending\"\n | \"refunded\"\n | \"expired\";\n\nexport type CoordinatorWireNormalUserRefundability =\n | \"available_now\"\n | \"request_pending\"\n | \"blocked_by_lock\"\n | \"stale\"\n | \"unavailable\";\n\nexport type CoordinatorWireNormalUserRefundStatus =\n | \"queued\"\n | \"reserved\"\n | \"submitted\"\n | \"confirming\"\n | \"retrying\"\n | \"finalized\"\n | \"failed\"\n | \"partial\"\n | \"canceled\";\n\nexport type CoordinatorWireSourceLiquidityUse =\n | \"not_materialized\"\n | \"available\"\n | \"locked_for_payout\"\n | \"pending_finality\"\n | \"spent\"\n | \"released\";\n\nexport type CoordinatorWireSyncRetryInstruction = {\n readonly should_retry: boolean;\n readonly poll_after_ms: null | CoordinatorWireSafeUInt;\n};\n\nexport type CoordinatorWirePayoutWindowSyncSnapshot = {\n readonly starts_at_ms: CoordinatorWireSafeUInt;\n readonly deadline_ms: null | CoordinatorWireSafeUInt;\n};\n\nexport type CoordinatorWireNormalUserContractSyncSnapshot = {\n readonly contract_id: CoordinatorWireString;\n readonly status: CoordinatorWireNormalUserContractStatus;\n readonly settlement_phase: CoordinatorWireNormalUserSettlementPhase;\n readonly refundability: CoordinatorWireNormalUserRefundability;\n readonly refund_status: null | CoordinatorWireNormalUserRefundStatus;\n readonly source_liquidity_use: CoordinatorWireSourceLiquidityUse;\n readonly destination_wallet: null | CoordinatorWireString;\n readonly deposit_amount_lamports: CoordinatorWireSafeUInt;\n readonly deposit_expires_at_ms: CoordinatorWireSafeUInt;\n readonly payout_window: CoordinatorWirePayoutWindowSyncSnapshot;\n readonly settlement_tx_hashes: readonly CoordinatorWireString[];\n readonly settled_amount_lamports: CoordinatorWireSafeUInt;\n readonly protocol_fee_lamports: CoordinatorWireSafeUInt;\n readonly network_fee_lost_lamports: readonly CoordinatorWireSafeUInt[];\n readonly recovery_refund_remaining_lamports: CoordinatorWireSafeUInt;\n readonly withdrawal_requested_lamports: CoordinatorWireSafeUInt;\n readonly withdrawal_landed_lamports: CoordinatorWireSafeUInt;\n readonly withdrawal_landed_fee_lamports: CoordinatorWireSafeUInt;\n readonly withdrawal_canceled_lamports: CoordinatorWireSafeUInt;\n readonly withdrawal_network_fee_loss_lamports: CoordinatorWireSafeUInt;\n readonly withdrawal_tx_hashes: readonly CoordinatorWireString[];\n readonly retry: CoordinatorWireSyncRetryInstruction;\n readonly state_version: CoordinatorWireSafeUInt;\n readonly updated_at_ms: CoordinatorWireSafeUInt;\n};\n\nexport type CoordinatorWireNormalUserActorSyncSnapshot = {\n readonly actor: \"normal_user\";\n readonly snapshot: CoordinatorWireNormalUserContractSyncSnapshot;\n};\n\nexport type CoordinatorWireSyncResponse =\n | CoordinatorWireSyncUserResponse\n | CoordinatorWireLpPositionResponse;\n\nexport type CoordinatorWireSyncRequiredContractSubject = {\n readonly kind: \"contract\";\n readonly id: CoordinatorWireString;\n};\n\nexport type CoordinatorWireSyncRequiredLpPositionSubject = {\n readonly kind: \"lp_position\";\n readonly id: CoordinatorWireString;\n};\n\nexport type CoordinatorWireSyncRequiredContract = {\n readonly subject: CoordinatorWireSyncRequiredContractSubject;\n readonly event_kind:\n | \"contract_requested\"\n | \"request_expired\"\n | \"contract_activated\"\n | \"match_requested\"\n | \"reserved\"\n | \"settlement_pending\"\n | \"partially_fulfilled\"\n | \"fulfilled\"\n | \"refund_requested\"\n | \"refunded\"\n | \"source_liquidity_updated\"\n | \"withdrawal_requested\"\n | \"withdrawal_finalized\";\n readonly state_version: CoordinatorWireSafeUInt;\n readonly created_at_ms: CoordinatorWireSafeUInt;\n readonly sync_required: true;\n};\n\nexport type CoordinatorWireSyncRequiredLpPosition = {\n readonly subject: CoordinatorWireSyncRequiredLpPositionSubject;\n readonly event_kind:\n | \"match_requested\"\n | \"reserved\"\n | \"withdrawal_requested\"\n | \"withdrawal_finalized\"\n | \"reimbursement_finalized\";\n readonly state_version: CoordinatorWireSafeUInt;\n readonly created_at_ms: CoordinatorWireSafeUInt;\n readonly sync_required: true;\n};\n\nexport type CoordinatorWireSyncRequired =\n | CoordinatorWireSyncRequiredContract\n | CoordinatorWireSyncRequiredLpPosition;\n\nexport type CoordinatorWireSyncUserResponse = {\n readonly state:\n | \"new\"\n | \"awaiting_dkg\"\n | \"awaiting_deposit\"\n | \"awaiting_delegation\"\n | \"ready_for_settlement\"\n | \"settling\"\n | \"completed\"\n | \"refunded\"\n | \"failed\";\n readonly fragments_executed: readonly CoordinatorWireExecutedFragment[];\n readonly withdraw_execution?: CoordinatorWireWithdrawExecuted;\n readonly actor_sync?: CoordinatorWireNormalUserActorSyncSnapshot;\n};\n\nexport type CoordinatorWireLpPositionResponse = {\n readonly case: \"position\";\n readonly value: CoordinatorWireLpPositionView;\n};\n\nexport type CoordinatorWireWithdrawRequestRequest =\n | CoordinatorWireWithdrawRequest\n | CoordinatorWireWithdrawRequestProtocolRequest\n | CoordinatorWireWithdrawRequestLpRequest;\n\nexport type CoordinatorWireWithdrawRequestLpRequest = {\n readonly actor: \"lp\";\n readonly command: CoordinatorWireLpCommand;\n readonly signature: CoordinatorWireBase64url64Bytes;\n};\n\nexport type CoordinatorWireWithdrawRequestProtocolRequest = {\n readonly actor: \"protocol\";\n};\n\nexport type CoordinatorWireWithdrawRequest = {\n readonly recovery_code: CoordinatorWireBase64url32Bytes;\n};\n\nexport type CoordinatorWireWithdrawExecuted = {\n readonly tx_signature: CoordinatorWireString;\n readonly amount_lamports: CoordinatorWirePositiveSafeUInt;\n readonly withdrawn_at_ms: CoordinatorWirePositiveSafeUInt;\n readonly trigger: \"user_request\" | \"auto_deadline\";\n readonly destination_address: CoordinatorWireString;\n};\n\nexport type CoordinatorWireWithdrawAccepted = {\n readonly status: \"accepted\";\n readonly amount_lamports: CoordinatorWirePositiveSafeUInt;\n readonly destination_address: CoordinatorWireString;\n readonly accepted_at_ms: CoordinatorWirePositiveSafeUInt;\n};\n\nexport type CoordinatorWireErrorPayload = {\n readonly code:\n | \"ERR_INVALID_PAYLOAD\"\n | \"ERR_UNEXPECTED_TYPE\"\n | \"ERR_UNKNOWN_SWAP\"\n | \"ERR_POLICY_VIOLATION\"\n | \"ERR_INVALID_RECOVERY_CODE\"\n | \"ERR_SWAP_NOT_REFUNDABLE\"\n | \"ERR_DKG_FAILURE\"\n | \"ERR_INTERNAL\"\n | \"ERR_INVALID_DEPOSIT\"\n | \"ERR_SETTLEMENT_FAILED\";\n readonly message: CoordinatorWireString;\n readonly failed_req_id?: CoordinatorWireU32;\n};\n\nexport type CoordinatorWireBase64url64Bytes = string;\n\nexport type CoordinatorWireBase64urlMax16384Bytes = string;\n\nexport type CoordinatorWireLpId = string;\n\nexport type CoordinatorWireLpRedemptionId = string;\n\nexport type CoordinatorWireLpAddress = string;\n\nexport type CoordinatorWireLpSessionId = string;\n\nexport type CoordinatorWireLpTxSignature = string;\n\nexport type CoordinatorWireLpSignedCommand = {\n readonly command: CoordinatorWireLpCommand;\n readonly signature: CoordinatorWireBase64url64Bytes;\n};\n\nexport type CoordinatorWireLpCommand = {\n readonly lp_position_id: CoordinatorWireLpId;\n readonly action:\n | \"position_open\"\n | \"position_get\"\n | \"dkg_init\"\n | \"dkg_round1\"\n | \"dkg_round2\"\n | \"dkg_abort\"\n | \"dkg_finalize\"\n | \"refill\"\n | \"funding_plan\"\n | \"funding_confirmation\"\n | \"make_available\"\n | \"reconcile_funding\"\n | \"prepare_top_up\"\n | \"top_up_status\"\n | \"withdraw_request\";\n readonly nonce: CoordinatorWireBase64url32Bytes;\n readonly expires_at_ms: CoordinatorWirePositiveSafeUInt;\n readonly coordinator_attestation_hash: CoordinatorWireBase64url32Bytes;\n readonly payload: CoordinatorWireLpCommandBody;\n};\n\nexport type CoordinatorWireLpCommandBody =\n | CoordinatorWireLpPositionOpenCase\n | CoordinatorWireLpPositionGetCase\n | CoordinatorWireLpDkgInitCase\n | CoordinatorWireLpDkgRound1Case\n | CoordinatorWireLpDkgRound2Case\n | CoordinatorWireLpDkgAbortCase\n | CoordinatorWireLpDkgFinalizeCase\n | CoordinatorWireLpRefillCase\n | CoordinatorWireLpFundingPlanCase\n | CoordinatorWireLpFundingConfirmationCase\n | CoordinatorWireLpMakeAvailableCase\n | CoordinatorWireLpReconcileFundingCase\n | CoordinatorWireLpPrepareTopUpCase\n | CoordinatorWireLpTopUpStatusCase\n | CoordinatorWireLpWithdrawalRequestCase;\n\nexport type CoordinatorWireLpPositionOpenCase = {\n readonly case: \"positionOpen\";\n readonly value: CoordinatorWireLpPositionOpen;\n};\n\nexport type CoordinatorWireLpPositionGetCase = {\n readonly case: \"positionGet\";\n readonly value: CoordinatorWireLpPositionGet;\n};\n\nexport type CoordinatorWireLpDkgInitCase = {\n readonly case: \"dkgInit\";\n readonly value: CoordinatorWireLpDkgInit;\n};\n\nexport type CoordinatorWireLpDkgRound1Case = {\n readonly case: \"dkgRound1\";\n readonly value: CoordinatorWireLpDkgRound1;\n};\n\nexport type CoordinatorWireLpDkgRound2Case = {\n readonly case: \"dkgRound2\";\n readonly value: CoordinatorWireLpDkgRound2;\n};\n\nexport type CoordinatorWireLpDkgAbortCase = {\n readonly case: \"dkgAbort\";\n readonly value: CoordinatorWireLpDkgAbort;\n};\n\nexport type CoordinatorWireLpDkgFinalizeCase = {\n readonly case: \"dkgFinalize\";\n readonly value: CoordinatorWireLpDkgFinalize;\n};\n\nexport type CoordinatorWireLpRefillCase = {\n readonly case: \"refill\";\n readonly value: CoordinatorWireLpRefill;\n};\n\nexport type CoordinatorWireLpFundingPlanCase = {\n readonly case: \"fundingPlan\";\n readonly value: CoordinatorWireLpFundingPlan;\n};\n\nexport type CoordinatorWireLpFundingConfirmationCase = {\n readonly case: \"fundingConfirmation\";\n readonly value: CoordinatorWireLpFundingConfirmation;\n};\n\nexport type CoordinatorWireLpMakeAvailableCase = {\n readonly case: \"makeAvailable\";\n readonly value: CoordinatorWireLpMakeAvailable;\n};\n\nexport type CoordinatorWireLpReconcileFundingCase = {\n readonly case: \"reconcileFunding\";\n readonly value: CoordinatorWireEmptyObject;\n};\n\nexport type CoordinatorWireLpPrepareTopUpCase = {\n readonly case: \"prepareTopUp\";\n readonly value: CoordinatorWireEmptyObject;\n};\n\nexport type CoordinatorWireLpTopUpStatusCase = {\n readonly case: \"topUpStatus\";\n readonly value: CoordinatorWireLpTopUpStatus;\n};\n\nexport type CoordinatorWireLpTopUpStatus = {\n readonly top_up_id: CoordinatorWireLpId;\n};\n\nexport type CoordinatorWireLpPositionGet = {\n readonly redemption_history_cursor?: CoordinatorWireLpRedemptionId;\n};\n\nexport type CoordinatorWireLpPositionOpen = {\n readonly auth_public_key: CoordinatorWireBase64url32Bytes;\n readonly refill_public_key: CoordinatorWireBase64url32Bytes;\n readonly redemption_commitment: CoordinatorWireBase64url32Bytes;\n readonly committed_lamports: CoordinatorWirePositiveSafeUInt;\n readonly shard_count: number;\n readonly shard_amount_lamports: CoordinatorWirePositiveSafeUInt;\n readonly refill_threshold: number;\n readonly addresses: readonly CoordinatorWireLpAddress[];\n readonly created_at_ms: CoordinatorWirePositiveSafeUInt;\n};\n\nexport type CoordinatorWireLpDkgInit = {\n readonly index: CoordinatorWireLpShardIndex;\n};\n\nexport type CoordinatorWireLpDkgRound1 = {\n readonly session_id: CoordinatorWireLpSessionId;\n readonly package: CoordinatorWireBase64urlMax16384Bytes;\n};\n\nexport type CoordinatorWireLpDkgRound2 = {\n readonly session_id: CoordinatorWireLpSessionId;\n readonly package: CoordinatorWireBase64urlMax16384Bytes;\n readonly delegated_share: CoordinatorWireBase64urlMax16384Bytes;\n};\n\nexport type CoordinatorWireLpDkgAbort = Record<string, never>;\n\nexport type CoordinatorWireLpDkgFinalize = {\n readonly start_index: CoordinatorWireLpShardIndex;\n readonly addresses: readonly CoordinatorWireLpAddress[];\n readonly finalized_at_ms: CoordinatorWirePositiveSafeUInt;\n};\n\nexport type CoordinatorWireLpRefill = {\n readonly shard_count: number;\n readonly shard_amount_lamports: CoordinatorWirePositiveSafeUInt;\n readonly addresses: readonly CoordinatorWireLpAddress[];\n readonly authorized_at_ms: CoordinatorWirePositiveSafeUInt;\n};\n\nexport type CoordinatorWireLpFundingPlan = {\n readonly shard_count: number;\n readonly planned_at_ms: CoordinatorWirePositiveSafeUInt;\n};\n\nexport type CoordinatorWireLpFundingConfirmation = {\n readonly shard_id: CoordinatorWireLpShardId;\n readonly amount_lamports: CoordinatorWirePositiveSafeUInt;\n readonly funding_tx_signature: CoordinatorWireLpTxSignature;\n};\n\nexport type CoordinatorWireLpMakeAvailable = {\n readonly shard_id: CoordinatorWireLpShardId;\n};\n\nexport type CoordinatorWireLpCommandResponse =\n | CoordinatorWireLpCommandLifecycleResponse\n | CoordinatorWireLpWithdrawalExecutionResponse;\n\nexport type CoordinatorWireLpCommandLifecycleResponse =\n | {\n readonly case: \"position\";\n readonly value: CoordinatorWireLpPositionView;\n }\n | {\n readonly case: \"dkgAbort\";\n readonly value: CoordinatorWireLpDkgAbortResponse;\n }\n | {\n readonly case: \"dkgInit\";\n readonly value: CoordinatorWireLpDkgInitResponse;\n }\n | {\n readonly case: \"dkgRound1\";\n readonly value: CoordinatorWireLpDkgRound1Response;\n }\n | {\n readonly case: \"dkgRound2\";\n readonly value: CoordinatorWireLpDkgRound2Response;\n }\n | {\n readonly case: \"shards\";\n readonly value: readonly CoordinatorWireLpShardView[];\n }\n | {\n readonly case: \"shard\";\n readonly value: CoordinatorWireLpShardView;\n }\n | {\n readonly case: \"topUpRequest\";\n readonly value: CoordinatorWireLpTopUpRequest;\n };\n\nexport type CoordinatorWireLpTopUpRequest = {\n readonly top_up_id: CoordinatorWireLpId;\n readonly lp_position_id: CoordinatorWireLpId;\n readonly deposit_address: CoordinatorWireLpAddress;\n readonly expires_at_ms: CoordinatorWirePositiveSafeUInt;\n readonly status: \"watching\" | \"funded\" | \"expired\";\n};\n\nexport type CoordinatorWireLpWithdrawalExecutionResponse = {\n readonly case: \"withdrawalExecution\";\n readonly value: CoordinatorWireLpWithdrawalExecutionView;\n};\n\nexport type CoordinatorWireLpDkgInitResponse = {\n readonly session_id: CoordinatorWireLpSessionId;\n};\n\nexport type CoordinatorWireLpDkgRound1Response = {\n readonly package: CoordinatorWireBase64urlMax16384Bytes;\n readonly round2_for_lp: CoordinatorWireBase64urlMax16384Bytes;\n};\n\nexport type CoordinatorWireLpDkgRound2Response = {\n readonly lp_position_id: CoordinatorWireLpId;\n readonly shard_id: CoordinatorWireLpShardId;\n readonly index: CoordinatorWireLpShardIndex;\n readonly address: CoordinatorWireLpAddress;\n readonly joint_pubkey: CoordinatorWireBase64url32Bytes;\n};\n\nexport type CoordinatorWireLpDkgAbortResponse = {\n readonly aborted_session_count: CoordinatorWireSafeUInt;\n};\n\nexport type CoordinatorWireLpPositionView = {\n readonly lp_position_id: CoordinatorWireLpId;\n readonly status: \"dkg_pending\" | \"active\" | \"withdrawing\" | \"closed\";\n readonly target_shard_count: number;\n readonly auth_public_key: CoordinatorWireBase64url32Bytes;\n readonly refill_public_key: CoordinatorWireBase64url32Bytes;\n readonly redemption_commitment: CoordinatorWireBase64url32Bytes;\n readonly committed_lamports: CoordinatorWireSafeUInt;\n readonly earned_lamports: CoordinatorWireSafeUInt;\n readonly refill_threshold: number;\n readonly shards: readonly CoordinatorWireLpShardView[];\n readonly created_at_ms: CoordinatorWirePositiveSafeUInt;\n readonly actor_sync?: CoordinatorWireLpActorSyncView;\n};\n\nexport type CoordinatorWireLpActorSyncView = {\n readonly lp_position_id: CoordinatorWireLpId;\n readonly status: \"idle\" | \"settling\" | \"reimbursement_due\";\n readonly source_liquidity_use: CoordinatorWireSourceLiquidityUse;\n readonly redeemable_principal_lamports?: CoordinatorWireSafeUInt;\n readonly redeemable_fee_lamports?: CoordinatorWireSafeUInt;\n readonly lifetime_earned_lamports?: CoordinatorWireSafeUInt;\n readonly redeemable_principal_source_count?: CoordinatorWireSafeUInt;\n readonly redeemable_fee_source_count?: CoordinatorWireSafeUInt;\n readonly redeemable_source_count?: CoordinatorWireSafeUInt;\n readonly pending_reservation_count: CoordinatorWireSafeUInt;\n readonly reserved_payout_lamports: CoordinatorWireSafeUInt;\n readonly estimated_network_fee_lamports: CoordinatorWireSafeUInt;\n readonly reimbursement_due_count: CoordinatorWireSafeUInt;\n readonly reimbursement_due_source_count: CoordinatorWireSafeUInt;\n readonly reimbursement_due_payout_lamports: CoordinatorWireSafeUInt;\n readonly reimbursement_due_network_fee_lamports: CoordinatorWireSafeUInt;\n readonly withdrawal_requested_lamports: CoordinatorWireSafeUInt;\n readonly withdrawal_landed_lamports: CoordinatorWireSafeUInt;\n readonly withdrawal_landed_fee_lamports: CoordinatorWireSafeUInt;\n readonly withdrawal_canceled_lamports: CoordinatorWireSafeUInt;\n readonly withdrawal_network_fee_loss_lamports: CoordinatorWireSafeUInt;\n readonly withdrawal_tx_hashes: readonly CoordinatorWireLpTxSignature[];\n readonly redemption_history?: readonly CoordinatorWireLpRedemptionHistory[];\n readonly redemption_history_has_more?: boolean;\n readonly redemption_history_next_cursor?: CoordinatorWireLpRedemptionId;\n readonly state_version: CoordinatorWireSafeUInt;\n readonly updated_at_ms: CoordinatorWireSafeUInt;\n};\n\nexport type CoordinatorWireLpRedemptionHistory = {\n readonly redemption_id: CoordinatorWireLpRedemptionId;\n readonly state:\n | \"requested\"\n | \"match_requested\"\n | \"reserved\"\n | \"pending\"\n | \"confirmed\"\n | \"rejected\";\n readonly withdrawal_mode?: \"exact\" | \"max_available\";\n readonly accepted_lamports: CoordinatorWirePositiveSafeUInt;\n readonly accepted_deposit_principal_lamports: CoordinatorWireSafeUInt;\n readonly accepted_earned_fee_lamports: CoordinatorWireSafeUInt;\n readonly landed_lamports: CoordinatorWireSafeUInt;\n readonly landed_deposit_principal_lamports: CoordinatorWireSafeUInt;\n readonly landed_earned_fee_lamports: CoordinatorWireSafeUInt;\n readonly canceled_lamports: CoordinatorWireSafeUInt;\n readonly canceled_deposit_principal_lamports: CoordinatorWireSafeUInt;\n readonly canceled_earned_fee_lamports: CoordinatorWireSafeUInt;\n readonly network_fee_lamports: CoordinatorWireSafeUInt;\n readonly network_fee_loss_lamports: CoordinatorWireSafeUInt;\n readonly failed_attempts: CoordinatorWireSafeUInt;\n readonly destination_addresses: readonly CoordinatorWireLpAddress[];\n readonly destination_count: CoordinatorWireSafeUInt;\n readonly tx_signatures: readonly CoordinatorWireLpTxSignature[];\n readonly tx_signature_count: CoordinatorWireSafeUInt;\n readonly details_truncated: boolean;\n readonly state_version: CoordinatorWireSafeUInt;\n readonly created_at_ms: CoordinatorWireSafeUInt;\n readonly updated_at_ms: CoordinatorWireSafeUInt;\n};\n\nexport type CoordinatorWireLpShardView = {\n readonly lp_position_id: CoordinatorWireLpId;\n readonly shard_id: CoordinatorWireLpShardId;\n readonly index: CoordinatorWireLpShardIndex;\n readonly address: CoordinatorWireLpAddress;\n readonly amount_lamports: CoordinatorWireSafeUInt;\n readonly required_lamports?: CoordinatorWirePositiveSafeUInt;\n readonly status:\n | \"pregenerated\"\n | \"funding_queued\"\n | \"funded\"\n | \"cooling\"\n | \"available\"\n | \"reserved\"\n | \"retired\"\n | \"redeemed\";\n readonly funding_tx_signature?: CoordinatorWireLpTxSignature;\n readonly cooling_until_ms?: CoordinatorWirePositiveSafeUInt;\n readonly payout_tx_signature?: CoordinatorWireLpTxSignature;\n};\n\nexport type CoordinatorWireLpShardId = string;\n\nexport type CoordinatorWireLpWithdrawalRequestCase = {\n readonly case: \"withdrawRequest\";\n readonly value: CoordinatorWireLpWithdrawalRequest;\n};\n\nexport type CoordinatorWireLpWithdrawalRequest = {\n readonly destination_addresses: readonly CoordinatorWireLpAddress[];\n readonly deposit_principal_lamports: CoordinatorWireSafeUInt;\n readonly earned_fee_lamports: CoordinatorWireSafeUInt;\n readonly withdrawal_mode: \"exact\" | \"max_available\";\n readonly requested_at_ms: CoordinatorWirePositiveSafeUInt;\n};\n\nexport type CoordinatorWireLpWithdrawalExecutionView = {\n readonly withdrawal_id: string;\n readonly tx_signatures: readonly CoordinatorWireLpTxSignature[];\n readonly accepted_lamports: CoordinatorWirePositiveSafeUInt;\n readonly accepted_deposit_principal_lamports: CoordinatorWireSafeUInt;\n readonly accepted_earned_fee_lamports: CoordinatorWireSafeUInt;\n};\n\nexport type CoordinatorBinaryFieldName =\n | \"auth_public_key\"\n | \"coordinator_attestation_hash\"\n | \"delegated_share\"\n | \"joint_pubkey\"\n | \"nonce\"\n | \"package\"\n | \"recovery_code\"\n | \"recovery_commitment\"\n | \"redemption_commitment\"\n | \"refill_public_key\"\n | \"resume_commitment\"\n | \"resume_secret\"\n | \"round2_for_alice\"\n | \"round2_for_lp\"\n | \"share\"\n | \"signature\"\n | \"sync_commitment\"\n | \"sync_secret\";\n\nexport const COORDINATOR_BINARY_FIELD_NAMES = [\n \"auth_public_key\",\n \"coordinator_attestation_hash\",\n \"delegated_share\",\n \"joint_pubkey\",\n \"nonce\",\n \"package\",\n \"recovery_code\",\n \"recovery_commitment\",\n \"redemption_commitment\",\n \"refill_public_key\",\n \"resume_commitment\",\n \"resume_secret\",\n \"round2_for_alice\",\n \"round2_for_lp\",\n \"share\",\n \"signature\",\n \"sync_commitment\",\n \"sync_secret\",\n] as const satisfies readonly CoordinatorBinaryFieldName[];\n\nexport type CoordinatorDecodedWireValue<T, K extends PropertyKey = never> = T extends string\n ? [K] extends [never]\n ? T\n : K extends CoordinatorBinaryFieldName\n ? Uint8Array\n : T\n : T extends readonly (infer U)[]\n ? readonly CoordinatorDecodedWireValue<U>[]\n : T extends Record<string, never>\n ? Record<string, never>\n : T extends object\n ? { readonly [P in keyof T]: CoordinatorDecodedWireValue<T[P], P> }\n : T;\n\nexport type PayoutSpec = CoordinatorDecodedWireValue<CoordinatorWirePayoutSpec>;\n\nexport type InstantPayoutSpec = CoordinatorDecodedWireValue<CoordinatorWireInstantPayoutSpec>;\n\nexport type ScheduledPayoutSpec = CoordinatorDecodedWireValue<CoordinatorWireScheduledPayoutSpec>;\n\nexport type SwapRequestPayload = CoordinatorDecodedWireValue<CoordinatorWireSwapRequest>;\n\nexport type SpendingPolicySnapshot =\n CoordinatorDecodedWireValue<CoordinatorWireSpendingPolicySnapshot>;\n\nexport type SpendingPolicyDestination =\n CoordinatorDecodedWireValue<CoordinatorWireSpendingPolicyDestination>;\n\nexport type SwapRequestResponsePayload =\n CoordinatorDecodedWireValue<CoordinatorWireSwapRequestResponse>;\n\nexport type DkgInitPayload = CoordinatorDecodedWireValue<CoordinatorWireDkgInitRequest>;\n\nexport type SyncUserRequestPayload = CoordinatorDecodedWireValue<CoordinatorWireSyncUserRequest>;\n\nexport type DkgInitResponsePayload = CoordinatorDecodedWireValue<CoordinatorWireDkgInitResponse>;\n\nexport type DkgRound1Payload = CoordinatorDecodedWireValue<CoordinatorWireDkgRoundRequestPackage>;\nexport type DkgRound2Payload = CoordinatorDecodedWireValue<CoordinatorWireDkgRoundRequestPackage>;\n\nexport type DkgRound2ResponsePayload = CoordinatorDecodedWireValue<CoordinatorWireDkgRoundPackage>;\n\nexport type DkgRound1ResponsePayload =\n CoordinatorDecodedWireValue<CoordinatorWireDkgRound1Response>;\n\nexport type DkgCompletePayload = CoordinatorDecodedWireValue<CoordinatorWireDkgComplete>;\n\nexport type DelegateSharePayload = CoordinatorDecodedWireValue<CoordinatorWireDelegateShare>;\n\nexport type DelegateShareResponsePayload =\n CoordinatorDecodedWireValue<CoordinatorWireDelegateShareResponse>;\n\nexport type DelegateAckPayload = CoordinatorDecodedWireValue<CoordinatorWireDelegateAck>;\n\nexport type DepositConfirmedPayload = CoordinatorDecodedWireValue<CoordinatorWireDepositConfirmed>;\n\nexport type PlannedFragment = CoordinatorDecodedWireValue<CoordinatorWirePlannedFragment>;\n\nexport type ExecutedFragment = CoordinatorDecodedWireValue<CoordinatorWireExecutedFragment>;\nexport type PayoutExecutedPayload = CoordinatorDecodedWireValue<CoordinatorWireExecutedFragment>;\n\nexport type PayoutSchedule = CoordinatorDecodedWireValue<CoordinatorWirePayoutSchedule>;\n\nexport type SyncUserResponsePayload = CoordinatorDecodedWireValue<CoordinatorWireSyncUserResponse>;\n\nexport type SyncRequiredPayload = CoordinatorDecodedWireValue<CoordinatorWireSyncRequired>;\n\nexport type WithdrawRequestPayload =\n CoordinatorDecodedWireValue<CoordinatorWireWithdrawRequestRequest>;\n\nexport type WithdrawExecutedPayload = CoordinatorDecodedWireValue<CoordinatorWireWithdrawExecuted>;\n\nexport type WithdrawAcceptedPayload = CoordinatorDecodedWireValue<CoordinatorWireWithdrawAccepted>;\n\nexport type ErrorPayload = CoordinatorDecodedWireValue<CoordinatorWireErrorPayload>;\n\nexport type LpSignedCommandPayload = CoordinatorDecodedWireValue<CoordinatorWireLpSignedCommand>;\n\nexport type LpCommandPayload = CoordinatorDecodedWireValue<CoordinatorWireLpCommand>;\n\nexport type LpCommandBody = CoordinatorDecodedWireValue<CoordinatorWireLpCommandBody>;\n\nexport type LpPositionOpenPayload = CoordinatorDecodedWireValue<CoordinatorWireLpPositionOpen>;\n\nexport type LpDkgInitPayload = CoordinatorDecodedWireValue<CoordinatorWireLpDkgInit>;\n\nexport type LpDkgRound1Payload = CoordinatorDecodedWireValue<CoordinatorWireLpDkgRound1>;\n\nexport type LpDkgRound2Payload = CoordinatorDecodedWireValue<CoordinatorWireLpDkgRound2>;\n\nexport type LpDkgAbortPayload = CoordinatorDecodedWireValue<CoordinatorWireLpDkgAbort>;\n\nexport type LpDkgFinalizePayload = CoordinatorDecodedWireValue<CoordinatorWireLpDkgFinalize>;\n\nexport type LpRefillPayload = CoordinatorDecodedWireValue<CoordinatorWireLpRefill>;\n\nexport type LpFundingPlanPayload = CoordinatorDecodedWireValue<CoordinatorWireLpFundingPlan>;\n\nexport type LpFundingConfirmationPayload =\n CoordinatorDecodedWireValue<CoordinatorWireLpFundingConfirmation>;\n\nexport type LpMakeAvailablePayload = CoordinatorDecodedWireValue<CoordinatorWireLpMakeAvailable>;\n\nexport type LpWithdrawalRequestPayload =\n CoordinatorDecodedWireValue<CoordinatorWireLpWithdrawalRequest>;\n\nexport type LpCommandResponsePayload =\n CoordinatorDecodedWireValue<CoordinatorWireLpCommandResponse>;\n\nexport type LpPositionViewPayload = CoordinatorDecodedWireValue<CoordinatorWireLpPositionView>;\n\nexport type LpShardViewPayload = CoordinatorDecodedWireValue<CoordinatorWireLpShardView>;\n\nexport type LpWithdrawalExecutionViewPayload =\n CoordinatorDecodedWireValue<CoordinatorWireLpWithdrawalExecutionView>;\n\nexport type LpDkgInitResponsePayload =\n CoordinatorDecodedWireValue<CoordinatorWireLpDkgInitResponse>;\n\nexport type LpDkgRound1ResponsePayload =\n CoordinatorDecodedWireValue<CoordinatorWireLpDkgRound1Response>;\n\nexport type LpDkgRound2ResponsePayload =\n CoordinatorDecodedWireValue<CoordinatorWireLpDkgRound2Response>;\n\nexport type LpDkgAbortResponsePayload =\n CoordinatorDecodedWireValue<CoordinatorWireLpDkgAbortResponse>;\n\nexport type LpCommandAction = LpCommandPayload[\"action\"];\nexport type SwapState = SyncUserResponsePayload[\"state\"];\nexport type ErrorPayloadByType = { readonly Error: ErrorPayload };\n\nexport type CoordinatorWireContractRequestRequestEnvelope = {\n readonly version: 2;\n readonly kind: \"request\";\n readonly type: \"ContractRequest\";\n readonly swap_id: string | null;\n readonly req_id: CoordinatorWireU32;\n readonly timestamp_ms: CoordinatorWireSafeUInt;\n readonly payload: CoordinatorWireContractRequestRequest;\n};\n\nexport type CoordinatorWireContractRequestResponseEnvelope = {\n readonly version: 2;\n readonly kind: \"response\";\n readonly type: \"ContractRequest\";\n readonly swap_id: string | null;\n readonly req_id: CoordinatorWireU32;\n readonly timestamp_ms: CoordinatorWireSafeUInt;\n readonly payload: CoordinatorWireContractRequestResponse;\n};\n\nexport type CoordinatorWireDkgInitRequestEnvelope = {\n readonly version: 2;\n readonly kind: \"request\";\n readonly type: \"DkgInit\";\n readonly swap_id: string | null;\n readonly req_id: CoordinatorWireU32;\n readonly timestamp_ms: CoordinatorWireSafeUInt;\n readonly payload: CoordinatorWireDkgInitRequest;\n};\n\nexport type CoordinatorWireDkgInitResponseEnvelope = {\n readonly version: 2;\n readonly kind: \"response\";\n readonly type: \"DkgInit\";\n readonly swap_id: string | null;\n readonly req_id: CoordinatorWireU32;\n readonly timestamp_ms: CoordinatorWireSafeUInt;\n readonly payload: CoordinatorWireDkgInitResponse;\n};\n\nexport type CoordinatorWireDkgRound1RequestEnvelope = {\n readonly version: 2;\n readonly kind: \"request\";\n readonly type: \"DkgRound1\";\n readonly swap_id: string | null;\n readonly req_id: CoordinatorWireU32;\n readonly timestamp_ms: CoordinatorWireSafeUInt;\n readonly payload: CoordinatorWireDkgRoundRequestPackage;\n};\n\nexport type CoordinatorWireDkgRound1ResponseEnvelope = {\n readonly version: 2;\n readonly kind: \"response\";\n readonly type: \"DkgRound1\";\n readonly swap_id: string | null;\n readonly req_id: CoordinatorWireU32;\n readonly timestamp_ms: CoordinatorWireSafeUInt;\n readonly payload: CoordinatorWireDkgRound1Response;\n};\n\nexport type CoordinatorWireDkgRound2RequestEnvelope = {\n readonly version: 2;\n readonly kind: \"request\";\n readonly type: \"DkgRound2\";\n readonly swap_id: string | null;\n readonly req_id: CoordinatorWireU32;\n readonly timestamp_ms: CoordinatorWireSafeUInt;\n readonly payload: CoordinatorWireDkgRoundRequestPackage;\n};\n\nexport type CoordinatorWireDkgRound2ResponseEnvelope = {\n readonly version: 2;\n readonly kind: \"response\";\n readonly type: \"DkgRound2\";\n readonly swap_id: string | null;\n readonly req_id: CoordinatorWireU32;\n readonly timestamp_ms: CoordinatorWireSafeUInt;\n readonly payload: CoordinatorWireDkgRoundPackage;\n};\n\nexport type CoordinatorWireDkgCompletePushEnvelope = {\n readonly version: 2;\n readonly kind: \"push\";\n readonly type: \"DkgComplete\";\n readonly swap_id: string | null;\n readonly req_id: CoordinatorWireU32;\n readonly timestamp_ms: CoordinatorWireSafeUInt;\n readonly payload: CoordinatorWireDkgComplete;\n};\n\nexport type CoordinatorWireDelegateShareRequestEnvelope = {\n readonly version: 2;\n readonly kind: \"request\";\n readonly type: \"DelegateShare\";\n readonly swap_id: string | null;\n readonly req_id: CoordinatorWireU32;\n readonly timestamp_ms: CoordinatorWireSafeUInt;\n readonly payload: CoordinatorWireDelegateShare;\n};\n\nexport type CoordinatorWireDelegateShareResponseEnvelope = {\n readonly version: 2;\n readonly kind: \"response\";\n readonly type: \"DelegateShare\";\n readonly swap_id: string | null;\n readonly req_id: CoordinatorWireU32;\n readonly timestamp_ms: CoordinatorWireSafeUInt;\n readonly payload: CoordinatorWireDelegateShareResponse;\n};\n\nexport type CoordinatorWireDelegateAckPushEnvelope = {\n readonly version: 2;\n readonly kind: \"push\";\n readonly type: \"DelegateAck\";\n readonly swap_id: string | null;\n readonly req_id: CoordinatorWireU32;\n readonly timestamp_ms: CoordinatorWireSafeUInt;\n readonly payload: CoordinatorWireDelegateAck;\n};\n\nexport type CoordinatorWireDepositConfirmedPushEnvelope = {\n readonly version: 2;\n readonly kind: \"push\";\n readonly type: \"DepositConfirmed\";\n readonly swap_id: string | null;\n readonly req_id: CoordinatorWireU32;\n readonly timestamp_ms: CoordinatorWireSafeUInt;\n readonly payload: CoordinatorWireDepositConfirmed;\n};\n\nexport type CoordinatorWireSyncRequestEnvelope = {\n readonly version: 2;\n readonly kind: \"request\";\n readonly type: \"Sync\";\n readonly swap_id: string | null;\n readonly req_id: CoordinatorWireU32;\n readonly timestamp_ms: CoordinatorWireSafeUInt;\n readonly payload: CoordinatorWireSyncRequest;\n};\n\nexport type CoordinatorWireSyncResponseEnvelope = {\n readonly version: 2;\n readonly kind: \"response\";\n readonly type: \"Sync\";\n readonly swap_id: string | null;\n readonly req_id: CoordinatorWireU32;\n readonly timestamp_ms: CoordinatorWireSafeUInt;\n readonly payload: CoordinatorWireSyncResponse;\n};\n\nexport type CoordinatorWireSyncRequiredPushEnvelope = {\n readonly version: 2;\n readonly kind: \"push\";\n readonly type: \"SyncRequired\";\n readonly swap_id: string | null;\n readonly req_id: CoordinatorWireU32;\n readonly timestamp_ms: CoordinatorWireSafeUInt;\n readonly payload: CoordinatorWireSyncRequired;\n};\n\nexport type CoordinatorWireRefillRequestEnvelope = {\n readonly version: 2;\n readonly kind: \"request\";\n readonly type: \"Refill\";\n readonly swap_id: null;\n readonly req_id: CoordinatorWireU32;\n readonly timestamp_ms: CoordinatorWireSafeUInt;\n readonly payload: CoordinatorWireRefillRequest;\n};\n\nexport type CoordinatorWireRefillResponseEnvelope = {\n readonly version: 2;\n readonly kind: \"response\";\n readonly type: \"Refill\";\n readonly swap_id: null;\n readonly req_id: CoordinatorWireU32;\n readonly timestamp_ms: CoordinatorWireSafeUInt;\n readonly payload: CoordinatorWireLpPositionResponse;\n};\n\nexport type CoordinatorWirePayoutExecutedPushEnvelope = {\n readonly version: 2;\n readonly kind: \"push\";\n readonly type: \"PayoutExecuted\";\n readonly swap_id: string | null;\n readonly req_id: CoordinatorWireU32;\n readonly timestamp_ms: CoordinatorWireSafeUInt;\n readonly payload: CoordinatorWireExecutedFragment;\n};\n\nexport type CoordinatorWireWithdrawRequestRequestEnvelope = {\n readonly version: 2;\n readonly kind: \"request\";\n readonly type: \"WithdrawRequest\";\n readonly swap_id: string | null;\n readonly req_id: CoordinatorWireU32;\n readonly timestamp_ms: CoordinatorWireSafeUInt;\n readonly payload: CoordinatorWireWithdrawRequestRequest;\n};\n\nexport type CoordinatorWireWithdrawRequestResponseEnvelope = {\n readonly version: 2;\n readonly kind: \"response\";\n readonly type: \"WithdrawRequest\";\n readonly swap_id: null;\n readonly req_id: CoordinatorWireU32;\n readonly timestamp_ms: CoordinatorWireSafeUInt;\n readonly payload: CoordinatorWireLpWithdrawalExecutionResponse;\n};\n\nexport type CoordinatorWireWithdrawExecutedResponseEnvelope = {\n readonly version: 2;\n readonly kind: \"response\";\n readonly type: \"WithdrawExecuted\";\n readonly swap_id: string | null;\n readonly req_id: CoordinatorWireU32;\n readonly timestamp_ms: CoordinatorWireSafeUInt;\n readonly payload: CoordinatorWireWithdrawExecuted;\n};\n\nexport type CoordinatorWireWithdrawExecutedPushEnvelope = {\n readonly version: 2;\n readonly kind: \"push\";\n readonly type: \"WithdrawExecuted\";\n readonly swap_id: string | null;\n readonly req_id: CoordinatorWireU32;\n readonly timestamp_ms: CoordinatorWireSafeUInt;\n readonly payload: CoordinatorWireWithdrawExecuted;\n};\n\nexport type CoordinatorWireWithdrawAcceptedResponseEnvelope = {\n readonly version: 2;\n readonly kind: \"response\";\n readonly type: \"WithdrawAccepted\";\n readonly swap_id: string | null;\n readonly req_id: CoordinatorWireU32;\n readonly timestamp_ms: CoordinatorWireSafeUInt;\n readonly payload: CoordinatorWireWithdrawAccepted;\n};\n\nexport type CoordinatorWireLpCommandRequestEnvelope = {\n readonly version: 2;\n readonly kind: \"request\";\n readonly type: \"LpCommand\";\n readonly swap_id: null;\n readonly req_id: CoordinatorWireU32;\n readonly timestamp_ms: CoordinatorWireSafeUInt;\n readonly payload: CoordinatorWireLpSignedCommand;\n};\n\nexport type CoordinatorWireLpCommandResponseEnvelope = {\n readonly version: 2;\n readonly kind: \"response\";\n readonly type: \"LpCommand\";\n readonly swap_id: null;\n readonly req_id: CoordinatorWireU32;\n readonly timestamp_ms: CoordinatorWireSafeUInt;\n readonly payload: CoordinatorWireLpCommandLifecycleResponse;\n};\n\nexport type CoordinatorWireErrorErrorEnvelope = {\n readonly version: 2;\n readonly kind: \"error\";\n readonly type: \"Error\";\n readonly swap_id: string | null;\n readonly req_id: CoordinatorWireU32;\n readonly timestamp_ms: CoordinatorWireSafeUInt;\n readonly payload: CoordinatorWireErrorPayload;\n};\n\nexport type CoordinatorWireEnvelope =\n | CoordinatorWireContractRequestRequestEnvelope\n | CoordinatorWireContractRequestResponseEnvelope\n | CoordinatorWireDkgInitRequestEnvelope\n | CoordinatorWireDkgInitResponseEnvelope\n | CoordinatorWireDkgRound1RequestEnvelope\n | CoordinatorWireDkgRound1ResponseEnvelope\n | CoordinatorWireDkgRound2RequestEnvelope\n | CoordinatorWireDkgRound2ResponseEnvelope\n | CoordinatorWireDkgCompletePushEnvelope\n | CoordinatorWireDelegateShareRequestEnvelope\n | CoordinatorWireDelegateShareResponseEnvelope\n | CoordinatorWireDelegateAckPushEnvelope\n | CoordinatorWireDepositConfirmedPushEnvelope\n | CoordinatorWireSyncRequestEnvelope\n | CoordinatorWireSyncResponseEnvelope\n | CoordinatorWireSyncRequiredPushEnvelope\n | CoordinatorWireRefillRequestEnvelope\n | CoordinatorWireRefillResponseEnvelope\n | CoordinatorWirePayoutExecutedPushEnvelope\n | CoordinatorWireWithdrawRequestRequestEnvelope\n | CoordinatorWireWithdrawRequestResponseEnvelope\n | CoordinatorWireWithdrawExecutedResponseEnvelope\n | CoordinatorWireWithdrawExecutedPushEnvelope\n | CoordinatorWireWithdrawAcceptedResponseEnvelope\n | CoordinatorWireLpCommandRequestEnvelope\n | CoordinatorWireLpCommandResponseEnvelope\n | CoordinatorWireErrorErrorEnvelope;\n\nexport type CoordinatorWireRequestEnvelope = Extract<\n CoordinatorWireEnvelope,\n { readonly kind: \"request\" }\n>;\nexport type CoordinatorWireResponseEnvelope = Extract<\n CoordinatorWireEnvelope,\n { readonly kind: \"response\" }\n>;\nexport type CoordinatorWirePushEnvelope = Extract<\n CoordinatorWireEnvelope,\n { readonly kind: \"push\" }\n>;\nexport type CoordinatorWireErrorEnvelope = Extract<\n CoordinatorWireEnvelope,\n { readonly kind: \"error\" }\n>;\n\nexport const COORDINATOR_SCHEMA_PAYLOAD_CATEGORIES = {\n \"request:ContractRequest\": \"request\",\n \"response:ContractRequest\": \"response\",\n \"request:DkgInit\": \"request\",\n \"response:DkgInit\": \"response\",\n \"request:DkgRound1\": \"request\",\n \"response:DkgRound1\": \"response\",\n \"request:DkgRound2\": \"request\",\n \"response:DkgRound2\": \"response\",\n \"push:DkgComplete\": \"push\",\n \"request:DelegateShare\": \"request\",\n \"response:DelegateShare\": \"response\",\n \"push:DelegateAck\": \"push\",\n \"push:DepositConfirmed\": \"push\",\n \"request:Sync\": \"request\",\n \"response:Sync\": \"response\",\n \"push:SyncRequired\": \"push\",\n \"request:Refill\": \"request\",\n \"response:Refill\": \"response\",\n \"push:PayoutExecuted\": \"push\",\n \"request:WithdrawRequest\": \"request\",\n \"response:WithdrawRequest\": \"response\",\n \"response:WithdrawExecuted\": \"response\",\n \"push:WithdrawExecuted\": \"push\",\n \"response:WithdrawAccepted\": \"response\",\n \"request:LpCommand\": \"request\",\n \"response:LpCommand\": \"response\",\n \"error:Error\": \"error\",\n} as const;\n\nexport type CoordinatorSchemaPayloadCategory =\n (typeof COORDINATOR_SCHEMA_PAYLOAD_CATEGORIES)[keyof typeof COORDINATOR_SCHEMA_PAYLOAD_CATEGORIES];\n\nexport type RequestPayloads = {\n readonly ContractRequest: CoordinatorDecodedWireValue<CoordinatorWireContractRequestRequest>;\n readonly DkgInit: CoordinatorDecodedWireValue<CoordinatorWireDkgInitRequest>;\n readonly DkgRound1: CoordinatorDecodedWireValue<CoordinatorWireDkgRoundRequestPackage>;\n readonly DkgRound2: CoordinatorDecodedWireValue<CoordinatorWireDkgRoundRequestPackage>;\n readonly DelegateShare: CoordinatorDecodedWireValue<CoordinatorWireDelegateShare>;\n readonly Sync: CoordinatorDecodedWireValue<CoordinatorWireSyncRequest>;\n readonly Refill: CoordinatorDecodedWireValue<CoordinatorWireRefillRequest>;\n readonly WithdrawRequest: CoordinatorDecodedWireValue<CoordinatorWireWithdrawRequestRequest>;\n readonly LpCommand: CoordinatorDecodedWireValue<CoordinatorWireLpSignedCommand>;\n};\n\nexport type ResponsePayloads = {\n readonly ContractRequest: CoordinatorDecodedWireValue<CoordinatorWireContractRequestResponse>;\n readonly DkgInit: CoordinatorDecodedWireValue<CoordinatorWireDkgInitResponse>;\n readonly DkgRound1: CoordinatorDecodedWireValue<CoordinatorWireDkgRound1Response>;\n readonly DkgRound2: CoordinatorDecodedWireValue<CoordinatorWireDkgRoundPackage>;\n readonly DelegateShare: CoordinatorDecodedWireValue<CoordinatorWireDelegateShareResponse>;\n readonly Sync: CoordinatorDecodedWireValue<CoordinatorWireSyncResponse>;\n readonly Refill: CoordinatorDecodedWireValue<CoordinatorWireLpPositionResponse>;\n readonly WithdrawRequest: CoordinatorDecodedWireValue<CoordinatorWireLpWithdrawalExecutionResponse>;\n readonly WithdrawExecuted: CoordinatorDecodedWireValue<CoordinatorWireWithdrawExecuted>;\n readonly WithdrawAccepted: CoordinatorDecodedWireValue<CoordinatorWireWithdrawAccepted>;\n readonly LpCommand: CoordinatorDecodedWireValue<CoordinatorWireLpCommandLifecycleResponse>;\n};\n\nexport type PushPayloads = {\n readonly DkgComplete: CoordinatorDecodedWireValue<CoordinatorWireDkgComplete>;\n readonly DelegateAck: CoordinatorDecodedWireValue<CoordinatorWireDelegateAck>;\n readonly DepositConfirmed: CoordinatorDecodedWireValue<CoordinatorWireDepositConfirmed>;\n readonly SyncRequired: CoordinatorDecodedWireValue<CoordinatorWireSyncRequired>;\n readonly PayoutExecuted: CoordinatorDecodedWireValue<CoordinatorWireExecutedFragment>;\n readonly WithdrawExecuted: CoordinatorDecodedWireValue<CoordinatorWireWithdrawExecuted>;\n};\n\nexport type RequestType = keyof RequestPayloads;\nexport type ResponseType = keyof ResponsePayloads;\nexport type PushType = keyof PushPayloads;\n","/**\n * Coordinator wire protocol - schema-derived payload type facade.\n *\n * The exported payload types in this file are generated from\n * `coordinator-envelope.schema.json` through `schema.generated.ts`.\n * Runtime validation still happens in `envelope.ts` with Ajv.\n */\n\nimport type { CoordinatorMessageType, EnvelopeKind } from \"./messages.js\";\nimport {\n COORDINATOR_SCHEMA_PAYLOAD_CATEGORIES,\n type CoordinatorSchemaPayloadCategory,\n type SwapState,\n} from \"./schema.generated.js\";\n\nexport type {\n DelegateAckPayload,\n DelegateSharePayload,\n DelegateShareResponsePayload,\n DepositConfirmedPayload,\n DkgCompletePayload,\n DkgInitPayload,\n DkgInitResponsePayload,\n DkgRound1Payload,\n DkgRound1ResponsePayload,\n DkgRound2Payload,\n DkgRound2ResponsePayload,\n ErrorPayload,\n ErrorPayloadByType,\n ExecutedFragment,\n InstantPayoutSpec,\n CoordinatorWireNormalUserRefundability,\n CoordinatorWireNormalUserRefundStatus,\n CoordinatorWireNormalUserSettlementPhase,\n CoordinatorWireSourceLiquidityUse,\n LpCommandAction,\n LpCommandBody,\n LpCommandPayload,\n LpCommandResponsePayload,\n LpDkgFinalizePayload,\n LpDkgAbortPayload,\n LpDkgAbortResponsePayload,\n LpDkgInitPayload,\n LpDkgInitResponsePayload,\n LpDkgRound1Payload,\n LpDkgRound1ResponsePayload,\n LpDkgRound2Payload,\n LpDkgRound2ResponsePayload,\n LpFundingConfirmationPayload,\n LpFundingPlanPayload,\n LpMakeAvailablePayload,\n LpPositionOpenPayload,\n LpPositionViewPayload,\n LpWithdrawalExecutionViewPayload,\n LpWithdrawalRequestPayload,\n LpRefillPayload,\n LpShardViewPayload,\n LpSignedCommandPayload,\n PayoutExecutedPayload,\n PayoutSchedule,\n PayoutSpec,\n PlannedFragment,\n PushPayloads,\n PushType,\n WithdrawAcceptedPayload,\n WithdrawExecutedPayload,\n WithdrawRequestPayload,\n RequestPayloads,\n RequestType,\n ResponsePayloads,\n ResponseType,\n ScheduledPayoutSpec,\n SpendingPolicyDestination,\n SpendingPolicySnapshot,\n SwapRequestPayload,\n SwapRequestResponsePayload,\n SyncRequiredPayload,\n SyncUserRequestPayload,\n SyncUserResponsePayload,\n SwapState,\n} from \"./schema.generated.js\";\n\n/** Runtime set of valid SwapState values for local state helpers. */\nexport const VALID_SWAP_STATES: ReadonlySet<SwapState> = new Set<SwapState>([\n \"new\",\n \"awaiting_dkg\",\n \"awaiting_deposit\",\n \"awaiting_delegation\",\n \"ready_for_settlement\",\n \"settling\",\n \"completed\",\n \"refunded\",\n \"failed\",\n]);\n\nexport function isValidSwapState(value: unknown): value is SwapState {\n return typeof value === \"string\" && VALID_SWAP_STATES.has(value as SwapState);\n}\n\n/**\n * Returns the payload category for a (kind, type) pair, or null if the\n * pair is not present in the checked-in JSON Schema.\n */\nexport function payloadCategory(\n kind: EnvelopeKind,\n type: CoordinatorMessageType,\n): CoordinatorSchemaPayloadCategory | null {\n const key = `${kind}:${type}` as keyof typeof COORDINATOR_SCHEMA_PAYLOAD_CATEGORIES;\n return COORDINATOR_SCHEMA_PAYLOAD_CATEGORIES[key] ?? null;\n}\n","[\n {\n \"id\": \"instant\",\n \"label\": \"Instant\",\n \"mode\": \"instant\",\n \"window_seconds\": null\n },\n {\n \"id\": \"1h\",\n \"label\": \"1h\",\n \"mode\": \"scheduled\",\n \"window_seconds\": 3600\n },\n {\n \"id\": \"24h\",\n \"label\": \"24h\",\n \"mode\": \"scheduled\",\n \"window_seconds\": 86400\n },\n {\n \"id\": \"7d\",\n \"label\": \"7 days\",\n \"mode\": \"scheduled\",\n \"window_seconds\": 604800\n }\n]\n","import payoutWindowOptionsJson from \"./payout-windows.json\";\n\nexport type PayoutWindowMode = \"instant\" | \"scheduled\";\n\nexport type PayoutWindowOption = Readonly<{\n id: string;\n label: string;\n mode: PayoutWindowMode;\n window_seconds: number | null;\n}>;\n\nexport type ScheduledPayoutWindowOption = PayoutWindowOption & {\n mode: \"scheduled\";\n window_seconds: number;\n};\n\nexport type PayoutWindowId = PayoutWindowOption[\"id\"];\n\nexport const DEFAULT_PAYOUT_WINDOW_ID = \"instant\";\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return value !== null && typeof value === \"object\" && !Array.isArray(value);\n}\n\nfunction validatePayoutWindowOptions(value: unknown): readonly PayoutWindowOption[] {\n if (!Array.isArray(value) || value.length === 0) {\n throw new Error(\"payout window manifest must be a non-empty array\");\n }\n\n const ids = new Set<string>();\n const scheduledWindowSeconds = new Set<number>();\n\n return value.map((item, index) => {\n if (!isRecord(item)) {\n throw new Error(`payout window manifest entry ${index} must be an object`);\n }\n\n const { id, label, mode, window_seconds: windowSeconds } = item;\n if (typeof id !== \"string\" || id.trim() === \"\") {\n throw new Error(`payout window manifest entry ${index} has invalid id`);\n }\n if (ids.has(id)) {\n throw new Error(`payout window manifest has duplicate id ${id}`);\n }\n ids.add(id);\n\n if (typeof label !== \"string\" || label.trim() === \"\") {\n throw new Error(`payout window manifest entry ${id} has invalid label`);\n }\n\n if (mode === \"instant\") {\n if (windowSeconds !== null) {\n throw new Error(`instant payout window ${id} must not define window_seconds`);\n }\n return { id, label, mode, window_seconds: null };\n }\n\n if (mode === \"scheduled\") {\n if (\n typeof windowSeconds !== \"number\" ||\n !Number.isInteger(windowSeconds) ||\n windowSeconds <= 0\n ) {\n throw new Error(`scheduled payout window ${id} has invalid window_seconds`);\n }\n if (scheduledWindowSeconds.has(windowSeconds)) {\n throw new Error(`duplicate scheduled payout window ${windowSeconds}s`);\n }\n scheduledWindowSeconds.add(windowSeconds);\n return { id, label, mode, window_seconds: windowSeconds };\n }\n\n throw new Error(`payout window manifest entry ${id} has unsupported mode`);\n });\n}\n\nexport const PAYOUT_WINDOW_OPTIONS = validatePayoutWindowOptions(payoutWindowOptionsJson);\n\nexport function payoutWindowOptionById(id: string): PayoutWindowOption | undefined {\n return PAYOUT_WINDOW_OPTIONS.find((option) => option.id === id);\n}\n\nexport function isPayoutWindowId(id: string): id is PayoutWindowId {\n return payoutWindowOptionById(id) !== undefined;\n}\n\nexport function payoutWindowLabelForId(id: string): string {\n return payoutWindowOptionById(id)?.label ?? id;\n}\n\nexport function scheduledPayoutWindowOptions(): readonly ScheduledPayoutWindowOption[] {\n return PAYOUT_WINDOW_OPTIONS.filter(\n (option): option is ScheduledPayoutWindowOption =>\n option.mode === \"scheduled\" && option.window_seconds !== null,\n );\n}\n\nexport function scheduledPayoutWindowSeconds(): readonly number[] {\n return scheduledPayoutWindowOptions().map((option) => option.window_seconds);\n}\n","/**\n * Coordinator protocol - client-side swap state machine.\n *\n * Asymmetric (client view of an Alice ↔ TEE swap). The coordinator has\n * its own internal state model that may be richer; this file is the\n * minimum needed for the client to reject messages arriving in the\n * wrong order.\n *\n * @INFO(intentional simplicity): the state machine is linear and only\n * tracks the *protocol phase*. It does not encode payout-mode specifics\n * (instant vs scheduled), nor multi-timeline support. Those concerns\n * live in the payload types (`PayoutSpec`, `PayoutSchedule`). When the\n * post-MVP modes land, the same state graph will still apply.\n *\n * @INFO(no abort state): unlike the P2P SwapSession, there is no\n * dedicated `aborted` state. Hard failures move to `failed` and the\n * tunnel is closed by the layer above (JW-112). The client can open\n * a new session and resume via `SwapStatus` if the swap is recoverable.\n */\n\nimport type { CoordinatorMessageType, EnvelopeKind } from \"./messages.js\";\nimport type { SwapState as WireSwapState } from \"./payloads.js\";\n\n// Re-export for convenience. WireSwapState is the server-reported state;\n// ClientSwapState adds local-only states used to reject out-of-order pushes.\nexport type { SwapState as WireSwapState } from \"./payloads.js\";\nexport type ClientSwapState =\n | WireSwapState\n | \"awaiting_delegate_ack\"\n | \"awaiting_delegate_ack_after_deposit\";\nexport type SwapState = ClientSwapState;\n\n/**\n * Initial state when a CoordinatorSession is created.\n *\n * A fresh session has *no* `swap_id` yet - the coordinator assigns one\n * in the response to `SwapRequest`. Until then, `SwapRequest` is the\n * only message the client may send.\n */\nexport const INITIAL_STATE: ClientSwapState = \"new\";\n\n/** Terminal states - no further transitions are allowed. */\nexport const TERMINAL_STATES: ReadonlySet<ClientSwapState> = new Set<ClientSwapState>([\n \"completed\",\n \"refunded\",\n \"failed\",\n]);\n\n/**\n * Transition table: [currentState, kind, type] → nextState.\n *\n * The \"trigger\" of a transition is the (kind, type) pair, not just the\n * type. For example, the response to `SwapRequest` advances the state,\n * but the request itself does not (the client may not assume success\n * until the response arrives).\n *\n * Pushes from the coordinator can also trigger transitions\n * (e.g. `DkgComplete`, `DepositConfirmed`).\n *\n * Errors and `Error` envelopes never appear in this table - they are\n * handled separately by the session and may transition to `failed` or\n * be propagated to the caller without changing state, depending on\n * severity.\n */\ntype Trigger = readonly [ClientSwapState, EnvelopeKind, CoordinatorMessageType, ClientSwapState];\n\nconst TRANSITIONS: ReadonlyArray<Trigger> = [\n // --- new ---\n // No swap_id yet. ContractRequest response assigns the swap_id and opens\n // the DKG phase.\n [\"new\", \"response\", \"ContractRequest\", \"awaiting_dkg\"],\n\n // --- awaiting_dkg ---\n // DKG rounds happen over several request/response exchanges. None of\n // them move the phase forward by themselves; only the DkgComplete push\n // transitions to awaiting_deposit.\n [\"awaiting_dkg\", \"response\", \"DkgInit\", \"awaiting_dkg\"],\n [\"awaiting_dkg\", \"response\", \"DkgRound1\", \"awaiting_dkg\"],\n [\"awaiting_dkg\", \"response\", \"DkgRound2\", \"awaiting_dkg\"],\n [\"awaiting_dkg\", \"push\", \"DkgComplete\", \"awaiting_deposit\"],\n\n // --- awaiting_deposit ---\n // DKG is done; the client delegates recovery/signing material before showing\n // the fundable address. DelegateShare response only acknowledges request\n // receipt. The client must observe DelegateAck before accepting a deposit\n // confirmation as the next protocol step.\n [\"awaiting_deposit\", \"response\", \"DelegateShare\", \"awaiting_delegate_ack\"],\n [\"awaiting_delegate_ack\", \"push\", \"DelegateAck\", \"awaiting_deposit\"],\n [\"awaiting_deposit\", \"push\", \"DepositConfirmed\", \"ready_for_settlement\"],\n\n // --- delegation ---\n // Older or restored sessions can still report awaiting_delegation when a\n // deposit was observed before delegation. DelegateShare response is only\n // request receipt; DelegateAck is the policy-bound acknowledgement.\n [\"awaiting_delegation\", \"response\", \"DelegateShare\", \"awaiting_delegate_ack_after_deposit\"],\n [\"awaiting_delegate_ack_after_deposit\", \"push\", \"DelegateAck\", \"ready_for_settlement\"],\n [\"awaiting_delegation\", \"push\", \"DelegateAck\", \"ready_for_settlement\"],\n\n // --- ready_for_settlement ---\n // Coordinator can start executing fragments at any time. Each\n // executed fragment is pushed; we move to `settling` on the first one.\n // Completion is triggered by a PayoutExecuted push with `final: true`\n // (handled as a special case in nextState, not in this table).\n [\"ready_for_settlement\", \"push\", \"PayoutExecuted\", \"settling\"],\n\n // --- settling ---\n // More fragments may arrive. `settling` stays `settling` until the\n // coordinator pushes a PayoutExecuted with `final: true` (see nextState).\n [\"settling\", \"push\", \"PayoutExecuted\", \"settling\"],\n\n // --- Withdrawal path (can be triggered from several states) ---\n // WithdrawExecuted as a response to WithdrawRequest replay, OR as an\n // unsolicited push (auto_deadline). Either way, terminal state is `refunded`.\n [\"awaiting_deposit\", \"response\", \"WithdrawExecuted\", \"refunded\"],\n [\"awaiting_delegate_ack\", \"response\", \"WithdrawExecuted\", \"refunded\"],\n [\"awaiting_delegation\", \"response\", \"WithdrawExecuted\", \"refunded\"],\n [\"awaiting_delegate_ack_after_deposit\", \"response\", \"WithdrawExecuted\", \"refunded\"],\n [\"ready_for_settlement\", \"response\", \"WithdrawExecuted\", \"refunded\"],\n [\"settling\", \"response\", \"WithdrawExecuted\", \"refunded\"],\n [\"awaiting_deposit\", \"push\", \"WithdrawExecuted\", \"refunded\"],\n [\"awaiting_delegate_ack\", \"push\", \"WithdrawExecuted\", \"refunded\"],\n [\"awaiting_delegation\", \"push\", \"WithdrawExecuted\", \"refunded\"],\n [\"awaiting_delegate_ack_after_deposit\", \"push\", \"WithdrawExecuted\", \"refunded\"],\n [\"ready_for_settlement\", \"push\", \"WithdrawExecuted\", \"refunded\"],\n [\"settling\", \"push\", \"WithdrawExecuted\", \"refunded\"],\n];\n\n/** O(1) lookup map. Built once at module load. */\nconst transitionMap = new Map<string, ClientSwapState>();\nfor (const [from, kind, type, to] of TRANSITIONS) {\n transitionMap.set(triggerKey(from, kind, type), to);\n}\n\nfunction triggerKey(\n state: ClientSwapState,\n kind: EnvelopeKind,\n type: CoordinatorMessageType,\n): string {\n return `${state}|${kind}|${type}`;\n}\n\n/**\n * Payload-level hints the state machine needs in order to make\n * transitions that cannot be decided from `(kind, type)` alone.\n *\n * Kept deliberately minimal - we do not want the FSM to introspect\n * whole payloads. Each field here is a single discriminant the\n * caller (the session) extracts after its own payload validation.\n */\nexport type TransitionHint = {\n /** PayoutExecuted: true iff this fragment was the last one of the swap. */\n readonly payoutFinal?: boolean;\n};\n\n/**\n * Compute the next state for an inbound (kind, type) message arriving\n * in `current`. Returns null if the message is not a valid trigger\n * from this state.\n *\n * Special cases (NOT in the transition table - handled inline):\n * - `PayoutExecuted` push with `hint.payoutFinal === true` transitions\n * to `completed` from `ready_for_settlement` or `settling`. The\n * caller (session) must pass the hint after validating the payload.\n * - `SwapStatus` (request and response) is allowed in any non-terminal\n * state *except `new`* and never changes the state.\n * - `Error` envelopes do not transition the state here; the session\n * decides whether to move to `failed` based on severity.\n */\nexport function nextState(\n current: ClientSwapState,\n kind: EnvelopeKind,\n type: CoordinatorMessageType,\n hint?: TransitionHint,\n): ClientSwapState | null {\n if (TERMINAL_STATES.has(current)) return null;\n\n // Payload-driven completion: last fragment lands → swap is complete.\n if (\n kind === \"push\" &&\n type === \"PayoutExecuted\" &&\n hint?.payoutFinal === true &&\n (current === \"ready_for_settlement\" || current === \"settling\")\n ) {\n return \"completed\";\n }\n\n return transitionMap.get(triggerKey(current, kind, type)) ?? null;\n}\n\n/**\n * Returns true if a (kind, type) message is allowed in `current`,\n * including the \"no-op\" cases (SwapStatus, requests the client may\n * legitimately send without immediately advancing the state).\n *\n * Useful for the session's pre-send validation: \"can I send this\n * request right now?\".\n */\nexport function isAllowedInState(\n current: ClientSwapState,\n kind: EnvelopeKind,\n type: CoordinatorMessageType,\n): boolean {\n if (TERMINAL_STATES.has(current)) {\n // Only Sync (swap status) queries make sense after termination.\n return type === \"Sync\" && (kind === \"request\" || kind === \"response\");\n }\n\n // Errors are always processable (the session decides what to do).\n if (type === \"Error\") return true;\n\n // `new` is special: no swap_id has been assigned, so Sync (swap status) is\n // nonsensical. Only ContractRequest (request or response) is allowed.\n if (current === \"new\") {\n return type === \"ContractRequest\" && (kind === \"request\" || kind === \"response\");\n }\n\n // Sync (swap status) is a no-op; allowed everywhere except `new` and terminal.\n if (type === \"Sync\") return true;\n\n // Outbound requests the client may legitimately initiate.\n if (kind === \"request\") {\n // WithdrawRequest is allowed any time the swap is still recoverable.\n // Checked first so that subsequent state-narrowing branches don't\n // accidentally exclude it.\n if (type === \"WithdrawRequest\") {\n return (\n current === \"awaiting_deposit\" ||\n current === \"awaiting_delegate_ack\" ||\n current === \"awaiting_delegation\" ||\n current === \"awaiting_delegate_ack_after_deposit\" ||\n current === \"ready_for_settlement\" ||\n current === \"settling\"\n );\n }\n if (current === \"awaiting_dkg\") {\n return type === \"DkgInit\" || type === \"DkgRound1\" || type === \"DkgRound2\";\n }\n if (current === \"awaiting_deposit\" || current === \"awaiting_delegation\") {\n return type === \"DelegateShare\";\n }\n return false;\n }\n\n // For responses and pushes, defer to the transition table.\n return transitionMap.has(triggerKey(current, kind, type));\n}\n\n/** Expose the raw table for tests / documentation. */\nexport { TRANSITIONS };\n","{\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"$id\": \"https://invisible.local/schemas/coordinator-envelope.v2.schema.json\",\n \"title\": \"Invisible Coordinator Envelope v2\",\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"version\", \"kind\", \"type\", \"swap_id\", \"req_id\", \"timestamp_ms\", \"payload\"],\n \"properties\": {\n \"version\": {\n \"const\": 2\n },\n \"kind\": {\n \"enum\": [\"request\", \"response\", \"push\", \"error\"]\n },\n \"type\": {\n \"enum\": [\n \"ContractRequest\",\n \"DkgInit\",\n \"DkgRound1\",\n \"DkgRound2\",\n \"DkgComplete\",\n \"DelegateShare\",\n \"DelegateAck\",\n \"DepositConfirmed\",\n \"Sync\",\n \"SyncRequired\",\n \"Refill\",\n \"PayoutExecuted\",\n \"WithdrawRequest\",\n \"WithdrawExecuted\",\n \"WithdrawAccepted\",\n \"LpCommand\",\n \"Error\"\n ]\n },\n \"swap_id\": {\n \"anyOf\": [\n {\n \"type\": \"null\"\n },\n {\n \"type\": \"string\",\n \"minLength\": 1,\n \"maxLength\": 128\n }\n ]\n },\n \"req_id\": {\n \"$ref\": \"#/$defs/u32\"\n },\n \"timestamp_ms\": {\n \"$ref\": \"#/$defs/safeUInt\"\n },\n \"payload\": {\n \"type\": \"object\"\n }\n },\n \"allOf\": [\n {\n \"oneOf\": [\n {\n \"title\": \"ContractRequest request\",\n \"properties\": {\n \"kind\": {\n \"const\": \"request\"\n },\n \"type\": {\n \"const\": \"ContractRequest\"\n },\n \"payload\": {\n \"$ref\": \"#/$defs/contractRequestRequest\"\n }\n }\n },\n {\n \"title\": \"ContractRequest response\",\n \"properties\": {\n \"kind\": {\n \"const\": \"response\"\n },\n \"type\": {\n \"const\": \"ContractRequest\"\n },\n \"payload\": {\n \"$ref\": \"#/$defs/contractRequestResponse\"\n }\n }\n },\n {\n \"title\": \"DkgInit request\",\n \"properties\": {\n \"kind\": {\n \"const\": \"request\"\n },\n \"type\": {\n \"const\": \"DkgInit\"\n },\n \"payload\": {\n \"$ref\": \"#/$defs/dkgInitRequest\"\n }\n }\n },\n {\n \"title\": \"DkgInit response\",\n \"properties\": {\n \"kind\": {\n \"const\": \"response\"\n },\n \"type\": {\n \"const\": \"DkgInit\"\n },\n \"payload\": {\n \"$ref\": \"#/$defs/dkgInitResponse\"\n }\n }\n },\n {\n \"title\": \"DkgRound1 request\",\n \"properties\": {\n \"kind\": {\n \"const\": \"request\"\n },\n \"type\": {\n \"const\": \"DkgRound1\"\n },\n \"payload\": {\n \"$ref\": \"#/$defs/dkgRoundRequestPackage\"\n }\n }\n },\n {\n \"title\": \"DkgRound1 response\",\n \"properties\": {\n \"kind\": {\n \"const\": \"response\"\n },\n \"type\": {\n \"const\": \"DkgRound1\"\n },\n \"payload\": {\n \"$ref\": \"#/$defs/dkgRound1Response\"\n }\n }\n },\n {\n \"title\": \"DkgRound2 request\",\n \"properties\": {\n \"kind\": {\n \"const\": \"request\"\n },\n \"type\": {\n \"const\": \"DkgRound2\"\n },\n \"payload\": {\n \"$ref\": \"#/$defs/dkgRoundRequestPackage\"\n }\n }\n },\n {\n \"title\": \"DkgRound2 response\",\n \"properties\": {\n \"kind\": {\n \"const\": \"response\"\n },\n \"type\": {\n \"const\": \"DkgRound2\"\n },\n \"payload\": {\n \"$ref\": \"#/$defs/dkgRoundPackage\"\n }\n }\n },\n {\n \"title\": \"DkgComplete push\",\n \"properties\": {\n \"kind\": {\n \"const\": \"push\"\n },\n \"type\": {\n \"const\": \"DkgComplete\"\n },\n \"payload\": {\n \"$ref\": \"#/$defs/dkgComplete\"\n }\n }\n },\n {\n \"title\": \"DelegateShare request\",\n \"properties\": {\n \"kind\": {\n \"const\": \"request\"\n },\n \"type\": {\n \"const\": \"DelegateShare\"\n },\n \"payload\": {\n \"$ref\": \"#/$defs/delegateShare\"\n }\n }\n },\n {\n \"title\": \"DelegateShare response\",\n \"properties\": {\n \"kind\": {\n \"const\": \"response\"\n },\n \"type\": {\n \"const\": \"DelegateShare\"\n },\n \"payload\": {\n \"$ref\": \"#/$defs/delegateShareResponse\"\n }\n }\n },\n {\n \"title\": \"DelegateAck push\",\n \"properties\": {\n \"kind\": {\n \"const\": \"push\"\n },\n \"type\": {\n \"const\": \"DelegateAck\"\n },\n \"payload\": {\n \"$ref\": \"#/$defs/delegateAck\"\n }\n }\n },\n {\n \"title\": \"DepositConfirmed push\",\n \"properties\": {\n \"kind\": {\n \"const\": \"push\"\n },\n \"type\": {\n \"const\": \"DepositConfirmed\"\n },\n \"payload\": {\n \"$ref\": \"#/$defs/depositConfirmed\"\n }\n }\n },\n {\n \"title\": \"Sync request\",\n \"properties\": {\n \"kind\": {\n \"const\": \"request\"\n },\n \"type\": {\n \"const\": \"Sync\"\n },\n \"payload\": {\n \"$ref\": \"#/$defs/syncRequest\"\n }\n }\n },\n {\n \"title\": \"Sync response\",\n \"properties\": {\n \"kind\": {\n \"const\": \"response\"\n },\n \"type\": {\n \"const\": \"Sync\"\n },\n \"payload\": {\n \"$ref\": \"#/$defs/syncResponse\"\n }\n }\n },\n {\n \"title\": \"SyncRequired push\",\n \"properties\": {\n \"kind\": {\n \"const\": \"push\"\n },\n \"type\": {\n \"const\": \"SyncRequired\"\n },\n \"payload\": {\n \"$ref\": \"#/$defs/syncRequired\"\n }\n }\n },\n {\n \"title\": \"Refill request\",\n \"properties\": {\n \"kind\": {\n \"const\": \"request\"\n },\n \"type\": {\n \"const\": \"Refill\"\n },\n \"swap_id\": {\n \"type\": \"null\"\n },\n \"payload\": {\n \"$ref\": \"#/$defs/refillRequest\"\n }\n }\n },\n {\n \"title\": \"Refill response\",\n \"properties\": {\n \"kind\": {\n \"const\": \"response\"\n },\n \"type\": {\n \"const\": \"Refill\"\n },\n \"swap_id\": {\n \"type\": \"null\"\n },\n \"payload\": {\n \"$ref\": \"#/$defs/lpPositionResponse\"\n }\n }\n },\n {\n \"title\": \"PayoutExecuted push\",\n \"properties\": {\n \"kind\": {\n \"const\": \"push\"\n },\n \"type\": {\n \"const\": \"PayoutExecuted\"\n },\n \"payload\": {\n \"$ref\": \"#/$defs/executedFragment\"\n }\n }\n },\n {\n \"title\": \"WithdrawRequest request\",\n \"properties\": {\n \"kind\": {\n \"const\": \"request\"\n },\n \"type\": {\n \"const\": \"WithdrawRequest\"\n },\n \"payload\": {\n \"$ref\": \"#/$defs/withdrawRequestRequest\"\n }\n }\n },\n {\n \"title\": \"WithdrawRequest response\",\n \"$comment\": \"Only the LP withdrawal arm gets a synchronous WithdrawRequest-typed response (the withdrawal-execution case). The user arm is acknowledged via WithdrawAccepted; replayed or terminal recovery outcomes use WithdrawExecuted / withdraw_execution.\",\n \"properties\": {\n \"kind\": {\n \"const\": \"response\"\n },\n \"type\": {\n \"const\": \"WithdrawRequest\"\n },\n \"swap_id\": {\n \"type\": \"null\"\n },\n \"payload\": {\n \"$ref\": \"#/$defs/lpWithdrawalExecutionResponse\"\n }\n }\n },\n {\n \"title\": \"WithdrawExecuted response\",\n \"properties\": {\n \"kind\": {\n \"const\": \"response\"\n },\n \"type\": {\n \"const\": \"WithdrawExecuted\"\n },\n \"payload\": {\n \"$ref\": \"#/$defs/withdrawExecuted\"\n }\n }\n },\n {\n \"title\": \"WithdrawExecuted push\",\n \"properties\": {\n \"kind\": {\n \"const\": \"push\"\n },\n \"type\": {\n \"const\": \"WithdrawExecuted\"\n },\n \"payload\": {\n \"$ref\": \"#/$defs/withdrawExecuted\"\n }\n }\n },\n {\n \"title\": \"WithdrawAccepted response\",\n \"properties\": {\n \"kind\": {\n \"const\": \"response\"\n },\n \"type\": {\n \"const\": \"WithdrawAccepted\"\n },\n \"payload\": {\n \"$ref\": \"#/$defs/withdrawAccepted\"\n }\n }\n },\n {\n \"title\": \"LpCommand request\",\n \"properties\": {\n \"kind\": {\n \"const\": \"request\"\n },\n \"type\": {\n \"const\": \"LpCommand\"\n },\n \"swap_id\": {\n \"type\": \"null\"\n },\n \"payload\": {\n \"$ref\": \"#/$defs/lpSignedCommand\"\n }\n },\n \"allOf\": [\n {\n \"$comment\": \"Verb actions are routed under their own envelope type (e.g. Sync). The LpCommand envelope only carries the LP lifecycle actions.\",\n \"type\": \"object\",\n \"properties\": {\n \"payload\": {\n \"type\": \"object\",\n \"properties\": {\n \"command\": {\n \"type\": \"object\",\n \"properties\": {\n \"action\": {\n \"enum\": [\n \"dkg_init\",\n \"dkg_round1\",\n \"dkg_round2\",\n \"dkg_abort\",\n \"dkg_finalize\",\n \"funding_plan\",\n \"funding_confirmation\",\n \"make_available\",\n \"reconcile_funding\",\n \"prepare_top_up\",\n \"top_up_status\"\n ]\n }\n }\n }\n }\n }\n }\n }\n ]\n },\n {\n \"title\": \"LpCommand response\",\n \"properties\": {\n \"kind\": {\n \"const\": \"response\"\n },\n \"type\": {\n \"const\": \"LpCommand\"\n },\n \"swap_id\": {\n \"type\": \"null\"\n },\n \"payload\": {\n \"$ref\": \"#/$defs/lpCommandLifecycleResponse\"\n }\n }\n },\n {\n \"title\": \"Error envelope\",\n \"properties\": {\n \"kind\": {\n \"const\": \"error\"\n },\n \"type\": {\n \"const\": \"Error\"\n },\n \"payload\": {\n \"$ref\": \"#/$defs/errorPayload\"\n }\n }\n }\n ]\n }\n ],\n \"$defs\": {\n \"safeUInt\": {\n \"type\": \"integer\",\n \"minimum\": 0,\n \"maximum\": 9007199254740991\n },\n \"positiveSafeUInt\": {\n \"type\": \"integer\",\n \"minimum\": 1,\n \"maximum\": 9007199254740991\n },\n \"entryAmountLamports\": {\n \"type\": \"integer\",\n \"minimum\": 1500000000,\n \"maximum\": 100000000000\n },\n \"u32\": {\n \"type\": \"integer\",\n \"minimum\": 0,\n \"maximum\": 4294967295\n },\n \"lpShardIndex\": {\n \"type\": \"integer\",\n \"minimum\": 0,\n \"maximum\": 299\n },\n \"lpShardCount\": {\n \"type\": \"integer\",\n \"minimum\": 0,\n \"maximum\": 300\n },\n \"positiveU32\": {\n \"type\": \"integer\",\n \"minimum\": 1,\n \"maximum\": 4294967295\n },\n \"string\": {\n \"type\": \"string\",\n \"minLength\": 1\n },\n \"base64urlBytes\": {\n \"type\": \"string\",\n \"minLength\": 2,\n \"pattern\": \"^(?:[A-Za-z0-9_-]{4})*(?:[A-Za-z0-9_-]{2}|[A-Za-z0-9_-]{3})?$\"\n },\n \"base64url32Bytes\": {\n \"type\": \"string\",\n \"minLength\": 43,\n \"maxLength\": 43,\n \"pattern\": \"^[A-Za-z0-9_-]{43}$\"\n },\n \"emptyObject\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"properties\": {}\n },\n \"dkgInitRequest\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"properties\": {\n \"resume_secret\": {\n \"$ref\": \"#/$defs/base64url32Bytes\"\n }\n }\n },\n \"syncRequest\": {\n \"oneOf\": [\n {\n \"$ref\": \"#/$defs/syncUserRequest\"\n },\n {\n \"$ref\": \"#/$defs/syncLpRequest\"\n }\n ]\n },\n \"syncUserRequest\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"actor\"],\n \"properties\": {\n \"actor\": {\n \"const\": \"user\"\n },\n \"sync_secret\": {\n \"$ref\": \"#/$defs/base64url32Bytes\"\n }\n }\n },\n \"syncLpRequest\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"actor\", \"command\", \"signature\"],\n \"properties\": {\n \"actor\": {\n \"const\": \"lp\"\n },\n \"command\": {\n \"$ref\": \"#/$defs/lpCommand\"\n },\n \"signature\": {\n \"$ref\": \"#/$defs/base64url64Bytes\"\n }\n },\n \"allOf\": [\n {\n \"$comment\": \"The Sync verb carries the LP position_get command.\",\n \"type\": \"object\",\n \"properties\": {\n \"command\": {\n \"type\": \"object\",\n \"properties\": {\n \"action\": {\n \"const\": \"position_get\"\n }\n }\n }\n }\n }\n ]\n },\n \"refillRequest\": {\n \"$comment\": \"The Refill verb is LP-only: an LP-signed refill command. There is no user/protocol actor.\",\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"actor\", \"command\", \"signature\"],\n \"properties\": {\n \"actor\": {\n \"const\": \"lp\"\n },\n \"command\": {\n \"$ref\": \"#/$defs/lpCommand\"\n },\n \"signature\": {\n \"$ref\": \"#/$defs/base64url64Bytes\"\n }\n },\n \"allOf\": [\n {\n \"type\": \"object\",\n \"properties\": {\n \"command\": {\n \"type\": \"object\",\n \"properties\": {\n \"action\": {\n \"const\": \"refill\"\n }\n }\n }\n }\n }\n ]\n },\n \"swapRequest\": {\n \"$comment\": \"The user arm of the ContractRequest verb: open a swap/contract on the Noise session.\",\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"actor\", \"amount_lamports\", \"payout_spec\", \"sync_commitment\"],\n \"properties\": {\n \"actor\": {\n \"const\": \"user\"\n },\n \"amount_lamports\": {\n \"$ref\": \"#/$defs/entryAmountLamports\"\n },\n \"payout_deadline_ms\": {\n \"description\": \"Optional legacy absolute request deadline. Scheduled payout_spec.window_seconds selects the supported scheduled window.\",\n \"$ref\": \"#/$defs/positiveSafeUInt\"\n },\n \"payout_spec\": {\n \"$ref\": \"#/$defs/payoutSpec\"\n },\n \"sync_commitment\": {\n \"$ref\": \"#/$defs/base64url32Bytes\"\n },\n \"resume_commitment\": {\n \"$ref\": \"#/$defs/base64url32Bytes\"\n }\n }\n },\n \"contractRequestRequest\": {\n \"oneOf\": [\n {\n \"$ref\": \"#/$defs/swapRequest\"\n },\n {\n \"$ref\": \"#/$defs/contractRequestLpRequest\"\n }\n ]\n },\n \"contractRequestLpRequest\": {\n \"$comment\": \"The LP arm of the ContractRequest verb: an LP-signed position_open command.\",\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"actor\", \"command\", \"signature\"],\n \"properties\": {\n \"actor\": {\n \"const\": \"lp\"\n },\n \"command\": {\n \"$ref\": \"#/$defs/lpCommand\"\n },\n \"signature\": {\n \"$ref\": \"#/$defs/base64url64Bytes\"\n }\n },\n \"allOf\": [\n {\n \"type\": \"object\",\n \"properties\": {\n \"command\": {\n \"type\": \"object\",\n \"properties\": {\n \"action\": {\n \"const\": \"position_open\"\n }\n }\n }\n }\n }\n ]\n },\n \"contractRequestResponse\": {\n \"oneOf\": [\n {\n \"$ref\": \"#/$defs/swapRequestResponse\"\n },\n {\n \"$ref\": \"#/$defs/lpPositionResponse\"\n }\n ]\n },\n \"payoutSpec\": {\n \"oneOf\": [\n {\n \"$ref\": \"#/$defs/instantPayoutSpec\"\n },\n {\n \"$ref\": \"#/$defs/scheduledPayoutSpec\"\n }\n ]\n },\n \"instantPayoutSpec\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"mode\", \"destination_address\"],\n \"properties\": {\n \"mode\": {\n \"const\": \"instant\"\n },\n \"destination_address\": {\n \"$ref\": \"#/$defs/string\"\n }\n }\n },\n \"scheduledPayoutSpec\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"mode\", \"num_fragments\", \"window_seconds\", \"destination_addresses\"],\n \"properties\": {\n \"mode\": {\n \"const\": \"scheduled\"\n },\n \"num_fragments\": {\n \"type\": \"integer\",\n \"minimum\": 1,\n \"maximum\": 1\n },\n \"window_seconds\": {\n \"$ref\": \"#/$defs/positiveSafeUInt\"\n },\n \"destination_addresses\": {\n \"type\": \"array\",\n \"minItems\": 1,\n \"maxItems\": 1,\n \"items\": {\n \"$ref\": \"#/$defs/string\"\n }\n }\n }\n },\n \"spendingPolicyDestination\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"destination_address\"],\n \"properties\": {\n \"destination_address\": {\n \"$ref\": \"#/$defs/string\"\n }\n }\n },\n \"spendingPolicySnapshot\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\n \"asset\",\n \"entry_amount_lamports\",\n \"total_committed_lamports\",\n \"payout_deadline_ms\",\n \"payout_schedule\",\n \"fragment_count\",\n \"payout_mode\",\n \"matching_mode\",\n \"fragmentation_allowed\",\n \"min_fee_bps\",\n \"fee_bps\",\n \"fee_lamports\",\n \"net_payout_lamports\"\n ],\n \"allOf\": [\n {\n \"oneOf\": [\n {\n \"properties\": {\n \"payout_mode\": {\n \"const\": \"instant\"\n }\n }\n },\n {\n \"required\": [\"payout_window_ms\"],\n \"properties\": {\n \"payout_mode\": {\n \"const\": \"scheduled\"\n },\n \"payout_window_ms\": {\n \"$ref\": \"#/$defs/positiveSafeUInt\"\n }\n }\n }\n ]\n }\n ],\n \"properties\": {\n \"asset\": {\n \"const\": \"SOL\"\n },\n \"entry_amount_lamports\": {\n \"$ref\": \"#/$defs/positiveSafeUInt\"\n },\n \"total_committed_lamports\": {\n \"$ref\": \"#/$defs/positiveSafeUInt\"\n },\n \"payout_deadline_ms\": {\n \"description\": \"Pre-reservation policy deadline. For scheduled payout_mode, do not treat this as the post-reservation execution SLA; payout_window_ms is the selected window.\",\n \"$ref\": \"#/$defs/positiveSafeUInt\"\n },\n \"payout_window_ms\": {\n \"description\": \"Selected scheduled payout window in milliseconds. For scheduled payout_mode, this is the authoritative maximum execution window after liquidity reservation; the exact payout_due_at_ms stays internal.\",\n \"$ref\": \"#/$defs/positiveSafeUInt\"\n },\n \"payout_schedule\": {\n \"type\": \"array\",\n \"minItems\": 1,\n \"maxItems\": 1,\n \"items\": {\n \"$ref\": \"#/$defs/spendingPolicyDestination\"\n }\n },\n \"fragment_count\": {\n \"type\": \"integer\",\n \"minimum\": 1,\n \"maximum\": 1\n },\n \"payout_mode\": {\n \"enum\": [\"instant\", \"scheduled\"]\n },\n \"matching_mode\": {\n \"const\": \"exact_1_to_1\"\n },\n \"fragmentation_allowed\": {\n \"const\": \"payout_side_only\"\n },\n \"min_fee_bps\": {\n \"type\": \"integer\",\n \"minimum\": 0,\n \"maximum\": 10000\n },\n \"fee_bps\": {\n \"type\": \"integer\",\n \"minimum\": 0,\n \"maximum\": 10000\n },\n \"fee_lamports\": {\n \"$ref\": \"#/$defs/safeUInt\"\n },\n \"net_payout_lamports\": {\n \"$ref\": \"#/$defs/safeUInt\"\n }\n }\n },\n \"swapRequestResponse\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"swap_id\", \"accepted\", \"policy_snapshot\"],\n \"properties\": {\n \"swap_id\": {\n \"$ref\": \"#/$defs/string\"\n },\n \"accepted\": {\n \"const\": true\n },\n \"policy_snapshot\": {\n \"$ref\": \"#/$defs/spendingPolicySnapshot\"\n }\n }\n },\n \"dkgInitResponse\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"ready\"],\n \"properties\": {\n \"ready\": {\n \"const\": true\n }\n }\n },\n \"dkgRoundPackage\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"package\"],\n \"properties\": {\n \"package\": {\n \"$ref\": \"#/$defs/base64urlBytes\"\n }\n }\n },\n \"dkgRoundRequestPackage\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"package\"],\n \"properties\": {\n \"package\": {\n \"$ref\": \"#/$defs/base64urlBytes\"\n },\n \"resume_secret\": {\n \"$ref\": \"#/$defs/base64url32Bytes\"\n }\n }\n },\n \"dkgRound1Response\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"package\", \"round2_for_alice\"],\n \"properties\": {\n \"package\": {\n \"$ref\": \"#/$defs/base64urlBytes\"\n },\n \"round2_for_alice\": {\n \"$ref\": \"#/$defs/base64urlBytes\"\n }\n }\n },\n \"dkgComplete\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"joint_pubkey\", \"deposit_expires_at_ms\"],\n \"properties\": {\n \"joint_pubkey\": {\n \"$ref\": \"#/$defs/base64url32Bytes\"\n },\n \"deposit_expires_at_ms\": {\n \"$ref\": \"#/$defs/safeUInt\"\n }\n }\n },\n \"delegateShare\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"share\", \"recovery_commitment\"],\n \"properties\": {\n \"share\": {\n \"$ref\": \"#/$defs/base64url32Bytes\"\n },\n \"recovery_commitment\": {\n \"$ref\": \"#/$defs/base64url32Bytes\"\n },\n \"resume_secret\": {\n \"$ref\": \"#/$defs/base64url32Bytes\"\n }\n }\n },\n \"delegateShareResponse\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"delegated_at_ms\"],\n \"properties\": {\n \"delegated_at_ms\": {\n \"$ref\": \"#/$defs/positiveSafeUInt\"\n }\n }\n },\n \"delegateAck\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"delegated_at_ms\", \"spending_policy\"],\n \"properties\": {\n \"delegated_at_ms\": {\n \"$ref\": \"#/$defs/positiveSafeUInt\"\n },\n \"spending_policy\": {\n \"$ref\": \"#/$defs/spendingPolicySnapshot\"\n }\n }\n },\n \"depositConfirmed\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"tx_signature\", \"amount_lamports\", \"observed_at_ms\"],\n \"properties\": {\n \"tx_signature\": {\n \"$ref\": \"#/$defs/string\"\n },\n \"amount_lamports\": {\n \"$ref\": \"#/$defs/positiveSafeUInt\"\n },\n \"observed_at_ms\": {\n \"$ref\": \"#/$defs/positiveSafeUInt\"\n },\n \"origin_address\": {\n \"$ref\": \"#/$defs/string\"\n }\n }\n },\n \"plannedFragment\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"index\", \"amount_lamports\", \"scheduled_at_ms\", \"destination_address\"],\n \"properties\": {\n \"index\": {\n \"$ref\": \"#/$defs/u32\"\n },\n \"amount_lamports\": {\n \"$ref\": \"#/$defs/positiveSafeUInt\"\n },\n \"scheduled_at_ms\": {\n \"$ref\": \"#/$defs/positiveSafeUInt\"\n },\n \"destination_address\": {\n \"$ref\": \"#/$defs/string\"\n }\n }\n },\n \"executedFragment\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\n \"index\",\n \"amount_lamports\",\n \"destination_address\",\n \"tx_signature\",\n \"executed_at_ms\",\n \"final\"\n ],\n \"properties\": {\n \"index\": {\n \"$ref\": \"#/$defs/u32\"\n },\n \"amount_lamports\": {\n \"$ref\": \"#/$defs/positiveSafeUInt\"\n },\n \"destination_address\": {\n \"$ref\": \"#/$defs/string\"\n },\n \"tx_signature\": {\n \"$ref\": \"#/$defs/string\"\n },\n \"executed_at_ms\": {\n \"$ref\": \"#/$defs/positiveSafeUInt\"\n },\n \"final\": {\n \"type\": \"boolean\"\n }\n }\n },\n \"payoutSchedule\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"mode\", \"fragments\"],\n \"properties\": {\n \"mode\": {\n \"enum\": [\"instant\", \"scheduled\"]\n },\n \"fragments\": {\n \"type\": \"array\",\n \"maxItems\": 64,\n \"items\": {\n \"$ref\": \"#/$defs/plannedFragment\"\n }\n }\n }\n },\n \"normalUserContractStatus\": {\n \"enum\": [\"deposit\", \"activating\", \"active\", \"settling\", \"completed\", \"refunded\", \"expired\"]\n },\n \"normalUserSettlementPhase\": {\n \"enum\": [\n \"awaiting_deposit\",\n \"activating\",\n \"waiting_for_liquidity\",\n \"matched_scheduled\",\n \"locked_pending_payout\",\n \"submitted\",\n \"confirming\",\n \"retry_delayed\",\n \"recovery_required\",\n \"completed\",\n \"refund_pending\",\n \"refunded\",\n \"expired\"\n ]\n },\n \"normalUserRefundability\": {\n \"enum\": [\"available_now\", \"request_pending\", \"blocked_by_lock\", \"stale\", \"unavailable\"]\n },\n \"normalUserRefundStatus\": {\n \"enum\": [\n \"queued\",\n \"reserved\",\n \"submitted\",\n \"confirming\",\n \"retrying\",\n \"finalized\",\n \"failed\",\n \"partial\",\n \"canceled\"\n ]\n },\n \"sourceLiquidityUse\": {\n \"enum\": [\n \"not_materialized\",\n \"available\",\n \"locked_for_payout\",\n \"pending_finality\",\n \"spent\",\n \"released\"\n ]\n },\n \"syncRetryInstruction\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"should_retry\", \"poll_after_ms\"],\n \"properties\": {\n \"should_retry\": {\n \"type\": \"boolean\"\n },\n \"poll_after_ms\": {\n \"anyOf\": [\n {\n \"type\": \"null\"\n },\n {\n \"$ref\": \"#/$defs/safeUInt\"\n }\n ]\n }\n }\n },\n \"payoutWindowSyncSnapshot\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"starts_at_ms\", \"deadline_ms\"],\n \"properties\": {\n \"starts_at_ms\": {\n \"$ref\": \"#/$defs/safeUInt\"\n },\n \"deadline_ms\": {\n \"anyOf\": [\n {\n \"type\": \"null\"\n },\n {\n \"$ref\": \"#/$defs/safeUInt\"\n }\n ]\n }\n }\n },\n \"normalUserContractSyncSnapshot\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\n \"contract_id\",\n \"status\",\n \"settlement_phase\",\n \"refundability\",\n \"refund_status\",\n \"source_liquidity_use\",\n \"destination_wallet\",\n \"deposit_amount_lamports\",\n \"deposit_expires_at_ms\",\n \"payout_window\",\n \"settlement_tx_hashes\",\n \"settled_amount_lamports\",\n \"protocol_fee_lamports\",\n \"network_fee_lost_lamports\",\n \"recovery_refund_remaining_lamports\",\n \"withdrawal_requested_lamports\",\n \"withdrawal_landed_lamports\",\n \"withdrawal_landed_fee_lamports\",\n \"withdrawal_canceled_lamports\",\n \"withdrawal_network_fee_loss_lamports\",\n \"withdrawal_tx_hashes\",\n \"retry\",\n \"state_version\",\n \"updated_at_ms\"\n ],\n \"properties\": {\n \"contract_id\": {\n \"$ref\": \"#/$defs/string\"\n },\n \"status\": {\n \"$ref\": \"#/$defs/normalUserContractStatus\"\n },\n \"settlement_phase\": {\n \"$ref\": \"#/$defs/normalUserSettlementPhase\"\n },\n \"refundability\": {\n \"$ref\": \"#/$defs/normalUserRefundability\"\n },\n \"refund_status\": {\n \"anyOf\": [\n {\n \"type\": \"null\"\n },\n {\n \"$ref\": \"#/$defs/normalUserRefundStatus\"\n }\n ]\n },\n \"source_liquidity_use\": {\n \"$ref\": \"#/$defs/sourceLiquidityUse\"\n },\n \"destination_wallet\": {\n \"anyOf\": [\n {\n \"type\": \"null\"\n },\n {\n \"$ref\": \"#/$defs/string\"\n }\n ]\n },\n \"deposit_amount_lamports\": {\n \"$ref\": \"#/$defs/safeUInt\"\n },\n \"deposit_expires_at_ms\": {\n \"$ref\": \"#/$defs/safeUInt\"\n },\n \"payout_window\": {\n \"$ref\": \"#/$defs/payoutWindowSyncSnapshot\"\n },\n \"settlement_tx_hashes\": {\n \"type\": \"array\",\n \"maxItems\": 64,\n \"items\": {\n \"$ref\": \"#/$defs/string\"\n }\n },\n \"settled_amount_lamports\": {\n \"$ref\": \"#/$defs/safeUInt\"\n },\n \"protocol_fee_lamports\": {\n \"$ref\": \"#/$defs/safeUInt\"\n },\n \"network_fee_lost_lamports\": {\n \"type\": \"array\",\n \"maxItems\": 64,\n \"items\": {\n \"$ref\": \"#/$defs/safeUInt\"\n }\n },\n \"recovery_refund_remaining_lamports\": {\n \"$ref\": \"#/$defs/safeUInt\"\n },\n \"withdrawal_requested_lamports\": {\n \"$ref\": \"#/$defs/safeUInt\"\n },\n \"withdrawal_landed_lamports\": {\n \"$ref\": \"#/$defs/safeUInt\"\n },\n \"withdrawal_landed_fee_lamports\": {\n \"$ref\": \"#/$defs/safeUInt\"\n },\n \"withdrawal_canceled_lamports\": {\n \"$ref\": \"#/$defs/safeUInt\"\n },\n \"withdrawal_network_fee_loss_lamports\": {\n \"$ref\": \"#/$defs/safeUInt\"\n },\n \"withdrawal_tx_hashes\": {\n \"type\": \"array\",\n \"maxItems\": 64,\n \"items\": {\n \"$ref\": \"#/$defs/string\"\n }\n },\n \"retry\": {\n \"$ref\": \"#/$defs/syncRetryInstruction\"\n },\n \"state_version\": {\n \"$ref\": \"#/$defs/safeUInt\"\n },\n \"updated_at_ms\": {\n \"$ref\": \"#/$defs/safeUInt\"\n }\n }\n },\n \"normalUserActorSyncSnapshot\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"actor\", \"snapshot\"],\n \"properties\": {\n \"actor\": {\n \"const\": \"normal_user\"\n },\n \"snapshot\": {\n \"$ref\": \"#/$defs/normalUserContractSyncSnapshot\"\n }\n }\n },\n \"syncResponse\": {\n \"oneOf\": [\n {\n \"$ref\": \"#/$defs/syncUserResponse\"\n },\n {\n \"$ref\": \"#/$defs/lpPositionResponse\"\n }\n ]\n },\n \"syncRequiredContractSubject\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"kind\", \"id\"],\n \"properties\": {\n \"kind\": {\n \"const\": \"contract\"\n },\n \"id\": {\n \"$ref\": \"#/$defs/string\"\n }\n }\n },\n \"syncRequiredLpPositionSubject\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"kind\", \"id\"],\n \"properties\": {\n \"kind\": {\n \"const\": \"lp_position\"\n },\n \"id\": {\n \"$ref\": \"#/$defs/string\"\n }\n }\n },\n \"syncRequiredContract\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"subject\", \"event_kind\", \"state_version\", \"created_at_ms\", \"sync_required\"],\n \"properties\": {\n \"subject\": {\n \"$ref\": \"#/$defs/syncRequiredContractSubject\"\n },\n \"event_kind\": {\n \"enum\": [\n \"contract_requested\",\n \"request_expired\",\n \"contract_activated\",\n \"match_requested\",\n \"reserved\",\n \"settlement_pending\",\n \"partially_fulfilled\",\n \"fulfilled\",\n \"refund_requested\",\n \"refunded\",\n \"source_liquidity_updated\",\n \"withdrawal_requested\",\n \"withdrawal_finalized\"\n ]\n },\n \"state_version\": {\n \"$ref\": \"#/$defs/safeUInt\"\n },\n \"created_at_ms\": {\n \"$ref\": \"#/$defs/safeUInt\"\n },\n \"sync_required\": {\n \"const\": true\n }\n }\n },\n \"syncRequiredLpPosition\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"subject\", \"event_kind\", \"state_version\", \"created_at_ms\", \"sync_required\"],\n \"properties\": {\n \"subject\": {\n \"$ref\": \"#/$defs/syncRequiredLpPositionSubject\"\n },\n \"event_kind\": {\n \"enum\": [\n \"match_requested\",\n \"reserved\",\n \"withdrawal_requested\",\n \"withdrawal_finalized\",\n \"reimbursement_finalized\"\n ]\n },\n \"state_version\": {\n \"$ref\": \"#/$defs/safeUInt\"\n },\n \"created_at_ms\": {\n \"$ref\": \"#/$defs/safeUInt\"\n },\n \"sync_required\": {\n \"const\": true\n }\n }\n },\n \"syncRequired\": {\n \"oneOf\": [\n {\n \"$ref\": \"#/$defs/syncRequiredContract\"\n },\n {\n \"$ref\": \"#/$defs/syncRequiredLpPosition\"\n }\n ]\n },\n \"syncUserResponse\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"state\", \"fragments_executed\"],\n \"properties\": {\n \"state\": {\n \"enum\": [\n \"new\",\n \"awaiting_dkg\",\n \"awaiting_deposit\",\n \"awaiting_delegation\",\n \"ready_for_settlement\",\n \"settling\",\n \"completed\",\n \"refunded\",\n \"failed\"\n ]\n },\n \"fragments_executed\": {\n \"type\": \"array\",\n \"maxItems\": 64,\n \"items\": {\n \"$ref\": \"#/$defs/executedFragment\"\n }\n },\n \"withdraw_execution\": {\n \"$ref\": \"#/$defs/withdrawExecuted\"\n },\n \"actor_sync\": {\n \"$ref\": \"#/$defs/normalUserActorSyncSnapshot\"\n }\n }\n },\n \"lpPositionResponse\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"case\", \"value\"],\n \"properties\": {\n \"case\": {\n \"const\": \"position\"\n },\n \"value\": {\n \"$ref\": \"#/$defs/lpPositionView\"\n }\n }\n },\n \"withdrawRequestRequest\": {\n \"oneOf\": [\n {\n \"$ref\": \"#/$defs/withdrawRequest\"\n },\n {\n \"$ref\": \"#/$defs/withdrawRequestProtocolRequest\"\n },\n {\n \"$ref\": \"#/$defs/withdrawRequestLpRequest\"\n }\n ]\n },\n \"withdrawRequestLpRequest\": {\n \"$comment\": \"The LP arm of the WithdrawRequest verb: an LP-signed withdraw_request command with an explicit principal/fee bucket claim.\",\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"actor\", \"command\", \"signature\"],\n \"properties\": {\n \"actor\": {\n \"const\": \"lp\"\n },\n \"command\": {\n \"$ref\": \"#/$defs/lpCommand\"\n },\n \"signature\": {\n \"$ref\": \"#/$defs/base64url64Bytes\"\n }\n },\n \"allOf\": [\n {\n \"type\": \"object\",\n \"properties\": {\n \"command\": {\n \"type\": \"object\",\n \"properties\": {\n \"action\": {\n \"const\": \"withdraw_request\"\n }\n }\n }\n }\n }\n ]\n },\n \"withdrawRequestProtocolRequest\": {\n \"$comment\": \"The protocol arm of the WithdrawRequest verb is a schema-valid V0 no-op. The coordinator returns `Protocol withdraw no-op yet` and creates no sealed executable work.\",\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"actor\"],\n \"properties\": {\n \"actor\": {\n \"const\": \"protocol\"\n }\n }\n },\n \"withdrawRequest\": {\n \"$comment\": \"The user arm of the WithdrawRequest verb: a Recovery Code withdrawal on the Noise session.\",\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"recovery_code\"],\n \"properties\": {\n \"recovery_code\": {\n \"$ref\": \"#/$defs/base64url32Bytes\"\n }\n }\n },\n \"withdrawExecuted\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\n \"tx_signature\",\n \"amount_lamports\",\n \"withdrawn_at_ms\",\n \"trigger\",\n \"destination_address\"\n ],\n \"properties\": {\n \"tx_signature\": {\n \"$ref\": \"#/$defs/string\"\n },\n \"amount_lamports\": {\n \"$ref\": \"#/$defs/positiveSafeUInt\"\n },\n \"withdrawn_at_ms\": {\n \"$ref\": \"#/$defs/positiveSafeUInt\"\n },\n \"trigger\": {\n \"enum\": [\"user_request\", \"auto_deadline\"]\n },\n \"destination_address\": {\n \"$ref\": \"#/$defs/string\"\n }\n }\n },\n \"withdrawAccepted\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"status\", \"amount_lamports\", \"destination_address\", \"accepted_at_ms\"],\n \"properties\": {\n \"status\": {\n \"enum\": [\"accepted\"]\n },\n \"amount_lamports\": {\n \"$ref\": \"#/$defs/positiveSafeUInt\"\n },\n \"destination_address\": {\n \"$ref\": \"#/$defs/string\"\n },\n \"accepted_at_ms\": {\n \"$ref\": \"#/$defs/positiveSafeUInt\"\n }\n }\n },\n \"errorPayload\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"code\", \"message\"],\n \"properties\": {\n \"code\": {\n \"enum\": [\n \"ERR_INVALID_PAYLOAD\",\n \"ERR_UNEXPECTED_TYPE\",\n \"ERR_UNKNOWN_SWAP\",\n \"ERR_POLICY_VIOLATION\",\n \"ERR_INVALID_RECOVERY_CODE\",\n \"ERR_SWAP_NOT_REFUNDABLE\",\n \"ERR_DKG_FAILURE\",\n \"ERR_INTERNAL\",\n \"ERR_INVALID_DEPOSIT\",\n \"ERR_SETTLEMENT_FAILED\"\n ]\n },\n \"message\": {\n \"$ref\": \"#/$defs/string\"\n },\n \"failed_req_id\": {\n \"$ref\": \"#/$defs/u32\"\n }\n }\n },\n \"base64url64Bytes\": {\n \"type\": \"string\",\n \"minLength\": 86,\n \"maxLength\": 86,\n \"pattern\": \"^[A-Za-z0-9_-]{86}$\"\n },\n \"base64urlMax16384Bytes\": {\n \"type\": \"string\",\n \"minLength\": 2,\n \"maxLength\": 21846,\n \"pattern\": \"^(?:[A-Za-z0-9_-]{4})*(?:[A-Za-z0-9_-]{2}|[A-Za-z0-9_-]{3})?$\"\n },\n \"lpId\": {\n \"type\": \"string\",\n \"minLength\": 3,\n \"maxLength\": 96,\n \"pattern\": \"^[A-Za-z0-9_-]+$\"\n },\n \"lpRedemptionId\": {\n \"type\": \"string\",\n \"minLength\": 1,\n \"maxLength\": 160,\n \"pattern\": \"^[A-Za-z0-9_:-]+$\"\n },\n \"lpAddress\": {\n \"type\": \"string\",\n \"minLength\": 1,\n \"maxLength\": 128\n },\n \"lpSessionId\": {\n \"type\": \"string\",\n \"minLength\": 1,\n \"maxLength\": 128\n },\n \"lpTxSignature\": {\n \"type\": \"string\",\n \"minLength\": 1,\n \"maxLength\": 256\n },\n \"lpSignedCommand\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"command\", \"signature\"],\n \"properties\": {\n \"command\": {\n \"$ref\": \"#/$defs/lpCommand\"\n },\n \"signature\": {\n \"$ref\": \"#/$defs/base64url64Bytes\"\n }\n }\n },\n \"lpCommand\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\n \"lp_position_id\",\n \"action\",\n \"nonce\",\n \"expires_at_ms\",\n \"coordinator_attestation_hash\",\n \"payload\"\n ],\n \"properties\": {\n \"lp_position_id\": {\n \"$ref\": \"#/$defs/lpId\"\n },\n \"action\": {\n \"enum\": [\n \"position_open\",\n \"position_get\",\n \"dkg_init\",\n \"dkg_round1\",\n \"dkg_round2\",\n \"dkg_abort\",\n \"dkg_finalize\",\n \"refill\",\n \"funding_plan\",\n \"funding_confirmation\",\n \"make_available\",\n \"reconcile_funding\",\n \"prepare_top_up\",\n \"top_up_status\",\n \"withdraw_request\"\n ]\n },\n \"nonce\": {\n \"$ref\": \"#/$defs/base64url32Bytes\"\n },\n \"expires_at_ms\": {\n \"$ref\": \"#/$defs/positiveSafeUInt\"\n },\n \"coordinator_attestation_hash\": {\n \"$ref\": \"#/$defs/base64url32Bytes\"\n },\n \"payload\": {\n \"$ref\": \"#/$defs/lpCommandBody\"\n }\n },\n \"allOf\": [\n {\n \"oneOf\": [\n {\n \"properties\": {\n \"action\": {\n \"const\": \"position_open\"\n },\n \"payload\": {\n \"$ref\": \"#/$defs/lpPositionOpenCase\"\n }\n }\n },\n {\n \"properties\": {\n \"action\": {\n \"const\": \"position_get\"\n },\n \"payload\": {\n \"$ref\": \"#/$defs/lpPositionGetCase\"\n }\n }\n },\n {\n \"properties\": {\n \"action\": {\n \"const\": \"dkg_init\"\n },\n \"payload\": {\n \"$ref\": \"#/$defs/lpDkgInitCase\"\n }\n }\n },\n {\n \"properties\": {\n \"action\": {\n \"const\": \"dkg_round1\"\n },\n \"payload\": {\n \"$ref\": \"#/$defs/lpDkgRound1Case\"\n }\n }\n },\n {\n \"properties\": {\n \"action\": {\n \"const\": \"dkg_round2\"\n },\n \"payload\": {\n \"$ref\": \"#/$defs/lpDkgRound2Case\"\n }\n }\n },\n {\n \"properties\": {\n \"action\": {\n \"const\": \"dkg_abort\"\n },\n \"payload\": {\n \"$ref\": \"#/$defs/lpDkgAbortCase\"\n }\n }\n },\n {\n \"properties\": {\n \"action\": {\n \"const\": \"dkg_finalize\"\n },\n \"payload\": {\n \"$ref\": \"#/$defs/lpDkgFinalizeCase\"\n }\n }\n },\n {\n \"properties\": {\n \"action\": {\n \"const\": \"refill\"\n },\n \"payload\": {\n \"$ref\": \"#/$defs/lpRefillCase\"\n }\n }\n },\n {\n \"properties\": {\n \"action\": {\n \"const\": \"funding_plan\"\n },\n \"payload\": {\n \"$ref\": \"#/$defs/lpFundingPlanCase\"\n }\n }\n },\n {\n \"properties\": {\n \"action\": {\n \"const\": \"funding_confirmation\"\n },\n \"payload\": {\n \"$ref\": \"#/$defs/lpFundingConfirmationCase\"\n }\n }\n },\n {\n \"properties\": {\n \"action\": {\n \"const\": \"make_available\"\n },\n \"payload\": {\n \"$ref\": \"#/$defs/lpMakeAvailableCase\"\n }\n }\n },\n {\n \"properties\": {\n \"action\": {\n \"const\": \"reconcile_funding\"\n },\n \"payload\": {\n \"$ref\": \"#/$defs/lpReconcileFundingCase\"\n }\n }\n },\n {\n \"properties\": {\n \"action\": {\n \"const\": \"prepare_top_up\"\n },\n \"payload\": {\n \"$ref\": \"#/$defs/lpPrepareTopUpCase\"\n }\n }\n },\n {\n \"properties\": {\n \"action\": {\n \"const\": \"top_up_status\"\n },\n \"payload\": {\n \"$ref\": \"#/$defs/lpTopUpStatusCase\"\n }\n }\n },\n {\n \"properties\": {\n \"action\": {\n \"const\": \"withdraw_request\"\n },\n \"payload\": {\n \"$ref\": \"#/$defs/lpWithdrawalRequestCase\"\n }\n }\n }\n ]\n }\n ]\n },\n \"lpCommandBody\": {\n \"oneOf\": [\n {\n \"$ref\": \"#/$defs/lpPositionOpenCase\"\n },\n {\n \"$ref\": \"#/$defs/lpPositionGetCase\"\n },\n {\n \"$ref\": \"#/$defs/lpDkgInitCase\"\n },\n {\n \"$ref\": \"#/$defs/lpDkgRound1Case\"\n },\n {\n \"$ref\": \"#/$defs/lpDkgRound2Case\"\n },\n {\n \"$ref\": \"#/$defs/lpDkgAbortCase\"\n },\n {\n \"$ref\": \"#/$defs/lpDkgFinalizeCase\"\n },\n {\n \"$ref\": \"#/$defs/lpRefillCase\"\n },\n {\n \"$ref\": \"#/$defs/lpFundingPlanCase\"\n },\n {\n \"$ref\": \"#/$defs/lpFundingConfirmationCase\"\n },\n {\n \"$ref\": \"#/$defs/lpMakeAvailableCase\"\n },\n {\n \"$ref\": \"#/$defs/lpReconcileFundingCase\"\n },\n {\n \"$ref\": \"#/$defs/lpPrepareTopUpCase\"\n },\n {\n \"$ref\": \"#/$defs/lpTopUpStatusCase\"\n },\n {\n \"$ref\": \"#/$defs/lpWithdrawalRequestCase\"\n }\n ]\n },\n \"lpPositionOpenCase\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"case\", \"value\"],\n \"properties\": {\n \"case\": {\n \"const\": \"positionOpen\"\n },\n \"value\": {\n \"$ref\": \"#/$defs/lpPositionOpen\"\n }\n }\n },\n \"lpPositionGetCase\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"case\", \"value\"],\n \"properties\": {\n \"case\": {\n \"const\": \"positionGet\"\n },\n \"value\": {\n \"$ref\": \"#/$defs/lpPositionGet\"\n }\n }\n },\n \"lpDkgInitCase\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"case\", \"value\"],\n \"properties\": {\n \"case\": {\n \"const\": \"dkgInit\"\n },\n \"value\": {\n \"$ref\": \"#/$defs/lpDkgInit\"\n }\n }\n },\n \"lpDkgRound1Case\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"case\", \"value\"],\n \"properties\": {\n \"case\": {\n \"const\": \"dkgRound1\"\n },\n \"value\": {\n \"$ref\": \"#/$defs/lpDkgRound1\"\n }\n }\n },\n \"lpDkgRound2Case\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"case\", \"value\"],\n \"properties\": {\n \"case\": {\n \"const\": \"dkgRound2\"\n },\n \"value\": {\n \"$ref\": \"#/$defs/lpDkgRound2\"\n }\n }\n },\n \"lpDkgAbortCase\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"case\", \"value\"],\n \"properties\": {\n \"case\": {\n \"const\": \"dkgAbort\"\n },\n \"value\": {\n \"$ref\": \"#/$defs/lpDkgAbort\"\n }\n }\n },\n \"lpDkgFinalizeCase\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"case\", \"value\"],\n \"properties\": {\n \"case\": {\n \"const\": \"dkgFinalize\"\n },\n \"value\": {\n \"$ref\": \"#/$defs/lpDkgFinalize\"\n }\n }\n },\n \"lpRefillCase\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"case\", \"value\"],\n \"properties\": {\n \"case\": {\n \"const\": \"refill\"\n },\n \"value\": {\n \"$ref\": \"#/$defs/lpRefill\"\n }\n }\n },\n \"lpFundingPlanCase\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"case\", \"value\"],\n \"properties\": {\n \"case\": {\n \"const\": \"fundingPlan\"\n },\n \"value\": {\n \"$ref\": \"#/$defs/lpFundingPlan\"\n }\n }\n },\n \"lpFundingConfirmationCase\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"case\", \"value\"],\n \"properties\": {\n \"case\": {\n \"const\": \"fundingConfirmation\"\n },\n \"value\": {\n \"$ref\": \"#/$defs/lpFundingConfirmation\"\n }\n }\n },\n \"lpMakeAvailableCase\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"case\", \"value\"],\n \"properties\": {\n \"case\": {\n \"const\": \"makeAvailable\"\n },\n \"value\": {\n \"$ref\": \"#/$defs/lpMakeAvailable\"\n }\n }\n },\n \"lpReconcileFundingCase\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"case\", \"value\"],\n \"properties\": {\n \"case\": {\n \"const\": \"reconcileFunding\"\n },\n \"value\": {\n \"$ref\": \"#/$defs/emptyObject\"\n }\n }\n },\n \"lpPrepareTopUpCase\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"case\", \"value\"],\n \"properties\": {\n \"case\": {\n \"const\": \"prepareTopUp\"\n },\n \"value\": {\n \"$ref\": \"#/$defs/emptyObject\"\n }\n }\n },\n \"lpTopUpStatusCase\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"case\", \"value\"],\n \"properties\": {\n \"case\": {\n \"const\": \"topUpStatus\"\n },\n \"value\": {\n \"$ref\": \"#/$defs/lpTopUpStatus\"\n }\n }\n },\n \"lpTopUpStatus\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"top_up_id\"],\n \"properties\": {\n \"top_up_id\": {\n \"$ref\": \"#/$defs/lpId\"\n }\n }\n },\n \"lpPositionGet\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"properties\": {\n \"redemption_history_cursor\": {\n \"$ref\": \"#/$defs/lpRedemptionId\"\n }\n }\n },\n \"lpPositionOpen\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\n \"auth_public_key\",\n \"refill_public_key\",\n \"redemption_commitment\",\n \"committed_lamports\",\n \"shard_count\",\n \"shard_amount_lamports\",\n \"refill_threshold\",\n \"addresses\",\n \"created_at_ms\"\n ],\n \"properties\": {\n \"auth_public_key\": {\n \"$ref\": \"#/$defs/base64url32Bytes\"\n },\n \"refill_public_key\": {\n \"$ref\": \"#/$defs/base64url32Bytes\"\n },\n \"redemption_commitment\": {\n \"$ref\": \"#/$defs/base64url32Bytes\"\n },\n \"committed_lamports\": {\n \"$ref\": \"#/$defs/positiveSafeUInt\"\n },\n \"shard_count\": {\n \"type\": \"integer\",\n \"minimum\": 1,\n \"maximum\": 300\n },\n \"shard_amount_lamports\": {\n \"$ref\": \"#/$defs/positiveSafeUInt\"\n },\n \"refill_threshold\": {\n \"type\": \"integer\",\n \"minimum\": 0,\n \"maximum\": 300\n },\n \"addresses\": {\n \"type\": \"array\",\n \"maxItems\": 300,\n \"items\": {\n \"$ref\": \"#/$defs/lpAddress\"\n }\n },\n \"created_at_ms\": {\n \"$ref\": \"#/$defs/positiveSafeUInt\"\n }\n }\n },\n \"lpDkgInit\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"index\"],\n \"properties\": {\n \"index\": {\n \"$ref\": \"#/$defs/lpShardIndex\"\n }\n }\n },\n \"lpDkgRound1\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"session_id\", \"package\"],\n \"properties\": {\n \"session_id\": {\n \"$ref\": \"#/$defs/lpSessionId\"\n },\n \"package\": {\n \"$ref\": \"#/$defs/base64urlMax16384Bytes\"\n }\n }\n },\n \"lpDkgRound2\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"session_id\", \"package\", \"delegated_share\"],\n \"properties\": {\n \"session_id\": {\n \"$ref\": \"#/$defs/lpSessionId\"\n },\n \"package\": {\n \"$ref\": \"#/$defs/base64urlMax16384Bytes\"\n },\n \"delegated_share\": {\n \"$ref\": \"#/$defs/base64urlMax16384Bytes\"\n }\n }\n },\n \"lpDkgAbort\": {\n \"type\": \"object\",\n \"additionalProperties\": false\n },\n \"lpDkgFinalize\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"start_index\", \"addresses\", \"finalized_at_ms\"],\n \"properties\": {\n \"start_index\": {\n \"$ref\": \"#/$defs/lpShardIndex\"\n },\n \"addresses\": {\n \"type\": \"array\",\n \"minItems\": 1,\n \"maxItems\": 300,\n \"items\": {\n \"$ref\": \"#/$defs/lpAddress\"\n }\n },\n \"finalized_at_ms\": {\n \"$ref\": \"#/$defs/positiveSafeUInt\"\n }\n }\n },\n \"lpRefill\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"shard_count\", \"shard_amount_lamports\", \"addresses\", \"authorized_at_ms\"],\n \"properties\": {\n \"shard_count\": {\n \"type\": \"integer\",\n \"minimum\": 1,\n \"maximum\": 50\n },\n \"shard_amount_lamports\": {\n \"$ref\": \"#/$defs/positiveSafeUInt\"\n },\n \"addresses\": {\n \"type\": \"array\",\n \"maxItems\": 50,\n \"items\": {\n \"$ref\": \"#/$defs/lpAddress\"\n }\n },\n \"authorized_at_ms\": {\n \"$ref\": \"#/$defs/positiveSafeUInt\"\n }\n }\n },\n \"lpFundingPlan\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"shard_count\", \"planned_at_ms\"],\n \"properties\": {\n \"shard_count\": {\n \"type\": \"integer\",\n \"minimum\": 1,\n \"maximum\": 50\n },\n \"planned_at_ms\": {\n \"$ref\": \"#/$defs/positiveSafeUInt\"\n }\n }\n },\n \"lpFundingConfirmation\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"shard_id\", \"amount_lamports\", \"funding_tx_signature\"],\n \"properties\": {\n \"shard_id\": {\n \"$ref\": \"#/$defs/lpShardId\"\n },\n \"amount_lamports\": {\n \"$ref\": \"#/$defs/positiveSafeUInt\"\n },\n \"funding_tx_signature\": {\n \"$ref\": \"#/$defs/lpTxSignature\"\n }\n }\n },\n \"lpMakeAvailable\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"shard_id\"],\n \"properties\": {\n \"shard_id\": {\n \"$ref\": \"#/$defs/lpShardId\"\n }\n }\n },\n \"lpCommandResponse\": {\n \"$comment\": \"Union of all LP-signed command responses, regardless of carrier envelope. Envelope variants below narrow this: LpCommand gets lifecycle-only responses, WithdrawRequest gets withdrawalExecution.\",\n \"oneOf\": [\n {\n \"$ref\": \"#/$defs/lpCommandLifecycleResponse\"\n },\n {\n \"$ref\": \"#/$defs/lpWithdrawalExecutionResponse\"\n }\n ]\n },\n \"lpCommandLifecycleResponse\": {\n \"oneOf\": [\n {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"case\", \"value\"],\n \"properties\": {\n \"case\": {\n \"const\": \"position\"\n },\n \"value\": {\n \"$ref\": \"#/$defs/lpPositionView\"\n }\n }\n },\n {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"case\", \"value\"],\n \"properties\": {\n \"case\": {\n \"const\": \"dkgAbort\"\n },\n \"value\": {\n \"$ref\": \"#/$defs/lpDkgAbortResponse\"\n }\n }\n },\n {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"case\", \"value\"],\n \"properties\": {\n \"case\": {\n \"const\": \"dkgInit\"\n },\n \"value\": {\n \"$ref\": \"#/$defs/lpDkgInitResponse\"\n }\n }\n },\n {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"case\", \"value\"],\n \"properties\": {\n \"case\": {\n \"const\": \"dkgRound1\"\n },\n \"value\": {\n \"$ref\": \"#/$defs/lpDkgRound1Response\"\n }\n }\n },\n {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"case\", \"value\"],\n \"properties\": {\n \"case\": {\n \"const\": \"dkgRound2\"\n },\n \"value\": {\n \"$ref\": \"#/$defs/lpDkgRound2Response\"\n }\n }\n },\n {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"case\", \"value\"],\n \"properties\": {\n \"case\": {\n \"const\": \"shards\"\n },\n \"value\": {\n \"type\": \"array\",\n \"maxItems\": 300,\n \"items\": {\n \"$ref\": \"#/$defs/lpShardView\"\n }\n }\n }\n },\n {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"case\", \"value\"],\n \"properties\": {\n \"case\": {\n \"const\": \"shard\"\n },\n \"value\": {\n \"$ref\": \"#/$defs/lpShardView\"\n }\n }\n },\n {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"case\", \"value\"],\n \"properties\": {\n \"case\": {\n \"const\": \"topUpRequest\"\n },\n \"value\": {\n \"$ref\": \"#/$defs/lpTopUpRequest\"\n }\n }\n }\n ]\n },\n \"lpTopUpRequest\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"top_up_id\", \"lp_position_id\", \"deposit_address\", \"expires_at_ms\", \"status\"],\n \"properties\": {\n \"top_up_id\": {\n \"$ref\": \"#/$defs/lpId\"\n },\n \"lp_position_id\": {\n \"$ref\": \"#/$defs/lpId\"\n },\n \"deposit_address\": {\n \"$ref\": \"#/$defs/lpAddress\"\n },\n \"expires_at_ms\": {\n \"$ref\": \"#/$defs/positiveSafeUInt\"\n },\n \"status\": {\n \"enum\": [\"watching\", \"funded\", \"expired\"]\n }\n }\n },\n \"lpWithdrawalExecutionResponse\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"case\", \"value\"],\n \"properties\": {\n \"case\": {\n \"const\": \"withdrawalExecution\"\n },\n \"value\": {\n \"$ref\": \"#/$defs/lpWithdrawalExecutionView\"\n }\n }\n },\n \"lpDkgInitResponse\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"session_id\"],\n \"properties\": {\n \"session_id\": {\n \"$ref\": \"#/$defs/lpSessionId\"\n }\n }\n },\n \"lpDkgRound1Response\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"package\", \"round2_for_lp\"],\n \"properties\": {\n \"package\": {\n \"$ref\": \"#/$defs/base64urlMax16384Bytes\"\n },\n \"round2_for_lp\": {\n \"$ref\": \"#/$defs/base64urlMax16384Bytes\"\n }\n }\n },\n \"lpDkgRound2Response\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"lp_position_id\", \"shard_id\", \"index\", \"address\", \"joint_pubkey\"],\n \"properties\": {\n \"lp_position_id\": {\n \"$ref\": \"#/$defs/lpId\"\n },\n \"shard_id\": {\n \"$ref\": \"#/$defs/lpShardId\"\n },\n \"index\": {\n \"$ref\": \"#/$defs/lpShardIndex\"\n },\n \"address\": {\n \"$ref\": \"#/$defs/lpAddress\"\n },\n \"joint_pubkey\": {\n \"$ref\": \"#/$defs/base64url32Bytes\"\n }\n }\n },\n \"lpDkgAbortResponse\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"aborted_session_count\"],\n \"properties\": {\n \"aborted_session_count\": {\n \"$ref\": \"#/$defs/safeUInt\"\n }\n }\n },\n \"lpPositionView\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\n \"lp_position_id\",\n \"status\",\n \"target_shard_count\",\n \"auth_public_key\",\n \"refill_public_key\",\n \"redemption_commitment\",\n \"committed_lamports\",\n \"earned_lamports\",\n \"refill_threshold\",\n \"shards\",\n \"created_at_ms\"\n ],\n \"properties\": {\n \"lp_position_id\": {\n \"$ref\": \"#/$defs/lpId\"\n },\n \"status\": {\n \"enum\": [\"dkg_pending\", \"active\", \"withdrawing\", \"closed\"]\n },\n \"target_shard_count\": {\n \"type\": \"integer\",\n \"minimum\": 0,\n \"maximum\": 300\n },\n \"auth_public_key\": {\n \"$ref\": \"#/$defs/base64url32Bytes\"\n },\n \"refill_public_key\": {\n \"$ref\": \"#/$defs/base64url32Bytes\"\n },\n \"redemption_commitment\": {\n \"$ref\": \"#/$defs/base64url32Bytes\"\n },\n \"committed_lamports\": {\n \"$ref\": \"#/$defs/safeUInt\"\n },\n \"earned_lamports\": {\n \"$ref\": \"#/$defs/safeUInt\"\n },\n \"refill_threshold\": {\n \"type\": \"integer\",\n \"minimum\": 0,\n \"maximum\": 300\n },\n \"shards\": {\n \"type\": \"array\",\n \"maxItems\": 300,\n \"items\": {\n \"$ref\": \"#/$defs/lpShardView\"\n }\n },\n \"created_at_ms\": {\n \"$ref\": \"#/$defs/positiveSafeUInt\"\n },\n \"actor_sync\": {\n \"$ref\": \"#/$defs/lpActorSyncView\"\n }\n }\n },\n \"lpActorSyncView\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\n \"lp_position_id\",\n \"status\",\n \"source_liquidity_use\",\n \"pending_reservation_count\",\n \"reserved_payout_lamports\",\n \"estimated_network_fee_lamports\",\n \"reimbursement_due_count\",\n \"reimbursement_due_source_count\",\n \"reimbursement_due_payout_lamports\",\n \"reimbursement_due_network_fee_lamports\",\n \"withdrawal_requested_lamports\",\n \"withdrawal_landed_lamports\",\n \"withdrawal_landed_fee_lamports\",\n \"withdrawal_canceled_lamports\",\n \"withdrawal_network_fee_loss_lamports\",\n \"withdrawal_tx_hashes\",\n \"state_version\",\n \"updated_at_ms\"\n ],\n \"dependentRequired\": {\n \"redeemable_principal_lamports\": [\n \"redeemable_fee_lamports\",\n \"lifetime_earned_lamports\",\n \"redeemable_principal_source_count\",\n \"redeemable_fee_source_count\"\n ],\n \"redeemable_fee_lamports\": [\n \"redeemable_principal_lamports\",\n \"lifetime_earned_lamports\",\n \"redeemable_principal_source_count\",\n \"redeemable_fee_source_count\"\n ],\n \"lifetime_earned_lamports\": [\n \"redeemable_principal_lamports\",\n \"redeemable_fee_lamports\",\n \"redeemable_principal_source_count\",\n \"redeemable_fee_source_count\"\n ],\n \"redeemable_principal_source_count\": [\n \"redeemable_principal_lamports\",\n \"redeemable_fee_lamports\",\n \"lifetime_earned_lamports\",\n \"redeemable_fee_source_count\"\n ],\n \"redeemable_fee_source_count\": [\n \"redeemable_principal_lamports\",\n \"redeemable_fee_lamports\",\n \"lifetime_earned_lamports\",\n \"redeemable_principal_source_count\"\n ]\n },\n \"properties\": {\n \"lp_position_id\": {\n \"$ref\": \"#/$defs/lpId\"\n },\n \"status\": {\n \"enum\": [\"idle\", \"settling\", \"reimbursement_due\"]\n },\n \"source_liquidity_use\": {\n \"$ref\": \"#/$defs/sourceLiquidityUse\"\n },\n \"redeemable_principal_lamports\": {\n \"$ref\": \"#/$defs/safeUInt\"\n },\n \"redeemable_fee_lamports\": {\n \"$ref\": \"#/$defs/safeUInt\"\n },\n \"lifetime_earned_lamports\": {\n \"$ref\": \"#/$defs/safeUInt\"\n },\n \"redeemable_principal_source_count\": {\n \"$ref\": \"#/$defs/safeUInt\"\n },\n \"redeemable_fee_source_count\": {\n \"$ref\": \"#/$defs/safeUInt\"\n },\n \"redeemable_source_count\": {\n \"$ref\": \"#/$defs/safeUInt\"\n },\n \"pending_reservation_count\": {\n \"$ref\": \"#/$defs/safeUInt\"\n },\n \"reserved_payout_lamports\": {\n \"$ref\": \"#/$defs/safeUInt\"\n },\n \"estimated_network_fee_lamports\": {\n \"$ref\": \"#/$defs/safeUInt\"\n },\n \"reimbursement_due_count\": {\n \"$ref\": \"#/$defs/safeUInt\"\n },\n \"reimbursement_due_source_count\": {\n \"$ref\": \"#/$defs/safeUInt\"\n },\n \"reimbursement_due_payout_lamports\": {\n \"$ref\": \"#/$defs/safeUInt\"\n },\n \"reimbursement_due_network_fee_lamports\": {\n \"$ref\": \"#/$defs/safeUInt\"\n },\n \"withdrawal_requested_lamports\": {\n \"$ref\": \"#/$defs/safeUInt\"\n },\n \"withdrawal_landed_lamports\": {\n \"$ref\": \"#/$defs/safeUInt\"\n },\n \"withdrawal_landed_fee_lamports\": {\n \"$ref\": \"#/$defs/safeUInt\"\n },\n \"withdrawal_canceled_lamports\": {\n \"$ref\": \"#/$defs/safeUInt\"\n },\n \"withdrawal_network_fee_loss_lamports\": {\n \"$ref\": \"#/$defs/safeUInt\"\n },\n \"withdrawal_tx_hashes\": {\n \"type\": \"array\",\n \"maxItems\": 300,\n \"items\": {\n \"$ref\": \"#/$defs/lpTxSignature\"\n }\n },\n \"redemption_history\": {\n \"type\": \"array\",\n \"maxItems\": 32,\n \"items\": {\n \"$ref\": \"#/$defs/lpRedemptionHistory\"\n }\n },\n \"redemption_history_has_more\": {\n \"type\": \"boolean\"\n },\n \"redemption_history_next_cursor\": {\n \"$ref\": \"#/$defs/lpRedemptionId\"\n },\n \"state_version\": {\n \"$ref\": \"#/$defs/safeUInt\"\n },\n \"updated_at_ms\": {\n \"$ref\": \"#/$defs/safeUInt\"\n }\n }\n },\n \"lpRedemptionHistory\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\n \"redemption_id\",\n \"state\",\n \"accepted_lamports\",\n \"accepted_deposit_principal_lamports\",\n \"accepted_earned_fee_lamports\",\n \"landed_lamports\",\n \"landed_deposit_principal_lamports\",\n \"landed_earned_fee_lamports\",\n \"canceled_lamports\",\n \"canceled_deposit_principal_lamports\",\n \"canceled_earned_fee_lamports\",\n \"network_fee_lamports\",\n \"network_fee_loss_lamports\",\n \"failed_attempts\",\n \"destination_addresses\",\n \"destination_count\",\n \"tx_signatures\",\n \"tx_signature_count\",\n \"details_truncated\",\n \"state_version\",\n \"created_at_ms\",\n \"updated_at_ms\"\n ],\n \"properties\": {\n \"redemption_id\": {\n \"$ref\": \"#/$defs/lpRedemptionId\"\n },\n \"state\": {\n \"enum\": [\"requested\", \"match_requested\", \"reserved\", \"pending\", \"confirmed\", \"rejected\"]\n },\n \"withdrawal_mode\": {\n \"enum\": [\"exact\", \"max_available\"]\n },\n \"accepted_lamports\": {\n \"$ref\": \"#/$defs/positiveSafeUInt\"\n },\n \"accepted_deposit_principal_lamports\": {\n \"$ref\": \"#/$defs/safeUInt\"\n },\n \"accepted_earned_fee_lamports\": {\n \"$ref\": \"#/$defs/safeUInt\"\n },\n \"landed_lamports\": {\n \"$ref\": \"#/$defs/safeUInt\"\n },\n \"landed_deposit_principal_lamports\": {\n \"$ref\": \"#/$defs/safeUInt\"\n },\n \"landed_earned_fee_lamports\": {\n \"$ref\": \"#/$defs/safeUInt\"\n },\n \"canceled_lamports\": {\n \"$ref\": \"#/$defs/safeUInt\"\n },\n \"canceled_deposit_principal_lamports\": {\n \"$ref\": \"#/$defs/safeUInt\"\n },\n \"canceled_earned_fee_lamports\": {\n \"$ref\": \"#/$defs/safeUInt\"\n },\n \"network_fee_lamports\": {\n \"$ref\": \"#/$defs/safeUInt\"\n },\n \"network_fee_loss_lamports\": {\n \"$ref\": \"#/$defs/safeUInt\"\n },\n \"failed_attempts\": {\n \"$ref\": \"#/$defs/safeUInt\"\n },\n \"destination_addresses\": {\n \"type\": \"array\",\n \"minItems\": 1,\n \"maxItems\": 1000,\n \"items\": {\n \"$ref\": \"#/$defs/lpAddress\"\n }\n },\n \"destination_count\": {\n \"$ref\": \"#/$defs/safeUInt\"\n },\n \"tx_signatures\": {\n \"type\": \"array\",\n \"maxItems\": 32,\n \"items\": {\n \"$ref\": \"#/$defs/lpTxSignature\"\n }\n },\n \"tx_signature_count\": {\n \"$ref\": \"#/$defs/safeUInt\"\n },\n \"details_truncated\": {\n \"type\": \"boolean\"\n },\n \"state_version\": {\n \"$ref\": \"#/$defs/safeUInt\"\n },\n \"created_at_ms\": {\n \"$ref\": \"#/$defs/safeUInt\"\n },\n \"updated_at_ms\": {\n \"$ref\": \"#/$defs/safeUInt\"\n }\n }\n },\n \"lpShardView\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"lp_position_id\", \"shard_id\", \"index\", \"address\", \"amount_lamports\", \"status\"],\n \"properties\": {\n \"lp_position_id\": {\n \"$ref\": \"#/$defs/lpId\"\n },\n \"shard_id\": {\n \"$ref\": \"#/$defs/lpShardId\"\n },\n \"index\": {\n \"$ref\": \"#/$defs/lpShardIndex\"\n },\n \"address\": {\n \"$ref\": \"#/$defs/lpAddress\"\n },\n \"amount_lamports\": {\n \"$ref\": \"#/$defs/safeUInt\"\n },\n \"required_lamports\": {\n \"$ref\": \"#/$defs/positiveSafeUInt\"\n },\n \"status\": {\n \"enum\": [\n \"pregenerated\",\n \"funding_queued\",\n \"funded\",\n \"cooling\",\n \"available\",\n \"reserved\",\n \"retired\",\n \"redeemed\"\n ]\n },\n \"funding_tx_signature\": {\n \"$ref\": \"#/$defs/lpTxSignature\"\n },\n \"cooling_until_ms\": {\n \"$ref\": \"#/$defs/positiveSafeUInt\"\n },\n \"payout_tx_signature\": {\n \"$ref\": \"#/$defs/lpTxSignature\"\n }\n }\n },\n \"lpShardId\": {\n \"type\": \"string\",\n \"minLength\": 1,\n \"maxLength\": 160\n },\n \"lpWithdrawalRequestCase\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\"case\", \"value\"],\n \"properties\": {\n \"case\": {\n \"const\": \"withdrawRequest\"\n },\n \"value\": {\n \"$ref\": \"#/$defs/lpWithdrawalRequest\"\n }\n }\n },\n \"lpWithdrawalRequest\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\n \"destination_addresses\",\n \"deposit_principal_lamports\",\n \"earned_fee_lamports\",\n \"withdrawal_mode\",\n \"requested_at_ms\"\n ],\n \"properties\": {\n \"destination_addresses\": {\n \"type\": \"array\",\n \"minItems\": 1,\n \"maxItems\": 1000,\n \"uniqueItems\": true,\n \"items\": {\n \"$ref\": \"#/$defs/lpAddress\"\n }\n },\n \"deposit_principal_lamports\": {\n \"$ref\": \"#/$defs/safeUInt\"\n },\n \"earned_fee_lamports\": {\n \"$ref\": \"#/$defs/safeUInt\"\n },\n \"withdrawal_mode\": {\n \"enum\": [\"exact\", \"max_available\"]\n },\n \"requested_at_ms\": {\n \"$ref\": \"#/$defs/positiveSafeUInt\"\n }\n }\n },\n \"lpWithdrawalExecutionView\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"required\": [\n \"withdrawal_id\",\n \"tx_signatures\",\n \"accepted_lamports\",\n \"accepted_deposit_principal_lamports\",\n \"accepted_earned_fee_lamports\"\n ],\n \"properties\": {\n \"withdrawal_id\": {\n \"type\": \"string\",\n \"minLength\": 1,\n \"maxLength\": 160\n },\n \"tx_signatures\": {\n \"type\": \"array\",\n \"maxItems\": 300,\n \"items\": {\n \"$ref\": \"#/$defs/lpTxSignature\"\n }\n },\n \"accepted_lamports\": {\n \"$ref\": \"#/$defs/positiveSafeUInt\"\n },\n \"accepted_deposit_principal_lamports\": {\n \"$ref\": \"#/$defs/safeUInt\"\n },\n \"accepted_earned_fee_lamports\": {\n \"$ref\": \"#/$defs/safeUInt\"\n }\n }\n }\n }\n}\n","import Ajv2020 from \"ajv/dist/2020.js\";\nimport type { ErrorObject } from \"ajv\";\nimport coordinatorEnvelopeSchema from \"./coordinator-envelope.schema.json\";\nimport {\n CoordinatorError,\n ErrorCode,\n isValidErrorCode,\n type CoordResult,\n type ErrorPayload,\n} from \"./errors.js\";\nimport {\n CoordinatorMessageType,\n EnvelopeKind,\n isAllowedKindForType,\n isValidEnvelopeKind,\n isValidMessageType,\n} from \"./messages.js\";\nimport type {\n DelegateAckPayload,\n DelegateSharePayload,\n DelegateShareResponsePayload,\n DepositConfirmedPayload,\n DkgCompletePayload,\n DkgInitPayload,\n DkgInitResponsePayload,\n DkgRound1Payload,\n DkgRound1ResponsePayload,\n DkgRound2Payload,\n DkgRound2ResponsePayload,\n ExecutedFragment,\n LpCommandPayload,\n LpCommandResponsePayload,\n PayoutExecutedPayload,\n WithdrawAcceptedPayload,\n WithdrawExecutedPayload,\n WithdrawRequestPayload,\n SwapRequestPayload,\n SwapRequestResponsePayload,\n SyncRequiredPayload,\n SyncUserRequestPayload,\n SyncUserResponsePayload,\n} from \"./payloads.js\";\nimport {\n COORDINATOR_BINARY_FIELD_NAMES,\n type CoordinatorWireEnvelope,\n} from \"./schema.generated.js\";\n\nexport const ENVELOPE_VERSION = 2;\nexport const MAX_FRAME_SIZE = 256 * 1024;\nexport const COORDINATOR_ENVELOPE_SCHEMA: unknown = coordinatorEnvelopeSchema;\nconst LP_MAX_TARGET_SHARDS = 300;\nconst LP_WITHDRAW_REQUEST_PATH = \"lp_command.withdrawRequest\";\nconst UNKNOWN_SWAP_ID = \"<unknown>\";\n\nexport type Envelope = {\n readonly version: typeof ENVELOPE_VERSION;\n readonly kind: EnvelopeKind;\n readonly type: CoordinatorMessageType;\n readonly swap_id: string | null;\n readonly req_id: number;\n readonly timestamp_ms: number;\n readonly payload: unknown;\n};\n\nconst binaryFieldNames = new Set<string>(COORDINATOR_BINARY_FIELD_NAMES);\n\nconst ajv = new Ajv2020({\n allErrors: true,\n strict: true,\n});\n\nconst validateWireEnvelope = ajv.compile<CoordinatorWireEnvelope>(coordinatorEnvelopeSchema);\nconst textEncoder = new TextEncoder();\nconst textDecoder = new TextDecoder(\"utf-8\", { fatal: true });\n\nexport function encode(env: Envelope): Uint8Array {\n return textEncoder.encode(JSON.stringify(toWireEnvelope(env)));\n}\n\nexport function safeEncode(env: Envelope): CoordResult<Uint8Array> {\n let wire: CoordinatorWireEnvelope;\n try {\n wire = toWireEnvelope(env);\n } catch (error) {\n return {\n ok: false,\n error: new CoordinatorError(\n ErrorCode.ERR_INVALID_PAYLOAD,\n error instanceof Error ? error.message : String(error),\n ),\n };\n }\n\n if (!validateWireEnvelope(wire)) {\n return { ok: false, error: schemaError(wire, validateWireEnvelope.errors ?? []) };\n }\n\n const encoded = textEncoder.encode(JSON.stringify(wire));\n if (encoded.byteLength > MAX_FRAME_SIZE) {\n return {\n ok: false,\n error: new CoordinatorError(\n ErrorCode.ERR_INVALID_PAYLOAD,\n `frame too large: ${encoded.byteLength} > ${MAX_FRAME_SIZE}`,\n ),\n };\n }\n return { ok: true, value: encoded };\n}\n\nexport function encodeValidated(env: Envelope): Uint8Array {\n const encoded = safeEncode(env);\n if (!encoded.ok) {\n throw encoded.error;\n }\n return encoded.value;\n}\n\n/**\n * Routes a signed LP command onto its wire envelope.\n *\n * JW-372 step 8 consolidation: verb actions ride a shared verb-typed envelope\n * (e.g. `Sync`) with an `actor:\"lp\"` discriminant; the LP lifecycle actions\n * (DKG / funding) stay under the `LpCommand` envelope. The inner signed\n * `command` is byte-identical either way — the signature is still over\n * `canonicalJsonStringify(command)` — so the auth boundary is unchanged.\n */\nexport function lpSignedCommandEnvelope(\n command: LpCommandPayload,\n signature: Uint8Array,\n): { readonly type: CoordinatorMessageType; readonly payload: Record<string, unknown> } {\n switch (command.action) {\n case \"position_get\":\n return { type: CoordinatorMessageType.Sync, payload: { actor: \"lp\", command, signature } };\n case \"refill\":\n return { type: CoordinatorMessageType.Refill, payload: { actor: \"lp\", command, signature } };\n case \"position_open\":\n return {\n type: CoordinatorMessageType.ContractRequest,\n payload: { actor: \"lp\", command, signature },\n };\n case \"withdraw_request\":\n return {\n type: CoordinatorMessageType.WithdrawRequest,\n payload: { actor: \"lp\", command, signature },\n };\n default:\n return { type: CoordinatorMessageType.LpCommand, payload: { command, signature } };\n }\n}\n\nexport function encodeLpCommandForSigning(command: LpCommandPayload): Uint8Array {\n validateLpCommandPreSchemaSemanticsForSigning(command);\n const { type, payload } = lpSignedCommandEnvelope(command, new Uint8Array(64));\n const probe = toWireEnvelope({\n version: ENVELOPE_VERSION,\n kind: EnvelopeKind.REQUEST,\n type,\n swap_id: null,\n req_id: 0,\n timestamp_ms: 0,\n payload,\n });\n\n if (!validateWireEnvelope(probe)) {\n throw schemaError(probe, validateWireEnvelope.errors ?? []);\n }\n validateLpCommandSemanticsForSigning(command);\n\n return textEncoder.encode(canonicalJsonStringify(toWireValue(command)));\n}\n\nfunction validateLpCommandPreSchemaSemanticsForSigning(command: LpCommandPayload): void {\n if (command.payload.case !== \"withdrawRequest\") return;\n const value = command.payload.value as Record<string, unknown>;\n const destinationAddresses = value.destination_addresses;\n if (!Array.isArray(destinationAddresses)) return;\n validateUniqueLpAddresses(\n LP_WITHDRAW_REQUEST_PATH,\n destinationAddresses.filter((address): address is string => typeof address === \"string\"),\n );\n}\n\nfunction validateLpCommandSemanticsForSigning(command: LpCommandPayload): void {\n switch (command.payload.case) {\n case \"positionOpen\": {\n const { addresses, refill_threshold, shard_count } = command.payload.value;\n if (refill_threshold > shard_count) {\n throw new CoordinatorError(\n ErrorCode.ERR_INVALID_PAYLOAD,\n `lp_command.positionOpen.refill_threshold (${refill_threshold}) must be <= shard_count (${shard_count})`,\n );\n }\n validateOptionalLpAddressCount(\"lp_command.positionOpen\", addresses, shard_count);\n return;\n }\n case \"refill\": {\n const { addresses, shard_count } = command.payload.value;\n validateOptionalLpAddressCount(\"lp_command.refill\", addresses, shard_count);\n return;\n }\n case \"dkgFinalize\": {\n const { addresses, start_index } = command.payload.value;\n validateLpDkgFinalizeRange(\"lp_command.dkgFinalize\", start_index, addresses.length);\n return;\n }\n case \"withdrawRequest\": {\n const {\n deposit_principal_lamports,\n earned_fee_lamports,\n destination_addresses,\n withdrawal_mode,\n } = command.payload.value;\n const bucketTotal = deposit_principal_lamports + earned_fee_lamports;\n if (withdrawal_mode === \"exact\" && (!Number.isSafeInteger(bucketTotal) || bucketTotal <= 0)) {\n throw new CoordinatorError(\n ErrorCode.ERR_INVALID_PAYLOAD,\n `${LP_WITHDRAW_REQUEST_PATH} bucket claim must be positive`,\n );\n }\n if (withdrawal_mode === \"max_available\" && bucketTotal !== 0) {\n throw new CoordinatorError(\n ErrorCode.ERR_INVALID_PAYLOAD,\n `${LP_WITHDRAW_REQUEST_PATH} max_available must not carry bucket claims`,\n );\n }\n validateUniqueLpAddresses(LP_WITHDRAW_REQUEST_PATH, destination_addresses);\n return;\n }\n default:\n return;\n }\n}\n\nfunction validateOptionalLpAddressCount(\n path: string,\n addresses: readonly string[],\n shardCount: number,\n): void {\n if (addresses.length > 0 && addresses.length !== shardCount) {\n throw new CoordinatorError(\n ErrorCode.ERR_INVALID_PAYLOAD,\n `${path}.addresses length (${addresses.length}) must be 0 or equal shard_count (${shardCount})`,\n );\n }\n}\n\nfunction validateUniqueLpAddresses(path: string, addresses: readonly string[]): void {\n const seen = new Set<string>();\n for (const address of addresses) {\n if (seen.has(address)) {\n throw new CoordinatorError(\n ErrorCode.ERR_INVALID_PAYLOAD,\n `${path} duplicate destination address: ${address}`,\n );\n }\n seen.add(address);\n }\n}\n\nfunction validateLpDkgFinalizeRange(path: string, startIndex: number, addressCount: number): void {\n if (addressCount === 0) return;\n const lastIndex = startIndex + addressCount - 1;\n if (lastIndex >= LP_MAX_TARGET_SHARDS) {\n throw new CoordinatorError(\n ErrorCode.ERR_INVALID_PAYLOAD,\n `${path}.addresses end index (${lastIndex}) must be <= ${LP_MAX_TARGET_SHARDS - 1}`,\n );\n }\n}\n\nexport function decode(raw: Uint8Array): CoordResult<Envelope> {\n if (raw.byteLength === 0) {\n return {\n ok: false,\n error: new CoordinatorError(ErrorCode.ERR_INVALID_PAYLOAD, \"empty frame\"),\n };\n }\n if (raw.byteLength > MAX_FRAME_SIZE) {\n return {\n ok: false,\n error: new CoordinatorError(\n ErrorCode.ERR_INVALID_PAYLOAD,\n `frame too large: ${raw.byteLength} > ${MAX_FRAME_SIZE}`,\n ),\n };\n }\n\n let parsed: unknown;\n try {\n parsed = JSON.parse(textDecoder.decode(raw)) as unknown;\n } catch (error) {\n return {\n ok: false,\n error: new CoordinatorError(\n ErrorCode.ERR_INVALID_PAYLOAD,\n `json decode failed: ${error instanceof Error ? error.message : String(error)}`,\n ),\n };\n }\n\n if (!validateWireEnvelope(parsed)) {\n return { ok: false, error: schemaError(parsed, validateWireEnvelope.errors ?? []) };\n }\n\n try {\n return { ok: true, value: fromWireEnvelope(parsed) };\n } catch (error) {\n if (error instanceof CoordinatorError) {\n return { ok: false, error };\n }\n return {\n ok: false,\n error: new CoordinatorError(\n ErrorCode.ERR_INVALID_PAYLOAD,\n error instanceof Error ? error.message : String(error),\n ),\n };\n }\n}\n\nfunction toWireEnvelope(env: Envelope): CoordinatorWireEnvelope {\n return stripUndefined({\n version: env.version,\n kind: env.kind,\n type: env.type,\n swap_id: env.swap_id,\n req_id: env.req_id,\n timestamp_ms: env.timestamp_ms,\n payload: toWireValue(env.payload),\n }) as CoordinatorWireEnvelope;\n}\n\nfunction fromWireEnvelope(value: CoordinatorWireEnvelope): Envelope {\n if (!isRecord(value)) {\n throw new CoordinatorError(ErrorCode.ERR_INVALID_PAYLOAD, \"envelope must be an object\");\n }\n\n const kind = value.kind as EnvelopeKind;\n const type = value.type as CoordinatorMessageType;\n const swapId = value.swap_id as string | null;\n const payload = fromWireValue(value.payload);\n // ContractRequest carries both user swap responses and LP position responses.\n // Only the user swap arm has a payload-level swap_id to correlate.\n if (\n kind === EnvelopeKind.RESPONSE &&\n type === CoordinatorMessageType.ContractRequest &&\n isSwapRequestResponsePayload(payload) &&\n (!swapId || payload.swap_id !== swapId)\n ) {\n const payloadSwapId = isRecord(payload) ? String(payload.swap_id) : UNKNOWN_SWAP_ID;\n throw new CoordinatorError(\n ErrorCode.ERR_INVALID_PAYLOAD,\n `ContractRequest response requires matching non-null swap_id: envelope.swap_id (${swapId ?? \"null\"}), payload.swap_id (${payloadSwapId})`,\n );\n }\n\n return {\n version: value.version as typeof ENVELOPE_VERSION,\n kind,\n type,\n swap_id: swapId,\n req_id: value.req_id as number,\n timestamp_ms: value.timestamp_ms as number,\n payload,\n };\n}\n\nfunction toWireValue(value: unknown, fieldName?: string): unknown {\n if (value instanceof Uint8Array) {\n return bytesToBase64Url(value);\n }\n if (Array.isArray(value)) {\n return value.map((item) => toWireValue(item));\n }\n if (isRecord(value)) {\n const out: Record<string, unknown> = {};\n for (const [key, item] of Object.entries(value)) {\n if (item !== undefined) {\n out[key] = toWireValue(item, key);\n }\n }\n return out;\n }\n if (fieldName !== undefined && binaryFieldNames.has(fieldName) && typeof value !== \"string\") {\n return value;\n }\n return value;\n}\n\nfunction fromWireValue(value: unknown, fieldName?: string): unknown {\n if (typeof value === \"string\" && fieldName !== undefined && binaryFieldNames.has(fieldName)) {\n return base64UrlToBytes(value, fieldName);\n }\n if (Array.isArray(value)) {\n return value.map((item) => fromWireValue(item));\n }\n if (isRecord(value)) {\n const out: Record<string, unknown> = {};\n for (const [key, item] of Object.entries(value)) {\n out[key] = fromWireValue(item, key);\n }\n return out;\n }\n return value;\n}\n\nfunction schemaError(value: unknown, errors: readonly ErrorObject[]): CoordinatorError {\n const code = kindTypeMismatch(value)\n ? ErrorCode.ERR_UNEXPECTED_TYPE\n : ErrorCode.ERR_INVALID_PAYLOAD;\n const expectedIssue = expectedProtocolIssue(value);\n const formatted = formatErrors(value, errors);\n const details =\n expectedIssue === null || formatted.includes(expectedIssue)\n ? formatted\n : `${expectedIssue}; ${formatted}`;\n return new CoordinatorError(code, `json schema validation failed: ${details}`);\n}\n\nfunction kindTypeMismatch(value: unknown): boolean {\n if (!isRecord(value)) return false;\n const kind = value.kind;\n const type = value.type;\n return isValidEnvelopeKind(kind) && isValidMessageType(type) && !isAllowedKindForType(kind, type);\n}\n\nfunction formatErrors(value: unknown, errors: readonly ErrorObject[]): string {\n if (errors.length === 0) return \"no details\";\n const relevant = relevantErrors(errors);\n return relevant\n .slice(0, 8)\n .map((error) => formatError(value, error))\n .filter(uniqueStrings)\n .join(\"; \");\n}\n\nfunction expectedProtocolIssue(value: unknown): string | null {\n if (!isRecord(value)) return null;\n if (!isValidEnvelopeKind(value.kind)) return \"kind has an unknown value\";\n if (!isValidMessageType(value.type)) return \"type has an unknown value\";\n if (!isAllowedKindForType(value.kind, value.type)) {\n return `kind ${String(value.kind)} is not allowed for type ${String(value.type)}`;\n }\n const payload = value.payload;\n if (!isRecord(payload)) return `${payloadPathRoot(value)} must be object`;\n\n const required = requiredPayloadFields(value.kind, value.type);\n const missing = required.filter((field) => !(field in payload));\n return missing.length > 0\n ? missing.map((field) => `${payloadPathRoot(value)}.${field} is required`).join(\"; \")\n : null;\n}\n\nfunction requiredPayloadFields(\n kind: EnvelopeKind,\n type: CoordinatorMessageType,\n): readonly string[] {\n const key = `${kind}:${type}`;\n switch (key) {\n case \"request:ContractRequest\":\n return [\"actor\", \"amount_lamports\", \"payout_spec\", \"sync_commitment\"];\n case \"response:ContractRequest\":\n return [\"swap_id\", \"accepted\", \"policy_snapshot\"];\n case \"response:DkgInit\":\n return [\"ready\"];\n case \"request:DkgRound1\":\n case \"response:DkgRound2\":\n case \"request:DkgRound2\":\n return [\"package\"];\n case \"response:DkgRound1\":\n return [\"package\", \"round2_for_alice\"];\n case \"push:DkgComplete\":\n return [\"joint_pubkey\", \"deposit_expires_at_ms\"];\n case \"request:DelegateShare\":\n return [\"share\", \"recovery_commitment\"];\n case \"response:DelegateShare\":\n return [\"delegated_at_ms\"];\n case \"push:DelegateAck\":\n return [\"delegated_at_ms\", \"spending_policy\"];\n case \"push:DepositConfirmed\":\n return [\"tx_signature\", \"amount_lamports\", \"observed_at_ms\"];\n case \"request:Sync\":\n return [\"actor\"];\n case \"response:Sync\":\n return [\"state\", \"fragments_executed\"];\n case \"push:SyncRequired\":\n return [\"subject\", \"event_kind\", \"state_version\", \"created_at_ms\", \"sync_required\"];\n case \"request:Refill\":\n return [\"actor\", \"command\", \"signature\"];\n case \"response:Refill\":\n return [\"case\", \"value\"];\n case \"push:PayoutExecuted\":\n return [\n \"index\",\n \"amount_lamports\",\n \"destination_address\",\n \"tx_signature\",\n \"executed_at_ms\",\n \"final\",\n ];\n case \"request:WithdrawRequest\":\n return [\"recovery_code\", \"actor\", \"command\", \"signature\"];\n case \"response:WithdrawRequest\":\n return [\"case\", \"value\"];\n case \"request:LpCommand\":\n return [\"command\", \"signature\"];\n case \"response:LpCommand\":\n return [\"case\", \"value\"];\n case \"response:WithdrawExecuted\":\n case \"push:WithdrawExecuted\":\n return [\n \"tx_signature\",\n \"amount_lamports\",\n \"withdrawn_at_ms\",\n \"trigger\",\n \"destination_address\",\n ];\n case \"response:WithdrawAccepted\":\n return [\"status\", \"amount_lamports\", \"destination_address\", \"accepted_at_ms\"];\n case \"error:Error\":\n return [\"code\", \"message\"];\n default:\n return [];\n }\n}\n\nfunction relevantErrors(errors: readonly ErrorObject[]): readonly ErrorObject[] {\n const lpCommandErrors = errors.filter(\n (error) =>\n error.instancePath.startsWith(\"/payload/command\") ||\n error.instancePath.startsWith(\"/payload/signature\"),\n );\n const specificLpCommandErrors = lpCommandErrors.filter(\n (error) => error.keyword !== \"const\" && error.keyword !== \"required\",\n );\n if (specificLpCommandErrors.length > 0) return specificLpCommandErrors;\n if (lpCommandErrors.length > 0) return lpCommandErrors;\n\n const actorSyncErrors = errors.filter((error) =>\n error.instancePath.startsWith(\"/payload/actor_sync\"),\n );\n if (actorSyncErrors.length > 0) return actorSyncErrors;\n\n const payloadErrors = errors.filter((error) => error.instancePath.startsWith(\"/payload\"));\n const requiredPayloadErrors = errors.filter(\n (error) => error.keyword === \"required\" && error.instancePath === \"/payload\",\n );\n const topLevelErrors = errors.filter((error) => !error.schemaPath.includes(\"/oneOf/\"));\n const relevant = [...payloadErrors, ...requiredPayloadErrors, ...topLevelErrors];\n return relevant.length > 0 ? relevant : errors;\n}\n\nfunction formatError(value: unknown, error: ErrorObject): string {\n const path = pathForError(value, error);\n switch (error.keyword) {\n case \"required\":\n return `${path} is required`;\n case \"additionalProperties\":\n return `${path} is not allowed`;\n case \"const\":\n return `${path} has the wrong literal value`;\n case \"enum\":\n return `${path} has an unknown value`;\n case \"oneOf\":\n case \"anyOf\":\n return `${path} does not match any allowed protocol shape`;\n case \"pattern\":\n return `${path} must use base64url without padding`;\n case \"minLength\":\n case \"maxLength\":\n case \"minimum\":\n case \"maximum\":\n case \"type\":\n return `${path} ${error.message ?? \"is invalid\"}`;\n default:\n return `${path} ${error.message ?? error.keyword}`;\n }\n}\n\nfunction pathForError(value: unknown, error: ErrorObject): string {\n const parts = pointerParts(error.instancePath);\n if (error.keyword === \"required\" && typeof error.params.missingProperty === \"string\") {\n parts.push(error.params.missingProperty);\n }\n if (\n error.keyword === \"additionalProperties\" &&\n typeof error.params.additionalProperty === \"string\"\n ) {\n parts.push(error.params.additionalProperty);\n }\n if (parts[0] === \"payload\") {\n const payloadRoot = payloadPathRoot(value);\n const rest = parts.slice(1);\n return rest.length > 0 ? `${payloadRoot}.${rest.join(\".\")}` : payloadRoot;\n }\n return parts.length > 0 ? parts.join(\".\") : \"envelope\";\n}\n\nfunction payloadPathRoot(value: unknown): string {\n if (!isRecord(value) || typeof value.type !== \"string\") {\n return \"payload\";\n }\n const base = camelToSnake(value.type);\n if (value.kind === EnvelopeKind.RESPONSE) return `${base}_response`;\n return base;\n}\n\nfunction pointerParts(pointer: string): string[] {\n if (pointer === \"\") return [];\n return pointer\n .split(\"/\")\n .slice(1)\n .map((part) => part.replace(/~1/g, \"/\").replace(/~0/g, \"~\"));\n}\n\nfunction camelToSnake(value: string): string {\n return value.replace(/([a-z0-9])([A-Z])/g, \"$1_$2\").toLowerCase();\n}\n\nfunction uniqueStrings(value: string, index: number, all: readonly string[]): boolean {\n return all.indexOf(value) === index;\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\nfunction isSwapRequestResponsePayload(value: unknown): value is SwapRequestResponsePayload {\n return isRecord(value) && value.accepted === true && typeof value.swap_id === \"string\";\n}\n\nfunction stripUndefined(value: Record<string, unknown>): Record<string, unknown> {\n const out: Record<string, unknown> = {};\n for (const [key, item] of Object.entries(value)) {\n if (item !== undefined) {\n out[key] = item;\n }\n }\n return out;\n}\n\nfunction canonicalJsonStringify(value: unknown): string {\n if (\n value === null ||\n typeof value === \"boolean\" ||\n typeof value === \"number\" ||\n typeof value === \"string\"\n ) {\n return JSON.stringify(value);\n }\n if (Array.isArray(value)) {\n return `[${value.map((item) => canonicalJsonStringify(item)).join(\",\")}]`;\n }\n if (isRecord(value)) {\n return `{${Object.keys(value)\n .sort()\n .map((key) => `${JSON.stringify(key)}:${canonicalJsonStringify(value[key])}`)\n .join(\",\")}}`;\n }\n throw new CoordinatorError(ErrorCode.ERR_INVALID_PAYLOAD, \"LP command contains non-JSON value\");\n}\n\nfunction bytesToBase64Url(bytes: Uint8Array): string {\n let binary = \"\";\n const chunkSize = 0x8000;\n for (let i = 0; i < bytes.length; i += chunkSize) {\n binary += String.fromCharCode(...bytes.subarray(i, i + chunkSize));\n }\n return btoa(binary).replace(/\\+/g, \"-\").replace(/\\//g, \"_\").replace(/=+$/u, \"\");\n}\n\nfunction base64UrlToBytes(value: string, field: string): Uint8Array {\n const remainder = value.length % 4;\n if (remainder === 1) {\n throw new CoordinatorError(ErrorCode.ERR_INVALID_PAYLOAD, `${field} is invalid base64url`);\n }\n const padded = value.replace(/-/g, \"+\").replace(/_/g, \"/\") + \"=\".repeat((4 - remainder) % 4);\n const binary = atob(padded);\n const out = new Uint8Array(binary.length);\n for (let i = 0; i < binary.length; i += 1) {\n out[i] = binary.charCodeAt(i);\n }\n return out;\n}\n\nexport const asSwapRequestPayload = (e: Envelope) => e.payload as SwapRequestPayload;\nexport const asSwapRequestResponsePayload = (e: Envelope): SwapRequestResponsePayload => {\n if (\n e.kind !== EnvelopeKind.RESPONSE ||\n e.type !== CoordinatorMessageType.ContractRequest ||\n e.swap_id === null ||\n !isSwapRequestResponsePayload(e.payload) ||\n e.payload.swap_id !== e.swap_id\n ) {\n const payloadSwapId = isRecord(e.payload) ? String(e.payload.swap_id) : UNKNOWN_SWAP_ID;\n throw new CoordinatorError(\n ErrorCode.ERR_INVALID_PAYLOAD,\n `ContractRequest response: envelope.swap_id (${e.swap_id}) does not match payload.swap_id (${payloadSwapId})`,\n );\n }\n return e.payload as SwapRequestResponsePayload;\n};\nexport const asDkgInitPayload = (e: Envelope) => e.payload as DkgInitPayload;\nexport const asDkgInitResponsePayload = (e: Envelope) => e.payload as DkgInitResponsePayload;\nexport const asDkgRound1Payload = (e: Envelope) => e.payload as DkgRound1Payload;\nexport const asDkgRound1ResponsePayload = (e: Envelope) => e.payload as DkgRound1ResponsePayload;\nexport const asDkgRound2Payload = (e: Envelope) => e.payload as DkgRound2Payload;\nexport const asDkgRound2ResponsePayload = (e: Envelope) => e.payload as DkgRound2ResponsePayload;\nexport const asDkgCompletePayload = (e: Envelope) => e.payload as DkgCompletePayload;\nexport const asDelegateSharePayload = (e: Envelope) => e.payload as DelegateSharePayload;\nexport const asDelegateShareResponsePayload = (e: Envelope) =>\n e.payload as DelegateShareResponsePayload;\nexport const asDelegateAckPayload = (e: Envelope) => e.payload as DelegateAckPayload;\nexport const asDepositConfirmedPayload = (e: Envelope) => e.payload as DepositConfirmedPayload;\nexport const asSyncUserRequestPayload = (e: Envelope) => e.payload as SyncUserRequestPayload;\nexport const asSyncUserResponsePayload = (e: Envelope) => e.payload as SyncUserResponsePayload;\nexport const asSyncRequiredPayload = (e: Envelope) => e.payload as SyncRequiredPayload;\nexport const asPayoutExecutedPayload = (e: Envelope) =>\n e.payload as PayoutExecutedPayload as ExecutedFragment;\nexport const asWithdrawRequestPayload = (e: Envelope) => e.payload as WithdrawRequestPayload;\nexport const asWithdrawAcceptedPayload = (e: Envelope) => e.payload as WithdrawAcceptedPayload;\nexport const asWithdrawExecutedPayload = (e: Envelope) => e.payload as WithdrawExecutedPayload;\nexport const asLpCommandResponsePayload = (e: Envelope) => e.payload as LpCommandResponsePayload;\nexport const asErrorPayload = (e: Envelope) => {\n const payload = e.payload as ErrorPayload;\n if (!isValidErrorCode(payload.code)) {\n throw new CoordinatorError(\n ErrorCode.ERR_INVALID_PAYLOAD,\n `unknown error code ${String(payload.code)}`,\n );\n }\n return payload;\n};\n"]}