@hobba-io/core 0.1.0

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 (190) hide show
  1. package/LICENSE +15 -0
  2. package/README.md +87 -0
  3. package/dist/amountUtils.d.ts +15 -0
  4. package/dist/amountUtils.d.ts.map +1 -0
  5. package/dist/amountUtils.js +59 -0
  6. package/dist/amountUtils.js.map +1 -0
  7. package/dist/constants.d.ts +148 -0
  8. package/dist/constants.d.ts.map +1 -0
  9. package/dist/constants.js +231 -0
  10. package/dist/constants.js.map +1 -0
  11. package/dist/errors.d.ts +7 -0
  12. package/dist/errors.d.ts.map +1 -0
  13. package/dist/errors.js +29 -0
  14. package/dist/errors.js.map +1 -0
  15. package/dist/executeAction.d.ts +36 -0
  16. package/dist/executeAction.d.ts.map +1 -0
  17. package/dist/executeAction.js +606 -0
  18. package/dist/executeAction.js.map +1 -0
  19. package/dist/executeDepositBorrow.d.ts +49 -0
  20. package/dist/executeDepositBorrow.d.ts.map +1 -0
  21. package/dist/executeDepositBorrow.js +444 -0
  22. package/dist/executeDepositBorrow.js.map +1 -0
  23. package/dist/idl/hobba.json +5072 -0
  24. package/dist/idl.d.ts +783 -0
  25. package/dist/idl.d.ts.map +1 -0
  26. package/dist/idl.js +7 -0
  27. package/dist/idl.js.map +1 -0
  28. package/dist/index.d.ts +17 -0
  29. package/dist/index.d.ts.map +1 -0
  30. package/dist/index.js +22 -0
  31. package/dist/index.js.map +1 -0
  32. package/dist/juplend/accountResolvers.d.ts +106 -0
  33. package/dist/juplend/accountResolvers.d.ts.map +1 -0
  34. package/dist/juplend/accountResolvers.js +148 -0
  35. package/dist/juplend/accountResolvers.js.map +1 -0
  36. package/dist/juplend/operateRemaining.d.ts +11 -0
  37. package/dist/juplend/operateRemaining.d.ts.map +1 -0
  38. package/dist/juplend/operateRemaining.js +46 -0
  39. package/dist/juplend/operateRemaining.js.map +1 -0
  40. package/dist/juplend/positionInit.d.ts +34 -0
  41. package/dist/juplend/positionInit.d.ts.map +1 -0
  42. package/dist/juplend/positionInit.js +56 -0
  43. package/dist/juplend/positionInit.js.map +1 -0
  44. package/dist/juplend/positionParser.d.ts +8 -0
  45. package/dist/juplend/positionParser.d.ts.map +1 -0
  46. package/dist/juplend/positionParser.js +30 -0
  47. package/dist/juplend/positionParser.js.map +1 -0
  48. package/dist/juplend/sdkApi.d.ts +39 -0
  49. package/dist/juplend/sdkApi.d.ts.map +1 -0
  50. package/dist/juplend/sdkApi.js +68 -0
  51. package/dist/juplend/sdkApi.js.map +1 -0
  52. package/dist/juplend/tickMath.d.ts +19 -0
  53. package/dist/juplend/tickMath.d.ts.map +1 -0
  54. package/dist/juplend/tickMath.js +91 -0
  55. package/dist/juplend/tickMath.js.map +1 -0
  56. package/dist/juplend/tickUtils.d.ts +20 -0
  57. package/dist/juplend/tickUtils.d.ts.map +1 -0
  58. package/dist/juplend/tickUtils.js +115 -0
  59. package/dist/juplend/tickUtils.js.map +1 -0
  60. package/dist/juplend/vaultConfigParser.d.ts +25 -0
  61. package/dist/juplend/vaultConfigParser.d.ts.map +1 -0
  62. package/dist/juplend/vaultConfigParser.js +38 -0
  63. package/dist/juplend/vaultConfigParser.js.map +1 -0
  64. package/dist/kamino/accountResolvers.d.ts +110 -0
  65. package/dist/kamino/accountResolvers.d.ts.map +1 -0
  66. package/dist/kamino/accountResolvers.js +220 -0
  67. package/dist/kamino/accountResolvers.js.map +1 -0
  68. package/dist/kamino/obligationParser.d.ts +13 -0
  69. package/dist/kamino/obligationParser.d.ts.map +1 -0
  70. package/dist/kamino/obligationParser.js +92 -0
  71. package/dist/kamino/obligationParser.js.map +1 -0
  72. package/dist/kamino/refreshInstructions.d.ts +4 -0
  73. package/dist/kamino/refreshInstructions.d.ts.map +1 -0
  74. package/dist/kamino/refreshInstructions.js +32 -0
  75. package/dist/kamino/refreshInstructions.js.map +1 -0
  76. package/dist/limits.d.ts +87 -0
  77. package/dist/limits.d.ts.map +1 -0
  78. package/dist/limits.js +174 -0
  79. package/dist/limits.js.map +1 -0
  80. package/dist/marketConfig.d.ts +35 -0
  81. package/dist/marketConfig.d.ts.map +1 -0
  82. package/dist/marketConfig.js +85 -0
  83. package/dist/marketConfig.js.map +1 -0
  84. package/dist/oracle/scopePrice.d.ts +7 -0
  85. package/dist/oracle/scopePrice.d.ts.map +1 -0
  86. package/dist/oracle/scopePrice.js +31 -0
  87. package/dist/oracle/scopePrice.js.map +1 -0
  88. package/dist/pdas.d.ts +33 -0
  89. package/dist/pdas.d.ts.map +1 -0
  90. package/dist/pdas.js +116 -0
  91. package/dist/pdas.js.map +1 -0
  92. package/dist/position.d.ts +45 -0
  93. package/dist/position.d.ts.map +1 -0
  94. package/dist/position.js +68 -0
  95. package/dist/position.js.map +1 -0
  96. package/dist/positionMetrics.d.ts +108 -0
  97. package/dist/positionMetrics.d.ts.map +1 -0
  98. package/dist/positionMetrics.js +238 -0
  99. package/dist/positionMetrics.js.map +1 -0
  100. package/dist/program.d.ts +12 -0
  101. package/dist/program.d.ts.map +1 -0
  102. package/dist/program.js +24 -0
  103. package/dist/program.js.map +1 -0
  104. package/dist/quote.d.ts +90 -0
  105. package/dist/quote.d.ts.map +1 -0
  106. package/dist/quote.js +198 -0
  107. package/dist/quote.js.map +1 -0
  108. package/dist/rates/borrowRates.d.ts +44 -0
  109. package/dist/rates/borrowRates.d.ts.map +1 -0
  110. package/dist/rates/borrowRates.js +229 -0
  111. package/dist/rates/borrowRates.js.map +1 -0
  112. package/dist/rates/collateralInfo.d.ts +21 -0
  113. package/dist/rates/collateralInfo.d.ts.map +1 -0
  114. package/dist/rates/collateralInfo.js +104 -0
  115. package/dist/rates/collateralInfo.js.map +1 -0
  116. package/dist/rates/constants.d.ts +22 -0
  117. package/dist/rates/constants.d.ts.map +1 -0
  118. package/dist/rates/constants.js +70 -0
  119. package/dist/rates/constants.js.map +1 -0
  120. package/dist/rates/index.d.ts +11 -0
  121. package/dist/rates/index.d.ts.map +1 -0
  122. package/dist/rates/index.js +11 -0
  123. package/dist/rates/index.js.map +1 -0
  124. package/dist/rates/kaminoApi.d.ts +24 -0
  125. package/dist/rates/kaminoApi.d.ts.map +1 -0
  126. package/dist/rates/kaminoApi.js +98 -0
  127. package/dist/rates/kaminoApi.js.map +1 -0
  128. package/dist/rates/supplyRates.d.ts +23 -0
  129. package/dist/rates/supplyRates.d.ts.map +1 -0
  130. package/dist/rates/supplyRates.js +67 -0
  131. package/dist/rates/supplyRates.js.map +1 -0
  132. package/dist/transactionBuilder.d.ts +5 -0
  133. package/dist/transactionBuilder.d.ts.map +1 -0
  134. package/dist/transactionBuilder.js +287 -0
  135. package/dist/transactionBuilder.js.map +1 -0
  136. package/dist/txHelpers.d.ts +16 -0
  137. package/dist/txHelpers.d.ts.map +1 -0
  138. package/dist/txHelpers.js +82 -0
  139. package/dist/txHelpers.js.map +1 -0
  140. package/dist/userState.d.ts +21 -0
  141. package/dist/userState.d.ts.map +1 -0
  142. package/dist/userState.js +60 -0
  143. package/dist/userState.js.map +1 -0
  144. package/dist/vault/vaultAccounts.d.ts +82 -0
  145. package/dist/vault/vaultAccounts.d.ts.map +1 -0
  146. package/dist/vault/vaultAccounts.js +275 -0
  147. package/dist/vault/vaultAccounts.js.map +1 -0
  148. package/dist/wallet.d.ts +12 -0
  149. package/dist/wallet.d.ts.map +1 -0
  150. package/dist/wallet.js +2 -0
  151. package/dist/wallet.js.map +1 -0
  152. package/package.json +63 -0
  153. package/src/amountUtils.ts +69 -0
  154. package/src/constants.ts +263 -0
  155. package/src/errors.ts +33 -0
  156. package/src/executeAction.ts +884 -0
  157. package/src/executeDepositBorrow.ts +677 -0
  158. package/src/idl/hobba.json +5072 -0
  159. package/src/idl.ts +7 -0
  160. package/src/index.ts +21 -0
  161. package/src/juplend/accountResolvers.ts +207 -0
  162. package/src/juplend/operateRemaining.ts +81 -0
  163. package/src/juplend/positionInit.ts +86 -0
  164. package/src/juplend/positionParser.ts +41 -0
  165. package/src/juplend/sdkApi.ts +112 -0
  166. package/src/juplend/tickMath.ts +82 -0
  167. package/src/juplend/tickUtils.ts +163 -0
  168. package/src/juplend/vaultConfigParser.ts +45 -0
  169. package/src/kamino/accountResolvers.ts +299 -0
  170. package/src/kamino/obligationParser.ts +123 -0
  171. package/src/kamino/refreshInstructions.ts +45 -0
  172. package/src/limits.ts +222 -0
  173. package/src/marketConfig.ts +139 -0
  174. package/src/oracle/scopePrice.ts +31 -0
  175. package/src/pdas.ts +226 -0
  176. package/src/position.ts +131 -0
  177. package/src/positionMetrics.ts +387 -0
  178. package/src/program.ts +30 -0
  179. package/src/quote.ts +310 -0
  180. package/src/rates/borrowRates.ts +270 -0
  181. package/src/rates/collateralInfo.ts +136 -0
  182. package/src/rates/constants.ts +87 -0
  183. package/src/rates/index.ts +38 -0
  184. package/src/rates/kaminoApi.ts +134 -0
  185. package/src/rates/supplyRates.ts +102 -0
  186. package/src/transactionBuilder.ts +324 -0
  187. package/src/txHelpers.ts +107 -0
  188. package/src/userState.ts +91 -0
  189. package/src/vault/vaultAccounts.ts +365 -0
  190. package/src/wallet.ts +12 -0
