@zofai/zo-sdk 0.2.14 → 0.2.15

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.
Files changed (108) hide show
  1. package/dist/abstract/BaseDataAPI.cjs +1 -1
  2. package/dist/abstract/BaseDataAPI.cjs.map +1 -1
  3. package/dist/abstract/BaseDataAPI.mjs +1 -1
  4. package/dist/abstract/BaseDataAPI.mjs.map +1 -1
  5. package/dist/consts/deployments-usdz-mainnet.json +1 -1
  6. package/dist/consts/deployments-zo-oracle-mainnet.json +329 -0
  7. package/dist/consts/index.cjs +35 -1
  8. package/dist/consts/index.cjs.map +1 -1
  9. package/dist/consts/index.d.cts +45 -0
  10. package/dist/consts/index.d.cts.map +1 -1
  11. package/dist/consts/index.d.mts +45 -0
  12. package/dist/consts/index.d.mts.map +1 -1
  13. package/dist/consts/index.mjs +31 -0
  14. package/dist/consts/index.mjs.map +1 -1
  15. package/dist/data.cjs +1 -1
  16. package/dist/data.cjs.map +1 -1
  17. package/dist/data.mjs +1 -1
  18. package/dist/data.mjs.map +1 -1
  19. package/dist/implementations/USDZAPI.cjs +426 -78
  20. package/dist/implementations/USDZAPI.cjs.map +1 -1
  21. package/dist/implementations/USDZAPI.d.cts +54 -0
  22. package/dist/implementations/USDZAPI.d.cts.map +1 -1
  23. package/dist/implementations/USDZAPI.d.mts +54 -0
  24. package/dist/implementations/USDZAPI.d.mts.map +1 -1
  25. package/dist/implementations/USDZAPI.mjs +427 -79
  26. package/dist/implementations/USDZAPI.mjs.map +1 -1
  27. package/dist/implementations/USDZDataAPI.cjs +38 -0
  28. package/dist/implementations/USDZDataAPI.cjs.map +1 -1
  29. package/dist/implementations/USDZDataAPI.d.cts +16 -0
  30. package/dist/implementations/USDZDataAPI.d.cts.map +1 -1
  31. package/dist/implementations/USDZDataAPI.d.mts +16 -0
  32. package/dist/implementations/USDZDataAPI.d.mts.map +1 -1
  33. package/dist/implementations/USDZDataAPI.mjs +38 -0
  34. package/dist/implementations/USDZDataAPI.mjs.map +1 -1
  35. package/dist/index.cjs +3 -0
  36. package/dist/index.cjs.map +1 -1
  37. package/dist/index.d.cts +3 -0
  38. package/dist/index.d.cts.map +1 -1
  39. package/dist/index.d.mts +3 -0
  40. package/dist/index.d.mts.map +1 -1
  41. package/dist/index.mjs +3 -0
  42. package/dist/index.mjs.map +1 -1
  43. package/dist/interfaces/base.d.cts +19 -1
  44. package/dist/interfaces/base.d.cts.map +1 -1
  45. package/dist/interfaces/base.d.mts +19 -1
  46. package/dist/interfaces/base.d.mts.map +1 -1
  47. package/dist/interfaces/usdz.d.cts +17 -0
  48. package/dist/interfaces/usdz.d.cts.map +1 -1
  49. package/dist/interfaces/usdz.d.mts +17 -0
  50. package/dist/interfaces/usdz.d.mts.map +1 -1
  51. package/dist/oracle.cjs +119 -1
  52. package/dist/oracle.cjs.map +1 -1
  53. package/dist/oracle.d.cts +57 -1
  54. package/dist/oracle.d.cts.map +1 -1
  55. package/dist/oracle.d.mts +57 -1
  56. package/dist/oracle.d.mts.map +1 -1
  57. package/dist/oracle.mjs +120 -2
  58. package/dist/oracle.mjs.map +1 -1
  59. package/dist/oraclePro.cjs +214 -0
  60. package/dist/oraclePro.cjs.map +1 -0
  61. package/dist/oraclePro.d.cts +92 -0
  62. package/dist/oraclePro.d.cts.map +1 -0
  63. package/dist/oraclePro.d.mts +92 -0
  64. package/dist/oraclePro.d.mts.map +1 -0
  65. package/dist/oraclePro.mjs +196 -0
  66. package/dist/oraclePro.mjs.map +1 -0
  67. package/dist/pythProClient.cjs +277 -0
  68. package/dist/pythProClient.cjs.map +1 -0
  69. package/dist/pythProClient.d.cts +143 -0
  70. package/dist/pythProClient.d.cts.map +1 -0
  71. package/dist/pythProClient.d.mts +143 -0
  72. package/dist/pythProClient.d.mts.map +1 -0
  73. package/dist/pythProClient.mjs +269 -0
  74. package/dist/pythProClient.mjs.map +1 -0
  75. package/dist/storkClient.cjs +217 -0
  76. package/dist/storkClient.cjs.map +1 -0
  77. package/dist/storkClient.d.cts +90 -0
  78. package/dist/storkClient.d.cts.map +1 -0
  79. package/dist/storkClient.d.mts +90 -0
  80. package/dist/storkClient.d.mts.map +1 -0
  81. package/dist/storkClient.mjs +208 -0
  82. package/dist/storkClient.mjs.map +1 -0
  83. package/dist/storkOracle.cjs +61 -0
  84. package/dist/storkOracle.cjs.map +1 -0
  85. package/dist/storkOracle.d.cts +21 -0
  86. package/dist/storkOracle.d.cts.map +1 -0
  87. package/dist/storkOracle.d.mts +21 -0
  88. package/dist/storkOracle.d.mts.map +1 -0
  89. package/dist/storkOracle.mjs +56 -0
  90. package/dist/storkOracle.mjs.map +1 -0
  91. package/package.json +1 -1
  92. package/src/abstract/BaseDataAPI.ts +1 -1
  93. package/src/consts/deployments-usdz-mainnet.json +1 -1
  94. package/src/consts/deployments-zo-oracle-mainnet.json +329 -0
  95. package/src/consts/index.ts +80 -0
  96. package/src/data.ts +1 -1
  97. package/src/implementations/USDZAPI.ts +731 -101
  98. package/src/implementations/USDZDataAPI.ts +42 -0
  99. package/src/index.ts +3 -0
  100. package/src/interfaces/base.ts +54 -1
  101. package/src/interfaces/usdz.ts +125 -0
  102. package/src/oracle.ts +222 -1
  103. package/src/oraclePro.ts +312 -0
  104. package/src/pythProClient.ts +406 -0
  105. package/src/storkClient.ts +328 -0
  106. package/src/storkOracle.ts +82 -0
  107. package/tests/pythProClient.test.ts +155 -0
  108. package/tests/storkClient.test.ts +316 -0
