@eco-incorp/sauce 0.99.1 → 0.99.2

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 (185) hide show
  1. package/LICENSE.md +29 -0
  2. package/README.md +69 -249
  3. package/actions/dist/to-sauce.d.ts.map +1 -1
  4. package/actions/dist/to-sauce.js +4 -5
  5. package/dev-tools/README.md +11 -170
  6. package/docs/README.md +39 -0
  7. package/docs/api/README.md +71 -0
  8. package/docs/api/compiler.md +234 -0
  9. package/docs/api/coverage.md +117 -0
  10. package/docs/api/routes.md +110 -0
  11. package/docs/concepts/architecture.md +134 -0
  12. package/docs/concepts/saucescript.md +172 -0
  13. package/docs/examples/README.md +34 -0
  14. package/docs/examples/compile-program.ts +20 -0
  15. package/docs/examples/evm-execution.ts +59 -0
  16. package/docs/examples/first-intent.ts +56 -0
  17. package/docs/examples/protocol-approval.ts +33 -0
  18. package/docs/guides/builders-and-actions.md +108 -0
  19. package/docs/guides/compiling.md +264 -0
  20. package/docs/guides/intents.md +158 -0
  21. package/docs/guides/nested-intents.md +79 -0
  22. package/docs/guides/protocols-and-tokens.md +116 -0
  23. package/docs/guides/quick-start.md +64 -0
  24. package/docs/guides/solana.md +196 -0
  25. package/docs/guides/verification.md +253 -0
  26. package/package.json +9 -4
  27. package/sdk/dist/artifacts/V12Deployments.json +23 -5
  28. package/sdk/dist/artifacts/V12RuntimeBytecode.json +1 -1
  29. package/sdk/dist/artifacts/svm/engine-devnet.so +0 -0
  30. package/sdk/dist/artifacts/svm/engine-mainnet.so +0 -0
  31. package/sdk/dist/artifacts/svm/engine-wire-devnet.json +3 -3
  32. package/sdk/dist/artifacts/svm/engine-wire-mainnet.json +3 -3
  33. package/sdk/dist/deployments/index.d.ts +14 -46
  34. package/sdk/dist/deployments/index.d.ts.map +1 -1
  35. package/sdk/dist/deployments/index.js +22 -47
  36. package/sdk/dist/deployments/index.js.map +1 -1
  37. package/sdk/dist/deployments/v12-addresses.d.ts +9 -5
  38. package/sdk/dist/deployments/v12-addresses.d.ts.map +1 -1
  39. package/sdk/dist/deployments/v12-addresses.js +5 -6
  40. package/sdk/dist/deployments/v12-addresses.js.map +1 -1
  41. package/sdk/dist/deployments/v12.generated.d.ts +3 -3
  42. package/sdk/dist/deployments/v12.generated.d.ts.map +1 -1
  43. package/sdk/dist/deployments/v12.generated.js +3 -3
  44. package/sdk/dist/deployments/v12.generated.js.map +1 -1
  45. package/sdk/dist/deposit/index.d.ts +28 -102
  46. package/sdk/dist/deposit/index.d.ts.map +1 -1
  47. package/sdk/dist/deposit/index.js.map +1 -1
  48. package/sdk/dist/deposit/params.d.ts +1 -1
  49. package/sdk/dist/deposit/params.js +2 -2
  50. package/sdk/dist/deposit/params.js.map +1 -1
  51. package/sdk/dist/deposit/source.d.ts +1 -1
  52. package/sdk/dist/deposit/source.d.ts.map +1 -1
  53. package/sdk/dist/deposit/source.js +18 -33
  54. package/sdk/dist/deposit/source.js.map +1 -1
  55. package/sdk/dist/deposit/types.d.ts +5 -4
  56. package/sdk/dist/deposit/types.d.ts.map +1 -1
  57. package/sdk/dist/evm/engine.d.ts +32 -0
  58. package/sdk/dist/evm/engine.d.ts.map +1 -1
  59. package/sdk/dist/evm/engine.js +2 -0
  60. package/sdk/dist/evm/engine.js.map +1 -1
  61. package/sdk/dist/index.d.ts +1 -0
  62. package/sdk/dist/index.d.ts.map +1 -1
  63. package/sdk/dist/index.js +2 -0
  64. package/sdk/dist/index.js.map +1 -1
  65. package/sdk/dist/plugin/index.d.ts +16 -41
  66. package/sdk/dist/plugin/index.d.ts.map +1 -1
  67. package/sdk/dist/plugin/index.js +2 -6
  68. package/sdk/dist/plugin/index.js.map +1 -1
  69. package/sdk/dist/recipes/index.js +2 -2
  70. package/sdk/dist/recipes/settle.sauce.ts +1 -1
  71. package/sdk/dist/routes/index.d.ts +3 -3
  72. package/sdk/dist/routes/index.js +3 -3
  73. package/sdk/dist/routes/intent-dsl.d.ts +23 -10
  74. package/sdk/dist/routes/intent-dsl.d.ts.map +1 -1
  75. package/sdk/dist/routes/intent-dsl.js +19 -2
  76. package/sdk/dist/routes/intent-dsl.js.map +1 -1
  77. package/sdk/dist/routes/nest.d.ts +23 -0
  78. package/sdk/dist/routes/nest.d.ts.map +1 -1
  79. package/sdk/dist/routes/nest.js +2 -4
  80. package/sdk/dist/routes/nest.js.map +1 -1
  81. package/sdk/dist/routes/protocol-rewrite.d.ts +2 -2
  82. package/sdk/dist/routes/protocol-rewrite.d.ts.map +1 -1
  83. package/sdk/dist/routes/protocol-rewrite.js +19 -35
  84. package/sdk/dist/routes/protocol-rewrite.js.map +1 -1
  85. package/sdk/dist/routes/sauce-calls.d.ts +7 -13
  86. package/sdk/dist/routes/sauce-calls.d.ts.map +1 -1
  87. package/sdk/dist/routes/sauce-calls.js +6 -11
  88. package/sdk/dist/routes/sauce-calls.js.map +1 -1
  89. package/sdk/dist/routes/sauce-route.d.ts +24 -53
  90. package/sdk/dist/routes/sauce-route.d.ts.map +1 -1
  91. package/sdk/dist/routes/sauce-route.js +5 -6
  92. package/sdk/dist/routes/sauce-route.js.map +1 -1
  93. package/sdk/dist/routes/source-globals.generated.d.ts +931 -0
  94. package/sdk/dist/routes/source-globals.generated.d.ts.map +1 -0
  95. package/sdk/dist/routes/source-globals.generated.js +7 -0
  96. package/sdk/dist/routes/source-globals.generated.js.map +1 -0
  97. package/sdk/dist/std/token/token.svm.js +19 -14
  98. package/sdk/dist/svm/cpi-probe.d.ts +1 -1
  99. package/sdk/dist/svm/cpi-probe.d.ts.map +1 -1
  100. package/sdk/dist/svm/cpi-probe.js +5 -2
  101. package/sdk/dist/svm/cpi-probe.js.map +1 -1
  102. package/sdk/dist/svm/intent.d.ts +12 -40
  103. package/sdk/dist/svm/intent.d.ts.map +1 -1
  104. package/sdk/dist/svm/intent.js +22 -66
  105. package/sdk/dist/svm/intent.js.map +1 -1
  106. package/sdk/dist/svm/venues/byreal/index.d.ts.map +1 -1
  107. package/sdk/dist/svm/venues/byreal/index.js +4 -1
  108. package/sdk/dist/svm/venues/byreal/index.js.map +1 -1
  109. package/sdk/dist/svm/venues/carrot/index.d.ts.map +1 -1
  110. package/sdk/dist/svm/venues/carrot/index.js +4 -0
  111. package/sdk/dist/svm/venues/carrot/index.js.map +1 -1
  112. package/sdk/dist/svm/venues/cropper/index.d.ts +1 -1
  113. package/sdk/dist/svm/venues/cropper/index.js +1 -1
  114. package/sdk/dist/svm/venues/huma/index.d.ts.map +1 -1
  115. package/sdk/dist/svm/venues/huma/index.js +4 -1
  116. package/sdk/dist/svm/venues/huma/index.js.map +1 -1
  117. package/sdk/dist/svm/venues/index.d.ts +1 -0
  118. package/sdk/dist/svm/venues/index.d.ts.map +1 -1
  119. package/sdk/dist/svm/venues/index.js +1 -0
  120. package/sdk/dist/svm/venues/index.js.map +1 -1
  121. package/sdk/dist/svm/venues/math.d.ts +4 -1
  122. package/sdk/dist/svm/venues/math.d.ts.map +1 -1
  123. package/sdk/dist/svm/venues/math.js +4 -1
  124. package/sdk/dist/svm/venues/math.js.map +1 -1
  125. package/sdk/dist/svm/venues/meteora-damm-v1-stable/index.d.ts.map +1 -1
  126. package/sdk/dist/svm/venues/meteora-damm-v1-stable/index.js +4 -1
  127. package/sdk/dist/svm/venues/meteora-damm-v1-stable/index.js.map +1 -1
  128. package/sdk/dist/svm/venues/meteora-damm-v2/index.d.ts.map +1 -1
  129. package/sdk/dist/svm/venues/meteora-damm-v2/index.js +5 -2
  130. package/sdk/dist/svm/venues/meteora-damm-v2/index.js.map +1 -1
  131. package/sdk/dist/svm/venues/obric-v2/index.d.ts.map +1 -1
  132. package/sdk/dist/svm/venues/obric-v2/index.js +16 -5
  133. package/sdk/dist/svm/venues/obric-v2/index.js.map +1 -1
  134. package/sdk/dist/svm/venues/oracle-exponent.d.ts +82 -0
  135. package/sdk/dist/svm/venues/oracle-exponent.d.ts.map +1 -0
  136. package/sdk/dist/svm/venues/oracle-exponent.js +97 -0
  137. package/sdk/dist/svm/venues/oracle-exponent.js.map +1 -0
  138. package/sdk/dist/svm/venues/orca-legacy-token-swap/index.d.ts.map +1 -1
  139. package/sdk/dist/svm/venues/orca-legacy-token-swap/index.js +4 -1
  140. package/sdk/dist/svm/venues/orca-legacy-token-swap/index.js.map +1 -1
  141. package/sdk/dist/svm/venues/pumpswap/index.d.ts.map +1 -1
  142. package/sdk/dist/svm/venues/pumpswap/index.js +19 -13
  143. package/sdk/dist/svm/venues/pumpswap/index.js.map +1 -1
  144. package/sdk/dist/svm/venues/raydium-amm-v4/index.d.ts.map +1 -1
  145. package/sdk/dist/svm/venues/raydium-amm-v4/index.js +4 -1
  146. package/sdk/dist/svm/venues/raydium-amm-v4/index.js.map +1 -1
  147. package/sdk/dist/svm/venues/raydium-clmm/index.d.ts.map +1 -1
  148. package/sdk/dist/svm/venues/raydium-clmm/index.js +4 -1
  149. package/sdk/dist/svm/venues/raydium-clmm/index.js.map +1 -1
  150. package/sdk/dist/svm/venues/raydium-cp-swap/index.d.ts.map +1 -1
  151. package/sdk/dist/svm/venues/raydium-cp-swap/index.js +4 -1
  152. package/sdk/dist/svm/venues/raydium-cp-swap/index.js.map +1 -1
  153. package/sdk/dist/svm/venues/scorch/index.d.ts.map +1 -1
  154. package/sdk/dist/svm/venues/scorch/index.js +4 -1
  155. package/sdk/dist/svm/venues/scorch/index.js.map +1 -1
  156. package/sdk/dist/svm/venues/stabble-common.d.ts +1 -1
  157. package/sdk/dist/svm/venues/stabble-common.js +1 -1
  158. package/sdk/dist/svm/venues/types.d.ts +4 -1
  159. package/sdk/dist/svm/venues/types.d.ts.map +1 -1
  160. package/sdk/dist/svm/venues/woofi/index.d.ts.map +1 -1
  161. package/sdk/dist/svm/venues/woofi/index.js +4 -0
  162. package/sdk/dist/svm/venues/woofi/index.js.map +1 -1
  163. package/sdk/dist/svm/verify.d.ts +27 -133
  164. package/sdk/dist/svm/verify.d.ts.map +1 -1
  165. package/sdk/dist/svm/verify.js +72 -139
  166. package/sdk/dist/svm/verify.js.map +1 -1
  167. package/sdk/dist/swap/index.d.ts +16 -59
  168. package/sdk/dist/swap/index.d.ts.map +1 -1
  169. package/sdk/dist/swap/index.js +16 -59
  170. package/sdk/dist/swap/index.js.map +1 -1
  171. package/sdk/dist/token/source.d.ts.map +1 -1
  172. package/sdk/dist/token/source.js +4 -1
  173. package/sdk/dist/token/source.js.map +1 -1
  174. package/sdk/dist/verify/decode.d.ts +6 -6
  175. package/sdk/dist/verify/decode.js +7 -7
  176. package/sdk/dist/verify/index.js +2 -2
  177. package/sdk/dist/verify/intent.js +2 -2
  178. package/sdk/dist/verify/vectors.d.ts +1 -1
  179. package/sdk/dist/verify/vectors.d.ts.map +1 -1
  180. package/sdk/dist/verify/vectors.js +2 -2
  181. package/sdk/dist/verify/vectors.js.map +1 -1
  182. package/sdk/dist/verify/wire.d.ts +5 -4
  183. package/sdk/dist/verify/wire.d.ts.map +1 -1
  184. package/sdk/dist/verify/wire.js +5 -4
  185. package/sdk/dist/verify/wire.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/svm/venues/obric-v2/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/svm/venues/obric-v2/index.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@
