@coffer_so/sdk 1.0.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 (228) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +283 -0
  3. package/dist/clients/AdminClient.d.ts +194 -0
  4. package/dist/clients/AdminClient.d.ts.map +1 -0
  5. package/dist/clients/AdminClient.js +482 -0
  6. package/dist/clients/AdminClient.js.map +1 -0
  7. package/dist/clients/CofferBackendClient.d.ts +877 -0
  8. package/dist/clients/CofferBackendClient.d.ts.map +1 -0
  9. package/dist/clients/CofferBackendClient.js +536 -0
  10. package/dist/clients/CofferBackendClient.js.map +1 -0
  11. package/dist/clients/CubeBackendClient.d.ts +877 -0
  12. package/dist/clients/CubeBackendClient.d.ts.map +1 -0
  13. package/dist/clients/CubeBackendClient.js +536 -0
  14. package/dist/clients/CubeBackendClient.js.map +1 -0
  15. package/dist/clients/CubicPoolClient.d.ts +120 -0
  16. package/dist/clients/CubicPoolClient.d.ts.map +1 -0
  17. package/dist/clients/CubicPoolClient.js +687 -0
  18. package/dist/clients/CubicPoolClient.js.map +1 -0
  19. package/dist/clients/PoolFactoryClient.d.ts +53 -0
  20. package/dist/clients/PoolFactoryClient.d.ts.map +1 -0
  21. package/dist/clients/PoolFactoryClient.js +91 -0
  22. package/dist/clients/PoolFactoryClient.js.map +1 -0
  23. package/dist/clients/RpcClient.d.ts +49 -0
  24. package/dist/clients/RpcClient.d.ts.map +1 -0
  25. package/dist/clients/RpcClient.js +135 -0
  26. package/dist/clients/RpcClient.js.map +1 -0
  27. package/dist/clients/SingleTokenDepositClient.d.ts +67 -0
  28. package/dist/clients/SingleTokenDepositClient.d.ts.map +1 -0
  29. package/dist/clients/SingleTokenDepositClient.js +105 -0
  30. package/dist/clients/SingleTokenDepositClient.js.map +1 -0
  31. package/dist/clients/contract-instructions.d.ts +24 -0
  32. package/dist/clients/contract-instructions.d.ts.map +1 -0
  33. package/dist/clients/contract-instructions.js +130 -0
  34. package/dist/clients/contract-instructions.js.map +1 -0
  35. package/dist/clients/index.d.ts +10 -0
  36. package/dist/clients/index.d.ts.map +1 -0
  37. package/dist/clients/index.js +26 -0
  38. package/dist/clients/index.js.map +1 -0
  39. package/dist/clients/quote-math.d.ts +15 -0
  40. package/dist/clients/quote-math.d.ts.map +1 -0
  41. package/dist/clients/quote-math.js +98 -0
  42. package/dist/clients/quote-math.js.map +1 -0
  43. package/dist/clients/tx-builders.d.ts +231 -0
  44. package/dist/clients/tx-builders.d.ts.map +1 -0
  45. package/dist/clients/tx-builders.js +861 -0
  46. package/dist/clients/tx-builders.js.map +1 -0
  47. package/dist/clients/versioned.d.ts +34 -0
  48. package/dist/clients/versioned.d.ts.map +1 -0
  49. package/dist/clients/versioned.js +55 -0
  50. package/dist/clients/versioned.js.map +1 -0
  51. package/dist/config/index.d.ts +65 -0
  52. package/dist/config/index.d.ts.map +1 -0
  53. package/dist/config/index.js +75 -0
  54. package/dist/config/index.js.map +1 -0
  55. package/dist/config/networks.d.ts +12 -0
  56. package/dist/config/networks.d.ts.map +1 -0
  57. package/dist/config/networks.js +51 -0
  58. package/dist/config/networks.js.map +1 -0
  59. package/dist/config/tokens.d.ts +19 -0
  60. package/dist/config/tokens.d.ts.map +1 -0
  61. package/dist/config/tokens.js +43 -0
  62. package/dist/config/tokens.js.map +1 -0
  63. package/dist/idl/cubic_pool.json +4203 -0
  64. package/dist/idl/index.d.ts +1769 -0
  65. package/dist/idl/index.d.ts.map +1 -0
  66. package/dist/idl/index.js +18 -0
  67. package/dist/idl/index.js.map +1 -0
  68. package/dist/idl/protocol_admin.json +2615 -0
  69. package/dist/idl/single_token_liquidity.json +1121 -0
  70. package/dist/index.d.ts +75 -0
  71. package/dist/index.d.ts.map +1 -0
  72. package/dist/index.js +206 -0
  73. package/dist/index.js.map +1 -0
  74. package/dist/math/cubicMath.d.ts +40 -0
  75. package/dist/math/cubicMath.d.ts.map +1 -0
  76. package/dist/math/cubicMath.js +82 -0
  77. package/dist/math/cubicMath.js.map +1 -0
  78. package/dist/math/fixedPoint.d.ts +19 -0
  79. package/dist/math/fixedPoint.d.ts.map +1 -0
  80. package/dist/math/fixedPoint.js +86 -0
  81. package/dist/math/fixedPoint.js.map +1 -0
  82. package/dist/math/index.d.ts +9 -0
  83. package/dist/math/index.d.ts.map +1 -0
  84. package/dist/math/index.js +30 -0
  85. package/dist/math/index.js.map +1 -0
  86. package/dist/math/logExp.d.ts +6 -0
  87. package/dist/math/logExp.d.ts.map +1 -0
  88. package/dist/math/logExp.js +68 -0
  89. package/dist/math/logExp.js.map +1 -0
  90. package/dist/math/lpLoss.d.ts +44 -0
  91. package/dist/math/lpLoss.d.ts.map +1 -0
  92. package/dist/math/lpLoss.js +103 -0
  93. package/dist/math/lpLoss.js.map +1 -0
  94. package/dist/math/maxSelloff.d.ts +164 -0
  95. package/dist/math/maxSelloff.d.ts.map +1 -0
  96. package/dist/math/maxSelloff.js +397 -0
  97. package/dist/math/maxSelloff.js.map +1 -0
  98. package/dist/math/singleToken.d.ts +54 -0
  99. package/dist/math/singleToken.d.ts.map +1 -0
  100. package/dist/math/singleToken.js +188 -0
  101. package/dist/math/singleToken.js.map +1 -0
  102. package/dist/math/slippage.d.ts +13 -0
  103. package/dist/math/slippage.d.ts.map +1 -0
  104. package/dist/math/slippage.js +44 -0
  105. package/dist/math/slippage.js.map +1 -0
  106. package/dist/math/surgeFee.d.ts +24 -0
  107. package/dist/math/surgeFee.d.ts.map +1 -0
  108. package/dist/math/surgeFee.js +85 -0
  109. package/dist/math/surgeFee.js.map +1 -0
  110. package/dist/math/weightedMath.d.ts +20 -0
  111. package/dist/math/weightedMath.d.ts.map +1 -0
  112. package/dist/math/weightedMath.js +66 -0
  113. package/dist/math/weightedMath.js.map +1 -0
  114. package/dist/parsers/borsh.d.ts +28 -0
  115. package/dist/parsers/borsh.d.ts.map +1 -0
  116. package/dist/parsers/borsh.js +104 -0
  117. package/dist/parsers/borsh.js.map +1 -0
  118. package/dist/parsers/contracts.d.ts +26 -0
  119. package/dist/parsers/contracts.d.ts.map +1 -0
  120. package/dist/parsers/contracts.js +62 -0
  121. package/dist/parsers/contracts.js.map +1 -0
  122. package/dist/parsers/events.d.ts +3 -0
  123. package/dist/parsers/events.d.ts.map +1 -0
  124. package/dist/parsers/events.js +281 -0
  125. package/dist/parsers/events.js.map +1 -0
  126. package/dist/parsers/index.d.ts +6 -0
  127. package/dist/parsers/index.d.ts.map +1 -0
  128. package/dist/parsers/index.js +22 -0
  129. package/dist/parsers/index.js.map +1 -0
  130. package/dist/parsers/mintAccount.d.ts +24 -0
  131. package/dist/parsers/mintAccount.d.ts.map +1 -0
  132. package/dist/parsers/mintAccount.js +27 -0
  133. package/dist/parsers/mintAccount.js.map +1 -0
  134. package/dist/parsers/poolAccount.d.ts +141 -0
  135. package/dist/parsers/poolAccount.d.ts.map +1 -0
  136. package/dist/parsers/poolAccount.js +224 -0
  137. package/dist/parsers/poolAccount.js.map +1 -0
  138. package/dist/types/contracts.d.ts +1340 -0
  139. package/dist/types/contracts.d.ts.map +1 -0
  140. package/dist/types/contracts.js +3 -0
  141. package/dist/types/contracts.js.map +1 -0
  142. package/dist/types/events.d.ts +172 -0
  143. package/dist/types/events.d.ts.map +1 -0
  144. package/dist/types/events.js +3 -0
  145. package/dist/types/events.js.map +1 -0
  146. package/dist/types/index.d.ts +6 -0
  147. package/dist/types/index.d.ts.map +1 -0
  148. package/dist/types/index.js +22 -0
  149. package/dist/types/index.js.map +1 -0
  150. package/dist/types/pool.d.ts +149 -0
  151. package/dist/types/pool.d.ts.map +1 -0
  152. package/dist/types/pool.js +3 -0
  153. package/dist/types/pool.js.map +1 -0
  154. package/dist/types/result.d.ts +24 -0
  155. package/dist/types/result.d.ts.map +1 -0
  156. package/dist/types/result.js +11 -0
  157. package/dist/types/result.js.map +1 -0
  158. package/dist/types/tx.d.ts +261 -0
  159. package/dist/types/tx.d.ts.map +1 -0
  160. package/dist/types/tx.js +3 -0
  161. package/dist/types/tx.js.map +1 -0
  162. package/dist/utils/errors.d.ts +44 -0
  163. package/dist/utils/errors.d.ts.map +1 -0
  164. package/dist/utils/errors.js +192 -0
  165. package/dist/utils/errors.js.map +1 -0
  166. package/dist/utils/extensions.d.ts +98 -0
  167. package/dist/utils/extensions.d.ts.map +1 -0
  168. package/dist/utils/extensions.js +187 -0
  169. package/dist/utils/extensions.js.map +1 -0
  170. package/dist/utils/index.d.ts +5 -0
  171. package/dist/utils/index.d.ts.map +1 -0
  172. package/dist/utils/index.js +21 -0
  173. package/dist/utils/index.js.map +1 -0
  174. package/dist/utils/pda.d.ts +8 -0
  175. package/dist/utils/pda.d.ts.map +1 -0
  176. package/dist/utils/pda.js +27 -0
  177. package/dist/utils/pda.js.map +1 -0
  178. package/dist/utils/retry.d.ts +22 -0
  179. package/dist/utils/retry.d.ts.map +1 -0
  180. package/dist/utils/retry.js +62 -0
  181. package/dist/utils/retry.js.map +1 -0
  182. package/package.json +54 -0
  183. package/src/clients/AdminClient.ts +608 -0
  184. package/src/clients/CofferBackendClient.ts +1413 -0
  185. package/src/clients/CubicPoolClient.ts +719 -0
  186. package/src/clients/PoolFactoryClient.ts +110 -0
  187. package/src/clients/RpcClient.ts +195 -0
  188. package/src/clients/SingleTokenDepositClient.ts +143 -0
  189. package/src/clients/contract-instructions.ts +115 -0
  190. package/src/clients/index.ts +9 -0
  191. package/src/clients/quote-math.ts +81 -0
  192. package/src/clients/tx-builders.ts +1096 -0
  193. package/src/clients/versioned.ts +80 -0
  194. package/src/config/index.ts +111 -0
  195. package/src/config/networks.ts +71 -0
  196. package/src/config/tokens.ts +52 -0
  197. package/src/idl/cubic_pool.json +4203 -0
  198. package/src/idl/index.ts +13 -0
  199. package/src/idl/protocol_admin.json +2615 -0
  200. package/src/idl/single_token_liquidity.json +1121 -0
  201. package/src/index.ts +262 -0
  202. package/src/math/cubicMath.ts +92 -0
  203. package/src/math/fixedPoint.ts +71 -0
  204. package/src/math/index.ts +13 -0
  205. package/src/math/logExp.ts +61 -0
  206. package/src/math/lpLoss.ts +160 -0
  207. package/src/math/maxSelloff.ts +564 -0
  208. package/src/math/singleToken.ts +251 -0
  209. package/src/math/slippage.ts +38 -0
  210. package/src/math/surgeFee.ts +101 -0
  211. package/src/math/weightedMath.ts +64 -0
  212. package/src/parsers/borsh.ts +106 -0
  213. package/src/parsers/contracts.ts +64 -0
  214. package/src/parsers/events.ts +275 -0
  215. package/src/parsers/index.ts +5 -0
  216. package/src/parsers/mintAccount.ts +44 -0
  217. package/src/parsers/poolAccount.ts +372 -0
  218. package/src/types/contracts.ts +238 -0
  219. package/src/types/events.ts +198 -0
  220. package/src/types/index.ts +5 -0
  221. package/src/types/pool.ts +147 -0
  222. package/src/types/result.ts +51 -0
  223. package/src/types/tx.ts +278 -0
  224. package/src/utils/errors.ts +210 -0
  225. package/src/utils/extensions.ts +196 -0
  226. package/src/utils/index.ts +4 -0
  227. package/src/utils/pda.ts +58 -0
  228. package/src/utils/retry.ts +85 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tx-builders.js","sourceRoot":"","sources":["../../src/clients/tx-builders.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import { AddressLookupTableAccount, Connection, PublicKey, TransactionInstruction, VersionedTransaction } from "@solana/web3.js";