@@ -3,6 +3,7 @@
3
3
  * Extends base interfaces with USDZ-specific implementations
4
4
  */
5
5
  import type { Transaction, TransactionObjectArgument } from "@mysten/sui/transactions";
6
+ import type { OracleInputs } from "../oraclePro.cjs";
6
7
  import type { IBaseAPI, IBaseCredential, IBaseDataAPI, IBaseFundingFeeModel, IBaseHistory, IBaseMarketInfo, IBaseMarketValuationInfo, IBaseOrderCapInfo, IBaseOrderInfo, IBasePositionCapInfo, IBasePositionConfig, IBasePositionInfo, IBaseRebaseFeeModel, IBaseReservingFeeModel, IBaseStakePool, IBaseSymbolInfo, IBaseVaultInfo, ISwapFeeBreakdown } from "./base.cjs";
7
8
  export interface IUSDZMarketValuationInfo extends IBaseMarketValuationInfo {
8
9
  /** Oracle price per vault token at valuation time (e.g. { sui: 1.5, usdc: 1.0 }) */
@@ -99,6 +100,12 @@ export interface IUSDZDataAPI extends IBaseDataAPI {
99
100
  getSymbolConfig: (indexToken: string, long: boolean) => Promise<IUSDZSymbolConfig | null>;
100
101
  getPriceImpactConfig: (indexToken: string) => Promise<IUSDZPriceImpactConfig | null>;
101
102
  calculateSwapFeeBreakdown: (fromToken: string, toToken: string, fromAmount: number) => Promise<ISwapFeeBreakdown>;
103
+ valuateVaultsV2: (tx: Transaction, oracle: OracleInputs) => TransactionObjectArgument;
104
+ valuateSymbolsV2: (tx: Transaction, oracle: OracleInputs) => TransactionObjectArgument;
105
+ valuateV2: (tx: Transaction, oracle: OracleInputs) => {
106
+ vaultsValuation: TransactionObjectArgument;
107
+ symbolsValuation: TransactionObjectArgument;
108
+ };
102
109
  }
103
110
  export interface IUSDZAPI extends IBaseAPI {
104
111
  depositPtb: (coin: string, coinObjects: string[], amount: number, minAmountOut?: number, referralAddress?: string, sender?: string, tx?: Transaction, sponsoredTx?: boolean) => Promise<TransactionObjectArgument>;
@@ -112,5 +119,15 @@ export interface IUSDZAPI extends IBaseAPI {
112
119
  * Same as swap() but returns the output coin for use in composed transactions.
113
120
  */
114
121
  swapV2Ptb: (fromToken: string, toToken: string, fromAmount: bigint, fromCoinObjects: string[], minAmountOut?: number, tx?: Transaction) => Promise<TransactionObjectArgument>;
122
+ /** Pyth Pro + Stork swap (transfers output). */
123
+ swapV3: (fromToken: string, toToken: string, fromAmount: bigint, fromCoinObjects: string[], pythProUpdateBytes: Uint8Array | number[], minAmountOut?: number, tx?: Transaction) => Promise<Transaction>;
124
+ /** Pyth Pro + Stork swap PTB (returns output coin). */
125
+ swapV3Ptb: (fromToken: string, toToken: string, fromAmount: bigint, fromCoinObjects: string[], pythProUpdateBytes: Uint8Array | number[], minAmountOut?: number, tx?: Transaction) => Promise<TransactionObjectArgument>;
126
+ openPositionV3: (collateralToken: string, indexToken: string, size: bigint, collateralAmount: bigint, coinObjects: string[], long: boolean, reserveAmount: bigint, indexPrice: number, collateralPrice: number, pythProUpdateBytes: Uint8Array | number[], isLimitOrder?: boolean, isIocOrder?: boolean, pricesSlippage?: number, collateralSlippage?: number, relayerFee?: bigint, referralAddress?: string, sender?: string, sponsoredTx?: boolean) => Promise<Transaction>;
127
+ openPositionWithSCardV3: (collateralToken: string, indexToken: string, size: bigint, collateralAmount: bigint, coinObjects: string[], long: boolean, reserveAmount: bigint, indexPrice: number, collateralPrice: number, kioskClient: import('@mysten/kiosk').KioskClient, kioskCap: import('@mysten/kiosk').KioskOwnerCap, scard: string, pythProUpdateBytes: Uint8Array | number[], isLimitOrder?: boolean, isIocOrder?: boolean, pricesSlippage?: number, collateralSlippage?: number, relayerFee?: bigint, referralAddress?: string, sender?: string, sponsoredTx?: boolean) => Promise<Transaction>;
128
+ decreasePositionV3: (pcpId: string, collateralToken: string, indexToken: string, amount: bigint, long: boolean, indexPrice: number, collateralPrice: number, pythProUpdateBytes: Uint8Array | number[], isTriggerOrder?: boolean, isTakeProfitOrder?: boolean, isIocOrder?: boolean, pricesSlippage?: number, collateralSlippage?: number, relayerFee?: bigint, coinObjects?: string[], sponsoredTx?: boolean, sender?: string) => Promise<Transaction>;
129
+ decreasePositionWithSCardV3: (pcpId: string, collateralToken: string, indexToken: string, amount: bigint, long: boolean, indexPrice: number, collateralPrice: number, kioskClient: import('@mysten/kiosk').KioskClient, kioskCap: import('@mysten/kiosk').KioskOwnerCap, scard: string, pythProUpdateBytes: Uint8Array | number[], isTriggerOrder?: boolean, isTakeProfitOrder?: boolean, isIocOrder?: boolean, pricesSlippage?: number, collateralSlippage?: number, relayerFee?: bigint, coinObjects?: string[], sponsoredTx?: boolean, sender?: string) => Promise<Transaction>;
130
+ /** Pyth Pro path (not legacy feeder v2). */
131
+ redeemFromPositionV2: (pcpId: string, collateralToken: string, indexToken: string, amount: number, long: boolean, pythProUpdateBytes: Uint8Array | number[], tx?: Transaction) => Promise<Transaction>;
115
132
  }
116
133
  //# sourceMappingURL=usdz.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"usdz.d.cts","sourceRoot":"","sources":["../../src/interfaces/usdz.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"usdz.d.cts","sourceRoot":"","sources":["../../src/interfaces/usdz.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@
3
3
  * Extends base interfaces with USDZ-specific implementations
4
4
  */
5
5
  import type { Transaction, TransactionObjectArgument } from "@mysten/sui/transactions";
6
+ import type { OracleInputs } from "../oraclePro.mjs";
6
7
  import type { IBaseAPI, IBaseCredential, IBaseDataAPI, IBaseFundingFeeModel, IBaseHistory, IBaseMarketInfo, IBaseMarketValuationInfo, IBaseOrderCapInfo, IBaseOrderInfo, IBasePositionCapInfo, IBasePositionConfig, IBasePositionInfo, IBaseRebaseFeeModel, IBaseReservingFeeModel, IBaseStakePool, IBaseSymbolInfo, IBaseVaultInfo, ISwapFeeBreakdown } from "./base.mjs";
7
8
  export interface IUSDZMarketValuationInfo extends IBaseMarketValuationInfo {
8
9
  /** Oracle price per vault token at valuation time (e.g. { sui: 1.5, usdc: 1.0 }) */
@@ -99,6 +100,12 @@ export interface IUSDZDataAPI extends IBaseDataAPI {
99
100
  getSymbolConfig: (indexToken: string, long: boolean) => Promise<IUSDZSymbolConfig | null>;
100
101
  getPriceImpactConfig: (indexToken: string) => Promise<IUSDZPriceImpactConfig | null>;
101
102
  calculateSwapFeeBreakdown: (fromToken: string, toToken: string, fromAmount: number) => Promise<ISwapFeeBreakdown>;
103
+ valuateVaultsV2: (tx: Transaction, oracle: OracleInputs) => TransactionObjectArgument;
104
+ valuateSymbolsV2: (tx: Transaction, oracle: OracleInputs) => TransactionObjectArgument;
105
+ valuateV2: (tx: Transaction, oracle: OracleInputs) => {
106
+ vaultsValuation: TransactionObjectArgument;
107
+ symbolsValuation: TransactionObjectArgument;
108
+ };
102
109
  }
103
110
  export interface IUSDZAPI extends IBaseAPI {
104
111
  depositPtb: (coin: string, coinObjects: string[], amount: number, minAmountOut?: number, referralAddress?: string, sender?: string, tx?: Transaction, sponsoredTx?: boolean) => Promise<TransactionObjectArgument>;
@@ -112,5 +119,15 @@ export interface IUSDZAPI extends IBaseAPI {
112
119
  * Same as swap() but returns the output coin for use in composed transactions.
113
120
  */
114
121
  swapV2Ptb: (fromToken: string, toToken: string, fromAmount: bigint, fromCoinObjects: string[], minAmountOut?: number, tx?: Transaction) => Promise<TransactionObjectArgument>;
122
+ /** Pyth Pro + Stork swap (transfers output). */
123
+ swapV3: (fromToken: string, toToken: string, fromAmount: bigint, fromCoinObjects: string[], pythProUpdateBytes: Uint8Array | number[], minAmountOut?: number, tx?: Transaction) => Promise<Transaction>;
124
+ /** Pyth Pro + Stork swap PTB (returns output coin). */
125
+ swapV3Ptb: (fromToken: string, toToken: string, fromAmount: bigint, fromCoinObjects: string[], pythProUpdateBytes: Uint8Array | number[], minAmountOut?: number, tx?: Transaction) => Promise<TransactionObjectArgument>;
126
+ openPositionV3: (collateralToken: string, indexToken: string, size: bigint, collateralAmount: bigint, coinObjects: string[], long: boolean, reserveAmount: bigint, indexPrice: number, collateralPrice: number, pythProUpdateBytes: Uint8Array | number[], isLimitOrder?: boolean, isIocOrder?: boolean, pricesSlippage?: number, collateralSlippage?: number, relayerFee?: bigint, referralAddress?: string, sender?: string, sponsoredTx?: boolean) => Promise<Transaction>;
127
+ openPositionWithSCardV3: (collateralToken: string, indexToken: string, size: bigint, collateralAmount: bigint, coinObjects: string[], long: boolean, reserveAmount: bigint, indexPrice: number, collateralPrice: number, kioskClient: import('@mysten/kiosk').KioskClient, kioskCap: import('@mysten/kiosk').KioskOwnerCap, scard: string, pythProUpdateBytes: Uint8Array | number[], isLimitOrder?: boolean, isIocOrder?: boolean, pricesSlippage?: number, collateralSlippage?: number, relayerFee?: bigint, referralAddress?: string, sender?: string, sponsoredTx?: boolean) => Promise<Transaction>;
128
+ decreasePositionV3: (pcpId: string, collateralToken: string, indexToken: string, amount: bigint, long: boolean, indexPrice: number, collateralPrice: number, pythProUpdateBytes: Uint8Array | number[], isTriggerOrder?: boolean, isTakeProfitOrder?: boolean, isIocOrder?: boolean, pricesSlippage?: number, collateralSlippage?: number, relayerFee?: bigint, coinObjects?: string[], sponsoredTx?: boolean, sender?: string) => Promise<Transaction>;
129
+ decreasePositionWithSCardV3: (pcpId: string, collateralToken: string, indexToken: string, amount: bigint, long: boolean, indexPrice: number, collateralPrice: number, kioskClient: import('@mysten/kiosk').KioskClient, kioskCap: import('@mysten/kiosk').KioskOwnerCap, scard: string, pythProUpdateBytes: Uint8Array | number[], isTriggerOrder?: boolean, isTakeProfitOrder?: boolean, isIocOrder?: boolean, pricesSlippage?: number, collateralSlippage?: number, relayerFee?: bigint, coinObjects?: string[], sponsoredTx?: boolean, sender?: string) => Promise<Transaction>;
130
+ /** Pyth Pro path (not legacy feeder v2). */
131
+ redeemFromPositionV2: (pcpId: string, collateralToken: string, indexToken: string, amount: number, long: boolean, pythProUpdateBytes: Uint8Array | number[], tx?: Transaction) => Promise<Transaction>;
115
132
  }
116
133
  //# sourceMappingURL=usdz.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"usdz.d.mts","sourceRoot":"","sources":["../../src/interfaces/usdz.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"usdz.d.mts","sourceRoot":"","sources":["../../src/interfaces/usdz.ts"],"names":[],"mappings":"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"}
package/dist/oracle.cjs CHANGED
@@ -5,16 +5,21 @@ const transactions_1 = require("@mysten/sui/transactions");
5
5
  const pyth_sui_js_1 = require("@pythnetwork/pyth-sui-js");
6
6
  const coins_1 = require("./coins.cjs");
7
7
  const consts_1 = require("./consts/index.cjs");
8
+ const oraclePro_1 = require("./oraclePro.cjs");
9
+ const pythProClient_1 = require("./pythProClient.cjs");
10
+ const storkClient_1 = require("./storkClient.cjs");
11
+ const storkOracle_1 = require("./storkOracle.cjs");
8
12
  const utils_1 = require("./utils.cjs");
9
13
  class OracleAPI {
10
14
  constructor(network, provider,
11
15
  // todo 需要从配置文件中获取
12
- connectionURL, lpToken = consts_1.LPToken.ZLP) {
16
+ connectionURL, lpToken = consts_1.LPToken.ZLP, apiEndpoint = consts_1.DEFAULT_API_ENDPOINT) {
13
17
  this.priceCache = {};
14
18
  this.network = network;
15
19
  this.consts = (0, consts_1.getConsts)(network, lpToken);
16
20
  this.sharedConfig = (0, consts_1.getSharedConfig)(network);
17
21
  this.connectionURL = connectionURL;
22
+ this.apiEndpoint = apiEndpoint;
18
23
  this.PythFeederToPriceId = (0, consts_1.getPythFeederToPriceId)(network);
19
24
  this.PythFeederToId = (0, consts_1.getPythFeederToId)(network);
20
25
  this.provider = provider || (0, utils_1.createJsonRpcProvider)(network);
@@ -118,6 +123,119 @@ class OracleAPI {
118
123
  async getBaseUpdateFee() {
119
124
  return await this.client.getBaseUpdateFee();
120
125
  }
126
+ /**
127
+ * Resolve SDK token ids (e.g. `sui`, `btc`) to Pyth Lazer numeric feed ids.
128
+ */
129
+ resolveLazerFeedIdsForTokens(tokens) {
130
+ const zoOracle = (0, consts_1.getZoOracleConfig)(this.network);
131
+ return (0, oraclePro_1.resolveLazerFeedIds)(zoOracle, this.consts.coins, tokens, this.network, this.consts.pythFeeder.feeder);
132
+ }
133
+ /** Map SDK token ids to kronos Stork asset ids (e.g. `BTCUSD`). */
134
+ resolveStorkAssetsForTokens(tokens) {
135
+ const zoOracle = (0, consts_1.getZoOracleConfig)(this.network);
136
+ return (0, oraclePro_1.resolveStorkAssetsForTokens)(zoOracle, this.consts.coins, tokens);
137
+ }
138
+ /** Fetch Stork on-chain update payloads via kronos REST. */
139
+ async fetchStorkUpdateDataForTokens(tokens) {
140
+ const zoOracle = (0, consts_1.getZoOracleConfig)(this.network);
141
+ const assets = this.resolveStorkAssetsForTokens(tokens);
142
+ if (assets.length === 0) {
143
+ return [];
144
+ }
145
+ return await (0, storkClient_1.fetchStorkUpdateDataFromKronos)(this.resolveKronosUrl(), assets, (0, oraclePro_1.buildStorkAssetIdMap)(zoOracle));
146
+ }
147
+ /** Estimated Stork update fee in MIST for the given SDK tokens. */
148
+ estimateStorkUpdateFeeForTokens(tokens) {
149
+ return (0, storkOracle_1.estimateStorkUpdateFeeMist)(this.resolveStorkAssetsForTokens(tokens).length);
150
+ }
151
+ /** Kronos REST base URL used for Pyth Pro / Stork (`options.kronosUrl` overrides per call). */
152
+ resolveKronosUrl(kronosUrl) {
153
+ return kronosUrl ?? this.apiEndpoint;
154
+ }
155
+ /**
156
+ * V3 oracle PTB prelude: Stork on-chain updates → Pyth Pro verify → OracleInputs.
157
+ * Order: (1) Stork update, (2) parse_and_verify_le_ecdsa_update_v2, (3) ready for market op.
158
+ */
159
+ async initV3OracleTxb(tokens, tx, options) {
160
+ const tx_ = tx ?? new transactions_1.Transaction();
161
+ const config = this.getOracleProConfig();
162
+ if (!options?.skipStork) {
163
+ const storkAssets = this.resolveStorkAssetsForTokens(tokens);
164
+ if (storkAssets.length > 0) {
165
+ let storkUpdates = options?.storkUpdateData;
166
+ if (!storkUpdates) {
167
+ const zoOracle = (0, consts_1.getZoOracleConfig)(this.network);
168
+ storkUpdates = await (0, storkClient_1.fetchStorkUpdateDataFromKronos)(this.resolveKronosUrl(options?.kronosUrl), storkAssets, (0, oraclePro_1.buildStorkAssetIdMap)(zoOracle));
169
+ }
170
+ (0, storkOracle_1.appendStorkUpdatesToTransaction)(tx_, config, storkUpdates, {
171
+ feeSource: options?.storkFeeSource,
172
+ });
173
+ }
174
+ }
175
+ let rawBytes = options?.rawUpdateBytes;
176
+ if (!rawBytes) {
177
+ rawBytes = await this.fetchPythProUpdateBytesForTokens(tokens, options);
178
+ }
179
+ const pythProUpdate = (0, oraclePro_1.parseAndVerifyPythProUpdate)(tx_, config, rawBytes);
180
+ const oracle = (0, oraclePro_1.buildOracleInputs)(tx_, config, pythProUpdate);
181
+ return { tx: tx_, oracle };
182
+ }
183
+ /**
184
+ * Latest Pyth Pro prices via kronos REST (`/pyth-pro/latest-price`).
185
+ */
186
+ async getLatestPythProPricesForTokens(tokens, options) {
187
+ const priceFeedIds = this.resolveLazerFeedIdsForTokens(tokens);
188
+ return (0, pythProClient_1.getLatestPythProPrices)(this.resolveKronosUrl(options?.kronosUrl), {
189
+ priceFeedIds,
190
+ channel: options?.channel,
191
+ includeEmaPrice: options?.includeEmaPrice,
192
+ includeUpdateBytes: options?.includeUpdateBytes,
193
+ });
194
+ }
195
+ /** WebSocket client for kronos `/pyth-pro/stream`. */
196
+ createPythProStreamClient(kronosUrl) {
197
+ return new pythProClient_1.PythProStreamClient(this.resolveKronosUrl(kronosUrl));
198
+ }
199
+ /**
200
+ * Subscribe to live Pyth Pro prices for SDK tokens via kronos WebSocket.
201
+ * Returns unsubscribe (closes subscription; disconnect the client separately if unused).
202
+ */
203
+ async subPythProPricesForTokens(tokens, onUpdate, options, subscriptionId = 1) {
204
+ const client = this.createPythProStreamClient();
205
+ const priceFeedIds = this.resolveLazerFeedIdsForTokens(tokens);
206
+ await client.connect();
207
+ return client.subscribe({
208
+ subscriptionId,
209
+ priceFeedIds,
210
+ ...options,
211
+ }, onUpdate);
212
+ }
213
+ /**
214
+ * Fetch leEcdsa update bytes covering all tokens' Pyth Lazer feed ids via kronos REST.
215
+ */
216
+ async fetchPythProUpdateBytesForTokens(tokens, options) {
217
+ const config = this.getOracleProConfig();
218
+ const feedIds = this.resolveLazerFeedIdsForTokens(tokens);
219
+ return await (0, oraclePro_1.fetchPythProUpdateBytes)(this.resolveKronosUrl(options?.kronosUrl), feedIds, {
220
+ channel: options?.channel ?? config.lazerChannel,
221
+ includeEmaPrice: options?.includeEmaPrice,
222
+ });
223
+ }
224
+ getOracleProConfig() {
225
+ return (0, consts_1.buildOracleProConfig)((0, consts_1.getZoOracleConfig)(this.network));
226
+ }
227
+ /**
228
+ * PTB step for Pyth Pro paths: Stork updates (when configured) + parse_and_verify_le_ecdsa_update_v2.
229
+ * @deprecated Alias for {@link initV3OracleTxb}.
230
+ */
231
+ async initPythProOracleTxb(tokens, tx, options) {
232
+ return this.initV3OracleTxb(tokens, tx, options);
233
+ }
234
+ /** Re-use an already-verified Update object (composed PTBs). */
235
+ buildOracleInputsFromUpdate(tx, pythProUpdate) {
236
+ const config = this.getOracleProConfig();
237
+ return (0, oraclePro_1.buildOracleInputs)(tx, config, pythProUpdate);
238
+ }
121
239
  }
122
240
  exports.OracleAPI = OracleAPI;
123
241
  //# sourceMappingURL=oracle.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"oracle.cjs","sourceRoot":"","sources":["../src/oracle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oracle.cjs","sourceRoot":"","sources":["../src/oracle.ts"],"names":[],"mappings":"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"}
package/dist/oracle.d.cts CHANGED
@@ -4,12 +4,26 @@ import type { PriceFeed } from "@pythnetwork/pyth-sui-js";
4
4
  import { SuiPythClient } from "@pythnetwork/pyth-sui-js";
5
5
  import type { IConsts, Network } from "./consts/index.cjs";
6
6
  import { LPToken } from "./consts/index.cjs";
7
+ import type { IFetchPythProUpdateOptions, IInitPythProOracleTxbResult, OracleInputs } from "./oraclePro.cjs";
8
+ import type { IGetLatestPythProPricesOptions, IPythProStreamSubscription, PythProLatestPriceData, PythProStreamUpdate } from "./pythProClient.cjs";
9
+ import { PythProStreamClient } from "./pythProClient.cjs";
10
+ import type { IStorkUpdateData } from "./storkClient.cjs";
7
11
  import type { SuiClient } from "./suiClient.cjs";
8
12
  export interface IInitOracleSponsorOptions {
9
13
  sender: string;
10
14
  /** SUI (MIST) needed beyond Pyth update fees, e.g. SUI collateral deposit + relayer fee. */
11
15
  additionalSuiAmount?: bigint;
12
16
  }
17
+ export interface IInitPythProOracleOptions extends IFetchPythProUpdateOptions {
18
+ /** Pre-fetched leEcdsa update bytes. When omitted, bytes are fetched via kronos REST. */
19
+ rawUpdateBytes?: Uint8Array | number[];
20
+ /** Pre-fetched Stork update payloads. When omitted, fetched via kronos REST when needed. */
21
+ storkUpdateData?: IStorkUpdateData[];
22
+ /** Skip Stork on-chain updates even when assets are configured. */
23
+ skipStork?: boolean;
24
+ /** Coin to split Stork update fees from (defaults to gas coin). */
25
+ storkFeeSource?: TransactionObjectArgument;
26
+ }
13
27
  export interface IInitOracleTxbResult {
14
28
  tx: Transaction;
15
29
  /** Remaining SUI coin after Pyth fee splits; present when sponsored and SUI was resolved. */
@@ -20,12 +34,14 @@ export declare class OracleAPI {
20
34
  consts: IConsts;
21
35
  sharedConfig: IConsts;
22
36
  connectionURL: string;
37
+ /** Kronos REST base URL for Pyth Pro proxy. Defaults to `DEFAULT_API_ENDPOINT`. */
38
+ apiEndpoint: string;
23
39
  PythFeederToPriceId: Record<string, string>;
24
40
  PythFeederToId: Record<string, string>;
25
41
  provider: SuiClient;
26
42
  client: SuiPythClient;
27
43
  private priceCache;
28
- constructor(network: Network, provider: SuiClient | null, connectionURL: string, lpToken?: LPToken);
44
+ constructor(network: Network, provider: SuiClient | null, connectionURL: string, lpToken?: LPToken, apiEndpoint?: string);
29
45
  validateCache(): void;
30
46
  getOraclePrice(tokenId: string): Promise<PriceFeed>;
31
47
  getOraclePrices(tokens: string[]): Promise<PriceFeed[]>;
@@ -33,5 +49,45 @@ export declare class OracleAPI {
33
49
  getStalePriceFeedIds(tokens: string[]): Promise<string[]>;
34
50
  initOracleTxb(tokens: string[], tx?: Transaction, sponsoredTx?: boolean, sponsorOptions?: IInitOracleSponsorOptions): Promise<IInitOracleTxbResult>;
35
51
  getBaseUpdateFee(): Promise<number>;
52
+ /**
53
+ * Resolve SDK token ids (e.g. `sui`, `btc`) to Pyth Lazer numeric feed ids.
54
+ */
55
+ resolveLazerFeedIdsForTokens(tokens: string[]): number[];
56
+ /** Map SDK token ids to kronos Stork asset ids (e.g. `BTCUSD`). */
57
+ resolveStorkAssetsForTokens(tokens: string[]): string[];
58
+ /** Fetch Stork on-chain update payloads via kronos REST. */
59
+ fetchStorkUpdateDataForTokens(tokens: string[]): Promise<IStorkUpdateData[]>;
60
+ /** Estimated Stork update fee in MIST for the given SDK tokens. */
61
+ estimateStorkUpdateFeeForTokens(tokens: string[]): bigint;
62
+ /** Kronos REST base URL used for Pyth Pro / Stork (`options.kronosUrl` overrides per call). */
63
+ protected resolveKronosUrl(kronosUrl?: string): string;
64
+ /**
65
+ * V3 oracle PTB prelude: Stork on-chain updates → Pyth Pro verify → OracleInputs.
66
+ * Order: (1) Stork update, (2) parse_and_verify_le_ecdsa_update_v2, (3) ready for market op.
67
+ */
68
+ initV3OracleTxb(tokens: string[], tx?: Transaction, options?: IInitPythProOracleOptions): Promise<IInitPythProOracleTxbResult>;
69
+ /**
70
+ * Latest Pyth Pro prices via kronos REST (`/pyth-pro/latest-price`).
71
+ */
72
+ getLatestPythProPricesForTokens(tokens: string[], options?: Omit<IGetLatestPythProPricesOptions, 'priceFeedIds'>): Promise<PythProLatestPriceData>;
73
+ /** WebSocket client for kronos `/pyth-pro/stream`. */
74
+ createPythProStreamClient(kronosUrl?: string): PythProStreamClient;
75
+ /**
76
+ * Subscribe to live Pyth Pro prices for SDK tokens via kronos WebSocket.
77
+ * Returns unsubscribe (closes subscription; disconnect the client separately if unused).
78
+ */
79
+ subPythProPricesForTokens(tokens: string[], onUpdate: (update: PythProStreamUpdate) => void, options?: Omit<IPythProStreamSubscription, 'subscriptionId' | 'priceFeedIds'>, subscriptionId?: number): Promise<() => void>;
80
+ /**
81
+ * Fetch leEcdsa update bytes covering all tokens' Pyth Lazer feed ids via kronos REST.
82
+ */
83
+ fetchPythProUpdateBytesForTokens(tokens: string[], options?: IFetchPythProUpdateOptions): Promise<Uint8Array>;
84
+ protected getOracleProConfig(): import("./consts/index.cjs").IOracleProConfig;
85
+ /**
86
+ * PTB step for Pyth Pro paths: Stork updates (when configured) + parse_and_verify_le_ecdsa_update_v2.
87
+ * @deprecated Alias for {@link initV3OracleTxb}.
88
+ */
89
+ initPythProOracleTxb(tokens: string[], tx?: Transaction, options?: IInitPythProOracleOptions): Promise<IInitPythProOracleTxbResult>;
90
+ /** Re-use an already-verified Update object (composed PTBs). */
91
+ buildOracleInputsFromUpdate(tx: Transaction, pythProUpdate: TransactionObjectArgument): OracleInputs;
36
92
  }
37
93
  //# sourceMappingURL=oracle.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"oracle.d.cts","sourceRoot":"","sources":["../src/oracle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,iCAAgC;AACzE,OAAO,EAAE,WAAW,EAAE,iCAAgC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,iCAAgC;AACzD,OAAO,EAA6B,aAAa,EAAE,iCAAgC;AAGnF,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,2BAAgB;AAChD,OAAO,EAAiG,OAAO,EAAE,2BAAgB;AACjI,OAAO,KAAK,EAAE,SAAS,EAAE,wBAAmB;AAG5C,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,MAAM,CAAA;IACd,4FAA4F;IAC5F,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC7B;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,WAAW,CAAA;IACf,6FAA6F;IAC7F,aAAa,CAAC,EAAE,yBAAyB,CAAA;CAC1C;AAED,qBAAa,SAAS;IACpB,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,OAAO,CAAA;IACf,YAAY,EAAE,OAAO,CAAA;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC3C,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACtC,QAAQ,EAAE,SAAS,CAAA;IACnB,MAAM,EAAE,aAAa,CAAA;IAErB,OAAO,CAAC,UAAU,CAAgC;gBAGhD,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,SAAS,GAAG,IAAI,EAE1B,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE,OAAqB;IAgBhC,aAAa;IASP,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAanD,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAavD,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC;IAmB5F,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAgBzD,aAAa,CACjB,MAAM,EAAE,MAAM,EAAE,EAChB,EAAE,CAAC,EAAE,WAAW,EAChB,WAAW,CAAC,EAAE,OAAO,EACrB,cAAc,CAAC,EAAE,yBAAyB,GACzC,OAAO,CAAC,oBAAoB,CAAC;IA0D1B,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;CAG1C"}
1
+ {"version":3,"file":"oracle.d.cts","sourceRoot":"","sources":["../src/oracle.ts"],"names":[],"mappings":"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"}
package/dist/oracle.d.mts CHANGED
@@ -4,12 +4,26 @@ import type { PriceFeed } from "@pythnetwork/pyth-sui-js";
4
4
  import { SuiPythClient } from "@pythnetwork/pyth-sui-js";
5
5
  import type { IConsts, Network } from "./consts/index.mjs";
6
6
  import { LPToken } from "./consts/index.mjs";
7
+ import type { IFetchPythProUpdateOptions, IInitPythProOracleTxbResult, OracleInputs } from "./oraclePro.mjs";
8
+ import type { IGetLatestPythProPricesOptions, IPythProStreamSubscription, PythProLatestPriceData, PythProStreamUpdate } from "./pythProClient.mjs";
9
+ import { PythProStreamClient } from "./pythProClient.mjs";
10
+ import type { IStorkUpdateData } from "./storkClient.mjs";
7
11
  import type { SuiClient } from "./suiClient.mjs";
8
12
  export interface IInitOracleSponsorOptions {
9
13
  sender: string;
10
14
  /** SUI (MIST) needed beyond Pyth update fees, e.g. SUI collateral deposit + relayer fee. */
11
15
  additionalSuiAmount?: bigint;
12
16
  }
17
+ export interface IInitPythProOracleOptions extends IFetchPythProUpdateOptions {
18
+ /** Pre-fetched leEcdsa update bytes. When omitted, bytes are fetched via kronos REST. */
19
+ rawUpdateBytes?: Uint8Array | number[];
20
+ /** Pre-fetched Stork update payloads. When omitted, fetched via kronos REST when needed. */
21
+ storkUpdateData?: IStorkUpdateData[];
22
+ /** Skip Stork on-chain updates even when assets are configured. */
23
+ skipStork?: boolean;
24
+ /** Coin to split Stork update fees from (defaults to gas coin). */
25
+ storkFeeSource?: TransactionObjectArgument;
26
+ }
13
27
  export interface IInitOracleTxbResult {
14
28
  tx: Transaction;
15
29
  /** Remaining SUI coin after Pyth fee splits; present when sponsored and SUI was resolved. */
@@ -20,12 +34,14 @@ export declare class OracleAPI {
20
34
  consts: IConsts;
21
35
  sharedConfig: IConsts;
22
36
  connectionURL: string;
37
+ /** Kronos REST base URL for Pyth Pro proxy. Defaults to `DEFAULT_API_ENDPOINT`. */
38
+ apiEndpoint: string;
23
39
  PythFeederToPriceId: Record<string, string>;
24
40
  PythFeederToId: Record<string, string>;
25
41
  provider: SuiClient;
26
42
  client: SuiPythClient;
27
43
  private priceCache;
28
- constructor(network: Network, provider: SuiClient | null, connectionURL: string, lpToken?: LPToken);
44
+ constructor(network: Network, provider: SuiClient | null, connectionURL: string, lpToken?: LPToken, apiEndpoint?: string);
29
45
  validateCache(): void;
30
46
  getOraclePrice(tokenId: string): Promise<PriceFeed>;
31
47
  getOraclePrices(tokens: string[]): Promise<PriceFeed[]>;
@@ -33,5 +49,45 @@ export declare class OracleAPI {
33
49
  getStalePriceFeedIds(tokens: string[]): Promise<string[]>;
34
50
  initOracleTxb(tokens: string[], tx?: Transaction, sponsoredTx?: boolean, sponsorOptions?: IInitOracleSponsorOptions): Promise<IInitOracleTxbResult>;
35
51
  getBaseUpdateFee(): Promise<number>;
52
+ /**
53
+ * Resolve SDK token ids (e.g. `sui`, `btc`) to Pyth Lazer numeric feed ids.
54
+ */
55
+ resolveLazerFeedIdsForTokens(tokens: string[]): number[];
56
+ /** Map SDK token ids to kronos Stork asset ids (e.g. `BTCUSD`). */
57
+ resolveStorkAssetsForTokens(tokens: string[]): string[];
58
+ /** Fetch Stork on-chain update payloads via kronos REST. */
59
+ fetchStorkUpdateDataForTokens(tokens: string[]): Promise<IStorkUpdateData[]>;
60
+ /** Estimated Stork update fee in MIST for the given SDK tokens. */
61
+ estimateStorkUpdateFeeForTokens(tokens: string[]): bigint;
62
+ /** Kronos REST base URL used for Pyth Pro / Stork (`options.kronosUrl` overrides per call). */
63
+ protected resolveKronosUrl(kronosUrl?: string): string;
64
+ /**
65
+ * V3 oracle PTB prelude: Stork on-chain updates → Pyth Pro verify → OracleInputs.
66
+ * Order: (1) Stork update, (2) parse_and_verify_le_ecdsa_update_v2, (3) ready for market op.
67
+ */
68
+ initV3OracleTxb(tokens: string[], tx?: Transaction, options?: IInitPythProOracleOptions): Promise<IInitPythProOracleTxbResult>;
69
+ /**
70
+ * Latest Pyth Pro prices via kronos REST (`/pyth-pro/latest-price`).
71
+ */
72
+ getLatestPythProPricesForTokens(tokens: string[], options?: Omit<IGetLatestPythProPricesOptions, 'priceFeedIds'>): Promise<PythProLatestPriceData>;
73
+ /** WebSocket client for kronos `/pyth-pro/stream`. */
74
+ createPythProStreamClient(kronosUrl?: string): PythProStreamClient;
75
+ /**
76
+ * Subscribe to live Pyth Pro prices for SDK tokens via kronos WebSocket.
77
+ * Returns unsubscribe (closes subscription; disconnect the client separately if unused).
78
+ */
79
+ subPythProPricesForTokens(tokens: string[], onUpdate: (update: PythProStreamUpdate) => void, options?: Omit<IPythProStreamSubscription, 'subscriptionId' | 'priceFeedIds'>, subscriptionId?: number): Promise<() => void>;
80
+ /**
81
+ * Fetch leEcdsa update bytes covering all tokens' Pyth Lazer feed ids via kronos REST.
82
+ */
83
+ fetchPythProUpdateBytesForTokens(tokens: string[], options?: IFetchPythProUpdateOptions): Promise<Uint8Array>;
84
+ protected getOracleProConfig(): import("./consts/index.mjs").IOracleProConfig;
85
+ /**
86
+ * PTB step for Pyth Pro paths: Stork updates (when configured) + parse_and_verify_le_ecdsa_update_v2.
87
+ * @deprecated Alias for {@link initV3OracleTxb}.
88
+ */
89
+ initPythProOracleTxb(tokens: string[], tx?: Transaction, options?: IInitPythProOracleOptions): Promise<IInitPythProOracleTxbResult>;
90
+ /** Re-use an already-verified Update object (composed PTBs). */
91
+ buildOracleInputsFromUpdate(tx: Transaction, pythProUpdate: TransactionObjectArgument): OracleInputs;
36
92
  }
37
93
  //# sourceMappingURL=oracle.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"oracle.d.mts","sourceRoot":"","sources":["../src/oracle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,iCAAgC;AACzE,OAAO,EAAE,WAAW,EAAE,iCAAgC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,iCAAgC;AACzD,OAAO,EAA6B,aAAa,EAAE,iCAAgC;AAGnF,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,2BAAgB;AAChD,OAAO,EAAiG,OAAO,EAAE,2BAAgB;AACjI,OAAO,KAAK,EAAE,SAAS,EAAE,wBAAmB;AAG5C,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,MAAM,CAAA;IACd,4FAA4F;IAC5F,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC7B;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,WAAW,CAAA;IACf,6FAA6F;IAC7F,aAAa,CAAC,EAAE,yBAAyB,CAAA;CAC1C;AAED,qBAAa,SAAS;IACpB,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,OAAO,CAAA;IACf,YAAY,EAAE,OAAO,CAAA;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC3C,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACtC,QAAQ,EAAE,SAAS,CAAA;IACnB,MAAM,EAAE,aAAa,CAAA;IAErB,OAAO,CAAC,UAAU,CAAgC;gBAGhD,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,SAAS,GAAG,IAAI,EAE1B,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE,OAAqB;IAgBhC,aAAa;IASP,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAanD,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAavD,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC;IAmB5F,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAgBzD,aAAa,CACjB,MAAM,EAAE,MAAM,EAAE,EAChB,EAAE,CAAC,EAAE,WAAW,EAChB,WAAW,CAAC,EAAE,OAAO,EACrB,cAAc,CAAC,EAAE,yBAAyB,GACzC,OAAO,CAAC,oBAAoB,CAAC;IA0D1B,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;CAG1C"}
1
+ {"version":3,"file":"oracle.d.mts","sourceRoot":"","sources":["../src/oracle.ts"],"names":[],"mappings":"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"}