@lightconexyz/lightcone-sdk 0.8.2 → 0.8.3-rc.44

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.
@@ -22,10 +22,10 @@ exports.SOL_RESERVE_WITH_EXISTING_ACCOUNT_LAMPORTS = 1000000n;
22
22
  /** Maximum exact non-negative lamport value representable by Solana's u64 fields. */
23
23
  const MAX_SOLANA_LAMPORTS = 0xffffffffffffffffn;
24
24
  /** Derive fail-closed availability and type an insufficient native reserve as fee funding. */
25
- function solBalanceAvailability(components, costs) {
25
+ function solBalanceAvailability(breakdown, costs) {
26
26
  for (const [label, value] of [
27
- ["native SOL", components.nativeLamports],
28
- ["canonical WSOL", components.canonicalWsolLamports],
27
+ ["native SOL", breakdown.nativeLamports],
28
+ ["canonical WSOL", breakdown.canonicalWsolLamports],
29
29
  ]) {
30
30
  if (typeof value !== "bigint" || value < 0n || value > MAX_SOLANA_LAMPORTS) {
31
31
  throw error_1.SdkError.validation(`${label} must fit the non-negative u64 lamport range`);
@@ -39,7 +39,7 @@ function solBalanceAvailability(components, costs) {
39
39
  throw error_1.SdkError.validation(`${label} must fit the non-negative u64 lamport range`);
40
40
  }
41
41
  }
42
- const displayedLamports = components.nativeLamports + components.canonicalWsolLamports;
42
+ const displayedLamports = breakdown.nativeLamports + breakdown.canonicalWsolLamports;
43
43
  if (displayedLamports > MAX_SOLANA_LAMPORTS) {
44
44
  throw error_1.SdkError.validation("displayed SOL exceeds the transaction u64 range");
45
45
  }
@@ -55,11 +55,11 @@ function solBalanceAvailability(components, costs) {
55
55
  : liveCosts > floor
56
56
  ? liveCosts
57
57
  : floor;
58
- if (components.nativeLamports < reserveLamports) {
59
- throw error_1.SdkError.insufficientSolForTransactionFees(components.nativeLamports, reserveLamports);
58
+ if (breakdown.nativeLamports < reserveLamports) {
59
+ throw error_1.SdkError.insufficientSolForTransactionFees(breakdown.nativeLamports, reserveLamports);
60
60
  }
61
61
  return {
62
- components,
62
+ breakdown,
63
63
  displayedLamports,
64
64
  reserveLamports,
65
65
  spendableLamports: displayedLamports - reserveLamports,
@@ -69,17 +69,17 @@ function solBalanceAvailability(components, costs) {
69
69
  * Return unwrap-all availability with the live fee as its entire reserve.
70
70
  *
71
71
  * This function rejects costs that include sponsorship, account creation, or
72
- * upfront rent. It rejects malformed or out-of-range components and costs. It
72
+ * upfront rent. It rejects malformed or out-of-range balances and costs. It
73
73
  * rejects a displayed-balance sum outside Solana's unsigned 64-bit range. Native
74
74
  * SOL must fund the fee without relying on lamports that a later `CloseAccount`
75
75
  * instruction may transfer. The ordinary persistent-account floor does not apply
76
76
  * because unwrap-all removes that account. An insufficient native fee balance
77
77
  * returns the typed transaction-fee error.
78
78
  */
79
- function unwrapAllSolBalanceAvailability(components, costs) {
79
+ function unwrapAllSolBalanceAvailability(breakdown, costs) {
80
80
  for (const [label, value] of [
81
- ["native SOL", components.nativeLamports],
82
- ["canonical WSOL", components.canonicalWsolLamports],
81
+ ["native SOL", breakdown.nativeLamports],
82
+ ["canonical WSOL", breakdown.canonicalWsolLamports],
83
83
  ]) {
84
84
  if (typeof value !== "bigint" || value < 0n || value > MAX_SOLANA_LAMPORTS) {
85
85
  throw error_1.SdkError.validation(`${label} must fit the non-negative u64 lamport range`);
@@ -98,15 +98,15 @@ function unwrapAllSolBalanceAvailability(components, costs) {
98
98
  costs.sponsored) {
99
99
  throw error_1.SdkError.validation("unwrap-all costs must be unsponsored with no upfront rent or account creation");
100
100
  }
101
- const displayedLamports = components.nativeLamports + components.canonicalWsolLamports;
101
+ const displayedLamports = breakdown.nativeLamports + breakdown.canonicalWsolLamports;
102
102
  if (displayedLamports > MAX_SOLANA_LAMPORTS) {
103
103
  throw error_1.SdkError.validation("displayed SOL exceeds the transaction u64 range");
104
104
  }
105
- if (components.nativeLamports < costs.feeLamports) {
106
- throw error_1.SdkError.insufficientSolForTransactionFees(components.nativeLamports, costs.feeLamports);
105
+ if (breakdown.nativeLamports < costs.feeLamports) {
106
+ throw error_1.SdkError.insufficientSolForTransactionFees(breakdown.nativeLamports, costs.feeLamports);
107
107
  }
108
108
  return {
109
- components,
109
+ breakdown,
110
110
  displayedLamports,
111
111
  reserveLamports: costs.feeLamports,
112
112
  spendableLamports: displayedLamports - costs.feeLamports,
@@ -116,9 +116,9 @@ function unwrapAllSolBalanceAvailability(components, costs) {
116
116
  * Mutable application-owned wallet balance state.
117
117
  *
118
118
  * The default instance is uninitialized. A complete REST or WebSocket snapshot
119
- * establishes its wallet baseline; later component events must match that wallet
119
+ * establishes its wallet baseline; later balance events must match that wallet
120
120
  * and carry absolute values. Native SOL never enters the sparse SPL mint map, and
121
- * complete cross-component snapshots may replace `contextSlot` with a lower slot.
121
+ * complete snapshots may replace `contextSlot` with a lower slot.
122
122
  * Map containers are copied, but mutable balance objects are retained by reference;
123
123
  * treat payload entries as immutable after applying them.
124
124
  */
@@ -133,26 +133,37 @@ class WalletDepositBalancesState {
133
133
  nativeSolBalance;
134
134
  /**
135
135
  * Initialize or wholesale-replace state from a complete REST snapshot.
136
- * The caller supplies the wallet omitted by REST; prior slots are not compared.
136
+ * The caller supplies the wallet omitted by REST. When `minimumSnapshotSlot`
137
+ * is present, a lower complete snapshot is ignored without mutation; otherwise
138
+ * prior slots are not compared.
137
139
  * Unlike WebSocket parsing, this TypeScript REST boundary performs no runtime
138
140
  * shape validation. Malformed exact values fail when a derived method scales them.
139
141
  */
140
- applyRestSnapshot(walletAddress, snapshot) {
142
+ applyRestSnapshot(walletAddress, snapshot, minimumSnapshotSlot) {
143
+ if (minimumSnapshotSlot !== undefined &&
144
+ snapshot.context_slot < minimumSnapshotSlot) {
145
+ return { kind: "ignored" };
146
+ }
141
147
  this.replace(walletAddress, snapshot.context_slot, snapshot.balances, snapshot.native_sol_balance);
142
148
  return { kind: "applied" };
143
149
  }
144
150
  /**
145
151
  * Apply the wallet event state machine.
146
152
  *
147
- * Complete snapshots always replace state. Matching component events replace
148
- * one absolute value, zero SPL removes its mint, and status, pre-initialization,
149
- * or wrong-wallet events return `ignored` without mutation.
153
+ * Complete snapshots replace state unless they are below an optional minimum
154
+ * snapshot slot. The floor never applies to incremental balance or status events.
155
+ * Matching balance events replace one absolute value, zero SPL removes its
156
+ * mint, and status, pre-initialization, or wrong-wallet events return `ignored`.
150
157
  */
151
- applyEvent(event) {
158
+ applyEvent(event, minimumSnapshotSlot) {
152
159
  switch (event.event_type) {
153
160
  case "wallet_deposit_balance_snapshot":
161
+ if (minimumSnapshotSlot !== undefined &&
162
+ event.context_slot < minimumSnapshotSlot) {
163
+ return { kind: "ignored" };
164
+ }
154
165
  // Complete snapshots are authoritative even when their lower
155
- // cross-component slot trails a previously observed update.
166
+ // snapshot slot trails a previously observed update.
156
167
  this.replace(event.wallet_address, event.context_slot, event.balances, event.native_sol_balance);
157
168
  return { kind: "applied" };
158
169
  case "wallet_deposit_balance_update":
@@ -197,8 +208,8 @@ class WalletDepositBalancesState {
197
208
  : 0n;
198
209
  return formatLamports(native + wrappedLamports);
199
210
  }
200
- /** Return exact native and canonical WSOL components for transaction planning. */
201
- solComponents() {
211
+ /** Return the exact native and canonical WSOL breakdown for transaction planning. */
212
+ solBalanceBreakdown() {
202
213
  let nativeLamports;
203
214
  let canonicalWsolLamports;
204
215
  try {
@@ -206,11 +217,11 @@ class WalletDepositBalancesState {
206
217
  canonicalWsolLamports = this.canonicalWsolLamports();
207
218
  }
208
219
  catch (error) {
209
- throw error_1.SdkError.validation(`invalid SOL balance component: ${error instanceof Error ? error.message : String(error)}`);
220
+ throw error_1.SdkError.validation(`invalid SOL balance: ${error instanceof Error ? error.message : String(error)}`);
210
221
  }
211
222
  if (nativeLamports > MAX_SOLANA_LAMPORTS ||
212
223
  canonicalWsolLamports > MAX_SOLANA_LAMPORTS) {
213
- throw error_1.SdkError.validation("SOL component exceeds the transaction u64 range");
224
+ throw error_1.SdkError.validation("SOL balance exceeds the transaction u64 range");
214
225
  }
215
226
  return { nativeLamports, canonicalWsolLamports };
216
227
  }
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/domain/position/state.ts"],"names":[],"mappings":"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","sourcesContent":["import Decimal from \"decimal.js\";\nimport { SdkError } from \"../../error\";\nimport { exactScaledInteger } from \"../../shared\";\nimport type { PubkeyStr } from \"../../shared\";\nimport type {\n DepositTokenBalance,\n DepositTokenBalancesSnapshot,\n WalletDepositBalancesEvent,\n} from \"./index\";\n\n/**\n * Canonical WSOL mint under Solana's legacy SPL Token Program (“Tokenkeg”).\n * ATA derivation stays pinned to Tokenkeg rather than Token-2022 so state and\n * transaction planning address the protocol's one canonical account.\n */\nexport const WRAPPED_SOL_MINT =\n \"So11111111111111111111111111111111111111112\" as PubkeyStr;\n\n/** Unsponsored native reserve floor, in lamports, when canonical ATA creation is required. */\nexport const SOL_RESERVE_WITH_ACCOUNT_CREATION_LAMPORTS = 3_500_000n;\n/** Unsponsored native reserve floor, in lamports, when canonical WSOL already exists. */\nexport const SOL_RESERVE_WITH_EXISTING_ACCOUNT_LAMPORTS = 1_000_000n;\n/** Maximum exact non-negative lamport value representable by Solana's u64 fields. */\nconst MAX_SOLANA_LAMPORTS = 0xffff_ffff_ffff_ffffn;\n\n/** Exact components behind the single displayed SOL asset. */\nexport interface SolBalanceComponents {\n /** Lamports held by the Trading Wallet system account. */\n nativeLamports: bigint;\n /** Token amount in the Trading Wallet's persistent canonical WSOL ATA. */\n canonicalWsolLamports: bigint;\n}\n\n/**\n * Stores live chain costs used to derive transaction funding requirements.\n *\n * {@link solBalanceAvailability} applies ordinary safety floors.\n * {@link unwrapAllSolBalanceAvailability} rejects account creation, upfront rent,\n * and sponsorship, then uses only `feeLamports` as the unwrap-all reserve.\n */\nexport interface SolActionCosts {\n /** Live `getFeeForMessage` result, in lamports. */\n feeLamports: bigint;\n /** Rent funded up front, even when a temporary account refunds it later. */\n upfrontRentLamports: bigint;\n /** Whether this transaction must create the persistent canonical WSOL ATA. */\n createsCanonicalWsolAccount: boolean;\n /** Exact public sponsorship capability supplied by the caller. */\n sponsored: boolean;\n}\n\n/** Action-specific displayed, reserved, and spendable SOL values. */\nexport interface SolBalanceAvailability {\n /** Separately authoritative native and canonical WSOL balances. */\n components: SolBalanceComponents;\n /** Sum of both components in lamports, before reserve. */\n displayedLamports: bigint;\n /** Native lamports withheld for live costs and any action-specific safety floor. */\n reserveLamports: bigint;\n /** Displayed lamports available to this action after reserve. */\n spendableLamports: bigint;\n}\n\n/** Derive fail-closed availability and type an insufficient native reserve as fee funding. */\nexport function solBalanceAvailability(\n components: SolBalanceComponents,\n costs: SolActionCosts\n): SolBalanceAvailability {\n for (const [label, value] of [\n [\"native SOL\", components.nativeLamports],\n [\"canonical WSOL\", components.canonicalWsolLamports],\n ] as const) {\n if (typeof value !== \"bigint\" || value < 0n || value > MAX_SOLANA_LAMPORTS) {\n throw SdkError.validation(`${label} must fit the non-negative u64 lamport range`);\n }\n }\n for (const [label, value] of [\n [\"transaction fee\", costs.feeLamports],\n [\"upfront rent\", costs.upfrontRentLamports],\n ] as const) {\n if (typeof value !== \"bigint\" || value < 0n || value > MAX_SOLANA_LAMPORTS) {\n throw SdkError.validation(`${label} must fit the non-negative u64 lamport range`);\n }\n }\n const displayedLamports =\n components.nativeLamports + components.canonicalWsolLamports;\n if (displayedLamports > MAX_SOLANA_LAMPORTS) {\n throw SdkError.validation(\"displayed SOL exceeds the transaction u64 range\");\n }\n const liveCosts = costs.feeLamports + costs.upfrontRentLamports;\n if (liveCosts > MAX_SOLANA_LAMPORTS) {\n throw SdkError.validation(\"combined transaction costs must fit u64 lamports\");\n }\n const floor = costs.createsCanonicalWsolAccount\n ? SOL_RESERVE_WITH_ACCOUNT_CREATION_LAMPORTS\n : SOL_RESERVE_WITH_EXISTING_ACCOUNT_LAMPORTS;\n const reserveLamports = costs.sponsored\n ? 0n\n : liveCosts > floor\n ? liveCosts\n : floor;\n if (components.nativeLamports < reserveLamports) {\n throw SdkError.insufficientSolForTransactionFees(\n components.nativeLamports,\n reserveLamports\n );\n }\n return {\n components,\n displayedLamports,\n reserveLamports,\n spendableLamports: displayedLamports - reserveLamports,\n };\n}\n\n/**\n * Return unwrap-all availability with the live fee as its entire reserve.\n *\n * This function rejects costs that include sponsorship, account creation, or\n * upfront rent. It rejects malformed or out-of-range components and costs. It\n * rejects a displayed-balance sum outside Solana's unsigned 64-bit range. Native\n * SOL must fund the fee without relying on lamports that a later `CloseAccount`\n * instruction may transfer. The ordinary persistent-account floor does not apply\n * because unwrap-all removes that account. An insufficient native fee balance\n * returns the typed transaction-fee error.\n */\nexport function unwrapAllSolBalanceAvailability(\n components: SolBalanceComponents,\n costs: SolActionCosts\n): SolBalanceAvailability {\n for (const [label, value] of [\n [\"native SOL\", components.nativeLamports],\n [\"canonical WSOL\", components.canonicalWsolLamports],\n ] as const) {\n if (typeof value !== \"bigint\" || value < 0n || value > MAX_SOLANA_LAMPORTS) {\n throw SdkError.validation(`${label} must fit the non-negative u64 lamport range`);\n }\n }\n for (const [label, value] of [\n [\"transaction fee\", costs.feeLamports],\n [\"upfront rent\", costs.upfrontRentLamports],\n ] as const) {\n if (typeof value !== \"bigint\" || value < 0n || value > MAX_SOLANA_LAMPORTS) {\n throw SdkError.validation(`${label} must fit the non-negative u64 lamport range`);\n }\n }\n if (\n costs.upfrontRentLamports !== 0n ||\n costs.createsCanonicalWsolAccount ||\n costs.sponsored\n ) {\n throw SdkError.validation(\n \"unwrap-all costs must be unsponsored with no upfront rent or account creation\"\n );\n }\n const displayedLamports =\n components.nativeLamports + components.canonicalWsolLamports;\n if (displayedLamports > MAX_SOLANA_LAMPORTS) {\n throw SdkError.validation(\"displayed SOL exceeds the transaction u64 range\");\n }\n if (components.nativeLamports < costs.feeLamports) {\n throw SdkError.insufficientSolForTransactionFees(\n components.nativeLamports,\n costs.feeLamports\n );\n }\n return {\n components,\n displayedLamports,\n reserveLamports: costs.feeLamports,\n spendableLamports: displayedLamports - costs.feeLamports,\n };\n}\n\n/** Whether an event was accepted by, or rejected by, its lifecycle guard. */\nexport type WalletDepositBalancesApplyResult =\n | { kind: \"applied\" }\n | { kind: \"ignored\" }\n | { kind: \"rejected\" };\n\n/**\n * Mutable application-owned wallet balance state.\n *\n * The default instance is uninitialized. A complete REST or WebSocket snapshot\n * establishes its wallet baseline; later component events must match that wallet\n * and carry absolute values. Native SOL never enters the sparse SPL mint map, and\n * complete cross-component snapshots may replace `contextSlot` with a lower slot.\n * Map containers are copied, but mutable balance objects are retained by reference;\n * treat payload entries as immutable after applying them.\n */\nexport class WalletDepositBalancesState {\n /** Wallet owning the current baseline, or `undefined` before initialization. */\n walletAddress: PubkeyStr | undefined;\n /** Slot of the last accepted event, not a globally monotonic stream version. */\n contextSlot: number | undefined;\n /** Sparse mint-keyed SPL balances; explicit zero updates remove their mint. */\n readonly balances = new Map<PubkeyStr, DepositTokenBalance>();\n /** Exact nine-decimal native SOL, separate from `balances`. */\n nativeSolBalance: string | undefined;\n\n /**\n * Initialize or wholesale-replace state from a complete REST snapshot.\n * The caller supplies the wallet omitted by REST; prior slots are not compared.\n * Unlike WebSocket parsing, this TypeScript REST boundary performs no runtime\n * shape validation. Malformed exact values fail when a derived method scales them.\n */\n applyRestSnapshot(\n walletAddress: PubkeyStr,\n snapshot: DepositTokenBalancesSnapshot\n ): WalletDepositBalancesApplyResult {\n this.replace(\n walletAddress,\n snapshot.context_slot,\n snapshot.balances,\n snapshot.native_sol_balance\n );\n return { kind: \"applied\" };\n }\n\n /**\n * Apply the wallet event state machine.\n *\n * Complete snapshots always replace state. Matching component events replace\n * one absolute value, zero SPL removes its mint, and status, pre-initialization,\n * or wrong-wallet events return `ignored` without mutation.\n */\n applyEvent(event: WalletDepositBalancesEvent): WalletDepositBalancesApplyResult {\n switch (event.event_type) {\n case \"wallet_deposit_balance_snapshot\":\n // Complete snapshots are authoritative even when their lower\n // cross-component slot trails a previously observed update.\n this.replace(\n event.wallet_address,\n event.context_slot,\n event.balances,\n event.native_sol_balance\n );\n return { kind: \"applied\" };\n case \"wallet_deposit_balance_update\":\n if (!this.matchesInitializedWallet(event.wallet_address)) {\n return { kind: \"ignored\" };\n }\n let isZero: boolean;\n try {\n isZero = isZeroTokenAmount(event.balance.idle);\n } catch {\n return { kind: \"rejected\" };\n }\n if (isZero) {\n this.balances.delete(event.balance.mint);\n } else {\n this.balances.set(event.balance.mint, event.balance);\n }\n this.contextSlot = event.context_slot;\n return { kind: \"applied\" };\n case \"wallet_native_sol_balance_update\":\n if (!this.matchesInitializedWallet(event.wallet_address)) {\n return { kind: \"ignored\" };\n }\n this.nativeSolBalance = event.native_sol_balance;\n this.contextSlot = event.context_slot;\n return { kind: \"applied\" };\n case \"wallet_deposit_balance_status\":\n return { kind: \"ignored\" };\n }\n }\n\n /**\n * Return exact native SOL plus canonical WSOL with nine fractional digits.\n * Uses arbitrary-width integer arithmetic and never merges the stored assets.\n */\n combinedSolBalance(): string {\n const native = this.nativeSolLamports();\n const wrapped = this.balances.get(WRAPPED_SOL_MINT);\n const wrappedLamports = wrapped\n ? exactScaledInteger(wrapped.idle, 9)\n : 0n;\n return formatLamports(native + wrappedLamports);\n }\n\n /** Return exact native and canonical WSOL components for transaction planning. */\n solComponents(): SolBalanceComponents {\n let nativeLamports: bigint;\n let canonicalWsolLamports: bigint;\n try {\n nativeLamports = this.nativeSolLamports();\n canonicalWsolLamports = this.canonicalWsolLamports();\n } catch (error) {\n throw SdkError.validation(\n `invalid SOL balance component: ${error instanceof Error ? error.message : String(error)}`\n );\n }\n if (\n nativeLamports > MAX_SOLANA_LAMPORTS ||\n canonicalWsolLamports > MAX_SOLANA_LAMPORTS\n ) {\n throw SdkError.validation(\"SOL component exceeds the transaction u64 range\");\n }\n return { nativeLamports, canonicalWsolLamports };\n }\n\n /** Scale cached native SOL exactly to lamports; requires initialized state. */\n nativeSolLamports(): bigint {\n if (this.nativeSolBalance === undefined) {\n throw new Error(\"wallet balance state is not initialized\");\n }\n return exactScaledInteger(this.nativeSolBalance, 9);\n }\n\n /** Scale the canonical WSOL idle balance exactly to lamports. */\n canonicalWsolLamports(): bigint {\n const wrapped = this.balances.get(WRAPPED_SOL_MINT);\n return wrapped ? exactScaledInteger(wrapped.idle, 9) : 0n;\n }\n\n private matchesInitializedWallet(walletAddress: PubkeyStr): boolean {\n return (\n this.walletAddress === walletAddress &&\n this.contextSlot !== undefined &&\n this.nativeSolBalance !== undefined\n );\n }\n\n private replace(\n walletAddress: PubkeyStr,\n contextSlot: number,\n balances: Record<PubkeyStr, DepositTokenBalance>,\n nativeSolBalance: string\n ): void {\n // Own the map lifecycle while retaining payload objects by reference. Callers\n // must treat balance records as immutable after handing them to state.\n this.walletAddress = walletAddress;\n this.contextSlot = contextSlot;\n this.balances.clear();\n for (const balance of Object.values(balances)) {\n this.balances.set(balance.mint, balance);\n }\n this.nativeSolBalance = nativeSolBalance;\n }\n}\n\nfunction formatLamports(value: bigint): string {\n // Integer division restores fixed-scale SOL text without floating-point loss.\n const scale = 1_000_000_000n;\n const whole = value / scale;\n const fraction = (value % scale).toString().padStart(9, \"0\");\n return `${whole}.${fraction}`;\n}\n\n/** Detect explicit zero without imposing SOL's nine-decimal scale on SPL tokens. */\nfunction isZeroTokenAmount(value: string): boolean {\n const amount = new Decimal(value);\n if (!amount.isFinite() || amount.isNegative()) {\n throw new Error(`invalid deposit-token balance: ${value}`);\n }\n return amount.isZero();\n}\n"]}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/domain/position/state.ts"],"names":[],"mappings":"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","sourcesContent":["import Decimal from \"decimal.js\";\nimport { SdkError } from \"../../error\";\nimport { exactScaledInteger } from \"../../shared\";\nimport type { PubkeyStr } from \"../../shared\";\nimport type {\n DepositTokenBalance,\n DepositTokenBalancesSnapshot,\n WalletDepositBalancesEvent,\n} from \"./index\";\n\n/**\n * Canonical WSOL mint under Solana's legacy SPL Token Program (“Tokenkeg”).\n * ATA derivation stays pinned to Tokenkeg rather than Token-2022 so state and\n * transaction planning address the protocol's one canonical account.\n */\nexport const WRAPPED_SOL_MINT =\n \"So11111111111111111111111111111111111111112\" as PubkeyStr;\n\n/** Unsponsored native reserve floor, in lamports, when canonical ATA creation is required. */\nexport const SOL_RESERVE_WITH_ACCOUNT_CREATION_LAMPORTS = 3_500_000n;\n/** Unsponsored native reserve floor, in lamports, when canonical WSOL already exists. */\nexport const SOL_RESERVE_WITH_EXISTING_ACCOUNT_LAMPORTS = 1_000_000n;\n/** Maximum exact non-negative lamport value representable by Solana's u64 fields. */\nconst MAX_SOLANA_LAMPORTS = 0xffff_ffff_ffff_ffffn;\n\n/** Exact native and canonical WSOL breakdown behind the displayed SOL asset. */\nexport interface SolBalanceBreakdown {\n /** Lamports held by the Trading Wallet system account. */\n nativeLamports: bigint;\n /** Token amount in the Trading Wallet's persistent canonical WSOL ATA. */\n canonicalWsolLamports: bigint;\n}\n\n/**\n * Stores live chain costs used to derive transaction funding requirements.\n *\n * {@link solBalanceAvailability} applies ordinary safety floors.\n * {@link unwrapAllSolBalanceAvailability} rejects account creation, upfront rent,\n * and sponsorship, then uses only `feeLamports` as the unwrap-all reserve.\n */\nexport interface SolActionCosts {\n /** Live `getFeeForMessage` result, in lamports. */\n feeLamports: bigint;\n /** Rent funded up front, even when a temporary account refunds it later. */\n upfrontRentLamports: bigint;\n /** Whether this transaction must create the persistent canonical WSOL ATA. */\n createsCanonicalWsolAccount: boolean;\n /** Exact public sponsorship capability supplied by the caller. */\n sponsored: boolean;\n}\n\n/** Action-specific displayed, reserved, and spendable SOL values. */\nexport interface SolBalanceAvailability {\n /** Separately authoritative native and canonical WSOL balances. */\n breakdown: SolBalanceBreakdown;\n /** Sum of both balances in lamports, before reserve. */\n displayedLamports: bigint;\n /** Native lamports withheld for live costs and any action-specific safety floor. */\n reserveLamports: bigint;\n /** Displayed lamports available to this action after reserve. */\n spendableLamports: bigint;\n}\n\n/** Derive fail-closed availability and type an insufficient native reserve as fee funding. */\nexport function solBalanceAvailability(\n breakdown: SolBalanceBreakdown,\n costs: SolActionCosts\n): SolBalanceAvailability {\n for (const [label, value] of [\n [\"native SOL\", breakdown.nativeLamports],\n [\"canonical WSOL\", breakdown.canonicalWsolLamports],\n ] as const) {\n if (typeof value !== \"bigint\" || value < 0n || value > MAX_SOLANA_LAMPORTS) {\n throw SdkError.validation(`${label} must fit the non-negative u64 lamport range`);\n }\n }\n for (const [label, value] of [\n [\"transaction fee\", costs.feeLamports],\n [\"upfront rent\", costs.upfrontRentLamports],\n ] as const) {\n if (typeof value !== \"bigint\" || value < 0n || value > MAX_SOLANA_LAMPORTS) {\n throw SdkError.validation(`${label} must fit the non-negative u64 lamport range`);\n }\n }\n const displayedLamports =\n breakdown.nativeLamports + breakdown.canonicalWsolLamports;\n if (displayedLamports > MAX_SOLANA_LAMPORTS) {\n throw SdkError.validation(\"displayed SOL exceeds the transaction u64 range\");\n }\n const liveCosts = costs.feeLamports + costs.upfrontRentLamports;\n if (liveCosts > MAX_SOLANA_LAMPORTS) {\n throw SdkError.validation(\"combined transaction costs must fit u64 lamports\");\n }\n const floor = costs.createsCanonicalWsolAccount\n ? SOL_RESERVE_WITH_ACCOUNT_CREATION_LAMPORTS\n : SOL_RESERVE_WITH_EXISTING_ACCOUNT_LAMPORTS;\n const reserveLamports = costs.sponsored\n ? 0n\n : liveCosts > floor\n ? liveCosts\n : floor;\n if (breakdown.nativeLamports < reserveLamports) {\n throw SdkError.insufficientSolForTransactionFees(\n breakdown.nativeLamports,\n reserveLamports\n );\n }\n return {\n breakdown,\n displayedLamports,\n reserveLamports,\n spendableLamports: displayedLamports - reserveLamports,\n };\n}\n\n/**\n * Return unwrap-all availability with the live fee as its entire reserve.\n *\n * This function rejects costs that include sponsorship, account creation, or\n * upfront rent. It rejects malformed or out-of-range balances and costs. It\n * rejects a displayed-balance sum outside Solana's unsigned 64-bit range. Native\n * SOL must fund the fee without relying on lamports that a later `CloseAccount`\n * instruction may transfer. The ordinary persistent-account floor does not apply\n * because unwrap-all removes that account. An insufficient native fee balance\n * returns the typed transaction-fee error.\n */\nexport function unwrapAllSolBalanceAvailability(\n breakdown: SolBalanceBreakdown,\n costs: SolActionCosts\n): SolBalanceAvailability {\n for (const [label, value] of [\n [\"native SOL\", breakdown.nativeLamports],\n [\"canonical WSOL\", breakdown.canonicalWsolLamports],\n ] as const) {\n if (typeof value !== \"bigint\" || value < 0n || value > MAX_SOLANA_LAMPORTS) {\n throw SdkError.validation(`${label} must fit the non-negative u64 lamport range`);\n }\n }\n for (const [label, value] of [\n [\"transaction fee\", costs.feeLamports],\n [\"upfront rent\", costs.upfrontRentLamports],\n ] as const) {\n if (typeof value !== \"bigint\" || value < 0n || value > MAX_SOLANA_LAMPORTS) {\n throw SdkError.validation(`${label} must fit the non-negative u64 lamport range`);\n }\n }\n if (\n costs.upfrontRentLamports !== 0n ||\n costs.createsCanonicalWsolAccount ||\n costs.sponsored\n ) {\n throw SdkError.validation(\n \"unwrap-all costs must be unsponsored with no upfront rent or account creation\"\n );\n }\n const displayedLamports =\n breakdown.nativeLamports + breakdown.canonicalWsolLamports;\n if (displayedLamports > MAX_SOLANA_LAMPORTS) {\n throw SdkError.validation(\"displayed SOL exceeds the transaction u64 range\");\n }\n if (breakdown.nativeLamports < costs.feeLamports) {\n throw SdkError.insufficientSolForTransactionFees(\n breakdown.nativeLamports,\n costs.feeLamports\n );\n }\n return {\n breakdown,\n displayedLamports,\n reserveLamports: costs.feeLamports,\n spendableLamports: displayedLamports - costs.feeLamports,\n };\n}\n\n/** Whether an event was accepted by, or rejected by, its lifecycle guard. */\nexport type WalletDepositBalancesApplyResult =\n | { kind: \"applied\" }\n | { kind: \"ignored\" }\n | { kind: \"rejected\" };\n\n/**\n * Mutable application-owned wallet balance state.\n *\n * The default instance is uninitialized. A complete REST or WebSocket snapshot\n * establishes its wallet baseline; later balance events must match that wallet\n * and carry absolute values. Native SOL never enters the sparse SPL mint map, and\n * complete snapshots may replace `contextSlot` with a lower slot.\n * Map containers are copied, but mutable balance objects are retained by reference;\n * treat payload entries as immutable after applying them.\n */\nexport class WalletDepositBalancesState {\n /** Wallet owning the current baseline, or `undefined` before initialization. */\n walletAddress: PubkeyStr | undefined;\n /** Slot of the last accepted event, not a globally monotonic stream version. */\n contextSlot: number | undefined;\n /** Sparse mint-keyed SPL balances; explicit zero updates remove their mint. */\n readonly balances = new Map<PubkeyStr, DepositTokenBalance>();\n /** Exact nine-decimal native SOL, separate from `balances`. */\n nativeSolBalance: string | undefined;\n\n /**\n * Initialize or wholesale-replace state from a complete REST snapshot.\n * The caller supplies the wallet omitted by REST. When `minimumSnapshotSlot`\n * is present, a lower complete snapshot is ignored without mutation; otherwise\n * prior slots are not compared.\n * Unlike WebSocket parsing, this TypeScript REST boundary performs no runtime\n * shape validation. Malformed exact values fail when a derived method scales them.\n */\n applyRestSnapshot(\n walletAddress: PubkeyStr,\n snapshot: DepositTokenBalancesSnapshot,\n minimumSnapshotSlot?: number\n ): WalletDepositBalancesApplyResult {\n if (\n minimumSnapshotSlot !== undefined &&\n snapshot.context_slot < minimumSnapshotSlot\n ) {\n return { kind: \"ignored\" };\n }\n this.replace(\n walletAddress,\n snapshot.context_slot,\n snapshot.balances,\n snapshot.native_sol_balance\n );\n return { kind: \"applied\" };\n }\n\n /**\n * Apply the wallet event state machine.\n *\n * Complete snapshots replace state unless they are below an optional minimum\n * snapshot slot. The floor never applies to incremental balance or status events.\n * Matching balance events replace one absolute value, zero SPL removes its\n * mint, and status, pre-initialization, or wrong-wallet events return `ignored`.\n */\n applyEvent(\n event: WalletDepositBalancesEvent,\n minimumSnapshotSlot?: number\n ): WalletDepositBalancesApplyResult {\n switch (event.event_type) {\n case \"wallet_deposit_balance_snapshot\":\n if (\n minimumSnapshotSlot !== undefined &&\n event.context_slot < minimumSnapshotSlot\n ) {\n return { kind: \"ignored\" };\n }\n // Complete snapshots are authoritative even when their lower\n // snapshot slot trails a previously observed update.\n this.replace(\n event.wallet_address,\n event.context_slot,\n event.balances,\n event.native_sol_balance\n );\n return { kind: \"applied\" };\n case \"wallet_deposit_balance_update\":\n if (!this.matchesInitializedWallet(event.wallet_address)) {\n return { kind: \"ignored\" };\n }\n let isZero: boolean;\n try {\n isZero = isZeroTokenAmount(event.balance.idle);\n } catch {\n return { kind: \"rejected\" };\n }\n if (isZero) {\n this.balances.delete(event.balance.mint);\n } else {\n this.balances.set(event.balance.mint, event.balance);\n }\n this.contextSlot = event.context_slot;\n return { kind: \"applied\" };\n case \"wallet_native_sol_balance_update\":\n if (!this.matchesInitializedWallet(event.wallet_address)) {\n return { kind: \"ignored\" };\n }\n this.nativeSolBalance = event.native_sol_balance;\n this.contextSlot = event.context_slot;\n return { kind: \"applied\" };\n case \"wallet_deposit_balance_status\":\n return { kind: \"ignored\" };\n }\n }\n\n /**\n * Return exact native SOL plus canonical WSOL with nine fractional digits.\n * Uses arbitrary-width integer arithmetic and never merges the stored assets.\n */\n combinedSolBalance(): string {\n const native = this.nativeSolLamports();\n const wrapped = this.balances.get(WRAPPED_SOL_MINT);\n const wrappedLamports = wrapped\n ? exactScaledInteger(wrapped.idle, 9)\n : 0n;\n return formatLamports(native + wrappedLamports);\n }\n\n /** Return the exact native and canonical WSOL breakdown for transaction planning. */\n solBalanceBreakdown(): SolBalanceBreakdown {\n let nativeLamports: bigint;\n let canonicalWsolLamports: bigint;\n try {\n nativeLamports = this.nativeSolLamports();\n canonicalWsolLamports = this.canonicalWsolLamports();\n } catch (error) {\n throw SdkError.validation(\n `invalid SOL balance: ${error instanceof Error ? error.message : String(error)}`\n );\n }\n if (\n nativeLamports > MAX_SOLANA_LAMPORTS ||\n canonicalWsolLamports > MAX_SOLANA_LAMPORTS\n ) {\n throw SdkError.validation(\"SOL balance exceeds the transaction u64 range\");\n }\n return { nativeLamports, canonicalWsolLamports };\n }\n\n /** Scale cached native SOL exactly to lamports; requires initialized state. */\n nativeSolLamports(): bigint {\n if (this.nativeSolBalance === undefined) {\n throw new Error(\"wallet balance state is not initialized\");\n }\n return exactScaledInteger(this.nativeSolBalance, 9);\n }\n\n /** Scale the canonical WSOL idle balance exactly to lamports. */\n canonicalWsolLamports(): bigint {\n const wrapped = this.balances.get(WRAPPED_SOL_MINT);\n return wrapped ? exactScaledInteger(wrapped.idle, 9) : 0n;\n }\n\n private matchesInitializedWallet(walletAddress: PubkeyStr): boolean {\n return (\n this.walletAddress === walletAddress &&\n this.contextSlot !== undefined &&\n this.nativeSolBalance !== undefined\n );\n }\n\n private replace(\n walletAddress: PubkeyStr,\n contextSlot: number,\n balances: Record<PubkeyStr, DepositTokenBalance>,\n nativeSolBalance: string\n ): void {\n // Own the map lifecycle while retaining payload objects by reference. Callers\n // must treat balance records as immutable after handing them to state.\n this.walletAddress = walletAddress;\n this.contextSlot = contextSlot;\n this.balances.clear();\n for (const balance of Object.values(balances)) {\n this.balances.set(balance.mint, balance);\n }\n this.nativeSolBalance = nativeSolBalance;\n }\n}\n\nfunction formatLamports(value: bigint): string {\n // Integer division restores fixed-scale SOL text without floating-point loss.\n const scale = 1_000_000_000n;\n const whole = value / scale;\n const fraction = (value % scale).toString().padStart(9, \"0\");\n return `${whole}.${fraction}`;\n}\n\n/** Detect explicit zero without imposing SOL's nine-decimal scale on SPL tokens. */\nfunction isZeroTokenAmount(value: string): boolean {\n const amount = new Decimal(value);\n if (!amount.isFinite() || amount.isNegative()) {\n throw new Error(`invalid deposit-token balance: ${value}`);\n }\n return amount.isZero();\n}\n"]}
package/dist/prelude.d.ts CHANGED
@@ -28,7 +28,7 @@ export { OrderbookState } from "./domain/orderbook/state";
28
28
  export type { OrderbookApplyResult, OrderbookRefreshReason, } from "./domain/orderbook/state";
29
29
  export type { CancelAllBody, CancelAllSuccess, CancelBody, CancelSuccess, ConditionalBalance, FillInfo, GlobalDepositUpdate, NonceUpdate, LimitOrder, OrderEvent, OrderStatus, OrderType, SubmitOrderResponse, SubmitOrderStatus, UserBalanceUpdate, UserDepositAssetBalance, UserMarketBalance, UserOutcomeBalance, UserSnapshotOrder, UserOrdersResponse, UserUpdate, } from "./domain/order";
30
30
  export type { UserOpenLimitOrders } from "./domain/order/state";
31
- export type { Portfolio, Position, PositionOutcome, WalletHolding, TokenBalance, TokenBalanceComputedBase, TokenBalanceTokenType, DepositAssetMetadata, DepositTokenBalance, DepositTokenBalancesSnapshot, WalletDepositBalanceSnapshot, WalletDepositBalanceStatus, WalletDepositBalanceStatusEvent, WalletDepositBalancesApplyResult, WalletDepositBalancesEvent, WalletDepositBalanceUpdate, WalletNativeSolBalanceUpdate, SolActionCosts, SolActionKind, SolActionPlan, SolBalanceAvailability, SolBalanceComponents, SolComponentDelta, } from "./domain/position";
31
+ export type { Portfolio, Position, PositionOutcome, WalletHolding, TokenBalance, TokenBalanceComputedBase, TokenBalanceTokenType, DepositAssetMetadata, DepositTokenBalance, DepositTokenBalancesSnapshot, WalletDepositBalanceSnapshot, WalletDepositBalanceStatus, WalletDepositBalanceStatusEvent, WalletDepositBalancesApplyResult, WalletDepositBalancesEvent, WalletDepositBalanceUpdate, WalletNativeSolBalanceUpdate, SolActionCosts, SolActionKind, SolActionPlan, SolBalanceAvailability, SolBalanceBreakdown, SolBalanceDelta, } from "./domain/position";
32
32
  export { DepositBuilder, WithdrawBuilder, RedeemWinningsBuilder, WithdrawFromPositionBuilder, InitPositionTokensBuilder, ExtendPositionTokensBuilder, DepositToGlobalBuilder, WithdrawFromGlobalBuilder, GlobalToMarketDepositBuilder, WalletDepositBalancesState, WRAPPED_SOL_MINT, nativeWithdrawSeed, solBalanceAvailability, unwrapAllSolBalanceAvailability, SOL_RESERVE_WITH_ACCOUNT_CREATION_LAMPORTS, SOL_RESERVE_WITH_EXISTING_ACCOUNT_LAMPORTS, } from "./domain/position";
33
33
  export type { Trade, WsTrade } from "./domain/trade";
34
34
  export { TradeHistory } from "./domain/trade/state";
@@ -1 +1 @@
1
- {"version":3,"file":"prelude.d.ts","sourceRoot":"","sources":["../src/prelude.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prelude.d.ts","sourceRoot":"","sources":["../src/prelude.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"prelude.js","sourceRoot":"","sources":["../src/prelude.ts"],"names":[],"mappings":"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","sourcesContent":["export {\n ApiRejectedDetails,\n RejectionCode,\n asOrderBookId,\n asPubkeyStr,\n DepositSource,\n deriveOrderbookId,\n OrderUpdateType,\n Resolution,\n Side,\n TimeInForce,\n type ApiResponse,\n type OrderBookId,\n type PubkeyStr,\n type SubmitOrderRequest,\n} from \"./shared\";\n\nexport { SdkError } from \"./error\";\nexport { LightconeEnv, apiUrl, wsUrl, rpcUrl, programId } from \"./env\";\n\nexport {\n LightconeClient,\n LightconeClientBuilder,\n} from \"./client\";\n\nexport { Rpc } from \"./rpc\";\nexport type { CanonicalWsolAccountInfo } from \"./rpc\";\nexport type { ClientContext } from \"./context\";\n\nexport { Auth } from \"./auth\";\nexport { Markets } from \"./domain/market\";\nexport { Metrics } from \"./domain/metrics\";\nexport { Orderbooks } from \"./domain/orderbook\";\nexport { Orders } from \"./domain/order\";\nexport { Positions } from \"./domain/position\";\nexport { Trades } from \"./domain/trade\";\nexport { PriceHistoryClient } from \"./domain/price_history\";\nexport { Notifications } from \"./domain/notification\";\nexport { Referrals } from \"./domain/referral\";\n\nexport type {\n CategoriesMetrics,\n CategoryVolumeMetrics,\n DepositTokenVolumeHistory,\n DepositTokenVolumeHistoryPoint,\n DepositTokenVolumeHistoryPointToken,\n DepositTokenVolumeHistoryQuery,\n DepositTokenVolumeHistoryToken,\n DepositTokenVolumeMetrics,\n DepositTokensMetrics,\n HistoryPoint,\n Leaderboard,\n LeaderboardEntry,\n MarketDetailMetrics,\n MarketOrderbookVolumeMetrics,\n MarketVolumeMetrics,\n MarketsMetrics,\n MetricsHistory,\n MetricsHistoryQuery,\n OpenInterestHistory,\n OpenInterestHistoryDepositAsset,\n OpenInterestHistoryPoint,\n OpenInterestHistoryPointDepositAsset,\n OpenInterestHistoryQuery,\n OrderbookTickerEntry,\n OrderbookTickersResponse,\n OrderbookVolumeMetrics,\n OutcomeVolumeMetrics,\n PlatformMetrics,\n UniqueTradersHistory,\n UniqueTradersHistoryPoint,\n UniqueTradersHistoryQuery,\n UniqueTradersHistoryScope,\n} from \"./domain/metrics\";\n\nexport type {\n FaucetRequest,\n FaucetResponse,\n FaucetToken,\n} from \"./domain/faucet\";\n\nexport type {\n ConditionalTokenResponse,\n DepositAssetResponse,\n DepositMintsResponse,\n MarketResolutionPayout,\n MarketResolutionResponse,\n} from \"./domain/market/wire\";\n\nexport {\n Status,\n MarketResolutionKind,\n hasSingleWinningOutcome,\n isMarketResolved,\n singleWinningOutcome,\n} from \"./domain/market\";\n\nexport type {\n Market,\n MarketResolutionContainer,\n Outcome,\n ConditionalToken,\n DepositAsset,\n GlobalDepositAsset,\n Token,\n TokenMetadata,\n ValidatedTokens,\n} from \"./domain/market\";\n\nexport type {\n OrderBook,\n OrderBookPair,\n OrderbookDepthDecimals,\n OutcomeImpact,\n TickerData,\n WsBookLevel,\n} from \"./domain/orderbook\";\nexport { ImpactDirection, OrderBookValidationError } from \"./domain/orderbook\";\nexport type { BookAggregation } from \"./domain/orderbook/aggregation\";\nexport {\n aggregationFromFrame,\n aggregationKeySuffix,\n aggregationsEqual,\n FULL_PRECISION,\n isFullPrecision,\n normalizeAggregation,\n validateAggregation,\n} from \"./domain/orderbook/aggregation\";\nexport { OrderbookState } from \"./domain/orderbook/state\";\nexport type {\n OrderbookApplyResult,\n OrderbookRefreshReason,\n} from \"./domain/orderbook/state\";\n\nexport type {\n CancelAllBody,\n CancelAllSuccess,\n CancelBody,\n CancelSuccess,\n ConditionalBalance,\n FillInfo,\n GlobalDepositUpdate,\n NonceUpdate,\n LimitOrder,\n OrderEvent,\n OrderStatus,\n OrderType,\n SubmitOrderResponse,\n SubmitOrderStatus,\n UserBalanceUpdate,\n UserDepositAssetBalance,\n UserMarketBalance,\n UserOutcomeBalance,\n UserSnapshotOrder,\n UserOrdersResponse,\n UserUpdate,\n} from \"./domain/order\";\nexport type { UserOpenLimitOrders } from \"./domain/order/state\";\n\nexport type {\n Portfolio,\n Position,\n PositionOutcome,\n WalletHolding,\n TokenBalance,\n TokenBalanceComputedBase,\n TokenBalanceTokenType,\n DepositAssetMetadata,\n DepositTokenBalance,\n DepositTokenBalancesSnapshot,\n WalletDepositBalanceSnapshot,\n WalletDepositBalanceStatus,\n WalletDepositBalanceStatusEvent,\n WalletDepositBalancesApplyResult,\n WalletDepositBalancesEvent,\n WalletDepositBalanceUpdate,\n WalletNativeSolBalanceUpdate,\n SolActionCosts,\n SolActionKind,\n SolActionPlan,\n SolBalanceAvailability,\n SolBalanceComponents,\n SolComponentDelta,\n} from \"./domain/position\";\n\nexport {\n DepositBuilder,\n WithdrawBuilder,\n RedeemWinningsBuilder,\n WithdrawFromPositionBuilder,\n InitPositionTokensBuilder,\n ExtendPositionTokensBuilder,\n DepositToGlobalBuilder,\n WithdrawFromGlobalBuilder,\n GlobalToMarketDepositBuilder,\n WalletDepositBalancesState,\n WRAPPED_SOL_MINT,\n nativeWithdrawSeed,\n solBalanceAvailability,\n unwrapAllSolBalanceAvailability,\n SOL_RESERVE_WITH_ACCOUNT_CREATION_LAMPORTS,\n SOL_RESERVE_WITH_EXISTING_ACCOUNT_LAMPORTS,\n} from \"./domain/position\";\n\nexport type { Trade, WsTrade } from \"./domain/trade\";\nexport { TradeHistory } from \"./domain/trade/state\";\nexport type {\n DepositPrice,\n DepositPriceCandleUpdate,\n DepositPriceHistoryQuery,\n DepositPriceKey,\n DepositPriceSnapshot,\n DepositPriceTick,\n DepositTokenCandle,\n DepositTokenPriceHistoryResponse,\n DepositAssetPriceEvent,\n DepositAssetPriceSnapshot,\n DepositAssetPriceTick,\n DepositAssetPricesSnapshotResponse,\n LineData,\n MidpointPriceCandle,\n OhlcvPriceCandle,\n OrderbookPriceHistoryQuery,\n OrderbookPriceHistoryResponse,\n PriceCandle,\n PriceHistory,\n PriceHistoryRestResponse,\n PriceHistorySnapshot,\n PriceHistoryUpdate,\n} from \"./domain/price_history\";\nexport { DepositPriceState, PriceHistoryState } from \"./domain/price_history\";\n\nexport type {\n AuthCredentials,\n AuthMethod,\n ChainType,\n EmailAccountData,\n GoogleAccountData,\n LinkedIdentity,\n LinkedIdentitySelector,\n LinkedIdentityType,\n MaxSlippagePreferenceBody,\n PrivyEmbeddedWallet,\n RegisterPrivyConflict,\n RegisterPrivyRequest,\n SessionResponse,\n User,\n UserIdentity,\n UserPrivyData,\n XAccountData,\n} from \"./auth\";\nexport {\n avatarUrl,\n classifyRegisterPrivyConflict,\n displayName,\n identityText,\n tradingWallet,\n userPrivy,\n userXAccount,\n} from \"./auth\";\n\nexport {\n LimitOrderEnvelope,\n type OrderEnvelope,\n type OrderPayload,\n} from \"./program\";\n\nexport type {\n ExportWalletRequest,\n ExportWalletResponse,\n PrivyOrderEnvelope,\n SignAndSendOrderRequest,\n SignAndSendTxRequest,\n SignAndSendTxResponse,\n} from \"./privy\";\n\nexport {\n isUserCancellation,\n requireNativeSigningStrategy,\n type ExternalSigner,\n type NativeSigningStrategy,\n type SigningStrategy,\n} from \"./shared/signing\";\n\nexport {\n MergeBuilder,\n} from \"./domain/position\";\n\nexport type {\n Notification,\n NotificationKind,\n MarketResolvedData,\n OrderFilledData,\n MarketData,\n} from \"./domain/notification\";\n\nexport type {\n RedeemResult,\n ReferralCodeInfo,\n ReferralStatus,\n} from \"./domain/referral\";\n\nexport {\n RetryPolicy,\n type CredentialRestorer,\n type RetryConfig,\n} from \"./http\";\n\nexport type {\n IWsClient,\n Kind,\n MessageIn,\n MessageOut,\n SubscribeParams,\n UnsubscribeParams,\n WsConfig,\n WsEvent,\n} from \"./ws\";\nexport { subscribeBooks, unsubscribeBooks } from \"./ws\";\n\nexport type AuthClient = import(\"./auth\").Auth;\nexport type MarketsClient = import(\"./domain/market\").Markets;\nexport type MarketsResult = import(\"./domain/market\").MarketsResult;\nexport type GlobalDepositAssetsResult = import(\"./domain/market\").GlobalDepositAssetsResult;\nexport type FavoriteMarkets = import(\"./domain/market\").FavoriteMarkets;\nexport type FavoriteMarketUpdate = import(\"./domain/market\").FavoriteMarketUpdate;\nexport type MetricsClient = import(\"./domain/metrics\").Metrics;\nexport type OrderbooksClient = import(\"./domain/orderbook\").Orderbooks;\nexport type OrdersClient = import(\"./domain/order\").Orders;\nexport type PositionsClient = import(\"./domain/position\").Positions;\nexport type TradesClient = import(\"./domain/trade\").Trades;\nexport type PriceHistorySubClient = import(\"./domain/price_history\").PriceHistoryClient;\nexport type NotificationsClient = import(\"./domain/notification\").Notifications;\nexport type ReferralsClient = import(\"./domain/referral\").Referrals;\nexport type RpcClient = import(\"./rpc\").Rpc;\n"]}
1
+ {"version":3,"file":"prelude.js","sourceRoot":"","sources":["../src/prelude.ts"],"names":[],"mappings":"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","sourcesContent":["export {\n ApiRejectedDetails,\n RejectionCode,\n asOrderBookId,\n asPubkeyStr,\n DepositSource,\n deriveOrderbookId,\n OrderUpdateType,\n Resolution,\n Side,\n TimeInForce,\n type ApiResponse,\n type OrderBookId,\n type PubkeyStr,\n type SubmitOrderRequest,\n} from \"./shared\";\n\nexport { SdkError } from \"./error\";\nexport { LightconeEnv, apiUrl, wsUrl, rpcUrl, programId } from \"./env\";\n\nexport {\n LightconeClient,\n LightconeClientBuilder,\n} from \"./client\";\n\nexport { Rpc } from \"./rpc\";\nexport type { CanonicalWsolAccountInfo } from \"./rpc\";\nexport type { ClientContext } from \"./context\";\n\nexport { Auth } from \"./auth\";\nexport { Markets } from \"./domain/market\";\nexport { Metrics } from \"./domain/metrics\";\nexport { Orderbooks } from \"./domain/orderbook\";\nexport { Orders } from \"./domain/order\";\nexport { Positions } from \"./domain/position\";\nexport { Trades } from \"./domain/trade\";\nexport { PriceHistoryClient } from \"./domain/price_history\";\nexport { Notifications } from \"./domain/notification\";\nexport { Referrals } from \"./domain/referral\";\n\nexport type {\n CategoriesMetrics,\n CategoryVolumeMetrics,\n DepositTokenVolumeHistory,\n DepositTokenVolumeHistoryPoint,\n DepositTokenVolumeHistoryPointToken,\n DepositTokenVolumeHistoryQuery,\n DepositTokenVolumeHistoryToken,\n DepositTokenVolumeMetrics,\n DepositTokensMetrics,\n HistoryPoint,\n Leaderboard,\n LeaderboardEntry,\n MarketDetailMetrics,\n MarketOrderbookVolumeMetrics,\n MarketVolumeMetrics,\n MarketsMetrics,\n MetricsHistory,\n MetricsHistoryQuery,\n OpenInterestHistory,\n OpenInterestHistoryDepositAsset,\n OpenInterestHistoryPoint,\n OpenInterestHistoryPointDepositAsset,\n OpenInterestHistoryQuery,\n OrderbookTickerEntry,\n OrderbookTickersResponse,\n OrderbookVolumeMetrics,\n OutcomeVolumeMetrics,\n PlatformMetrics,\n UniqueTradersHistory,\n UniqueTradersHistoryPoint,\n UniqueTradersHistoryQuery,\n UniqueTradersHistoryScope,\n} from \"./domain/metrics\";\n\nexport type {\n FaucetRequest,\n FaucetResponse,\n FaucetToken,\n} from \"./domain/faucet\";\n\nexport type {\n ConditionalTokenResponse,\n DepositAssetResponse,\n DepositMintsResponse,\n MarketResolutionPayout,\n MarketResolutionResponse,\n} from \"./domain/market/wire\";\n\nexport {\n Status,\n MarketResolutionKind,\n hasSingleWinningOutcome,\n isMarketResolved,\n singleWinningOutcome,\n} from \"./domain/market\";\n\nexport type {\n Market,\n MarketResolutionContainer,\n Outcome,\n ConditionalToken,\n DepositAsset,\n GlobalDepositAsset,\n Token,\n TokenMetadata,\n ValidatedTokens,\n} from \"./domain/market\";\n\nexport type {\n OrderBook,\n OrderBookPair,\n OrderbookDepthDecimals,\n OutcomeImpact,\n TickerData,\n WsBookLevel,\n} from \"./domain/orderbook\";\nexport { ImpactDirection, OrderBookValidationError } from \"./domain/orderbook\";\nexport type { BookAggregation } from \"./domain/orderbook/aggregation\";\nexport {\n aggregationFromFrame,\n aggregationKeySuffix,\n aggregationsEqual,\n FULL_PRECISION,\n isFullPrecision,\n normalizeAggregation,\n validateAggregation,\n} from \"./domain/orderbook/aggregation\";\nexport { OrderbookState } from \"./domain/orderbook/state\";\nexport type {\n OrderbookApplyResult,\n OrderbookRefreshReason,\n} from \"./domain/orderbook/state\";\n\nexport type {\n CancelAllBody,\n CancelAllSuccess,\n CancelBody,\n CancelSuccess,\n ConditionalBalance,\n FillInfo,\n GlobalDepositUpdate,\n NonceUpdate,\n LimitOrder,\n OrderEvent,\n OrderStatus,\n OrderType,\n SubmitOrderResponse,\n SubmitOrderStatus,\n UserBalanceUpdate,\n UserDepositAssetBalance,\n UserMarketBalance,\n UserOutcomeBalance,\n UserSnapshotOrder,\n UserOrdersResponse,\n UserUpdate,\n} from \"./domain/order\";\nexport type { UserOpenLimitOrders } from \"./domain/order/state\";\n\nexport type {\n Portfolio,\n Position,\n PositionOutcome,\n WalletHolding,\n TokenBalance,\n TokenBalanceComputedBase,\n TokenBalanceTokenType,\n DepositAssetMetadata,\n DepositTokenBalance,\n DepositTokenBalancesSnapshot,\n WalletDepositBalanceSnapshot,\n WalletDepositBalanceStatus,\n WalletDepositBalanceStatusEvent,\n WalletDepositBalancesApplyResult,\n WalletDepositBalancesEvent,\n WalletDepositBalanceUpdate,\n WalletNativeSolBalanceUpdate,\n SolActionCosts,\n SolActionKind,\n SolActionPlan,\n SolBalanceAvailability,\n SolBalanceBreakdown,\n SolBalanceDelta,\n} from \"./domain/position\";\n\nexport {\n DepositBuilder,\n WithdrawBuilder,\n RedeemWinningsBuilder,\n WithdrawFromPositionBuilder,\n InitPositionTokensBuilder,\n ExtendPositionTokensBuilder,\n DepositToGlobalBuilder,\n WithdrawFromGlobalBuilder,\n GlobalToMarketDepositBuilder,\n WalletDepositBalancesState,\n WRAPPED_SOL_MINT,\n nativeWithdrawSeed,\n solBalanceAvailability,\n unwrapAllSolBalanceAvailability,\n SOL_RESERVE_WITH_ACCOUNT_CREATION_LAMPORTS,\n SOL_RESERVE_WITH_EXISTING_ACCOUNT_LAMPORTS,\n} from \"./domain/position\";\n\nexport type { Trade, WsTrade } from \"./domain/trade\";\nexport { TradeHistory } from \"./domain/trade/state\";\nexport type {\n DepositPrice,\n DepositPriceCandleUpdate,\n DepositPriceHistoryQuery,\n DepositPriceKey,\n DepositPriceSnapshot,\n DepositPriceTick,\n DepositTokenCandle,\n DepositTokenPriceHistoryResponse,\n DepositAssetPriceEvent,\n DepositAssetPriceSnapshot,\n DepositAssetPriceTick,\n DepositAssetPricesSnapshotResponse,\n LineData,\n MidpointPriceCandle,\n OhlcvPriceCandle,\n OrderbookPriceHistoryQuery,\n OrderbookPriceHistoryResponse,\n PriceCandle,\n PriceHistory,\n PriceHistoryRestResponse,\n PriceHistorySnapshot,\n PriceHistoryUpdate,\n} from \"./domain/price_history\";\nexport { DepositPriceState, PriceHistoryState } from \"./domain/price_history\";\n\nexport type {\n AuthCredentials,\n AuthMethod,\n ChainType,\n EmailAccountData,\n GoogleAccountData,\n LinkedIdentity,\n LinkedIdentitySelector,\n LinkedIdentityType,\n MaxSlippagePreferenceBody,\n PrivyEmbeddedWallet,\n RegisterPrivyConflict,\n RegisterPrivyRequest,\n SessionResponse,\n User,\n UserIdentity,\n UserPrivyData,\n XAccountData,\n} from \"./auth\";\nexport {\n avatarUrl,\n classifyRegisterPrivyConflict,\n displayName,\n identityText,\n tradingWallet,\n userPrivy,\n userXAccount,\n} from \"./auth\";\n\nexport {\n LimitOrderEnvelope,\n type OrderEnvelope,\n type OrderPayload,\n} from \"./program\";\n\nexport type {\n ExportWalletRequest,\n ExportWalletResponse,\n PrivyOrderEnvelope,\n SignAndSendOrderRequest,\n SignAndSendTxRequest,\n SignAndSendTxResponse,\n} from \"./privy\";\n\nexport {\n isUserCancellation,\n requireNativeSigningStrategy,\n type ExternalSigner,\n type NativeSigningStrategy,\n type SigningStrategy,\n} from \"./shared/signing\";\n\nexport {\n MergeBuilder,\n} from \"./domain/position\";\n\nexport type {\n Notification,\n NotificationKind,\n MarketResolvedData,\n OrderFilledData,\n MarketData,\n} from \"./domain/notification\";\n\nexport type {\n RedeemResult,\n ReferralCodeInfo,\n ReferralStatus,\n} from \"./domain/referral\";\n\nexport {\n RetryPolicy,\n type CredentialRestorer,\n type RetryConfig,\n} from \"./http\";\n\nexport type {\n IWsClient,\n Kind,\n MessageIn,\n MessageOut,\n SubscribeParams,\n UnsubscribeParams,\n WsConfig,\n WsEvent,\n} from \"./ws\";\nexport { subscribeBooks, unsubscribeBooks } from \"./ws\";\n\nexport type AuthClient = import(\"./auth\").Auth;\nexport type MarketsClient = import(\"./domain/market\").Markets;\nexport type MarketsResult = import(\"./domain/market\").MarketsResult;\nexport type GlobalDepositAssetsResult = import(\"./domain/market\").GlobalDepositAssetsResult;\nexport type FavoriteMarkets = import(\"./domain/market\").FavoriteMarkets;\nexport type FavoriteMarketUpdate = import(\"./domain/market\").FavoriteMarketUpdate;\nexport type MetricsClient = import(\"./domain/metrics\").Metrics;\nexport type OrderbooksClient = import(\"./domain/orderbook\").Orderbooks;\nexport type OrdersClient = import(\"./domain/order\").Orders;\nexport type PositionsClient = import(\"./domain/position\").Positions;\nexport type TradesClient = import(\"./domain/trade\").Trades;\nexport type PriceHistorySubClient = import(\"./domain/price_history\").PriceHistoryClient;\nexport type NotificationsClient = import(\"./domain/notification\").Notifications;\nexport type ReferralsClient = import(\"./domain/referral\").Referrals;\nexport type RpcClient = import(\"./rpc\").Rpc;\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lightconexyz/lightcone-sdk",
3
- "version": "0.8.2",
3
+ "version": "0.8.3-rc.44",
4
4
  "description": "TypeScript SDK for Lightcone",
5
5
  "author": "Lightcone",
6
6
  "license": "MIT",