15
15
  * plain 12-account Anchor ix with NO instructions-sysvar introspection and no
16
16
  * maker-allowlist account (any signer with token accounts may swap); (3) the
17
17
  * quote curve is known (the official obric-solana SDK / IDL). Obric already
18
- * sits in third-party router CPI target sets. See docs/svm-venues.md for the
18
+ * sits in third-party router CPI target sets. See the historical venue investigation for the
19
19
  * ranked prop-AMM ledger and the CPI-acceptance probe.
20
20
  *
21
21
  * The oracle-derivation caveat (honest): the on-chain program recomputes
@@ -32,9 +32,13 @@
32
32
  *
33
33
  * Byte offsets verified against the obric_solana IDL (SSTradingPair) and a
34
34
  * real mainnet dump of pool AJ5HfGY32igLgUbDtfNRdrkjTSYkCVKdhmnFFfcZMJ1E.
35
+ *
36
+ * Original venue investigation (historical):
37
+ * https://github.com/eco-incorp/sauce/blob/d3686430ee308994f95309a8c9b2d5930d71cf5d/docs/svm-venues.md
35
38
  */
36
39
  import { address, getAddressCodec } from "@solana/kit";
37
40
  import { readUintLE } from "../math.js";
41
+ import { assertOracleExponent } from "../oracle-exponent.js";
38
42
  import { TOKEN_2022_PROGRAM_ID, classifyMintProgram } from "../../token-program.js";
39
43
  import { parseMintExtensions } from "../../token-extensions.js";
40
44
  import { INSTRUCTIONS_SYSVAR } from "../../cpi-probe.js";
@@ -55,7 +59,7 @@ const POOL_DISCRIMINATOR = [0x3b, 0xde, 0x0f, 0xec, 0x62, 0x66, 0x5a, 0xe0];
55
59
  /** sha256('global:swap')[0..8] (Obric's unified swap; == meteora's, both "global:swap"). */