2
+ import { PoolInfo } from "../types/pool";
3
+ import { BuiltTx } from "../types/tx";
4
+ import { SdkResult } from "../types/result";
5
+ /**
6
+ * Compile a set of instructions into a `VersionedTransaction` (v0),
7
+ * optionally using a per-pool Address Lookup Table to shrink the wire
8
+ * size below the 1232-byte legacy ceiling.
9
+ *
10
+ * ALT inclusion rules:
11
+ * - If `lookupTable` is `PublicKey.default` (or undefined) → no ALT
12
+ * is referenced; the tx is v0 but uses only static account keys.
13
+ * - Otherwise → fetch the ALT via `connection.getAddressLookupTable`
14
+ * and include it. If the fetch fails, the function returns an
15
+ * `alt_fetch_failed` error rather than silently falling back.
16
+ *
17
+ * Wallets supporting the standard `signTransaction(Transaction |
18
+ * VersionedTransaction)` overload (Phantom, Solflare, Backpack, Glow,
19
+ * the wallet-adapter set since 2023) sign these without changes.
20
+ */
21
+ export declare function buildVersionedTx(conn: Connection, payer: PublicKey, instructions: TransactionInstruction[], lookupTable: PublicKey | undefined): Promise<SdkResult<{
22
+ tx: VersionedTransaction;
23
+ alts: AddressLookupTableAccount[];
24
+ }>>;
25
+ /**
26
+ * Convenience: take a SDK-built `BuiltTx` and a pool snapshot, produce
27
+ * a signed-ready `VersionedTransaction`. Picks up `pool.lookupTable`
28
+ * automatically.
29
+ */
30
+ export declare function compileBuiltTx(conn: Connection, payer: PublicKey, built: BuiltTx, pool: Pick<PoolInfo, "lookupTable">): Promise<SdkResult<{
31
+ tx: VersionedTransaction;
32
+ alts: AddressLookupTableAccount[];
33
+ }>>;
34
+ //# sourceMappingURL=versioned.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"versioned.d.ts","sourceRoot":"","sources":["../../src/clients/versioned.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,UAAU,EACV,SAAS,EACT,sBAAsB,EAEtB,oBAAoB,EACrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,SAAS,EAAW,MAAM,iBAAiB,CAAC;AAErD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,SAAS,EAChB,YAAY,EAAE,sBAAsB,EAAE,EACtC,WAAW,EAAE,SAAS,GAAG,SAAS,GACjC,OAAO,CAAC,SAAS,CAAC;IAAE,EAAE,EAAE,oBAAoB,CAAC;IAAC,IAAI,EAAE,yBAAyB,EAAE,CAAA;CAAE,CAAC,CAAC,CAgCrF;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,GAClC,OAAO,CAAC,SAAS,CAAC;IAAE,EAAE,EAAE,oBAAoB,CAAC;IAAC,IAAI,EAAE,yBAAyB,EAAE,CAAA;CAAE,CAAC,CAAC,CAErF"}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildVersionedTx = buildVersionedTx;
4
+ exports.compileBuiltTx = compileBuiltTx;
5
+ const web3_js_1 = require("@solana/web3.js");
6
+ const result_1 = require("../types/result");
7
+ /**
8
+ * Compile a set of instructions into a `VersionedTransaction` (v0),
9
+ * optionally using a per-pool Address Lookup Table to shrink the wire
10
+ * size below the 1232-byte legacy ceiling.
11
+ *
12
+ * ALT inclusion rules:
13
+ * - If `lookupTable` is `PublicKey.default` (or undefined) → no ALT
14
+ * is referenced; the tx is v0 but uses only static account keys.
15
+ * - Otherwise → fetch the ALT via `connection.getAddressLookupTable`
16
+ * and include it. If the fetch fails, the function returns an
17
+ * `alt_fetch_failed` error rather than silently falling back.
18
+ *
19
+ * Wallets supporting the standard `signTransaction(Transaction |
20
+ * VersionedTransaction)` overload (Phantom, Solflare, Backpack, Glow,
21
+ * the wallet-adapter set since 2023) sign these without changes.
22
+ */
23
+ async function buildVersionedTx(conn, payer, instructions, lookupTable) {
24
+ const alts = [];
25
+ if (lookupTable && !lookupTable.equals(web3_js_1.PublicKey.default)) {
26
+ try {
27
+ const res = await conn.getAddressLookupTable(lookupTable);
28
+ if (!res.value) {
29
+ return (0, result_1.err)("alt_fetch_failed", `Lookup table ${lookupTable.toBase58()} not found on-chain. ` +
30
+ "The pool advertises an ALT but the account is missing — " +
31
+ "the ALT may have been closed or the RPC is stale.");
32
+ }
33
+ alts.push(res.value);
34
+ }
35
+ catch (e) {
36
+ return (0, result_1.err)("alt_fetch_failed", `Failed to fetch lookup table ${lookupTable.toBase58()}`, e);
37
+ }
38
+ }
39
+ const { blockhash } = await conn.getLatestBlockhash("confirmed");
40
+ const msg = new web3_js_1.TransactionMessage({
41
+ payerKey: payer,
42
+ recentBlockhash: blockhash,
43
+ instructions,
44
+ }).compileToV0Message(alts);
45
+ return (0, result_1.ok)({ tx: new web3_js_1.VersionedTransaction(msg), alts });
46
+ }
47
+ /**
48
+ * Convenience: take a SDK-built `BuiltTx` and a pool snapshot, produce
49
+ * a signed-ready `VersionedTransaction`. Picks up `pool.lookupTable`
50
+ * automatically.
51
+ */
52
+ async function compileBuiltTx(conn, payer, built, pool) {
53
+ return buildVersionedTx(conn, payer, built.instructions, pool.lookupTable);
54
+ }
55
+ //# sourceMappingURL=versioned.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"versioned.js","sourceRoot":"","sources":["../../src/clients/versioned.ts"],"names":[],"mappings":";;AA4BA,4CAqCC;AAOD,wCAOC;AA/ED,6CAOyB;AAGzB,4CAAqD;AAErD;;;;;;;;;;;;;;;GAeG;AACI,KAAK,UAAU,gBAAgB,CACpC,IAAgB,EAChB,KAAgB,EAChB,YAAsC,EACtC,WAAkC;IAElC,MAAM,IAAI,GAAgC,EAAE,CAAC;IAE7C,IAAI,WAAW,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,mBAAS,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1D,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;YAC1D,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;gBACf,OAAO,IAAA,YAAG,EACR,kBAAkB,EAClB,gBAAgB,WAAW,CAAC,QAAQ,EAAE,uBAAuB;oBAC3D,0DAA0D;oBAC1D,mDAAmD,CACtD,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,IAAA,YAAG,EACR,kBAAkB,EAClB,gCAAgC,WAAW,CAAC,QAAQ,EAAE,EAAE,EACxD,CAAC,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;IACjE,MAAM,GAAG,GAAG,IAAI,4BAAkB,CAAC;QACjC,QAAQ,EAAE,KAAK;QACf,eAAe,EAAE,SAAS;QAC1B,YAAY;KACb,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAE5B,OAAO,IAAA,WAAE,EAAC,EAAE,EAAE,EAAE,IAAI,8BAAoB,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;AACzD,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,cAAc,CAClC,IAAgB,EAChB,KAAgB,EAChB,KAAc,EACd,IAAmC;IAEnC,OAAO,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;AAC7E,CAAC"}
@@ -0,0 +1,65 @@
1
+ import { Commitment, PublicKey } from "@solana/web3.js";
2
+ import { NetworkPrograms, Network } from "./networks";
3
+ import { TokenInfo } from "./tokens";
4
+ export * from "./networks";
5
+ export * from "./tokens";
6
+ /**
7
+ * Root SDK configuration. Passed into every Client class at construction.
8
+ * Immutable after creation — rebuild if you need to switch networks.
9
+ */
10
+ export interface CofferConfig {
11
+ network: Network;
12
+ programs: NetworkPrograms;
13
+ defaults: {
14
+ rpcEndpoint: string;
15
+ rpcEndpoints: string[];
16
+ rpcTimeoutMs: number;
17
+ rpcCommitment: Commitment;
18
+ /** Used by helpers that prepend a ComputeBudget instruction. */
19
+ cuLimit: number;
20
+ /**
21
+ * Default slippage budget when the caller doesn't pass one. Units:
22
+ * hundredths of a basis point (matches cubic-pool's `swap_fee_rate`
23
+ * scale). 50_000 = 5%.
24
+ */
25
+ slippageHundredthsBps: number;
26
+ };
27
+ /** Optional token registry keyed by mint pubkey string. */
28
+ tokens?: Record<string, TokenInfo>;
29
+ /** Optional backend endpoint; consumed by CofferBackendClient. */
30
+ backendEndpoint?: string;
31
+ }
32
+ export interface CofferConfigOverrides {
33
+ rpcEndpoint?: string;
34
+ rpcEndpoints?: string[];
35
+ rpcTimeoutMs?: number;
36
+ rpcCommitment?: Commitment;
37
+ cuLimit?: number;
38
+ slippageHundredthsBps?: number;
39
+ backendEndpoint?: string;
40
+ tokens?: Record<string, TokenInfo>;
41
+ }
42
+ /** Build a CofferConfig for the named network with optional overrides. */
43
+ export declare function getConfig(network: Network, overrides?: CofferConfigOverrides): CofferConfig;
44
+ export declare const CUBIC_POOL_SEED: Buffer<ArrayBuffer>;
45
+ export declare const BPT_MINT_SEED: Buffer<ArrayBuffer>;
46
+ export declare const STLD_HELPER_SEED: Buffer<ArrayBuffer>;
47
+ export declare const TREASURY_SEED: Buffer<ArrayBuffer>;
48
+ /** Contract-level constants mirrored from Rust. */
49
+ export declare const WEIGHT_SCALE = 10000;
50
+ export declare const MIN_WEIGHT = 100;
51
+ export declare const MAX_WEIGHT = 9900;
52
+ export declare const MIN_TOKENS = 2;
53
+ export declare const MAX_TOKENS = 10;
54
+ export declare const BPT_DECIMALS = 9;
55
+ export declare const SWAP_FEE_PRECISION = 1000000;
56
+ export declare const PROTOCOL_FEE_PRECISION = 10000;
57
+ export declare const PERCENT_SCALE = 10000;
58
+ export declare const MAX_SWAP_FEE_RATE = 100000;
59
+ export declare const MAX_PROTOCOL_FEE_RATE = 5000;
60
+ export declare const MINIMUM_INITIAL_BPT = 1000n;
61
+ export declare const SLIPPAGE_PRECISION = 1000000;
62
+ export declare const MIN_SLIPPAGE_HBPS = 10;
63
+ export type ProgramIdKind = "cubicPool" | "singleTokenLiquidity" | "protocolAdmin";
64
+ export declare function programId(cfg: CofferConfig, kind: ProgramIdKind): PublicKey;
65
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAEL,eAAe,EACf,OAAO,EAIR,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AAEzB;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,eAAe,CAAC;IAC1B,QAAQ,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,EAAE,CAAC;QACvB,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,UAAU,CAAC;QAC1B,gEAAgE;QAChE,OAAO,EAAE,MAAM,CAAC;QAChB;;;;WAIG;QACH,qBAAqB,EAAE,MAAM,CAAC;KAC/B,CAAC;IACF,2DAA2D;IAC3D,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACnC,kEAAkE;IAClE,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,qBAAqB;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,UAAU,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CACpC;AAED,0EAA0E;AAC1E,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,GAAE,qBAA0B,GAAG,YAAY,CAgB/F;AAgBD,eAAO,MAAM,eAAe,qBAA4B,CAAC;AACzD,eAAO,MAAM,aAAa,qBAA0B,CAAC;AACrD,eAAO,MAAM,gBAAgB,qBAA6B,CAAC;AAC3D,eAAO,MAAM,aAAa,qBAA0B,CAAC;AAErD,mDAAmD;AACnD,eAAO,MAAM,YAAY,QAAS,CAAC;AACnC,eAAO,MAAM,UAAU,MAAM,CAAC;AAC9B,eAAO,MAAM,UAAU,OAAQ,CAAC;AAChC,eAAO,MAAM,UAAU,IAAI,CAAC;AAC5B,eAAO,MAAM,UAAU,KAAK,CAAC;AAC7B,eAAO,MAAM,YAAY,IAAI,CAAC;AAC9B,eAAO,MAAM,kBAAkB,UAAY,CAAC;AAC5C,eAAO,MAAM,sBAAsB,QAAS,CAAC;AAC7C,eAAO,MAAM,aAAa,QAAS,CAAC;AACpC,eAAO,MAAM,iBAAiB,SAAU,CAAC;AACzC,eAAO,MAAM,qBAAqB,OAAQ,CAAC;AAC3C,eAAO,MAAM,mBAAmB,QAAS,CAAC;AAC1C,eAAO,MAAM,kBAAkB,UAAY,CAAC;AAC5C,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,sBAAsB,GAAG,eAAe,CAAC;AAEnF,wBAAgB,SAAS,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,GAAG,SAAS,CAE3E"}
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.MIN_SLIPPAGE_HBPS = exports.SLIPPAGE_PRECISION = exports.MINIMUM_INITIAL_BPT = exports.MAX_PROTOCOL_FEE_RATE = exports.MAX_SWAP_FEE_RATE = exports.PERCENT_SCALE = exports.PROTOCOL_FEE_PRECISION = exports.SWAP_FEE_PRECISION = exports.BPT_DECIMALS = exports.MAX_TOKENS = exports.MIN_TOKENS = exports.MAX_WEIGHT = exports.MIN_WEIGHT = exports.WEIGHT_SCALE = exports.TREASURY_SEED = exports.STLD_HELPER_SEED = exports.BPT_MINT_SEED = exports.CUBIC_POOL_SEED = void 0;
18
+ exports.getConfig = getConfig;
19
+ exports.programId = programId;
20
+ const networks_1 = require("./networks");
21
+ __exportStar(require("./networks"), exports);
22
+ __exportStar(require("./tokens"), exports);
23
+ /** Build a CofferConfig for the named network with optional overrides. */
24
+ function getConfig(network, overrides = {}) {
25
+ const rpcEndpoints = resolveRpcEndpoints(network, overrides);
26
+ return {
27
+ network,
28
+ programs: networks_1.NETWORK_PROGRAMS[network],
29
+ defaults: {
30
+ rpcEndpoint: rpcEndpoints[0] ?? overrides.rpcEndpoint ?? networks_1.DEFAULT_RPC_ENDPOINT[network],
31
+ rpcEndpoints,
32
+ rpcTimeoutMs: overrides.rpcTimeoutMs ?? networks_1.DEFAULT_RPC_TIMEOUT_MS,
33
+ rpcCommitment: overrides.rpcCommitment ?? "confirmed",
34
+ cuLimit: overrides.cuLimit ?? 1400000,
35
+ slippageHundredthsBps: overrides.slippageHundredthsBps ?? 50000,
36
+ },
37
+ tokens: overrides.tokens,
38
+ backendEndpoint: overrides.backendEndpoint,
39
+ };
40
+ }
41
+ function resolveRpcEndpoints(network, overrides) {
42
+ if (overrides.rpcEndpoints && overrides.rpcEndpoints.length > 0) {
43
+ return dedupe(overrides.rpcEndpoints);
44
+ }
45
+ if (overrides.rpcEndpoint) {
46
+ return dedupe([overrides.rpcEndpoint, ...networks_1.DEFAULT_RPC_ENDPOINTS[network]]);
47
+ }
48
+ return [...networks_1.DEFAULT_RPC_ENDPOINTS[network]];
49
+ }
50
+ function dedupe(values) {
51
+ return Array.from(new Set(values));
52
+ }
53
+ exports.CUBIC_POOL_SEED = Buffer.from("cubic_pool");
54
+ exports.BPT_MINT_SEED = Buffer.from("bpt_mint");
55
+ exports.STLD_HELPER_SEED = Buffer.from("stld_helper");
56
+ exports.TREASURY_SEED = Buffer.from("treasury");
57
+ /** Contract-level constants mirrored from Rust. */
58
+ exports.WEIGHT_SCALE = 10000; // 100 %
59
+ exports.MIN_WEIGHT = 100; // 1 %
60
+ exports.MAX_WEIGHT = 9900; // 99 %
61
+ exports.MIN_TOKENS = 2;
62
+ exports.MAX_TOKENS = 10;
63
+ exports.BPT_DECIMALS = 9;
64
+ exports.SWAP_FEE_PRECISION = 1000000; // 100 %
65
+ exports.PROTOCOL_FEE_PRECISION = 10000; // 100 %
66
+ exports.PERCENT_SCALE = 10000; // 100 % (max-selloff / surge-fee scale)
67
+ exports.MAX_SWAP_FEE_RATE = 100000; // 10 %
68
+ exports.MAX_PROTOCOL_FEE_RATE = 5000; // 50 %
69
+ exports.MINIMUM_INITIAL_BPT = 1000n;
70
+ exports.SLIPPAGE_PRECISION = 1000000;
71
+ exports.MIN_SLIPPAGE_HBPS = 10; // 0.001 %
72
+ function programId(cfg, kind) {
73
+ return cfg.programs[kind];
74
+ }
75
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAqDA,8BAgBC;AAuCD,8BAEC;AA7GD,yCAOoB;AAGpB,6CAA2B;AAC3B,2CAAyB;AAwCzB,0EAA0E;AAC1E,SAAgB,SAAS,CAAC,OAAgB,EAAE,YAAmC,EAAE;IAC/E,MAAM,YAAY,GAAG,mBAAmB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC7D,OAAO;QACL,OAAO;QACP,QAAQ,EAAE,2BAAgB,CAAC,OAAO,CAAC;QACnC,QAAQ,EAAE;YACR,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,WAAW,IAAI,+BAAoB,CAAC,OAAO,CAAC;YACtF,YAAY;YACZ,YAAY,EAAE,SAAS,CAAC,YAAY,IAAI,iCAAsB;YAC9D,aAAa,EAAE,SAAS,CAAC,aAAa,IAAI,WAAW;YACrD,OAAO,EAAE,SAAS,CAAC,OAAO,IAAI,OAAS;YACvC,qBAAqB,EAAE,SAAS,CAAC,qBAAqB,IAAI,KAAM;SACjE;QACD,MAAM,EAAE,SAAS,CAAC,MAAM;QACxB,eAAe,EAAE,SAAS,CAAC,eAAe;KAC3C,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAgB,EAAE,SAAgC;IAC7E,IAAI,SAAS,CAAC,YAAY,IAAI,SAAS,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChE,OAAO,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;QAC1B,OAAO,MAAM,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,GAAG,gCAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,CAAC,GAAG,gCAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,MAAM,CAAC,MAAgB;IAC9B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AACrC,CAAC;AAEY,QAAA,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAC5C,QAAA,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACxC,QAAA,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAC9C,QAAA,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAErD,mDAAmD;AACtC,QAAA,YAAY,GAAG,KAAM,CAAC,CAAC,QAAQ;AAC/B,QAAA,UAAU,GAAG,GAAG,CAAC,CAAC,MAAM;AACxB,QAAA,UAAU,GAAG,IAAK,CAAC,CAAC,OAAO;AAC3B,QAAA,UAAU,GAAG,CAAC,CAAC;AACf,QAAA,UAAU,GAAG,EAAE,CAAC;AAChB,QAAA,YAAY,GAAG,CAAC,CAAC;AACjB,QAAA,kBAAkB,GAAG,OAAS,CAAC,CAAC,QAAQ;AACxC,QAAA,sBAAsB,GAAG,KAAM,CAAC,CAAC,QAAQ;AACzC,QAAA,aAAa,GAAG,KAAM,CAAC,CAAC,wCAAwC;AAChE,QAAA,iBAAiB,GAAG,MAAO,CAAC,CAAC,OAAO;AACpC,QAAA,qBAAqB,GAAG,IAAK,CAAC,CAAC,OAAO;AACtC,QAAA,mBAAmB,GAAG,KAAM,CAAC;AAC7B,QAAA,kBAAkB,GAAG,OAAS,CAAC;AAC/B,QAAA,iBAAiB,GAAG,EAAE,CAAC,CAAC,UAAU;AAI/C,SAAgB,SAAS,CAAC,GAAiB,EAAE,IAAmB;IAC9D,OAAO,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { PublicKey } from "@solana/web3.js";
2
+ export type Network = "mainnet" | "devnet" | "localnet";
3
+ export interface NetworkPrograms {
4
+ cubicPool: PublicKey;
5
+ singleTokenLiquidity: PublicKey;
6
+ protocolAdmin: PublicKey;
7
+ }
8
+ export declare const NETWORK_PROGRAMS: Record<Network, NetworkPrograms>;
9
+ export declare const DEFAULT_RPC_ENDPOINT: Record<Network, string>;
10
+ export declare const DEFAULT_RPC_ENDPOINTS: Record<Network, string[]>;
11
+ export declare const DEFAULT_RPC_TIMEOUT_MS = 2000;
12
+ //# sourceMappingURL=networks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"networks.d.ts","sourceRoot":"","sources":["../../src/config/networks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,MAAM,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC;AAExD,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,SAAS,CAAC;IACrB,oBAAoB,EAAE,SAAS,CAAC;IAChC,aAAa,EAAE,SAAS,CAAC;CAC1B;AAED,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,OAAO,EAAE,eAAe,CA0C7D,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAIxD,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAQ3D,CAAC;AAEF,eAAO,MAAM,sBAAsB,OAAQ,CAAC"}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DEFAULT_RPC_TIMEOUT_MS = exports.DEFAULT_RPC_ENDPOINTS = exports.DEFAULT_RPC_ENDPOINT = exports.NETWORK_PROGRAMS = void 0;
4
+ const web3_js_1 = require("@solana/web3.js");
5
+ exports.NETWORK_PROGRAMS = {
6
+ mainnet: {
7
+ cubicPool: new web3_js_1.PublicKey("8iQtGj9mcUfFUGaiCpPy89swC3s8YTC8FhVZWfgeZhwu"),
8
+ // TODO(mainnet): single_token_liquidity is NOT deployed on mainnet — this
9
+ // is the devnet program ID as a placeholder. Single-token deposit is
10
+ // disabled in the frontend. If/when stld ships on mainnet, replace this
11
+ // with the real mainnet program ID.
12
+ singleTokenLiquidity: new web3_js_1.PublicKey("7BpdUH1tzTSXLuQNo6YpjJ8Eagw8AkrS6cnkxiJdCFS2"),
13
+ protocolAdmin: new web3_js_1.PublicKey("3jiojHZbjJQ7QLMGSTjFwxVEmx4NtuRy34nLAmsJME81"),
14
+ },
15
+ devnet: {
16
+ // v5.1 (post-audit) copy deployed on devnet under our wallet. The original
17
+ // devnet CVKx/HJEi IDs are unusable: cubic_pool's was closed permanently
18
+ // and protocol_admin's has a non-ours upgrade authority.
19
+ //
20
+ // These binaries are built with devnet `declare_id`s AND a devnet
21
+ // `PROTOCOL_ADMIN_PROGRAM_ID` — cubic_pool pins that constant at compile
22
+ // time to derive the Treasury PDA, so a mainnet build would look for a
23
+ // Treasury that does not exist here.
24
+ cubicPool: new web3_js_1.PublicKey("E6YAKuLAd8vBgJnXsVdPCFCdgUef6ZinfDst3JMxuhJJ"),
25
+ // stld IS deployed on devnet and shares its ID with mainnet, because its
26
+ // `declare_id` needed no devnet override.
27
+ singleTokenLiquidity: new web3_js_1.PublicKey("7BpdUH1tzTSXLuQNo6YpjJ8Eagw8AkrS6cnkxiJdCFS2"),
28
+ protocolAdmin: new web3_js_1.PublicKey("6bFDi7RrLJSbhBpJ2AjHAQfbzBiHGXQXND7no8gv8gux"),
29
+ },
30
+ localnet: {
31
+ cubicPool: new web3_js_1.PublicKey("8iQtGj9mcUfFUGaiCpPy89swC3s8YTC8FhVZWfgeZhwu"),
32
+ singleTokenLiquidity: new web3_js_1.PublicKey("7BpdUH1tzTSXLuQNo6YpjJ8Eagw8AkrS6cnkxiJdCFS2"),
33
+ protocolAdmin: new web3_js_1.PublicKey("3jiojHZbjJQ7QLMGSTjFwxVEmx4NtuRy34nLAmsJME81"),
34
+ },
35
+ };
36
+ exports.DEFAULT_RPC_ENDPOINT = {
37
+ mainnet: "https://solana.drpc.org",
38
+ devnet: "https://api.devnet.solana.com",
39
+ localnet: "http://127.0.0.1:8899",
40
+ };
41
+ exports.DEFAULT_RPC_ENDPOINTS = {
42
+ mainnet: [
43
+ "https://solana.drpc.org",
44
+ "https://solana-rpc.publicnode.com",
45
+ "https://solana.api.pocket.network",
46
+ ],
47
+ devnet: ["https://api.devnet.solana.com"],
48
+ localnet: ["http://127.0.0.1:8899"],
49
+ };
50
+ exports.DEFAULT_RPC_TIMEOUT_MS = 2000;
51
+ //# sourceMappingURL=networks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"networks.js","sourceRoot":"","sources":["../../src/config/networks.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAU/B,QAAA,gBAAgB,GAAqC;IAChE,OAAO,EAAE;QACP,SAAS,EAAE,IAAI,mBAAS,CAAC,8CAA8C,CAAC;QACxE,0EAA0E;QAC1E,qEAAqE;QACrE,wEAAwE;QACxE,oCAAoC;QACpC,oBAAoB,EAAE,IAAI,mBAAS,CACjC,8CAA8C,CAC/C;QACD,aAAa,EAAE,IAAI,mBAAS,CAC1B,8CAA8C,CAC/C;KACF;IACD,MAAM,EAAE;QACN,2EAA2E;QAC3E,yEAAyE;QACzE,yDAAyD;QACzD,EAAE;QACF,kEAAkE;QAClE,yEAAyE;QACzE,uEAAuE;QACvE,qCAAqC;QACrC,SAAS,EAAE,IAAI,mBAAS,CAAC,8CAA8C,CAAC;QACxE,yEAAyE;QACzE,0CAA0C;QAC1C,oBAAoB,EAAE,IAAI,mBAAS,CACjC,8CAA8C,CAC/C;QACD,aAAa,EAAE,IAAI,mBAAS,CAC1B,8CAA8C,CAC/C;KACF;IACD,QAAQ,EAAE;QACR,SAAS,EAAE,IAAI,mBAAS,CAAC,8CAA8C,CAAC;QACxE,oBAAoB,EAAE,IAAI,mBAAS,CACjC,8CAA8C,CAC/C;QACD,aAAa,EAAE,IAAI,mBAAS,CAC1B,8CAA8C,CAC/C;KACF;CACF,CAAC;AAEW,QAAA,oBAAoB,GAA4B;IAC3D,OAAO,EAAE,yBAAyB;IAClC,MAAM,EAAE,+BAA+B;IACvC,QAAQ,EAAE,uBAAuB;CAClC,CAAC;AAEW,QAAA,qBAAqB,GAA8B;IAC9D,OAAO,EAAE;QACP,yBAAyB;QACzB,mCAAmC;QACnC,mCAAmC;KACpC;IACD,MAAM,EAAE,CAAC,+BAA+B,CAAC;IACzC,QAAQ,EAAE,CAAC,uBAAuB,CAAC;CACpC,CAAC;AAEW,QAAA,sBAAsB,GAAG,IAAK,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { PublicKey } from "@solana/web3.js";
2
+ /** Metadata describing a token. Populated by backend or local registry. */
3
+ export interface TokenInfo {
4
+ mint: PublicKey;
5
+ symbol: string;
6
+ name: string;
7
+ decimals: number;
8
+ logoUri?: string;
9
+ coingeckoId?: string;
10
+ }
11
+ /**
12
+ * Local fallback registry of well-known tokens. The backend registry takes
13
+ * precedence; this is used when the backend is unreachable.
14
+ */
15
+ export declare const KNOWN_TOKENS: Record<string, Omit<TokenInfo, "mint"> & {
16
+ mint: string;
17
+ }>;
18
+ export declare function resolveKnownToken(mint: string): TokenInfo | undefined;
19
+ //# sourceMappingURL=tokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/config/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,2EAA2E;AAC3E,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CA0BnF,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAOrE"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.KNOWN_TOKENS = void 0;
4
+ exports.resolveKnownToken = resolveKnownToken;
5
+ const web3_js_1 = require("@solana/web3.js");
6
+ /**
7
+ * Local fallback registry of well-known tokens. The backend registry takes
8
+ * precedence; this is used when the backend is unreachable.
9
+ */
10
+ exports.KNOWN_TOKENS = {
11
+ SOL: {
12
+ mint: "So11111111111111111111111111111111111111112",
13
+ symbol: "SOL",
14
+ name: "Wrapped SOL",
15
+ decimals: 9,
16
+ logoUri: "https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/So11111111111111111111111111111111111111112/logo.png",
17
+ coingeckoId: "solana",
18
+ },
19
+ USDC: {
20
+ mint: "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
21
+ symbol: "USDC",
22
+ name: "USD Coin",
23
+ decimals: 6,
24
+ logoUri: "https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v/logo.png",
25
+ coingeckoId: "usd-coin",
26
+ },
27
+ USDT: {
28
+ mint: "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB",
29
+ symbol: "USDT",
30
+ name: "Tether USD",
31
+ decimals: 6,
32
+ coingeckoId: "tether",
33
+ },
34
+ };
35
+ function resolveKnownToken(mint) {
36
+ for (const t of Object.values(exports.KNOWN_TOKENS)) {
37
+ if (t.mint === mint) {
38
+ return { ...t, mint: new web3_js_1.PublicKey(t.mint) };
39
+ }
40
+ }
41
+ return undefined;
42
+ }
43
+ //# sourceMappingURL=tokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/config/tokens.ts"],"names":[],"mappings":";;;AA4CA,8CAOC;AAnDD,6CAA4C;AAY5C;;;GAGG;AACU,QAAA,YAAY,GAA+D;IACtF,GAAG,EAAE;QACH,IAAI,EAAE,6CAA6C;QACnD,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,aAAa;QACnB,QAAQ,EAAE,CAAC;QACX,OAAO,EACL,mIAAmI;QACrI,WAAW,EAAE,QAAQ;KACtB;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,8CAA8C;QACpD,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,CAAC;QACX,OAAO,EACL,oIAAoI;QACtI,WAAW,EAAE,UAAU;KACxB;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,8CAA8C;QACpD,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,CAAC;QACX,WAAW,EAAE,QAAQ;KACtB;CACF,CAAC;AAEF,SAAgB,iBAAiB,CAAC,IAAY;IAC5C,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,oBAAY,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACpB,OAAO,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,mBAAS,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/C,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}