@arcanetech/privacy-sdk-stellar 0.5.4 → 0.6.1
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.
- package/dist/index.d.ts +58 -21
- package/dist/index.js +422 -81
- package/dist/index.js.map +1 -1
- package/dist/node.d.ts +24 -1
- package/dist/node.js +420 -79
- package/dist/node.js.map +1 -1
- package/dist/state/index.d.ts +31 -1
- package/dist/state/index.js +10 -2
- package/dist/state/index.js.map +1 -1
- package/dist/transact/index.d.ts +22 -1
- package/dist/transact/index.js +323 -72
- package/dist/transact/index.js.map +1 -1
- package/package.json +2 -2
package/dist/state/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/state/foundation/paths.ts","../../src/state/schemas/shared.ts","../../src/state/foundation/coerce.ts","../../src/state/read/normalize/assets.ts","../../src/state/read/normalize/deliveries.ts","../../src/state/read/normalize/pool.ts","../../src/state/read/normalize/registry.ts","../../src/state/read/normalize/records.ts","../../src/state/read/normalize/wallet.ts","../../src/state/read/snapshot.ts","../../src/state/filters/register-schemas.ts","../../src/state/filters/ops.ts","../../src/state/bridge/call-types.ts","../../src/state/schemas/assets/catalog.ts","../../src/state/definitions/assets.ts","../../src/state/schemas/assets/balances.ts","../../src/state/foundation/keys.ts","../../src/state/definitions/balances.ts","../../src/state/schemas/claims/deliveries.ts","../../src/state/definitions/deliveries.ts","../../src/state/schemas/pool/merkle.ts","../../src/state/definitions/pool.ts","../../src/state/schemas/records/private.ts","../../src/state/schemas/records/transactions.ts","../../src/state/definitions/records.ts","../../src/state/schemas/registry/lookup.ts","../../src/state/definitions/registry.ts","../../src/state/definitions/transactions.ts","../../src/state/schemas/wallet/scalar.ts","../../src/state/schemas/wallet/private-address.ts","../../src/state/definitions/wallet.ts","../../src/state/definitions/index.ts","../../src/state/service/base.ts","../../src/state/service/assets/balance-methods.ts","../../src/state/service/assets/upsert-methods.ts","../../src/state/service/assets/catalog-methods.ts","../../src/state/service/assets/index.ts","../../src/state/service/deliveries/incoming-methods.ts","../../src/state/service/deliveries/sync-methods.ts","../../src/state/service/deliveries/index.ts","../../src/state/service/pool/ephemeral.ts","../../src/state/service/pool/merkle.ts","../../src/state/service/records/private-record-upsert.ts","../../src/state/service/records/private-methods.ts","../../src/state/service/records/transaction-methods.ts","../../src/state/service/records/index.ts","../../src/state/service/registry/lookup-read.ts","../../src/state/service/registry/lookup-write.ts","../../src/state/service/registry/lookup.ts","../../src/state/service/registry/wallet-record-methods.ts","../../src/state/service/registry/wallet-scalar-methods.ts","../../src/state/service/registry/wallet-address.ts","../../src/state/service/compose.ts","../../src/state/service/index.ts"],"sourcesContent":["export const STELLAR_STATE_PATHS = {\n privateRecords: '$.privateRecords',\n registryPrivateAddresses: '$.registry.privateAddresses',\n registryRegisteredAddresses: '$.registry.registeredAddresses',\n registryLookups: '$.registry.lookups',\n assets: '$.assets',\n assetsById: '$.assets.byId',\n assetsListOrder: '$.assets.listOrder',\n publicBalances: '$.balances.publicByOwnerAsset',\n poolsByContract: '$.pools.byContract',\n poolsLeafEphemeral: '$.pools.leafEphemeralByContractAndIndex',\n deliveriesIncomingById: '$.deliveries.incomingById',\n deliveriesSync: '$.deliveries.syncByPrivateAddressAsset',\n transactionsByHash: '$.transactions.byHash',\n walletPrivateAddressScalars: '$.wallet.privateAddressScalars',\n walletPrivateAddressRecords: '$.wallet.privateAddressRecords',\n walletDefaultPrivateAddressNonce: '$.wallet.defaultPrivateAddressNonce',\n} as const;\n","import { z } from 'zod';\n\nexport const paginationSchema = z.object({\n total: z.number().int().nonnegative(),\n page: z.number().int().positive(),\n pageSize: z.number().int().positive(),\n hasMore: z.boolean(),\n});\n\nconst stellarPrivateCoinNoteSchema = z.object({\n value: z.string(),\n nullifier: z.string(),\n secret: z.string(),\n commitment: z.string(),\n asset_hi: z.string(),\n asset_lo: z.string(),\n application_id: z.string().optional(),\n});\n\nexport const privateRecordSchema = z.object({\n id: z.string().min(1),\n owner: z.string().min(1),\n asset: z.string().min(1),\n amount: z.coerce.bigint(),\n consumed: z.boolean(),\n status: z.enum(['pending', 'finalized', 'spent']).optional(),\n poolContract: z.string().optional(),\n commitmentHex: z.string().optional(),\n nullifierHex: z.string().optional(),\n amountDisplay: z.number().optional(),\n deliveryId: z.number().int().optional(),\n privateAddress: z.string().optional(),\n txHash: z.string().optional(),\n coinNote: stellarPrivateCoinNoteSchema.optional(),\n depositScalarHex: z.string().optional(),\n precommitementHex: z.string().optional(),\n});\n\nexport const assetSchema = z.object({\n id: z.number().int(),\n assetId: z.string().min(1),\n name: z.string().min(1),\n logoUrl: z.string().nullable(),\n issuerAddress: z.string().nullable(),\n clientContract: z.string().nullable(),\n poolContracts: z.array(z.string()),\n poolContract: z.string().min(1),\n mintable: z.boolean(),\n mintAmount: z.string().nullable(),\n decimals: z.number().int().nullable().optional(),\n});\n\nexport const publicBalanceSchema = z.object({\n owner: z.string().min(1),\n asset: z.string().min(1),\n balance: z.string(),\n trustlineStatus: z.enum(['active', 'inactive', 'none']),\n});\n\nexport const registryLookupSchema = z.object({\n owner: z.string().min(1),\n status: z.enum(['registered', 'unregistered']),\n privateAddressStpl1: z.string().optional(),\n publicKeyXHex: z.string().optional(),\n publicKeyYHex: z.string().optional(),\n updatedAtLedger: z.number().int().optional(),\n cachedAt: z.string().optional(),\n});\n\nexport const walletPrivateAddressScalarSchema = z.object({\n owner: z.string().min(1),\n nonce: z.string().min(1),\n scalarHex: z.string().min(1),\n updatedAt: z.string().optional(),\n});\n\nexport const walletPrivateAddressRecordSchema = z.object({\n owner: z.string().min(1),\n nonce: z.string().min(1),\n privateAddress: z.string().min(1),\n createdAt: z.number(),\n});\n\nexport const poolMerkleStateSchema = z.object({\n poolContract: z.string().min(1),\n commitments: z.array(z.string()),\n commitmentCount: z.number().int().nonnegative(),\n merkleRootHex: z.string().min(1),\n updatedAt: z.number(),\n syncedLedger: z.number().int().optional(),\n});\n\nexport const leafEphemeralSchema = z.object({\n poolContract: z.string().min(1),\n leafIndex: z.number().int().nonnegative(),\n xHex: z.string().min(1),\n yHex: z.string().min(1),\n cachedAt: z.string().optional(),\n});\n\nexport const incomingDeliverySchema = z.object({\n id: z.number().int(),\n privateAddress: z.string().min(1),\n asset: z.string().min(1),\n ciphertextBase64: z.string().min(1),\n ephemeralKey: z.string().min(1),\n tagBase64: z.string().min(1),\n createdAt: z.string().min(1),\n processed: z.boolean().optional(),\n});\n\nexport const deliverySyncStateSchema = z.object({\n privateAddress: z.string().min(1),\n asset: z.string().min(1),\n bloomM: z.number().int().positive(),\n bloomK: z.number().int().positive(),\n bloomBitsBase64: z.string().optional(),\n lastPage: z.number().int().positive().optional(),\n lastPolledAt: z.string().optional(),\n});\n\nexport const transactionStatusSchema = z.object({\n txHash: z.string().min(1),\n status: z.enum(['pending', 'success', 'failed']),\n ledger: z.number().int().optional(),\n createdAt: z.string().optional(),\n});\n","export function withoutUndefinedFields<T extends Record<string, unknown>>(value: T): T {\n const next = {} as T;\n for (const [key, fieldValue] of Object.entries(value)) {\n if (fieldValue !== undefined) {\n Reflect.set(next, key, fieldValue);\n }\n }\n return next;\n}\n","import { assetSchema, publicBalanceSchema } from '../../schemas/shared.js';\nimport type {\n StellarAsset,\n StellarAssetsCatalog,\n StellarPublicBalance,\n} from '../../domain/types.js';\nimport { withoutUndefinedFields } from '../../foundation/coerce.js';\n\nexport function normalizeAssetsCatalog(value: unknown): StellarAssetsCatalog {\n if (typeof value !== 'object' || value === null) {\n return { byId: {}, listOrder: [] };\n }\n const record = value as Record<string, unknown>;\n const byIdRaw = record.byId;\n const listOrderRaw = record.listOrder;\n const byId: Record<string, StellarAsset> = {};\n if (typeof byIdRaw === 'object' && byIdRaw !== null) {\n for (const [key, entry] of Object.entries(byIdRaw)) {\n const parsed = assetSchema.safeParse(entry);\n if (parsed.success) {\n byId[key] = withoutUndefinedFields(parsed.data) as StellarAsset;\n }\n }\n }\n const listOrder = Array.isArray(listOrderRaw)\n ? listOrderRaw.filter((item): item is string => typeof item === 'string')\n : [];\n return { byId, listOrder };\n}\n\nexport function normalizeAsset(value: unknown): StellarAsset | undefined {\n const parsed = assetSchema.safeParse(value);\n return parsed.success\n ? (withoutUndefinedFields(parsed.data) as StellarAsset)\n : undefined;\n}\n\nexport function normalizePublicBalance(\n value: unknown,\n): StellarPublicBalance | undefined {\n const parsed = publicBalanceSchema.safeParse(value);\n return parsed.success ? parsed.data : undefined;\n}\n\nexport function normalizePublicBalancesFromEntries(\n value: unknown,\n owner: string,\n): StellarPublicBalance[] {\n if (!Array.isArray(value)) {\n return [];\n }\n return value\n .map((entry) => {\n if (!Array.isArray(entry) || entry.length < 2) {\n return;\n }\n const [key, balanceValue] = entry;\n if (typeof key !== 'string' || !key.startsWith(`${owner}:`)) {\n return;\n }\n return normalizePublicBalance(balanceValue);\n })\n .filter((balance): balance is StellarPublicBalance => balance !== undefined);\n}\n","import {\n deliverySyncStateSchema,\n incomingDeliverySchema,\n} from '../../schemas/shared.js';\nimport type {\n StellarDeliverySyncState,\n StellarIncomingDelivery,\n} from '../../domain/types.js';\nimport { withoutUndefinedFields } from '../../foundation/coerce.js';\n\nexport function normalizeIncomingDeliveries(value: unknown): StellarIncomingDelivery[] {\n const entries =\n typeof value === 'object' && value !== null && !Array.isArray(value)\n ? Object.values(value)\n : value;\n if (!Array.isArray(entries)) {\n return [];\n }\n return entries.flatMap((entry) => {\n const parsed = incomingDeliverySchema.safeParse(entry);\n return parsed.success\n ? [withoutUndefinedFields(parsed.data) as StellarIncomingDelivery]\n : [];\n });\n}\n\nexport function normalizeDeliverySyncState(\n value: unknown,\n): StellarDeliverySyncState | undefined {\n const parsed = deliverySyncStateSchema.safeParse(value);\n return parsed.success\n ? (withoutUndefinedFields(parsed.data) as StellarDeliverySyncState)\n : undefined;\n}\n","import { leafEphemeralSchema, poolMerkleStateSchema } from '../../schemas/shared.js';\nimport type {\n StellarLeafEphemeral,\n StellarPoolMerkleState,\n} from '../../domain/types.js';\nimport { withoutUndefinedFields } from '../../foundation/coerce.js';\n\nexport function normalizePoolMerkleState(\n value: unknown,\n): StellarPoolMerkleState | undefined {\n const parsed = poolMerkleStateSchema.safeParse(value);\n return parsed.success\n ? (withoutUndefinedFields(parsed.data) as StellarPoolMerkleState)\n : undefined;\n}\n\nexport function normalizeLeafEphemeral(\n value: unknown,\n): StellarLeafEphemeral | undefined {\n const parsed = leafEphemeralSchema.safeParse(value);\n return parsed.success\n ? (withoutUndefinedFields(parsed.data) as StellarLeafEphemeral)\n : undefined;\n}\n","import { registryLookupSchema } from '../../schemas/shared.js';\nimport type { StellarRegistryLookup } from '../../domain/types.js';\nimport { withoutUndefinedFields } from '../../foundation/coerce.js';\n\nexport function normalizeCachedPrivateAddress(value: unknown): string | undefined {\n return typeof value === 'string' && value.length > 0 ? value : undefined;\n}\n\nexport function normalizeRegistryLookup(\n value: unknown,\n): StellarRegistryLookup | undefined {\n const parsed = registryLookupSchema.safeParse(value);\n return parsed.success\n ? (withoutUndefinedFields(parsed.data) as StellarRegistryLookup)\n : undefined;\n}\n\nexport function normalizeRegistryLookupFromLegacy(input: {\n address: string;\n registered: unknown;\n privateAddress: unknown;\n}): StellarRegistryLookup | undefined {\n const lookup = normalizeRegistryLookup(\n typeof input.registered === 'object' && input.registered !== null\n ? input.registered\n : undefined,\n );\n if (lookup) {\n return lookup;\n }\n if (input.registered === undefined && input.privateAddress === undefined) {\n return undefined;\n }\n const registered = Boolean(input.registered);\n const privateAddressStpl1 = normalizeCachedPrivateAddress(input.privateAddress);\n if (!registered && privateAddressStpl1 === undefined) {\n return { owner: input.address, status: 'unregistered' };\n }\n return withoutUndefinedFields({\n owner: input.address,\n status: registered ? 'registered' : 'unregistered',\n ...(privateAddressStpl1 === undefined ? {} : { privateAddressStpl1 }),\n }) as StellarRegistryLookup;\n}\n","import { z } from 'zod';\nimport { privateRecordSchema, transactionStatusSchema } from '../../schemas/shared.js';\nimport type {\n StellarPrivateRecord,\n StellarTransactionStatus,\n} from '../../domain/types.js';\nimport { withoutUndefinedFields } from '../../foundation/coerce.js';\n\nexport function normalizePrivateRecords(value: unknown): StellarPrivateRecord[] {\n if (!Array.isArray(value)) {\n return [];\n }\n const records = value.flatMap((item) => {\n const parsed = privateRecordSchema.safeParse(item);\n return parsed.success ? [normalizePrivateRecordFields(parsed.data)] : [];\n });\n return deduplicatePrivateRecords(records);\n}\n\nexport function normalizeTransactionStatus(\n value: unknown,\n): StellarTransactionStatus | undefined {\n const parsed = transactionStatusSchema.safeParse(value);\n return parsed.success\n ? (withoutUndefinedFields(parsed.data) as StellarTransactionStatus)\n : undefined;\n}\n\nfunction privateRecordCommitmentKey(record: StellarPrivateRecord): string {\n return (\n record.commitmentHex?.trim() ||\n record.coinNote?.commitment.trim() ||\n record.id.trim()\n )\n .replace(/^0x/iu, '')\n .toLowerCase();\n}\n\nfunction normalizePrivateRecordFields(\n record: z.infer<typeof privateRecordSchema>,\n): StellarPrivateRecord {\n const normalized = withoutUndefinedFields(record) as StellarPrivateRecord;\n if (!normalized.privateAddress && normalized.owner.trim().startsWith('stpl')) {\n return { ...normalized, privateAddress: normalized.owner.trim() };\n }\n return normalized;\n}\n\nfunction preferPrivateRecord(\n current: StellarPrivateRecord,\n incoming: StellarPrivateRecord,\n key: string,\n): StellarPrivateRecord {\n if (privateRecordIdKey(incoming) === key) {\n return incoming;\n }\n if (privateRecordIdKey(current) === key) {\n return current;\n }\n return incoming;\n}\n\nfunction privateRecordIdKey(record: StellarPrivateRecord): string {\n return record.id.trim().replace(/^0x/iu, '').toLowerCase();\n}\n\nfunction deduplicatePrivateRecords(\n records: StellarPrivateRecord[],\n): StellarPrivateRecord[] {\n const byCommitment = new Map<string, StellarPrivateRecord>();\n for (const record of records) {\n const key = privateRecordCommitmentKey(record);\n const current = byCommitment.get(key);\n byCommitment.set(key, current ? preferPrivateRecord(current, record, key) : record);\n }\n return [...byCommitment.values()];\n}\n","import {\n walletPrivateAddressScalarSchema,\n walletPrivateAddressRecordSchema,\n} from '../../schemas/shared.js';\nimport type {\n StellarWalletPrivateAddressScalar,\n StellarWalletPrivateAddressRecord,\n} from '../../domain/types.js';\nimport { withoutUndefinedFields } from '../../foundation/coerce.js';\n\nexport function normalizeWalletPrivateAddressScalar(\n value: unknown,\n): StellarWalletPrivateAddressScalar | undefined {\n const parsed = walletPrivateAddressScalarSchema.safeParse(value);\n return parsed.success\n ? (withoutUndefinedFields(parsed.data) as StellarWalletPrivateAddressScalar)\n : undefined;\n}\n\nexport function normalizeWalletPrivateAddressRecord(\n value: unknown,\n): StellarWalletPrivateAddressRecord | undefined {\n const parsed = walletPrivateAddressRecordSchema.safeParse(value);\n return parsed.success\n ? (withoutUndefinedFields(parsed.data) as StellarWalletPrivateAddressRecord)\n : undefined;\n}\n\nexport function normalizeWalletDefaultPrivateAddressNonce(\n value: unknown,\n): string | undefined {\n return typeof value === 'string' ? value.trim() || undefined : undefined;\n}\n","import type {\n StellarPrivateRecord,\n StellarWalletPrivateAddressRecord,\n StellarWalletPrivateAddressScalar,\n} from '../domain/types.js';\nimport {\n normalizePrivateRecords,\n normalizeWalletDefaultPrivateAddressNonce,\n normalizeWalletPrivateAddressRecord,\n normalizeWalletPrivateAddressScalar,\n} from './normalize.js';\n\ntype SnapshotRoot = Record<string, unknown>;\ntype WalletMapKey =\n 'privateAddressScalars' | 'privateAddressRecords' | 'defaultPrivateAddressNonce';\n\nfunction readSnapshotObject(value: unknown): SnapshotRoot | undefined {\n if (typeof value !== 'object' || value === null || Array.isArray(value)) {\n return undefined;\n }\n return value as SnapshotRoot;\n}\n\nfunction resolveSdkSnapshot(value: unknown): SnapshotRoot | undefined {\n const record = readSnapshotObject(value);\n if (!record) {\n return undefined;\n }\n const branch = readSnapshotObject(record.privacySdkState);\n return branch ?? record;\n}\n\nfunction readWalletSnapshot(value: unknown): SnapshotRoot | undefined {\n const sdk = resolveSdkSnapshot(value);\n if (!sdk) {\n return undefined;\n }\n return readSnapshotObject(sdk.wallet);\n}\n\nfunction readWalletMap(value: unknown, key: WalletMapKey): SnapshotRoot | undefined {\n const wallet = readWalletSnapshot(value);\n if (!wallet) {\n return undefined;\n }\n if (key === 'privateAddressScalars') {\n return readSnapshotObject(wallet.privateAddressScalars);\n }\n if (key === 'privateAddressRecords') {\n return readSnapshotObject(wallet.privateAddressRecords);\n }\n return readSnapshotObject(wallet.defaultPrivateAddressNonce);\n}\n\nfunction readRecordValue(record: SnapshotRoot, key: string): unknown {\n for (const [entryKey, entryValue] of Object.entries(record)) {\n if (entryKey === key) {\n return entryValue;\n }\n }\n return undefined;\n}\n\nfunction ownerNonceKey(owner: string, nonce: string): string {\n return `${owner.trim()}:${nonce.trim()}`;\n}\n\nexport function readPrivateRecordsFromStateSnapshot(\n state: unknown,\n): StellarPrivateRecord[] {\n const sdk = resolveSdkSnapshot(state);\n if (!sdk) {\n return [];\n }\n return normalizePrivateRecords(sdk.privateRecords);\n}\n\nexport function readWalletPrivateAddressScalarFromStateSnapshot(input: {\n state: unknown;\n owner: string;\n nonce: string;\n}): StellarWalletPrivateAddressScalar | undefined {\n const owner = input.owner.trim();\n const nonce = input.nonce.trim();\n if (!owner || !nonce) {\n return undefined;\n }\n const scalars = readWalletMap(input.state, 'privateAddressScalars');\n if (!scalars) {\n return undefined;\n }\n const value = scalars[ownerNonceKey(owner, nonce)];\n if (typeof value === 'string') {\n const scalarHex = value.trim();\n return scalarHex ? { owner, nonce, scalarHex } : undefined;\n }\n return normalizeWalletPrivateAddressScalar(value);\n}\n\nexport function readWalletPrivateAddressRecordFromStateSnapshot(input: {\n state: unknown;\n owner: string;\n nonce: string;\n}): StellarWalletPrivateAddressRecord | undefined {\n const owner = input.owner.trim();\n const nonce = input.nonce.trim();\n if (!owner || !nonce) {\n return undefined;\n }\n const records = readWalletMap(input.state, 'privateAddressRecords');\n if (!records) {\n return undefined;\n }\n return normalizeWalletPrivateAddressRecord(records[ownerNonceKey(owner, nonce)]);\n}\n\nexport function readWalletDefaultPrivateAddressNonceFromStateSnapshot(input: {\n state: unknown;\n owner: string;\n}): string | undefined {\n const owner = input.owner.trim();\n if (!owner) {\n return undefined;\n }\n const defaults = readWalletMap(input.state, 'defaultPrivateAddressNonce');\n if (!defaults) {\n return undefined;\n }\n return normalizeWalletDefaultPrivateAddressNonce(readRecordValue(defaults, owner));\n}\n\nexport function listWalletPrivateAddressScalarsForOwnerFromStateSnapshot(input: {\n state: unknown;\n owner: string;\n}): StellarWalletPrivateAddressScalar[] {\n const owner = input.owner.trim();\n if (!owner) {\n return [];\n }\n const scalars = readWalletMap(input.state, 'privateAddressScalars');\n if (!scalars) {\n return [];\n }\n const prefix = `${owner}:`;\n return Object.keys(scalars).flatMap((key) => {\n if (!key.startsWith(prefix)) {\n return [];\n }\n const nonce = key.slice(prefix.length).trim();\n if (!nonce) {\n return [];\n }\n const entry = readWalletPrivateAddressScalarFromStateSnapshot({\n state: input.state,\n owner,\n nonce,\n });\n return entry ? [entry] : [];\n });\n}\n\nexport function listWalletPrivateAddressRecordsForOwnerFromStateSnapshot(input: {\n state: unknown;\n owner: string;\n}): StellarWalletPrivateAddressRecord[] {\n const owner = input.owner.trim();\n if (!owner) {\n return [];\n }\n const records = readWalletMap(input.state, 'privateAddressRecords');\n if (!records) {\n return [];\n }\n const prefix = `${owner}:`;\n return Object.keys(records).flatMap((key) => {\n if (!key.startsWith(prefix)) {\n return [];\n }\n const nonce = key.slice(prefix.length).trim();\n if (!nonce) {\n return [];\n }\n const entry = readWalletPrivateAddressRecordFromStateSnapshot({\n state: input.state,\n owner,\n nonce,\n });\n return entry ? [entry] : [];\n });\n}\n","import { registerArrayFilterItemSchema } from '@arcanetech/privacy-sdk-core/state';\nimport { privateRecordSchema } from '../schemas/shared.js';\nimport { stellarArrayFilterSchemaKeys } from './ops.js';\n\nlet registered = false;\n\nexport function registerStellarArrayFilterSchemas(): void {\n if (registered) {\n return;\n }\n registerArrayFilterItemSchema(\n stellarArrayFilterSchemaKeys.privateRecord,\n privateRecordSchema,\n );\n registered = true;\n}\n","import { STELLAR_STATE_PATHS } from '../foundation/paths.js';\n\nexport const stellarArrayFilterSchemaKeys = {\n privateRecord: 'privateRecord',\n} as const;\n\nexport function rejectPrivateRecordsByIds(ids: string[]) {\n return {\n opType: 'arrayFilter' as const,\n jsonPath: STELLAR_STATE_PATHS.privateRecords,\n itemSchemaKey: stellarArrayFilterSchemaKeys.privateRecord,\n rejectWhen: {\n op: 'fieldIn' as const,\n field: 'id',\n values: ids,\n },\n };\n}\n\nexport function rejectConsumedPrivateRecords() {\n return {\n opType: 'arrayFilter' as const,\n jsonPath: STELLAR_STATE_PATHS.privateRecords,\n itemSchemaKey: stellarArrayFilterSchemaKeys.privateRecord,\n rejectWhen: {\n op: 'fieldEquals' as const,\n field: 'consumed',\n value: true,\n },\n };\n}\n","import { type StateBridgeDefinition } from '@arcanetech/privacy-sdk-core/state';\nimport type { StellarAddress, StellarAssetId } from '../../types.js';\n\nexport const stellarStateCallTypes = {\n readStellarAddressRegistered: 'readStellarAddressRegistered',\n readCachedPrivateAddress: 'readCachedPrivateAddress',\n readRegistryLookup: 'readRegistryLookup',\n saveRegisteredPrivateAddress: 'saveRegisteredPrivateAddress',\n saveRegistryLookup: 'saveRegistryLookup',\n invalidateRegisteredAddress: 'invalidateRegisteredAddress',\n invalidateRegistryLookup: 'invalidateRegistryLookup',\n readAssetsCatalog: 'readAssetsCatalog',\n readAsset: 'readAsset',\n replaceAssets: 'replaceAssets',\n upsertAssets: 'upsertAssets',\n readPublicBalance: 'readPublicBalance',\n readPublicBalances: 'readPublicBalances',\n setPublicBalance: 'setPublicBalance',\n setPublicBalances: 'setPublicBalances',\n readPoolMerkleState: 'readPoolMerkleState',\n setPoolMerkleState: 'setPoolMerkleState',\n readLeafEphemeral: 'readLeafEphemeral',\n setLeafEphemeral: 'setLeafEphemeral',\n listPrivateRecords: 'listPrivateRecords',\n savePrivateRecords: 'savePrivateRecords',\n replacePrivateRecords: 'replacePrivateRecords',\n upsertPrivateRecords: 'upsertPrivateRecords',\n pruneConsumedPrivateRecords: 'pruneConsumedPrivateRecords',\n readIncomingDeliveries: 'readIncomingDeliveries',\n upsertIncomingDeliveries: 'upsertIncomingDeliveries',\n readDeliverySyncState: 'readDeliverySyncState',\n setDeliverySyncState: 'setDeliverySyncState',\n readTransactionStatus: 'readTransactionStatus',\n setTransactionStatus: 'setTransactionStatus',\n clearTransactionStatus: 'clearTransactionStatus',\n saveWalletPrivateAddressScalar: 'saveWalletPrivateAddressScalar',\n readWalletPrivateAddressScalar: 'readWalletPrivateAddressScalar',\n saveWalletPrivateAddressRecord: 'saveWalletPrivateAddressRecord',\n readWalletPrivateAddressRecord: 'readWalletPrivateAddressRecord',\n setWalletDefaultPrivateAddressNonce: 'setWalletDefaultPrivateAddressNonce',\n readWalletDefaultPrivateAddressNonce: 'readWalletDefaultPrivateAddressNonce',\n deleteWalletPrivateAddressScalar: 'deleteWalletPrivateAddressScalar',\n} as const;\n\nexport type StellarStateDefinition = StateBridgeDefinition;\n\nexport interface StellarPublicBalanceInput {\n owner: StellarAddress;\n asset: StellarAssetId;\n balance: string;\n trustlineStatus: 'active' | 'inactive' | 'none';\n}\n","import { z } from 'zod';\nimport { STELLAR_STATE_PATHS } from '../../foundation/paths.js';\nimport { stellarStateCallTypes } from '../../bridge/call-types.js';\nimport { assetSchema } from '../shared.js';\nimport { withoutUndefinedFields } from '../../foundation/coerce.js';\n\nexport const readAssetsCatalogSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.readAssetsCatalog),\n })\n .transform(({ type }) => ({\n type,\n operations: [\n {\n opType: 'primitiveGet' as const,\n jsonPath: STELLAR_STATE_PATHS.assets,\n },\n ],\n }));\n\nexport const readAssetSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.readAsset),\n assetId: z.string().min(1),\n })\n .transform(({ type, assetId }) => ({\n type,\n operations: [\n {\n opType: 'recordGet' as const,\n jsonPath: STELLAR_STATE_PATHS.assetsById,\n key: assetId,\n },\n ],\n }));\n\nexport const replaceAssetsSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.replaceAssets),\n assets: z.array(assetSchema),\n })\n .transform(({ type, assets }) => {\n const byId: Record<string, unknown> = {};\n const listOrder: string[] = [];\n for (const asset of assets) {\n Reflect.set(byId, asset.assetId, withoutUndefinedFields(asset));\n listOrder.push(asset.assetId);\n }\n return {\n type,\n operations: [\n {\n opType: 'primitiveSet' as const,\n jsonPath: STELLAR_STATE_PATHS.assets,\n value: { byId, listOrder },\n },\n ],\n };\n });\n\nexport const upsertAssetsSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.upsertAssets),\n assets: z.array(assetSchema),\n })\n .transform(({ type, assets }) => ({\n type,\n operations: assets.map((asset) => ({\n opType: 'recordSet' as const,\n jsonPath: STELLAR_STATE_PATHS.assetsById,\n key: asset.assetId,\n value: asset,\n })),\n }));\n","import type { StateBridgeDefinition } from '@arcanetech/privacy-sdk-core/state';\nimport { stellarStateCallTypes } from '../bridge/call-types.js';\nimport {\n readAssetsCatalogSchema,\n readAssetSchema,\n replaceAssetsSchema,\n upsertAssetsSchema,\n} from '../schemas/assets/catalog.js';\n\nexport const stellarAssetsStateDefinitions: StateBridgeDefinition[] = [\n {\n type: stellarStateCallTypes.readAssetsCatalog,\n mode: 'read',\n schema: readAssetsCatalogSchema,\n },\n {\n type: stellarStateCallTypes.readAsset,\n mode: 'read',\n schema: readAssetSchema,\n },\n {\n type: stellarStateCallTypes.replaceAssets,\n mode: 'write',\n schema: replaceAssetsSchema,\n },\n {\n type: stellarStateCallTypes.upsertAssets,\n mode: 'write',\n schema: upsertAssetsSchema,\n },\n];\n","import { z } from 'zod';\nimport { STELLAR_STATE_PATHS } from '../../foundation/paths.js';\nimport { ownerAssetKey } from '../../foundation/keys.js';\nimport { stellarStateCallTypes } from '../../bridge/call-types.js';\nimport { publicBalanceSchema } from '../shared.js';\n\nexport const readPublicBalanceSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.readPublicBalance),\n owner: z.string().min(1),\n asset: z.string().min(1),\n })\n .transform(({ type, owner, asset }) => ({\n type,\n operations: [\n {\n opType: 'recordGet' as const,\n jsonPath: STELLAR_STATE_PATHS.publicBalances,\n key: ownerAssetKey(owner, asset),\n },\n ],\n }));\n\nexport const readPublicBalancesSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.readPublicBalances),\n owner: z.string().min(1),\n })\n .transform(({ type }) => ({\n type,\n operations: [\n {\n opType: 'recordEntries' as const,\n jsonPath: STELLAR_STATE_PATHS.publicBalances,\n },\n ],\n }));\n\nexport const setPublicBalanceSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.setPublicBalance),\n balance: publicBalanceSchema,\n })\n .transform(({ type, balance }) => ({\n type,\n operations: [\n {\n opType: 'recordSet' as const,\n jsonPath: STELLAR_STATE_PATHS.publicBalances,\n key: ownerAssetKey(balance.owner, balance.asset),\n value: balance,\n },\n ],\n }));\n\nexport const setPublicBalancesSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.setPublicBalances),\n owner: z.string().min(1),\n balances: z.array(publicBalanceSchema),\n })\n .transform(({ type, owner, balances }) => ({\n type,\n operations: balances.map((balance) => ({\n opType: 'recordSet' as const,\n jsonPath: STELLAR_STATE_PATHS.publicBalances,\n key: ownerAssetKey(owner, balance.asset),\n value: { ...balance, owner },\n })),\n }));\n","import type { StellarAddress, StellarAssetId } from '../../types.js';\n\nexport function ownerAssetKey(owner: StellarAddress, asset: StellarAssetId): string {\n return `${owner}:${asset}`;\n}\n\nexport function readRecordValue<T>(\n record: Record<string, T>,\n key: string,\n): T | undefined {\n if (!Object.hasOwn(record, key)) {\n return undefined;\n }\n return Reflect.get(record, key) as T | undefined;\n}\n\nexport function poolLeafKey(poolContract: string, leafIndex: number): string {\n return `${poolContract}:${leafIndex}`;\n}\n\nexport function privateAddressAssetKey(\n privateAddress: string,\n asset: StellarAssetId,\n): string {\n return `${privateAddress}:${asset}`;\n}\n\nexport function walletOwnerNonceKey(owner: StellarAddress, nonce: string): string {\n return `${owner}:${nonce}`;\n}\n","import type { StateBridgeDefinition } from '@arcanetech/privacy-sdk-core/state';\nimport { stellarStateCallTypes } from '../bridge/call-types.js';\nimport {\n readPublicBalanceSchema,\n readPublicBalancesSchema,\n setPublicBalanceSchema,\n setPublicBalancesSchema,\n} from '../schemas/assets/balances.js';\n\nexport const stellarBalancesStateDefinitions: StateBridgeDefinition[] = [\n {\n type: stellarStateCallTypes.readPublicBalance,\n mode: 'read',\n schema: readPublicBalanceSchema,\n },\n {\n type: stellarStateCallTypes.readPublicBalances,\n mode: 'read',\n schema: readPublicBalancesSchema,\n },\n {\n type: stellarStateCallTypes.setPublicBalance,\n mode: 'write',\n schema: setPublicBalanceSchema,\n },\n {\n type: stellarStateCallTypes.setPublicBalances,\n mode: 'write',\n schema: setPublicBalancesSchema,\n },\n];\n","import { z } from 'zod';\nimport { STELLAR_STATE_PATHS } from '../../foundation/paths.js';\nimport { privateAddressAssetKey } from '../../foundation/keys.js';\nimport { stellarStateCallTypes } from '../../bridge/call-types.js';\nimport { deliverySyncStateSchema, incomingDeliverySchema } from '../shared.js';\n\nexport const readIncomingDeliveriesSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.readIncomingDeliveries),\n })\n .transform(({ type }) => ({\n type,\n operations: [\n {\n opType: 'primitiveGet' as const,\n jsonPath: STELLAR_STATE_PATHS.deliveriesIncomingById,\n },\n ],\n }));\n\nexport const upsertIncomingDeliveriesSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.upsertIncomingDeliveries),\n deliveries: z.array(incomingDeliverySchema),\n })\n .transform(({ type, deliveries }) => ({\n type,\n operations: deliveries.map((delivery) => ({\n opType: 'recordSet' as const,\n jsonPath: STELLAR_STATE_PATHS.deliveriesIncomingById,\n key: String(delivery.id),\n value: delivery,\n })),\n }));\n\nexport const readDeliverySyncStateSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.readDeliverySyncState),\n privateAddress: z.string().min(1),\n asset: z.string().min(1),\n })\n .transform(({ type, privateAddress, asset }) => ({\n type,\n operations: [\n {\n opType: 'recordGet' as const,\n jsonPath: STELLAR_STATE_PATHS.deliveriesSync,\n key: privateAddressAssetKey(privateAddress, asset),\n },\n ],\n }));\n\nexport const setDeliverySyncStateSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.setDeliverySyncState),\n syncState: deliverySyncStateSchema,\n })\n .transform(({ type, syncState }) => ({\n type,\n operations: [\n {\n opType: 'recordSet' as const,\n jsonPath: STELLAR_STATE_PATHS.deliveriesSync,\n key: privateAddressAssetKey(syncState.privateAddress, syncState.asset),\n value: syncState,\n },\n ],\n }));\n","import type { StateBridgeDefinition } from '@arcanetech/privacy-sdk-core/state';\nimport { stellarStateCallTypes } from '../bridge/call-types.js';\nimport {\n readDeliverySyncStateSchema,\n readIncomingDeliveriesSchema,\n setDeliverySyncStateSchema,\n upsertIncomingDeliveriesSchema,\n} from '../schemas/claims/deliveries.js';\n\nexport const stellarDeliveriesStateDefinitions: StateBridgeDefinition[] = [\n {\n type: stellarStateCallTypes.readIncomingDeliveries,\n mode: 'read',\n schema: readIncomingDeliveriesSchema,\n },\n {\n type: stellarStateCallTypes.upsertIncomingDeliveries,\n mode: 'write',\n schema: upsertIncomingDeliveriesSchema,\n },\n {\n type: stellarStateCallTypes.readDeliverySyncState,\n mode: 'read',\n schema: readDeliverySyncStateSchema,\n },\n {\n type: stellarStateCallTypes.setDeliverySyncState,\n mode: 'write',\n schema: setDeliverySyncStateSchema,\n },\n];\n","import { z } from 'zod';\nimport { STELLAR_STATE_PATHS } from '../../foundation/paths.js';\nimport { poolLeafKey } from '../../foundation/keys.js';\nimport { stellarStateCallTypes } from '../../bridge/call-types.js';\nimport { leafEphemeralSchema, poolMerkleStateSchema } from '../shared.js';\n\nexport const readPoolMerkleStateSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.readPoolMerkleState),\n poolContract: z.string().min(1),\n })\n .transform(({ type, poolContract }) => ({\n type,\n operations: [\n {\n opType: 'recordGet' as const,\n jsonPath: STELLAR_STATE_PATHS.poolsByContract,\n key: poolContract,\n },\n ],\n }));\n\nexport const setPoolMerkleStateSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.setPoolMerkleState),\n state: poolMerkleStateSchema,\n })\n .transform(({ type, state }) => ({\n type,\n operations: [\n {\n opType: 'recordSet' as const,\n jsonPath: STELLAR_STATE_PATHS.poolsByContract,\n key: state.poolContract,\n value: state,\n },\n ],\n }));\n\nexport const readLeafEphemeralSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.readLeafEphemeral),\n poolContract: z.string().min(1),\n leafIndex: z.number().int().nonnegative(),\n })\n .transform(({ type, poolContract, leafIndex }) => ({\n type,\n operations: [\n {\n opType: 'recordGet' as const,\n jsonPath: STELLAR_STATE_PATHS.poolsLeafEphemeral,\n key: poolLeafKey(poolContract, leafIndex),\n },\n ],\n }));\n\nexport const setLeafEphemeralSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.setLeafEphemeral),\n ephemeral: leafEphemeralSchema,\n })\n .transform(({ type, ephemeral }) => ({\n type,\n operations: [\n {\n opType: 'recordSet' as const,\n jsonPath: STELLAR_STATE_PATHS.poolsLeafEphemeral,\n key: poolLeafKey(ephemeral.poolContract, ephemeral.leafIndex),\n value: ephemeral,\n },\n ],\n }));\n","import type { StateBridgeDefinition } from '@arcanetech/privacy-sdk-core/state';\nimport { stellarStateCallTypes } from '../bridge/call-types.js';\nimport {\n readLeafEphemeralSchema,\n readPoolMerkleStateSchema,\n setLeafEphemeralSchema,\n setPoolMerkleStateSchema,\n} from '../schemas/pool/merkle.js';\n\nexport const stellarPoolStateDefinitions: StateBridgeDefinition[] = [\n {\n type: stellarStateCallTypes.readPoolMerkleState,\n mode: 'read',\n schema: readPoolMerkleStateSchema,\n },\n {\n type: stellarStateCallTypes.setPoolMerkleState,\n mode: 'write',\n schema: setPoolMerkleStateSchema,\n },\n {\n type: stellarStateCallTypes.readLeafEphemeral,\n mode: 'read',\n schema: readLeafEphemeralSchema,\n },\n {\n type: stellarStateCallTypes.setLeafEphemeral,\n mode: 'write',\n schema: setLeafEphemeralSchema,\n },\n];\n","import { z } from 'zod';\nimport { STELLAR_STATE_PATHS } from '../../foundation/paths.js';\nimport { stellarStateCallTypes } from '../../bridge/call-types.js';\nimport { rejectConsumedPrivateRecords } from '../../filters/ops.js';\nimport { privateRecordSchema } from '../shared.js';\n\nexport const listPrivateRecordsSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.listPrivateRecords),\n })\n .transform(({ type }) => ({\n type,\n operations: [\n {\n opType: 'primitiveGet' as const,\n jsonPath: STELLAR_STATE_PATHS.privateRecords,\n },\n ],\n }));\n\nexport const savePrivateRecordsSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.savePrivateRecords),\n records: z.array(privateRecordSchema),\n })\n .transform(({ type, records }) => ({\n type,\n operations: [\n {\n opType: 'arrayPush' as const,\n jsonPath: STELLAR_STATE_PATHS.privateRecords,\n items: records,\n },\n ],\n }));\n\nexport const replacePrivateRecordsSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.replacePrivateRecords),\n records: z.array(privateRecordSchema),\n })\n .transform(({ type, records }) => ({\n type,\n operations: [\n {\n opType: 'arrayClean' as const,\n jsonPath: STELLAR_STATE_PATHS.privateRecords,\n },\n {\n opType: 'arrayPush' as const,\n jsonPath: STELLAR_STATE_PATHS.privateRecords,\n items: records,\n },\n ],\n }));\n\nexport const pruneConsumedPrivateRecordsSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.pruneConsumedPrivateRecords),\n })\n .transform(({ type }) => ({\n type,\n operations: [rejectConsumedPrivateRecords()],\n }));\n","import { z } from 'zod';\nimport { STELLAR_STATE_PATHS } from '../../foundation/paths.js';\nimport { stellarStateCallTypes } from '../../bridge/call-types.js';\nimport { rejectPrivateRecordsByIds } from '../../filters/ops.js';\nimport { privateRecordSchema, transactionStatusSchema } from '../shared.js';\n\nexport const upsertPrivateRecordsSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.upsertPrivateRecords),\n records: z.array(privateRecordSchema),\n })\n .transform(({ type, records }) => ({\n type,\n operations: [\n rejectPrivateRecordsByIds(records.map((record) => record.id)),\n {\n opType: 'arrayPush' as const,\n jsonPath: STELLAR_STATE_PATHS.privateRecords,\n items: records,\n },\n ],\n }));\n\nexport const readTransactionStatusSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.readTransactionStatus),\n txHash: z.string().min(1),\n })\n .transform(({ type, txHash }) => ({\n type,\n operations: [\n {\n opType: 'recordGet' as const,\n jsonPath: STELLAR_STATE_PATHS.transactionsByHash,\n key: txHash,\n },\n ],\n }));\n\nexport const setTransactionStatusSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.setTransactionStatus),\n status: transactionStatusSchema,\n })\n .transform(({ type, status }) => ({\n type,\n operations: [\n {\n opType: 'recordSet' as const,\n jsonPath: STELLAR_STATE_PATHS.transactionsByHash,\n key: status.txHash,\n value: status,\n },\n ],\n }));\n\nexport const clearTransactionStatusSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.clearTransactionStatus),\n txHash: z.string().min(1),\n })\n .transform(({ type, txHash }) => ({\n type,\n operations: [\n {\n opType: 'recordDelete' as const,\n jsonPath: STELLAR_STATE_PATHS.transactionsByHash,\n key: txHash,\n },\n ],\n }));\n","import type { StateBridgeDefinition } from '@arcanetech/privacy-sdk-core/state';\nimport { stellarStateCallTypes } from '../bridge/call-types.js';\nimport {\n listPrivateRecordsSchema,\n pruneConsumedPrivateRecordsSchema,\n replacePrivateRecordsSchema,\n savePrivateRecordsSchema,\n} from '../schemas/records/private.js';\nimport { upsertPrivateRecordsSchema } from '../schemas/records/transactions.js';\n\nexport const stellarRecordsStateDefinitions: StateBridgeDefinition[] = [\n {\n type: stellarStateCallTypes.listPrivateRecords,\n mode: 'read',\n schema: listPrivateRecordsSchema,\n },\n {\n type: stellarStateCallTypes.savePrivateRecords,\n mode: 'write',\n schema: savePrivateRecordsSchema,\n },\n {\n type: stellarStateCallTypes.replacePrivateRecords,\n mode: 'write',\n schema: replacePrivateRecordsSchema,\n },\n {\n type: stellarStateCallTypes.upsertPrivateRecords,\n mode: 'write',\n schema: upsertPrivateRecordsSchema,\n },\n {\n type: stellarStateCallTypes.pruneConsumedPrivateRecords,\n mode: 'write',\n schema: pruneConsumedPrivateRecordsSchema,\n },\n];\n","import { z } from 'zod';\nimport { STELLAR_STATE_PATHS } from '../../foundation/paths.js';\nimport { stellarStateCallTypes } from '../../bridge/call-types.js';\nimport { registryLookupSchema } from '../shared.js';\n\nexport const readStellarAddressRegisteredSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.readStellarAddressRegistered),\n address: z.string().min(1),\n })\n .transform(({ type, address }) => ({\n type,\n operations: [\n {\n opType: 'recordGet' as const,\n jsonPath: STELLAR_STATE_PATHS.registryRegisteredAddresses,\n key: address,\n },\n ],\n }));\n\nexport const readCachedPrivateAddressSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.readCachedPrivateAddress),\n address: z.string().min(1),\n })\n .transform(({ type, address }) => ({\n type,\n operations: [\n {\n opType: 'recordGet' as const,\n jsonPath: STELLAR_STATE_PATHS.registryPrivateAddresses,\n key: address,\n },\n ],\n }));\n\nexport const saveRegisteredPrivateAddressSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.saveRegisteredPrivateAddress),\n address: z.string().min(1),\n privateAddress: z.string().min(1),\n registered: z.boolean(),\n })\n .transform(({ type, address, privateAddress, registered }) => {\n const lookup = registryLookupSchema.parse({\n owner: address,\n status: registered ? 'registered' : 'unregistered',\n privateAddressStpl1: registered ? privateAddress : undefined,\n cachedAt: new Date().toISOString(),\n });\n return {\n type,\n operations: [\n {\n opType: 'recordSet' as const,\n jsonPath: STELLAR_STATE_PATHS.registryPrivateAddresses,\n key: address,\n value: privateAddress,\n },\n {\n opType: 'recordSet' as const,\n jsonPath: STELLAR_STATE_PATHS.registryRegisteredAddresses,\n key: address,\n value: registered,\n },\n {\n opType: 'recordSet' as const,\n jsonPath: STELLAR_STATE_PATHS.registryLookups,\n key: address,\n value: lookup,\n },\n ],\n };\n });\n\nexport const invalidateRegisteredAddressSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.invalidateRegisteredAddress),\n address: z.string().min(1),\n })\n .transform(({ type, address }) => ({\n type,\n operations: [\n {\n opType: 'recordDelete' as const,\n jsonPath: STELLAR_STATE_PATHS.registryPrivateAddresses,\n key: address,\n },\n {\n opType: 'recordDelete' as const,\n jsonPath: STELLAR_STATE_PATHS.registryRegisteredAddresses,\n key: address,\n },\n {\n opType: 'recordDelete' as const,\n jsonPath: STELLAR_STATE_PATHS.registryLookups,\n key: address,\n },\n ],\n }));\n\nexport const readRegistryLookupSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.readRegistryLookup),\n address: z.string().min(1),\n })\n .transform(({ type, address }) => ({\n type,\n operations: [\n {\n opType: 'recordGet' as const,\n jsonPath: STELLAR_STATE_PATHS.registryLookups,\n key: address,\n },\n ],\n }));\n\nexport const saveRegistryLookupSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.saveRegistryLookup),\n lookup: registryLookupSchema,\n })\n .transform(({ type, lookup }) => {\n const operations: Array<{\n opType: 'recordSet';\n jsonPath: string;\n key: string;\n value: unknown;\n }> = [\n {\n opType: 'recordSet',\n jsonPath: STELLAR_STATE_PATHS.registryLookups,\n key: lookup.owner,\n value: lookup,\n },\n ];\n if (lookup.status === 'registered' && lookup.privateAddressStpl1) {\n operations.push(\n {\n opType: 'recordSet',\n jsonPath: STELLAR_STATE_PATHS.registryPrivateAddresses,\n key: lookup.owner,\n value: lookup.privateAddressStpl1,\n },\n {\n opType: 'recordSet',\n jsonPath: STELLAR_STATE_PATHS.registryRegisteredAddresses,\n key: lookup.owner,\n value: true,\n },\n );\n } else {\n operations.push({\n opType: 'recordSet',\n jsonPath: STELLAR_STATE_PATHS.registryRegisteredAddresses,\n key: lookup.owner,\n value: false,\n });\n }\n return { type, operations };\n });\n\nexport const invalidateRegistryLookupSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.invalidateRegistryLookup),\n address: z.string().min(1),\n })\n .transform(({ type, address }) => ({\n type,\n operations: [\n {\n opType: 'recordDelete' as const,\n jsonPath: STELLAR_STATE_PATHS.registryLookups,\n key: address,\n },\n {\n opType: 'recordDelete' as const,\n jsonPath: STELLAR_STATE_PATHS.registryPrivateAddresses,\n key: address,\n },\n {\n opType: 'recordDelete' as const,\n jsonPath: STELLAR_STATE_PATHS.registryRegisteredAddresses,\n key: address,\n },\n ],\n }));\n","import type { StateBridgeDefinition } from '@arcanetech/privacy-sdk-core/state';\nimport { stellarStateCallTypes } from '../bridge/call-types.js';\nimport {\n invalidateRegisteredAddressSchema,\n invalidateRegistryLookupSchema,\n readCachedPrivateAddressSchema,\n readRegistryLookupSchema,\n readStellarAddressRegisteredSchema,\n saveRegisteredPrivateAddressSchema,\n saveRegistryLookupSchema,\n} from '../schemas/registry/lookup.js';\n\nexport const stellarRegistryStateDefinitions: StateBridgeDefinition[] = [\n {\n type: stellarStateCallTypes.readStellarAddressRegistered,\n mode: 'read',\n schema: readStellarAddressRegisteredSchema,\n },\n {\n type: stellarStateCallTypes.readCachedPrivateAddress,\n mode: 'read',\n schema: readCachedPrivateAddressSchema,\n },\n {\n type: stellarStateCallTypes.readRegistryLookup,\n mode: 'read',\n schema: readRegistryLookupSchema,\n },\n {\n type: stellarStateCallTypes.saveRegisteredPrivateAddress,\n mode: 'write',\n schema: saveRegisteredPrivateAddressSchema,\n },\n {\n type: stellarStateCallTypes.saveRegistryLookup,\n mode: 'write',\n schema: saveRegistryLookupSchema,\n },\n {\n type: stellarStateCallTypes.invalidateRegisteredAddress,\n mode: 'write',\n schema: invalidateRegisteredAddressSchema,\n },\n {\n type: stellarStateCallTypes.invalidateRegistryLookup,\n mode: 'write',\n schema: invalidateRegistryLookupSchema,\n },\n];\n","import type { StateBridgeDefinition } from '@arcanetech/privacy-sdk-core/state';\nimport {\n clearTransactionStatusSchema,\n readTransactionStatusSchema,\n setTransactionStatusSchema,\n} from '../schemas/records/transactions.js';\nimport { stellarStateCallTypes } from '../bridge/call-types.js';\n\nexport const stellarTransactionStateDefinitions: StateBridgeDefinition[] = [\n {\n type: stellarStateCallTypes.readTransactionStatus,\n mode: 'read',\n schema: readTransactionStatusSchema,\n },\n {\n type: stellarStateCallTypes.setTransactionStatus,\n mode: 'write',\n schema: setTransactionStatusSchema,\n },\n {\n type: stellarStateCallTypes.clearTransactionStatus,\n mode: 'write',\n schema: clearTransactionStatusSchema,\n },\n];\n","import { z } from 'zod';\nimport { walletOwnerNonceKey } from '../../foundation/keys.js';\nimport { STELLAR_STATE_PATHS } from '../../foundation/paths.js';\nimport { stellarStateCallTypes } from '../../bridge/call-types.js';\nimport { walletPrivateAddressScalarSchema } from '../shared.js';\n\nexport const saveWalletPrivateAddressScalarSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.saveWalletPrivateAddressScalar),\n scalar: walletPrivateAddressScalarSchema,\n })\n .transform(({ type, scalar }) => ({\n type,\n operations: [\n {\n opType: 'recordSet' as const,\n jsonPath: STELLAR_STATE_PATHS.walletPrivateAddressScalars,\n key: walletOwnerNonceKey(scalar.owner, scalar.nonce),\n value: scalar,\n },\n ],\n }));\n\nexport const readWalletPrivateAddressScalarSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.readWalletPrivateAddressScalar),\n owner: z.string().min(1),\n nonce: z.string().min(1),\n })\n .transform(({ type, owner, nonce }) => ({\n type,\n operations: [\n {\n opType: 'recordGet' as const,\n jsonPath: STELLAR_STATE_PATHS.walletPrivateAddressScalars,\n key: walletOwnerNonceKey(owner, nonce),\n },\n ],\n }));\n","import { z } from 'zod';\nimport { walletOwnerNonceKey } from '../../foundation/keys.js';\nimport { STELLAR_STATE_PATHS } from '../../foundation/paths.js';\nimport { stellarStateCallTypes } from '../../bridge/call-types.js';\nimport { walletPrivateAddressRecordSchema } from '../shared.js';\n\nexport const saveWalletPrivateAddressRecordSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.saveWalletPrivateAddressRecord),\n record: walletPrivateAddressRecordSchema,\n })\n .transform(({ type, record }) => ({\n type,\n operations: [\n {\n opType: 'recordSet' as const,\n jsonPath: STELLAR_STATE_PATHS.walletPrivateAddressRecords,\n key: walletOwnerNonceKey(record.owner, record.nonce),\n value: record,\n },\n ],\n }));\n\nexport const readWalletPrivateAddressRecordSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.readWalletPrivateAddressRecord),\n owner: z.string().min(1),\n nonce: z.string().min(1),\n })\n .transform(({ type, owner, nonce }) => ({\n type,\n operations: [\n {\n opType: 'recordGet' as const,\n jsonPath: STELLAR_STATE_PATHS.walletPrivateAddressRecords,\n key: walletOwnerNonceKey(owner, nonce),\n },\n ],\n }));\n\nexport const setWalletDefaultPrivateAddressNonceSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.setWalletDefaultPrivateAddressNonce),\n owner: z.string().min(1),\n nonce: z.string().min(1),\n })\n .transform(({ type, owner, nonce }) => ({\n type,\n operations: [\n {\n opType: 'recordSet' as const,\n jsonPath: STELLAR_STATE_PATHS.walletDefaultPrivateAddressNonce,\n key: owner,\n value: nonce,\n },\n ],\n }));\n\nexport const readWalletDefaultPrivateAddressNonceSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.readWalletDefaultPrivateAddressNonce),\n owner: z.string().min(1),\n })\n .transform(({ type, owner }) => ({\n type,\n operations: [\n {\n opType: 'recordGet' as const,\n jsonPath: STELLAR_STATE_PATHS.walletDefaultPrivateAddressNonce,\n key: owner,\n },\n ],\n }));\n\nexport const deleteWalletPrivateAddressScalarSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.deleteWalletPrivateAddressScalar),\n owner: z.string().min(1),\n nonce: z.string().min(1),\n })\n .transform(({ type, owner, nonce }) => ({\n type,\n operations: [\n {\n opType: 'recordDelete' as const,\n jsonPath: STELLAR_STATE_PATHS.walletPrivateAddressScalars,\n key: walletOwnerNonceKey(owner, nonce),\n },\n ],\n }));\n","import type { StateBridgeDefinition } from '@arcanetech/privacy-sdk-core/state';\nimport {\n readWalletPrivateAddressScalarSchema,\n saveWalletPrivateAddressScalarSchema,\n} from '../schemas/wallet/scalar.js';\nimport {\n deleteWalletPrivateAddressScalarSchema,\n readWalletDefaultPrivateAddressNonceSchema,\n readWalletPrivateAddressRecordSchema,\n saveWalletPrivateAddressRecordSchema,\n setWalletDefaultPrivateAddressNonceSchema,\n} from '../schemas/wallet/private-address.js';\nimport { stellarStateCallTypes } from '../bridge/call-types.js';\n\nexport const stellarWalletStateDefinitions: StateBridgeDefinition[] = [\n {\n type: stellarStateCallTypes.saveWalletPrivateAddressScalar,\n mode: 'write',\n schema: saveWalletPrivateAddressScalarSchema,\n },\n {\n type: stellarStateCallTypes.readWalletPrivateAddressScalar,\n mode: 'read',\n schema: readWalletPrivateAddressScalarSchema,\n },\n {\n type: stellarStateCallTypes.saveWalletPrivateAddressRecord,\n mode: 'write',\n schema: saveWalletPrivateAddressRecordSchema,\n },\n {\n type: stellarStateCallTypes.readWalletPrivateAddressRecord,\n mode: 'read',\n schema: readWalletPrivateAddressRecordSchema,\n },\n {\n type: stellarStateCallTypes.setWalletDefaultPrivateAddressNonce,\n mode: 'write',\n schema: setWalletDefaultPrivateAddressNonceSchema,\n },\n {\n type: stellarStateCallTypes.readWalletDefaultPrivateAddressNonce,\n mode: 'read',\n schema: readWalletDefaultPrivateAddressNonceSchema,\n },\n {\n type: stellarStateCallTypes.deleteWalletPrivateAddressScalar,\n mode: 'write',\n schema: deleteWalletPrivateAddressScalarSchema,\n },\n];\n","import type { StateBridgeDefinition } from '@arcanetech/privacy-sdk-core/state';\nimport { registerStellarArrayFilterSchemas } from '../filters/register-schemas.js';\nimport { stellarAssetsStateDefinitions } from './assets.js';\nimport { stellarBalancesStateDefinitions } from './balances.js';\nimport { stellarDeliveriesStateDefinitions } from './deliveries.js';\nimport { stellarPoolStateDefinitions } from './pool.js';\nimport { stellarRecordsStateDefinitions } from './records.js';\nimport { stellarRegistryStateDefinitions } from './registry.js';\nimport { stellarTransactionStateDefinitions } from './transactions.js';\nimport { stellarWalletStateDefinitions } from './wallet.js';\n\nregisterStellarArrayFilterSchemas();\n\nexport const stellarStateDefinitions: StateBridgeDefinition[] = [\n ...stellarRegistryStateDefinitions,\n ...stellarAssetsStateDefinitions,\n ...stellarBalancesStateDefinitions,\n ...stellarPoolStateDefinitions,\n ...stellarRecordsStateDefinitions,\n ...stellarDeliveriesStateDefinitions,\n ...stellarWalletStateDefinitions,\n ...stellarTransactionStateDefinitions,\n];\n","import {\n createStateBridge,\n type StateBridge,\n type StateBridgeAdapter,\n} from '@arcanetech/privacy-sdk-core/state';\nimport { stellarStateDefinitions } from '../definitions/index.js';\n\nexport class StellarStateServiceBase {\n readonly bridge: StateBridge;\n\n constructor(adapter: StateBridgeAdapter) {\n this.bridge = createStateBridge(adapter);\n this.bridge.init(stellarStateDefinitions);\n }\n}\n","import type {\n StellarAddress,\n StellarAssetId,\n StellarPublicBalance,\n} from '../../../types.js';\nimport {\n normalizePublicBalance,\n normalizePublicBalancesFromEntries,\n} from '../../read/normalize.js';\nimport {\n stellarStateCallTypes,\n type StellarPublicBalanceInput,\n} from '../../bridge/call-types.js';\nimport type { StellarStateServiceBase } from '../base.js';\n\nexport function createPublicBalanceMethods(context: StellarStateServiceBase) {\n const { bridge } = context;\n\n return {\n async getPublicBalance(input: {\n owner: StellarAddress;\n asset: StellarAssetId;\n }): Promise<StellarPublicBalance | undefined> {\n const value = await bridge.read<unknown>({\n type: stellarStateCallTypes.readPublicBalance,\n owner: input.owner,\n asset: input.asset,\n });\n return normalizePublicBalance(value);\n },\n\n async getPublicBalances(owner: StellarAddress): Promise<StellarPublicBalance[]> {\n const entries = await bridge.read<unknown>({\n type: stellarStateCallTypes.readPublicBalances,\n owner,\n });\n return normalizePublicBalancesFromEntries(entries, owner);\n },\n\n setPublicBalance(balance: StellarPublicBalanceInput): Promise<void> {\n return bridge.write({\n type: stellarStateCallTypes.setPublicBalance,\n balance,\n });\n },\n\n setPublicBalances(input: {\n owner: StellarAddress;\n balances: StellarPublicBalanceInput[];\n }): Promise<void> {\n return bridge.write({\n type: stellarStateCallTypes.setPublicBalances,\n owner: input.owner,\n balances: input.balances,\n });\n },\n };\n}\n","import type { StellarAsset } from '../../../types.js';\nimport { readRecordValue } from '../../foundation/keys.js';\nimport type { StellarStateServiceBase } from '../base.js';\n\ntype AssetsCatalogDeps = {\n getAssetsCatalog: () => Promise<{\n byId: Record<string, StellarAsset>;\n listOrder: string[];\n }>;\n replaceAssets: (assets: StellarAsset[]) => Promise<void>;\n};\n\nexport function createAssetsUpsertMethods(\n _context: StellarStateServiceBase,\n deps: AssetsCatalogDeps,\n) {\n return {\n async upsertAssets(assets: StellarAsset[]): Promise<void> {\n if (assets.length === 0) {\n return;\n }\n const catalog = await deps.getAssetsCatalog();\n const byId = { ...catalog.byId };\n const listOrder = [...catalog.listOrder];\n for (const asset of assets) {\n byId[asset.assetId] = asset;\n if (!listOrder.includes(asset.assetId)) {\n listOrder.push(asset.assetId);\n }\n }\n const merged = listOrder\n .map((assetId) => readRecordValue(byId, assetId))\n .filter((asset): asset is StellarAsset => asset !== undefined);\n await deps.replaceAssets(merged);\n },\n };\n}\n","import type {\n StellarAsset,\n StellarAssetId,\n StellarAssetsCatalog,\n} from '../../../types.js';\nimport { readRecordValue } from '../../foundation/keys.js';\nimport { normalizeAsset, normalizeAssetsCatalog } from '../../read/normalize.js';\nimport { stellarStateCallTypes } from '../../bridge/call-types.js';\nimport type { StellarStateServiceBase } from '../base.js';\nimport { createAssetsUpsertMethods } from './upsert-methods.js';\n\nexport function createAssetsCatalogMethods(context: StellarStateServiceBase) {\n const { bridge } = context;\n\n async function getAssetsCatalog(): Promise<StellarAssetsCatalog> {\n const value = await bridge.read<unknown>({\n type: stellarStateCallTypes.readAssetsCatalog,\n });\n return normalizeAssetsCatalog(value);\n }\n\n function replaceAssets(assets: StellarAsset[]): Promise<void> {\n return bridge.write({\n type: stellarStateCallTypes.replaceAssets,\n assets,\n });\n }\n\n const coreMethods = {\n getAssetsCatalog,\n\n async getAsset(assetId: StellarAssetId): Promise<StellarAsset | undefined> {\n const value = await bridge.read<unknown>({\n type: stellarStateCallTypes.readAsset,\n assetId,\n });\n return normalizeAsset(value);\n },\n\n async getAssets(): Promise<StellarAsset[]> {\n const catalog = await getAssetsCatalog();\n return catalog.listOrder\n .map((assetId) => readRecordValue(catalog.byId, assetId))\n .filter((asset): asset is StellarAsset => asset !== undefined);\n },\n\n async getAssetsForPool(poolContract: string): Promise<StellarAsset[]> {\n const assets = await coreMethods.getAssets();\n return assets.filter((asset) => asset.poolContracts.includes(poolContract));\n },\n\n replaceAssets,\n };\n\n return {\n ...coreMethods,\n ...createAssetsUpsertMethods(context, {\n getAssetsCatalog,\n replaceAssets,\n }),\n };\n}\n","import type { StellarStateServiceBase } from '../base.js';\nimport { createPublicBalanceMethods } from './balance-methods.js';\nimport { createAssetsCatalogMethods } from './catalog-methods.js';\n\nexport function createAssetsService(context: StellarStateServiceBase) {\n return {\n ...createAssetsCatalogMethods(context),\n ...createPublicBalanceMethods(context),\n };\n}\n","import type {\n StellarIncomingDeliveriesFilter,\n StellarIncomingDelivery,\n} from '../../../types.js';\nimport { normalizeIncomingDeliveries } from '../../read/normalize.js';\nimport { stellarStateCallTypes } from '../../bridge/call-types.js';\nimport type { StellarStateServiceBase } from '../base.js';\n\nexport function createIncomingDeliveryMethods(context: StellarStateServiceBase) {\n const { bridge } = context;\n\n async function getIncomingDeliveries(\n filter: StellarIncomingDeliveriesFilter,\n ): Promise<StellarIncomingDelivery[]> {\n const values = await bridge.read<unknown>({\n type: stellarStateCallTypes.readIncomingDeliveries,\n });\n const deliveries = normalizeIncomingDeliveries(values);\n return deliveries.filter((delivery: StellarIncomingDelivery) => {\n if (delivery.privateAddress !== filter.privateAddress) {\n return false;\n }\n if (filter.asset !== undefined && delivery.asset !== filter.asset) {\n return false;\n }\n if (!filter.includeProcessed && delivery.processed) {\n return false;\n }\n return true;\n });\n }\n\n function upsertIncomingDeliveries(\n deliveries: StellarIncomingDelivery[],\n ): Promise<void> {\n return bridge.write({\n type: stellarStateCallTypes.upsertIncomingDeliveries,\n deliveries,\n });\n }\n\n return {\n getIncomingDeliveries,\n upsertIncomingDeliveries,\n\n async markDeliveryProcessed(id: number): Promise<void> {\n const deliveries = await bridge.read<unknown>({\n type: stellarStateCallTypes.readIncomingDeliveries,\n });\n const match = normalizeIncomingDeliveries(deliveries).find(\n (delivery: StellarIncomingDelivery) => delivery.id === id,\n );\n if (!match) {\n return;\n }\n await upsertIncomingDeliveries([{ ...match, processed: true }]);\n },\n };\n}\n","import type { StellarAssetId, StellarDeliverySyncState } from '../../../types.js';\nimport { normalizeDeliverySyncState } from '../../read/normalize.js';\nimport { stellarStateCallTypes } from '../../bridge/call-types.js';\nimport type { StellarStateServiceBase } from '../base.js';\n\nexport function createDeliverySyncMethods(context: StellarStateServiceBase) {\n const { bridge } = context;\n\n return {\n async getDeliverySyncState(input: {\n privateAddress: string;\n asset: StellarAssetId;\n }): Promise<StellarDeliverySyncState | undefined> {\n const value = await bridge.read<unknown>({\n type: stellarStateCallTypes.readDeliverySyncState,\n privateAddress: input.privateAddress,\n asset: input.asset,\n });\n return normalizeDeliverySyncState(value);\n },\n\n setDeliverySyncState(syncState: StellarDeliverySyncState): Promise<void> {\n return bridge.write({\n type: stellarStateCallTypes.setDeliverySyncState,\n syncState,\n });\n },\n };\n}\n","import type { StellarStateServiceBase } from '../base.js';\nimport { createIncomingDeliveryMethods } from './incoming-methods.js';\nimport { createDeliverySyncMethods } from './sync-methods.js';\n\nexport function createDeliveriesService(context: StellarStateServiceBase) {\n return {\n ...createIncomingDeliveryMethods(context),\n ...createDeliverySyncMethods(context),\n };\n}\n","import type { StellarLeafEphemeral } from '../../../types.js';\nimport { normalizeLeafEphemeral } from '../../read/normalize.js';\nimport { stellarStateCallTypes } from '../../bridge/call-types.js';\nimport type { StellarStateServiceBase } from '../base.js';\n\nfunction isMissingStatePathError(error: unknown): boolean {\n if (!(error instanceof Error)) {\n return false;\n }\n return (\n error.message.includes('Record path not found:') ||\n error.message.includes('JSONPath segment not found:')\n );\n}\n\nexport function createPoolEphemeralService(context: StellarStateServiceBase) {\n const { bridge } = context;\n\n return {\n async getLeafEphemeral(input: {\n poolContract: string;\n leafIndex: number;\n }): Promise<StellarLeafEphemeral | undefined> {\n try {\n const value = await bridge.read<unknown>({\n type: stellarStateCallTypes.readLeafEphemeral,\n poolContract: input.poolContract,\n leafIndex: input.leafIndex,\n });\n return normalizeLeafEphemeral(value);\n } catch (error) {\n if (isMissingStatePathError(error)) {\n return undefined;\n }\n throw error;\n }\n },\n\n setLeafEphemeral(ephemeral: StellarLeafEphemeral): Promise<void> {\n return bridge.write({\n type: stellarStateCallTypes.setLeafEphemeral,\n ephemeral,\n });\n },\n };\n}\n","import type { StellarPoolMerkleState } from '../../../types.js';\nimport { withoutUndefinedFields } from '../../foundation/coerce.js';\nimport { normalizePoolMerkleState } from '../../read/normalize.js';\nimport { stellarStateCallTypes } from '../../bridge/call-types.js';\nimport type { StellarStateServiceBase } from '../base.js';\n\nfunction isMissingStatePathError(error: unknown): boolean {\n if (!(error instanceof Error)) {\n return false;\n }\n return (\n error.message.includes('Record path not found:') ||\n error.message.includes('JSONPath segment not found:')\n );\n}\n\nexport function createPoolMerkleService(context: StellarStateServiceBase) {\n const { bridge } = context;\n\n return {\n async getPoolMerkleState(\n poolContract: string,\n ): Promise<StellarPoolMerkleState | undefined> {\n try {\n const value = await bridge.read<unknown>({\n type: stellarStateCallTypes.readPoolMerkleState,\n poolContract,\n });\n return normalizePoolMerkleState(value);\n } catch (error) {\n if (isMissingStatePathError(error)) {\n return undefined;\n }\n throw error;\n }\n },\n\n setPoolMerkleState(state: StellarPoolMerkleState): Promise<void> {\n return bridge.write({\n type: stellarStateCallTypes.setPoolMerkleState,\n state,\n });\n },\n\n async appendPoolCommitments(input: {\n poolContract: string;\n commitments: string[];\n merkleRootHex: string;\n syncedLedger?: number;\n }): Promise<void> {\n const current = await this.getPoolMerkleState(input.poolContract);\n const mergedCommitments = [...(current?.commitments ?? []), ...input.commitments];\n await this.setPoolMerkleState(\n withoutUndefinedFields({\n poolContract: input.poolContract,\n commitments: mergedCommitments,\n commitmentCount: mergedCommitments.length,\n merkleRootHex: input.merkleRootHex,\n updatedAt: Date.now(),\n syncedLedger: input.syncedLedger ?? current?.syncedLedger,\n }) as StellarPoolMerkleState,\n );\n },\n };\n}\n","import type { StellarPrivateRecord } from '../../../types.js';\n\nfunction privateCoinNotesEqual(\n left: StellarPrivateRecord['coinNote'],\n right: StellarPrivateRecord['coinNote'],\n): boolean {\n if (left === undefined || right === undefined) {\n return left === right;\n }\n return (\n left.value === right.value &&\n left.nullifier === right.nullifier &&\n left.secret === right.secret &&\n left.commitment === right.commitment &&\n left.asset_hi === right.asset_hi &&\n left.asset_lo === right.asset_lo &&\n left.application_id === right.application_id\n );\n}\n\nfunction privateRecordCoreFieldsEqual(\n left: StellarPrivateRecord,\n right: StellarPrivateRecord,\n): boolean {\n return (\n left.id === right.id &&\n left.owner === right.owner &&\n left.asset === right.asset &&\n left.amount === right.amount &&\n left.consumed === right.consumed &&\n left.status === right.status &&\n left.poolContract === right.poolContract &&\n left.amountDisplay === right.amountDisplay\n );\n}\n\nfunction privateRecordChainFieldsEqual(\n left: StellarPrivateRecord,\n right: StellarPrivateRecord,\n): boolean {\n return (\n left.commitmentHex === right.commitmentHex &&\n left.nullifierHex === right.nullifierHex &&\n left.deliveryId === right.deliveryId &&\n left.privateAddress === right.privateAddress &&\n left.txHash === right.txHash\n );\n}\n\nfunction privateRecordSecretFieldsEqual(\n left: StellarPrivateRecord,\n right: StellarPrivateRecord,\n): boolean {\n return (\n left.depositScalarHex === right.depositScalarHex &&\n left.precommitementHex === right.precommitementHex &&\n privateCoinNotesEqual(left.coinNote, right.coinNote)\n );\n}\n\nfunction privateRecordsEqual(\n left: StellarPrivateRecord,\n right: StellarPrivateRecord,\n): boolean {\n return (\n privateRecordCoreFieldsEqual(left, right) &&\n privateRecordChainFieldsEqual(left, right) &&\n privateRecordSecretFieldsEqual(left, right)\n );\n}\n\nexport function privateRecordArraysEqual(\n left: StellarPrivateRecord[],\n right: StellarPrivateRecord[],\n): boolean {\n return (\n left.length === right.length &&\n left.every((record, index) => {\n const rightRecord = right.at(index);\n return rightRecord !== undefined && privateRecordsEqual(record, rightRecord);\n })\n );\n}\n\nexport function mergePrivateRecords(\n current: StellarPrivateRecord[],\n records: StellarPrivateRecord[],\n): StellarPrivateRecord[] {\n const ids = new Set(records.map((record) => record.id));\n return [...current.filter((record) => !ids.has(record.id)), ...records];\n}\n","import type {\n StellarAddress,\n StellarAssetId,\n StellarPrivateAssetRow,\n StellarPrivateRecord,\n StellarPrivateRecordStatus,\n} from '../../../types.js';\nimport { normalizePrivateRecords } from '../../read/normalize.js';\nimport { stellarStateCallTypes } from '../../bridge/call-types.js';\nimport type { StellarAvailablePrivateRecordsFilter } from '../../domain/types.js';\nimport type { StellarStateServiceBase } from '../base.js';\nimport {\n mergePrivateRecords,\n privateRecordArraysEqual,\n} from './private-record-upsert.js';\n\ntype PrivateRecordBridge = StellarStateServiceBase['bridge'];\n\nasync function readPrivateRecords(\n bridge: PrivateRecordBridge,\n): Promise<StellarPrivateRecord[]> {\n const value = await bridge.read<unknown>({\n type: stellarStateCallTypes.listPrivateRecords,\n });\n return normalizePrivateRecords(value);\n}\n\nfunction writeReplacePrivateRecords(\n bridge: PrivateRecordBridge,\n records: StellarPrivateRecord[],\n): Promise<void> {\n return bridge.write({\n type: stellarStateCallTypes.replacePrivateRecords,\n records,\n });\n}\n\nasync function readAvailablePrivateRecords(\n bridge: PrivateRecordBridge,\n filter: StellarAvailablePrivateRecordsFilter,\n): Promise<StellarPrivateRecord[]> {\n const records = await readPrivateRecords(bridge);\n return records.filter((record) => matchesPrivateRecordFilter(record, filter, false));\n}\n\nasync function applyPrivateRecordsStatus(\n bridge: PrivateRecordBridge,\n records: StellarPrivateRecord[],\n status: StellarPrivateRecordStatus,\n): Promise<void> {\n const current = await readPrivateRecords(bridge);\n const ids = new Set(records.map((record) => record.id));\n const next = current.map((record) =>\n ids.has(record.id)\n ? {\n ...record,\n status,\n consumed: status === 'spent' ? true : record.consumed,\n }\n : record,\n );\n await writeReplacePrivateRecords(bridge, next);\n}\n\nfunction aggregatePrivateAssetRows(\n records: StellarPrivateRecord[],\n owner: StellarAddress,\n): StellarPrivateAssetRow[] {\n const available = records.filter(\n (record) => record.owner === owner && !record.consumed && record.status !== 'spent',\n );\n const byAsset = new Map<string, StellarPrivateAssetRow>();\n for (const record of available) {\n const existing = byAsset.get(record.asset);\n const amountDisplay = record.amountDisplay ?? Number(record.amount);\n if (existing) {\n existing.totalAmount += record.amount;\n existing.totalAmountDisplay += amountDisplay;\n } else {\n byAsset.set(record.asset, {\n assetId: record.asset,\n poolContract: record.poolContract ?? '',\n totalAmount: record.amount,\n totalAmountDisplay: amountDisplay,\n });\n }\n }\n return [...byAsset.values()].toSorted((left, right) =>\n left.assetId.localeCompare(right.assetId),\n );\n}\n\nfunction pruneConsumedPrivateRecords(bridge: PrivateRecordBridge): Promise<void> {\n return bridge.write({\n type: stellarStateCallTypes.pruneConsumedPrivateRecords,\n });\n}\n\nfunction savePrivateRecords(\n bridge: PrivateRecordBridge,\n records: StellarPrivateRecord[],\n): Promise<void> {\n return bridge.write({\n type: stellarStateCallTypes.savePrivateRecords,\n records,\n });\n}\n\nasync function upsertPrivateRecords(\n bridge: PrivateRecordBridge,\n records: StellarPrivateRecord[],\n): Promise<void> {\n if (records.length === 0) {\n return;\n }\n const current = await readPrivateRecords(bridge);\n const next = mergePrivateRecords(current, records);\n if (privateRecordArraysEqual(current, next)) {\n return;\n }\n return bridge.write({\n type: stellarStateCallTypes.upsertPrivateRecords,\n records,\n });\n}\n\nasync function readPrivateBalance(\n bridge: PrivateRecordBridge,\n input: { owner: StellarAddress; asset: StellarAssetId },\n): Promise<bigint> {\n const records = await readAvailablePrivateRecords(bridge, {\n owner: input.owner,\n asset: input.asset,\n });\n return records.reduce((total, record) => total + record.amount, 0n);\n}\n\nasync function readPrivateAssetRows(\n bridge: PrivateRecordBridge,\n owner: StellarAddress,\n): Promise<StellarPrivateAssetRow[]> {\n const records = await readPrivateRecords(bridge);\n return aggregatePrivateAssetRows(records, owner);\n}\n\nexport function createPrivateRecordMethods(context: StellarStateServiceBase) {\n const { bridge } = context;\n\n return {\n pruneConsumedPrivateRecords: () => pruneConsumedPrivateRecords(bridge),\n getPrivateRecords: () => readPrivateRecords(bridge),\n getAvailablePrivateRecords: (filter: StellarAvailablePrivateRecordsFilter) =>\n readAvailablePrivateRecords(bridge, filter),\n listPrivateRecords: (filter: {\n owner?: StellarAddress;\n privateAddress?: string;\n asset?: StellarAssetId;\n amount?: bigint;\n }) => readAvailablePrivateRecords(bridge, filter),\n savePrivateRecords: (records: StellarPrivateRecord[]) =>\n savePrivateRecords(bridge, records),\n upsertPrivateRecords: (records: StellarPrivateRecord[]) =>\n upsertPrivateRecords(bridge, records),\n markPrivateRecordsUsed: (records: StellarPrivateRecord[]) =>\n applyPrivateRecordsStatus(bridge, records, 'spent'),\n markPrivateRecordsStatus: (\n records: StellarPrivateRecord[],\n status: StellarPrivateRecordStatus,\n ) => applyPrivateRecordsStatus(bridge, records, status),\n getPrivateBalance: (input: { owner: StellarAddress; asset: StellarAssetId }) =>\n readPrivateBalance(bridge, input),\n getPrivateAssetRows: (owner: StellarAddress) => readPrivateAssetRows(bridge, owner),\n };\n}\n\nfunction matchesPrivateRecordFilter(\n record: StellarPrivateRecord,\n filter: StellarAvailablePrivateRecordsFilter,\n includeConsumed: boolean,\n): boolean {\n if (filter.owner !== undefined && record.owner !== filter.owner) {\n return false;\n }\n if (\n filter.privateAddress !== undefined &&\n record.privateAddress !== filter.privateAddress\n ) {\n return false;\n }\n if (filter.owner === undefined && filter.privateAddress === undefined) {\n return false;\n }\n if (filter.asset !== undefined && record.asset !== filter.asset) {\n return false;\n }\n if (!includeConsumed && (record.consumed || record.status === 'spent')) {\n return false;\n }\n return true;\n}\n","import type { StellarTransactionStatus } from '../../../types.js';\nimport { normalizeTransactionStatus } from '../../read/normalize.js';\nimport { stellarStateCallTypes } from '../../bridge/call-types.js';\nimport type { StellarStateServiceBase } from '../base.js';\n\nexport function createTransactionRecordMethods(context: StellarStateServiceBase) {\n const { bridge } = context;\n\n return {\n async getTransactionStatus(\n txHash: string,\n ): Promise<StellarTransactionStatus | undefined> {\n const value = await bridge.read<unknown>({\n type: stellarStateCallTypes.readTransactionStatus,\n txHash,\n });\n return normalizeTransactionStatus(value);\n },\n\n setTransactionStatus(status: StellarTransactionStatus): Promise<void> {\n return bridge.write({\n type: stellarStateCallTypes.setTransactionStatus,\n status,\n });\n },\n\n clearTransactionStatus(txHash: string): Promise<void> {\n return bridge.write({\n type: stellarStateCallTypes.clearTransactionStatus,\n txHash,\n });\n },\n };\n}\n","import type { StellarStateServiceBase } from '../base.js';\nimport { createPrivateRecordMethods } from './private-methods.js';\nimport { createTransactionRecordMethods } from './transaction-methods.js';\n\nexport function createRecordsService(context: StellarStateServiceBase) {\n return {\n ...createPrivateRecordMethods(context),\n ...createTransactionRecordMethods(context),\n };\n}\n","import type { StellarAddress, StellarRegistryLookup } from '../../../types.js';\nimport {\n normalizeCachedPrivateAddress,\n normalizeRegistryLookup,\n normalizeRegistryLookupFromLegacy,\n} from '../../read/normalize.js';\nimport { stellarStateCallTypes } from '../../bridge/call-types.js';\nimport type { StellarStateServiceBase } from '../base.js';\n\ntype RegistryLookupBridge = StellarStateServiceBase['bridge'];\n\nasync function readRegistryLookup(\n bridge: RegistryLookupBridge,\n address: StellarAddress,\n): Promise<StellarRegistryLookup | undefined> {\n try {\n const value = await bridge.read<unknown>({\n type: stellarStateCallTypes.readRegistryLookup,\n address,\n });\n const lookup = normalizeRegistryLookup(value);\n if (lookup) {\n return lookup;\n }\n } catch {\n // Legacy states may not have $.registry.lookups yet.\n }\n let registered: unknown;\n let privateAddress: unknown;\n try {\n registered = await bridge.read<unknown>({\n type: stellarStateCallTypes.readStellarAddressRegistered,\n address,\n });\n } catch {\n registered = undefined;\n }\n try {\n privateAddress = await bridge.read<unknown>({\n type: stellarStateCallTypes.readCachedPrivateAddress,\n address,\n });\n } catch {\n privateAddress = undefined;\n }\n return normalizeRegistryLookupFromLegacy({\n address,\n registered,\n privateAddress,\n });\n}\n\nasync function readCachedPrivateAddress(\n bridge: RegistryLookupBridge,\n address: StellarAddress,\n): Promise<string | undefined> {\n const lookup = await readRegistryLookup(bridge, address);\n if (lookup?.privateAddressStpl1) {\n return lookup.privateAddressStpl1;\n }\n const value = await bridge.read<unknown>({\n type: stellarStateCallTypes.readCachedPrivateAddress,\n address,\n });\n return normalizeCachedPrivateAddress(value);\n}\n\nexport function createRegistryLookupReadMethods(context: StellarStateServiceBase) {\n const { bridge } = context;\n\n return {\n getRegistryLookup: (address: StellarAddress) => readRegistryLookup(bridge, address),\n\n async isStellarAddressRegistered(\n address: StellarAddress,\n ): Promise<boolean | undefined> {\n const lookup = await readRegistryLookup(bridge, address);\n if (lookup === undefined) {\n return undefined;\n }\n return lookup.status === 'registered';\n },\n\n getCachedPrivateAddress: (address: StellarAddress) =>\n readCachedPrivateAddress(bridge, address),\n };\n}\n","import type { StellarAddress, StellarRegistryLookup } from '../../../types.js';\nimport { stellarStateCallTypes } from '../../bridge/call-types.js';\nimport type { StellarStateServiceBase } from '../base.js';\n\nexport function createRegistryLookupWriteMethods(context: StellarStateServiceBase) {\n const { bridge } = context;\n\n async function invalidateRegistryLookup(address: StellarAddress): Promise<void> {\n return bridge.write({\n type: stellarStateCallTypes.invalidateRegistryLookup,\n address,\n });\n }\n\n return {\n saveRegistryLookup(lookup: StellarRegistryLookup): Promise<void> {\n return bridge.write({\n type: stellarStateCallTypes.saveRegistryLookup,\n lookup,\n });\n },\n\n saveRegisteredPrivateAddress(input: {\n address: StellarAddress;\n privateAddress: string;\n registered: boolean;\n }): Promise<void> {\n return bridge.write({\n type: stellarStateCallTypes.saveRegisteredPrivateAddress,\n address: input.address,\n privateAddress: input.privateAddress,\n registered: input.registered,\n });\n },\n\n invalidateRegistryLookup,\n\n invalidateRegisteredAddress(address: StellarAddress): Promise<void> {\n return invalidateRegistryLookup(address);\n },\n };\n}\n","import type { StellarStateServiceBase } from '../base.js';\nimport { createRegistryLookupReadMethods } from './lookup-read.js';\nimport { createRegistryLookupWriteMethods } from './lookup-write.js';\n\nexport function createRegistryLookupService(context: StellarStateServiceBase) {\n return {\n ...createRegistryLookupReadMethods(context),\n ...createRegistryLookupWriteMethods(context),\n };\n}\n","import type {\n StellarAddress,\n StellarWalletPrivateAddressRecord,\n} from '../../../types.js';\nimport {\n normalizeWalletDefaultPrivateAddressNonce,\n normalizeWalletPrivateAddressRecord,\n} from '../../read/normalize.js';\nimport { stellarStateCallTypes } from '../../bridge/call-types.js';\nimport type { StellarStateServiceBase } from '../base.js';\n\nexport function createWalletRecordMethods(context: StellarStateServiceBase) {\n const { bridge } = context;\n\n return {\n async getWalletPrivateAddressRecord(input: {\n owner: StellarAddress;\n nonce: string;\n }): Promise<StellarWalletPrivateAddressRecord | undefined> {\n const value = await bridge.read<unknown>({\n type: stellarStateCallTypes.readWalletPrivateAddressRecord,\n owner: input.owner,\n nonce: input.nonce,\n });\n return normalizeWalletPrivateAddressRecord(value);\n },\n\n saveWalletPrivateAddressRecord(\n record: StellarWalletPrivateAddressRecord,\n ): Promise<void> {\n return bridge.write({\n type: stellarStateCallTypes.saveWalletPrivateAddressRecord,\n record,\n });\n },\n\n async getWalletDefaultPrivateAddressNonce(\n owner: StellarAddress,\n ): Promise<string | undefined> {\n const value = await bridge.read<unknown>({\n type: stellarStateCallTypes.readWalletDefaultPrivateAddressNonce,\n owner,\n });\n return normalizeWalletDefaultPrivateAddressNonce(value);\n },\n\n setWalletDefaultPrivateAddressNonce(input: {\n owner: StellarAddress;\n nonce: string;\n }): Promise<void> {\n return bridge.write({\n type: stellarStateCallTypes.setWalletDefaultPrivateAddressNonce,\n owner: input.owner,\n nonce: input.nonce,\n });\n },\n };\n}\n","import type {\n StellarAddress,\n StellarWalletPrivateAddressScalar,\n} from '../../../types.js';\nimport { normalizeWalletPrivateAddressScalar } from '../../read/normalize.js';\nimport { stellarStateCallTypes } from '../../bridge/call-types.js';\nimport type { StellarStateServiceBase } from '../base.js';\n\nexport function createWalletScalarMethods(context: StellarStateServiceBase) {\n const { bridge } = context;\n\n return {\n async getWalletPrivateAddressScalar(input: {\n owner: StellarAddress;\n nonce: string;\n }): Promise<StellarWalletPrivateAddressScalar | undefined> {\n const value = await bridge.read<unknown>({\n type: stellarStateCallTypes.readWalletPrivateAddressScalar,\n owner: input.owner,\n nonce: input.nonce,\n });\n return normalizeWalletPrivateAddressScalar(value);\n },\n\n saveWalletPrivateAddressScalar(\n scalar: StellarWalletPrivateAddressScalar,\n ): Promise<void> {\n return bridge.write({\n type: stellarStateCallTypes.saveWalletPrivateAddressScalar,\n scalar,\n });\n },\n\n deleteWalletPrivateAddressScalar(input: {\n owner: StellarAddress;\n nonce: string;\n }): Promise<void> {\n return bridge.write({\n type: stellarStateCallTypes.deleteWalletPrivateAddressScalar,\n owner: input.owner,\n nonce: input.nonce,\n });\n },\n };\n}\n","import type { StellarStateServiceBase } from '../base.js';\nimport { createWalletRecordMethods } from './wallet-record-methods.js';\nimport { createWalletScalarMethods } from './wallet-scalar-methods.js';\n\nexport function createWalletAddressService(context: StellarStateServiceBase) {\n return {\n ...createWalletScalarMethods(context),\n ...createWalletRecordMethods(context),\n };\n}\n","import type { StateBridgeAdapter } from '@arcanetech/privacy-sdk-core/state';\nimport { StellarStateServiceBase } from './base.js';\nimport { createAssetsService } from './assets/index.js';\nimport { createDeliveriesService } from './deliveries/index.js';\nimport { createPoolEphemeralService } from './pool/ephemeral.js';\nimport { createPoolMerkleService } from './pool/merkle.js';\nimport { createRecordsService } from './records/index.js';\nimport { createRegistryLookupService } from './registry/lookup.js';\nimport { createWalletAddressService } from './registry/wallet-address.js';\n\nexport function composeStellarStateService(adapter: StateBridgeAdapter) {\n const base = new StellarStateServiceBase(adapter);\n\n return {\n bridge: base.bridge,\n ...createAssetsService(base),\n ...createRegistryLookupService(base),\n ...createWalletAddressService(base),\n ...createPoolMerkleService(base),\n ...createPoolEphemeralService(base),\n ...createDeliveriesService(base),\n ...createRecordsService(base),\n };\n}\n\nexport type ComposedStellarStateService = ReturnType<typeof composeStellarStateService>;\n","import type { StateBridgeAdapter } from '@arcanetech/privacy-sdk-core/state';\nimport type { StellarStorageAdapter } from '../../types.js';\nimport {\n composeStellarStateService,\n type ComposedStellarStateService,\n} from './compose.js';\n\nexport type StellarStateService = ComposedStellarStateService;\n\nexport function createStellarStateService(\n adapter: StateBridgeAdapter,\n): StellarStateService {\n return composeStellarStateService(adapter);\n}\n\nexport function createStellarStorageAdapterFromState(\n state: StellarStateService,\n): StellarStorageAdapter {\n return {\n listPrivateRecords: (filter) => state.listPrivateRecords(filter),\n savePrivateRecords: (records) => state.savePrivateRecords(records),\n markPrivateRecordsUsed: (records) => state.markPrivateRecordsUsed(records),\n };\n}\n"],"mappings":";AAAO,IAAM,sBAAsB;AAAA,EACjC,gBAAgB;AAAA,EAChB,0BAA0B;AAAA,EAC1B,6BAA6B;AAAA,EAC7B,iBAAiB;AAAA,EACjB,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,iBAAiB;AAAA,EACjB,gBAAgB;AAAA,EAChB,iBAAiB;AAAA,EACjB,oBAAoB;AAAA,EACpB,wBAAwB;AAAA,EACxB,gBAAgB;AAAA,EAChB,oBAAoB;AAAA,EACpB,6BAA6B;AAAA,EAC7B,6BAA6B;AAAA,EAC7B,kCAAkC;AACpC;;;ACjBA,SAAS,SAAS;AAEX,IAAM,mBAAmB,EAAE,OAAO;AAAA,EACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY;AAAA,EACpC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,EAChC,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,EACpC,SAAS,EAAE,QAAQ;AACrB,CAAC;AAED,IAAM,+BAA+B,EAAE,OAAO;AAAA,EAC5C,OAAO,EAAE,OAAO;AAAA,EAChB,WAAW,EAAE,OAAO;AAAA,EACpB,QAAQ,EAAE,OAAO;AAAA,EACjB,YAAY,EAAE,OAAO;AAAA,EACrB,UAAU,EAAE,OAAO;AAAA,EACnB,UAAU,EAAE,OAAO;AAAA,EACnB,gBAAgB,EAAE,OAAO,EAAE,SAAS;AACtC,CAAC;AAEM,IAAM,sBAAsB,EAAE,OAAO;AAAA,EAC1C,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EACpB,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EACvB,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EACvB,QAAQ,EAAE,OAAO,OAAO;AAAA,EACxB,UAAU,EAAE,QAAQ;AAAA,EACpB,QAAQ,EAAE,KAAK,CAAC,WAAW,aAAa,OAAO,CAAC,EAAE,SAAS;AAAA,EAC3D,cAAc,EAAE,OAAO,EAAE,SAAS;AAAA,EAClC,eAAe,EAAE,OAAO,EAAE,SAAS;AAAA,EACnC,cAAc,EAAE,OAAO,EAAE,SAAS;AAAA,EAClC,eAAe,EAAE,OAAO,EAAE,SAAS;AAAA,EACnC,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,EACtC,gBAAgB,EAAE,OAAO,EAAE,SAAS;AAAA,EACpC,QAAQ,EAAE,OAAO,EAAE,SAAS;AAAA,EAC5B,UAAU,6BAA6B,SAAS;AAAA,EAChD,kBAAkB,EAAE,OAAO,EAAE,SAAS;AAAA,EACtC,mBAAmB,EAAE,OAAO,EAAE,SAAS;AACzC,CAAC;AAEM,IAAM,cAAc,EAAE,OAAO;AAAA,EAClC,IAAI,EAAE,OAAO,EAAE,IAAI;AAAA,EACnB,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EACzB,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EACtB,SAAS,EAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,eAAe,EAAE,OAAO,EAAE,SAAS;AAAA,EACnC,gBAAgB,EAAE,OAAO,EAAE,SAAS;AAAA,EACpC,eAAe,EAAE,MAAM,EAAE,OAAO,CAAC;AAAA,EACjC,cAAc,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EAC9B,UAAU,EAAE,QAAQ;AAAA,EACpB,YAAY,EAAE,OAAO,EAAE,SAAS;AAAA,EAChC,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS;AACjD,CAAC;AAEM,IAAM,sBAAsB,EAAE,OAAO;AAAA,EAC1C,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EACvB,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EACvB,SAAS,EAAE,OAAO;AAAA,EAClB,iBAAiB,EAAE,KAAK,CAAC,UAAU,YAAY,MAAM,CAAC;AACxD,CAAC;AAEM,IAAM,uBAAuB,EAAE,OAAO;AAAA,EAC3C,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EACvB,QAAQ,EAAE,KAAK,CAAC,cAAc,cAAc,CAAC;AAAA,EAC7C,qBAAqB,EAAE,OAAO,EAAE,SAAS;AAAA,EACzC,eAAe,EAAE,OAAO,EAAE,SAAS;AAAA,EACnC,eAAe,EAAE,OAAO,EAAE,SAAS;AAAA,EACnC,iBAAiB,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,EAC3C,UAAU,EAAE,OAAO,EAAE,SAAS;AAChC,CAAC;AAEM,IAAM,mCAAmC,EAAE,OAAO;AAAA,EACvD,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EACvB,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EACvB,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EAC3B,WAAW,EAAE,OAAO,EAAE,SAAS;AACjC,CAAC;AAEM,IAAM,mCAAmC,EAAE,OAAO;AAAA,EACvD,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EACvB,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EACvB,gBAAgB,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EAChC,WAAW,EAAE,OAAO;AACtB,CAAC;AAEM,IAAM,wBAAwB,EAAE,OAAO;AAAA,EAC5C,cAAc,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EAC9B,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC;AAAA,EAC/B,iBAAiB,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY;AAAA,EAC9C,eAAe,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EAC/B,WAAW,EAAE,OAAO;AAAA,EACpB,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAC1C,CAAC;AAEM,IAAM,sBAAsB,EAAE,OAAO;AAAA,EAC1C,cAAc,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EAC9B,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY;AAAA,EACxC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EACtB,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EACtB,UAAU,EAAE,OAAO,EAAE,SAAS;AAChC,CAAC;AAEM,IAAM,yBAAyB,EAAE,OAAO;AAAA,EAC7C,IAAI,EAAE,OAAO,EAAE,IAAI;AAAA,EACnB,gBAAgB,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EAChC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EACvB,kBAAkB,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EAClC,cAAc,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EAC9B,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EAC3B,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EAC3B,WAAW,EAAE,QAAQ,EAAE,SAAS;AAClC,CAAC;AAEM,IAAM,0BAA0B,EAAE,OAAO;AAAA,EAC9C,gBAAgB,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EAChC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EACvB,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,EAClC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,EAClC,iBAAiB,EAAE,OAAO,EAAE,SAAS;AAAA,EACrC,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS;AAAA,EAC/C,cAAc,EAAE,OAAO,EAAE,SAAS;AACpC,CAAC;AAEM,IAAM,0BAA0B,EAAE,OAAO;AAAA,EAC9C,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EACxB,QAAQ,EAAE,KAAK,CAAC,WAAW,WAAW,QAAQ,CAAC;AAAA,EAC/C,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,EAClC,WAAW,EAAE,OAAO,EAAE,SAAS;AACjC,CAAC;;;AC9HM,SAAS,uBAA0D,OAAa;AACrF,QAAM,OAAO,CAAC;AACd,aAAW,CAAC,KAAK,UAAU,KAAK,OAAO,QAAQ,KAAK,GAAG;AACrD,QAAI,eAAe,QAAW;AAC5B,cAAQ,IAAI,MAAM,KAAK,UAAU;AAAA,IACnC;AAAA,EACF;AACA,SAAO;AACT;;;ACAO,SAAS,uBAAuB,OAAsC;AAC3E,MAAI,OAAO,UAAU,YAAY,UAAU,MAAM;AAC/C,WAAO,EAAE,MAAM,CAAC,GAAG,WAAW,CAAC,EAAE;AAAA,EACnC;AACA,QAAM,SAAS;AACf,QAAM,UAAU,OAAO;AACvB,QAAM,eAAe,OAAO;AAC5B,QAAM,OAAqC,CAAC;AAC5C,MAAI,OAAO,YAAY,YAAY,YAAY,MAAM;AACnD,eAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,OAAO,GAAG;AAClD,YAAM,SAAS,YAAY,UAAU,KAAK;AAC1C,UAAI,OAAO,SAAS;AAClB,aAAK,GAAG,IAAI,uBAAuB,OAAO,IAAI;AAAA,MAChD;AAAA,IACF;AAAA,EACF;AACA,QAAM,YAAY,MAAM,QAAQ,YAAY,IACxC,aAAa,OAAO,CAAC,SAAyB,OAAO,SAAS,QAAQ,IACtE,CAAC;AACL,SAAO,EAAE,MAAM,UAAU;AAC3B;AAEO,SAAS,eAAe,OAA0C;AACvE,QAAM,SAAS,YAAY,UAAU,KAAK;AAC1C,SAAO,OAAO,UACT,uBAAuB,OAAO,IAAI,IACnC;AACN;AAEO,SAAS,uBACd,OACkC;AAClC,QAAM,SAAS,oBAAoB,UAAU,KAAK;AAClD,SAAO,OAAO,UAAU,OAAO,OAAO;AACxC;AAEO,SAAS,mCACd,OACA,OACwB;AACxB,MAAI,CAAC,MAAM,QAAQ,KAAK,GAAG;AACzB,WAAO,CAAC;AAAA,EACV;AACA,SAAO,MACJ,IAAI,CAAC,UAAU;AACd,QAAI,CAAC,MAAM,QAAQ,KAAK,KAAK,MAAM,SAAS,GAAG;AAC7C;AAAA,IACF;AACA,UAAM,CAAC,KAAK,YAAY,IAAI;AAC5B,QAAI,OAAO,QAAQ,YAAY,CAAC,IAAI,WAAW,GAAG,KAAK,GAAG,GAAG;AAC3D;AAAA,IACF;AACA,WAAO,uBAAuB,YAAY;AAAA,EAC5C,CAAC,EACA,OAAO,CAAC,YAA6C,YAAY,MAAS;AAC/E;;;ACrDO,SAAS,4BAA4B,OAA2C;AACrF,QAAM,UACJ,OAAO,UAAU,YAAY,UAAU,QAAQ,CAAC,MAAM,QAAQ,KAAK,IAC/D,OAAO,OAAO,KAAK,IACnB;AACN,MAAI,CAAC,MAAM,QAAQ,OAAO,GAAG;AAC3B,WAAO,CAAC;AAAA,EACV;AACA,SAAO,QAAQ,QAAQ,CAAC,UAAU;AAChC,UAAM,SAAS,uBAAuB,UAAU,KAAK;AACrD,WAAO,OAAO,UACV,CAAC,uBAAuB,OAAO,IAAI,CAA4B,IAC/D,CAAC;AAAA,EACP,CAAC;AACH;AAEO,SAAS,2BACd,OACsC;AACtC,QAAM,SAAS,wBAAwB,UAAU,KAAK;AACtD,SAAO,OAAO,UACT,uBAAuB,OAAO,IAAI,IACnC;AACN;;;AC1BO,SAAS,yBACd,OACoC;AACpC,QAAM,SAAS,sBAAsB,UAAU,KAAK;AACpD,SAAO,OAAO,UACT,uBAAuB,OAAO,IAAI,IACnC;AACN;AAEO,SAAS,uBACd,OACkC;AAClC,QAAM,SAAS,oBAAoB,UAAU,KAAK;AAClD,SAAO,OAAO,UACT,uBAAuB,OAAO,IAAI,IACnC;AACN;;;ACnBO,SAAS,8BAA8B,OAAoC;AAChF,SAAO,OAAO,UAAU,YAAY,MAAM,SAAS,IAAI,QAAQ;AACjE;AAEO,SAAS,wBACd,OACmC;AACnC,QAAM,SAAS,qBAAqB,UAAU,KAAK;AACnD,SAAO,OAAO,UACT,uBAAuB,OAAO,IAAI,IACnC;AACN;AAEO,SAAS,kCAAkC,OAIZ;AACpC,QAAM,SAAS;AAAA,IACb,OAAO,MAAM,eAAe,YAAY,MAAM,eAAe,OACzD,MAAM,aACN;AAAA,EACN;AACA,MAAI,QAAQ;AACV,WAAO;AAAA,EACT;AACA,MAAI,MAAM,eAAe,UAAa,MAAM,mBAAmB,QAAW;AACxE,WAAO;AAAA,EACT;AACA,QAAMA,cAAa,QAAQ,MAAM,UAAU;AAC3C,QAAM,sBAAsB,8BAA8B,MAAM,cAAc;AAC9E,MAAI,CAACA,eAAc,wBAAwB,QAAW;AACpD,WAAO,EAAE,OAAO,MAAM,SAAS,QAAQ,eAAe;AAAA,EACxD;AACA,SAAO,uBAAuB;AAAA,IAC5B,OAAO,MAAM;AAAA,IACb,QAAQA,cAAa,eAAe;AAAA,IACpC,GAAI,wBAAwB,SAAY,CAAC,IAAI,EAAE,oBAAoB;AAAA,EACrE,CAAC;AACH;;;AC3CA,OAAkB;AAQX,SAAS,wBAAwB,OAAwC;AAC9E,MAAI,CAAC,MAAM,QAAQ,KAAK,GAAG;AACzB,WAAO,CAAC;AAAA,EACV;AACA,QAAM,UAAU,MAAM,QAAQ,CAAC,SAAS;AACtC,UAAM,SAAS,oBAAoB,UAAU,IAAI;AACjD,WAAO,OAAO,UAAU,CAAC,6BAA6B,OAAO,IAAI,CAAC,IAAI,CAAC;AAAA,EACzE,CAAC;AACD,SAAO,0BAA0B,OAAO;AAC1C;AAEO,SAAS,2BACd,OACsC;AACtC,QAAM,SAAS,wBAAwB,UAAU,KAAK;AACtD,SAAO,OAAO,UACT,uBAAuB,OAAO,IAAI,IACnC;AACN;AAEA,SAAS,2BAA2B,QAAsC;AACxE,UACE,OAAO,eAAe,KAAK,KAC3B,OAAO,UAAU,WAAW,KAAK,KACjC,OAAO,GAAG,KAAK,GAEd,QAAQ,SAAS,EAAE,EACnB,YAAY;AACjB;AAEA,SAAS,6BACP,QACsB;AACtB,QAAM,aAAa,uBAAuB,MAAM;AAChD,MAAI,CAAC,WAAW,kBAAkB,WAAW,MAAM,KAAK,EAAE,WAAW,MAAM,GAAG;AAC5E,WAAO,EAAE,GAAG,YAAY,gBAAgB,WAAW,MAAM,KAAK,EAAE;AAAA,EAClE;AACA,SAAO;AACT;AAEA,SAAS,oBACP,SACA,UACA,KACsB;AACtB,MAAI,mBAAmB,QAAQ,MAAM,KAAK;AACxC,WAAO;AAAA,EACT;AACA,MAAI,mBAAmB,OAAO,MAAM,KAAK;AACvC,WAAO;AAAA,EACT;AACA,SAAO;AACT;AAEA,SAAS,mBAAmB,QAAsC;AAChE,SAAO,OAAO,GAAG,KAAK,EAAE,QAAQ,SAAS,EAAE,EAAE,YAAY;AAC3D;AAEA,SAAS,0BACP,SACwB;AACxB,QAAM,eAAe,oBAAI,IAAkC;AAC3D,aAAW,UAAU,SAAS;AAC5B,UAAM,MAAM,2BAA2B,MAAM;AAC7C,UAAM,UAAU,aAAa,IAAI,GAAG;AACpC,iBAAa,IAAI,KAAK,UAAU,oBAAoB,SAAS,QAAQ,GAAG,IAAI,MAAM;AAAA,EACpF;AACA,SAAO,CAAC,GAAG,aAAa,OAAO,CAAC;AAClC;;;AClEO,SAAS,oCACd,OAC+C;AAC/C,QAAM,SAAS,iCAAiC,UAAU,KAAK;AAC/D,SAAO,OAAO,UACT,uBAAuB,OAAO,IAAI,IACnC;AACN;AAEO,SAAS,oCACd,OAC+C;AAC/C,QAAM,SAAS,iCAAiC,UAAU,KAAK;AAC/D,SAAO,OAAO,UACT,uBAAuB,OAAO,IAAI,IACnC;AACN;AAEO,SAAS,0CACd,OACoB;AACpB,SAAO,OAAO,UAAU,WAAW,MAAM,KAAK,KAAK,SAAY;AACjE;;;AChBA,SAAS,mBAAmB,OAA0C;AACpE,MAAI,OAAO,UAAU,YAAY,UAAU,QAAQ,MAAM,QAAQ,KAAK,GAAG;AACvE,WAAO;AAAA,EACT;AACA,SAAO;AACT;AAEA,SAAS,mBAAmB,OAA0C;AACpE,QAAM,SAAS,mBAAmB,KAAK;AACvC,MAAI,CAAC,QAAQ;AACX,WAAO;AAAA,EACT;AACA,QAAM,SAAS,mBAAmB,OAAO,eAAe;AACxD,SAAO,UAAU;AACnB;AAEA,SAAS,mBAAmB,OAA0C;AACpE,QAAM,MAAM,mBAAmB,KAAK;AACpC,MAAI,CAAC,KAAK;AACR,WAAO;AAAA,EACT;AACA,SAAO,mBAAmB,IAAI,MAAM;AACtC;AAEA,SAAS,cAAc,OAAgB,KAA6C;AAClF,QAAM,SAAS,mBAAmB,KAAK;AACvC,MAAI,CAAC,QAAQ;AACX,WAAO;AAAA,EACT;AACA,MAAI,QAAQ,yBAAyB;AACnC,WAAO,mBAAmB,OAAO,qBAAqB;AAAA,EACxD;AACA,MAAI,QAAQ,yBAAyB;AACnC,WAAO,mBAAmB,OAAO,qBAAqB;AAAA,EACxD;AACA,SAAO,mBAAmB,OAAO,0BAA0B;AAC7D;AAEA,SAAS,gBAAgB,QAAsB,KAAsB;AACnE,aAAW,CAAC,UAAU,UAAU,KAAK,OAAO,QAAQ,MAAM,GAAG;AAC3D,QAAI,aAAa,KAAK;AACpB,aAAO;AAAA,IACT;AAAA,EACF;AACA,SAAO;AACT;AAEA,SAAS,cAAc,OAAe,OAAuB;AAC3D,SAAO,GAAG,MAAM,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC;AACxC;AAEO,SAAS,oCACd,OACwB;AACxB,QAAM,MAAM,mBAAmB,KAAK;AACpC,MAAI,CAAC,KAAK;AACR,WAAO,CAAC;AAAA,EACV;AACA,SAAO,wBAAwB,IAAI,cAAc;AACnD;AAEO,SAAS,gDAAgD,OAId;AAChD,QAAM,QAAQ,MAAM,MAAM,KAAK;AAC/B,QAAM,QAAQ,MAAM,MAAM,KAAK;AAC/B,MAAI,CAAC,SAAS,CAAC,OAAO;AACpB,WAAO;AAAA,EACT;AACA,QAAM,UAAU,cAAc,MAAM,OAAO,uBAAuB;AAClE,MAAI,CAAC,SAAS;AACZ,WAAO;AAAA,EACT;AACA,QAAM,QAAQ,QAAQ,cAAc,OAAO,KAAK,CAAC;AACjD,MAAI,OAAO,UAAU,UAAU;AAC7B,UAAM,YAAY,MAAM,KAAK;AAC7B,WAAO,YAAY,EAAE,OAAO,OAAO,UAAU,IAAI;AAAA,EACnD;AACA,SAAO,oCAAoC,KAAK;AAClD;AAEO,SAAS,gDAAgD,OAId;AAChD,QAAM,QAAQ,MAAM,MAAM,KAAK;AAC/B,QAAM,QAAQ,MAAM,MAAM,KAAK;AAC/B,MAAI,CAAC,SAAS,CAAC,OAAO;AACpB,WAAO;AAAA,EACT;AACA,QAAM,UAAU,cAAc,MAAM,OAAO,uBAAuB;AAClE,MAAI,CAAC,SAAS;AACZ,WAAO;AAAA,EACT;AACA,SAAO,oCAAoC,QAAQ,cAAc,OAAO,KAAK,CAAC,CAAC;AACjF;AAEO,SAAS,sDAAsD,OAG/C;AACrB,QAAM,QAAQ,MAAM,MAAM,KAAK;AAC/B,MAAI,CAAC,OAAO;AACV,WAAO;AAAA,EACT;AACA,QAAM,WAAW,cAAc,MAAM,OAAO,4BAA4B;AACxE,MAAI,CAAC,UAAU;AACb,WAAO;AAAA,EACT;AACA,SAAO,0CAA0C,gBAAgB,UAAU,KAAK,CAAC;AACnF;AAEO,SAAS,yDAAyD,OAGjC;AACtC,QAAM,QAAQ,MAAM,MAAM,KAAK;AAC/B,MAAI,CAAC,OAAO;AACV,WAAO,CAAC;AAAA,EACV;AACA,QAAM,UAAU,cAAc,MAAM,OAAO,uBAAuB;AAClE,MAAI,CAAC,SAAS;AACZ,WAAO,CAAC;AAAA,EACV;AACA,QAAM,SAAS,GAAG,KAAK;AACvB,SAAO,OAAO,KAAK,OAAO,EAAE,QAAQ,CAAC,QAAQ;AAC3C,QAAI,CAAC,IAAI,WAAW,MAAM,GAAG;AAC3B,aAAO,CAAC;AAAA,IACV;AACA,UAAM,QAAQ,IAAI,MAAM,OAAO,MAAM,EAAE,KAAK;AAC5C,QAAI,CAAC,OAAO;AACV,aAAO,CAAC;AAAA,IACV;AACA,UAAM,QAAQ,gDAAgD;AAAA,MAC5D,OAAO,MAAM;AAAA,MACb;AAAA,MACA;AAAA,IACF,CAAC;AACD,WAAO,QAAQ,CAAC,KAAK,IAAI,CAAC;AAAA,EAC5B,CAAC;AACH;AAEO,SAAS,yDAAyD,OAGjC;AACtC,QAAM,QAAQ,MAAM,MAAM,KAAK;AAC/B,MAAI,CAAC,OAAO;AACV,WAAO,CAAC;AAAA,EACV;AACA,QAAM,UAAU,cAAc,MAAM,OAAO,uBAAuB;AAClE,MAAI,CAAC,SAAS;AACZ,WAAO,CAAC;AAAA,EACV;AACA,QAAM,SAAS,GAAG,KAAK;AACvB,SAAO,OAAO,KAAK,OAAO,EAAE,QAAQ,CAAC,QAAQ;AAC3C,QAAI,CAAC,IAAI,WAAW,MAAM,GAAG;AAC3B,aAAO,CAAC;AAAA,IACV;AACA,UAAM,QAAQ,IAAI,MAAM,OAAO,MAAM,EAAE,KAAK;AAC5C,QAAI,CAAC,OAAO;AACV,aAAO,CAAC;AAAA,IACV;AACA,UAAM,QAAQ,gDAAgD;AAAA,MAC5D,OAAO,MAAM;AAAA,MACb;AAAA,MACA;AAAA,IACF,CAAC;AACD,WAAO,QAAQ,CAAC,KAAK,IAAI,CAAC;AAAA,EAC5B,CAAC;AACH;;;AC7LA,SAAS,qCAAqC;;;ACEvC,IAAM,+BAA+B;AAAA,EAC1C,eAAe;AACjB;AAEO,SAAS,0BAA0B,KAAe;AACvD,SAAO;AAAA,IACL,QAAQ;AAAA,IACR,UAAU,oBAAoB;AAAA,IAC9B,eAAe,6BAA6B;AAAA,IAC5C,YAAY;AAAA,MACV,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ;AAAA,IACV;AAAA,EACF;AACF;AAEO,SAAS,+BAA+B;AAC7C,SAAO;AAAA,IACL,QAAQ;AAAA,IACR,UAAU,oBAAoB;AAAA,IAC9B,eAAe,6BAA6B;AAAA,IAC5C,YAAY;AAAA,MACV,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,OAAO;AAAA,IACT;AAAA,EACF;AACF;;;AD1BA,IAAI,aAAa;AAEV,SAAS,oCAA0C;AACxD,MAAI,YAAY;AACd;AAAA,EACF;AACA;AAAA,IACE,6BAA6B;AAAA,IAC7B;AAAA,EACF;AACA,eAAa;AACf;;;AEfA,OAA2C;AAGpC,IAAM,wBAAwB;AAAA,EACnC,8BAA8B;AAAA,EAC9B,0BAA0B;AAAA,EAC1B,oBAAoB;AAAA,EACpB,8BAA8B;AAAA,EAC9B,oBAAoB;AAAA,EACpB,6BAA6B;AAAA,EAC7B,0BAA0B;AAAA,EAC1B,mBAAmB;AAAA,EACnB,WAAW;AAAA,EACX,eAAe;AAAA,EACf,cAAc;AAAA,EACd,mBAAmB;AAAA,EACnB,oBAAoB;AAAA,EACpB,kBAAkB;AAAA,EAClB,mBAAmB;AAAA,EACnB,qBAAqB;AAAA,EACrB,oBAAoB;AAAA,EACpB,mBAAmB;AAAA,EACnB,kBAAkB;AAAA,EAClB,oBAAoB;AAAA,EACpB,oBAAoB;AAAA,EACpB,uBAAuB;AAAA,EACvB,sBAAsB;AAAA,EACtB,6BAA6B;AAAA,EAC7B,wBAAwB;AAAA,EACxB,0BAA0B;AAAA,EAC1B,uBAAuB;AAAA,EACvB,sBAAsB;AAAA,EACtB,uBAAuB;AAAA,EACvB,sBAAsB;AAAA,EACtB,wBAAwB;AAAA,EACxB,gCAAgC;AAAA,EAChC,gCAAgC;AAAA,EAChC,gCAAgC;AAAA,EAChC,gCAAgC;AAAA,EAChC,qCAAqC;AAAA,EACrC,sCAAsC;AAAA,EACtC,kCAAkC;AACpC;;;AC1CA,SAAS,KAAAC,UAAS;AAMX,IAAM,0BAA0BC,GACpC,OAAO;AAAA,EACN,MAAMA,GAAE,QAAQ,sBAAsB,iBAAiB;AACzD,CAAC,EACA,UAAU,CAAC,EAAE,KAAK,OAAO;AAAA,EACxB;AAAA,EACA,YAAY;AAAA,IACV;AAAA,MACE,QAAQ;AAAA,MACR,UAAU,oBAAoB;AAAA,IAChC;AAAA,EACF;AACF,EAAE;AAEG,IAAM,kBAAkBA,GAC5B,OAAO;AAAA,EACN,MAAMA,GAAE,QAAQ,sBAAsB,SAAS;AAAA,EAC/C,SAASA,GAAE,OAAO,EAAE,IAAI,CAAC;AAC3B,CAAC,EACA,UAAU,CAAC,EAAE,MAAM,QAAQ,OAAO;AAAA,EACjC;AAAA,EACA,YAAY;AAAA,IACV;AAAA,MACE,QAAQ;AAAA,MACR,UAAU,oBAAoB;AAAA,MAC9B,KAAK;AAAA,IACP;AAAA,EACF;AACF,EAAE;AAEG,IAAM,sBAAsBA,GAChC,OAAO;AAAA,EACN,MAAMA,GAAE,QAAQ,sBAAsB,aAAa;AAAA,EACnD,QAAQA,GAAE,MAAM,WAAW;AAC7B,CAAC,EACA,UAAU,CAAC,EAAE,MAAM,OAAO,MAAM;AAC/B,QAAM,OAAgC,CAAC;AACvC,QAAM,YAAsB,CAAC;AAC7B,aAAW,SAAS,QAAQ;AAC1B,YAAQ,IAAI,MAAM,MAAM,SAAS,uBAAuB,KAAK,CAAC;AAC9D,cAAU,KAAK,MAAM,OAAO;AAAA,EAC9B;AACA,SAAO;AAAA,IACL;AAAA,IACA,YAAY;AAAA,MACV;AAAA,QACE,QAAQ;AAAA,QACR,UAAU,oBAAoB;AAAA,QAC9B,OAAO,EAAE,MAAM,UAAU;AAAA,MAC3B;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAEI,IAAM,qBAAqBA,GAC/B,OAAO;AAAA,EACN,MAAMA,GAAE,QAAQ,sBAAsB,YAAY;AAAA,EAClD,QAAQA,GAAE,MAAM,WAAW;AAC7B,CAAC,EACA,UAAU,CAAC,EAAE,MAAM,OAAO,OAAO;AAAA,EAChC;AAAA,EACA,YAAY,OAAO,IAAI,CAAC,WAAW;AAAA,IACjC,QAAQ;AAAA,IACR,UAAU,oBAAoB;AAAA,IAC9B,KAAK,MAAM;AAAA,IACX,OAAO;AAAA,EACT,EAAE;AACJ,EAAE;;;AChEG,IAAM,gCAAyD;AAAA,EACpE;AAAA,IACE,MAAM,sBAAsB;AAAA,IAC5B,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA;AAAA,IACE,MAAM,sBAAsB;AAAA,IAC5B,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA;AAAA,IACE,MAAM,sBAAsB;AAAA,IAC5B,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA;AAAA,IACE,MAAM,sBAAsB;AAAA,IAC5B,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AACF;;;AC9BA,SAAS,KAAAC,UAAS;;;ACEX,SAAS,cAAc,OAAuB,OAA+B;AAClF,SAAO,GAAG,KAAK,IAAI,KAAK;AAC1B;AAEO,SAASC,iBACd,QACA,KACe;AACf,MAAI,CAAC,OAAO,OAAO,QAAQ,GAAG,GAAG;AAC/B,WAAO;AAAA,EACT;AACA,SAAO,QAAQ,IAAI,QAAQ,GAAG;AAChC;AAEO,SAAS,YAAY,cAAsB,WAA2B;AAC3E,SAAO,GAAG,YAAY,IAAI,SAAS;AACrC;AAEO,SAAS,uBACd,gBACA,OACQ;AACR,SAAO,GAAG,cAAc,IAAI,KAAK;AACnC;AAEO,SAAS,oBAAoB,OAAuB,OAAuB;AAChF,SAAO,GAAG,KAAK,IAAI,KAAK;AAC1B;;;ADvBO,IAAM,0BAA0BC,GACpC,OAAO;AAAA,EACN,MAAMA,GAAE,QAAQ,sBAAsB,iBAAiB;AAAA,EACvD,OAAOA,GAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EACvB,OAAOA,GAAE,OAAO,EAAE,IAAI,CAAC;AACzB,CAAC,EACA,UAAU,CAAC,EAAE,MAAM,OAAO,MAAM,OAAO;AAAA,EACtC;AAAA,EACA,YAAY;AAAA,IACV;AAAA,MACE,QAAQ;AAAA,MACR,UAAU,oBAAoB;AAAA,MAC9B,KAAK,cAAc,OAAO,KAAK;AAAA,IACjC;AAAA,EACF;AACF,EAAE;AAEG,IAAM,2BAA2BA,GACrC,OAAO;AAAA,EACN,MAAMA,GAAE,QAAQ,sBAAsB,kBAAkB;AAAA,EACxD,OAAOA,GAAE,OAAO,EAAE,IAAI,CAAC;AACzB,CAAC,EACA,UAAU,CAAC,EAAE,KAAK,OAAO;AAAA,EACxB;AAAA,EACA,YAAY;AAAA,IACV;AAAA,MACE,QAAQ;AAAA,MACR,UAAU,oBAAoB;AAAA,IAChC;AAAA,EACF;AACF,EAAE;AAEG,IAAM,yBAAyBA,GACnC,OAAO;AAAA,EACN,MAAMA,GAAE,QAAQ,sBAAsB,gBAAgB;AAAA,EACtD,SAAS;AACX,CAAC,EACA,UAAU,CAAC,EAAE,MAAM,QAAQ,OAAO;AAAA,EACjC;AAAA,EACA,YAAY;AAAA,IACV;AAAA,MACE,QAAQ;AAAA,MACR,UAAU,oBAAoB;AAAA,MAC9B,KAAK,cAAc,QAAQ,OAAO,QAAQ,KAAK;AAAA,MAC/C,OAAO;AAAA,IACT;AAAA,EACF;AACF,EAAE;AAEG,IAAM,0BAA0BA,GACpC,OAAO;AAAA,EACN,MAAMA,GAAE,QAAQ,sBAAsB,iBAAiB;AAAA,EACvD,OAAOA,GAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EACvB,UAAUA,GAAE,MAAM,mBAAmB;AACvC,CAAC,EACA,UAAU,CAAC,EAAE,MAAM,OAAO,SAAS,OAAO;AAAA,EACzC;AAAA,EACA,YAAY,SAAS,IAAI,CAAC,aAAa;AAAA,IACrC,QAAQ;AAAA,IACR,UAAU,oBAAoB;AAAA,IAC9B,KAAK,cAAc,OAAO,QAAQ,KAAK;AAAA,IACvC,OAAO,EAAE,GAAG,SAAS,MAAM;AAAA,EAC7B,EAAE;AACJ,EAAE;;;AE5DG,IAAM,kCAA2D;AAAA,EACtE;AAAA,IACE,MAAM,sBAAsB;AAAA,IAC5B,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA;AAAA,IACE,MAAM,sBAAsB;AAAA,IAC5B,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA;AAAA,IACE,MAAM,sBAAsB;AAAA,IAC5B,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA;AAAA,IACE,MAAM,sBAAsB;AAAA,IAC5B,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AACF;;;AC9BA,SAAS,KAAAC,UAAS;AAMX,IAAM,+BAA+BC,GACzC,OAAO;AAAA,EACN,MAAMA,GAAE,QAAQ,sBAAsB,sBAAsB;AAC9D,CAAC,EACA,UAAU,CAAC,EAAE,KAAK,OAAO;AAAA,EACxB;AAAA,EACA,YAAY;AAAA,IACV;AAAA,MACE,QAAQ;AAAA,MACR,UAAU,oBAAoB;AAAA,IAChC;AAAA,EACF;AACF,EAAE;AAEG,IAAM,iCAAiCA,GAC3C,OAAO;AAAA,EACN,MAAMA,GAAE,QAAQ,sBAAsB,wBAAwB;AAAA,EAC9D,YAAYA,GAAE,MAAM,sBAAsB;AAC5C,CAAC,EACA,UAAU,CAAC,EAAE,MAAM,WAAW,OAAO;AAAA,EACpC;AAAA,EACA,YAAY,WAAW,IAAI,CAAC,cAAc;AAAA,IACxC,QAAQ;AAAA,IACR,UAAU,oBAAoB;AAAA,IAC9B,KAAK,OAAO,SAAS,EAAE;AAAA,IACvB,OAAO;AAAA,EACT,EAAE;AACJ,EAAE;AAEG,IAAM,8BAA8BA,GACxC,OAAO;AAAA,EACN,MAAMA,GAAE,QAAQ,sBAAsB,qBAAqB;AAAA,EAC3D,gBAAgBA,GAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EAChC,OAAOA,GAAE,OAAO,EAAE,IAAI,CAAC;AACzB,CAAC,EACA,UAAU,CAAC,EAAE,MAAM,gBAAgB,MAAM,OAAO;AAAA,EAC/C;AAAA,EACA,YAAY;AAAA,IACV;AAAA,MACE,QAAQ;AAAA,MACR,UAAU,oBAAoB;AAAA,MAC9B,KAAK,uBAAuB,gBAAgB,KAAK;AAAA,IACnD;AAAA,EACF;AACF,EAAE;AAEG,IAAM,6BAA6BA,GACvC,OAAO;AAAA,EACN,MAAMA,GAAE,QAAQ,sBAAsB,oBAAoB;AAAA,EAC1D,WAAW;AACb,CAAC,EACA,UAAU,CAAC,EAAE,MAAM,UAAU,OAAO;AAAA,EACnC;AAAA,EACA,YAAY;AAAA,IACV;AAAA,MACE,QAAQ;AAAA,MACR,UAAU,oBAAoB;AAAA,MAC9B,KAAK,uBAAuB,UAAU,gBAAgB,UAAU,KAAK;AAAA,MACrE,OAAO;AAAA,IACT;AAAA,EACF;AACF,EAAE;;;AC1DG,IAAM,oCAA6D;AAAA,EACxE;AAAA,IACE,MAAM,sBAAsB;AAAA,IAC5B,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA;AAAA,IACE,MAAM,sBAAsB;AAAA,IAC5B,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA;AAAA,IACE,MAAM,sBAAsB;AAAA,IAC5B,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA;AAAA,IACE,MAAM,sBAAsB;AAAA,IAC5B,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AACF;;;AC9BA,SAAS,KAAAC,UAAS;AAMX,IAAM,4BAA4BC,GACtC,OAAO;AAAA,EACN,MAAMA,GAAE,QAAQ,sBAAsB,mBAAmB;AAAA,EACzD,cAAcA,GAAE,OAAO,EAAE,IAAI,CAAC;AAChC,CAAC,EACA,UAAU,CAAC,EAAE,MAAM,aAAa,OAAO;AAAA,EACtC;AAAA,EACA,YAAY;AAAA,IACV;AAAA,MACE,QAAQ;AAAA,MACR,UAAU,oBAAoB;AAAA,MAC9B,KAAK;AAAA,IACP;AAAA,EACF;AACF,EAAE;AAEG,IAAM,2BAA2BA,GACrC,OAAO;AAAA,EACN,MAAMA,GAAE,QAAQ,sBAAsB,kBAAkB;AAAA,EACxD,OAAO;AACT,CAAC,EACA,UAAU,CAAC,EAAE,MAAM,MAAM,OAAO;AAAA,EAC/B;AAAA,EACA,YAAY;AAAA,IACV;AAAA,MACE,QAAQ;AAAA,MACR,UAAU,oBAAoB;AAAA,MAC9B,KAAK,MAAM;AAAA,MACX,OAAO;AAAA,IACT;AAAA,EACF;AACF,EAAE;AAEG,IAAM,0BAA0BA,GACpC,OAAO;AAAA,EACN,MAAMA,GAAE,QAAQ,sBAAsB,iBAAiB;AAAA,EACvD,cAAcA,GAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EAC9B,WAAWA,GAAE,OAAO,EAAE,IAAI,EAAE,YAAY;AAC1C,CAAC,EACA,UAAU,CAAC,EAAE,MAAM,cAAc,UAAU,OAAO;AAAA,EACjD;AAAA,EACA,YAAY;AAAA,IACV;AAAA,MACE,QAAQ;AAAA,MACR,UAAU,oBAAoB;AAAA,MAC9B,KAAK,YAAY,cAAc,SAAS;AAAA,IAC1C;AAAA,EACF;AACF,EAAE;AAEG,IAAM,yBAAyBA,GACnC,OAAO;AAAA,EACN,MAAMA,GAAE,QAAQ,sBAAsB,gBAAgB;AAAA,EACtD,WAAW;AACb,CAAC,EACA,UAAU,CAAC,EAAE,MAAM,UAAU,OAAO;AAAA,EACnC;AAAA,EACA,YAAY;AAAA,IACV;AAAA,MACE,QAAQ;AAAA,MACR,UAAU,oBAAoB;AAAA,MAC9B,KAAK,YAAY,UAAU,cAAc,UAAU,SAAS;AAAA,MAC5D,OAAO;AAAA,IACT;AAAA,EACF;AACF,EAAE;;;AC9DG,IAAM,8BAAuD;AAAA,EAClE;AAAA,IACE,MAAM,sBAAsB;AAAA,IAC5B,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA;AAAA,IACE,MAAM,sBAAsB;AAAA,IAC5B,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA;AAAA,IACE,MAAM,sBAAsB;AAAA,IAC5B,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA;AAAA,IACE,MAAM,sBAAsB;AAAA,IAC5B,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AACF;;;AC9BA,SAAS,KAAAC,UAAS;AAMX,IAAM,2BAA2BC,GACrC,OAAO;AAAA,EACN,MAAMA,GAAE,QAAQ,sBAAsB,kBAAkB;AAC1D,CAAC,EACA,UAAU,CAAC,EAAE,KAAK,OAAO;AAAA,EACxB;AAAA,EACA,YAAY;AAAA,IACV;AAAA,MACE,QAAQ;AAAA,MACR,UAAU,oBAAoB;AAAA,IAChC;AAAA,EACF;AACF,EAAE;AAEG,IAAM,2BAA2BA,GACrC,OAAO;AAAA,EACN,MAAMA,GAAE,QAAQ,sBAAsB,kBAAkB;AAAA,EACxD,SAASA,GAAE,MAAM,mBAAmB;AACtC,CAAC,EACA,UAAU,CAAC,EAAE,MAAM,QAAQ,OAAO;AAAA,EACjC;AAAA,EACA,YAAY;AAAA,IACV;AAAA,MACE,QAAQ;AAAA,MACR,UAAU,oBAAoB;AAAA,MAC9B,OAAO;AAAA,IACT;AAAA,EACF;AACF,EAAE;AAEG,IAAM,8BAA8BA,GACxC,OAAO;AAAA,EACN,MAAMA,GAAE,QAAQ,sBAAsB,qBAAqB;AAAA,EAC3D,SAASA,GAAE,MAAM,mBAAmB;AACtC,CAAC,EACA,UAAU,CAAC,EAAE,MAAM,QAAQ,OAAO;AAAA,EACjC;AAAA,EACA,YAAY;AAAA,IACV;AAAA,MACE,QAAQ;AAAA,MACR,UAAU,oBAAoB;AAAA,IAChC;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,UAAU,oBAAoB;AAAA,MAC9B,OAAO;AAAA,IACT;AAAA,EACF;AACF,EAAE;AAEG,IAAM,oCAAoCA,GAC9C,OAAO;AAAA,EACN,MAAMA,GAAE,QAAQ,sBAAsB,2BAA2B;AACnE,CAAC,EACA,UAAU,CAAC,EAAE,KAAK,OAAO;AAAA,EACxB;AAAA,EACA,YAAY,CAAC,6BAA6B,CAAC;AAC7C,EAAE;;;AC/DJ,SAAS,KAAAC,UAAS;AAMX,IAAM,6BAA6BC,GACvC,OAAO;AAAA,EACN,MAAMA,GAAE,QAAQ,sBAAsB,oBAAoB;AAAA,EAC1D,SAASA,GAAE,MAAM,mBAAmB;AACtC,CAAC,EACA,UAAU,CAAC,EAAE,MAAM,QAAQ,OAAO;AAAA,EACjC;AAAA,EACA,YAAY;AAAA,IACV,0BAA0B,QAAQ,IAAI,CAAC,WAAW,OAAO,EAAE,CAAC;AAAA,IAC5D;AAAA,MACE,QAAQ;AAAA,MACR,UAAU,oBAAoB;AAAA,MAC9B,OAAO;AAAA,IACT;AAAA,EACF;AACF,EAAE;AAEG,IAAM,8BAA8BA,GACxC,OAAO;AAAA,EACN,MAAMA,GAAE,QAAQ,sBAAsB,qBAAqB;AAAA,EAC3D,QAAQA,GAAE,OAAO,EAAE,IAAI,CAAC;AAC1B,CAAC,EACA,UAAU,CAAC,EAAE,MAAM,OAAO,OAAO;AAAA,EAChC;AAAA,EACA,YAAY;AAAA,IACV;AAAA,MACE,QAAQ;AAAA,MACR,UAAU,oBAAoB;AAAA,MAC9B,KAAK;AAAA,IACP;AAAA,EACF;AACF,EAAE;AAEG,IAAM,6BAA6BA,GACvC,OAAO;AAAA,EACN,MAAMA,GAAE,QAAQ,sBAAsB,oBAAoB;AAAA,EAC1D,QAAQ;AACV,CAAC,EACA,UAAU,CAAC,EAAE,MAAM,OAAO,OAAO;AAAA,EAChC;AAAA,EACA,YAAY;AAAA,IACV;AAAA,MACE,QAAQ;AAAA,MACR,UAAU,oBAAoB;AAAA,MAC9B,KAAK,OAAO;AAAA,MACZ,OAAO;AAAA,IACT;AAAA,EACF;AACF,EAAE;AAEG,IAAM,+BAA+BA,GACzC,OAAO;AAAA,EACN,MAAMA,GAAE,QAAQ,sBAAsB,sBAAsB;AAAA,EAC5D,QAAQA,GAAE,OAAO,EAAE,IAAI,CAAC;AAC1B,CAAC,EACA,UAAU,CAAC,EAAE,MAAM,OAAO,OAAO;AAAA,EAChC;AAAA,EACA,YAAY;AAAA,IACV;AAAA,MACE,QAAQ;AAAA,MACR,UAAU,oBAAoB;AAAA,MAC9B,KAAK;AAAA,IACP;AAAA,EACF;AACF,EAAE;;;AC5DG,IAAM,iCAA0D;AAAA,EACrE;AAAA,IACE,MAAM,sBAAsB;AAAA,IAC5B,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA;AAAA,IACE,MAAM,sBAAsB;AAAA,IAC5B,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA;AAAA,IACE,MAAM,sBAAsB;AAAA,IAC5B,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA;AAAA,IACE,MAAM,sBAAsB;AAAA,IAC5B,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA;AAAA,IACE,MAAM,sBAAsB;AAAA,IAC5B,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AACF;;;ACpCA,SAAS,KAAAC,UAAS;AAKX,IAAM,qCAAqCC,GAC/C,OAAO;AAAA,EACN,MAAMA,GAAE,QAAQ,sBAAsB,4BAA4B;AAAA,EAClE,SAASA,GAAE,OAAO,EAAE,IAAI,CAAC;AAC3B,CAAC,EACA,UAAU,CAAC,EAAE,MAAM,QAAQ,OAAO;AAAA,EACjC;AAAA,EACA,YAAY;AAAA,IACV;AAAA,MACE,QAAQ;AAAA,MACR,UAAU,oBAAoB;AAAA,MAC9B,KAAK;AAAA,IACP;AAAA,EACF;AACF,EAAE;AAEG,IAAM,iCAAiCA,GAC3C,OAAO;AAAA,EACN,MAAMA,GAAE,QAAQ,sBAAsB,wBAAwB;AAAA,EAC9D,SAASA,GAAE,OAAO,EAAE,IAAI,CAAC;AAC3B,CAAC,EACA,UAAU,CAAC,EAAE,MAAM,QAAQ,OAAO;AAAA,EACjC;AAAA,EACA,YAAY;AAAA,IACV;AAAA,MACE,QAAQ;AAAA,MACR,UAAU,oBAAoB;AAAA,MAC9B,KAAK;AAAA,IACP;AAAA,EACF;AACF,EAAE;AAEG,IAAM,qCAAqCA,GAC/C,OAAO;AAAA,EACN,MAAMA,GAAE,QAAQ,sBAAsB,4BAA4B;AAAA,EAClE,SAASA,GAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EACzB,gBAAgBA,GAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EAChC,YAAYA,GAAE,QAAQ;AACxB,CAAC,EACA,UAAU,CAAC,EAAE,MAAM,SAAS,gBAAgB,YAAAC,YAAW,MAAM;AAC5D,QAAM,SAAS,qBAAqB,MAAM;AAAA,IACxC,OAAO;AAAA,IACP,QAAQA,cAAa,eAAe;AAAA,IACpC,qBAAqBA,cAAa,iBAAiB;AAAA,IACnD,WAAU,oBAAI,KAAK,GAAE,YAAY;AAAA,EACnC,CAAC;AACD,SAAO;AAAA,IACL;AAAA,IACA,YAAY;AAAA,MACV;AAAA,QACE,QAAQ;AAAA,QACR,UAAU,oBAAoB;AAAA,QAC9B,KAAK;AAAA,QACL,OAAO;AAAA,MACT;AAAA,MACA;AAAA,QACE,QAAQ;AAAA,QACR,UAAU,oBAAoB;AAAA,QAC9B,KAAK;AAAA,QACL,OAAOA;AAAA,MACT;AAAA,MACA;AAAA,QACE,QAAQ;AAAA,QACR,UAAU,oBAAoB;AAAA,QAC9B,KAAK;AAAA,QACL,OAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAEI,IAAM,oCAAoCD,GAC9C,OAAO;AAAA,EACN,MAAMA,GAAE,QAAQ,sBAAsB,2BAA2B;AAAA,EACjE,SAASA,GAAE,OAAO,EAAE,IAAI,CAAC;AAC3B,CAAC,EACA,UAAU,CAAC,EAAE,MAAM,QAAQ,OAAO;AAAA,EACjC;AAAA,EACA,YAAY;AAAA,IACV;AAAA,MACE,QAAQ;AAAA,MACR,UAAU,oBAAoB;AAAA,MAC9B,KAAK;AAAA,IACP;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,UAAU,oBAAoB;AAAA,MAC9B,KAAK;AAAA,IACP;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,UAAU,oBAAoB;AAAA,MAC9B,KAAK;AAAA,IACP;AAAA,EACF;AACF,EAAE;AAEG,IAAM,2BAA2BA,GACrC,OAAO;AAAA,EACN,MAAMA,GAAE,QAAQ,sBAAsB,kBAAkB;AAAA,EACxD,SAASA,GAAE,OAAO,EAAE,IAAI,CAAC;AAC3B,CAAC,EACA,UAAU,CAAC,EAAE,MAAM,QAAQ,OAAO;AAAA,EACjC;AAAA,EACA,YAAY;AAAA,IACV;AAAA,MACE,QAAQ;AAAA,MACR,UAAU,oBAAoB;AAAA,MAC9B,KAAK;AAAA,IACP;AAAA,EACF;AACF,EAAE;AAEG,IAAM,2BAA2BA,GACrC,OAAO;AAAA,EACN,MAAMA,GAAE,QAAQ,sBAAsB,kBAAkB;AAAA,EACxD,QAAQ;AACV,CAAC,EACA,UAAU,CAAC,EAAE,MAAM,OAAO,MAAM;AAC/B,QAAM,aAKD;AAAA,IACH;AAAA,MACE,QAAQ;AAAA,MACR,UAAU,oBAAoB;AAAA,MAC9B,KAAK,OAAO;AAAA,MACZ,OAAO;AAAA,IACT;AAAA,EACF;AACA,MAAI,OAAO,WAAW,gBAAgB,OAAO,qBAAqB;AAChE,eAAW;AAAA,MACT;AAAA,QACE,QAAQ;AAAA,QACR,UAAU,oBAAoB;AAAA,QAC9B,KAAK,OAAO;AAAA,QACZ,OAAO,OAAO;AAAA,MAChB;AAAA,MACA;AAAA,QACE,QAAQ;AAAA,QACR,UAAU,oBAAoB;AAAA,QAC9B,KAAK,OAAO;AAAA,QACZ,OAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF,OAAO;AACL,eAAW,KAAK;AAAA,MACd,QAAQ;AAAA,MACR,UAAU,oBAAoB;AAAA,MAC9B,KAAK,OAAO;AAAA,MACZ,OAAO;AAAA,IACT,CAAC;AAAA,EACH;AACA,SAAO,EAAE,MAAM,WAAW;AAC5B,CAAC;AAEI,IAAM,iCAAiCA,GAC3C,OAAO;AAAA,EACN,MAAMA,GAAE,QAAQ,sBAAsB,wBAAwB;AAAA,EAC9D,SAASA,GAAE,OAAO,EAAE,IAAI,CAAC;AAC3B,CAAC,EACA,UAAU,CAAC,EAAE,MAAM,QAAQ,OAAO;AAAA,EACjC;AAAA,EACA,YAAY;AAAA,IACV;AAAA,MACE,QAAQ;AAAA,MACR,UAAU,oBAAoB;AAAA,MAC9B,KAAK;AAAA,IACP;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,UAAU,oBAAoB;AAAA,MAC9B,KAAK;AAAA,IACP;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,UAAU,oBAAoB;AAAA,MAC9B,KAAK;AAAA,IACP;AAAA,EACF;AACF,EAAE;;;AC/KG,IAAM,kCAA2D;AAAA,EACtE;AAAA,IACE,MAAM,sBAAsB;AAAA,IAC5B,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA;AAAA,IACE,MAAM,sBAAsB;AAAA,IAC5B,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA;AAAA,IACE,MAAM,sBAAsB;AAAA,IAC5B,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA;AAAA,IACE,MAAM,sBAAsB;AAAA,IAC5B,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA;AAAA,IACE,MAAM,sBAAsB;AAAA,IAC5B,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA;AAAA,IACE,MAAM,sBAAsB;AAAA,IAC5B,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA;AAAA,IACE,MAAM,sBAAsB;AAAA,IAC5B,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AACF;;;ACxCO,IAAM,qCAA8D;AAAA,EACzE;AAAA,IACE,MAAM,sBAAsB;AAAA,IAC5B,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA;AAAA,IACE,MAAM,sBAAsB;AAAA,IAC5B,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA;AAAA,IACE,MAAM,sBAAsB;AAAA,IAC5B,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AACF;;;ACxBA,SAAS,KAAAE,WAAS;AAMX,IAAM,uCAAuCC,IACjD,OAAO;AAAA,EACN,MAAMA,IAAE,QAAQ,sBAAsB,8BAA8B;AAAA,EACpE,QAAQ;AACV,CAAC,EACA,UAAU,CAAC,EAAE,MAAM,OAAO,OAAO;AAAA,EAChC;AAAA,EACA,YAAY;AAAA,IACV;AAAA,MACE,QAAQ;AAAA,MACR,UAAU,oBAAoB;AAAA,MAC9B,KAAK,oBAAoB,OAAO,OAAO,OAAO,KAAK;AAAA,MACnD,OAAO;AAAA,IACT;AAAA,EACF;AACF,EAAE;AAEG,IAAM,uCAAuCA,IACjD,OAAO;AAAA,EACN,MAAMA,IAAE,QAAQ,sBAAsB,8BAA8B;AAAA,EACpE,OAAOA,IAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EACvB,OAAOA,IAAE,OAAO,EAAE,IAAI,CAAC;AACzB,CAAC,EACA,UAAU,CAAC,EAAE,MAAM,OAAO,MAAM,OAAO;AAAA,EACtC;AAAA,EACA,YAAY;AAAA,IACV;AAAA,MACE,QAAQ;AAAA,MACR,UAAU,oBAAoB;AAAA,MAC9B,KAAK,oBAAoB,OAAO,KAAK;AAAA,IACvC;AAAA,EACF;AACF,EAAE;;;ACtCJ,SAAS,KAAAC,WAAS;AAMX,IAAM,uCAAuCC,IACjD,OAAO;AAAA,EACN,MAAMA,IAAE,QAAQ,sBAAsB,8BAA8B;AAAA,EACpE,QAAQ;AACV,CAAC,EACA,UAAU,CAAC,EAAE,MAAM,OAAO,OAAO;AAAA,EAChC;AAAA,EACA,YAAY;AAAA,IACV;AAAA,MACE,QAAQ;AAAA,MACR,UAAU,oBAAoB;AAAA,MAC9B,KAAK,oBAAoB,OAAO,OAAO,OAAO,KAAK;AAAA,MACnD,OAAO;AAAA,IACT;AAAA,EACF;AACF,EAAE;AAEG,IAAM,uCAAuCA,IACjD,OAAO;AAAA,EACN,MAAMA,IAAE,QAAQ,sBAAsB,8BAA8B;AAAA,EACpE,OAAOA,IAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EACvB,OAAOA,IAAE,OAAO,EAAE,IAAI,CAAC;AACzB,CAAC,EACA,UAAU,CAAC,EAAE,MAAM,OAAO,MAAM,OAAO;AAAA,EACtC;AAAA,EACA,YAAY;AAAA,IACV;AAAA,MACE,QAAQ;AAAA,MACR,UAAU,oBAAoB;AAAA,MAC9B,KAAK,oBAAoB,OAAO,KAAK;AAAA,IACvC;AAAA,EACF;AACF,EAAE;AAEG,IAAM,4CAA4CA,IACtD,OAAO;AAAA,EACN,MAAMA,IAAE,QAAQ,sBAAsB,mCAAmC;AAAA,EACzE,OAAOA,IAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EACvB,OAAOA,IAAE,OAAO,EAAE,IAAI,CAAC;AACzB,CAAC,EACA,UAAU,CAAC,EAAE,MAAM,OAAO,MAAM,OAAO;AAAA,EACtC;AAAA,EACA,YAAY;AAAA,IACV;AAAA,MACE,QAAQ;AAAA,MACR,UAAU,oBAAoB;AAAA,MAC9B,KAAK;AAAA,MACL,OAAO;AAAA,IACT;AAAA,EACF;AACF,EAAE;AAEG,IAAM,6CAA6CA,IACvD,OAAO;AAAA,EACN,MAAMA,IAAE,QAAQ,sBAAsB,oCAAoC;AAAA,EAC1E,OAAOA,IAAE,OAAO,EAAE,IAAI,CAAC;AACzB,CAAC,EACA,UAAU,CAAC,EAAE,MAAM,MAAM,OAAO;AAAA,EAC/B;AAAA,EACA,YAAY;AAAA,IACV;AAAA,MACE,QAAQ;AAAA,MACR,UAAU,oBAAoB;AAAA,MAC9B,KAAK;AAAA,IACP;AAAA,EACF;AACF,EAAE;AAEG,IAAM,yCAAyCA,IACnD,OAAO;AAAA,EACN,MAAMA,IAAE,QAAQ,sBAAsB,gCAAgC;AAAA,EACtE,OAAOA,IAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EACvB,OAAOA,IAAE,OAAO,EAAE,IAAI,CAAC;AACzB,CAAC,EACA,UAAU,CAAC,EAAE,MAAM,OAAO,MAAM,OAAO;AAAA,EACtC;AAAA,EACA,YAAY;AAAA,IACV;AAAA,MACE,QAAQ;AAAA,MACR,UAAU,oBAAoB;AAAA,MAC9B,KAAK,oBAAoB,OAAO,KAAK;AAAA,IACvC;AAAA,EACF;AACF,EAAE;;;AC3EG,IAAM,gCAAyD;AAAA,EACpE;AAAA,IACE,MAAM,sBAAsB;AAAA,IAC5B,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA;AAAA,IACE,MAAM,sBAAsB;AAAA,IAC5B,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA;AAAA,IACE,MAAM,sBAAsB;AAAA,IAC5B,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA;AAAA,IACE,MAAM,sBAAsB;AAAA,IAC5B,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA;AAAA,IACE,MAAM,sBAAsB;AAAA,IAC5B,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA;AAAA,IACE,MAAM,sBAAsB;AAAA,IAC5B,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA;AAAA,IACE,MAAM,sBAAsB;AAAA,IAC5B,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AACF;;;ACvCA,kCAAkC;AAE3B,IAAM,0BAAmD;AAAA,EAC9D,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AACL;;;ACtBA;AAAA,EACE;AAAA,OAGK;AAGA,IAAM,0BAAN,MAA8B;AAAA,EAC1B;AAAA,EAET,YAAY,SAA6B;AACvC,SAAK,SAAS,kBAAkB,OAAO;AACvC,SAAK,OAAO,KAAK,uBAAuB;AAAA,EAC1C;AACF;;;ACCO,SAAS,2BAA2B,SAAkC;AAC3E,QAAM,EAAE,OAAO,IAAI;AAEnB,SAAO;AAAA,IACL,MAAM,iBAAiB,OAGuB;AAC5C,YAAM,QAAQ,MAAM,OAAO,KAAc;AAAA,QACvC,MAAM,sBAAsB;AAAA,QAC5B,OAAO,MAAM;AAAA,QACb,OAAO,MAAM;AAAA,MACf,CAAC;AACD,aAAO,uBAAuB,KAAK;AAAA,IACrC;AAAA,IAEA,MAAM,kBAAkB,OAAwD;AAC9E,YAAM,UAAU,MAAM,OAAO,KAAc;AAAA,QACzC,MAAM,sBAAsB;AAAA,QAC5B;AAAA,MACF,CAAC;AACD,aAAO,mCAAmC,SAAS,KAAK;AAAA,IAC1D;AAAA,IAEA,iBAAiB,SAAmD;AAClE,aAAO,OAAO,MAAM;AAAA,QAClB,MAAM,sBAAsB;AAAA,QAC5B;AAAA,MACF,CAAC;AAAA,IACH;AAAA,IAEA,kBAAkB,OAGA;AAChB,aAAO,OAAO,MAAM;AAAA,QAClB,MAAM,sBAAsB;AAAA,QAC5B,OAAO,MAAM;AAAA,QACb,UAAU,MAAM;AAAA,MAClB,CAAC;AAAA,IACH;AAAA,EACF;AACF;;;AC7CO,SAAS,0BACd,UACA,MACA;AACA,SAAO;AAAA,IACL,MAAM,aAAa,QAAuC;AACxD,UAAI,OAAO,WAAW,GAAG;AACvB;AAAA,MACF;AACA,YAAM,UAAU,MAAM,KAAK,iBAAiB;AAC5C,YAAM,OAAO,EAAE,GAAG,QAAQ,KAAK;AAC/B,YAAM,YAAY,CAAC,GAAG,QAAQ,SAAS;AACvC,iBAAW,SAAS,QAAQ;AAC1B,aAAK,MAAM,OAAO,IAAI;AACtB,YAAI,CAAC,UAAU,SAAS,MAAM,OAAO,GAAG;AACtC,oBAAU,KAAK,MAAM,OAAO;AAAA,QAC9B;AAAA,MACF;AACA,YAAM,SAAS,UACZ,IAAI,CAAC,YAAYC,iBAAgB,MAAM,OAAO,CAAC,EAC/C,OAAO,CAAC,UAAiC,UAAU,MAAS;AAC/D,YAAM,KAAK,cAAc,MAAM;AAAA,IACjC;AAAA,EACF;AACF;;;ACzBO,SAAS,2BAA2B,SAAkC;AAC3E,QAAM,EAAE,OAAO,IAAI;AAEnB,iBAAe,mBAAkD;AAC/D,UAAM,QAAQ,MAAM,OAAO,KAAc;AAAA,MACvC,MAAM,sBAAsB;AAAA,IAC9B,CAAC;AACD,WAAO,uBAAuB,KAAK;AAAA,EACrC;AAEA,WAAS,cAAc,QAAuC;AAC5D,WAAO,OAAO,MAAM;AAAA,MAClB,MAAM,sBAAsB;AAAA,MAC5B;AAAA,IACF,CAAC;AAAA,EACH;AAEA,QAAM,cAAc;AAAA,IAClB;AAAA,IAEA,MAAM,SAAS,SAA4D;AACzE,YAAM,QAAQ,MAAM,OAAO,KAAc;AAAA,QACvC,MAAM,sBAAsB;AAAA,QAC5B;AAAA,MACF,CAAC;AACD,aAAO,eAAe,KAAK;AAAA,IAC7B;AAAA,IAEA,MAAM,YAAqC;AACzC,YAAM,UAAU,MAAM,iBAAiB;AACvC,aAAO,QAAQ,UACZ,IAAI,CAAC,YAAYC,iBAAgB,QAAQ,MAAM,OAAO,CAAC,EACvD,OAAO,CAAC,UAAiC,UAAU,MAAS;AAAA,IACjE;AAAA,IAEA,MAAM,iBAAiB,cAA+C;AACpE,YAAM,SAAS,MAAM,YAAY,UAAU;AAC3C,aAAO,OAAO,OAAO,CAAC,UAAU,MAAM,cAAc,SAAS,YAAY,CAAC;AAAA,IAC5E;AAAA,IAEA;AAAA,EACF;AAEA,SAAO;AAAA,IACL,GAAG;AAAA,IACH,GAAG,0BAA0B,SAAS;AAAA,MACpC;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AACF;;;ACzDO,SAAS,oBAAoB,SAAkC;AACpE,SAAO;AAAA,IACL,GAAG,2BAA2B,OAAO;AAAA,IACrC,GAAG,2BAA2B,OAAO;AAAA,EACvC;AACF;;;ACDO,SAAS,8BAA8B,SAAkC;AAC9E,QAAM,EAAE,OAAO,IAAI;AAEnB,iBAAe,sBACb,QACoC;AACpC,UAAM,SAAS,MAAM,OAAO,KAAc;AAAA,MACxC,MAAM,sBAAsB;AAAA,IAC9B,CAAC;AACD,UAAM,aAAa,4BAA4B,MAAM;AACrD,WAAO,WAAW,OAAO,CAAC,aAAsC;AAC9D,UAAI,SAAS,mBAAmB,OAAO,gBAAgB;AACrD,eAAO;AAAA,MACT;AACA,UAAI,OAAO,UAAU,UAAa,SAAS,UAAU,OAAO,OAAO;AACjE,eAAO;AAAA,MACT;AACA,UAAI,CAAC,OAAO,oBAAoB,SAAS,WAAW;AAClD,eAAO;AAAA,MACT;AACA,aAAO;AAAA,IACT,CAAC;AAAA,EACH;AAEA,WAAS,yBACP,YACe;AACf,WAAO,OAAO,MAAM;AAAA,MAClB,MAAM,sBAAsB;AAAA,MAC5B;AAAA,IACF,CAAC;AAAA,EACH;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IAEA,MAAM,sBAAsB,IAA2B;AACrD,YAAM,aAAa,MAAM,OAAO,KAAc;AAAA,QAC5C,MAAM,sBAAsB;AAAA,MAC9B,CAAC;AACD,YAAM,QAAQ,4BAA4B,UAAU,EAAE;AAAA,QACpD,CAAC,aAAsC,SAAS,OAAO;AAAA,MACzD;AACA,UAAI,CAAC,OAAO;AACV;AAAA,MACF;AACA,YAAM,yBAAyB,CAAC,EAAE,GAAG,OAAO,WAAW,KAAK,CAAC,CAAC;AAAA,IAChE;AAAA,EACF;AACF;;;ACrDO,SAAS,0BAA0B,SAAkC;AAC1E,QAAM,EAAE,OAAO,IAAI;AAEnB,SAAO;AAAA,IACL,MAAM,qBAAqB,OAGuB;AAChD,YAAM,QAAQ,MAAM,OAAO,KAAc;AAAA,QACvC,MAAM,sBAAsB;AAAA,QAC5B,gBAAgB,MAAM;AAAA,QACtB,OAAO,MAAM;AAAA,MACf,CAAC;AACD,aAAO,2BAA2B,KAAK;AAAA,IACzC;AAAA,IAEA,qBAAqB,WAAoD;AACvE,aAAO,OAAO,MAAM;AAAA,QAClB,MAAM,sBAAsB;AAAA,QAC5B;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AACF;;;ACxBO,SAAS,wBAAwB,SAAkC;AACxE,SAAO;AAAA,IACL,GAAG,8BAA8B,OAAO;AAAA,IACxC,GAAG,0BAA0B,OAAO;AAAA,EACtC;AACF;;;ACJA,SAAS,wBAAwB,OAAyB;AACxD,MAAI,EAAE,iBAAiB,QAAQ;AAC7B,WAAO;AAAA,EACT;AACA,SACE,MAAM,QAAQ,SAAS,wBAAwB,KAC/C,MAAM,QAAQ,SAAS,6BAA6B;AAExD;AAEO,SAAS,2BAA2B,SAAkC;AAC3E,QAAM,EAAE,OAAO,IAAI;AAEnB,SAAO;AAAA,IACL,MAAM,iBAAiB,OAGuB;AAC5C,UAAI;AACF,cAAM,QAAQ,MAAM,OAAO,KAAc;AAAA,UACvC,MAAM,sBAAsB;AAAA,UAC5B,cAAc,MAAM;AAAA,UACpB,WAAW,MAAM;AAAA,QACnB,CAAC;AACD,eAAO,uBAAuB,KAAK;AAAA,MACrC,SAAS,OAAO;AACd,YAAI,wBAAwB,KAAK,GAAG;AAClC,iBAAO;AAAA,QACT;AACA,cAAM;AAAA,MACR;AAAA,IACF;AAAA,IAEA,iBAAiB,WAAgD;AAC/D,aAAO,OAAO,MAAM;AAAA,QAClB,MAAM,sBAAsB;AAAA,QAC5B;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AACF;;;ACvCA,SAASC,yBAAwB,OAAyB;AACxD,MAAI,EAAE,iBAAiB,QAAQ;AAC7B,WAAO;AAAA,EACT;AACA,SACE,MAAM,QAAQ,SAAS,wBAAwB,KAC/C,MAAM,QAAQ,SAAS,6BAA6B;AAExD;AAEO,SAAS,wBAAwB,SAAkC;AACxE,QAAM,EAAE,OAAO,IAAI;AAEnB,SAAO;AAAA,IACL,MAAM,mBACJ,cAC6C;AAC7C,UAAI;AACF,cAAM,QAAQ,MAAM,OAAO,KAAc;AAAA,UACvC,MAAM,sBAAsB;AAAA,UAC5B;AAAA,QACF,CAAC;AACD,eAAO,yBAAyB,KAAK;AAAA,MACvC,SAAS,OAAO;AACd,YAAIA,yBAAwB,KAAK,GAAG;AAClC,iBAAO;AAAA,QACT;AACA,cAAM;AAAA,MACR;AAAA,IACF;AAAA,IAEA,mBAAmB,OAA8C;AAC/D,aAAO,OAAO,MAAM;AAAA,QAClB,MAAM,sBAAsB;AAAA,QAC5B;AAAA,MACF,CAAC;AAAA,IACH;AAAA,IAEA,MAAM,sBAAsB,OAKV;AAChB,YAAM,UAAU,MAAM,KAAK,mBAAmB,MAAM,YAAY;AAChE,YAAM,oBAAoB,CAAC,GAAI,SAAS,eAAe,CAAC,GAAI,GAAG,MAAM,WAAW;AAChF,YAAM,KAAK;AAAA,QACT,uBAAuB;AAAA,UACrB,cAAc,MAAM;AAAA,UACpB,aAAa;AAAA,UACb,iBAAiB,kBAAkB;AAAA,UACnC,eAAe,MAAM;AAAA,UACrB,WAAW,KAAK,IAAI;AAAA,UACpB,cAAc,MAAM,gBAAgB,SAAS;AAAA,QAC/C,CAAC;AAAA,MACH;AAAA,IACF;AAAA,EACF;AACF;;;AC9DA,SAAS,sBACP,MACA,OACS;AACT,MAAI,SAAS,UAAa,UAAU,QAAW;AAC7C,WAAO,SAAS;AAAA,EAClB;AACA,SACE,KAAK,UAAU,MAAM,SACrB,KAAK,cAAc,MAAM,aACzB,KAAK,WAAW,MAAM,UACtB,KAAK,eAAe,MAAM,cAC1B,KAAK,aAAa,MAAM,YACxB,KAAK,aAAa,MAAM,YACxB,KAAK,mBAAmB,MAAM;AAElC;AAEA,SAAS,6BACP,MACA,OACS;AACT,SACE,KAAK,OAAO,MAAM,MAClB,KAAK,UAAU,MAAM,SACrB,KAAK,UAAU,MAAM,SACrB,KAAK,WAAW,MAAM,UACtB,KAAK,aAAa,MAAM,YACxB,KAAK,WAAW,MAAM,UACtB,KAAK,iBAAiB,MAAM,gBAC5B,KAAK,kBAAkB,MAAM;AAEjC;AAEA,SAAS,8BACP,MACA,OACS;AACT,SACE,KAAK,kBAAkB,MAAM,iBAC7B,KAAK,iBAAiB,MAAM,gBAC5B,KAAK,eAAe,MAAM,cAC1B,KAAK,mBAAmB,MAAM,kBAC9B,KAAK,WAAW,MAAM;AAE1B;AAEA,SAAS,+BACP,MACA,OACS;AACT,SACE,KAAK,qBAAqB,MAAM,oBAChC,KAAK,sBAAsB,MAAM,qBACjC,sBAAsB,KAAK,UAAU,MAAM,QAAQ;AAEvD;AAEA,SAAS,oBACP,MACA,OACS;AACT,SACE,6BAA6B,MAAM,KAAK,KACxC,8BAA8B,MAAM,KAAK,KACzC,+BAA+B,MAAM,KAAK;AAE9C;AAEO,SAAS,yBACd,MACA,OACS;AACT,SACE,KAAK,WAAW,MAAM,UACtB,KAAK,MAAM,CAAC,QAAQ,UAAU;AAC5B,UAAM,cAAc,MAAM,GAAG,KAAK;AAClC,WAAO,gBAAgB,UAAa,oBAAoB,QAAQ,WAAW;AAAA,EAC7E,CAAC;AAEL;AAEO,SAAS,oBACd,SACA,SACwB;AACxB,QAAM,MAAM,IAAI,IAAI,QAAQ,IAAI,CAAC,WAAW,OAAO,EAAE,CAAC;AACtD,SAAO,CAAC,GAAG,QAAQ,OAAO,CAAC,WAAW,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC,GAAG,GAAG,OAAO;AACxE;;;ACxEA,eAAe,mBACb,QACiC;AACjC,QAAM,QAAQ,MAAM,OAAO,KAAc;AAAA,IACvC,MAAM,sBAAsB;AAAA,EAC9B,CAAC;AACD,SAAO,wBAAwB,KAAK;AACtC;AAEA,SAAS,2BACP,QACA,SACe;AACf,SAAO,OAAO,MAAM;AAAA,IAClB,MAAM,sBAAsB;AAAA,IAC5B;AAAA,EACF,CAAC;AACH;AAEA,eAAe,4BACb,QACA,QACiC;AACjC,QAAM,UAAU,MAAM,mBAAmB,MAAM;AAC/C,SAAO,QAAQ,OAAO,CAAC,WAAW,2BAA2B,QAAQ,QAAQ,KAAK,CAAC;AACrF;AAEA,eAAe,0BACb,QACA,SACA,QACe;AACf,QAAM,UAAU,MAAM,mBAAmB,MAAM;AAC/C,QAAM,MAAM,IAAI,IAAI,QAAQ,IAAI,CAAC,WAAW,OAAO,EAAE,CAAC;AACtD,QAAM,OAAO,QAAQ;AAAA,IAAI,CAAC,WACxB,IAAI,IAAI,OAAO,EAAE,IACb;AAAA,MACE,GAAG;AAAA,MACH;AAAA,MACA,UAAU,WAAW,UAAU,OAAO,OAAO;AAAA,IAC/C,IACA;AAAA,EACN;AACA,QAAM,2BAA2B,QAAQ,IAAI;AAC/C;AAEA,SAAS,0BACP,SACA,OAC0B;AAC1B,QAAM,YAAY,QAAQ;AAAA,IACxB,CAAC,WAAW,OAAO,UAAU,SAAS,CAAC,OAAO,YAAY,OAAO,WAAW;AAAA,EAC9E;AACA,QAAM,UAAU,oBAAI,IAAoC;AACxD,aAAW,UAAU,WAAW;AAC9B,UAAM,WAAW,QAAQ,IAAI,OAAO,KAAK;AACzC,UAAM,gBAAgB,OAAO,iBAAiB,OAAO,OAAO,MAAM;AAClE,QAAI,UAAU;AACZ,eAAS,eAAe,OAAO;AAC/B,eAAS,sBAAsB;AAAA,IACjC,OAAO;AACL,cAAQ,IAAI,OAAO,OAAO;AAAA,QACxB,SAAS,OAAO;AAAA,QAChB,cAAc,OAAO,gBAAgB;AAAA,QACrC,aAAa,OAAO;AAAA,QACpB,oBAAoB;AAAA,MACtB,CAAC;AAAA,IACH;AAAA,EACF;AACA,SAAO,CAAC,GAAG,QAAQ,OAAO,CAAC,EAAE;AAAA,IAAS,CAAC,MAAM,UAC3C,KAAK,QAAQ,cAAc,MAAM,OAAO;AAAA,EAC1C;AACF;AAEA,SAAS,4BAA4B,QAA4C;AAC/E,SAAO,OAAO,MAAM;AAAA,IAClB,MAAM,sBAAsB;AAAA,EAC9B,CAAC;AACH;AAEA,SAAS,mBACP,QACA,SACe;AACf,SAAO,OAAO,MAAM;AAAA,IAClB,MAAM,sBAAsB;AAAA,IAC5B;AAAA,EACF,CAAC;AACH;AAEA,eAAe,qBACb,QACA,SACe;AACf,MAAI,QAAQ,WAAW,GAAG;AACxB;AAAA,EACF;AACA,QAAM,UAAU,MAAM,mBAAmB,MAAM;AAC/C,QAAM,OAAO,oBAAoB,SAAS,OAAO;AACjD,MAAI,yBAAyB,SAAS,IAAI,GAAG;AAC3C;AAAA,EACF;AACA,SAAO,OAAO,MAAM;AAAA,IAClB,MAAM,sBAAsB;AAAA,IAC5B;AAAA,EACF,CAAC;AACH;AAEA,eAAe,mBACb,QACA,OACiB;AACjB,QAAM,UAAU,MAAM,4BAA4B,QAAQ;AAAA,IACxD,OAAO,MAAM;AAAA,IACb,OAAO,MAAM;AAAA,EACf,CAAC;AACD,SAAO,QAAQ,OAAO,CAAC,OAAO,WAAW,QAAQ,OAAO,QAAQ,EAAE;AACpE;AAEA,eAAe,qBACb,QACA,OACmC;AACnC,QAAM,UAAU,MAAM,mBAAmB,MAAM;AAC/C,SAAO,0BAA0B,SAAS,KAAK;AACjD;AAEO,SAAS,2BAA2B,SAAkC;AAC3E,QAAM,EAAE,OAAO,IAAI;AAEnB,SAAO;AAAA,IACL,6BAA6B,MAAM,4BAA4B,MAAM;AAAA,IACrE,mBAAmB,MAAM,mBAAmB,MAAM;AAAA,IAClD,4BAA4B,CAAC,WAC3B,4BAA4B,QAAQ,MAAM;AAAA,IAC5C,oBAAoB,CAAC,WAKf,4BAA4B,QAAQ,MAAM;AAAA,IAChD,oBAAoB,CAAC,YACnB,mBAAmB,QAAQ,OAAO;AAAA,IACpC,sBAAsB,CAAC,YACrB,qBAAqB,QAAQ,OAAO;AAAA,IACtC,wBAAwB,CAAC,YACvB,0BAA0B,QAAQ,SAAS,OAAO;AAAA,IACpD,0BAA0B,CACxB,SACA,WACG,0BAA0B,QAAQ,SAAS,MAAM;AAAA,IACtD,mBAAmB,CAAC,UAClB,mBAAmB,QAAQ,KAAK;AAAA,IAClC,qBAAqB,CAAC,UAA0B,qBAAqB,QAAQ,KAAK;AAAA,EACpF;AACF;AAEA,SAAS,2BACP,QACA,QACA,iBACS;AACT,MAAI,OAAO,UAAU,UAAa,OAAO,UAAU,OAAO,OAAO;AAC/D,WAAO;AAAA,EACT;AACA,MACE,OAAO,mBAAmB,UAC1B,OAAO,mBAAmB,OAAO,gBACjC;AACA,WAAO;AAAA,EACT;AACA,MAAI,OAAO,UAAU,UAAa,OAAO,mBAAmB,QAAW;AACrE,WAAO;AAAA,EACT;AACA,MAAI,OAAO,UAAU,UAAa,OAAO,UAAU,OAAO,OAAO;AAC/D,WAAO;AAAA,EACT;AACA,MAAI,CAAC,oBAAoB,OAAO,YAAY,OAAO,WAAW,UAAU;AACtE,WAAO;AAAA,EACT;AACA,SAAO;AACT;;;AClMO,SAAS,+BAA+B,SAAkC;AAC/E,QAAM,EAAE,OAAO,IAAI;AAEnB,SAAO;AAAA,IACL,MAAM,qBACJ,QAC+C;AAC/C,YAAM,QAAQ,MAAM,OAAO,KAAc;AAAA,QACvC,MAAM,sBAAsB;AAAA,QAC5B;AAAA,MACF,CAAC;AACD,aAAO,2BAA2B,KAAK;AAAA,IACzC;AAAA,IAEA,qBAAqB,QAAiD;AACpE,aAAO,OAAO,MAAM;AAAA,QAClB,MAAM,sBAAsB;AAAA,QAC5B;AAAA,MACF,CAAC;AAAA,IACH;AAAA,IAEA,uBAAuB,QAA+B;AACpD,aAAO,OAAO,MAAM;AAAA,QAClB,MAAM,sBAAsB;AAAA,QAC5B;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AACF;;;AC7BO,SAAS,qBAAqB,SAAkC;AACrE,SAAO;AAAA,IACL,GAAG,2BAA2B,OAAO;AAAA,IACrC,GAAG,+BAA+B,OAAO;AAAA,EAC3C;AACF;;;ACEA,eAAe,mBACb,QACA,SAC4C;AAC5C,MAAI;AACF,UAAM,QAAQ,MAAM,OAAO,KAAc;AAAA,MACvC,MAAM,sBAAsB;AAAA,MAC5B;AAAA,IACF,CAAC;AACD,UAAM,SAAS,wBAAwB,KAAK;AAC5C,QAAI,QAAQ;AACV,aAAO;AAAA,IACT;AAAA,EACF,QAAQ;AAAA,EAER;AACA,MAAIC;AACJ,MAAI;AACJ,MAAI;AACF,IAAAA,cAAa,MAAM,OAAO,KAAc;AAAA,MACtC,MAAM,sBAAsB;AAAA,MAC5B;AAAA,IACF,CAAC;AAAA,EACH,QAAQ;AACN,IAAAA,cAAa;AAAA,EACf;AACA,MAAI;AACF,qBAAiB,MAAM,OAAO,KAAc;AAAA,MAC1C,MAAM,sBAAsB;AAAA,MAC5B;AAAA,IACF,CAAC;AAAA,EACH,QAAQ;AACN,qBAAiB;AAAA,EACnB;AACA,SAAO,kCAAkC;AAAA,IACvC;AAAA,IACA,YAAAA;AAAA,IACA;AAAA,EACF,CAAC;AACH;AAEA,eAAe,yBACb,QACA,SAC6B;AAC7B,QAAM,SAAS,MAAM,mBAAmB,QAAQ,OAAO;AACvD,MAAI,QAAQ,qBAAqB;AAC/B,WAAO,OAAO;AAAA,EAChB;AACA,QAAM,QAAQ,MAAM,OAAO,KAAc;AAAA,IACvC,MAAM,sBAAsB;AAAA,IAC5B;AAAA,EACF,CAAC;AACD,SAAO,8BAA8B,KAAK;AAC5C;AAEO,SAAS,gCAAgC,SAAkC;AAChF,QAAM,EAAE,OAAO,IAAI;AAEnB,SAAO;AAAA,IACL,mBAAmB,CAAC,YAA4B,mBAAmB,QAAQ,OAAO;AAAA,IAElF,MAAM,2BACJ,SAC8B;AAC9B,YAAM,SAAS,MAAM,mBAAmB,QAAQ,OAAO;AACvD,UAAI,WAAW,QAAW;AACxB,eAAO;AAAA,MACT;AACA,aAAO,OAAO,WAAW;AAAA,IAC3B;AAAA,IAEA,yBAAyB,CAAC,YACxB,yBAAyB,QAAQ,OAAO;AAAA,EAC5C;AACF;;;AClFO,SAAS,iCAAiC,SAAkC;AACjF,QAAM,EAAE,OAAO,IAAI;AAEnB,iBAAe,yBAAyB,SAAwC;AAC9E,WAAO,OAAO,MAAM;AAAA,MAClB,MAAM,sBAAsB;AAAA,MAC5B;AAAA,IACF,CAAC;AAAA,EACH;AAEA,SAAO;AAAA,IACL,mBAAmB,QAA8C;AAC/D,aAAO,OAAO,MAAM;AAAA,QAClB,MAAM,sBAAsB;AAAA,QAC5B;AAAA,MACF,CAAC;AAAA,IACH;AAAA,IAEA,6BAA6B,OAIX;AAChB,aAAO,OAAO,MAAM;AAAA,QAClB,MAAM,sBAAsB;AAAA,QAC5B,SAAS,MAAM;AAAA,QACf,gBAAgB,MAAM;AAAA,QACtB,YAAY,MAAM;AAAA,MACpB,CAAC;AAAA,IACH;AAAA,IAEA;AAAA,IAEA,4BAA4B,SAAwC;AAClE,aAAO,yBAAyB,OAAO;AAAA,IACzC;AAAA,EACF;AACF;;;ACrCO,SAAS,4BAA4B,SAAkC;AAC5E,SAAO;AAAA,IACL,GAAG,gCAAgC,OAAO;AAAA,IAC1C,GAAG,iCAAiC,OAAO;AAAA,EAC7C;AACF;;;ACEO,SAAS,0BAA0B,SAAkC;AAC1E,QAAM,EAAE,OAAO,IAAI;AAEnB,SAAO;AAAA,IACL,MAAM,8BAA8B,OAGuB;AACzD,YAAM,QAAQ,MAAM,OAAO,KAAc;AAAA,QACvC,MAAM,sBAAsB;AAAA,QAC5B,OAAO,MAAM;AAAA,QACb,OAAO,MAAM;AAAA,MACf,CAAC;AACD,aAAO,oCAAoC,KAAK;AAAA,IAClD;AAAA,IAEA,+BACE,QACe;AACf,aAAO,OAAO,MAAM;AAAA,QAClB,MAAM,sBAAsB;AAAA,QAC5B;AAAA,MACF,CAAC;AAAA,IACH;AAAA,IAEA,MAAM,oCACJ,OAC6B;AAC7B,YAAM,QAAQ,MAAM,OAAO,KAAc;AAAA,QACvC,MAAM,sBAAsB;AAAA,QAC5B;AAAA,MACF,CAAC;AACD,aAAO,0CAA0C,KAAK;AAAA,IACxD;AAAA,IAEA,oCAAoC,OAGlB;AAChB,aAAO,OAAO,MAAM;AAAA,QAClB,MAAM,sBAAsB;AAAA,QAC5B,OAAO,MAAM;AAAA,QACb,OAAO,MAAM;AAAA,MACf,CAAC;AAAA,IACH;AAAA,EACF;AACF;;;ACjDO,SAAS,0BAA0B,SAAkC;AAC1E,QAAM,EAAE,OAAO,IAAI;AAEnB,SAAO;AAAA,IACL,MAAM,8BAA8B,OAGuB;AACzD,YAAM,QAAQ,MAAM,OAAO,KAAc;AAAA,QACvC,MAAM,sBAAsB;AAAA,QAC5B,OAAO,MAAM;AAAA,QACb,OAAO,MAAM;AAAA,MACf,CAAC;AACD,aAAO,oCAAoC,KAAK;AAAA,IAClD;AAAA,IAEA,+BACE,QACe;AACf,aAAO,OAAO,MAAM;AAAA,QAClB,MAAM,sBAAsB;AAAA,QAC5B;AAAA,MACF,CAAC;AAAA,IACH;AAAA,IAEA,iCAAiC,OAGf;AAChB,aAAO,OAAO,MAAM;AAAA,QAClB,MAAM,sBAAsB;AAAA,QAC5B,OAAO,MAAM;AAAA,QACb,OAAO,MAAM;AAAA,MACf,CAAC;AAAA,IACH;AAAA,EACF;AACF;;;ACxCO,SAAS,2BAA2B,SAAkC;AAC3E,SAAO;AAAA,IACL,GAAG,0BAA0B,OAAO;AAAA,IACpC,GAAG,0BAA0B,OAAO;AAAA,EACtC;AACF;;;ACCO,SAAS,2BAA2B,SAA6B;AACtE,QAAM,OAAO,IAAI,wBAAwB,OAAO;AAEhD,SAAO;AAAA,IACL,QAAQ,KAAK;AAAA,IACb,GAAG,oBAAoB,IAAI;AAAA,IAC3B,GAAG,4BAA4B,IAAI;AAAA,IACnC,GAAG,2BAA2B,IAAI;AAAA,IAClC,GAAG,wBAAwB,IAAI;AAAA,IAC/B,GAAG,2BAA2B,IAAI;AAAA,IAClC,GAAG,wBAAwB,IAAI;AAAA,IAC/B,GAAG,qBAAqB,IAAI;AAAA,EAC9B;AACF;;;ACdO,SAAS,0BACd,SACqB;AACrB,SAAO,2BAA2B,OAAO;AAC3C;AAEO,SAAS,qCACd,OACuB;AACvB,SAAO;AAAA,IACL,oBAAoB,CAAC,WAAW,MAAM,mBAAmB,MAAM;AAAA,IAC/D,oBAAoB,CAAC,YAAY,MAAM,mBAAmB,OAAO;AAAA,IACjE,wBAAwB,CAAC,YAAY,MAAM,uBAAuB,OAAO;AAAA,EAC3E;AACF;","names":["registered","z","z","z","readRecordValue","z","z","z","z","z","z","z","z","z","z","z","registered","z","z","z","z","readRecordValue","readRecordValue","isMissingStatePathError","registered"]}
|
|
1
|
+
{"version":3,"sources":["../../src/state/foundation/paths.ts","../../src/state/schemas/shared.ts","../../src/state/foundation/coerce.ts","../../src/state/read/normalize/assets.ts","../../src/state/read/normalize/deliveries.ts","../../src/state/read/normalize/pool.ts","../../src/state/read/normalize/registry.ts","../../src/state/read/normalize/records.ts","../../src/state/read/normalize/wallet.ts","../../src/state/read/snapshot.ts","../../src/state/filters/register-schemas.ts","../../src/state/filters/ops.ts","../../src/state/bridge/call-types.ts","../../src/state/schemas/assets/catalog.ts","../../src/state/definitions/assets.ts","../../src/state/schemas/assets/balances.ts","../../src/state/foundation/keys.ts","../../src/state/definitions/balances.ts","../../src/state/schemas/claims/deliveries.ts","../../src/state/definitions/deliveries.ts","../../src/state/schemas/pool/merkle.ts","../../src/state/definitions/pool.ts","../../src/state/schemas/records/private.ts","../../src/state/schemas/records/transactions.ts","../../src/state/definitions/records.ts","../../src/state/schemas/registry/lookup.ts","../../src/state/definitions/registry.ts","../../src/state/definitions/transactions.ts","../../src/state/schemas/wallet/scalar.ts","../../src/state/schemas/wallet/private-address.ts","../../src/state/definitions/wallet.ts","../../src/state/definitions/index.ts","../../src/state/service/base.ts","../../src/state/service/assets/balance-methods.ts","../../src/state/service/assets/upsert-methods.ts","../../src/state/service/assets/catalog-methods.ts","../../src/state/service/assets/index.ts","../../src/state/service/deliveries/incoming-methods.ts","../../src/state/service/deliveries/sync-methods.ts","../../src/state/service/deliveries/index.ts","../../src/state/service/pool/ephemeral.ts","../../src/state/service/pool/merkle.ts","../../src/state/service/records/private-record-upsert.ts","../../src/state/service/records/private-methods.ts","../../src/state/service/records/transaction-methods.ts","../../src/state/service/records/index.ts","../../src/state/service/registry/lookup-read.ts","../../src/state/service/registry/lookup-write.ts","../../src/state/service/registry/lookup.ts","../../src/state/service/registry/wallet-record-methods.ts","../../src/state/service/registry/wallet-scalar-methods.ts","../../src/state/service/registry/wallet-address.ts","../../src/state/service/compose.ts","../../src/state/service/index.ts"],"sourcesContent":["export const STELLAR_STATE_PATHS = {\n privateRecords: '$.privateRecords',\n registryPrivateAddresses: '$.registry.privateAddresses',\n registryRegisteredAddresses: '$.registry.registeredAddresses',\n registryLookups: '$.registry.lookups',\n assets: '$.assets',\n assetsById: '$.assets.byId',\n assetsListOrder: '$.assets.listOrder',\n publicBalances: '$.balances.publicByOwnerAsset',\n poolsByContract: '$.pools.byContract',\n poolsLeafEphemeral: '$.pools.leafEphemeralByContractAndIndex',\n deliveriesIncomingById: '$.deliveries.incomingById',\n deliveriesSync: '$.deliveries.syncByPrivateAddressAsset',\n transactionsByHash: '$.transactions.byHash',\n walletPrivateAddressScalars: '$.wallet.privateAddressScalars',\n walletPrivateAddressRecords: '$.wallet.privateAddressRecords',\n walletDefaultPrivateAddressNonce: '$.wallet.defaultPrivateAddressNonce',\n} as const;\n","import { z } from 'zod';\n\nexport const paginationSchema = z.object({\n total: z.number().int().nonnegative(),\n page: z.number().int().positive(),\n pageSize: z.number().int().positive(),\n hasMore: z.boolean(),\n});\n\nconst stellarPrivateCoinNoteSchema = z.object({\n value: z.string(),\n nullifier: z.string(),\n secret: z.string(),\n commitment: z.string(),\n asset_hi: z.string(),\n asset_lo: z.string(),\n application_id: z.string().optional(),\n});\n\nexport const privateRecordSchema = z.object({\n id: z.string().min(1),\n owner: z.string().min(1),\n asset: z.string().min(1),\n amount: z.coerce.bigint(),\n consumed: z.boolean(),\n status: z.enum(['pending', 'finalized', 'spent']).optional(),\n poolContract: z.string().optional(),\n commitmentHex: z.string().optional(),\n nullifierHex: z.string().optional(),\n amountDisplay: z.number().optional(),\n deliveryId: z.number().int().optional(),\n privateAddress: z.string().optional(),\n txHash: z.string().optional(),\n coinNote: stellarPrivateCoinNoteSchema.optional(),\n depositScalarHex: z.string().optional(),\n precommitementHex: z.string().optional(),\n});\n\nexport const assetSchema = z.object({\n id: z.number().int(),\n assetId: z.string().min(1),\n name: z.string().min(1),\n logoUrl: z.string().nullable(),\n issuerAddress: z.string().nullable(),\n clientContract: z.string().nullable(),\n poolContracts: z.array(z.string()),\n poolContract: z.string().min(1),\n mintable: z.boolean(),\n mintAmount: z.string().nullable(),\n decimals: z.number().int().nullable().optional(),\n});\n\nexport const publicBalanceSchema = z.object({\n owner: z.string().min(1),\n asset: z.string().min(1),\n balance: z.string(),\n trustlineStatus: z.enum(['active', 'inactive', 'none']),\n});\n\nexport const registryLookupSchema = z.object({\n owner: z.string().min(1),\n status: z.enum(['registered', 'unregistered']),\n privateAddressStpl1: z.string().optional(),\n publicKeyXHex: z.string().optional(),\n publicKeyYHex: z.string().optional(),\n updatedAtLedger: z.number().int().optional(),\n cachedAt: z.string().optional(),\n});\n\nexport const walletPrivateAddressScalarSchema = z.object({\n owner: z.string().min(1),\n nonce: z.string().min(1),\n scalarHex: z.string().min(1),\n updatedAt: z.string().optional(),\n});\n\nexport const walletPrivateAddressRecordSchema = z.object({\n owner: z.string().min(1),\n nonce: z.string().min(1),\n privateAddress: z.string().min(1),\n createdAt: z.number(),\n});\n\nconst leanImtNodeSchema = z.object({\n level: z.number().int().nonnegative(),\n index: z.number().int().nonnegative(),\n value: z.string().min(1),\n});\n\nexport const poolMerkleStateSchema = z.object({\n poolContract: z.string().min(1),\n commitments: z.array(z.string()),\n commitmentCount: z.number().int().nonnegative(),\n merkleRootHex: z.string().min(1),\n updatedAt: z.number(),\n syncedLedger: z.number().int().optional(),\n nodes: z.array(leanImtNodeSchema).optional(),\n});\n\nexport const leafEphemeralSchema = z.object({\n poolContract: z.string().min(1),\n leafIndex: z.number().int().nonnegative(),\n xHex: z.string().min(1),\n yHex: z.string().min(1),\n cachedAt: z.string().optional(),\n});\n\nexport const incomingDeliverySchema = z.object({\n id: z.number().int(),\n privateAddress: z.string().min(1),\n asset: z.string().min(1),\n ciphertextBase64: z.string().min(1),\n ephemeralKey: z.string().min(1),\n tagBase64: z.string().min(1),\n createdAt: z.string().min(1),\n processed: z.boolean().optional(),\n});\n\nexport const deliverySyncStateSchema = z.object({\n privateAddress: z.string().min(1),\n asset: z.string().min(1),\n bloomM: z.number().int().positive(),\n bloomK: z.number().int().positive(),\n bloomBitsBase64: z.string().optional(),\n lastPage: z.number().int().positive().optional(),\n lastPolledAt: z.string().optional(),\n});\n\nexport const transactionStatusSchema = z.object({\n txHash: z.string().min(1),\n status: z.enum(['pending', 'success', 'failed']),\n ledger: z.number().int().optional(),\n createdAt: z.string().optional(),\n});\n","export function withoutUndefinedFields<T extends Record<string, unknown>>(value: T): T {\n const next = {} as T;\n for (const [key, fieldValue] of Object.entries(value)) {\n if (fieldValue !== undefined) {\n Reflect.set(next, key, fieldValue);\n }\n }\n return next;\n}\n","import { assetSchema, publicBalanceSchema } from '../../schemas/shared.js';\nimport type {\n StellarAsset,\n StellarAssetsCatalog,\n StellarPublicBalance,\n} from '../../domain/types.js';\nimport { withoutUndefinedFields } from '../../foundation/coerce.js';\n\nexport function normalizeAssetsCatalog(value: unknown): StellarAssetsCatalog {\n if (typeof value !== 'object' || value === null) {\n return { byId: {}, listOrder: [] };\n }\n const record = value as Record<string, unknown>;\n const byIdRaw = record.byId;\n const listOrderRaw = record.listOrder;\n const byId: Record<string, StellarAsset> = {};\n if (typeof byIdRaw === 'object' && byIdRaw !== null) {\n for (const [key, entry] of Object.entries(byIdRaw)) {\n const parsed = assetSchema.safeParse(entry);\n if (parsed.success) {\n byId[key] = withoutUndefinedFields(parsed.data) as StellarAsset;\n }\n }\n }\n const listOrder = Array.isArray(listOrderRaw)\n ? listOrderRaw.filter((item): item is string => typeof item === 'string')\n : [];\n return { byId, listOrder };\n}\n\nexport function normalizeAsset(value: unknown): StellarAsset | undefined {\n const parsed = assetSchema.safeParse(value);\n return parsed.success\n ? (withoutUndefinedFields(parsed.data) as StellarAsset)\n : undefined;\n}\n\nexport function normalizePublicBalance(\n value: unknown,\n): StellarPublicBalance | undefined {\n const parsed = publicBalanceSchema.safeParse(value);\n return parsed.success ? parsed.data : undefined;\n}\n\nexport function normalizePublicBalancesFromEntries(\n value: unknown,\n owner: string,\n): StellarPublicBalance[] {\n if (!Array.isArray(value)) {\n return [];\n }\n return value\n .map((entry) => {\n if (!Array.isArray(entry) || entry.length < 2) {\n return;\n }\n const [key, balanceValue] = entry;\n if (typeof key !== 'string' || !key.startsWith(`${owner}:`)) {\n return;\n }\n return normalizePublicBalance(balanceValue);\n })\n .filter((balance): balance is StellarPublicBalance => balance !== undefined);\n}\n","import {\n deliverySyncStateSchema,\n incomingDeliverySchema,\n} from '../../schemas/shared.js';\nimport type {\n StellarDeliverySyncState,\n StellarIncomingDelivery,\n} from '../../domain/types.js';\nimport { withoutUndefinedFields } from '../../foundation/coerce.js';\n\nexport function normalizeIncomingDeliveries(value: unknown): StellarIncomingDelivery[] {\n const entries =\n typeof value === 'object' && value !== null && !Array.isArray(value)\n ? Object.values(value)\n : value;\n if (!Array.isArray(entries)) {\n return [];\n }\n return entries.flatMap((entry) => {\n const parsed = incomingDeliverySchema.safeParse(entry);\n return parsed.success\n ? [withoutUndefinedFields(parsed.data) as StellarIncomingDelivery]\n : [];\n });\n}\n\nexport function normalizeDeliverySyncState(\n value: unknown,\n): StellarDeliverySyncState | undefined {\n const parsed = deliverySyncStateSchema.safeParse(value);\n return parsed.success\n ? (withoutUndefinedFields(parsed.data) as StellarDeliverySyncState)\n : undefined;\n}\n","import { leafEphemeralSchema, poolMerkleStateSchema } from '../../schemas/shared.js';\nimport type {\n StellarLeafEphemeral,\n StellarPoolMerkleState,\n} from '../../domain/types.js';\nimport { withoutUndefinedFields } from '../../foundation/coerce.js';\n\nexport function normalizePoolMerkleState(\n value: unknown,\n): StellarPoolMerkleState | undefined {\n const parsed = poolMerkleStateSchema.safeParse(value);\n return parsed.success\n ? (withoutUndefinedFields(parsed.data) as StellarPoolMerkleState)\n : undefined;\n}\n\nexport function normalizeLeafEphemeral(\n value: unknown,\n): StellarLeafEphemeral | undefined {\n const parsed = leafEphemeralSchema.safeParse(value);\n return parsed.success\n ? (withoutUndefinedFields(parsed.data) as StellarLeafEphemeral)\n : undefined;\n}\n","import { registryLookupSchema } from '../../schemas/shared.js';\nimport type { StellarRegistryLookup } from '../../domain/types.js';\nimport { withoutUndefinedFields } from '../../foundation/coerce.js';\n\nexport function normalizeCachedPrivateAddress(value: unknown): string | undefined {\n return typeof value === 'string' && value.length > 0 ? value : undefined;\n}\n\nexport function normalizeRegistryLookup(\n value: unknown,\n): StellarRegistryLookup | undefined {\n const parsed = registryLookupSchema.safeParse(value);\n return parsed.success\n ? (withoutUndefinedFields(parsed.data) as StellarRegistryLookup)\n : undefined;\n}\n\nexport function normalizeRegistryLookupFromLegacy(input: {\n address: string;\n registered: unknown;\n privateAddress: unknown;\n}): StellarRegistryLookup | undefined {\n const lookup = normalizeRegistryLookup(\n typeof input.registered === 'object' && input.registered !== null\n ? input.registered\n : undefined,\n );\n if (lookup) {\n return lookup;\n }\n if (input.registered === undefined && input.privateAddress === undefined) {\n return undefined;\n }\n const registered = Boolean(input.registered);\n const privateAddressStpl1 = normalizeCachedPrivateAddress(input.privateAddress);\n if (!registered && privateAddressStpl1 === undefined) {\n return { owner: input.address, status: 'unregistered' };\n }\n return withoutUndefinedFields({\n owner: input.address,\n status: registered ? 'registered' : 'unregistered',\n ...(privateAddressStpl1 === undefined ? {} : { privateAddressStpl1 }),\n }) as StellarRegistryLookup;\n}\n","import { z } from 'zod';\nimport { privateRecordSchema, transactionStatusSchema } from '../../schemas/shared.js';\nimport type {\n StellarPrivateRecord,\n StellarTransactionStatus,\n} from '../../domain/types.js';\nimport { withoutUndefinedFields } from '../../foundation/coerce.js';\n\nexport function normalizePrivateRecords(value: unknown): StellarPrivateRecord[] {\n if (!Array.isArray(value)) {\n return [];\n }\n const records = value.flatMap((item) => {\n const parsed = privateRecordSchema.safeParse(item);\n return parsed.success ? [normalizePrivateRecordFields(parsed.data)] : [];\n });\n return deduplicatePrivateRecords(records);\n}\n\nexport function normalizeTransactionStatus(\n value: unknown,\n): StellarTransactionStatus | undefined {\n const parsed = transactionStatusSchema.safeParse(value);\n return parsed.success\n ? (withoutUndefinedFields(parsed.data) as StellarTransactionStatus)\n : undefined;\n}\n\nfunction privateRecordCommitmentKey(record: StellarPrivateRecord): string {\n return (\n record.commitmentHex?.trim() ||\n record.coinNote?.commitment.trim() ||\n record.id.trim()\n )\n .replace(/^0x/iu, '')\n .toLowerCase();\n}\n\nfunction normalizePrivateRecordFields(\n record: z.infer<typeof privateRecordSchema>,\n): StellarPrivateRecord {\n const normalized = withoutUndefinedFields(record) as StellarPrivateRecord;\n if (!normalized.privateAddress && normalized.owner.trim().startsWith('stpl')) {\n return { ...normalized, privateAddress: normalized.owner.trim() };\n }\n return normalized;\n}\n\nfunction preferPrivateRecord(\n current: StellarPrivateRecord,\n incoming: StellarPrivateRecord,\n key: string,\n): StellarPrivateRecord {\n if (privateRecordIdKey(incoming) === key) {\n return incoming;\n }\n if (privateRecordIdKey(current) === key) {\n return current;\n }\n return incoming;\n}\n\nfunction privateRecordIdKey(record: StellarPrivateRecord): string {\n return record.id.trim().replace(/^0x/iu, '').toLowerCase();\n}\n\nfunction deduplicatePrivateRecords(\n records: StellarPrivateRecord[],\n): StellarPrivateRecord[] {\n const byCommitment = new Map<string, StellarPrivateRecord>();\n for (const record of records) {\n const key = privateRecordCommitmentKey(record);\n const current = byCommitment.get(key);\n byCommitment.set(key, current ? preferPrivateRecord(current, record, key) : record);\n }\n return [...byCommitment.values()];\n}\n","import {\n walletPrivateAddressScalarSchema,\n walletPrivateAddressRecordSchema,\n} from '../../schemas/shared.js';\nimport type {\n StellarWalletPrivateAddressScalar,\n StellarWalletPrivateAddressRecord,\n} from '../../domain/types.js';\nimport { withoutUndefinedFields } from '../../foundation/coerce.js';\n\nexport function normalizeWalletPrivateAddressScalar(\n value: unknown,\n): StellarWalletPrivateAddressScalar | undefined {\n const parsed = walletPrivateAddressScalarSchema.safeParse(value);\n return parsed.success\n ? (withoutUndefinedFields(parsed.data) as StellarWalletPrivateAddressScalar)\n : undefined;\n}\n\nexport function normalizeWalletPrivateAddressRecord(\n value: unknown,\n): StellarWalletPrivateAddressRecord | undefined {\n const parsed = walletPrivateAddressRecordSchema.safeParse(value);\n return parsed.success\n ? (withoutUndefinedFields(parsed.data) as StellarWalletPrivateAddressRecord)\n : undefined;\n}\n\nexport function normalizeWalletDefaultPrivateAddressNonce(\n value: unknown,\n): string | undefined {\n return typeof value === 'string' ? value.trim() || undefined : undefined;\n}\n","import type {\n StellarPrivateRecord,\n StellarWalletPrivateAddressRecord,\n StellarWalletPrivateAddressScalar,\n} from '../domain/types.js';\nimport {\n normalizePrivateRecords,\n normalizeWalletDefaultPrivateAddressNonce,\n normalizeWalletPrivateAddressRecord,\n normalizeWalletPrivateAddressScalar,\n} from './normalize.js';\n\ntype SnapshotRoot = Record<string, unknown>;\ntype WalletMapKey =\n 'privateAddressScalars' | 'privateAddressRecords' | 'defaultPrivateAddressNonce';\n\nfunction readSnapshotObject(value: unknown): SnapshotRoot | undefined {\n if (typeof value !== 'object' || value === null || Array.isArray(value)) {\n return undefined;\n }\n return value as SnapshotRoot;\n}\n\nfunction resolveSdkSnapshot(value: unknown): SnapshotRoot | undefined {\n const record = readSnapshotObject(value);\n if (!record) {\n return undefined;\n }\n const branch = readSnapshotObject(record.privacySdkState);\n return branch ?? record;\n}\n\nfunction readWalletSnapshot(value: unknown): SnapshotRoot | undefined {\n const sdk = resolveSdkSnapshot(value);\n if (!sdk) {\n return undefined;\n }\n return readSnapshotObject(sdk.wallet);\n}\n\nfunction readWalletMap(value: unknown, key: WalletMapKey): SnapshotRoot | undefined {\n const wallet = readWalletSnapshot(value);\n if (!wallet) {\n return undefined;\n }\n if (key === 'privateAddressScalars') {\n return readSnapshotObject(wallet.privateAddressScalars);\n }\n if (key === 'privateAddressRecords') {\n return readSnapshotObject(wallet.privateAddressRecords);\n }\n return readSnapshotObject(wallet.defaultPrivateAddressNonce);\n}\n\nfunction readRecordValue(record: SnapshotRoot, key: string): unknown {\n for (const [entryKey, entryValue] of Object.entries(record)) {\n if (entryKey === key) {\n return entryValue;\n }\n }\n return undefined;\n}\n\nfunction ownerNonceKey(owner: string, nonce: string): string {\n return `${owner.trim()}:${nonce.trim()}`;\n}\n\nexport function readPrivateRecordsFromStateSnapshot(\n state: unknown,\n): StellarPrivateRecord[] {\n const sdk = resolveSdkSnapshot(state);\n if (!sdk) {\n return [];\n }\n return normalizePrivateRecords(sdk.privateRecords);\n}\n\nexport function readWalletPrivateAddressScalarFromStateSnapshot(input: {\n state: unknown;\n owner: string;\n nonce: string;\n}): StellarWalletPrivateAddressScalar | undefined {\n const owner = input.owner.trim();\n const nonce = input.nonce.trim();\n if (!owner || !nonce) {\n return undefined;\n }\n const scalars = readWalletMap(input.state, 'privateAddressScalars');\n if (!scalars) {\n return undefined;\n }\n const value = scalars[ownerNonceKey(owner, nonce)];\n if (typeof value === 'string') {\n const scalarHex = value.trim();\n return scalarHex ? { owner, nonce, scalarHex } : undefined;\n }\n return normalizeWalletPrivateAddressScalar(value);\n}\n\nexport function readWalletPrivateAddressRecordFromStateSnapshot(input: {\n state: unknown;\n owner: string;\n nonce: string;\n}): StellarWalletPrivateAddressRecord | undefined {\n const owner = input.owner.trim();\n const nonce = input.nonce.trim();\n if (!owner || !nonce) {\n return undefined;\n }\n const records = readWalletMap(input.state, 'privateAddressRecords');\n if (!records) {\n return undefined;\n }\n return normalizeWalletPrivateAddressRecord(records[ownerNonceKey(owner, nonce)]);\n}\n\nexport function readWalletDefaultPrivateAddressNonceFromStateSnapshot(input: {\n state: unknown;\n owner: string;\n}): string | undefined {\n const owner = input.owner.trim();\n if (!owner) {\n return undefined;\n }\n const defaults = readWalletMap(input.state, 'defaultPrivateAddressNonce');\n if (!defaults) {\n return undefined;\n }\n return normalizeWalletDefaultPrivateAddressNonce(readRecordValue(defaults, owner));\n}\n\nexport function listWalletPrivateAddressScalarsForOwnerFromStateSnapshot(input: {\n state: unknown;\n owner: string;\n}): StellarWalletPrivateAddressScalar[] {\n const owner = input.owner.trim();\n if (!owner) {\n return [];\n }\n const scalars = readWalletMap(input.state, 'privateAddressScalars');\n if (!scalars) {\n return [];\n }\n const prefix = `${owner}:`;\n return Object.keys(scalars).flatMap((key) => {\n if (!key.startsWith(prefix)) {\n return [];\n }\n const nonce = key.slice(prefix.length).trim();\n if (!nonce) {\n return [];\n }\n const entry = readWalletPrivateAddressScalarFromStateSnapshot({\n state: input.state,\n owner,\n nonce,\n });\n return entry ? [entry] : [];\n });\n}\n\nexport function listWalletPrivateAddressRecordsForOwnerFromStateSnapshot(input: {\n state: unknown;\n owner: string;\n}): StellarWalletPrivateAddressRecord[] {\n const owner = input.owner.trim();\n if (!owner) {\n return [];\n }\n const records = readWalletMap(input.state, 'privateAddressRecords');\n if (!records) {\n return [];\n }\n const prefix = `${owner}:`;\n return Object.keys(records).flatMap((key) => {\n if (!key.startsWith(prefix)) {\n return [];\n }\n const nonce = key.slice(prefix.length).trim();\n if (!nonce) {\n return [];\n }\n const entry = readWalletPrivateAddressRecordFromStateSnapshot({\n state: input.state,\n owner,\n nonce,\n });\n return entry ? [entry] : [];\n });\n}\n","import { registerArrayFilterItemSchema } from '@arcanetech/privacy-sdk-core/state';\nimport { privateRecordSchema } from '../schemas/shared.js';\nimport { stellarArrayFilterSchemaKeys } from './ops.js';\n\nlet registered = false;\n\nexport function registerStellarArrayFilterSchemas(): void {\n if (registered) {\n return;\n }\n registerArrayFilterItemSchema(\n stellarArrayFilterSchemaKeys.privateRecord,\n privateRecordSchema,\n );\n registered = true;\n}\n","import { STELLAR_STATE_PATHS } from '../foundation/paths.js';\n\nexport const stellarArrayFilterSchemaKeys = {\n privateRecord: 'privateRecord',\n} as const;\n\nexport function rejectPrivateRecordsByIds(ids: string[]) {\n return {\n opType: 'arrayFilter' as const,\n jsonPath: STELLAR_STATE_PATHS.privateRecords,\n itemSchemaKey: stellarArrayFilterSchemaKeys.privateRecord,\n rejectWhen: {\n op: 'fieldIn' as const,\n field: 'id',\n values: ids,\n },\n };\n}\n\nexport function rejectConsumedPrivateRecords() {\n return {\n opType: 'arrayFilter' as const,\n jsonPath: STELLAR_STATE_PATHS.privateRecords,\n itemSchemaKey: stellarArrayFilterSchemaKeys.privateRecord,\n rejectWhen: {\n op: 'fieldEquals' as const,\n field: 'consumed',\n value: true,\n },\n };\n}\n","import { type StateBridgeDefinition } from '@arcanetech/privacy-sdk-core/state';\nimport type { StellarAddress, StellarAssetId } from '../../types.js';\n\nexport const stellarStateCallTypes = {\n readStellarAddressRegistered: 'readStellarAddressRegistered',\n readCachedPrivateAddress: 'readCachedPrivateAddress',\n readRegistryLookup: 'readRegistryLookup',\n saveRegisteredPrivateAddress: 'saveRegisteredPrivateAddress',\n saveRegistryLookup: 'saveRegistryLookup',\n invalidateRegisteredAddress: 'invalidateRegisteredAddress',\n invalidateRegistryLookup: 'invalidateRegistryLookup',\n readAssetsCatalog: 'readAssetsCatalog',\n readAsset: 'readAsset',\n replaceAssets: 'replaceAssets',\n upsertAssets: 'upsertAssets',\n readPublicBalance: 'readPublicBalance',\n readPublicBalances: 'readPublicBalances',\n setPublicBalance: 'setPublicBalance',\n setPublicBalances: 'setPublicBalances',\n readPoolMerkleState: 'readPoolMerkleState',\n setPoolMerkleState: 'setPoolMerkleState',\n readLeafEphemeral: 'readLeafEphemeral',\n setLeafEphemeral: 'setLeafEphemeral',\n listPrivateRecords: 'listPrivateRecords',\n savePrivateRecords: 'savePrivateRecords',\n replacePrivateRecords: 'replacePrivateRecords',\n upsertPrivateRecords: 'upsertPrivateRecords',\n pruneConsumedPrivateRecords: 'pruneConsumedPrivateRecords',\n readIncomingDeliveries: 'readIncomingDeliveries',\n upsertIncomingDeliveries: 'upsertIncomingDeliveries',\n readDeliverySyncState: 'readDeliverySyncState',\n setDeliverySyncState: 'setDeliverySyncState',\n readTransactionStatus: 'readTransactionStatus',\n setTransactionStatus: 'setTransactionStatus',\n clearTransactionStatus: 'clearTransactionStatus',\n saveWalletPrivateAddressScalar: 'saveWalletPrivateAddressScalar',\n readWalletPrivateAddressScalar: 'readWalletPrivateAddressScalar',\n saveWalletPrivateAddressRecord: 'saveWalletPrivateAddressRecord',\n readWalletPrivateAddressRecord: 'readWalletPrivateAddressRecord',\n setWalletDefaultPrivateAddressNonce: 'setWalletDefaultPrivateAddressNonce',\n readWalletDefaultPrivateAddressNonce: 'readWalletDefaultPrivateAddressNonce',\n deleteWalletPrivateAddressScalar: 'deleteWalletPrivateAddressScalar',\n} as const;\n\nexport type StellarStateDefinition = StateBridgeDefinition;\n\nexport interface StellarPublicBalanceInput {\n owner: StellarAddress;\n asset: StellarAssetId;\n balance: string;\n trustlineStatus: 'active' | 'inactive' | 'none';\n}\n","import { z } from 'zod';\nimport { STELLAR_STATE_PATHS } from '../../foundation/paths.js';\nimport { stellarStateCallTypes } from '../../bridge/call-types.js';\nimport { assetSchema } from '../shared.js';\nimport { withoutUndefinedFields } from '../../foundation/coerce.js';\n\nexport const readAssetsCatalogSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.readAssetsCatalog),\n })\n .transform(({ type }) => ({\n type,\n operations: [\n {\n opType: 'primitiveGet' as const,\n jsonPath: STELLAR_STATE_PATHS.assets,\n },\n ],\n }));\n\nexport const readAssetSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.readAsset),\n assetId: z.string().min(1),\n })\n .transform(({ type, assetId }) => ({\n type,\n operations: [\n {\n opType: 'recordGet' as const,\n jsonPath: STELLAR_STATE_PATHS.assetsById,\n key: assetId,\n },\n ],\n }));\n\nexport const replaceAssetsSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.replaceAssets),\n assets: z.array(assetSchema),\n })\n .transform(({ type, assets }) => {\n const byId: Record<string, unknown> = {};\n const listOrder: string[] = [];\n for (const asset of assets) {\n Reflect.set(byId, asset.assetId, withoutUndefinedFields(asset));\n listOrder.push(asset.assetId);\n }\n return {\n type,\n operations: [\n {\n opType: 'primitiveSet' as const,\n jsonPath: STELLAR_STATE_PATHS.assets,\n value: { byId, listOrder },\n },\n ],\n };\n });\n\nexport const upsertAssetsSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.upsertAssets),\n assets: z.array(assetSchema),\n })\n .transform(({ type, assets }) => ({\n type,\n operations: assets.map((asset) => ({\n opType: 'recordSet' as const,\n jsonPath: STELLAR_STATE_PATHS.assetsById,\n key: asset.assetId,\n value: asset,\n })),\n }));\n","import type { StateBridgeDefinition } from '@arcanetech/privacy-sdk-core/state';\nimport { stellarStateCallTypes } from '../bridge/call-types.js';\nimport {\n readAssetsCatalogSchema,\n readAssetSchema,\n replaceAssetsSchema,\n upsertAssetsSchema,\n} from '../schemas/assets/catalog.js';\n\nexport const stellarAssetsStateDefinitions: StateBridgeDefinition[] = [\n {\n type: stellarStateCallTypes.readAssetsCatalog,\n mode: 'read',\n schema: readAssetsCatalogSchema,\n },\n {\n type: stellarStateCallTypes.readAsset,\n mode: 'read',\n schema: readAssetSchema,\n },\n {\n type: stellarStateCallTypes.replaceAssets,\n mode: 'write',\n schema: replaceAssetsSchema,\n },\n {\n type: stellarStateCallTypes.upsertAssets,\n mode: 'write',\n schema: upsertAssetsSchema,\n },\n];\n","import { z } from 'zod';\nimport { STELLAR_STATE_PATHS } from '../../foundation/paths.js';\nimport { ownerAssetKey } from '../../foundation/keys.js';\nimport { stellarStateCallTypes } from '../../bridge/call-types.js';\nimport { publicBalanceSchema } from '../shared.js';\n\nexport const readPublicBalanceSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.readPublicBalance),\n owner: z.string().min(1),\n asset: z.string().min(1),\n })\n .transform(({ type, owner, asset }) => ({\n type,\n operations: [\n {\n opType: 'recordGet' as const,\n jsonPath: STELLAR_STATE_PATHS.publicBalances,\n key: ownerAssetKey(owner, asset),\n },\n ],\n }));\n\nexport const readPublicBalancesSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.readPublicBalances),\n owner: z.string().min(1),\n })\n .transform(({ type }) => ({\n type,\n operations: [\n {\n opType: 'recordEntries' as const,\n jsonPath: STELLAR_STATE_PATHS.publicBalances,\n },\n ],\n }));\n\nexport const setPublicBalanceSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.setPublicBalance),\n balance: publicBalanceSchema,\n })\n .transform(({ type, balance }) => ({\n type,\n operations: [\n {\n opType: 'recordSet' as const,\n jsonPath: STELLAR_STATE_PATHS.publicBalances,\n key: ownerAssetKey(balance.owner, balance.asset),\n value: balance,\n },\n ],\n }));\n\nexport const setPublicBalancesSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.setPublicBalances),\n owner: z.string().min(1),\n balances: z.array(publicBalanceSchema),\n })\n .transform(({ type, owner, balances }) => ({\n type,\n operations: balances.map((balance) => ({\n opType: 'recordSet' as const,\n jsonPath: STELLAR_STATE_PATHS.publicBalances,\n key: ownerAssetKey(owner, balance.asset),\n value: { ...balance, owner },\n })),\n }));\n","import type { StellarAddress, StellarAssetId } from '../../types.js';\n\nexport function ownerAssetKey(owner: StellarAddress, asset: StellarAssetId): string {\n return `${owner}:${asset}`;\n}\n\nexport function readRecordValue<T>(\n record: Record<string, T>,\n key: string,\n): T | undefined {\n if (!Object.hasOwn(record, key)) {\n return undefined;\n }\n return Reflect.get(record, key) as T | undefined;\n}\n\nexport function poolLeafKey(poolContract: string, leafIndex: number): string {\n return `${poolContract}:${leafIndex}`;\n}\n\nexport function privateAddressAssetKey(\n privateAddress: string,\n asset: StellarAssetId,\n): string {\n return `${privateAddress}:${asset}`;\n}\n\nexport function walletOwnerNonceKey(owner: StellarAddress, nonce: string): string {\n return `${owner}:${nonce}`;\n}\n","import type { StateBridgeDefinition } from '@arcanetech/privacy-sdk-core/state';\nimport { stellarStateCallTypes } from '../bridge/call-types.js';\nimport {\n readPublicBalanceSchema,\n readPublicBalancesSchema,\n setPublicBalanceSchema,\n setPublicBalancesSchema,\n} from '../schemas/assets/balances.js';\n\nexport const stellarBalancesStateDefinitions: StateBridgeDefinition[] = [\n {\n type: stellarStateCallTypes.readPublicBalance,\n mode: 'read',\n schema: readPublicBalanceSchema,\n },\n {\n type: stellarStateCallTypes.readPublicBalances,\n mode: 'read',\n schema: readPublicBalancesSchema,\n },\n {\n type: stellarStateCallTypes.setPublicBalance,\n mode: 'write',\n schema: setPublicBalanceSchema,\n },\n {\n type: stellarStateCallTypes.setPublicBalances,\n mode: 'write',\n schema: setPublicBalancesSchema,\n },\n];\n","import { z } from 'zod';\nimport { STELLAR_STATE_PATHS } from '../../foundation/paths.js';\nimport { privateAddressAssetKey } from '../../foundation/keys.js';\nimport { stellarStateCallTypes } from '../../bridge/call-types.js';\nimport { deliverySyncStateSchema, incomingDeliverySchema } from '../shared.js';\n\nexport const readIncomingDeliveriesSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.readIncomingDeliveries),\n })\n .transform(({ type }) => ({\n type,\n operations: [\n {\n opType: 'primitiveGet' as const,\n jsonPath: STELLAR_STATE_PATHS.deliveriesIncomingById,\n },\n ],\n }));\n\nexport const upsertIncomingDeliveriesSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.upsertIncomingDeliveries),\n deliveries: z.array(incomingDeliverySchema),\n })\n .transform(({ type, deliveries }) => ({\n type,\n operations: deliveries.map((delivery) => ({\n opType: 'recordSet' as const,\n jsonPath: STELLAR_STATE_PATHS.deliveriesIncomingById,\n key: String(delivery.id),\n value: delivery,\n })),\n }));\n\nexport const readDeliverySyncStateSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.readDeliverySyncState),\n privateAddress: z.string().min(1),\n asset: z.string().min(1),\n })\n .transform(({ type, privateAddress, asset }) => ({\n type,\n operations: [\n {\n opType: 'recordGet' as const,\n jsonPath: STELLAR_STATE_PATHS.deliveriesSync,\n key: privateAddressAssetKey(privateAddress, asset),\n },\n ],\n }));\n\nexport const setDeliverySyncStateSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.setDeliverySyncState),\n syncState: deliverySyncStateSchema,\n })\n .transform(({ type, syncState }) => ({\n type,\n operations: [\n {\n opType: 'recordSet' as const,\n jsonPath: STELLAR_STATE_PATHS.deliveriesSync,\n key: privateAddressAssetKey(syncState.privateAddress, syncState.asset),\n value: syncState,\n },\n ],\n }));\n","import type { StateBridgeDefinition } from '@arcanetech/privacy-sdk-core/state';\nimport { stellarStateCallTypes } from '../bridge/call-types.js';\nimport {\n readDeliverySyncStateSchema,\n readIncomingDeliveriesSchema,\n setDeliverySyncStateSchema,\n upsertIncomingDeliveriesSchema,\n} from '../schemas/claims/deliveries.js';\n\nexport const stellarDeliveriesStateDefinitions: StateBridgeDefinition[] = [\n {\n type: stellarStateCallTypes.readIncomingDeliveries,\n mode: 'read',\n schema: readIncomingDeliveriesSchema,\n },\n {\n type: stellarStateCallTypes.upsertIncomingDeliveries,\n mode: 'write',\n schema: upsertIncomingDeliveriesSchema,\n },\n {\n type: stellarStateCallTypes.readDeliverySyncState,\n mode: 'read',\n schema: readDeliverySyncStateSchema,\n },\n {\n type: stellarStateCallTypes.setDeliverySyncState,\n mode: 'write',\n schema: setDeliverySyncStateSchema,\n },\n];\n","import { z } from 'zod';\nimport { STELLAR_STATE_PATHS } from '../../foundation/paths.js';\nimport { poolLeafKey } from '../../foundation/keys.js';\nimport { stellarStateCallTypes } from '../../bridge/call-types.js';\nimport { leafEphemeralSchema, poolMerkleStateSchema } from '../shared.js';\n\nexport const readPoolMerkleStateSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.readPoolMerkleState),\n poolContract: z.string().min(1),\n })\n .transform(({ type, poolContract }) => ({\n type,\n operations: [\n {\n opType: 'recordGet' as const,\n jsonPath: STELLAR_STATE_PATHS.poolsByContract,\n key: poolContract,\n },\n ],\n }));\n\nexport const setPoolMerkleStateSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.setPoolMerkleState),\n state: poolMerkleStateSchema,\n })\n .transform(({ type, state }) => ({\n type,\n operations: [\n {\n opType: 'recordSet' as const,\n jsonPath: STELLAR_STATE_PATHS.poolsByContract,\n key: state.poolContract,\n value: state,\n },\n ],\n }));\n\nexport const readLeafEphemeralSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.readLeafEphemeral),\n poolContract: z.string().min(1),\n leafIndex: z.number().int().nonnegative(),\n })\n .transform(({ type, poolContract, leafIndex }) => ({\n type,\n operations: [\n {\n opType: 'recordGet' as const,\n jsonPath: STELLAR_STATE_PATHS.poolsLeafEphemeral,\n key: poolLeafKey(poolContract, leafIndex),\n },\n ],\n }));\n\nexport const setLeafEphemeralSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.setLeafEphemeral),\n ephemeral: leafEphemeralSchema,\n })\n .transform(({ type, ephemeral }) => ({\n type,\n operations: [\n {\n opType: 'recordSet' as const,\n jsonPath: STELLAR_STATE_PATHS.poolsLeafEphemeral,\n key: poolLeafKey(ephemeral.poolContract, ephemeral.leafIndex),\n value: ephemeral,\n },\n ],\n }));\n","import type { StateBridgeDefinition } from '@arcanetech/privacy-sdk-core/state';\nimport { stellarStateCallTypes } from '../bridge/call-types.js';\nimport {\n readLeafEphemeralSchema,\n readPoolMerkleStateSchema,\n setLeafEphemeralSchema,\n setPoolMerkleStateSchema,\n} from '../schemas/pool/merkle.js';\n\nexport const stellarPoolStateDefinitions: StateBridgeDefinition[] = [\n {\n type: stellarStateCallTypes.readPoolMerkleState,\n mode: 'read',\n schema: readPoolMerkleStateSchema,\n },\n {\n type: stellarStateCallTypes.setPoolMerkleState,\n mode: 'write',\n schema: setPoolMerkleStateSchema,\n },\n {\n type: stellarStateCallTypes.readLeafEphemeral,\n mode: 'read',\n schema: readLeafEphemeralSchema,\n },\n {\n type: stellarStateCallTypes.setLeafEphemeral,\n mode: 'write',\n schema: setLeafEphemeralSchema,\n },\n];\n","import { z } from 'zod';\nimport { STELLAR_STATE_PATHS } from '../../foundation/paths.js';\nimport { stellarStateCallTypes } from '../../bridge/call-types.js';\nimport { rejectConsumedPrivateRecords } from '../../filters/ops.js';\nimport { privateRecordSchema } from '../shared.js';\n\nexport const listPrivateRecordsSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.listPrivateRecords),\n })\n .transform(({ type }) => ({\n type,\n operations: [\n {\n opType: 'primitiveGet' as const,\n jsonPath: STELLAR_STATE_PATHS.privateRecords,\n },\n ],\n }));\n\nexport const savePrivateRecordsSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.savePrivateRecords),\n records: z.array(privateRecordSchema),\n })\n .transform(({ type, records }) => ({\n type,\n operations: [\n {\n opType: 'arrayPush' as const,\n jsonPath: STELLAR_STATE_PATHS.privateRecords,\n items: records,\n },\n ],\n }));\n\nexport const replacePrivateRecordsSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.replacePrivateRecords),\n records: z.array(privateRecordSchema),\n })\n .transform(({ type, records }) => ({\n type,\n operations: [\n {\n opType: 'arrayClean' as const,\n jsonPath: STELLAR_STATE_PATHS.privateRecords,\n },\n {\n opType: 'arrayPush' as const,\n jsonPath: STELLAR_STATE_PATHS.privateRecords,\n items: records,\n },\n ],\n }));\n\nexport const pruneConsumedPrivateRecordsSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.pruneConsumedPrivateRecords),\n })\n .transform(({ type }) => ({\n type,\n operations: [rejectConsumedPrivateRecords()],\n }));\n","import { z } from 'zod';\nimport { STELLAR_STATE_PATHS } from '../../foundation/paths.js';\nimport { stellarStateCallTypes } from '../../bridge/call-types.js';\nimport { rejectPrivateRecordsByIds } from '../../filters/ops.js';\nimport { privateRecordSchema, transactionStatusSchema } from '../shared.js';\n\nexport const upsertPrivateRecordsSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.upsertPrivateRecords),\n records: z.array(privateRecordSchema),\n })\n .transform(({ type, records }) => ({\n type,\n operations: [\n rejectPrivateRecordsByIds(records.map((record) => record.id)),\n {\n opType: 'arrayPush' as const,\n jsonPath: STELLAR_STATE_PATHS.privateRecords,\n items: records,\n },\n ],\n }));\n\nexport const readTransactionStatusSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.readTransactionStatus),\n txHash: z.string().min(1),\n })\n .transform(({ type, txHash }) => ({\n type,\n operations: [\n {\n opType: 'recordGet' as const,\n jsonPath: STELLAR_STATE_PATHS.transactionsByHash,\n key: txHash,\n },\n ],\n }));\n\nexport const setTransactionStatusSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.setTransactionStatus),\n status: transactionStatusSchema,\n })\n .transform(({ type, status }) => ({\n type,\n operations: [\n {\n opType: 'recordSet' as const,\n jsonPath: STELLAR_STATE_PATHS.transactionsByHash,\n key: status.txHash,\n value: status,\n },\n ],\n }));\n\nexport const clearTransactionStatusSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.clearTransactionStatus),\n txHash: z.string().min(1),\n })\n .transform(({ type, txHash }) => ({\n type,\n operations: [\n {\n opType: 'recordDelete' as const,\n jsonPath: STELLAR_STATE_PATHS.transactionsByHash,\n key: txHash,\n },\n ],\n }));\n","import type { StateBridgeDefinition } from '@arcanetech/privacy-sdk-core/state';\nimport { stellarStateCallTypes } from '../bridge/call-types.js';\nimport {\n listPrivateRecordsSchema,\n pruneConsumedPrivateRecordsSchema,\n replacePrivateRecordsSchema,\n savePrivateRecordsSchema,\n} from '../schemas/records/private.js';\nimport { upsertPrivateRecordsSchema } from '../schemas/records/transactions.js';\n\nexport const stellarRecordsStateDefinitions: StateBridgeDefinition[] = [\n {\n type: stellarStateCallTypes.listPrivateRecords,\n mode: 'read',\n schema: listPrivateRecordsSchema,\n },\n {\n type: stellarStateCallTypes.savePrivateRecords,\n mode: 'write',\n schema: savePrivateRecordsSchema,\n },\n {\n type: stellarStateCallTypes.replacePrivateRecords,\n mode: 'write',\n schema: replacePrivateRecordsSchema,\n },\n {\n type: stellarStateCallTypes.upsertPrivateRecords,\n mode: 'write',\n schema: upsertPrivateRecordsSchema,\n },\n {\n type: stellarStateCallTypes.pruneConsumedPrivateRecords,\n mode: 'write',\n schema: pruneConsumedPrivateRecordsSchema,\n },\n];\n","import { z } from 'zod';\nimport { STELLAR_STATE_PATHS } from '../../foundation/paths.js';\nimport { stellarStateCallTypes } from '../../bridge/call-types.js';\nimport { registryLookupSchema } from '../shared.js';\n\nexport const readStellarAddressRegisteredSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.readStellarAddressRegistered),\n address: z.string().min(1),\n })\n .transform(({ type, address }) => ({\n type,\n operations: [\n {\n opType: 'recordGet' as const,\n jsonPath: STELLAR_STATE_PATHS.registryRegisteredAddresses,\n key: address,\n },\n ],\n }));\n\nexport const readCachedPrivateAddressSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.readCachedPrivateAddress),\n address: z.string().min(1),\n })\n .transform(({ type, address }) => ({\n type,\n operations: [\n {\n opType: 'recordGet' as const,\n jsonPath: STELLAR_STATE_PATHS.registryPrivateAddresses,\n key: address,\n },\n ],\n }));\n\nexport const saveRegisteredPrivateAddressSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.saveRegisteredPrivateAddress),\n address: z.string().min(1),\n privateAddress: z.string().min(1),\n registered: z.boolean(),\n })\n .transform(({ type, address, privateAddress, registered }) => {\n const lookup = registryLookupSchema.parse({\n owner: address,\n status: registered ? 'registered' : 'unregistered',\n privateAddressStpl1: registered ? privateAddress : undefined,\n cachedAt: new Date().toISOString(),\n });\n return {\n type,\n operations: [\n {\n opType: 'recordSet' as const,\n jsonPath: STELLAR_STATE_PATHS.registryPrivateAddresses,\n key: address,\n value: privateAddress,\n },\n {\n opType: 'recordSet' as const,\n jsonPath: STELLAR_STATE_PATHS.registryRegisteredAddresses,\n key: address,\n value: registered,\n },\n {\n opType: 'recordSet' as const,\n jsonPath: STELLAR_STATE_PATHS.registryLookups,\n key: address,\n value: lookup,\n },\n ],\n };\n });\n\nexport const invalidateRegisteredAddressSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.invalidateRegisteredAddress),\n address: z.string().min(1),\n })\n .transform(({ type, address }) => ({\n type,\n operations: [\n {\n opType: 'recordDelete' as const,\n jsonPath: STELLAR_STATE_PATHS.registryPrivateAddresses,\n key: address,\n },\n {\n opType: 'recordDelete' as const,\n jsonPath: STELLAR_STATE_PATHS.registryRegisteredAddresses,\n key: address,\n },\n {\n opType: 'recordDelete' as const,\n jsonPath: STELLAR_STATE_PATHS.registryLookups,\n key: address,\n },\n ],\n }));\n\nexport const readRegistryLookupSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.readRegistryLookup),\n address: z.string().min(1),\n })\n .transform(({ type, address }) => ({\n type,\n operations: [\n {\n opType: 'recordGet' as const,\n jsonPath: STELLAR_STATE_PATHS.registryLookups,\n key: address,\n },\n ],\n }));\n\nexport const saveRegistryLookupSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.saveRegistryLookup),\n lookup: registryLookupSchema,\n })\n .transform(({ type, lookup }) => {\n const operations: Array<{\n opType: 'recordSet';\n jsonPath: string;\n key: string;\n value: unknown;\n }> = [\n {\n opType: 'recordSet',\n jsonPath: STELLAR_STATE_PATHS.registryLookups,\n key: lookup.owner,\n value: lookup,\n },\n ];\n if (lookup.status === 'registered' && lookup.privateAddressStpl1) {\n operations.push(\n {\n opType: 'recordSet',\n jsonPath: STELLAR_STATE_PATHS.registryPrivateAddresses,\n key: lookup.owner,\n value: lookup.privateAddressStpl1,\n },\n {\n opType: 'recordSet',\n jsonPath: STELLAR_STATE_PATHS.registryRegisteredAddresses,\n key: lookup.owner,\n value: true,\n },\n );\n } else {\n operations.push({\n opType: 'recordSet',\n jsonPath: STELLAR_STATE_PATHS.registryRegisteredAddresses,\n key: lookup.owner,\n value: false,\n });\n }\n return { type, operations };\n });\n\nexport const invalidateRegistryLookupSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.invalidateRegistryLookup),\n address: z.string().min(1),\n })\n .transform(({ type, address }) => ({\n type,\n operations: [\n {\n opType: 'recordDelete' as const,\n jsonPath: STELLAR_STATE_PATHS.registryLookups,\n key: address,\n },\n {\n opType: 'recordDelete' as const,\n jsonPath: STELLAR_STATE_PATHS.registryPrivateAddresses,\n key: address,\n },\n {\n opType: 'recordDelete' as const,\n jsonPath: STELLAR_STATE_PATHS.registryRegisteredAddresses,\n key: address,\n },\n ],\n }));\n","import type { StateBridgeDefinition } from '@arcanetech/privacy-sdk-core/state';\nimport { stellarStateCallTypes } from '../bridge/call-types.js';\nimport {\n invalidateRegisteredAddressSchema,\n invalidateRegistryLookupSchema,\n readCachedPrivateAddressSchema,\n readRegistryLookupSchema,\n readStellarAddressRegisteredSchema,\n saveRegisteredPrivateAddressSchema,\n saveRegistryLookupSchema,\n} from '../schemas/registry/lookup.js';\n\nexport const stellarRegistryStateDefinitions: StateBridgeDefinition[] = [\n {\n type: stellarStateCallTypes.readStellarAddressRegistered,\n mode: 'read',\n schema: readStellarAddressRegisteredSchema,\n },\n {\n type: stellarStateCallTypes.readCachedPrivateAddress,\n mode: 'read',\n schema: readCachedPrivateAddressSchema,\n },\n {\n type: stellarStateCallTypes.readRegistryLookup,\n mode: 'read',\n schema: readRegistryLookupSchema,\n },\n {\n type: stellarStateCallTypes.saveRegisteredPrivateAddress,\n mode: 'write',\n schema: saveRegisteredPrivateAddressSchema,\n },\n {\n type: stellarStateCallTypes.saveRegistryLookup,\n mode: 'write',\n schema: saveRegistryLookupSchema,\n },\n {\n type: stellarStateCallTypes.invalidateRegisteredAddress,\n mode: 'write',\n schema: invalidateRegisteredAddressSchema,\n },\n {\n type: stellarStateCallTypes.invalidateRegistryLookup,\n mode: 'write',\n schema: invalidateRegistryLookupSchema,\n },\n];\n","import type { StateBridgeDefinition } from '@arcanetech/privacy-sdk-core/state';\nimport {\n clearTransactionStatusSchema,\n readTransactionStatusSchema,\n setTransactionStatusSchema,\n} from '../schemas/records/transactions.js';\nimport { stellarStateCallTypes } from '../bridge/call-types.js';\n\nexport const stellarTransactionStateDefinitions: StateBridgeDefinition[] = [\n {\n type: stellarStateCallTypes.readTransactionStatus,\n mode: 'read',\n schema: readTransactionStatusSchema,\n },\n {\n type: stellarStateCallTypes.setTransactionStatus,\n mode: 'write',\n schema: setTransactionStatusSchema,\n },\n {\n type: stellarStateCallTypes.clearTransactionStatus,\n mode: 'write',\n schema: clearTransactionStatusSchema,\n },\n];\n","import { z } from 'zod';\nimport { walletOwnerNonceKey } from '../../foundation/keys.js';\nimport { STELLAR_STATE_PATHS } from '../../foundation/paths.js';\nimport { stellarStateCallTypes } from '../../bridge/call-types.js';\nimport { walletPrivateAddressScalarSchema } from '../shared.js';\n\nexport const saveWalletPrivateAddressScalarSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.saveWalletPrivateAddressScalar),\n scalar: walletPrivateAddressScalarSchema,\n })\n .transform(({ type, scalar }) => ({\n type,\n operations: [\n {\n opType: 'recordSet' as const,\n jsonPath: STELLAR_STATE_PATHS.walletPrivateAddressScalars,\n key: walletOwnerNonceKey(scalar.owner, scalar.nonce),\n value: scalar,\n },\n ],\n }));\n\nexport const readWalletPrivateAddressScalarSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.readWalletPrivateAddressScalar),\n owner: z.string().min(1),\n nonce: z.string().min(1),\n })\n .transform(({ type, owner, nonce }) => ({\n type,\n operations: [\n {\n opType: 'recordGet' as const,\n jsonPath: STELLAR_STATE_PATHS.walletPrivateAddressScalars,\n key: walletOwnerNonceKey(owner, nonce),\n },\n ],\n }));\n","import { z } from 'zod';\nimport { walletOwnerNonceKey } from '../../foundation/keys.js';\nimport { STELLAR_STATE_PATHS } from '../../foundation/paths.js';\nimport { stellarStateCallTypes } from '../../bridge/call-types.js';\nimport { walletPrivateAddressRecordSchema } from '../shared.js';\n\nexport const saveWalletPrivateAddressRecordSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.saveWalletPrivateAddressRecord),\n record: walletPrivateAddressRecordSchema,\n })\n .transform(({ type, record }) => ({\n type,\n operations: [\n {\n opType: 'recordSet' as const,\n jsonPath: STELLAR_STATE_PATHS.walletPrivateAddressRecords,\n key: walletOwnerNonceKey(record.owner, record.nonce),\n value: record,\n },\n ],\n }));\n\nexport const readWalletPrivateAddressRecordSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.readWalletPrivateAddressRecord),\n owner: z.string().min(1),\n nonce: z.string().min(1),\n })\n .transform(({ type, owner, nonce }) => ({\n type,\n operations: [\n {\n opType: 'recordGet' as const,\n jsonPath: STELLAR_STATE_PATHS.walletPrivateAddressRecords,\n key: walletOwnerNonceKey(owner, nonce),\n },\n ],\n }));\n\nexport const setWalletDefaultPrivateAddressNonceSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.setWalletDefaultPrivateAddressNonce),\n owner: z.string().min(1),\n nonce: z.string().min(1),\n })\n .transform(({ type, owner, nonce }) => ({\n type,\n operations: [\n {\n opType: 'recordSet' as const,\n jsonPath: STELLAR_STATE_PATHS.walletDefaultPrivateAddressNonce,\n key: owner,\n value: nonce,\n },\n ],\n }));\n\nexport const readWalletDefaultPrivateAddressNonceSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.readWalletDefaultPrivateAddressNonce),\n owner: z.string().min(1),\n })\n .transform(({ type, owner }) => ({\n type,\n operations: [\n {\n opType: 'recordGet' as const,\n jsonPath: STELLAR_STATE_PATHS.walletDefaultPrivateAddressNonce,\n key: owner,\n },\n ],\n }));\n\nexport const deleteWalletPrivateAddressScalarSchema = z\n .object({\n type: z.literal(stellarStateCallTypes.deleteWalletPrivateAddressScalar),\n owner: z.string().min(1),\n nonce: z.string().min(1),\n })\n .transform(({ type, owner, nonce }) => ({\n type,\n operations: [\n {\n opType: 'recordDelete' as const,\n jsonPath: STELLAR_STATE_PATHS.walletPrivateAddressScalars,\n key: walletOwnerNonceKey(owner, nonce),\n },\n ],\n }));\n","import type { StateBridgeDefinition } from '@arcanetech/privacy-sdk-core/state';\nimport {\n readWalletPrivateAddressScalarSchema,\n saveWalletPrivateAddressScalarSchema,\n} from '../schemas/wallet/scalar.js';\nimport {\n deleteWalletPrivateAddressScalarSchema,\n readWalletDefaultPrivateAddressNonceSchema,\n readWalletPrivateAddressRecordSchema,\n saveWalletPrivateAddressRecordSchema,\n setWalletDefaultPrivateAddressNonceSchema,\n} from '../schemas/wallet/private-address.js';\nimport { stellarStateCallTypes } from '../bridge/call-types.js';\n\nexport const stellarWalletStateDefinitions: StateBridgeDefinition[] = [\n {\n type: stellarStateCallTypes.saveWalletPrivateAddressScalar,\n mode: 'write',\n schema: saveWalletPrivateAddressScalarSchema,\n },\n {\n type: stellarStateCallTypes.readWalletPrivateAddressScalar,\n mode: 'read',\n schema: readWalletPrivateAddressScalarSchema,\n },\n {\n type: stellarStateCallTypes.saveWalletPrivateAddressRecord,\n mode: 'write',\n schema: saveWalletPrivateAddressRecordSchema,\n },\n {\n type: stellarStateCallTypes.readWalletPrivateAddressRecord,\n mode: 'read',\n schema: readWalletPrivateAddressRecordSchema,\n },\n {\n type: stellarStateCallTypes.setWalletDefaultPrivateAddressNonce,\n mode: 'write',\n schema: setWalletDefaultPrivateAddressNonceSchema,\n },\n {\n type: stellarStateCallTypes.readWalletDefaultPrivateAddressNonce,\n mode: 'read',\n schema: readWalletDefaultPrivateAddressNonceSchema,\n },\n {\n type: stellarStateCallTypes.deleteWalletPrivateAddressScalar,\n mode: 'write',\n schema: deleteWalletPrivateAddressScalarSchema,\n },\n];\n","import type { StateBridgeDefinition } from '@arcanetech/privacy-sdk-core/state';\nimport { registerStellarArrayFilterSchemas } from '../filters/register-schemas.js';\nimport { stellarAssetsStateDefinitions } from './assets.js';\nimport { stellarBalancesStateDefinitions } from './balances.js';\nimport { stellarDeliveriesStateDefinitions } from './deliveries.js';\nimport { stellarPoolStateDefinitions } from './pool.js';\nimport { stellarRecordsStateDefinitions } from './records.js';\nimport { stellarRegistryStateDefinitions } from './registry.js';\nimport { stellarTransactionStateDefinitions } from './transactions.js';\nimport { stellarWalletStateDefinitions } from './wallet.js';\n\nregisterStellarArrayFilterSchemas();\n\nexport const stellarStateDefinitions: StateBridgeDefinition[] = [\n ...stellarRegistryStateDefinitions,\n ...stellarAssetsStateDefinitions,\n ...stellarBalancesStateDefinitions,\n ...stellarPoolStateDefinitions,\n ...stellarRecordsStateDefinitions,\n ...stellarDeliveriesStateDefinitions,\n ...stellarWalletStateDefinitions,\n ...stellarTransactionStateDefinitions,\n];\n","import {\n createStateBridge,\n type StateBridge,\n type StateBridgeAdapter,\n} from '@arcanetech/privacy-sdk-core/state';\nimport { stellarStateDefinitions } from '../definitions/index.js';\n\nexport class StellarStateServiceBase {\n readonly bridge: StateBridge;\n\n constructor(adapter: StateBridgeAdapter) {\n this.bridge = createStateBridge(adapter);\n this.bridge.init(stellarStateDefinitions);\n }\n}\n","import type {\n StellarAddress,\n StellarAssetId,\n StellarPublicBalance,\n} from '../../../types.js';\nimport {\n normalizePublicBalance,\n normalizePublicBalancesFromEntries,\n} from '../../read/normalize.js';\nimport {\n stellarStateCallTypes,\n type StellarPublicBalanceInput,\n} from '../../bridge/call-types.js';\nimport type { StellarStateServiceBase } from '../base.js';\n\nexport function createPublicBalanceMethods(context: StellarStateServiceBase) {\n const { bridge } = context;\n\n return {\n async getPublicBalance(input: {\n owner: StellarAddress;\n asset: StellarAssetId;\n }): Promise<StellarPublicBalance | undefined> {\n const value = await bridge.read<unknown>({\n type: stellarStateCallTypes.readPublicBalance,\n owner: input.owner,\n asset: input.asset,\n });\n return normalizePublicBalance(value);\n },\n\n async getPublicBalances(owner: StellarAddress): Promise<StellarPublicBalance[]> {\n const entries = await bridge.read<unknown>({\n type: stellarStateCallTypes.readPublicBalances,\n owner,\n });\n return normalizePublicBalancesFromEntries(entries, owner);\n },\n\n setPublicBalance(balance: StellarPublicBalanceInput): Promise<void> {\n return bridge.write({\n type: stellarStateCallTypes.setPublicBalance,\n balance,\n });\n },\n\n setPublicBalances(input: {\n owner: StellarAddress;\n balances: StellarPublicBalanceInput[];\n }): Promise<void> {\n return bridge.write({\n type: stellarStateCallTypes.setPublicBalances,\n owner: input.owner,\n balances: input.balances,\n });\n },\n };\n}\n","import type { StellarAsset } from '../../../types.js';\nimport { readRecordValue } from '../../foundation/keys.js';\nimport type { StellarStateServiceBase } from '../base.js';\n\ntype AssetsCatalogDeps = {\n getAssetsCatalog: () => Promise<{\n byId: Record<string, StellarAsset>;\n listOrder: string[];\n }>;\n replaceAssets: (assets: StellarAsset[]) => Promise<void>;\n};\n\nexport function createAssetsUpsertMethods(\n _context: StellarStateServiceBase,\n deps: AssetsCatalogDeps,\n) {\n return {\n async upsertAssets(assets: StellarAsset[]): Promise<void> {\n if (assets.length === 0) {\n return;\n }\n const catalog = await deps.getAssetsCatalog();\n const byId = { ...catalog.byId };\n const listOrder = [...catalog.listOrder];\n for (const asset of assets) {\n byId[asset.assetId] = asset;\n if (!listOrder.includes(asset.assetId)) {\n listOrder.push(asset.assetId);\n }\n }\n const merged = listOrder\n .map((assetId) => readRecordValue(byId, assetId))\n .filter((asset): asset is StellarAsset => asset !== undefined);\n await deps.replaceAssets(merged);\n },\n };\n}\n","import type {\n StellarAsset,\n StellarAssetId,\n StellarAssetsCatalog,\n} from '../../../types.js';\nimport { readRecordValue } from '../../foundation/keys.js';\nimport { normalizeAsset, normalizeAssetsCatalog } from '../../read/normalize.js';\nimport { stellarStateCallTypes } from '../../bridge/call-types.js';\nimport type { StellarStateServiceBase } from '../base.js';\nimport { createAssetsUpsertMethods } from './upsert-methods.js';\n\nexport function createAssetsCatalogMethods(context: StellarStateServiceBase) {\n const { bridge } = context;\n\n async function getAssetsCatalog(): Promise<StellarAssetsCatalog> {\n const value = await bridge.read<unknown>({\n type: stellarStateCallTypes.readAssetsCatalog,\n });\n return normalizeAssetsCatalog(value);\n }\n\n function replaceAssets(assets: StellarAsset[]): Promise<void> {\n return bridge.write({\n type: stellarStateCallTypes.replaceAssets,\n assets,\n });\n }\n\n const coreMethods = {\n getAssetsCatalog,\n\n async getAsset(assetId: StellarAssetId): Promise<StellarAsset | undefined> {\n const value = await bridge.read<unknown>({\n type: stellarStateCallTypes.readAsset,\n assetId,\n });\n return normalizeAsset(value);\n },\n\n async getAssets(): Promise<StellarAsset[]> {\n const catalog = await getAssetsCatalog();\n return catalog.listOrder\n .map((assetId) => readRecordValue(catalog.byId, assetId))\n .filter((asset): asset is StellarAsset => asset !== undefined);\n },\n\n async getAssetsForPool(poolContract: string): Promise<StellarAsset[]> {\n const assets = await coreMethods.getAssets();\n return assets.filter((asset) => asset.poolContracts.includes(poolContract));\n },\n\n replaceAssets,\n };\n\n return {\n ...coreMethods,\n ...createAssetsUpsertMethods(context, {\n getAssetsCatalog,\n replaceAssets,\n }),\n };\n}\n","import type { StellarStateServiceBase } from '../base.js';\nimport { createPublicBalanceMethods } from './balance-methods.js';\nimport { createAssetsCatalogMethods } from './catalog-methods.js';\n\nexport function createAssetsService(context: StellarStateServiceBase) {\n return {\n ...createAssetsCatalogMethods(context),\n ...createPublicBalanceMethods(context),\n };\n}\n","import type {\n StellarIncomingDeliveriesFilter,\n StellarIncomingDelivery,\n} from '../../../types.js';\nimport { normalizeIncomingDeliveries } from '../../read/normalize.js';\nimport { stellarStateCallTypes } from '../../bridge/call-types.js';\nimport type { StellarStateServiceBase } from '../base.js';\n\nexport function createIncomingDeliveryMethods(context: StellarStateServiceBase) {\n const { bridge } = context;\n\n async function getIncomingDeliveries(\n filter: StellarIncomingDeliveriesFilter,\n ): Promise<StellarIncomingDelivery[]> {\n const values = await bridge.read<unknown>({\n type: stellarStateCallTypes.readIncomingDeliveries,\n });\n const deliveries = normalizeIncomingDeliveries(values);\n return deliveries.filter((delivery: StellarIncomingDelivery) => {\n if (delivery.privateAddress !== filter.privateAddress) {\n return false;\n }\n if (filter.asset !== undefined && delivery.asset !== filter.asset) {\n return false;\n }\n if (!filter.includeProcessed && delivery.processed) {\n return false;\n }\n return true;\n });\n }\n\n function upsertIncomingDeliveries(\n deliveries: StellarIncomingDelivery[],\n ): Promise<void> {\n return bridge.write({\n type: stellarStateCallTypes.upsertIncomingDeliveries,\n deliveries,\n });\n }\n\n return {\n getIncomingDeliveries,\n upsertIncomingDeliveries,\n\n async markDeliveryProcessed(id: number): Promise<void> {\n const deliveries = await bridge.read<unknown>({\n type: stellarStateCallTypes.readIncomingDeliveries,\n });\n const match = normalizeIncomingDeliveries(deliveries).find(\n (delivery: StellarIncomingDelivery) => delivery.id === id,\n );\n if (!match) {\n return;\n }\n await upsertIncomingDeliveries([{ ...match, processed: true }]);\n },\n };\n}\n","import type { StellarAssetId, StellarDeliverySyncState } from '../../../types.js';\nimport { normalizeDeliverySyncState } from '../../read/normalize.js';\nimport { stellarStateCallTypes } from '../../bridge/call-types.js';\nimport type { StellarStateServiceBase } from '../base.js';\n\nexport function createDeliverySyncMethods(context: StellarStateServiceBase) {\n const { bridge } = context;\n\n return {\n async getDeliverySyncState(input: {\n privateAddress: string;\n asset: StellarAssetId;\n }): Promise<StellarDeliverySyncState | undefined> {\n const value = await bridge.read<unknown>({\n type: stellarStateCallTypes.readDeliverySyncState,\n privateAddress: input.privateAddress,\n asset: input.asset,\n });\n return normalizeDeliverySyncState(value);\n },\n\n setDeliverySyncState(syncState: StellarDeliverySyncState): Promise<void> {\n return bridge.write({\n type: stellarStateCallTypes.setDeliverySyncState,\n syncState,\n });\n },\n };\n}\n","import type { StellarStateServiceBase } from '../base.js';\nimport { createIncomingDeliveryMethods } from './incoming-methods.js';\nimport { createDeliverySyncMethods } from './sync-methods.js';\n\nexport function createDeliveriesService(context: StellarStateServiceBase) {\n return {\n ...createIncomingDeliveryMethods(context),\n ...createDeliverySyncMethods(context),\n };\n}\n","import type { StellarLeafEphemeral } from '../../../types.js';\nimport { normalizeLeafEphemeral } from '../../read/normalize.js';\nimport { stellarStateCallTypes } from '../../bridge/call-types.js';\nimport type { StellarStateServiceBase } from '../base.js';\n\nfunction isMissingStatePathError(error: unknown): boolean {\n if (!(error instanceof Error)) {\n return false;\n }\n return (\n error.message.includes('Record path not found:') ||\n error.message.includes('JSONPath segment not found:')\n );\n}\n\nexport function createPoolEphemeralService(context: StellarStateServiceBase) {\n const { bridge } = context;\n\n return {\n async getLeafEphemeral(input: {\n poolContract: string;\n leafIndex: number;\n }): Promise<StellarLeafEphemeral | undefined> {\n try {\n const value = await bridge.read<unknown>({\n type: stellarStateCallTypes.readLeafEphemeral,\n poolContract: input.poolContract,\n leafIndex: input.leafIndex,\n });\n return normalizeLeafEphemeral(value);\n } catch (error) {\n if (isMissingStatePathError(error)) {\n return undefined;\n }\n throw error;\n }\n },\n\n setLeafEphemeral(ephemeral: StellarLeafEphemeral): Promise<void> {\n return bridge.write({\n type: stellarStateCallTypes.setLeafEphemeral,\n ephemeral,\n });\n },\n };\n}\n","import type { StellarPoolMerkleState } from '../../../types.js';\nimport { withoutUndefinedFields } from '../../foundation/coerce.js';\nimport { normalizePoolMerkleState } from '../../read/normalize.js';\nimport { stellarStateCallTypes } from '../../bridge/call-types.js';\nimport type { StellarStateServiceBase } from '../base.js';\n\nfunction isMissingStatePathError(error: unknown): boolean {\n if (!(error instanceof Error)) {\n return false;\n }\n return (\n error.message.includes('Record path not found:') ||\n error.message.includes('JSONPath segment not found:')\n );\n}\n\nexport function createPoolMerkleService(context: StellarStateServiceBase) {\n const { bridge } = context;\n\n return {\n async getPoolMerkleState(\n poolContract: string,\n ): Promise<StellarPoolMerkleState | undefined> {\n try {\n const value = await bridge.read<unknown>({\n type: stellarStateCallTypes.readPoolMerkleState,\n poolContract,\n });\n return normalizePoolMerkleState(value);\n } catch (error) {\n if (isMissingStatePathError(error)) {\n return undefined;\n }\n throw error;\n }\n },\n\n setPoolMerkleState(state: StellarPoolMerkleState): Promise<void> {\n return bridge.write({\n type: stellarStateCallTypes.setPoolMerkleState,\n state,\n });\n },\n\n async appendPoolCommitments(input: {\n poolContract: string;\n commitments: string[];\n merkleRootHex: string;\n syncedLedger?: number;\n nodes?: StellarPoolMerkleState['nodes'];\n }): Promise<void> {\n const current = await this.getPoolMerkleState(input.poolContract);\n const mergedCommitments = [...(current?.commitments ?? []), ...input.commitments];\n const nodes =\n input.nodes ?? (input.commitments.length === 0 ? current?.nodes : undefined);\n await this.setPoolMerkleState(\n withoutUndefinedFields({\n poolContract: input.poolContract,\n commitments: mergedCommitments,\n commitmentCount: mergedCommitments.length,\n merkleRootHex: input.merkleRootHex,\n updatedAt: Date.now(),\n syncedLedger: input.syncedLedger ?? current?.syncedLedger,\n nodes,\n }) as StellarPoolMerkleState,\n );\n },\n };\n}\n","import type { StellarPrivateRecord } from '../../../types.js';\n\nfunction privateCoinNotesEqual(\n left: StellarPrivateRecord['coinNote'],\n right: StellarPrivateRecord['coinNote'],\n): boolean {\n if (left === undefined || right === undefined) {\n return left === right;\n }\n return (\n left.value === right.value &&\n left.nullifier === right.nullifier &&\n left.secret === right.secret &&\n left.commitment === right.commitment &&\n left.asset_hi === right.asset_hi &&\n left.asset_lo === right.asset_lo &&\n left.application_id === right.application_id\n );\n}\n\nfunction privateRecordCoreFieldsEqual(\n left: StellarPrivateRecord,\n right: StellarPrivateRecord,\n): boolean {\n return (\n left.id === right.id &&\n left.owner === right.owner &&\n left.asset === right.asset &&\n left.amount === right.amount &&\n left.consumed === right.consumed &&\n left.status === right.status &&\n left.poolContract === right.poolContract &&\n left.amountDisplay === right.amountDisplay\n );\n}\n\nfunction privateRecordChainFieldsEqual(\n left: StellarPrivateRecord,\n right: StellarPrivateRecord,\n): boolean {\n return (\n left.commitmentHex === right.commitmentHex &&\n left.nullifierHex === right.nullifierHex &&\n left.deliveryId === right.deliveryId &&\n left.privateAddress === right.privateAddress &&\n left.txHash === right.txHash\n );\n}\n\nfunction privateRecordSecretFieldsEqual(\n left: StellarPrivateRecord,\n right: StellarPrivateRecord,\n): boolean {\n return (\n left.depositScalarHex === right.depositScalarHex &&\n left.precommitementHex === right.precommitementHex &&\n privateCoinNotesEqual(left.coinNote, right.coinNote)\n );\n}\n\nfunction privateRecordsEqual(\n left: StellarPrivateRecord,\n right: StellarPrivateRecord,\n): boolean {\n return (\n privateRecordCoreFieldsEqual(left, right) &&\n privateRecordChainFieldsEqual(left, right) &&\n privateRecordSecretFieldsEqual(left, right)\n );\n}\n\nexport function privateRecordArraysEqual(\n left: StellarPrivateRecord[],\n right: StellarPrivateRecord[],\n): boolean {\n return (\n left.length === right.length &&\n left.every((record, index) => {\n const rightRecord = right.at(index);\n return rightRecord !== undefined && privateRecordsEqual(record, rightRecord);\n })\n );\n}\n\nexport function mergePrivateRecords(\n current: StellarPrivateRecord[],\n records: StellarPrivateRecord[],\n): StellarPrivateRecord[] {\n const ids = new Set(records.map((record) => record.id));\n return [...current.filter((record) => !ids.has(record.id)), ...records];\n}\n","import type {\n StellarAddress,\n StellarAssetId,\n StellarPrivateAssetRow,\n StellarPrivateRecord,\n StellarPrivateRecordStatus,\n} from '../../../types.js';\nimport { normalizePrivateRecords } from '../../read/normalize.js';\nimport { stellarStateCallTypes } from '../../bridge/call-types.js';\nimport type { StellarAvailablePrivateRecordsFilter } from '../../domain/types.js';\nimport type { StellarStateServiceBase } from '../base.js';\nimport {\n mergePrivateRecords,\n privateRecordArraysEqual,\n} from './private-record-upsert.js';\n\ntype PrivateRecordBridge = StellarStateServiceBase['bridge'];\n\nasync function readPrivateRecords(\n bridge: PrivateRecordBridge,\n): Promise<StellarPrivateRecord[]> {\n const value = await bridge.read<unknown>({\n type: stellarStateCallTypes.listPrivateRecords,\n });\n return normalizePrivateRecords(value);\n}\n\nfunction writeReplacePrivateRecords(\n bridge: PrivateRecordBridge,\n records: StellarPrivateRecord[],\n): Promise<void> {\n return bridge.write({\n type: stellarStateCallTypes.replacePrivateRecords,\n records,\n });\n}\n\nasync function readAvailablePrivateRecords(\n bridge: PrivateRecordBridge,\n filter: StellarAvailablePrivateRecordsFilter,\n): Promise<StellarPrivateRecord[]> {\n const records = await readPrivateRecords(bridge);\n return records.filter((record) => matchesPrivateRecordFilter(record, filter, false));\n}\n\nasync function applyPrivateRecordsStatus(\n bridge: PrivateRecordBridge,\n records: StellarPrivateRecord[],\n status: StellarPrivateRecordStatus,\n): Promise<void> {\n const current = await readPrivateRecords(bridge);\n const ids = new Set(records.map((record) => record.id));\n const next = current.map((record) =>\n ids.has(record.id)\n ? {\n ...record,\n status,\n consumed: status === 'spent' ? true : record.consumed,\n }\n : record,\n );\n await writeReplacePrivateRecords(bridge, next);\n}\n\nfunction aggregatePrivateAssetRows(\n records: StellarPrivateRecord[],\n owner: StellarAddress,\n): StellarPrivateAssetRow[] {\n const available = records.filter(\n (record) => record.owner === owner && !record.consumed && record.status !== 'spent',\n );\n const byAsset = new Map<string, StellarPrivateAssetRow>();\n for (const record of available) {\n const existing = byAsset.get(record.asset);\n const amountDisplay = record.amountDisplay ?? Number(record.amount);\n if (existing) {\n existing.totalAmount += record.amount;\n existing.totalAmountDisplay += amountDisplay;\n } else {\n byAsset.set(record.asset, {\n assetId: record.asset,\n poolContract: record.poolContract ?? '',\n totalAmount: record.amount,\n totalAmountDisplay: amountDisplay,\n });\n }\n }\n return [...byAsset.values()].toSorted((left, right) =>\n left.assetId.localeCompare(right.assetId),\n );\n}\n\nfunction pruneConsumedPrivateRecords(bridge: PrivateRecordBridge): Promise<void> {\n return bridge.write({\n type: stellarStateCallTypes.pruneConsumedPrivateRecords,\n });\n}\n\nfunction savePrivateRecords(\n bridge: PrivateRecordBridge,\n records: StellarPrivateRecord[],\n): Promise<void> {\n return bridge.write({\n type: stellarStateCallTypes.savePrivateRecords,\n records,\n });\n}\n\nasync function upsertPrivateRecords(\n bridge: PrivateRecordBridge,\n records: StellarPrivateRecord[],\n): Promise<void> {\n if (records.length === 0) {\n return;\n }\n const current = await readPrivateRecords(bridge);\n const next = mergePrivateRecords(current, records);\n if (privateRecordArraysEqual(current, next)) {\n return;\n }\n return bridge.write({\n type: stellarStateCallTypes.upsertPrivateRecords,\n records,\n });\n}\n\nasync function readPrivateBalance(\n bridge: PrivateRecordBridge,\n input: { owner: StellarAddress; asset: StellarAssetId },\n): Promise<bigint> {\n const records = await readAvailablePrivateRecords(bridge, {\n owner: input.owner,\n asset: input.asset,\n });\n return records.reduce((total, record) => total + record.amount, 0n);\n}\n\nasync function readPrivateAssetRows(\n bridge: PrivateRecordBridge,\n owner: StellarAddress,\n): Promise<StellarPrivateAssetRow[]> {\n const records = await readPrivateRecords(bridge);\n return aggregatePrivateAssetRows(records, owner);\n}\n\nexport function createPrivateRecordMethods(context: StellarStateServiceBase) {\n const { bridge } = context;\n\n return {\n pruneConsumedPrivateRecords: () => pruneConsumedPrivateRecords(bridge),\n getPrivateRecords: () => readPrivateRecords(bridge),\n getAvailablePrivateRecords: (filter: StellarAvailablePrivateRecordsFilter) =>\n readAvailablePrivateRecords(bridge, filter),\n listPrivateRecords: (filter: {\n owner?: StellarAddress;\n privateAddress?: string;\n asset?: StellarAssetId;\n amount?: bigint;\n }) => readAvailablePrivateRecords(bridge, filter),\n savePrivateRecords: (records: StellarPrivateRecord[]) =>\n savePrivateRecords(bridge, records),\n upsertPrivateRecords: (records: StellarPrivateRecord[]) =>\n upsertPrivateRecords(bridge, records),\n markPrivateRecordsUsed: (records: StellarPrivateRecord[]) =>\n applyPrivateRecordsStatus(bridge, records, 'spent'),\n markPrivateRecordsStatus: (\n records: StellarPrivateRecord[],\n status: StellarPrivateRecordStatus,\n ) => applyPrivateRecordsStatus(bridge, records, status),\n getPrivateBalance: (input: { owner: StellarAddress; asset: StellarAssetId }) =>\n readPrivateBalance(bridge, input),\n getPrivateAssetRows: (owner: StellarAddress) => readPrivateAssetRows(bridge, owner),\n };\n}\n\nfunction matchesPrivateRecordFilter(\n record: StellarPrivateRecord,\n filter: StellarAvailablePrivateRecordsFilter,\n includeConsumed: boolean,\n): boolean {\n if (filter.owner !== undefined && record.owner !== filter.owner) {\n return false;\n }\n if (\n filter.privateAddress !== undefined &&\n record.privateAddress !== filter.privateAddress\n ) {\n return false;\n }\n if (filter.owner === undefined && filter.privateAddress === undefined) {\n return false;\n }\n if (filter.asset !== undefined && record.asset !== filter.asset) {\n return false;\n }\n if (!includeConsumed && (record.consumed || record.status === 'spent')) {\n return false;\n }\n return true;\n}\n","import type { StellarTransactionStatus } from '../../../types.js';\nimport { normalizeTransactionStatus } from '../../read/normalize.js';\nimport { stellarStateCallTypes } from '../../bridge/call-types.js';\nimport type { StellarStateServiceBase } from '../base.js';\n\nexport function createTransactionRecordMethods(context: StellarStateServiceBase) {\n const { bridge } = context;\n\n return {\n async getTransactionStatus(\n txHash: string,\n ): Promise<StellarTransactionStatus | undefined> {\n const value = await bridge.read<unknown>({\n type: stellarStateCallTypes.readTransactionStatus,\n txHash,\n });\n return normalizeTransactionStatus(value);\n },\n\n setTransactionStatus(status: StellarTransactionStatus): Promise<void> {\n return bridge.write({\n type: stellarStateCallTypes.setTransactionStatus,\n status,\n });\n },\n\n clearTransactionStatus(txHash: string): Promise<void> {\n return bridge.write({\n type: stellarStateCallTypes.clearTransactionStatus,\n txHash,\n });\n },\n };\n}\n","import type { StellarStateServiceBase } from '../base.js';\nimport { createPrivateRecordMethods } from './private-methods.js';\nimport { createTransactionRecordMethods } from './transaction-methods.js';\n\nexport function createRecordsService(context: StellarStateServiceBase) {\n return {\n ...createPrivateRecordMethods(context),\n ...createTransactionRecordMethods(context),\n };\n}\n","import type { StellarAddress, StellarRegistryLookup } from '../../../types.js';\nimport {\n normalizeCachedPrivateAddress,\n normalizeRegistryLookup,\n normalizeRegistryLookupFromLegacy,\n} from '../../read/normalize.js';\nimport { stellarStateCallTypes } from '../../bridge/call-types.js';\nimport type { StellarStateServiceBase } from '../base.js';\n\ntype RegistryLookupBridge = StellarStateServiceBase['bridge'];\n\nasync function readRegistryLookup(\n bridge: RegistryLookupBridge,\n address: StellarAddress,\n): Promise<StellarRegistryLookup | undefined> {\n try {\n const value = await bridge.read<unknown>({\n type: stellarStateCallTypes.readRegistryLookup,\n address,\n });\n const lookup = normalizeRegistryLookup(value);\n if (lookup) {\n return lookup;\n }\n } catch {\n // Legacy states may not have $.registry.lookups yet.\n }\n let registered: unknown;\n let privateAddress: unknown;\n try {\n registered = await bridge.read<unknown>({\n type: stellarStateCallTypes.readStellarAddressRegistered,\n address,\n });\n } catch {\n registered = undefined;\n }\n try {\n privateAddress = await bridge.read<unknown>({\n type: stellarStateCallTypes.readCachedPrivateAddress,\n address,\n });\n } catch {\n privateAddress = undefined;\n }\n return normalizeRegistryLookupFromLegacy({\n address,\n registered,\n privateAddress,\n });\n}\n\nasync function readCachedPrivateAddress(\n bridge: RegistryLookupBridge,\n address: StellarAddress,\n): Promise<string | undefined> {\n const lookup = await readRegistryLookup(bridge, address);\n if (lookup?.privateAddressStpl1) {\n return lookup.privateAddressStpl1;\n }\n const value = await bridge.read<unknown>({\n type: stellarStateCallTypes.readCachedPrivateAddress,\n address,\n });\n return normalizeCachedPrivateAddress(value);\n}\n\nexport function createRegistryLookupReadMethods(context: StellarStateServiceBase) {\n const { bridge } = context;\n\n return {\n getRegistryLookup: (address: StellarAddress) => readRegistryLookup(bridge, address),\n\n async isStellarAddressRegistered(\n address: StellarAddress,\n ): Promise<boolean | undefined> {\n const lookup = await readRegistryLookup(bridge, address);\n if (lookup === undefined) {\n return undefined;\n }\n return lookup.status === 'registered';\n },\n\n getCachedPrivateAddress: (address: StellarAddress) =>\n readCachedPrivateAddress(bridge, address),\n };\n}\n","import type { StellarAddress, StellarRegistryLookup } from '../../../types.js';\nimport { stellarStateCallTypes } from '../../bridge/call-types.js';\nimport type { StellarStateServiceBase } from '../base.js';\n\nexport function createRegistryLookupWriteMethods(context: StellarStateServiceBase) {\n const { bridge } = context;\n\n async function invalidateRegistryLookup(address: StellarAddress): Promise<void> {\n return bridge.write({\n type: stellarStateCallTypes.invalidateRegistryLookup,\n address,\n });\n }\n\n return {\n saveRegistryLookup(lookup: StellarRegistryLookup): Promise<void> {\n return bridge.write({\n type: stellarStateCallTypes.saveRegistryLookup,\n lookup,\n });\n },\n\n saveRegisteredPrivateAddress(input: {\n address: StellarAddress;\n privateAddress: string;\n registered: boolean;\n }): Promise<void> {\n return bridge.write({\n type: stellarStateCallTypes.saveRegisteredPrivateAddress,\n address: input.address,\n privateAddress: input.privateAddress,\n registered: input.registered,\n });\n },\n\n invalidateRegistryLookup,\n\n invalidateRegisteredAddress(address: StellarAddress): Promise<void> {\n return invalidateRegistryLookup(address);\n },\n };\n}\n","import type { StellarStateServiceBase } from '../base.js';\nimport { createRegistryLookupReadMethods } from './lookup-read.js';\nimport { createRegistryLookupWriteMethods } from './lookup-write.js';\n\nexport function createRegistryLookupService(context: StellarStateServiceBase) {\n return {\n ...createRegistryLookupReadMethods(context),\n ...createRegistryLookupWriteMethods(context),\n };\n}\n","import type {\n StellarAddress,\n StellarWalletPrivateAddressRecord,\n} from '../../../types.js';\nimport {\n normalizeWalletDefaultPrivateAddressNonce,\n normalizeWalletPrivateAddressRecord,\n} from '../../read/normalize.js';\nimport { stellarStateCallTypes } from '../../bridge/call-types.js';\nimport type { StellarStateServiceBase } from '../base.js';\n\nexport function createWalletRecordMethods(context: StellarStateServiceBase) {\n const { bridge } = context;\n\n return {\n async getWalletPrivateAddressRecord(input: {\n owner: StellarAddress;\n nonce: string;\n }): Promise<StellarWalletPrivateAddressRecord | undefined> {\n const value = await bridge.read<unknown>({\n type: stellarStateCallTypes.readWalletPrivateAddressRecord,\n owner: input.owner,\n nonce: input.nonce,\n });\n return normalizeWalletPrivateAddressRecord(value);\n },\n\n saveWalletPrivateAddressRecord(\n record: StellarWalletPrivateAddressRecord,\n ): Promise<void> {\n return bridge.write({\n type: stellarStateCallTypes.saveWalletPrivateAddressRecord,\n record,\n });\n },\n\n async getWalletDefaultPrivateAddressNonce(\n owner: StellarAddress,\n ): Promise<string | undefined> {\n const value = await bridge.read<unknown>({\n type: stellarStateCallTypes.readWalletDefaultPrivateAddressNonce,\n owner,\n });\n return normalizeWalletDefaultPrivateAddressNonce(value);\n },\n\n setWalletDefaultPrivateAddressNonce(input: {\n owner: StellarAddress;\n nonce: string;\n }): Promise<void> {\n return bridge.write({\n type: stellarStateCallTypes.setWalletDefaultPrivateAddressNonce,\n owner: input.owner,\n nonce: input.nonce,\n });\n },\n };\n}\n","import type {\n StellarAddress,\n StellarWalletPrivateAddressScalar,\n} from '../../../types.js';\nimport { normalizeWalletPrivateAddressScalar } from '../../read/normalize.js';\nimport { stellarStateCallTypes } from '../../bridge/call-types.js';\nimport type { StellarStateServiceBase } from '../base.js';\n\nexport function createWalletScalarMethods(context: StellarStateServiceBase) {\n const { bridge } = context;\n\n return {\n async getWalletPrivateAddressScalar(input: {\n owner: StellarAddress;\n nonce: string;\n }): Promise<StellarWalletPrivateAddressScalar | undefined> {\n const value = await bridge.read<unknown>({\n type: stellarStateCallTypes.readWalletPrivateAddressScalar,\n owner: input.owner,\n nonce: input.nonce,\n });\n return normalizeWalletPrivateAddressScalar(value);\n },\n\n saveWalletPrivateAddressScalar(\n scalar: StellarWalletPrivateAddressScalar,\n ): Promise<void> {\n return bridge.write({\n type: stellarStateCallTypes.saveWalletPrivateAddressScalar,\n scalar,\n });\n },\n\n deleteWalletPrivateAddressScalar(input: {\n owner: StellarAddress;\n nonce: string;\n }): Promise<void> {\n return bridge.write({\n type: stellarStateCallTypes.deleteWalletPrivateAddressScalar,\n owner: input.owner,\n nonce: input.nonce,\n });\n },\n };\n}\n","import type { StellarStateServiceBase } from '../base.js';\nimport { createWalletRecordMethods } from './wallet-record-methods.js';\nimport { createWalletScalarMethods } from './wallet-scalar-methods.js';\n\nexport function createWalletAddressService(context: StellarStateServiceBase) {\n return {\n ...createWalletScalarMethods(context),\n ...createWalletRecordMethods(context),\n };\n}\n","import type { StateBridgeAdapter } from '@arcanetech/privacy-sdk-core/state';\nimport { StellarStateServiceBase } from './base.js';\nimport { createAssetsService } from './assets/index.js';\nimport { createDeliveriesService } from './deliveries/index.js';\nimport { createPoolEphemeralService } from './pool/ephemeral.js';\nimport { createPoolMerkleService } from './pool/merkle.js';\nimport { createRecordsService } from './records/index.js';\nimport { createRegistryLookupService } from './registry/lookup.js';\nimport { createWalletAddressService } from './registry/wallet-address.js';\n\nexport function composeStellarStateService(adapter: StateBridgeAdapter) {\n const base = new StellarStateServiceBase(adapter);\n\n return {\n bridge: base.bridge,\n ...createAssetsService(base),\n ...createRegistryLookupService(base),\n ...createWalletAddressService(base),\n ...createPoolMerkleService(base),\n ...createPoolEphemeralService(base),\n ...createDeliveriesService(base),\n ...createRecordsService(base),\n };\n}\n\nexport type ComposedStellarStateService = ReturnType<typeof composeStellarStateService>;\n","import type { StateBridgeAdapter } from '@arcanetech/privacy-sdk-core/state';\nimport type { StellarStorageAdapter } from '../../types.js';\nimport {\n composeStellarStateService,\n type ComposedStellarStateService,\n} from './compose.js';\n\nexport type StellarStateService = ComposedStellarStateService;\n\nexport function createStellarStateService(\n adapter: StateBridgeAdapter,\n): StellarStateService {\n return composeStellarStateService(adapter);\n}\n\nexport function createStellarStorageAdapterFromState(\n state: StellarStateService,\n): StellarStorageAdapter {\n return {\n listPrivateRecords: (filter) => state.listPrivateRecords(filter),\n savePrivateRecords: (records) => state.savePrivateRecords(records),\n markPrivateRecordsUsed: (records) => state.markPrivateRecordsUsed(records),\n };\n}\n"],"mappings":"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","names":["registered","z","z","z","readRecordValue","z","z","z","z","z","z","z","z","z","z","z","registered","z","z","z","z","readRecordValue","readRecordValue","isMissingStatePathError","registered"]}
|