56
60
  export const OBRIC_SWAP_DISCRIMINATOR = [248, 198, 158, 145, 225, 117, 135, 200];
57
61
  const POOL_ACCOUNT_SIZE = 666;
58
- // SSTradingPair offsets (IDL-derived; see the field table in docs/svm-venues.md).
62
+ // SSTradingPair offsets (IDL-derived; see the field table in the historical venue investigation).
59
63
  export const OFF_INITIALIZED = 8;
60
64
  export const OFF_X_FEED = 9;
61
65
  export const OFF_Y_FEED = 41;
@@ -90,8 +94,15 @@ function decimalMults(xDecimals, yDecimals) {
90
94
  * decimalMult: mult = floor(rawPrice / div) * mul. For expo e:
91
95
  * e < −3 → div = 10^(−3−e), mul = decimalMult;
92
96
  * e >= −3 → div = 1, mul = 10^(e+3) · decimalMult.
97
+ *
98
+ * `expo` is an oracle-controlled i32, and BOTH branches raise 10 to something
99
+ * derived from it, so the range gate sits here at the exponentiation site rather
100
+ * than at the caller — a future caller cannot route around it. `decimalMult` is
101
+ * already-computed token-decimal math and is not re-checked (see
102
+ * oracle-exponent.ts on why those two are not the same risk).
93
103
  */
94
- function feedScale(expo, decimalMult) {
104
+ function feedScale(expo, decimalMult, context) {
105
+ assertOracleExponent("pyth-v2-price-account", expo, context);
95
106
  if (expo < -3)
96
107
  return { div: 10n ** BigInt(-3 - expo), mul: decimalMult };
97
108
  return { div: 1n, mul: 10n ** BigInt(expo + 3) * decimalMult };
@@ -216,8 +227,8 @@ export const obricV2 = {
216
227
  throw new Error(`obric-v2 pool ${pool} uses a non-Pyth-v2 relay feed (Doves/Minimox — layout not pinned; tier P-B, documented-but-not-built)`);
217
228
  }
218
229
  const { decMultX, decMultY } = decimalMults(xDecimals, yDecimals);
219
- const sx = feedScale(feedX.expo, decMultX);
220
- const sy = feedScale(feedY.expo, decMultY);
230
+ const sx = feedScale(feedX.expo, decMultX, `${SLUG} pool ${pool} feed X ${d.feedX}`);
231
+ const sy = feedScale(feedY.expo, decMultY, `${SLUG} pool ${pool} feed Y ${d.feedY}`);
221
232
  return {
222
233
  venue: SLUG,
223
234
  pool,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/svm/venues/obric-v2/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEvD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AACpF,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAGzD,MAAM,IAAI,GAAG,UAAU,CAAC;AAExB,MAAM,CAAC,MAAM,mBAAmB,GAAG,OAAO,CAAC,6CAA6C,CAAC,CAAC;AAC1F,MAAM,aAAa,GAAG,OAAO,CAAC,6CAA6C,CAAC,CAAC;AAE7E,gFAAgF;AAChF,MAAM,CAAC,MAAM,mBAAmB,GAAG,8CAA8C,CAAC;AAClF,mDAAmD;AACnD,MAAM,aAAa,GAAG,WAAW,CAAC;AAClC,kCAAkC;AAClC,MAAM,cAAc,GAAG,CAAC,CAAC;AACzB,MAAM,aAAa,GAAG,EAAE,CAAC,CAAC,SAAS;AACnC,MAAM,cAAc,GAAG,GAAG,CAAC,CAAC,mBAAmB;AAC/C,MAAM,eAAe,GAAG,GAAG,CAAC,CAAC,mCAAmC;AAEhE,6CAA6C;AAC7C,MAAM,kBAAkB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAC5E,4FAA4F;AAC5F,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAEjF,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAE9B,kFAAkF;AAClF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC;AACjC,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC;AAC5B,MAAM,CAAC,MAAM,UAAU,GAAG,EAAE,CAAC;AAC7B,MAAM,CAAC,MAAM,aAAa,GAAG,EAAE,CAAC;AAChC,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAC;AACjC,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAC;AACnC,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAC;AACnC,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAAC;AAC9B,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAAC;AAC9B,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,OAAO;AACrC,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAAC,CAAC,MAAM;AACvC,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAAC,CAAC,wCAAwC;AACvE,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAAC,CAAC,MAAM;AACrC,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAC,CAAC,MAAM;AAC5C,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAC,CAAC,MAAM;AACzC,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAC,CAAC,MAAM;AAE9C,MAAM,OAAO,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;AACjC,qHAAqH;AACrH,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,CAAC;AAuC5C,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;AAChC,MAAM,QAAQ,GAAG,CAAC,IAAgB,EAAE,MAAc,EAAW,EAAE,CAC7D,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC;AAEnD,oGAAoG;AACpG,SAAS,YAAY,CACnB,SAAiB,EACjB,SAAiB;IAEjB,IAAI,SAAS,GAAG,SAAS;QACvB,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,IAAI,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC,EAAE,CAAC;IAC1E,IAAI,SAAS,GAAG,SAAS;QACvB,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAC1E,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;AACxC,CAAC;AAED;;;;;GAKG;AACH,SAAS,SAAS,CAAC,IAAY,EAAE,WAAmB;IAClD,IAAI,IAAI,GAAG,CAAC,CAAC;QAAE,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC;IAC1E,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,WAAW,EAAE,CAAC;AACjE,CAAC;AAQD;;;;;GAKG;AACH,SAAS,UAAU,CAAC,IAAgB;IAClC,IAAI,IAAI,CAAC,MAAM,GAAG,eAAe,GAAG,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IACxE,IAAI,UAAU,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,KAAK,aAAa;QAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC5F,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,GAAG,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM;IAC/E,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC/B,CAAC;AAkBD,oEAAoE;AACpE,SAAS,UAAU,CAAC,IAAY,EAAE,IAAgB;IAChD,IAAI,IAAI,CAAC,MAAM,KAAK,iBAAiB,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CACb,iBAAiB,IAAI,oBAAoB,IAAI,CAAC,MAAM,oBAAoB,iBAAiB,EAAE,CAC5F,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;QAC7D,MAAM,IAAI,KAAK,CACb,iBAAiB,IAAI,2DAA2D,CACjF,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,qBAAqB,CAAC,CAAC;IAC7F,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;IAC7C,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CACb,iBAAiB,IAAI,0DAA0D,CAChF,CAAC;IACJ,CAAC;IACD,OAAO;QACL,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;QACjC,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;QACjC,aAAa,EAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;QAC5C,aAAa,EAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;QAC5C,YAAY,EAAE,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;QAC7C,YAAY,EAAE,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;QAC7C,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;QACjC,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;QACjC,IAAI;QACJ,OAAO,EAAE,UAAU,CAAC,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;QAC1C,YAAY,EAAE,UAAU,CAAC,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;QACpD,WAAW,EAAE,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QAC5C,WAAW,EAAE,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;KAC7C,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,GAAe;IAClC,IAAI,GAAG,CAAC,KAAK,KAAK,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC;IAClG,MAAM,CAAC,GAAG,GAAwB,CAAC;IACnC,IAAI,CAAC,CAAC,SAAS,KAAK,MAAM,IAAI,CAAC,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC;IACvF,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,kBAA2B;IACjC,SAAS,EAAE,mBAAmB;IAE9B;;;;;;OAMG;IACH,KAAK,CAAC,eAAe,CAAC,IAAmB,EAAE,IAAa;QACtD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,IAAI,KAAK,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,oBAAoB,CAAC,CAAC;QAC9E,MAAM,CAAC,GAAG,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAEjC,yEAAyE;QACzE,qEAAqE;QACrE,IAAI,CAAC,CAAC,KAAK,KAAK,mBAAmB,IAAI,CAAC,CAAC,KAAK,KAAK,mBAAmB,EAAE,CAAC;YACvE,MAAM,IAAI,KAAK,CACb,iBAAiB,IAAI,+FAA+F,CACrH,CAAC;QACJ,CAAC;QAED,4EAA4E;QAC5E,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjF,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,4BAA4B,CAAC,CAAC;QACrE,CAAC;QACD,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjF,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,kCAAkC,CAAC,CAAC;QAC3E,CAAC;QACD,wEAAwE;QACxE,2EAA2E;QAC3E,MAAM,GAAG,GAAG,CAAC,IAAa,EAAE,QAAoB,EAAU,EAAE;YAC1D,IAAI,QAAQ,CAAC,MAAM,GAAG,EAAE;gBACtB,MAAM,IAAI,KAAK,CACb,iBAAiB,IAAI,SAAS,IAAI,OAAO,QAAQ,CAAC,MAAM,yBAAyB,CAClF,CAAC;YACJ,OAAO,QAAQ,CAAC,EAAE,CAAC,CAAC;QACtB,CAAC,CAAC;QACF,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC1C,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAE1C,yEAAyE;QACzE,4EAA4E;QAC5E,yEAAyE;QACzE,6EAA6E;QAC7E,6EAA6E;QAC7E,qEAAqE;QACrE,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI;YAC7B,CAAC,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC;YACpB,CAAC,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC;SACZ,EAAE,CAAC;YACX,IAAI,QAAQ,KAAK,IAAI;gBAAE,SAAS;YAChC,IAAI,mBAAmB,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,qBAAqB,EAAE,CAAC;gBAClE,MAAM,IAAI,KAAK,CACb,GAAG,IAAI,mBAAmB,IAAI,WAAW,IAAI,uDAAuD,CACrG,CAAC;YACJ,CAAC;YACD,MAAM,EAAE,QAAQ,EAAE,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YACnD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CACb,GAAG,IAAI,mBAAmB,IAAI,WAAW,IAAI,oBAAoB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACvF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,sEAAsE;QACtE,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;QACpC,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CACb,iBAAiB,IAAI,wGAAwG,CAC9H,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAClE,MAAM,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC3C,MAAM,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAE3C,OAAO;YACL,KAAK,EAAE,IAAI;YACX,IAAI;YACJ,SAAS,EAAE,MAAM;YACjB,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,aAAa,EAAE,CAAC,CAAC,aAAa;YAC9B,aAAa,EAAE,CAAC,CAAC,aAAa;YAC9B,YAAY,EAAE,CAAC,CAAC,YAAY;YAC5B,YAAY,EAAE,CAAC,CAAC,YAAY;YAC5B,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,YAAY,EAAE,aAAa;YAC3B,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,YAAY,EAAE,CAAC,CAAC,YAAY;YAC5B,IAAI,EAAE,EAAE,CAAC,GAAG;YACZ,IAAI,EAAE,EAAE,CAAC,GAAG;YACZ,IAAI,EAAE,EAAE,CAAC,GAAG;YACZ,IAAI,EAAE,EAAE,CAAC,GAAG;YACZ,SAAS,EAAE,MAAM,CAAC,cAAc,CAAC;YACjC,SAAS,EAAE,MAAM,CAAC,cAAc,CAAC;YACjC,OAAO,EAAE,sBAAsB;YAC/B,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,OAAO,EAAE,KAAK;SACf,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,GAAe;QAC3B,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QAC3B,OAAO;YACL,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE;YAChC,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE;YAClC,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE;YAClC,EAAE,GAAG,EAAE,CAAC,CAAC,aAAa,EAAE,OAAO,EAAE,CAAC,CAAC,aAAa,EAAE;YAClD,EAAE,GAAG,EAAE,CAAC,CAAC,aAAa,EAAE,OAAO,EAAE,CAAC,CAAC,aAAa,EAAE;SACnD,CAAC;IACJ,CAAC;IAED,0DAA0D;IAC1D,SAAS,CAAC,GAAe,EAAE,IAAc,EAAE,QAAgB;QACzD,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,QAAQ,IAAI,EAAE,IAAI,QAAQ,GAAG,OAAO;YACtC,MAAM,IAAI,KAAK,CAAC,2DAA2D,QAAQ,EAAE,CAAC,CAAC;QACzF,MAAM,IAAI,GAAG,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC;QACpC,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3C,IAAI,CAAC,GAAG,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC;QACtC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;QACtF,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,gEAAgE;QAC9E,OAAO;YACL,SAAS,EAAE,mBAAmB;YAC9B,IAAI;YACJ,QAAQ,EAAE,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;SACvE,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,MAAM,KAAK,GAAG,CAAC,GAAW,EAAE,IAAa,EAAE,QAAkB,EAAgB,EAAE,CAC7E,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAE7E,mGAAmG;AACnG,MAAM,UAAU,YAAY,CAC1B,CAAoB,EACpB,IAAc,EACd,IAAsE,EACtE,MAAiC;IAEjC,MAAM,IAAI,GAAG,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC;IACpC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,CAAC;IACrD,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,oBAAoB;IACnE,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,oBAAoB;IACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,iCAAiC;IAC1F,OAAO;QACL,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;QAC7B,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC;QACtB,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC;QACtB,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,aAAa,EAAE,IAAI,CAAC;QACpC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,aAAa,EAAE,IAAI,CAAC;QACpC,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC9B,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC9B,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC;QAC7B,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC;QACtB,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC;QACtB,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE;QACjC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC;KAC9B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/svm/venues/obric-v2/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,82 @@
1
+ /**
2
+ * Oracle exponent range validation — the guard between an attacker-influenceable
3
+ * (or merely corrupt) oracle account and `10n ** BigInt(expo)`.
4
+ *
5
+ * WHY THIS EXISTS. Three adapters bake a power of ten derived from an oracle
6
+ * account's `i32` exponent field at fetch time: carrot's per-asset `scaleExp`,
7
+ * obric-v2's `feedScale`, and woofi's `pythQuoteDecPow`. The field is read
8
+ * straight out of account bytes, so its full `i32` domain is reachable by anyone
9
+ * who can put bytes in front of the loader.
10
+ *
11
+ * Measured on this repo's Node 22, because the shape of the hazard decides the
12
+ * shape of the fix: `10n ** 10_000_000n` takes ~0.5s, `10n ** 50_000_000n`
13
+ * ~2.2s, and `10n ** 100_000_000n` was still running when killed at 20s. Only
14
+ * at the very top of the range does V8 refuse on sight — `10n ** 2_147_483_647n`
15
+ * raises `RangeError: Maximum BigInt size exceeded` in ~27ms. So the dangerous
16
+ * exponent is NOT i32::MAX; it is the mid-range (~1e7..1e9) that slips under
17
+ * V8's size check and burns the quoting thread for minutes. That is a denial of
18
+ * QUOTE AVAILABILITY (the off-chain path only — nothing here runs on-chain, and
19
+ * this buys no compute-unit savings).
20
+ *
21
+ * A range check BEFORE the exponentiation is therefore the fix, and a try/catch
22
+ * around it is not: in the mid-range there is nothing to catch until the CPU is
23
+ * already spent, and at the extremes the RangeError that does arrive is an
24
+ * unhandled error class rather than a deterministic, actionable venue drop.
25
+ *
26
+ * WHY A RANGE AND NOT A CLAMP. An out-of-range exponent means the account is not
27
+ * what the adapter thinks it is. Folding it to the nearest valid value would
28
+ * return a confidently wrong price; throwing self-drops the venue (every caller
29
+ * here is inside `fetchPoolConfig`, whose throw `resolveSvmPoolSpec` catches as
30
+ * a drop). A wrong quote is worse than no quote.
31
+ *
32
+ * NOT TOKEN DECIMALS. The sibling `10n ** BigInt(decimals)` sites in these same
33
+ * adapters (carrot's `a.decimals`, obric-v2's `decimalMults`, woofi's
34
+ * `priceDec`/`quoteDec`/`baseDec`) are NOT this risk and are deliberately left
35
+ * alone: every one reads a single byte (`data[off]`), so it is structurally
36
+ * bounded to 0..=255 and `10n ** 255n` is a 107-byte integer. Only the `i32`
37
+ * oracle fields are unbounded. Keep the two kinds distinct.
38
+ */
39
+ /**
40
+ * The oracle account FORMATS these adapters decode an exponent out of. The
41
+ * issuer is Pyth in both cases; the formats differ in how the bound reaches
42
+ * them, which is why they are separate rows rather than one global constant.
43
+ */
44
+ export type OracleExponentProvider = "pyth-price-update-v2" | "pyth-v2-price-account";
45
+ /**
46
+ * `MAX_NUM_DECIMALS` as the Pythnet oracle program itself defines it:
47
+ * pyth-network/pyth-client, `program/rust/src/c_oracle_header.rs` —
48
+ *
49
+ * /// Bound on the range of the exponent in price accounts. This number is set
50
+ * /// such that the PD-based EMA computation does not lose too much precision.
51
+ * pub const MAX_NUM_DECIMALS: i32 = 12;
52
+ *
53
+ * enforced by `utils::check_exponent_range`, which asserts
54
+ * `(-MAX_NUM_DECIMALS..=MAX_NUM_DECIMALS).contains(&expo)`. That check runs in
55
+ * `processor::add_price` and `processor::init_price` — the only two instructions
56
+ * in the program that ever write `price_data.exponent` — so no Pyth price
57
+ * account can carry an exponent outside [-12, 12].
58
+ */
59
+ export declare const PYTH_MAX_NUM_DECIMALS = 12;
60
+ export interface OracleExponentRange {
61
+ /** Inclusive lower bound. */
62
+ readonly min: number;
63
+ /** Inclusive upper bound. */
64
+ readonly max: number;
65
+ /** Where the bound comes from — cited, not assumed. */
66
+ readonly provenance: string;
67
+ }
68
+ export declare const ORACLE_EXPONENT_RANGES: Readonly<Record<OracleExponentProvider, OracleExponentRange>>;
69
+ /**
70
+ * Deterministic range gate: same bytes in, same throw out, before any BigInt
71
+ * power is constructed. Rejects the whole out-of-range `i32` domain, extremes
72
+ * included. Note what `Math.abs` does NOT do here: `Math.abs(i32::MIN)` is
73
+ * 2147483648 — a perfectly ordinary, safe JS integer that sails into `BigInt`
74
+ * intact. Taking an absolute value bounds the SIGN, never the MAGNITUDE, so the
75
+ * gate has to reject on the value itself.
76
+ *
77
+ * @param provider which account format the exponent was decoded from
78
+ * @param expo the decoded, sign-corrected `i32`
79
+ * @param context caller-supplied identity (venue, pool, account) for the error
80
+ */
81
+ export declare function assertOracleExponent(provider: OracleExponentProvider, expo: number, context: string): void;
82
+ //# sourceMappingURL=oracle-exponent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oracle-exponent.d.ts","sourceRoot":"","sources":["../../../src/svm/venues/oracle-exponent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,GAAG,sBAAsB,GAAG,uBAAuB,CAAC;AAEtF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAExC,MAAM,WAAW,mBAAmB;IAClC,6BAA6B;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,6BAA6B;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,uDAAuD;IACvD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,MAAM,CAAC,sBAAsB,EAAE,mBAAmB,CAAC,CA2B7F,CAAC;AAEL;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,sBAAsB,EAChC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACd,IAAI,CAON"}
@@ -0,0 +1,97 @@
1
+ /**
2
+ * Oracle exponent range validation — the guard between an attacker-influenceable
3
+ * (or merely corrupt) oracle account and `10n ** BigInt(expo)`.
4
+ *
5
+ * WHY THIS EXISTS. Three adapters bake a power of ten derived from an oracle
6
+ * account's `i32` exponent field at fetch time: carrot's per-asset `scaleExp`,
7
+ * obric-v2's `feedScale`, and woofi's `pythQuoteDecPow`. The field is read
8
+ * straight out of account bytes, so its full `i32` domain is reachable by anyone
9
+ * who can put bytes in front of the loader.
10
+ *
11
+ * Measured on this repo's Node 22, because the shape of the hazard decides the
12
+ * shape of the fix: `10n ** 10_000_000n` takes ~0.5s, `10n ** 50_000_000n`
13
+ * ~2.2s, and `10n ** 100_000_000n` was still running when killed at 20s. Only
14
+ * at the very top of the range does V8 refuse on sight — `10n ** 2_147_483_647n`
15
+ * raises `RangeError: Maximum BigInt size exceeded` in ~27ms. So the dangerous
16
+ * exponent is NOT i32::MAX; it is the mid-range (~1e7..1e9) that slips under
17
+ * V8's size check and burns the quoting thread for minutes. That is a denial of
18
+ * QUOTE AVAILABILITY (the off-chain path only — nothing here runs on-chain, and
19
+ * this buys no compute-unit savings).
20
+ *
21
+ * A range check BEFORE the exponentiation is therefore the fix, and a try/catch
22
+ * around it is not: in the mid-range there is nothing to catch until the CPU is
23
+ * already spent, and at the extremes the RangeError that does arrive is an
24
+ * unhandled error class rather than a deterministic, actionable venue drop.
25
+ *
26
+ * WHY A RANGE AND NOT A CLAMP. An out-of-range exponent means the account is not
27
+ * what the adapter thinks it is. Folding it to the nearest valid value would
28
+ * return a confidently wrong price; throwing self-drops the venue (every caller
29
+ * here is inside `fetchPoolConfig`, whose throw `resolveSvmPoolSpec` catches as
30
+ * a drop). A wrong quote is worse than no quote.
31
+ *
32
+ * NOT TOKEN DECIMALS. The sibling `10n ** BigInt(decimals)` sites in these same
33
+ * adapters (carrot's `a.decimals`, obric-v2's `decimalMults`, woofi's
34
+ * `priceDec`/`quoteDec`/`baseDec`) are NOT this risk and are deliberately left
35
+ * alone: every one reads a single byte (`data[off]`), so it is structurally
36
+ * bounded to 0..=255 and `10n ** 255n` is a 107-byte integer. Only the `i32`
37
+ * oracle fields are unbounded. Keep the two kinds distinct.
38
+ */
39
+ /**
40
+ * `MAX_NUM_DECIMALS` as the Pythnet oracle program itself defines it:
41
+ * pyth-network/pyth-client, `program/rust/src/c_oracle_header.rs` —
42
+ *
43
+ * /// Bound on the range of the exponent in price accounts. This number is set
44
+ * /// such that the PD-based EMA computation does not lose too much precision.
45
+ * pub const MAX_NUM_DECIMALS: i32 = 12;
46
+ *
47
+ * enforced by `utils::check_exponent_range`, which asserts
48
+ * `(-MAX_NUM_DECIMALS..=MAX_NUM_DECIMALS).contains(&expo)`. That check runs in
49
+ * `processor::add_price` and `processor::init_price` — the only two instructions
50
+ * in the program that ever write `price_data.exponent` — so no Pyth price
51
+ * account can carry an exponent outside [-12, 12].
52
+ */
53
+ export const PYTH_MAX_NUM_DECIMALS = 12;
54
+ export const ORACLE_EXPONENT_RANGES = Object.freeze({
55
+ /**
56
+ * Pyth Solana Receiver `PriceUpdateV2.price_message.exponent` (carrot, woofi).
57
+ * The receiver SDK does NOT re-validate: `price_update.rs` copies
58
+ * `self.price_message.exponent` straight through. The bound is inherited from
59
+ * the Pythnet price accounts the Wormhole-attested message is built from, and
60
+ * it is precisely because the receiver does not re-check it that this SDK must
61
+ * — an account handed to our loader carries no attestation we verified.
62
+ */
63
+ "pyth-price-update-v2": Object.freeze({
64
+ min: -PYTH_MAX_NUM_DECIMALS,
65
+ max: PYTH_MAX_NUM_DECIMALS,
66
+ provenance: "pyth-client MAX_NUM_DECIMALS=12, inherited via the Wormhole-attested PriceFeedMessage (pyth-solana-receiver does not re-validate)",
67
+ }),
68
+ /**
69
+ * Legacy Pyth v2 price account, magic 0xa1b2c3d4, `expo_` at byte 20
70
+ * (obric-v2's relay feeds). This IS `pc_price_t`, so the bound is the oracle
71
+ * program's own `check_exponent_range` applied directly to this account.
72
+ */
73
+ "pyth-v2-price-account": Object.freeze({
74
+ min: -PYTH_MAX_NUM_DECIMALS,
75
+ max: PYTH_MAX_NUM_DECIMALS,
76
+ provenance: "pyth-client MAX_NUM_DECIMALS=12, enforced on this exact account by check_exponent_range in add_price/init_price",
77
+ }),
78
+ });
79
+ /**
80
+ * Deterministic range gate: same bytes in, same throw out, before any BigInt
81
+ * power is constructed. Rejects the whole out-of-range `i32` domain, extremes
82
+ * included. Note what `Math.abs` does NOT do here: `Math.abs(i32::MIN)` is
83
+ * 2147483648 — a perfectly ordinary, safe JS integer that sails into `BigInt`
84
+ * intact. Taking an absolute value bounds the SIGN, never the MAGNITUDE, so the
85
+ * gate has to reject on the value itself.
86
+ *
87
+ * @param provider which account format the exponent was decoded from
88
+ * @param expo the decoded, sign-corrected `i32`
89
+ * @param context caller-supplied identity (venue, pool, account) for the error
90
+ */
91
+ export function assertOracleExponent(provider, expo, context) {
92
+ const { min, max } = ORACLE_EXPONENT_RANGES[provider];
93
+ if (!Number.isInteger(expo) || expo < min || expo > max) {
94
+ throw new Error(`${context}: oracle exponent ${expo} is outside the supported ${provider} range [${min}, ${max}] — refusing to raise 10 to an unvalidated oracle-controlled power`);
95
+ }
96
+ }
97
+ //# sourceMappingURL=oracle-exponent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oracle-exponent.js","sourceRoot":"","sources":["../../../src/svm/venues/oracle-exponent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AASH;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAWxC,MAAM,CAAC,MAAM,sBAAsB,GACjC,MAAM,CAAC,MAAM,CAAC;IACZ;;;;;;;OAOG;IACH,sBAAsB,EAAE,MAAM,CAAC,MAAM,CAAC;QACpC,GAAG,EAAE,CAAC,qBAAqB;QAC3B,GAAG,EAAE,qBAAqB;QAC1B,UAAU,EACR,mIAAmI;KACtI,CAAC;IACF;;;;OAIG;IACH,uBAAuB,EAAE,MAAM,CAAC,MAAM,CAAC;QACrC,GAAG,EAAE,CAAC,qBAAqB;QAC3B,GAAG,EAAE,qBAAqB;QAC1B,UAAU,EACR,iHAAiH;KACpH,CAAC;CACH,CAAC,CAAC;AAEL;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,oBAAoB,CAClC,QAAgC,EAChC,IAAY,EACZ,OAAe;IAEf,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IACtD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CACb,GAAG,OAAO,qBAAqB,IAAI,6BAA6B,QAAQ,WAAW,GAAG,KAAK,GAAG,oEAAoE,CACnK,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/svm/venues/orca-legacy-token-swap/index.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACb,UAAU,EAEV,QAAQ,EACR,YAAY,EACZ,SAAS,EACV,MAAM,aAAa,CAAC;AAErB,QAAA,MAAM,IAAI,2BAA2B,CAAC;AAStC,MAAM,WAAW,oBAAqB,SAAQ,UAAU;IACtD,KAAK,EAAE,OAAO,IAAI,CAAC;IACnB,kFAAkF;IAClF,aAAa,EAAE,OAAO,CAAC;IACvB,2BAA2B;IAC3B,YAAY,EAAE,OAAO,CAAC;IACtB,wEAAwE;IACxE,OAAO,EAAE,OAAO,CAAC;IACjB,8CAA8C;IAC9C,QAAQ,EAAE,OAAO,CAAC;IAClB,kFAAkF;IAClF,QAAQ,EAAE,OAAO,CAAC;IAClB,+EAA+E;IAC/E,cAAc,EAAE,OAAO,CAAC;IACxB,yBAAyB;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,yBAAyB;IACzB,UAAU,EAAE,OAAO,CAAC;IACpB,uFAAuF;IACvF,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kGAAkG;IAClG,sBAAsB,EAAE,MAAM,CAAC;IAC/B,wBAAwB,EAAE,MAAM,CAAC;IACjC,kFAAkF;IAClF,QAAQ,EAAE,MAAM,CAAC;CAClB;AA8CD,eAAO,MAAM,mBAAmB;;;;0BAKF,aAAa,QAAQ,OAAO,GAAG,OAAO,CAAC,oBAAoB,CAAC;uBAwErE,oBAAoB,GAAG,YAAY,EAAE;mBAUzC,oBAAoB,KAAK,MAAM,YAAY,MAAM,GAAG,MAAM;mBAiB1D,oBAAoB,QAAQ,QAAQ,YAAY,MAAM,GAAG,SAAS;wBAiC1E,oBAAoB,SAClB,eAAe,YACZ,MAAM,QACV,MAAM,GACX,MAAM;CAqBgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/svm/venues/orca-legacy-token-swap/index.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACb,UAAU,EAEV,QAAQ,EACR,YAAY,EACZ,SAAS,EACV,MAAM,aAAa,CAAC;AAErB,QAAA,MAAM,IAAI,2BAA2B,CAAC;AAStC,MAAM,WAAW,oBAAqB,SAAQ,UAAU;IACtD,KAAK,EAAE,OAAO,IAAI,CAAC;IACnB,kFAAkF;IAClF,aAAa,EAAE,OAAO,CAAC;IACvB,2BAA2B;IAC3B,YAAY,EAAE,OAAO,CAAC;IACtB,wEAAwE;IACxE,OAAO,EAAE,OAAO,CAAC;IACjB,8CAA8C;IAC9C,QAAQ,EAAE,OAAO,CAAC;IAClB,kFAAkF;IAClF,QAAQ,EAAE,OAAO,CAAC;IAClB,+EAA+E;IAC/E,cAAc,EAAE,OAAO,CAAC;IACxB,yBAAyB;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,yBAAyB;IACzB,UAAU,EAAE,OAAO,CAAC;IACpB,uFAAuF;IACvF,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kGAAkG;IAClG,sBAAsB,EAAE,MAAM,CAAC;IAC/B,wBAAwB,EAAE,MAAM,CAAC;IACjC,kFAAkF;IAClF,QAAQ,EAAE,MAAM,CAAC;CAClB;AA8CD,eAAO,MAAM,mBAAmB;;;;0BAKF,aAAa,QAAQ,OAAO,GAAG,OAAO,CAAC,oBAAoB,CAAC;uBAwErE,oBAAoB,GAAG,YAAY,EAAE;mBAUzC,oBAAoB,KAAK,MAAM,YAAY,MAAM,GAAG,MAAM;mBAiB1D,oBAAoB,QAAQ,QAAQ,YAAY,MAAM,GAAG,SAAS;wBAiC1E,oBAAoB,SAClB,eAAe,YACZ,MAAM,QACV,MAAM,GACX,MAAM;CAqBgB,CAAC"}
@@ -9,6 +9,9 @@
9
9
  *
10
10
  * Quote direction is token A → token B, matching the pinned worked example
11
11
  * (SOL in → USDC out on the EGZ7ti... fixture pool).
12
+ *
13
+ * Original venue investigation (historical):
14
+ * https://github.com/eco-incorp/sauce/blob/d3686430ee308994f95309a8c9b2d5930d71cf5d/docs/svm-venues.md
12
15
  */
13
16
  import { createHash } from "node:crypto";
14
17
  import { getAddressCodec } from "@solana/kit";
@@ -141,7 +144,7 @@ export const orcaLegacyTokenSwap = {
141
144
  // amountOut = rsOut - ceil(rsIn * rsOut / (rsIn + netIn)), ceiled via
142
145
  // (num + den - 1) / den. Reserves are u64, so rsIn * rsOut <= 2^128 and
143
146
  // nothing here approaches the engine's 256-bit wrap ("All arithmetic in
144
- // u128" — docs/svm-venues.md); no Math.mulDiv needed.
147
+ // u128" — the historical venue investigation); no Math.mulDiv needed.
145
148
  // Account model (RS/svm target): reads go through main()'s ordered `Account`
146
149
  // params, not `accountUint("<address>", …)` string refs. Param `acc<k>` is
147
150
  // `quoteAccounts()[k]` — vault-in is slot 0, vault-out slot 1 — and `accountUint`
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/svm/venues/orca-legacy-token-swap/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/svm/venues/orca-legacy-token-swap/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/svm/venues/pumpswap/index.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAI3C,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACb,UAAU,EAEV,QAAQ,EACR,YAAY,EACZ,SAAS,EACV,MAAM,aAAa,CAAC;AAErB,eAAO,MAAM,mBAAmB,wDAAyD,CAAC;AAoB1F;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,qCAAqC,CAAC;AAK9E,MAAM,WAAW,kBAAmB,SAAQ,UAAU;IACpD,KAAK,EAAE,UAAU,CAAC;IAClB,wFAAwF;IACxF,SAAS,EAAE,aAAa,GAAG,aAAa,CAAC;IACzC,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,WAAW,EAAE,OAAO,CAAC;IACrB,8EAA8E;IAC9E,SAAS,EAAE,OAAO,CAAC;IACnB,qFAAqF;IACrF,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,wDAAwD;IACxD,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,gCAAgC,EAAE,OAAO,CAAC;IAC1C,yBAAyB,EAAE,OAAO,CAAC;IACnC,mBAAmB,EAAE,OAAO,CAAC;IAC7B,0EAA0E;IAC1E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,+BAA+B,EAAE,OAAO,CAAC;CAC1C;AA0KD,eAAO,MAAM,eAAe;;;;0BAKE,aAAa,QAAQ,OAAO,GAAG,OAAO,CAAC,kBAAkB,CAAC;uBAkJnE,UAAU,GAAG,YAAY,EAAE;mBAQ/B,UAAU,KAAK,MAAM,YAAY,MAAM,GAAG,MAAM;mBAoChD,UAAU,QAAQ,QAAQ,YAAY,MAAM,GAAG,SAAS;wBA6DnD,UAAU,SAAS,eAAe,YAAY,MAAM,QAAQ,MAAM,GAAG,MAAM;CA0CtE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/svm/venues/pumpswap/index.ts"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAI3C,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACb,UAAU,EAEV,QAAQ,EACR,YAAY,EACZ,SAAS,EACV,MAAM,aAAa,CAAC;AAErB,eAAO,MAAM,mBAAmB,wDAAyD,CAAC;AAoB1F;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,qCAAqC,CAAC;AAK9E,MAAM,WAAW,kBAAmB,SAAQ,UAAU;IACpD,KAAK,EAAE,UAAU,CAAC;IAClB,wFAAwF;IACxF,SAAS,EAAE,aAAa,GAAG,aAAa,CAAC;IACzC,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,WAAW,EAAE,OAAO,CAAC;IACrB,8EAA8E;IAC9E,SAAS,EAAE,OAAO,CAAC;IACnB,qFAAqF;IACrF,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,wDAAwD;IACxD,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,gCAAgC,EAAE,OAAO,CAAC;IAC1C,yBAAyB,EAAE,OAAO,CAAC;IACnC,mBAAmB,EAAE,OAAO,CAAC;IAC7B,0EAA0E;IAC1E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,+BAA+B,EAAE,OAAO,CAAC;CAC1C;AA2KD,eAAO,MAAM,eAAe;;;;0BAKE,aAAa,QAAQ,OAAO,GAAG,OAAO,CAAC,kBAAkB,CAAC;uBAkJnE,UAAU,GAAG,YAAY,EAAE;mBAQ/B,UAAU,KAAK,MAAM,YAAY,MAAM,GAAG,MAAM;mBAqChD,UAAU,QAAQ,QAAQ,YAAY,MAAM,GAAG,SAAS;wBA6DnD,UAAU,SAAS,eAAe,YAAY,MAAM,QAAQ,MAAM,GAAG,MAAM;CA0CtE,CAAC"}
@@ -4,7 +4,7 @@
4
4
  * own ATAs at swap time and the LP fee stays in the vault). Layouts follow the
5
5
  * official Anchor IDL, quote math the official SDK, both verified byte-exact
6
6
  * against mainnet simulation events (see the pumpswap section of
7
- * docs/svm-venues.md).
7
+ * the historical venue investigation).
8
8
  *
9
9
  * Fees come from the fee program's FeeConfig PDA, re-read on every
10
10
  * fetchPoolConfig (they are admin-mutable): non-canonical pools pay flat_fees;
@@ -19,9 +19,13 @@
19
19
  * depends on compile-time constants, so the in-VM fragment reads exactly two
20
20
  * accounts: the pool's base and quote vault amounts (u64 LE at offset 64).
21
21
  *
22
- * Overflow bound (docs/svm-venues.md: all reserve/amount fields are SPL u64): every
23
- * in-VM product is u64 * u64-or-bps < 2^128, far inside the engine's 256-bit
22
+ * Overflow bound from the historical venue investigation: all reserve/amount
23
+ * fields are SPL u64, so every in-VM product is u64 * u64-or-bps < 2^128,
24
+ * far inside the engine's 256-bit
24
25
  * wrap-free range; Math.mulDiv is used for the invariant products anyway.
26
+ *
27
+ * Original venue investigation (historical):
28
+ * https://github.com/eco-incorp/sauce/blob/d3686430ee308994f95309a8c9b2d5930d71cf5d/docs/svm-venues.md
25
29
  */
26
30
  import { address, getAddressDecoder, getAddressEncoder } from "@solana/kit";
27
31
  import { ceilDiv, readUintLE } from "../math.js";
@@ -86,7 +90,7 @@ async function ata(owner, mint, tokenProgram) {
86
90
  * layout is exactly 82 bytes (assumed Tokenkeg — an extensionless token-2022
87
91
  * mint is indistinguishable, and every pump token-2022 mint carries
88
92
  * extensions), anything longer must be token-2022 TLV. Gate (documented in
89
- * docs/svm-venues.md): a TransferFeeConfig extension makes vault deltas
93
+ * the historical venue investigation): a TransferFeeConfig extension makes vault deltas
90
94
  * diverge from user amounts, so such mints are rejected.
91
95
  */
92
96
  function detectTokenProgram(mint, data) {
@@ -146,7 +150,8 @@ function parseFeeTiers(data) {
146
150
  }
147
151
  return tiers;
148
152
  }
149
- /** Tier scan (docs/svm-venues.md fee selection): below tiers[0] -> tiers[0]; else highest tier with mc >= threshold. */
153
+ /** Tier scan, following fee selection in the historical venue investigation:
154
+ * below tiers[0] -> tiers[0]; else highest tier with mc >= threshold. */
150
155
  function pickFeeTier(tiers, marketCap) {
151
156
  if (marketCap < tiers[0].marketCapThreshold)
152
157
  return tiers[0];
@@ -163,8 +168,8 @@ async function loadAccount(load, addr, what) {
163
168
  return data;
164
169
  }
165
170
  /**
166
- * buy_exact_quote_in effective quote input (docs/svm-venues.md buy
167
- * formula): strip the fee share off the spendable budget,
171
+ * buy_exact_quote_in effective quote input, using the buy formula in the
172
+ * historical venue investigation: strip the fee share off the spendable budget,
168
173
  * ceil-rounding each fee component separately, and hand back effQ after the
169
174
  * over-budget correction. The on-chain invariant swap then uses effQ - 1.
170
175
  */
@@ -175,7 +180,7 @@ function buyEffectiveQuoteIn(spendable, lp, protocol, creator) {
175
180
  const over = eff + fees - spendable;
176
181
  if (over > 0n)
177
182
  eff -= over;
178
- // Unverified edge on-chain (docs/svm-venues.md caveats): guard eff >= 2.
183
+ // Unverified edge on-chain (see caveats in the historical venue investigation): guard eff >= 2.
179
184
  if (eff < 2n)
180
185
  throw new Error(`pumpswap quote amountIn ${spendable} is too small (effective quote input below 2)`);
181
186
  return eff;
@@ -202,7 +207,7 @@ export const pumpswapAdapter = {
202
207
  }
203
208
  // Core fields run through lp_supply at 203..211; pools shorter than 243
204
209
  // predate coin_creator, which then reads as Pubkey::default (observed
205
- // sizes in docs/svm-venues.md).
210
+ // sizes in the historical venue investigation).
206
211
  if (poolData.length < 211) {
207
212
  throw new Error(`pumpswap pool ${pool} data is ${poolData.length} bytes, expected at least 211`);
208
213
  }
@@ -244,7 +249,7 @@ export const pumpswapAdapter = {
244
249
  const quoteTokenProgram = detectTokenProgram(quoteMint, quoteMintData);
245
250
  // Canonical pump pools (creator == the bonding curve's pool-authority PDA
246
251
  // for the base mint) pay the market-cap fee tier; everything else pays
247
- // flat_fees (docs/svm-venues.md fee selection).
252
+ // flat_fees (fee selection in the historical venue investigation).
248
253
  const encoder = getAddressEncoder();
249
254
  const poolAuthority = await pda(["pool-authority", new Uint8Array(encoder.encode(baseMint))], PUMP_BONDING_PROGRAM);
250
255
  const canonical = creator === poolAuthority;
@@ -332,7 +337,8 @@ export const pumpswapAdapter = {
332
337
  if (c.direction === "quoteToBase") {
333
338
  // The fee arithmetic only involves compile-time constants, so it folds
334
339
  // off-chain and the live quote is one invariant division over the
335
- // reserves (with the on-chain effQ - 1, docs/svm-venues.md buy formula).
340
+ // reserves (with the on-chain effQ - 1; see the buy formula in the
341
+ // historical venue investigation).
336
342
  const inAmount = buyEffectiveQuoteIn(amountIn, c.lpFeeBps, c.protocolFeeBps, c.creatorFeeBps) - 1n;
337
343
  lines.push(` const q${i} = Math.mulDiv(psBase${i}, ${inAmount}, psQuote${i} + ${inAmount});`);
338
344
  }
@@ -394,14 +400,14 @@ export const pumpswapAdapter = {
394
400
  accounts.push({ ref: USER_VOLUME_ACCUMULATOR_REF, writable: true });
395
401
  }
396
402
  accounts.push(readonly(FEE_CONFIG), readonly(FEE_PROGRAM));
397
- // Remaining accounts (order per docs/svm-venues.md): pool-v2 PDA when a coin creator
403
+ // Remaining accounts (order per the historical venue investigation): pool-v2 PDA when a coin creator
398
404
  // is set, then ALWAYS the buyback recipient pair (error 6058 otherwise).
399
405
  if (c.poolV2 !== undefined)
400
406
  accounts.push(readonly(c.poolV2));
401
407
  accounts.push(readonly(c.buybackFeeRecipient), writable(c.buybackFeeRecipientTokenAccount));
402
408
  return { programId: PUMPSWAP_PROGRAM_ID, data, accounts };
403
409
  },
404
- // Written from the docs/svm-venues.md quote formulas (buy and sell),
410
+ // Written from the buy/sell quote formulas in the historical venue investigation,
405
411
  // deliberately NOT sharing the emitQuote fold above so the two stay
406
412
  // independently derived.
407
413
  referenceQuote(cfg, state, amountIn, _now) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/svm/venues/pumpswap/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/svm/venues/pumpswap/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/svm/venues/raydium-amm-v4/index.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAI3C,OAAO,KAAK,EAGV,UAAU,EACV,eAAe,EAIhB,MAAM,aAAa,CAAC;AAgCrB,MAAM,WAAW,sBAAuB,SAAQ,UAAU;IACxD,qFAAqF;IACrF,MAAM,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,YAAY,EAAE,MAAM,CAAC;IACrB,sCAAsC;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,qCAAqC;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,iDAAiD;IACjD,gBAAgB,EAAE,MAAM,CAAC;IACzB,sDAAsD;IACtD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,8DAA8D;IAC9D,SAAS,EAAE,OAAO,CAAC;IACnB,+DAA+D;IAC/D,OAAO,EAAE,OAAO,CAAC;IACjB,gCAAgC;IAChC,QAAQ,EAAE,OAAO,CAAC;IAClB,iCAAiC;IACjC,MAAM,EAAE,OAAO,CAAC;IAChB;;;;;OAKG;IACH,WAAW,EAAE,OAAO,CAAC;CACtB;AA0CD,eAAO,MAAM,YAAY,EAAE,eAoN1B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/svm/venues/raydium-amm-v4/index.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAI3C,OAAO,KAAK,EAGV,UAAU,EACV,eAAe,EAIhB,MAAM,aAAa,CAAC;AAgCrB,MAAM,WAAW,sBAAuB,SAAQ,UAAU;IACxD,qFAAqF;IACrF,MAAM,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,YAAY,EAAE,MAAM,CAAC;IACrB,sCAAsC;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,qCAAqC;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,iDAAiD;IACjD,gBAAgB,EAAE,MAAM,CAAC;IACzB,sDAAsD;IACtD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,8DAA8D;IAC9D,SAAS,EAAE,OAAO,CAAC;IACnB,+DAA+D;IAC/D,OAAO,EAAE,OAAO,CAAC;IACjB,gCAAgC;IAChC,QAAQ,EAAE,OAAO,CAAC;IAClB,iCAAiC;IACjC,MAAM,EAAE,OAAO,CAAC;IAChB;;;;;OAKG;IACH,WAAW,EAAE,OAAO,CAAC;CACtB;AA0CD,eAAO,MAAM,YAAY,EAAE,eAoN1B,CAAC"}
@@ -14,6 +14,9 @@
14
14
  *
15
15
  * AmmInfo is #[repr(C, packed)], no discriminator: all offsets absolute from
16
16
  * byte 0, all integers little-endian.
17
+ *
18
+ * Original venue investigation (historical):
19
+ * https://github.com/eco-incorp/sauce/blob/d3686430ee308994f95309a8c9b2d5930d71cf5d/docs/svm-venues.md
17
20
  */
18
21
  import { address, getAddressCodec } from "@solana/kit";
19
22
  import { ceilDiv, readUintLE } from "../math.js";
@@ -25,7 +28,7 @@ const TOKEN_PROGRAM = address("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA");
25
28
  // create_program_address([b"amm authority", [nonce]], programId) — one PDA for
26
29
  // the whole program (AUTHORITY_AMM, processor.rs:111), pinned mainnet value.
27
30
  const AMM_AUTHORITY = address("5Q544fKrFoe6tsEbD7S8EmxGTJYAKtTVhAW5Q5pge4j1");
28
- // AmmInfo field offsets (state.rs AmmInfo, layout table in docs/svm-venues.md).
31
+ // AmmInfo field offsets (state.rs AmmInfo, layout table in the historical venue investigation).
29
32
  const AMM_INFO_SIZE = 752;
30
33
  const OFF_STATUS = 0;
31
34
  const OFF_COIN_DECIMALS = 32;