package/LICENSE ADDED
@@ -0,0 +1,15 @@
1
+ ISC License
2
+
3
+ Copyright (c) 2026 Hobba
4
+
5
+ Permission to use, copy, modify, and/or distribute this software for any
6
+ purpose with or without fee is hereby granted, provided that the above
7
+ copyright notice and this permission notice appear in all copies.
8
+
9
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
10
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
11
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
12
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
13
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
14
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
15
+ PERFORMANCE OF THIS SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,87 @@
1
+ # @hobba-io/core
2
+
3
+ Hobba SDK — the shared on-chain logic behind [app.hobba.io](https://app.hobba.io): deposit/borrow
4
+ flows, position reads, projection math, PDAs, constants and account resolvers for the Hobba
5
+ program on Solana. Consumed by the Hobba app, the embeddable widget and partner integrations.
6
+
7
+ ## Install
8
+
9
+ ```bash
10
+ npm install @hobba-io/core @coral-xyz/anchor @solana/web3.js @solana/spl-token bn.js
11
+ ```
12
+
13
+ The Solana stack is declared as **peer dependencies** so your bundle holds exactly one copy of
14
+ `@solana/web3.js` / `bn.js` (two copies break `instanceof PublicKey` checks).
15
+ `@kamino-finance/klend-sdk` is an **optional** peer — only needed if you use the server-side
16
+ `@hobba-io/core/rates` subpath.
17
+
18
+ > **Bundler required.** This package ships ESM with extensionless relative imports and is
19
+ > targeted at bundler consumers (Next.js/webpack, esbuild/tsup, Vite). It is not consumable
20
+ > from bare Node ESM without a bundler or a loader such as `tsx`.
21
+
22
+ ## Quick start
23
+
24
+ ```ts
25
+ import {
26
+ executeDepositBorrow,
27
+ executeAction,
28
+ getPosition,
29
+ getPositionMetrics,
30
+ getQuote,
31
+ getLimits,
32
+ parseCollateral,
33
+ parseUsdc,
34
+ CBBTC_MINT,
35
+ SOL_MINT,
36
+ } from "@hobba-io/core";
37
+
38
+ // One-call onboarding: routes the lender, initializes first-time users
39
+ // (origin id recorded on-chain), wraps SOL, resolves accounts/LUTs, sends
40
+ // and confirms with tick-error recovery.
41
+ const { depositSig, borrowSig, lender } = await executeDepositBorrow({
42
+ connection, // your web3.js Connection
43
+ signer, // { publicKey, signTransaction }
44
+ collateralMint: CBBTC_MINT, // or SOL_MINT
45
+ depositAmount: parseCollateral("0.01", CBBTC_MINT),
46
+ borrowAmount: parseUsdc("250"),
47
+ apiBaseUrl: "https://app.hobba.io", // Hobba backend serving /api/juplend-operate, /api/lut, ...
48
+ onStep: (s) => console.log(s),
49
+ });
50
+ ```
51
+
52
+ Follow-up actions on existing positions use `executeAction({ action: "deposit" | "borrow" |
53
+ "repay" | "withdraw", amount, ... })`; reads use `getPosition` / `getPositionMetrics` /
54
+ `getQuote` / `getLimits` with the same `{ connection, owner, collateralMint, apiBaseUrl }` shape.
55
+ Pure-math variants (`computePositionMetrics`, `computeQuote`) accept pre-fetched inputs for
56
+ synchronous per-keystroke UI math.
57
+
58
+ ## Cluster selection
59
+
60
+ The program id baked into `PROGRAM_ID` is selected **at build time** from environment variables
61
+ your bundler must define/inline:
62
+
63
+ | Env | Program |
64
+ | --- | --- |
65
+ | `NEXT_PUBLIC_MAINNET=true` | mainnet `Hobbakk1LmW2DhE4nAKnCeU1iK7V7pKHTq3ihaE2i8qG` |
66
+ | `NEXT_PUBLIC_STAGING=true` | staging |
67
+ | (neither) | local/surfpool development id |
68
+
69
+ Next.js inlines `NEXT_PUBLIC_*` automatically; other bundlers should `define`
70
+ `process.env.NEXT_PUBLIC_MAINNET` accordingly.
71
+
72
+ ## Subpath exports
73
+
74
+ The root barrel carries the high-level flows and browser-safe helpers. Additional modules are
75
+ importable by subpath (all covered by the `./*` export):
76
+
77
+ - `@hobba-io/core/constants`, `/pdas`, `/amountUtils`, `/marketConfig`, `/userState`, `/limits`
78
+ - `@hobba-io/core/idl` (authoritative Anchor IDL as `HOBBA_IDL`)
79
+ - `@hobba-io/core/vault/vaultAccounts`, `/kamino/obligationParser`
80
+ - `@hobba-io/core/juplend/tickMath`, `/juplend/tickUtils`, `/juplend/vaultConfigParser`
81
+ - `@hobba-io/core/oracle/scopePrice` — server-leaning
82
+ - `@hobba-io/core/rates` — **server-only** (lazily requires the optional
83
+ `@kamino-finance/klend-sdk` peer for reserve decoding); keep it out of browser bundles
84
+
85
+ ## License
86
+
87
+ ISC
@@ -0,0 +1,15 @@
1
+ import BN from "bn.js";
2
+ import { PublicKey } from "@solana/web3.js";
3
+ export declare function formatCbBtc(lamports: BN | number | string): string;
4
+ export declare function parseCbBtc(display: string): BN;
5
+ export declare function formatSolShort(lamports: BN | number | string): string;
6
+ export declare function parseSol(display: string): BN;
7
+ export declare function formatUsdc(lamports: BN | number | string): string;
8
+ export declare function parseUsdc(display: string): BN;
9
+ export declare function formatUsdcShort(lamports: BN | number | string): string;
10
+ export declare function formatCbBtcShort(lamports: BN | number | string): string;
11
+ export declare function collateralLabel(mint: PublicKey): string;
12
+ export declare function collateralDecimals(mint: PublicKey): number;
13
+ export declare function formatCollateralShort(lamports: BN | number | string, mint: PublicKey): string;
14
+ export declare function parseCollateral(display: string, mint: PublicKey): BN;
15
+ //# sourceMappingURL=amountUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"amountUtils.d.ts","sourceRoot":"","sources":["../src/amountUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,OAAO,CAAC;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAO5C,wBAAgB,WAAW,CAAC,QAAQ,EAAE,EAAE,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAGlE;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,EAAE,CAG9C;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,EAAE,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAGrE;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,EAAE,CAG5C;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,EAAE,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAGjE;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,EAAE,CAG7C;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,EAAE,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAGtE;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,EAAE,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAGvE;AAID,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAGvD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAG1D;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,EAAE,GAAG,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,CAG7F;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,EAAE,CAGpE"}
@@ -0,0 +1,59 @@
1
+ import BN from "bn.js";
2
+ import { SOL_MINT } from "./constants";
3
+ const CBBTC_DECIMALS = 8;
4
+ const SOL_DECIMALS = 9;
5
+ const USDC_DECIMALS = 6;
6
+ export function formatCbBtc(lamports) {
7
+ const val = typeof lamports === "number" ? lamports : Number(lamports.toString());
8
+ return (val / 10 ** CBBTC_DECIMALS).toFixed(CBBTC_DECIMALS);
9
+ }
10
+ export function parseCbBtc(display) {
11
+ const num = parseFloat(display);
12
+ return new BN(Math.round(num * 10 ** CBBTC_DECIMALS));
13
+ }
14
+ export function formatSolShort(lamports) {
15
+ const val = typeof lamports === "number" ? lamports : Number(lamports.toString());
16
+ return (val / 10 ** SOL_DECIMALS).toFixed(4);
17
+ }
18
+ export function parseSol(display) {
19
+ const num = parseFloat(display);
20
+ return new BN(Math.round(num * 10 ** SOL_DECIMALS));
21
+ }
22
+ export function formatUsdc(lamports) {
23
+ const val = typeof lamports === "number" ? lamports : Number(lamports.toString());
24
+ return (val / 10 ** USDC_DECIMALS).toFixed(USDC_DECIMALS);
25
+ }
26
+ export function parseUsdc(display) {
27
+ const num = parseFloat(display);
28
+ return new BN(Math.round(num * 10 ** USDC_DECIMALS));
29
+ }
30
+ export function formatUsdcShort(lamports) {
31
+ const val = typeof lamports === "number" ? lamports : Number(lamports.toString());
32
+ return (val / 10 ** USDC_DECIMALS).toFixed(2);
33
+ }
34
+ export function formatCbBtcShort(lamports) {
35
+ const val = typeof lamports === "number" ? lamports : Number(lamports.toString());
36
+ return (val / 10 ** CBBTC_DECIMALS).toFixed(6);
37
+ }
38
+ // --- Generic collateral helpers ---
39
+ export function collateralLabel(mint) {
40
+ if (mint.equals(SOL_MINT))
41
+ return "SOL";
42
+ return "cbBTC";
43
+ }
44
+ export function collateralDecimals(mint) {
45
+ if (mint.equals(SOL_MINT))
46
+ return SOL_DECIMALS;
47
+ return CBBTC_DECIMALS;
48
+ }
49
+ export function formatCollateralShort(lamports, mint) {
50
+ if (mint.equals(SOL_MINT))
51
+ return formatSolShort(lamports);
52
+ return formatCbBtcShort(lamports);
53
+ }
54
+ export function parseCollateral(display, mint) {
55
+ if (mint.equals(SOL_MINT))
56
+ return parseSol(display);
57
+ return parseCbBtc(display);
58
+ }
59
+ //# sourceMappingURL=amountUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"amountUtils.js","sourceRoot":"","sources":["../src/amountUtils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,148 @@
1
+ import { PublicKey } from "@solana/web3.js";
2
+ export declare const PROGRAM_ID_SURFPOOL: PublicKey;
3
+ export declare const PROGRAM_ID_STAGING: PublicKey;
4
+ export declare const PROGRAM_ID_MAINNET: PublicKey;
5
+ export declare const PROGRAM_ID: PublicKey;
6
+ export declare const KAMINO_LENDING_PROGRAM_ID: PublicKey;
7
+ export declare const KVAULT_PROGRAM_ID: PublicKey;
8
+ export declare const FARMS_PROGRAM: PublicKey;
9
+ export declare const JUPLEND_PROGRAM: PublicKey;
10
+ export declare const PERENA_PROGRAM_ID: PublicKey;
11
+ export declare const STAR_USDC_MINT: PublicKey;
12
+ export declare const PERENA_VAULT_STATE: PublicKey;
13
+ export declare const PERENA_VAULT_AUTHORITY: PublicKey;
14
+ export declare const PERENA_POOL_CONFIG: PublicKey;
15
+ export declare const PERENA_VAULT_USDC_TRANSIT: PublicKey;
16
+ export declare const PERENA_VAULT_METADATA: PublicKey;
17
+ export declare const PERENA_FEE_COLLECTOR: PublicKey;
18
+ export declare const PERENA_MARGINFI_PROGRAM: PublicKey;
19
+ export declare const PERENA_MARGINFI_GROUP: PublicKey;
20
+ export declare const PERENA_MARGINFI_ACCOUNT: PublicKey;
21
+ export declare const PERENA_MARGINFI_BANK: PublicKey;
22
+ export declare const PERENA_MARGINFI_BANK_AUTHORITY: PublicKey;
23
+ export declare const PERENA_MARGINFI_BANK_LIQUIDITY_VAULT: PublicKey;
24
+ export declare const PERENA_MARGINFI_ORACLE: PublicKey;
25
+ export declare const VAULT_PROVIDER_KVAULT = 0;
26
+ export declare const VAULT_PROVIDER_PERENA = 1;
27
+ export declare const LENDING_PROVIDER_KAMINO: number;
28
+ export declare const LENDING_PROVIDER_JUPLEND: number;
29
+ export declare const DEFAULT_LENDING_PROVIDER: number;
30
+ export declare const JUPLEND_LIQUIDITY_PROGRAM: PublicKey;
31
+ export declare const JUPLEND_ORACLE_PROGRAM: PublicKey;
32
+ export declare const ATA_PROGRAM_ID: PublicKey;
33
+ export declare const METAPLEX_PROGRAM: PublicKey;
34
+ export declare const CBBTC_MINT: PublicKey;
35
+ export declare const SOL_MINT: PublicKey;
36
+ export declare const USDC_MINT: PublicKey;
37
+ export declare const MAIN_MARKET: PublicKey;
38
+ export declare const XSTOCKS_MARKET: PublicKey;
39
+ export declare const XSTOCKS_CBBTC_RESERVE: PublicKey;
40
+ export declare const XSTOCKS_USDC_RESERVE: PublicKey;
41
+ export declare const XSTOCKS_CBBTC_LIQUIDITY_SUPPLY: PublicKey;
42
+ export declare const XSTOCKS_CBBTC_COLLATERAL_MINT: PublicKey;
43
+ export declare const XSTOCKS_CBBTC_COLLATERAL_SUPPLY: PublicKey;
44
+ export declare const XSTOCKS_USDC_LIQUIDITY_SUPPLY: PublicKey;
45
+ export declare const XSTOCKS_USDC_FEE_VAULT: PublicKey;
46
+ export declare const XSTOCKS_USDC_RESERVE_FARM_DEBT: PublicKey;
47
+ export declare const CBBTC_RESERVE: PublicKey;
48
+ export declare const CBBTC_LIQUIDITY_SUPPLY: PublicKey;
49
+ export declare const CBBTC_FEE_VAULT: PublicKey;
50
+ export declare const CBBTC_COLLATERAL_MINT: PublicKey;
51
+ export declare const CBBTC_COLLATERAL_SUPPLY: PublicKey;
52
+ export declare const CBBTC_RESERVE_FARM_COLLATERAL: PublicKey;
53
+ export declare const SOL_RESERVE: PublicKey;
54
+ export declare const SOL_LIQUIDITY_SUPPLY: PublicKey;
55
+ export declare const SOL_FEE_VAULT: PublicKey;
56
+ export declare const SOL_COLLATERAL_MINT: PublicKey;
57
+ export declare const SOL_COLLATERAL_SUPPLY: PublicKey;
58
+ export declare const SOL_RESERVE_FARM_COLLATERAL: PublicKey;
59
+ export declare const USDC_RESERVE: PublicKey;
60
+ export declare const USDC_LIQUIDITY_SUPPLY: PublicKey;
61
+ export declare const USDC_FEE_VAULT: PublicKey;
62
+ export declare const USDC_COLLATERAL_MINT: PublicKey;
63
+ export declare const USDC_COLLATERAL_SUPPLY: PublicKey;
64
+ export declare const SCOPE_PRICES: PublicKey;
65
+ export declare const ALLEZ_USDC_VAULT: PublicKey;
66
+ export declare const ALLEZ_USDC_SHARES_MINT: PublicKey;
67
+ export declare const ALLEZ_USDC_TOKEN_VAULT: PublicKey;
68
+ export declare const ALLEZ_USDC_VAULT_AUTHORITY: PublicKey;
69
+ export declare const VAULT_LOOKUP_TABLE: PublicKey;
70
+ export declare const CTOKEN_VAULT_MAIN_USDC: PublicKey;
71
+ export declare const LENDING_MARKET_AUTHORITY_MAIN: PublicKey;
72
+ export declare const USDC_PRIME_VAULT: PublicKey;
73
+ export declare const USDC_PRIME_SHARES_MINT: PublicKey;
74
+ export declare const USDC_PRIME_TOKEN_VAULT: PublicKey;
75
+ export declare const USDC_PRIME_VAULT_AUTHORITY: PublicKey;
76
+ export declare const USDC_PRIME_LOOKUP_TABLE: PublicKey;
77
+ export declare const ALTCOIN_MARKET: PublicKey;
78
+ export declare const ALTCOIN_USDC_RESERVE: PublicKey;
79
+ export declare const ALTCOIN_CTOKEN_VAULT: PublicKey;
80
+ export declare const ALTCOIN_LENDING_MARKET_AUTHORITY: PublicKey;
81
+ export declare const ALTCOIN_LIQUIDITY_SUPPLY: PublicKey;
82
+ export declare const ALTCOIN_CTOKEN_MINT: PublicKey;
83
+ export declare const JLP_MARKET: PublicKey;
84
+ export declare const JLP_USDC_RESERVE: PublicKey;
85
+ export declare const ROCKAWAY_RWA_VAULT: PublicKey;
86
+ export declare const ROCKAWAY_RWA_SHARES_MINT: PublicKey;
87
+ export declare const ROCKAWAY_RWA_TOKEN_VAULT: PublicKey;
88
+ export declare const ROCKAWAY_RWA_VAULT_AUTHORITY: PublicKey;
89
+ export declare const ROCKAWAY_RWA_LOOKUP_TABLE: PublicKey;
90
+ export declare const RWA_MARKET: PublicKey;
91
+ export declare const RWA_MARKET_AUTHORITY: PublicKey;
92
+ export declare const RWA_USDC_RESERVE: PublicKey;
93
+ export declare const RWA_CTOKEN_VAULT: PublicKey;
94
+ export declare const RWA_LIQUIDITY_SUPPLY: PublicKey;
95
+ export declare const RWA_COLLATERAL_MINT: PublicKey;
96
+ export declare const JUPLEND_VAULT_CONFIG: PublicKey;
97
+ export declare const JUPLEND_VAULT_STATE: PublicKey;
98
+ export declare const JUPLEND_ORACLE: PublicKey;
99
+ export declare const JUPLEND_POOL_PDA: PublicKey;
100
+ export declare const JUPLEND_SUPPLY_RESERVES_LIQUIDITY: PublicKey;
101
+ export declare const JUPLEND_BORROW_RESERVES_LIQUIDITY: PublicKey;
102
+ export declare const JUPLEND_VAULT_SUPPLY_POSITION: PublicKey;
103
+ export declare const JUPLEND_VAULT_BORROW_POSITION: PublicKey;
104
+ export declare const JUPLEND_SUPPLY_RATE_MODEL: PublicKey;
105
+ export declare const JUPLEND_BORROW_RATE_MODEL: PublicKey;
106
+ export declare const JUPLEND_VAULT_SUPPLY_TOKEN_ACCOUNT: PublicKey;
107
+ export declare const JUPLEND_VAULT_BORROW_TOKEN_ACCOUNT: PublicKey;
108
+ export declare const JUPLEND_LIQUIDITY: PublicKey;
109
+ export declare const JUPLEND_ORACLE_SOURCE: PublicKey;
110
+ export declare const JUPLEND_BRANCH: PublicKey;
111
+ export declare const JUPLEND_TICK_0: PublicKey;
112
+ export declare const JUPLEND_TICK_1: PublicKey;
113
+ export declare const JUPLEND_NEW_BRANCH: PublicKey;
114
+ export declare const JUPLEND_POS_TICK_CURRENT: PublicKey;
115
+ export declare const JUPLEND_POS_TICK_FINAL: PublicKey;
116
+ export declare const JUPLEND_POS_TICK_ID_CURRENT: PublicKey;
117
+ export declare const JUPLEND_POS_TICK_ID_FINAL: PublicKey;
118
+ export declare const JUPLEND_VAULT_ID = 11;
119
+ export declare const JUPLEND_SOL_VAULT_ID = 1;
120
+ export declare const JUPLEND_MAX_TICK = 16383;
121
+ export declare function resolveJuplendVaultId(collateralMint: PublicKey): number;
122
+ export declare function deriveJuplendVaultConfigPda(vaultId: number): PublicKey;
123
+ export declare function deriveJuplendVaultStatePda(vaultId: number): PublicKey;
124
+ export declare const REFRESH_RESERVE_DISCRIMINATOR: Buffer<ArrayBuffer>;
125
+ export declare const REFRESH_OBLIGATION_DISCRIMINATOR: Buffer<ArrayBuffer>;
126
+ export declare const DEPOSITED_TO_VAULT_OFFSET: number;
127
+ export declare const CURRENT_VAULT_OFFSET: number;
128
+ export declare const VAULT_PROVIDER_OFFSET: number;
129
+ export declare const COLLATERAL_MINT_OFFSET: number;
130
+ export declare const BORROWS_OFFSET = 1208;
131
+ export declare const BORROW_ENTRY_SIZE = 200;
132
+ export declare const BORROWED_AMOUNT_SF_OFFSET = 88;
133
+ export declare const KVAULT_REMAINING_ACCOUNTS: {
134
+ pubkey: PublicKey;
135
+ isSigner: boolean;
136
+ isWritable: boolean;
137
+ }[];
138
+ export declare const PRIME_BATCH_ACCOUNTS: {
139
+ pubkey: PublicKey;
140
+ isSigner: boolean;
141
+ isWritable: boolean;
142
+ }[];
143
+ export declare const ROCKAWAY_BATCH_ACCOUNTS: {
144
+ pubkey: PublicKey;
145
+ isSigner: boolean;
146
+ isWritable: boolean;
147
+ }[];
148
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,231 @@
1
+ import { PublicKey } from "@solana/web3.js";
2
+ // Program IDs
3
+ export const PROGRAM_ID_SURFPOOL = new PublicKey("3X2QyJ4Da5b5VaZ6mMcUgUm4V2t8emLrSeRwM4i2YNYH");
4
+ export const PROGRAM_ID_STAGING = new PublicKey("soBBAHNhFyWF4QBCK9BJLVkX6d6NZt37ozNaPV5aq3H");
5
+ export const PROGRAM_ID_MAINNET = new PublicKey("Hobbakk1LmW2DhE4nAKnCeU1iK7V7pKHTq3ihaE2i8qG");
6
+ export const PROGRAM_ID = process.env.NEXT_PUBLIC_MAINNET === "true" ? PROGRAM_ID_MAINNET :
7
+ process.env.NEXT_PUBLIC_STAGING === "true" ? PROGRAM_ID_STAGING :
8
+ PROGRAM_ID_SURFPOOL;
9
+ export const KAMINO_LENDING_PROGRAM_ID = new PublicKey("KLend2g3cP87fffoy8q1mQqGKjrxjC8boSyAYavgmjD");
10
+ export const KVAULT_PROGRAM_ID = new PublicKey("KvauGMspG5k6rtzrqqn7WNn3oZdyKqLKwK2XWQ8FLjd");
11
+ export const FARMS_PROGRAM = new PublicKey("FarmsPZpWu9i7Kky8tPN37rs2TpmMrAZrC7S7vJa91Hr");
12
+ export const JUPLEND_PROGRAM = new PublicKey("jupr81YtYssSyPt8jbnGuiWon5f6x9TcDEFxYe3Bdzi");
13
+ // Perena Vault
14
+ export const PERENA_PROGRAM_ID = new PublicKey("save8RQVPMWNTzU18t3GBvBkN9hT7jsGjiCQ28FpD9H");
15
+ export const STAR_USDC_MINT = new PublicKey("star9agSpjiFe3M49B3RniVU4CMBBEK3Qnaqn3RGiFM");
16
+ export const PERENA_VAULT_STATE = new PublicKey("sM6P4mh53CnG4faN4Fo3seY7wMSAiHdy8o6gKjwQF7A");
17
+ export const PERENA_VAULT_AUTHORITY = new PublicKey("3bZ1qY6wfzyDH7QMPiRKLr6k8p1asdtyjvJyJsJBdv23");
18
+ export const PERENA_POOL_CONFIG = new PublicKey("CmKFP4YJg5QpAryUm9xk5QD611bccYMzZvpvQDJkMwt6");
19
+ export const PERENA_VAULT_USDC_TRANSIT = new PublicKey("HvG7HSrNHVAcjzgwt3UVtnY9srkrY7qnMG4zS1SnPQT2");
20
+ export const PERENA_VAULT_METADATA = new PublicKey("3msJbxNbSeosztbNEB1eFPitMFnP8ogCszegPUswipdL");
21
+ export const PERENA_FEE_COLLECTOR = new PublicKey("6tqLkhbqJSx4KG616VhNCvsaFqcDPok7wdbzU2DmEAub");
22
+ // MarginFi accounts used by Perena
23
+ export const PERENA_MARGINFI_PROGRAM = new PublicKey("MFv2hWf31Z9kbCa1snEPYctwafyhdvnV7FZnsebVacA");
24
+ export const PERENA_MARGINFI_GROUP = new PublicKey("4qp6Fx6tnZkY5Wropq9wUYgtFxXKwE6viZxFHg3rdAG8");
25
+ export const PERENA_MARGINFI_ACCOUNT = new PublicKey("C8JLFVMuSFFFmDX2AEyMmP6zRXtXwJgptHeBUrnj4zLE");
26
+ export const PERENA_MARGINFI_BANK = new PublicKey("2s37akK2eyBbp8DZgCm7RtsaEz8eJP3Nxd4urLHQv7yB");
27
+ export const PERENA_MARGINFI_BANK_AUTHORITY = new PublicKey("3uxNepDbmkDNq6JhRja5Z8QwbTrfmkKP8AKZV5chYDGG");
28
+ export const PERENA_MARGINFI_BANK_LIQUIDITY_VAULT = new PublicKey("7jaiZR5Sk8hdYN9MxTpczTcwbWpb5WEoxSANuUwveuat");
29
+ export const PERENA_MARGINFI_ORACLE = new PublicKey("Dpw1EAVrSB1ibxiDQyTAW6Zip3J4Btk2x4SgApQCeFbX");
30
+ // Vault provider constants
31
+ export const VAULT_PROVIDER_KVAULT = 0;
32
+ export const VAULT_PROVIDER_PERENA = 1;
33
+ // Lending provider constants (stored in userState.lendingProvider)
34
+ export const LENDING_PROVIDER_KAMINO = 0;
35
+ export const LENDING_PROVIDER_JUPLEND = 1;
36
+ // Default for newly-initialized user accounts
37
+ export const DEFAULT_LENDING_PROVIDER = LENDING_PROVIDER_JUPLEND;
38
+ export const JUPLEND_LIQUIDITY_PROGRAM = new PublicKey("jupeiUmn818Jg1ekPURTpr4mFo29p46vygyykFJ3wZC");
39
+ export const JUPLEND_ORACLE_PROGRAM = new PublicKey("jupnw4B6Eqs7ft6rxpzYLJZYSnrpRgPcr589n5Kv4oc");
40
+ export const ATA_PROGRAM_ID = new PublicKey("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL");
41
+ export const METAPLEX_PROGRAM = new PublicKey("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s");
42
+ // Mints
43
+ export const CBBTC_MINT = new PublicKey("cbbtcf3aa214zXHbiAZQwf4122FBYbraNdFqgw4iMij");
44
+ export const SOL_MINT = new PublicKey("So11111111111111111111111111111111111111112");
45
+ export const USDC_MINT = new PublicKey("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v");
46
+ // Kamino Lending Markets
47
+ export const MAIN_MARKET = new PublicKey("7u3HeHxYDLhnCoErrtycNokbQYbWGzLs6JSDqGAv5PfF");
48
+ export const XSTOCKS_MARKET = new PublicKey("5wJeMrUYECGq41fxRESKALVcHnNX26TAWy4W98yULsua");
49
+ // XStocks Reserve addresses
50
+ export const XSTOCKS_CBBTC_RESERVE = new PublicKey("5AWpVYJvNASoUM8toSDQRcVyA9dvoUuFj5qNx9v32bjj");
51
+ export const XSTOCKS_USDC_RESERVE = new PublicKey("97zoywd8mPZsGTg8q1wdD2Wgkdrs2tqusp1Qqcxbyj7E");
52
+ export const XSTOCKS_CBBTC_LIQUIDITY_SUPPLY = new PublicKey("CVfVcPUCj8KiQ1zDFhSrLBjXC1TKCwisvNLdKSPTCtUc");
53
+ export const XSTOCKS_CBBTC_COLLATERAL_MINT = new PublicKey("5GcFF6eYtTVWHi1oexFB6xt771ZRWP1txeMXKSGtkoPF");
54
+ export const XSTOCKS_CBBTC_COLLATERAL_SUPPLY = new PublicKey("JXDy94Qha1n2NKqNn1nC9QHHatmtbW2mM9VTse7TQut");
55
+ export const XSTOCKS_USDC_LIQUIDITY_SUPPLY = new PublicKey("72Gz8BM8vDr5zdeHmFB5A2ptNZYfVgDuw5LDkNwGDdTA");
56
+ export const XSTOCKS_USDC_FEE_VAULT = new PublicKey("DPHXY8LbH4cPPAgBDNnrU7B2XwmhWcBZ9wTBi3uZpfh4");
57
+ export const XSTOCKS_USDC_RESERVE_FARM_DEBT = new PublicKey("82eHAjSXZEyA3UpBxTjVYXF4QJmAEtLR6kvWXQca7mqd");
58
+ // cbBTC Reserve (Main Market)
59
+ export const CBBTC_RESERVE = new PublicKey("37Jk2zkz23vkAYBT66HM2gaqJuNg2nYLsCreQAVt5MWK");
60
+ export const CBBTC_LIQUIDITY_SUPPLY = new PublicKey("BcPpdmg4vxXSenvkp12XbVp6XnzwKChnzfNa6cQXLW96");
61
+ export const CBBTC_FEE_VAULT = new PublicKey("7NSusA45pkEApHBVqS5CqnWW9WR98uEUT6d5hDPdgD8A");
62
+ export const CBBTC_COLLATERAL_MINT = new PublicKey("B3ieCZaTUp8qM9zbPqH2WDhzWpwrvHB2Q2aWB25DW97U");
63
+ export const CBBTC_COLLATERAL_SUPPLY = new PublicKey("hY6yiVepYxxv6dpzayYQ9LnhkX7yrFFpep3oxFRKRgi");
64
+ export const CBBTC_RESERVE_FARM_COLLATERAL = new PublicKey("9CinLHLAcMkzs4Ji8pwS2qwyz1LU46A4Ry7BNLGLubxs");
65
+ // SOL Reserve (Main Market)
66
+ export const SOL_RESERVE = new PublicKey("d4A2prbA2whesmvHaL88BH6Ewn5N4bTSU2Ze8P6Bc4Q");
67
+ export const SOL_LIQUIDITY_SUPPLY = new PublicKey("GafNuUXj9rxGLn4y79dPu6MHSuPWeJR6UtTWuexpGh3U");
68
+ export const SOL_FEE_VAULT = new PublicKey("3JNof8s453bwG5UqiXBLJc77NRQXezYYEBbk3fqnoKph");
69
+ export const SOL_COLLATERAL_MINT = new PublicKey("2UywZrUdyqs5vDchy7fKQJKau2RVyuzBev2XKGPDSiX1");
70
+ export const SOL_COLLATERAL_SUPPLY = new PublicKey("8NXMyRD91p3nof61BTkJvrfpGTASHygz1cUvc3HvwyGS");
71
+ export const SOL_RESERVE_FARM_COLLATERAL = new PublicKey("955xWFhSDcDiUgUr4sBRtCpTLiMd4H5uZLAmgtP3R3sX");
72
+ // USDC Reserve
73
+ export const USDC_RESERVE = new PublicKey("D6q6wuQSrifJKZYpR1M8R4YawnLDtDsMmWM1NbBmgJ59");
74
+ export const USDC_LIQUIDITY_SUPPLY = new PublicKey("Bgq7trRgVMeq33yt235zM2onQ4bRDBsY5EWiTetF4qw6");
75
+ export const USDC_FEE_VAULT = new PublicKey("BbDUrk1bVtSixgQsPLBJFZEF7mwGstnD5joA1WzYvYFX");
76
+ export const USDC_COLLATERAL_MINT = new PublicKey("B8V6WVjPxW1UGwVDfxH2d2r8SyT4cqn7dQRK6XneVa7D");
77
+ export const USDC_COLLATERAL_SUPPLY = new PublicKey("3DzjXRfxRm6iejfyyMynR4tScddaanrePJ1NJU2XnPPL");
78
+ // Oracle
79
+ export const SCOPE_PRICES = new PublicKey("3t4JZcueEzTbVP6kLxXrL3VpWx45jDer4eqysweBchNH");
80
+ // KVault (Allez USDC)
81
+ export const ALLEZ_USDC_VAULT = new PublicKey("A1USdzqDHmw5oz97AkqAGLxEQZfFjASZFuy4T6Qdvnpo");
82
+ export const ALLEZ_USDC_SHARES_MINT = new PublicKey("BDh5h1uqhdL3pdCcTB1AEc2dyRsorDx9fF8Y72H1XZu8");
83
+ export const ALLEZ_USDC_TOKEN_VAULT = new PublicKey("H4GHPfd4vxCEmor13P3HBS1AKawE2Mhv6fyWLaswn8d5");
84
+ export const ALLEZ_USDC_VAULT_AUTHORITY = new PublicKey("GhxheH2FYN9pDvjpAKYgwVmLRGGPsw79v2DSQLQu9o7T");
85
+ export const VAULT_LOOKUP_TABLE = new PublicKey("3hi1c3L11vL446LJotFZNXHp1YZSLQ867SeQJUc9b5t1");
86
+ // Vault withdraw addresses
87
+ export const CTOKEN_VAULT_MAIN_USDC = new PublicKey("5ADikyCXfgM7A3h2QNJwtaXV1XAMQv6ywHZcAH2fJRrK");
88
+ export const LENDING_MARKET_AUTHORITY_MAIN = new PublicKey("9DrvZvyWh1HuAoZxvYWMvkf2XCzryCpGgHqrMjyDWpmo");
89
+ // USDC Prime Vault
90
+ export const USDC_PRIME_VAULT = new PublicKey("HDsayqAsDWy3QvANGqh2yNraqcD8Fnjgh73Mhb3WRS5E");
91
+ export const USDC_PRIME_SHARES_MINT = new PublicKey("7D8C5pDFxug58L9zkwK7bCiDg4kD4AygzbcZUmf5usHS");
92
+ export const USDC_PRIME_TOKEN_VAULT = new PublicKey("CKTEDx5z19CntAB9B66AxuS98S1NuCgMvfpsew7TQwi");
93
+ export const USDC_PRIME_VAULT_AUTHORITY = new PublicKey("AyY6VCkHfTWdFs7SqBbu6AnCqLUhgzVHBzW3WcJu5Jc8");
94
+ export const USDC_PRIME_LOOKUP_TABLE = new PublicKey("9p2oT9J6BojHigd3V5qXzrwsQf4dtgMgLxtrzLVR3rwu");
95
+ // Altcoin Market
96
+ export const ALTCOIN_MARKET = new PublicKey("DxXdAyU3kCjnyggvHmY5nAwg5cRbbmdyX3npfDMjjMek");
97
+ export const ALTCOIN_USDC_RESERVE = new PublicKey("Ga4rZytCpq1unD4DbEJ5bkHeUz9g3oh9AAFEi6vSauXp");
98
+ export const ALTCOIN_CTOKEN_VAULT = new PublicKey("5rGkiF4Jf1rPTJ6nazBgcjewVktXhagwcw5Nux7GccRi");
99
+ export const ALTCOIN_LENDING_MARKET_AUTHORITY = new PublicKey("B9spsrMK6pJicYtukaZzDyzsUQLgc3jbx5gHVwdDxb6y");
100
+ export const ALTCOIN_LIQUIDITY_SUPPLY = new PublicKey("GENey8es3EgGiNTM8H8gzA3vf98haQF8LHiYFyErjgrv");
101
+ export const ALTCOIN_CTOKEN_MINT = new PublicKey("32XLsweyeQwWgLKRVAzS72nxHGU1JmmNQQZ3C3q6fBjJ");
102
+ // JLP Market
103
+ export const JLP_MARKET = new PublicKey("GMqmFygF5iSm5nkckYU6tieggFcR42SyjkkhK5rswFRs");
104
+ export const JLP_USDC_RESERVE = new PublicKey("9FRZvAsjDJ6WM8BJ2S45h9PoDCLAq8DNY9zZDX7MyGzT");
105
+ // RockawayRWA Vault
106
+ export const ROCKAWAY_RWA_VAULT = new PublicKey("DWSXb18xZApz29vnQpgR2m6MynCT7PznaXt7Ut7M7KaP");
107
+ export const ROCKAWAY_RWA_SHARES_MINT = new PublicKey("DgHN3q3dSYAchNX7V3D4aYiTWMx8RHTgHbfPiwiqBkE9");
108
+ export const ROCKAWAY_RWA_TOKEN_VAULT = new PublicKey("6ea6GorjfT2SmUH8HSwg4LLae5RCqVVEYzcznBJEge9e");
109
+ export const ROCKAWAY_RWA_VAULT_AUTHORITY = new PublicKey("D6hDbSjooxfjXrfKo7xBKVFeoaJrtnXY75uAbxeFbPgU");
110
+ export const ROCKAWAY_RWA_LOOKUP_TABLE = new PublicKey("GzavHphVhGp9PERAfT3NcQwFesevQD386puHtVtsbq6m");
111
+ // RWA Market
112
+ export const RWA_MARKET = new PublicKey("9Y7uwXgQ68mGqRtZfuFaP4hc4fxeJ7cE9zTtqTxVhfGU");
113
+ export const RWA_MARKET_AUTHORITY = new PublicKey("CzEcTo66owDYLH1ieFR64u4gV5YT3FSLEg8G61nAvuP1");
114
+ export const RWA_USDC_RESERVE = new PublicKey("6XdN3zXeoYKgfSeZb8h1LpiEkUXRJ3CbimE5FJ35XFBP");
115
+ export const RWA_CTOKEN_VAULT = new PublicKey("5BDugAB1RXHkxFhL1oye4o2zbu8j8uHb3xDrzm4Evvuv");
116
+ export const RWA_LIQUIDITY_SUPPLY = new PublicKey("EetQRys9azm1GsK476sr3R3W2hw79eUbBCmvGt83LoNc");
117
+ export const RWA_COLLATERAL_MINT = new PublicKey("GresxT3Ditj5N9sHi6qTBoy96tctJ4HknUX2tCMiri3M");
118
+ // JupLend addresses
119
+ export const JUPLEND_VAULT_CONFIG = new PublicKey("2L6xsj9zKbvxALDroGQHmPx2kCw8RqZ8yru4zceUoB6k");
120
+ export const JUPLEND_VAULT_STATE = new PublicKey("HnSMEmypWgJ1a6JNnBycccsBeQQvqNKphgSMquCaFiy9");
121
+ export const JUPLEND_ORACLE = new PublicKey("BU4FbopNHBseTnrck5HyvocWN7PcS9SMhrKTNLagzx3z");
122
+ export const JUPLEND_POOL_PDA = new PublicKey("4Pgx2M7ZsDRvXU4CitoT94EJUohxqSk3eBuLsoz834dm");
123
+ export const JUPLEND_SUPPLY_RESERVES_LIQUIDITY = new PublicKey("DALcPrc81yGgwqaBuuCRXtEU8PHFLv2xEgWyhnfvbVKH");
124
+ export const JUPLEND_BORROW_RESERVES_LIQUIDITY = new PublicKey("94vK29npVbyRHXH63rRcTiSr26SFhrQTzbpNJuhQEDu");
125
+ export const JUPLEND_VAULT_SUPPLY_POSITION = new PublicKey("GzsJrAYkxPbYimVA98yVMRWABrHH8F49MK49KVPzncdR");
126
+ export const JUPLEND_VAULT_BORROW_POSITION = new PublicKey("3NQ98P7E8pUu3YjFymuEZMnQzGdBci6hKYEKcUneskYX");
127
+ export const JUPLEND_SUPPLY_RATE_MODEL = new PublicKey("EqpNebkM6hdhPGQw7wMkC5ctCjja8z7Z7DCt2K1tuMPu");
128
+ export const JUPLEND_BORROW_RATE_MODEL = new PublicKey("5pjzT5dFTsXcwixoab1QDLvZQvpYJxJeBphkyfHGn688");
129
+ export const JUPLEND_VAULT_SUPPLY_TOKEN_ACCOUNT = new PublicKey("E7VPMhsjvVXpGVFMJRJgJjRmc5bhERpRjtYEbmBhWNcF");
130
+ export const JUPLEND_VAULT_BORROW_TOKEN_ACCOUNT = new PublicKey("BmkUoKMFYBxNSzWXyUjyMJjMAaVz4d8ZnxwwmhDCUXFB");
131
+ export const JUPLEND_LIQUIDITY = new PublicKey("7s1da8DduuBFqGra5bJBjpnvL5E9mGzCuMk1Qkh4or2Z");
132
+ export const JUPLEND_ORACLE_SOURCE = new PublicKey("4cSM2e6rvbGQUFiJbqytoVMi5GgghSMr8LwVrT9VPSPo");
133
+ export const JUPLEND_BRANCH = new PublicKey("Ctz7yPaqtvyAu7eHrM9U9AKjNoKuS35nT8smY8FutAMe");
134
+ export const JUPLEND_TICK_0 = new PublicKey("GYA5nRHDMsTuf6sQ1dQYpS9ktoy6UXuuV767spLMT919");
135
+ export const JUPLEND_TICK_1 = new PublicKey("ASTTBXCW2Uqpko4VjZVx2yY917oKA3nim2QnqpzuhYnT");
136
+ export const JUPLEND_NEW_BRANCH = new PublicKey("HgN61oe85k7Yrw93ZA7Bx4GkEhmzv446dD9NV5qx5DWR");
137
+ // Position tick PDAs (from SDK / mainnet — used as defaults for operate remaining accounts)
138
+ export const JUPLEND_POS_TICK_CURRENT = new PublicKey("CUsGshjra7qaj2eCDfWHDgLkXWNQa1P9s9nBMM9sHAkV");
139
+ export const JUPLEND_POS_TICK_FINAL = new PublicKey("EFdXq8G1CgszjZtrcYBDTW6twq8ZbLbusStFruxUBcnP");
140
+ export const JUPLEND_POS_TICK_ID_CURRENT = new PublicKey("CJvFuAcL7CKfPJfJoD2BT9R7CHG3ttTKMzxxyDcUkqWH");
141
+ export const JUPLEND_POS_TICK_ID_FINAL = new PublicKey("5zAx5YDifpHSdK2BguH2hvxUVVzL2qBeFwBSAtxySpF1");
142
+ export const JUPLEND_VAULT_ID = 11;
143
+ export const JUPLEND_SOL_VAULT_ID = 1;
144
+ export const JUPLEND_MAX_TICK = 16383;
145
+ // Resolve JupLend vault ID from collateral mint
146
+ export function resolveJuplendVaultId(collateralMint) {
147
+ if (collateralMint.equals(SOL_MINT))
148
+ return JUPLEND_SOL_VAULT_ID;
149
+ if (collateralMint.equals(CBBTC_MINT))
150
+ return JUPLEND_VAULT_ID;
151
+ throw new Error(`Unsupported JupLend collateral mint: ${collateralMint.toBase58()}`);
152
+ }
153
+ // Derive JupLend vault config PDA for any vault ID
154
+ export function deriveJuplendVaultConfigPda(vaultId) {
155
+ const buf = Buffer.alloc(2);
156
+ buf.writeUInt16LE(vaultId);
157
+ return PublicKey.findProgramAddressSync([Buffer.from("vault_config"), buf], JUPLEND_PROGRAM)[0];
158
+ }
159
+ // Derive JupLend vault state PDA for any vault ID
160
+ export function deriveJuplendVaultStatePda(vaultId) {
161
+ const buf = Buffer.alloc(2);
162
+ buf.writeUInt16LE(vaultId);
163
+ return PublicKey.findProgramAddressSync([Buffer.from("vault_state"), buf], JUPLEND_PROGRAM)[0];
164
+ }
165
+ // Refresh instruction discriminators
166
+ export const REFRESH_RESERVE_DISCRIMINATOR = Buffer.from([2, 218, 138, 235, 79, 201, 25, 102]);
167
+ export const REFRESH_OBLIGATION_DISCRIMINATOR = Buffer.from([33, 132, 147, 228, 151, 192, 72, 89]);
168
+ // UserState layout offsets
169
+ // 8 (disc) + 1 (version) + 32 (owner) + 32 (obligation) + 32 (lending_market) + 1 (lending_provider) + 1 (bump)
170
+ export const DEPOSITED_TO_VAULT_OFFSET = 8 + 1 + 32 + 32 + 32 + 1 + 1;
171
+ export const CURRENT_VAULT_OFFSET = DEPOSITED_TO_VAULT_OFFSET + 8;
172
+ export const VAULT_PROVIDER_OFFSET = CURRENT_VAULT_OFFSET + 32;
173
+ export const COLLATERAL_MINT_OFFSET = VAULT_PROVIDER_OFFSET + 1;
174
+ // Obligation parsing
175
+ export const BORROWS_OFFSET = 1208;
176
+ export const BORROW_ENTRY_SIZE = 200;
177
+ export const BORROWED_AMOUNT_SF_OFFSET = 88;
178
+ // KVault remaining accounts (reserves + markets) for allez (A1USd…) vault operations.
179
+ // Synced to the live vault_allocation_strategy: 10 active reserves in slot order,
180
+ // followed by their lending markets (deduplicated). Re-derive with
181
+ // scripts/get-vault-reserves.ts if the vault rebalances (adds/removes/reorders
182
+ // reserves), or KVault deposit fails with ReserveAccountAndKeyMismatch (0x1b62).
183
+ export const KVAULT_REMAINING_ACCOUNTS = [
184
+ // Reserves (writable)
185
+ { pubkey: new PublicKey("D6q6wuQSrifJKZYpR1M8R4YawnLDtDsMmWM1NbBmgJ59"), isSigner: false, isWritable: true },
186
+ { pubkey: new PublicKey("Ga4rZytCpq1unD4DbEJ5bkHeUz9g3oh9AAFEi6vSauXp"), isSigner: false, isWritable: true },
187
+ { pubkey: new PublicKey("9FRZvAsjDJ6WM8BJ2S45h9PoDCLAq8DNY9zZDX7MyGzT"), isSigner: false, isWritable: true },
188
+ { pubkey: new PublicKey("8trJaNUfkP9pNgrwzByfsuwVtZ5TmZpq568UkCpjFWbi"), isSigner: false, isWritable: true },
189
+ { pubkey: new PublicKey("8Lvi1DFPoAGPQ25qpRKzzRaSAnWdeVZqt9XmEapm8uLt"), isSigner: false, isWritable: true },
190
+ { pubkey: new PublicKey("Atj6UREVWa7WxbF2EMKNyfmYUY1U1txughe2gjhcPDCo"), isSigner: false, isWritable: true },
191
+ { pubkey: new PublicKey("9GJ9GBRwCp4pHmWrQ43L5xpc9Vykg7jnfwcFGN8FoHYu"), isSigner: false, isWritable: true },
192
+ { pubkey: new PublicKey("DD4RN8t37nmw7EANW37ejdDEuFz9Tmf3TZTN7jxKsE8i"), isSigner: false, isWritable: true },
193
+ { pubkey: new PublicKey("4QKFoFDzNFnvfkzVazABbCEfMwd3y1pZqUVzmpnkCphj"), isSigner: false, isWritable: true },
194
+ { pubkey: new PublicKey("AYL4LMc4ZCVyq3Z7XPJGWDM4H9PiWjqXAAuuHBEGVR2Z"), isSigner: false, isWritable: true },
195
+ // Lending Markets (readonly)
196
+ { pubkey: new PublicKey("7u3HeHxYDLhnCoErrtycNokbQYbWGzLs6JSDqGAv5PfF"), isSigner: false, isWritable: false },
197
+ { pubkey: new PublicKey("DxXdAyU3kCjnyggvHmY5nAwg5cRbbmdyX3npfDMjjMek"), isSigner: false, isWritable: false },
198
+ { pubkey: new PublicKey("GMqmFygF5iSm5nkckYU6tieggFcR42SyjkkhK5rswFRs"), isSigner: false, isWritable: false },
199
+ { pubkey: new PublicKey("B7a2Dmdnfg8zfZX2814d6Xo6ctxs22jnTuCcjTq5KcPD"), isSigner: false, isWritable: false },
200
+ { pubkey: new PublicKey("47tfyEG9SsdEnUm9cw5kY9BXngQGqu3LBoop9j5uTAv8"), isSigner: false, isWritable: false },
201
+ { pubkey: new PublicKey("6WEGfej9B9wjxRs6t4BYpb9iCXd8CpTpJ8fVSNzHCC5y"), isSigner: false, isWritable: false },
202
+ { pubkey: new PublicKey("CqAoLuqWtavaVE8deBjMKe8ZfSt9ghR6Vb8nfsyabyHA"), isSigner: false, isWritable: false },
203
+ { pubkey: new PublicKey("FteaGMVCLDF4eonrTiQkRQ5kby5ohwCfaMD2mNiPkZL7"), isSigner: false, isWritable: false },
204
+ { pubkey: new PublicKey("52FSGeeokLpgvgAMdqxyt5Hoc2TbUYj5b8yxrEdZ37Vf"), isSigner: false, isWritable: false },
205
+ ];
206
+ // Prime vault batch accounts (4 reserves + 4 markets, verified from mainnet deposit txns)
207
+ export const PRIME_BATCH_ACCOUNTS = [
208
+ { pubkey: ALTCOIN_USDC_RESERVE, isSigner: false, isWritable: true },
209
+ { pubkey: USDC_RESERVE, isSigner: false, isWritable: true },
210
+ { pubkey: JLP_USDC_RESERVE, isSigner: false, isWritable: true },
211
+ { pubkey: new PublicKey("Atj6UREVWa7WxbF2EMKNyfmYUY1U1txughe2gjhcPDCo"), isSigner: false, isWritable: true },
212
+ { pubkey: ALTCOIN_MARKET, isSigner: false, isWritable: false },
213
+ { pubkey: MAIN_MARKET, isSigner: false, isWritable: false },
214
+ { pubkey: JLP_MARKET, isSigner: false, isWritable: false },
215
+ { pubkey: new PublicKey("6WEGfej9B9wjxRs6t4BYpb9iCXd8CpTpJ8fVSNzHCC5y"), isSigner: false, isWritable: false },
216
+ ];
217
+ // Rockaway batch accounts — 6 active reserves + 4 unique markets, synced to the
218
+ // live vault_allocation_strategy (re-derive like KVAULT_REMAINING_ACCOUNTS above)
219
+ export const ROCKAWAY_BATCH_ACCOUNTS = [
220
+ { pubkey: RWA_USDC_RESERVE, isSigner: false, isWritable: true },
221
+ { pubkey: new PublicKey("4QKFoFDzNFnvfkzVazABbCEfMwd3y1pZqUVzmpnkCphj"), isSigner: false, isWritable: true },
222
+ { pubkey: new PublicKey("AYL4LMc4ZCVyq3Z7XPJGWDM4H9PiWjqXAAuuHBEGVR2Z"), isSigner: false, isWritable: true },
223
+ { pubkey: new PublicKey("9GJ9GBRwCp4pHmWrQ43L5xpc9Vykg7jnfwcFGN8FoHYu"), isSigner: false, isWritable: true },
224
+ { pubkey: new PublicKey("8Lvi1DFPoAGPQ25qpRKzzRaSAnWdeVZqt9XmEapm8uLt"), isSigner: false, isWritable: true },
225
+ { pubkey: new PublicKey("6kmkjcVrp7RfyRBrfCoKbe6Wss3urVaaB1Lez5kSNHd1"), isSigner: false, isWritable: true },
226
+ { pubkey: RWA_MARKET, isSigner: false, isWritable: false },
227
+ { pubkey: new PublicKey("52FSGeeokLpgvgAMdqxyt5Hoc2TbUYj5b8yxrEdZ37Vf"), isSigner: false, isWritable: false },
228
+ { pubkey: new PublicKey("47tfyEG9SsdEnUm9cw5kY9BXngQGqu3LBoop9j5uTAv8"), isSigner: false, isWritable: false },
229
+ { pubkey: new PublicKey("CqAoLuqWtavaVE8deBjMKe8ZfSt9ghR6Vb8nfsyabyHA"), isSigner: false, isWritable: false },
230
+ ];
231
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,cAAc;AACd,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AACjG,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;AAC/F,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAChG,MAAM,CAAC,MAAM,UAAU,GACrB,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;IACjE,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;QACjE,mBAAmB,CAAC;AACtB,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;AACtG,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;AAC9F,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAC3F,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;AAE5F,eAAe;AACf,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;AAC9F,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;AAC3F,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;AAC/F,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AACpG,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAChG,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AACvG,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AACnG,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAClG,mCAAmC;AACnC,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;AACpG,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AACnG,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AACrG,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAClG,MAAM,CAAC,MAAM,8BAA8B,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAC5G,MAAM,CAAC,MAAM,oCAAoC,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAClH,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAEpG,2BAA2B;AAC3B,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AACvC,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAEvC,mEAAmE;AACnE,MAAM,CAAC,MAAM,uBAAuB,GAAW,CAAC,CAAC;AACjD,MAAM,CAAC,MAAM,wBAAwB,GAAW,CAAC,CAAC;AAClD,8CAA8C;AAC9C,MAAM,CAAC,MAAM,wBAAwB,GAAW,wBAAwB,CAAC;AACzE,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;AACtG,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;AACnG,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAC5F,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;AAE7F,QAAQ;AACR,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;AACvF,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;AACrF,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAEvF,yBAAyB;AACzB,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AACzF,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAE5F,4BAA4B;AAC5B,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AACnG,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAClG,MAAM,CAAC,MAAM,8BAA8B,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAC5G,MAAM,CAAC,MAAM,6BAA6B,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAC3G,MAAM,CAAC,MAAM,+BAA+B,GAAG,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;AAC5G,MAAM,CAAC,MAAM,6BAA6B,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAC3G,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AACpG,MAAM,CAAC,MAAM,8BAA8B,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAE5G,8BAA8B;AAC9B,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAC3F,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AACpG,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAC7F,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AACnG,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;AACpG,MAAM,CAAC,MAAM,6BAA6B,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAE3G,4BAA4B;AAC5B,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;AACxF,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAClG,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAC3F,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AACjG,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AACnG,MAAM,CAAC,MAAM,2BAA2B,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAEzG,eAAe;AACf,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAC1F,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AACnG,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAC5F,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAClG,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAEpG,SAAS;AACT,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAE1F,sBAAsB;AACtB,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAC9F,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AACpG,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AACpG,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AACxG,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAEhG,2BAA2B;AAC3B,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AACpG,MAAM,CAAC,MAAM,6BAA6B,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAE3G,mBAAmB;AACnB,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAC9F,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AACpG,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;AACnG,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AACxG,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAErG,iBAAiB;AACjB,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAC5F,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAClG,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAClG,MAAM,CAAC,MAAM,gCAAgC,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAC9G,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AACtG,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAEjG,aAAa;AACb,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AACxF,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAE9F,oBAAoB;AACpB,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAChG,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AACtG,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AACtG,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAC1G,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAEvG,aAAa;AACb,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AACxF,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAClG,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAC9F,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAC9F,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAClG,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAEjG,oBAAoB;AACpB,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAClG,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AACjG,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAC5F,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAC9F,MAAM,CAAC,MAAM,iCAAiC,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAC/G,MAAM,CAAC,MAAM,iCAAiC,GAAG,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;AAC9G,MAAM,CAAC,MAAM,6BAA6B,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAC3G,MAAM,CAAC,MAAM,6BAA6B,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAC3G,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AACvG,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AACvG,MAAM,CAAC,MAAM,kCAAkC,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAChH,MAAM,CAAC,MAAM,kCAAkC,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAChH,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAC/F,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AACnG,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAC5F,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAC5F,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAC5F,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAChG,4FAA4F;AAC5F,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AACtG,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AACpG,MAAM,CAAC,MAAM,2BAA2B,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AACzG,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AACvG,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAC;AACnC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC;AACtC,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAC;AAEtC,gDAAgD;AAChD,MAAM,UAAU,qBAAqB,CAAC,cAAyB;IAC7D,IAAI,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC;QAAE,OAAO,oBAAoB,CAAC;IACjE,IAAI,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC;QAAE,OAAO,gBAAgB,CAAC;IAC/D,MAAM,IAAI,KAAK,CAAC,wCAAwC,cAAc,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AACvF,CAAC;AAED,mDAAmD;AACnD,MAAM,UAAU,2BAA2B,CAAC,OAAe;IACzD,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5B,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC3B,OAAO,SAAS,CAAC,sBAAsB,CACrC,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,GAAG,CAAC,EAClC,eAAe,CAChB,CAAC,CAAC,CAAC,CAAC;AACP,CAAC;AAED,kDAAkD;AAClD,MAAM,UAAU,0BAA0B,CAAC,OAAe;IACxD,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5B,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC3B,OAAO,SAAS,CAAC,sBAAsB,CACrC,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,GAAG,CAAC,EACjC,eAAe,CAChB,CAAC,CAAC,CAAC,CAAC;AACP,CAAC;AAED,qCAAqC;AACrC,MAAM,CAAC,MAAM,6BAA6B,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;AAC/F,MAAM,CAAC,MAAM,gCAAgC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;AAEnG,2BAA2B;AAC3B,gHAAgH;AAChH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;AACtE,MAAM,CAAC,MAAM,oBAAoB,GAAG,yBAAyB,GAAG,CAAC,CAAC;AAClE,MAAM,CAAC,MAAM,qBAAqB,GAAG,oBAAoB,GAAG,EAAE,CAAC;AAC/D,MAAM,CAAC,MAAM,sBAAsB,GAAG,qBAAqB,GAAG,CAAC,CAAC;AAEhE,qBAAqB;AACrB,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC;AACnC,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAC;AACrC,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,CAAC;AAE5C,sFAAsF;AACtF,kFAAkF;AAClF,mEAAmE;AACnE,+EAA+E;AAC/E,iFAAiF;AACjF,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,sBAAsB;IACtB,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,8CAA8C,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;IAC5G,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,8CAA8C,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;IAC5G,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,8CAA8C,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;IAC5G,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,8CAA8C,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;IAC5G,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,8CAA8C,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;IAC5G,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,8CAA8C,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;IAC5G,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,8CAA8C,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;IAC5G,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,8CAA8C,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;IAC5G,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,8CAA8C,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;IAC5G,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,8CAA8C,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;IAC5G,6BAA6B;IAC7B,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,8CAA8C,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;IAC7G,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,8CAA8C,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;IAC7G,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,8CAA8C,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;IAC7G,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,8CAA8C,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;IAC7G,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,8CAA8C,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;IAC7G,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,8CAA8C,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;IAC7G,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,8CAA8C,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;IAC7G,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,8CAA8C,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;IAC7G,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,8CAA8C,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;CAC9G,CAAC;AAEF,0FAA0F;AAC1F,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,EAAE,MAAM,EAAE,oBAAoB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;IACnE,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;IAC3D,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;IAC/D,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,8CAA8C,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;IAC5G,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;IAC9D,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;IAC3D,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;IAC1D,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,8CAA8C,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;CAC9G,CAAC;AAEF,gFAAgF;AAChF,kFAAkF;AAClF,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;IAC/D,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,8CAA8C,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;IAC5G,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,8CAA8C,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;IAC5G,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,8CAA8C,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;IAC5G,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,8CAA8C,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;IAC5G,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,8CAA8C,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;IAC5G,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;IAC1D,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,8CAA8C,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;IAC7G,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,8CAA8C,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;IAC7G,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,8CAA8C,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;CAC9G,CAAC"}
@@ -0,0 +1,7 @@
1
+ export type HobbaErrorCode = "WALLET_NOT_CONNECTED" | "NOT_ALLOWLISTED" | "SIMULATION_FAILED" | "SEND_FAILED" | "USER_REJECTED" | "UNKNOWN";
2
+ export declare class HobbaError extends Error {
3
+ code: HobbaErrorCode;
4
+ constructor(code: HobbaErrorCode, message: string, cause?: unknown);
5
+ }
6
+ export declare function classifyError(e: any): HobbaError;
7
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,cAAc,GACtB,sBAAsB,GACtB,iBAAiB,GACjB,mBAAmB,GACnB,aAAa,GACb,eAAe,GACf,SAAS,CAAC;AAEd,qBAAa,UAAW,SAAQ,KAAK;IACnC,IAAI,EAAE,cAAc,CAAC;gBACT,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO;CAMnE;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,GAAG,GAAG,UAAU,CAUhD"}