@bananapus/nana-sdk-core 1.9.2 → 1.9.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
- import { JBVersion } from "../types.js";
2
- import { Address, PublicClient } from "viem";
1
+ import { type JBVersion } from "../types.js";
2
+ import { type Address, type PublicClient } from "viem";
3
3
  /**
4
4
  * Find the 721 data hook for a given project and ruleset.
5
5
  *
@@ -1 +1 @@
1
- {"version":3,"file":"dataHook.d.ts","sourceRoot":"","sources":["../../../src/actions/dataHook.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6D,SAAS,EAAE,MAAM,aAAa,CAAC;AAEnG,OAAO,EAAE,OAAO,EAAE,YAAY,EAA4C,MAAM,MAAM,CAAC;AAQvF;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,YAAY,EAAE,YAAY,EAC1B,IAAI,EAAE;IACJ,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,SAAS,CAAC;CACpB,iCA4DF;AAED,wBAAsB,qBAAqB,CACzC,YAAY,EAAE,YAAY,EAC1B,IAAI,EAAE;IACJ,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,SAAS,CAAC;CACpB;;;;;;;;;KAgCF"}
1
+ {"version":3,"file":"dataHook.d.ts","sourceRoot":"","sources":["../../../src/actions/dataHook.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,SAAS,EACf,MAAM,aAAa,CAAC;AAErB,OAAO,EAIL,KAAK,OAAO,EACZ,KAAK,YAAY,EAClB,MAAM,MAAM,CAAC;AAQd;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,YAAY,EAAE,YAAY,EAC1B,IAAI,EAAE;IACJ,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,SAAS,CAAC;CACpB,iCA+DF;AAED,wBAAsB,qBAAqB,CACzC,YAAY,EAAE,YAAY,EAC1B,IAAI,EAAE;IACJ,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,SAAS,CAAC;CACpB;;;;;;;;;KAgCF"}
@@ -17,11 +17,14 @@ async function find721DataHook(publicClient, args) {
17
17
  if (!chainId) {
18
18
  throw new Error("[@bananapus/nana-sdk-core] No chain ID on public client.");
19
19
  }
20
- const deployerAddress = (0, contracts_js_1.getJBContractAddress)(types_js_1.JB721HookContracts.JB721TiersHookDeployer, args.version, chainId);
21
- const registerAddress = (0, contracts_js_1.getJBContractAddress)(types_js_1.JBAddressRegistryContracts.JBAddressRegistry, args.version, chainId);
22
- if (!registerAddress) {
20
+ let registerAddress;
21
+ try {
22
+ registerAddress = (0, contracts_js_1.getJBContractAddress)(types_js_1.JBAddressRegistryContracts.JBAddressRegistry, args.version, chainId);
23
+ }
24
+ catch {
23
25
  throw new Error(`[@bananapus/nana-sdk-core] No JBAddressRegistry address for chain ${chainId}.`);
24
26
  }
27
+ const deployerAddress = (0, contracts_js_1.getJBContractAddress)(types_js_1.JB721HookContracts.JB721TiersHookDeployer, args.version, chainId);
25
28
  const registry = (0, viem_1.getContract)({
26
29
  address: registerAddress,
27
30
  abi: juicebox_js_1.jbAddressRegistryAbi,
@@ -1 +1 @@
1
- {"version":3,"file":"dataHook.js","sourceRoot":"","sources":["../../../src/actions/dataHook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dataHook.js","sourceRoot":"","sources":["../../../src/actions/dataHook.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
+ import { type Address } from "viem";
1
2
  import { useConfig } from "wagmi";
2
3
  import { JBVersion } from "../contracts.js";
3
4
  import { jbContractAddress } from "../generated/juicebox.js";
4
5
  import { JBChainId } from "../types.js";
5
6
  type ContractsForVersion<V extends JBVersion> = V extends 4 ? keyof (typeof jbContractAddress)["4"] : V extends 5 ? keyof (typeof jbContractAddress)["5"] : V extends 6 ? keyof (typeof jbContractAddress)["6"] : never;
6
- export declare function getJBContractAddress<V extends JBVersion>(contract: ContractsForVersion<V>, version: V, chainId: JBChainId): `0x${string}`;
7
+ export declare function getJBContractAddress<V extends JBVersion>(contract: ContractsForVersion<V>, version: V, chainId: JBChainId): Address;
7
8
  export declare function getProjectTerminalStore(chainId: JBChainId, version: JBVersion): `0x${string}`;
8
9
  export declare function getPrimaryNativeTerminal(config: ReturnType<typeof useConfig>, chainId: JBChainId, projectId: bigint, version: JBVersion): Promise<`0x${string}`>;
9
10
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../../src/utils/contracts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAAmB,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAkB,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,KAAK,mBAAmB,CAAC,CAAC,SAAS,SAAS,IAAI,CAAC,SAAS,CAAC,GACvD,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAC,GAAG,CAAC,GACrC,CAAC,SAAS,CAAC,GACT,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAC,GAAG,CAAC,GACrC,CAAC,SAAS,CAAC,GACT,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAC,GAAG,CAAC,GACrC,KAAK,CAAC;AAEd,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,SAAS,EACtD,QAAQ,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAChC,OAAO,EAAE,CAAC,EACV,OAAO,EAAE,SAAS,GACjB,KAAK,MAAM,EAAE,CAKf;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,SAAS,iBAOnB;AAED,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,UAAU,CAAC,OAAO,SAAS,CAAC,EACpC,OAAO,EAAE,SAAS,EAClB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,SAAS,0BAqBnB"}
1
+ {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../../src/utils/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,OAAO,EAEb,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAAmB,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAkB,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,KAAK,mBAAmB,CAAC,CAAC,SAAS,SAAS,IAAI,CAAC,SAAS,CAAC,GACvD,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAC,GAAG,CAAC,GACrC,CAAC,SAAS,CAAC,GACT,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAC,GAAG,CAAC,GACrC,CAAC,SAAS,CAAC,GACT,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAC,GAAG,CAAC,GACrC,KAAK,CAAC;AAEd,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,SAAS,EACtD,QAAQ,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAChC,OAAO,EAAE,CAAC,EACV,OAAO,EAAE,SAAS,GACjB,OAAO,CAgBT;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,SAAS,iBAOnB;AAED,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,UAAU,CAAC,OAAO,SAAS,CAAC,EACpC,OAAO,EAAE,SAAS,EAClB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,SAAS,0BAqBnB"}
@@ -10,7 +10,12 @@ const juicebox_js_1 = require("../generated/juicebox.js");
10
10
  function getJBContractAddress(contract, version, chainId) {
11
11
  const versionKey = version.toString();
12
12
  const chainKey = chainId.toString();
13
- return juicebox_js_1.jbContractAddress[versionKey]?.[contract]?.[chainKey];
13
+ const deployments = juicebox_js_1.jbContractAddress[versionKey];
14
+ const address = deployments[String(contract)]?.[chainKey];
15
+ if (!address) {
16
+ throw new Error(`No ${String(contract)} deployment for Juicebox V${version} on chain ${chainId}.`);
17
+ }
18
+ return address;
14
19
  }
15
20
  function getProjectTerminalStore(chainId, version) {
16
21
  return getJBContractAddress(contracts_js_1.JBCoreContracts.JBTerminalStore, version, chainId);
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../../src/utils/contracts.ts"],"names":[],"mappings":";;AAgBA,oDASC;AAED,0DASC;AAED,4DAyBC;AA/DD,+BAAuE;AAEvE,kDAA+D;AAC/D,kDAA6D;AAC7D,0DAA6E;AAY7E,SAAgB,oBAAoB,CAClC,QAAgC,EAChC,OAAU,EACV,OAAkB;IAElB,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,EAAoC,CAAC;IACxE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAEpC,OAAQ,+BAAiB,CAAC,UAAU,CAAS,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;AACxE,CAAC;AAED,SAAgB,uBAAuB,CACrC,OAAkB,EAClB,OAAkB;IAElB,OAAO,oBAAoB,CACzB,8BAAe,CAAC,eAAe,EAC/B,OAAO,EACP,OAAO,CACR,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,wBAAwB,CAC5C,MAAoC,EACpC,OAAkB,EAClB,SAAiB,EACjB,OAAkB;IAElB,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAiB,CAAC;IAE9E,MAAM,OAAO,GAAG,oBAAoB,CAClC,8BAAe,CAAC,WAAW,EAC3B,OAAO,EACP,OAAO,CACR,CAAC;IACF,MAAM,SAAS,GAAG,IAAA,kBAAW,EAAC,EAAE,OAAO,EAAE,GAAG,EAAE,4BAAc,EAAE,MAAM,EAAE,CAAC,CAAC;IAExE,MAAM,qBAAqB,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC;QACnE,SAAS;QACT,2BAAY;KACb,CAAC,CAAC;IACH,IAAI,qBAAqB,KAAK,kBAAW;QAAE,OAAO,qBAAqB,CAAC;IAExE,OAAO,MAAM,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC;QAC5C,SAAS;QACT,6BAAc,CAAC,OAAO,CAAC;KACxB,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../../src/utils/contracts.ts"],"names":[],"mappings":";;AAqBA,oDAoBC;AAED,0DASC;AAED,4DAyBC;AA/ED,+BAKc;AAEd,kDAA+D;AAC/D,kDAA6D;AAC7D,0DAA6E;AAY7E,SAAgB,oBAAoB,CAClC,QAAgC,EAChC,OAAU,EACV,OAAkB;IAElB,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,EAAoC,CAAC;IACxE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IACpC,MAAM,WAAW,GAAG,+BAAiB,CAAC,UAAU,CAG/C,CAAC;IACF,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;IAE1D,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,MAAM,MAAM,CAAC,QAAQ,CAAC,6BAA6B,OAAO,aAAa,OAAO,GAAG,CAClF,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAgB,uBAAuB,CACrC,OAAkB,EAClB,OAAkB;IAElB,OAAO,oBAAoB,CACzB,8BAAe,CAAC,eAAe,EAC/B,OAAO,EACP,OAAO,CACR,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,wBAAwB,CAC5C,MAAoC,EACpC,OAAkB,EAClB,SAAiB,EACjB,OAAkB;IAElB,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAiB,CAAC;IAE9E,MAAM,OAAO,GAAG,oBAAoB,CAClC,8BAAe,CAAC,WAAW,EAC3B,OAAO,EACP,OAAO,CACR,CAAC;IACF,MAAM,SAAS,GAAG,IAAA,kBAAW,EAAC,EAAE,OAAO,EAAE,GAAG,EAAE,4BAAc,EAAE,MAAM,EAAE,CAAC,CAAC;IAExE,MAAM,qBAAqB,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC;QACnE,SAAS;QACT,2BAAY;KACb,CAAC,CAAC;IACH,IAAI,qBAAqB,KAAK,kBAAW;QAAE,OAAO,qBAAqB,CAAC;IAExE,OAAO,MAAM,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC;QAC5C,SAAS;QACT,6BAAc,CAAC,OAAO,CAAC;KACxB,CAAC,CAAC;AACL,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { Address, Hex, PublicClient } from "viem";
2
2
  import { jbMultiTerminalAbi } from "../generated/juicebox.js";
3
3
  import { JBChainId } from "../types.js";
4
+ import { type UniswapV4PoolKey, type UniswapV4SwapTxRequest } from "./uniswapV4.js";
4
5
  /**
5
6
  * A prepared `cashOutTokensOf` transaction request, accepted as-is by viem's
6
7
  * `walletClient.writeContract` and wagmi's `writeContract`.
@@ -229,6 +230,57 @@ export interface CashOutRoute {
229
230
  hook: Address;
230
231
  }) | null;
231
232
  }
233
+ /** A terminal cash out or a direct sale of already-claimed project ERC-20s. */
234
+ export type BestCashOutRoute = {
235
+ kind: "cash-out";
236
+ expectedReturn: bigint;
237
+ minimumReturn: bigint;
238
+ cashOut: CashOutRoute;
239
+ } | {
240
+ kind: "direct-swap";
241
+ expectedReturn: bigint;
242
+ minimumReturn: bigint;
243
+ /** The displaced terminal route, retained for comparison and fallback. */
244
+ cashOut: CashOutRoute;
245
+ poolKey: UniswapV4PoolKey;
246
+ zeroForOne: boolean;
247
+ };
248
+ /**
249
+ * Pick the executable exit which guarantees the holder the most reclaim token.
250
+ *
251
+ * A direct pool sale can only spend claimed ERC-20s. Internal Juicebox credits
252
+ * stay on the terminal route until they are claimed. The direct route must beat
253
+ * the terminal's full expected output even after user slippage; an optimistic
254
+ * pool quote alone is never enough to displace a deterministic cash out.
255
+ */
256
+ export declare function chooseBestCashOutRoute({ cashOut, directSwapQuote, directSwapPoolKey, directSwapZeroForOne, spendableProjectTokenCount, cashOutCount, slippageBps, }: {
257
+ cashOut: CashOutRoute;
258
+ directSwapQuote?: bigint | null;
259
+ directSwapPoolKey?: UniswapV4PoolKey;
260
+ directSwapZeroForOne?: boolean;
261
+ spendableProjectTokenCount?: bigint;
262
+ cashOutCount: bigint;
263
+ slippageBps?: bigint;
264
+ }): BestCashOutRoute;
265
+ export interface DirectCashOutSwapArguments {
266
+ poolKey: UniswapV4PoolKey;
267
+ projectToken: Address;
268
+ /** Claimed ERC-20 balance available to the Universal Router. */
269
+ spendableProjectTokenCount: bigint;
270
+ }
271
+ export interface BestCashOutArguments extends HookAwareCashOutArguments {
272
+ directSwap?: DirectCashOutSwapArguments;
273
+ }
274
+ /** Pool fee/impact already reflected by the buyback hook's executable quote. */
275
+ export declare function cashOutPoolBufferBps(route: CashOutRoute | null | undefined): bigint | null;
276
+ /** Machine-readable cash-out failures which clients can translate into copy. */
277
+ export type CashOutExecutionErrorCode = "BUYBACK_SLIPPAGE_EXCEEDED" | "TERMINAL_UNDER_MIN";
278
+ export interface CashOutExecutionError {
279
+ code: CashOutExecutionErrorCode;
280
+ selector: Hex;
281
+ }
282
+ /** Classify known cash-out errors through viem/wallet nested error shapes. */
283
+ export declare function classifyCashOutExecutionError(error: unknown): CashOutExecutionError | null;
232
284
  /**
233
285
  * Interpret a hook-aware `previewCashOutFrom` result and prepare a
234
286
  * slippage-protected route.
@@ -297,7 +349,7 @@ export declare function resolveCashOutRoute({ reclaimAmount, cashOutTaxRate, hoo
297
349
  * {@link DEFAULT_CASH_OUT_SLIPPAGE_BPS}.
298
350
  * @returns The protected route (see {@link CashOutRoute}).
299
351
  */
300
- export declare function getHookAwareCashOutQuote(client: PublicClient, { chainId, projectId, holder, cashOutCount, tokenToReclaim, beneficiary, terminal, buybackHookAddress, beneficiaryIsFeeless, slippageBps, }: {
352
+ export interface HookAwareCashOutArguments {
301
353
  chainId: JBChainId;
302
354
  projectId: bigint;
303
355
  holder: Address;
@@ -308,5 +360,60 @@ export declare function getHookAwareCashOutQuote(client: PublicClient, { chainId
308
360
  buybackHookAddress?: Address;
309
361
  beneficiaryIsFeeless?: boolean;
310
362
  slippageBps?: bigint;
311
- }): Promise<CashOutRoute>;
363
+ }
364
+ /** The protocol facts returned by one `previewCashOutFrom` call. */
365
+ export interface CashOutPreviewSnapshot {
366
+ rulesetId: bigint | null;
367
+ reclaimAmount: bigint;
368
+ cashOutTaxRate: bigint;
369
+ hookSpecifications: readonly CashOutHookSpecification[];
370
+ }
371
+ export declare function getHookAwareCashOutQuote(client: PublicClient, { chainId, projectId, holder, cashOutCount, tokenToReclaim, beneficiary, terminal, buybackHookAddress, beneficiaryIsFeeless, slippageBps, }: HookAwareCashOutArguments): Promise<CashOutRoute>;
372
+ /**
373
+ * Quote the best user exit across the terminal and a directly spendable pool.
374
+ *
375
+ * `previewCashOutFrom` remains the source of truth for terminal and buyback-hook
376
+ * settlement. When a matching pool and sufficient claimed ERC-20 balance are
377
+ * supplied, the V4 Quoter is read as well and a direct swap wins only when its
378
+ * slippage-protected minimum exceeds the terminal route's full expected output.
379
+ */
380
+ export declare function getBestCashOutRoute(client: PublicClient, args: BestCashOutArguments): Promise<BestCashOutRoute>;
381
+ export declare class CashOutRouteChangedError extends Error {
382
+ readonly code = "CASH_OUT_ROUTE_CHANGED";
383
+ constructor();
384
+ }
385
+ /** A fresh quote, locked AMM preview, and matching transaction request. */
386
+ export interface PreparedHookAwareCashOut {
387
+ route: CashOutRoute;
388
+ transaction: V6CashOutTxRequest;
389
+ preview: CashOutPreviewSnapshot;
390
+ lockedPreview: CashOutPreviewSnapshot | null;
391
+ }
392
+ export type PreparedBestCashOut = ({
393
+ kind: "cash-out";
394
+ } & PreparedHookAwareCashOut) | {
395
+ kind: "direct-swap";
396
+ route: Extract<BestCashOutRoute, {
397
+ kind: "direct-swap";
398
+ }>;
399
+ transaction: UniswapV4SwapTxRequest;
400
+ };
401
+ /**
402
+ * Prepare the exact hook-aware cash-out request a wallet should submit.
403
+ *
404
+ * Pool routes are re-previewed with their slippage metadata before the request
405
+ * is returned. This proves the executable minimum still selects the same route
406
+ * and avoids clients independently composing a stale quote and transaction.
407
+ */
408
+ export declare function prepareHookAwareCashOut(client: PublicClient, { chainId, projectId, holder, cashOutCount, tokenToReclaim, beneficiary, terminal, buybackHookAddress, beneficiaryIsFeeless, slippageBps, }: HookAwareCashOutArguments): Promise<PreparedHookAwareCashOut>;
409
+ /**
410
+ * Freshly prepare the best executable cash-out or direct-swap transaction.
411
+ *
412
+ * A direct swap is freshly quoted and slippage-floored in the same operation
413
+ * which builds its Universal Router request. If it cannot safely beat the
414
+ * terminal, the terminal path is re-previewed and locked instead.
415
+ */
416
+ export declare function prepareBestCashOut(client: PublicClient, args: BestCashOutArguments & {
417
+ directSwapDeadline: bigint;
418
+ }): Promise<PreparedBestCashOut>;
312
419
  //# sourceMappingURL=cashOut.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cashOut.d.ts","sourceRoot":"","sources":["../../../src/v6/cashOut.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cashOut.d.ts","sourceRoot":"","sources":["../../../src/v6/cashOut.ts"],"names":[],"mappings":"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"}