@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-globals.generated.d.ts","sourceRoot":"","sources":["../../src/routes/source-globals.generated.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ // GENERATED by sdk/scripts/gen-source-globals.mjs — do not edit.
2
+ // Source-only names for compiled EVM route bodies. No runtime objects are installed.
3
+ // Addresses and availability are resolved for the destination chain at compile time.
4
+ // TypeScript checks names and call shapes; the Sauce compiler checks its own language
5
+ // subset, target capabilities, ABI fidelity, and per-chain deployment availability.
6
+ export {};
7
+ //# sourceMappingURL=source-globals.generated.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-globals.generated.js","sourceRoot":"","sources":["../../src/routes/source-globals.generated.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,qFAAqF;AACrF,qFAAqF;AACrF,sFAAsF;AACtF,oFAAoF"}
@@ -14,9 +14,11 @@
14
14
  // allowed to write them, and only the owning program may. Without it a hand-assembled account with the
15
15
  // right bytes at the right offsets reads exactly like a genuine one.
16
16
  //
17
- // SPL token-account layout: mint@0 (pubkey), amount@64 (u64 LE), delegate COption tag@72 (u32 LE:
18
- // 0 = None, 1 = Some), delegate@76 (pubkey), delegated_amount@121 (u64 LE).
19
- // SPL mint layout: supply@36 (u64 LE), decimals@44 (u8). Instruction tags: Transfer=3, Approve=4.
17
+ // SPL token-account layout (`spl_token::state::Account`, `LEN` = 165): mint@0 (pubkey), amount@64
18
+ // (u64 LE), delegate COption tag@72 (u32 LE: 0 = None, 1 = Some), delegate@76 (pubkey),
19
+ // delegated_amount@121 (u64 LE).
20
+ // SPL mint layout (`spl_token::state::Mint`, `LEN` = 82): supply@36 (u64 LE), decimals@44 (u8), initialized@45 (bool).
21
+ // Instruction tags: Transfer=3, Approve=4.
20
22
  // The SPL Token program (TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA) is an `Account` the caller
21
23
  // attaches, like every other: `svm.call`'s callee is named by the slot it occupies, so it rides in as
22
24
  // `tokenProgram` and reaches the manifest under that name. Which account arrives there is the
@@ -25,30 +27,33 @@
25
27
 
26
28
  const SPL_TOKEN_PROGRAM = 0x06ddf6e1d765a193d9cbe146ceeb79ac1cb485ed5f5b37913a8cf5857eff00a9;
27
29
 
30
+ // `spl_token::state::Mint::LEN` — the legacy SPL mint's exact size. Exact, not a floor: the legacy
31
+ // program's `Pack` refuses any other length for a mint, so every account it ever initialized as one
32
+ // is this size and nothing genuine is turned away by requiring it. A floor (`>= 82`) would admit the
33
+ // 165-byte token account this exists to reject, since a token account is longer than a mint, not
34
+ // shorter.
35
+ const SPL_MINT_LEN = 82;
36
+
28
37
  export function balanceOf(token: Address, account: Account): Uint256 {
29
38
  require(account.owner == SPL_TOKEN_PROGRAM);
30
39
  require(svm.sload(account, 0, 32).toBe() == token);
31
40
  return svm.sload(account, 64, 8).toLe();
32
41
  }
33
42
 
34
- // These two read the **mint**, and the owner check is weaker for them than for the reads above: the
35
- // SPL Token program owns mints *and* token accounts, so `token.owner == Tokenkeg…` passes for either.
36
- // A token account attached where a mint belongs puts bytes 36..44 inside its `owner` field — which
37
- // whoever assembled the transaction chose — so `totalSupply` returns a number they picked, and
38
- // `decimals` reads byte 44 of the same field.
39
- //
40
- // Separating the two needs the account's data **length** (a mint is 82 bytes, a token account 165),
41
- // and nothing in the language reads it: `svm.sload` past the end reverts, which cannot be caught, and
42
- // there is no length primitive. So the check narrows the attack to real SPL-owned accounts and no
43
- // further. `balanceOf`/`allowance` are not exposed this way — their `mint`@0 comparison pins the
44
- // account's own layout, which a mint would fail.
43
+ // Legacy SPL Token owns both 82-byte mints and 165-byte token accounts. Owner must be checked
44
+ // before size to reject Token-2022. Size alone also admits permissionlessly allocated but
45
+ // uninitialized accounts, so require the mint's initialization byte before reading its fields.
45
46
  export function totalSupply(token: Account): Uint256 {
46
47
  require(token.owner == SPL_TOKEN_PROGRAM);
48
+ require(token.dataLen == SPL_MINT_LEN);
49
+ require(svm.sload(token, 45, 1).toLe() == 1);
47
50
  return svm.sload(token, 36, 8).toLe();
48
51
  }
49
52
 
50
53
  export function decimals(token: Account): Uint256 {
51
54
  require(token.owner == SPL_TOKEN_PROGRAM);
55
+ require(token.dataLen == SPL_MINT_LEN);
56
+ require(svm.sload(token, 45, 1).toLe() == 1);
52
57
  return svm.sload(token, 44, 1).toLe();
53
58
  }
54
59
 
@@ -1,7 +1,7 @@
1
1
  import type { Address, GetAccountInfoApi, Instruction, Rpc, SimulateTransactionApi, TransactionSigner } from "@solana/kit";
2
2
  /** The instructions sysvar — its presence in a swap's account list = introspection. */
3
3
  export declare const INSTRUCTIONS_SYSVAR: Address;
4
- /** Prop-AMM integrability tier (see the module doc + docs/svm-venues.md). */
4
+ /** Prop-AMM integrability tier (see the module doc + the historical venue investigation). */
5
5
  export type CpiTier = "P-A" | "P-B" | "P-C";
6
6
  /** One account of a venue swap, for the static screen (address + signer flag). */
7
7
  export interface ScreenAccount {
@@ -1 +1 @@
1
- {"version":3,"file":"cpi-probe.d.ts","sourceRoot":"","sources":["../../src/svm/cpi-probe.ts"],"names":[],"mappings":"AAiDA,OAAO,KAAK,EACV,OAAO,EAEP,iBAAiB,EACjB,WAAW,EACX,GAAG,EACH,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,aAAa,CAAC;AAGrB,uFAAuF;AACvF,eAAO,MAAM,mBAAmB,EAAoD,OAAO,CAAC;AAE5F,6EAA6E;AAC7E,MAAM,MAAM,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AAE5C,kFAAkF;AAClF,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,yCAAyC;IACzC,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;IACnC,+FAA+F;IAC/F,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,6EAA6E;IAC7E,WAAW,EAAE,OAAO,CAAC;IACrB,4EAA4E;IAC5E,cAAc,EAAE,OAAO,EAAE,CAAC;IAC1B,+FAA+F;IAC/F,aAAa,EAAE,KAAK,GAAG,KAAK,CAAC;IAC7B,iDAAiD;IACjD,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,iBAAiB,GAAG,YAAY,CAoBtE;AAED,oEAAoE;AACpE,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;AAErE,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,GAAG,CAAC,sBAAsB,GAAG,iBAAiB,CAAC,CAAC;IACrD,+FAA+F;IAC/F,MAAM,EAAE,WAAW,CAAC;IACpB,qEAAqE;IACrE,KAAK,EAAE,iBAAiB,CAAC;IACzB,wEAAwE;IACxE,MAAM,EAAE,OAAO,CAAC;IAChB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+FAA+F;IAC/F,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,UAAU,CAAC;IACpB,mEAAmE;IACnE,KAAK,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,4BAA4B;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAkBD;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,eAAe,CAAC,CA2D9F;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,gGAAgG;IAChG,oBAAoB,EAAE,OAAO,CAAC;CAC/B;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,YAAY,EACpB,KAAK,CAAC,EAAE,eAAe,EACvB,IAAI,GAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAO,GACtC,mBAAmB,CA+BrB"}
1
+ {"version":3,"file":"cpi-probe.d.ts","sourceRoot":"","sources":["../../src/svm/cpi-probe.ts"],"names":[],"mappings":"AAoDA,OAAO,KAAK,EACV,OAAO,EAEP,iBAAiB,EACjB,WAAW,EACX,GAAG,EACH,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,aAAa,CAAC;AAGrB,uFAAuF;AACvF,eAAO,MAAM,mBAAmB,EAAoD,OAAO,CAAC;AAE5F,6FAA6F;AAC7F,MAAM,MAAM,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AAE5C,kFAAkF;AAClF,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,yCAAyC;IACzC,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;IACnC,+FAA+F;IAC/F,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,6EAA6E;IAC7E,WAAW,EAAE,OAAO,CAAC;IACrB,4EAA4E;IAC5E,cAAc,EAAE,OAAO,EAAE,CAAC;IAC1B,+FAA+F;IAC/F,aAAa,EAAE,KAAK,GAAG,KAAK,CAAC;IAC7B,iDAAiD;IACjD,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,iBAAiB,GAAG,YAAY,CAoBtE;AAED,oEAAoE;AACpE,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;AAErE,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,GAAG,CAAC,sBAAsB,GAAG,iBAAiB,CAAC,CAAC;IACrD,+FAA+F;IAC/F,MAAM,EAAE,WAAW,CAAC;IACpB,qEAAqE;IACrE,KAAK,EAAE,iBAAiB,CAAC;IACzB,wEAAwE;IACxE,MAAM,EAAE,OAAO,CAAC;IAChB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+FAA+F;IAC/F,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,UAAU,CAAC;IACpB,mEAAmE;IACnE,KAAK,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,4BAA4B;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAkBD;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,eAAe,CAAC,CA2D9F;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,gGAAgG;IAChG,oBAAoB,EAAE,OAAO,CAAC;CAC/B;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,YAAY,EACpB,KAAK,CAAC,EAAE,eAAe,EACvB,IAAI,GAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAO,GACtC,mBAAmB,CA+BrB"}
@@ -18,7 +18,7 @@
18
18
  * *candidate*, not a hard signal: a program can read the sysvar to price a
19
19
  * caller **fee tier** rather than to reject, in which case an unrecognized
20
20
  * caller's CPI succeeds and merely pays the worst tier (measured on ZeroFi
21
- * — see docs/svm-venues.md). `absent` is likewise
21
+ * — see the historical venue investigation). `absent` is likewise
22
22
  * necessary-but-not-sufficient.
23
23
  *
24
24
  * 2. UNRECOGNIZED-CALLER SIMULATION (the definitive test): build the venue
@@ -35,7 +35,10 @@
35
35
  * The terminal realized-delta `minOut` on the out-ATA backstops ALL tiers
36
36
  * regardless of the verdict — the probe only decides ADMISSION (does a slot
37
37
  * enter the in-VM split, or stay an off-chain best-scan candidate, or drop).
38
- * See docs/svm-venues.md for the ranked ledger and per-venue evidence.
38
+ * See the historical venue investigation for the ranked ledger and per-venue evidence.
39
+ *
40
+ * Original venue investigation (historical):
41
+ * https://github.com/eco-incorp/sauce/blob/d3686430ee308994f95309a8c9b2d5930d71cf5d/docs/svm-venues.md
39
42
  */
40
43
  import { appendTransactionMessageInstructions, createTransactionMessage, getBase64EncodedWireTransaction, getBase64Encoder, pipe, setTransactionMessageFeePayerSigner, setTransactionMessageLifetimeUsingBlockhash, signTransactionMessageWithSigners, } from "@solana/kit";
41
44
  import { readUintLE } from "./venues/math.js";
@@ -1 +1 @@
1
- {"version":3,"file":"cpi-probe.js","sourceRoot":"","sources":["../../src/svm/cpi-probe.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cpi-probe.js","sourceRoot":"","sources":["../../src/svm/cpi-probe.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { Address } from "@solana/kit";
2
- import { type SvmSettleExecutionVerification, type SvmSettleExpectation } from "./verify.js";
2
+ import { type SvmSettleExecutionVerification, type SvmExecutionWireFormat, type SvmSettleExpectation } from "./verify.js";
3
3
  /** One attached account, as the Portal `SerializableAccountMeta` struct serializes it. */
4
4
  export interface PortalAccountMeta {
5
5
  pubkey: Address;
@@ -8,7 +8,7 @@ export interface PortalAccountMeta {
8
8
  }
9
9
  /** The decoded Portal `CalldataWithAccounts` envelope: the wrapped CPI instruction data and its accounts. */
10
10
  export interface PortalCalldataWithAccounts {
11
- /** The wrapped instruction data — for a Sauce call, the `execute_from_account` payload. */
11
+ /** The target program's instruction data, unchanged by the Portal. */
12
12
  instructionData: Uint8Array;
13
13
  /** The `account_count` the envelope declares (Portal's own count of the wrapped accounts). */
14
14
  accountCount: number;
@@ -38,9 +38,7 @@ export interface PortalCalldataWithAccountsInput {
38
38
  instructionData: Uint8Array;
39
39
  /** The attached account metas, in order. */
40
40
  accounts: readonly PortalAccountMeta[];
41
- /** The envelope's own `account_count` field. Defaults to `accounts.length` — see the decoder's own
42
- * comment on why this is not asserted equal to `accounts.length` here either; a caller with a
43
- * different convention (e.g. excluding a leading buffer account) can override it explicitly. */
41
+ /** Defaults to accounts.length. An explicit value must match, including any code and Pot accounts. */
44
42
  accountCount?: number;
45
43
  }
46
44
  /**
@@ -60,7 +58,7 @@ export interface SvmIntentCallLike {
60
58
  target?: UniversalAddressInput;
61
59
  /**
62
60
  * The content pin committing to the bytes THIS call executes, if the caller has it — read off the
63
- * kitchen's `cook_from_account` for this call, since the engine instruction carries no payload.
61
+ * Kitchen's `cook_from_account`, since the engine instruction carries no content pin.
64
62
  *
65
63
  * Per call, deliberately. A batch can hold a settle-shaped decoy that differs from the genuine
66
64
  * settle only in its pin, so one pin shared across the scan would make the two indistinguishable
@@ -75,9 +73,9 @@ export interface SvmIntentLike {
75
73
  };
76
74
  }
77
75
  export interface ExtractSvmSettleOptions extends SvmSettleExpectation {
78
- /** OPTIONAL. The staged settle bytecode (`sauceStage.buffers[settleIdx].bytecode`), as bytes / base64 /
79
- * 0x-hex. When supplied, genuineness is proven by a full byte-match; when omitted, it is still proven
80
- * via the calldata pin vs the SDK's own recompiled canonical settle (a partner needs no bytecode). */
76
+ /** Defaults to released gated engine CPI data; Kitchen envelopes are not decoded here. */
77
+ wireFormat?: SvmExecutionWireFormat;
78
+ /** Staged bytes to compare with the canonical program and the call's independently obtained pin. */
81
79
  bytecode?: BytesInput;
82
80
  }
83
81
  /** The callee of an extracted settle — three states a caller must keep apart. `program`: the call's
@@ -106,38 +104,12 @@ export type ExtractedSvmSettle = SvmSettleExecutionVerification & {
106
104
  target: SvmSettleTarget;
107
105
  };
108
106
  /**
109
- * Scans SVM intent calls and returns the first call that is a GENUINE settle execution — the SVM twin of
110
- * `extractEvmSettleFromCalls`. Each call is a Portal envelope; the settle is found by VERIFYING it
111
- * (`verifySvmSettleExecution`), not by shape: the calldata pin must equal `sha256` of the SDK's own
112
- * recompiled canonical settle (or the supplied `bytecode` must byte-match it). A shape-only lookalike or
113
- * an adversarial decoy is REJECTED — the scan keeps going and never returns a non-genuine call — so this
114
- * cannot be tricked into reporting attacker-chosen params: `minOut`/`splCount` are what the CALLER
115
- * expects, and a genuine verdict is itself the proof the program enforces them. Returns `null` if no
116
- * call is a genuine settle.
117
- *
118
- * (To inspect a call's raw structural params without a genuineness proof — e.g. a decoy's claimed values —
119
- * decode the envelope with `decodePortalCalldataWithAccounts` and call `decodeSvmSettleExecution` directly.)
120
- *
121
- * AND IT MUST VALIDATE `target`. Matching is on the envelope's instruction data ONLY — nothing here looks
122
- * at the callee. The pin is not self-enforcing, and not engine-enforced either: the released engine's
123
- * `execute_from_account` has no payload to check one against, so a pin is an assertion by whoever
124
- * supplied it — and on this path that is the untrusted call object itself. It says nothing about an
125
- * arbitrary program that merely accepts the same discriminator. For `[{ target: attackerProgram, data: <envelope pinned to the canonical settle> }]` this returns
126
- * a `genuine` verdict while the attacker's program runs whatever it likes. `target` is carried through on
127
- * the result for exactly this check — require `{ kind: 'program' }` and compare its `address` against the
128
- * Sauce engine program id you trust (`v12SvmProgramId`). `absent` (the call named no callee) and
129
- * `unreadable` (it named something that is not a 32-byte universal address) are NOT interchangeable, and
130
- * neither clears the call. Unvalidated, a genuine verdict describes bytes handed to an unknown program.
107
+ * Return the first recognized raw-engine settlement in Portal envelopes, or null.
108
+ * Staged identity depends on each call's independently trusted pin. The caller must also
109
+ * require a readable target matching v12SvmEngineProgramId(), validate gate/account roles,
110
+ * and inspect every other call. Kitchen cook envelopes are not handled here.
131
111
  */
132
112
  export declare function extractSvmSettleFromCalls(calls: readonly SvmIntentCallLike[], options: ExtractSvmSettleOptions): ExtractedSvmSettle | null;
133
- /**
134
- * Extracts the GENUINE SVM settle params + resolved account identities from an intent object — the thin
135
- * intent-level wrapper over `extractSvmSettleFromCalls`, and the SVM twin of `extractEvmSettleFromIntent`.
136
- * Duck-typed on `{ route: { calls } }`, so it takes an eco-solver `Intent` (runtime or persisted) as-is.
137
- * Genuineness is proven from the intent alone (recompile + pin); pass `options.bytecode` (from the
138
- * intent's `fulfillmentMetadata.svm.sauceStage`) for the additional full byte-match. `null` if the intent
139
- * carries no genuine settle execution. The `target` duty documented on `extractSvmSettleFromCalls` applies
140
- * here unchanged.
141
- */
113
+ /** Inspect the route's calls with the same trust boundaries as extractSvmSettleFromCalls. */
142
114
  export declare function extractSvmSettleFromIntent(intent: SvmIntentLike, options: ExtractSvmSettleOptions): ExtractedSvmSettle | null;
143
115
  //# sourceMappingURL=intent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"intent.d.ts","sourceRoot":"","sources":["../../src/svm/intent.ts"],"names":[],"mappings":"AAgDA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAEL,KAAK,8BAA8B,EACnC,KAAK,oBAAoB,EAC1B,MAAM,aAAa,CAAC;AAIrB,0FAA0F;AAC1F,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,6GAA6G;AAC7G,MAAM,WAAW,0BAA0B;IACzC,2FAA2F;IAC3F,eAAe,EAAE,UAAU,CAAC;IAC5B,8FAA8F;IAC9F,YAAY,EAAE,MAAM,CAAC;IACrB,4CAA4C;IAC5C,QAAQ,EAAE,iBAAiB,EAAE,CAAC;CAC/B;AAkBD;;;qGAGqG;AACrG,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,MAAM,CAAC;AAE7C;;;;sBAIsB;AACtB,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG,KAAK,MAAM,EAAE,GAAG,OAAO,CAAC;AA8BzE;;;;GAIG;AACH,wBAAgB,gCAAgC,CAAC,IAAI,EAAE,UAAU,GAAG,0BAA0B,CAmB7F;AAmBD,4GAA4G;AAC5G,MAAM,WAAW,+BAA+B;IAC9C,2FAA2F;IAC3F,eAAe,EAAE,UAAU,CAAC;IAC5B,4CAA4C;IAC5C,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACvC;;qGAEiG;IACjG,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,+BAA+B,GACrC,KAAK,MAAM,EAAE,CAWf;AAID;;mCAEmC;AACnC,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,UAAU,CAAC;IACjB;2FACuF;IACvF,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAC/B;;;;;;;OAOG;IACH,GAAG,CAAC,EAAE,UAAU,CAAC;CAClB;AAED,oEAAoE;AACpE,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE;QAAE,KAAK,EAAE,SAAS,iBAAiB,EAAE,CAAA;KAAE,CAAC;CAChD;AAED,MAAM,WAAW,uBAAwB,SAAQ,oBAAoB;IACnE;;2GAEuG;IACvG,QAAQ,CAAC,EAAE,UAAU,CAAC;CACvB;AAED;;;;;;;wGAOwG;AACxG,MAAM,MAAM,eAAe,GACvB;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GACvD;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,GAC3B;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7D;mGACmG;AACnG,MAAM,MAAM,kBAAkB,GAAG,8BAA8B,GAAG;IAChE,oFAAoF;IACpF,SAAS,EAAE,MAAM,CAAC;IAClB,uFAAuF;IACvF,MAAM,EAAE,eAAe,CAAC;CACzB,CAAC;AAcF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,SAAS,iBAAiB,EAAE,EACnC,OAAO,EAAE,uBAAuB,GAC/B,kBAAkB,GAAG,IAAI,CAgC3B;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,uBAAuB,GAC/B,kBAAkB,GAAG,IAAI,CAE3B"}
1
+ {"version":3,"file":"intent.d.ts","sourceRoot":"","sources":["../../src/svm/intent.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAEL,KAAK,8BAA8B,EACnC,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EAC1B,MAAM,aAAa,CAAC;AAIrB,0FAA0F;AAC1F,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,6GAA6G;AAC7G,MAAM,WAAW,0BAA0B;IACzC,sEAAsE;IACtE,eAAe,EAAE,UAAU,CAAC;IAC5B,8FAA8F;IAC9F,YAAY,EAAE,MAAM,CAAC;IACrB,4CAA4C;IAC5C,QAAQ,EAAE,iBAAiB,EAAE,CAAC;CAC/B;AAkBD;;;qGAGqG;AACrG,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,MAAM,CAAC;AAE7C;;;;sBAIsB;AACtB,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG,KAAK,MAAM,EAAE,GAAG,OAAO,CAAC;AA8BzE;;;;GAIG;AACH,wBAAgB,gCAAgC,CAAC,IAAI,EAAE,UAAU,GAAG,0BAA0B,CAwB7F;AAmBD,4GAA4G;AAC5G,MAAM,WAAW,+BAA+B;IAC9C,2FAA2F;IAC3F,eAAe,EAAE,UAAU,CAAC;IAC5B,4CAA4C;IAC5C,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACvC,sGAAsG;IACtG,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,+BAA+B,GACrC,KAAK,MAAM,EAAE,CAcf;AAID;;mCAEmC;AACnC,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,UAAU,CAAC;IACjB;2FACuF;IACvF,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAC/B;;;;;;;OAOG;IACH,GAAG,CAAC,EAAE,UAAU,CAAC;CAClB;AAED,oEAAoE;AACpE,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE;QAAE,KAAK,EAAE,SAAS,iBAAiB,EAAE,CAAA;KAAE,CAAC;CAChD;AAED,MAAM,WAAW,uBAAwB,SAAQ,oBAAoB;IACnE,0FAA0F;IAC1F,UAAU,CAAC,EAAE,sBAAsB,CAAC;IACpC,oGAAoG;IACpG,QAAQ,CAAC,EAAE,UAAU,CAAC;CACvB;AAED;;;;;;;wGAOwG;AACxG,MAAM,MAAM,eAAe,GACvB;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GACvD;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,GAC3B;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7D;mGACmG;AACnG,MAAM,MAAM,kBAAkB,GAAG,8BAA8B,GAAG;IAChE,oFAAoF;IACpF,SAAS,EAAE,MAAM,CAAC;IAClB,uFAAuF;IACvF,MAAM,EAAE,eAAe,CAAC;CACzB,CAAC;AAcF;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,SAAS,iBAAiB,EAAE,EACnC,OAAO,EAAE,uBAAuB,GAC/B,kBAAkB,GAAG,IAAI,CAiC3B;AAED,6FAA6F;AAC7F,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,uBAAuB,GAC/B,kBAAkB,GAAG,IAAI,CAE3B"}
@@ -1,32 +1,5 @@
1
- // @eco-incorp/sauce/svm/verify — extract settle params from an Eco intent's SVM calls.
2
- //
3
- // The EVM twin (`@eco-incorp/sauce/verify`'s `extractEvmSettleFromIntent`) reads the settle program
4
- // straight out of a `Pot.cook(bytes[])` call, because an EVM intent's `route.calls[].data` is plain ABI
5
- // calldata. An SVM intent is one wrapper deeper: each `route.calls[].data` is the Eco **Portal**
6
- // program's `CalldataWithAccounts` Borsh envelope — `{ calldata: { data, account_count }, accounts:
7
- // [{ pubkey, is_signer, is_writable }] }` — where `calldata.data` is the Sauce engine's
8
- // `execute_from_account` instruction data (`[disc][flags][pin?][slice?][args]`) and `accounts` is that
9
- // instruction's account list. This module decodes that envelope and hands the two halves to
10
- // `decodeSvmSettleExecution` / `verifySvmSettleExecution`, so an external partner goes from a published
11
- // intent to the staged-execute header + resolved account identities with ONLY this package. `minOut`
12
- // and `splCount` are NOT decodable -- they are defines folded into the bytecode -- so a partner who
13
- // needs them states them as an expectation and `verifySvmSettleExecution` establishes them by
14
- // recompiling and byte-comparing. See `verify.ts`'s note on `DecodedSvmSettleExecution`.
15
- //
16
- // WHY THIS LIVES IN THE SDK (not in a solver adapter): this surface is for partners CONSUMING Eco
17
- // intents, who have neither the solver's internals nor its `decodeRouteCall`. So the Portal envelope
18
- // layout is mirrored here — it is a small, stable on-chain Anchor struct (Portal program IDL), decoded
19
- // with `@solana/kit` codecs (no new dependency). `test/svm/intent.test.ts` pins the byte layout against
20
- // a hand-built fixture so a Portal IDL change can't drift it silently.
21
- //
22
- // GENUINENESS WITHOUT PARTNER BYTECODE. A staged settle carries no structural signature (unlike an
23
- // EVM settle, whose whole program is a constant that hashes to a pinned value — see
24
- // `@eco-incorp/sauce/verify`'s `validateSettleProgram`), so "right shape" is NOT "is a settle" —
25
- // a non-settle staged execute, or an adversarial
26
- // decoy, has the same shape. The extraction here therefore does not trust shape: it recompiles the
27
- // canonical `svmSettleSource(N)` ITSELF and requires the calldata pin to equal `sha256(canonical settle)`
28
- // (or, if the caller passes the staged `bytecode` from `fulfillmentMetadata.svm.sauceStage`, a full
29
- // byte-match). A partner needs no bytecode to get a genuine verdict; a decoy is REJECTED, not returned.
1
+ // Decode Portal call envelopes carrying raw Sauce engine instructions. Kitchen cook envelopes
2
+ // need a separate decoder. Staged identity depends on a caller-supplied, independently trusted pin.
30
3
  import { addDecoderSizePrefix, addEncoderSizePrefix, address, getArrayDecoder, getArrayEncoder, getAddressDecoder, getAddressEncoder, getBooleanDecoder, getBooleanEncoder, getBytesDecoder, getBytesEncoder, getStructDecoder, getStructEncoder, getU8Decoder, getU8Encoder, getU32Decoder, getU32Encoder, } from "@solana/kit";
31
4
  import { verifySvmSettleExecution, } from "./verify.js";
32
5
  // Borsh (Anchor): `bytes` = u32 LE length prefix + bytes; `Vec<T>` = u32 LE length + elements;
@@ -79,12 +52,17 @@ function toTargetAddress(input) {
79
52
  */
80
53
  export function decodePortalCalldataWithAccounts(data) {
81
54
  const bytes = toBytes(data, "portal calldata");
82
- const decoded = calldataWithAccountsDecoder.decode(bytes);
83
- // Both `account_count` (the Calldata field) and the attached `accounts` vec length are decoded and
84
- // surfaced; they are NOT asserted equal here. eco-solver's own `decodeRouteCall` does not enforce it
85
- // either, and the exact `account_count` semantics for the settle envelope (whether it counts the
86
- // leading buffer account) are not something to hard-fail a partner's decode on — a caller that wants
87
- // the check can compare `accountCount` against `accounts.length` itself.
55
+ const [decoded, consumed] = calldataWithAccountsDecoder.read(bytes, 0);
56
+ if (consumed !== bytes.length)
57
+ throw new Error("Portal calldata has trailing bytes");
58
+ if (decoded.calldata.accountCount !== decoded.accounts.length) {
59
+ throw new Error("Portal accountCount must equal the attached accounts length");
60
+ }
61
+ // Portal reconstructs canonical Borsh; Kit's boolean decoder alone accepts values beyond 0/1.
62
+ const canonical = calldataWithAccountsEncoder.encode(decoded);
63
+ if (canonical.some((value, index) => value !== bytes[index])) {
64
+ throw new Error("Portal calldata is not canonical Borsh");
65
+ }
88
66
  return {
89
67
  // @solana/kit's bytes decoder yields a ReadonlyUint8Array — copy to a plain Uint8Array so the
90
68
  // downstream payload parser (subarray / DataView) has a mutable, standard view.
@@ -121,6 +99,9 @@ const calldataWithAccountsEncoder = getStructEncoder([
121
99
  */
122
100
  export function encodePortalCalldataWithAccounts(input) {
123
101
  const accountCount = input.accountCount ?? input.accounts.length;
102
+ if (accountCount !== input.accounts.length) {
103
+ throw new Error("Portal accountCount must equal the attached accounts length");
104
+ }
124
105
  const encoded = calldataWithAccountsEncoder.encode({
125
106
  calldata: { data: input.instructionData, accountCount },
126
107
  accounts: input.accounts.map((a) => ({
@@ -144,28 +125,10 @@ function resolveSettleTarget(input) {
144
125
  }
145
126
  }
146
127
  /**
147
- * Scans SVM intent calls and returns the first call that is a GENUINE settle execution — the SVM twin of
148
- * `extractEvmSettleFromCalls`. Each call is a Portal envelope; the settle is found by VERIFYING it
149
- * (`verifySvmSettleExecution`), not by shape: the calldata pin must equal `sha256` of the SDK's own
150
- * recompiled canonical settle (or the supplied `bytecode` must byte-match it). A shape-only lookalike or
151
- * an adversarial decoy is REJECTED — the scan keeps going and never returns a non-genuine call — so this
152
- * cannot be tricked into reporting attacker-chosen params: `minOut`/`splCount` are what the CALLER
153
- * expects, and a genuine verdict is itself the proof the program enforces them. Returns `null` if no
154
- * call is a genuine settle.
155
- *
156
- * (To inspect a call's raw structural params without a genuineness proof — e.g. a decoy's claimed values —
157
- * decode the envelope with `decodePortalCalldataWithAccounts` and call `decodeSvmSettleExecution` directly.)
158
- *
159
- * AND IT MUST VALIDATE `target`. Matching is on the envelope's instruction data ONLY — nothing here looks
160
- * at the callee. The pin is not self-enforcing, and not engine-enforced either: the released engine's
161
- * `execute_from_account` has no payload to check one against, so a pin is an assertion by whoever
162
- * supplied it — and on this path that is the untrusted call object itself. It says nothing about an
163
- * arbitrary program that merely accepts the same discriminator. For `[{ target: attackerProgram, data: <envelope pinned to the canonical settle> }]` this returns
164
- * a `genuine` verdict while the attacker's program runs whatever it likes. `target` is carried through on
165
- * the result for exactly this check — require `{ kind: 'program' }` and compare its `address` against the
166
- * Sauce engine program id you trust (`v12SvmProgramId`). `absent` (the call named no callee) and
167
- * `unreadable` (it named something that is not a 32-byte universal address) are NOT interchangeable, and
168
- * neither clears the call. Unvalidated, a genuine verdict describes bytes handed to an unknown program.
128
+ * Return the first recognized raw-engine settlement in Portal envelopes, or null.
129
+ * Staged identity depends on each call's independently trusted pin. The caller must also
130
+ * require a readable target matching v12SvmEngineProgramId(), validate gate/account roles,
131
+ * and inspect every other call. Kitchen cook envelopes are not handled here.
169
132
  */
170
133
  export function extractSvmSettleFromCalls(calls, options) {
171
134
  const bytecode = options.bytecode !== undefined ? toBytes(options.bytecode, "bytecode") : undefined;
@@ -182,6 +145,7 @@ export function extractSvmSettleFromCalls(calls, options) {
182
145
  verified = verifySvmSettleExecution({
183
146
  pin: calls[i].pin !== undefined ? toBytes(calls[i].pin, "pin") : undefined,
184
147
  instructionData: envelope.instructionData,
148
+ wireFormat: options.wireFormat,
185
149
  accounts: envelope.accounts,
186
150
  bytecode,
187
151
  minOut: options.minOut,
@@ -198,15 +162,7 @@ export function extractSvmSettleFromCalls(calls, options) {
198
162
  }
199
163
  return null;
200
164
  }
201
- /**
202
- * Extracts the GENUINE SVM settle params + resolved account identities from an intent object — the thin
203
- * intent-level wrapper over `extractSvmSettleFromCalls`, and the SVM twin of `extractEvmSettleFromIntent`.
204
- * Duck-typed on `{ route: { calls } }`, so it takes an eco-solver `Intent` (runtime or persisted) as-is.
205
- * Genuineness is proven from the intent alone (recompile + pin); pass `options.bytecode` (from the
206
- * intent's `fulfillmentMetadata.svm.sauceStage`) for the additional full byte-match. `null` if the intent
207
- * carries no genuine settle execution. The `target` duty documented on `extractSvmSettleFromCalls` applies
208
- * here unchanged.
209
- */
165
+ /** Inspect the route's calls with the same trust boundaries as extractSvmSettleFromCalls. */
210
166
  export function extractSvmSettleFromIntent(intent, options) {
211
167
  return extractSvmSettleFromCalls(intent.route.calls, options);
212
168
  }
@@ -1 +1 @@
1
- {"version":3,"file":"intent.js","sourceRoot":"","sources":["../../src/svm/intent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"intent.js","sourceRoot":"","sources":["../../src/svm/intent.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/svm/venues/byreal/index.ts"],"names":[],"mappings":"AA6DA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAU3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAEV,qBAAqB,EAEtB,MAAM,0BAA0B,CAAC;AAKlC,QAAA,MAAM,IAAI,EAAG,QAAiB,CAAC;AAE/B,kGAAkG;AAClG,eAAO,MAAM,iBAAiB,wDAAyD,CAAC;AAmCxF,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,qBAAqB,EAAE,OAAO,CAAC;IAC5E,KAAK,EAAE,OAAO,IAAI,CAAC;CACpB;AAwHD;;;;;GAKG;AACH,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,aAAa,EACnB,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,gBAAgB,CAAC,CA2G3B;AAED,kGAAkG;AAClG,eAAO,MAAM,MAAM;;;;;;;CAOlB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/svm/venues/byreal/index.ts"],"names":[],"mappings":"AAgEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAU3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAEV,qBAAqB,EAEtB,MAAM,0BAA0B,CAAC;AAKlC,QAAA,MAAM,IAAI,EAAG,QAAiB,CAAC;AAE/B,kGAAkG;AAClG,eAAO,MAAM,iBAAiB,wDAAyD,CAAC;AAmCxF,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,qBAAqB,EAAE,OAAO,CAAC;IAC5E,KAAK,EAAE,OAAO,IAAI,CAAC;CACpB;AAwHD;;;;;GAKG;AACH,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,aAAa,EACnB,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,gBAAgB,CAAC,CA2G3B;AAED,kGAAkG;AAClG,eAAO,MAAM,MAAM;;;;;;;CAOlB,CAAC"}
@@ -50,13 +50,16 @@
50
50
  * model the per-step volatility fee upstream applies on those pools, so
51
51
  * rather than guess at (and risk UNDERSTATING) that fee — which would make
52
52
  * our quote look more favorable than the venue can actually deliver, a
53
- * favorable-error liveness hazard per docs/svm-venues.md — the pool is
53
+ * favorable-error liveness hazard per the historical venue investigation — the pool is
54
54
  * simply excluded. Classic (non-dynamic) pools read `trade_fee_rate` LIVE
55
55
  * from the AmmConfig account (never a hardcoded/assumed tier), both at
56
56
  * fetch time (an informational snapshot) and at cook time (the fragment
57
57
  * re-reads it, inherited unchanged from raydium-clmm's ladder). Measured
58
58
  * live 2026-07-31: 4 of the 129 pools carry a nonzero `dynamic_fee_info` and
59
59
  * are dropped by this gate; the rest are classic.
60
+ *
61
+ * Original venue investigation (historical):
62
+ * https://github.com/eco-incorp/sauce/blob/d3686430ee308994f95309a8c9b2d5930d71cf5d/docs/svm-venues.md
60
63
  */
61
64
  import { address, getAddressCodec } from "@solana/kit";
62
65
  import { AMM_CONFIG_DISCRIMINATOR, RAYDIUM_CLMM_MAX_BOUNDARIES, POOL_DISCRIMINATOR, TICK_ARRAY_DISCRIMINATOR, windowStartTicks, } from "../raydium-clmm/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/svm/venues/byreal/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/svm/venues/byreal/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/svm/venues/carrot/index.ts"],"names":[],"mappings":"AAuHA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE7D,eAAO,MAAM,iBAAiB,yDAA0D,CAAC;AACzF,eAAO,MAAM,QAAQ,yDAA0D,CAAC;AAChF,gFAAgF;AAChF,eAAO,MAAM,oBAAoB,yDAA0D,CAAC;AAE5F,gHAAgH;AAChH,eAAO,MAAM,uBAAuB,EAAE,WAAW,CAAC,OAAO,CAGvD,CAAC;AAkBH;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAEnC,uGAAuG;AACvG,QAAA,MAAM,wBAAwB,wDAAyD,CAAC;AAYxF,QAAA,MAAM,OAAO,QAAmB,CAAC;AAKjC,MAAM,WAAW,mBAAmB;IAClC,oHAAoH;IACpH,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,sFAAsF;IACtF,GAAG,EAAE,OAAO,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,6HAA6H;IAC7H,WAAW,EAAE,MAAM,CAAC;IACpB,kFAAkF;IAClF,KAAK,EAAE,MAAM,CAAC;IACd,wHAAwH;IACxH,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAiB,SAAQ,UAAU;IAClD,KAAK,EAAE,QAAQ,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;IACpB,mIAAmI;IACnI,gBAAgB,EAAE,MAAM,CAAC;IACzB,0GAA0G;IAC1G,MAAM,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACvC,kEAAkE;IAClE,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,OAAO,GAAG,QAAQ,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,CAOvE;AAkBD,4MAA4M;AAC5M,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,EAAE,CAQ7D;AAuJD,eAAO,MAAM,MAAM;;;4BAGO,aAAa,QAAQ,OAAO,KAAG,OAAO,CAAC,gBAAgB,CAAC;CAEjF,CAAC;AAEF,mIAAmI;AACnI,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAS9D;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAOnF;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,MAAM,GAAG,SAAS,GAC5B,gBAAgB,CAKlB;AAKD,OAAO,EAAE,wBAAwB,EAAE,OAAO,IAAI,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/svm/venues/carrot/index.ts"],"names":[],"mappings":"AAuHA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAG3C,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE7D,eAAO,MAAM,iBAAiB,yDAA0D,CAAC;AACzF,eAAO,MAAM,QAAQ,yDAA0D,CAAC;AAChF,gFAAgF;AAChF,eAAO,MAAM,oBAAoB,yDAA0D,CAAC;AAE5F,gHAAgH;AAChH,eAAO,MAAM,uBAAuB,EAAE,WAAW,CAAC,OAAO,CAGvD,CAAC;AAkBH;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAEnC,uGAAuG;AACvG,QAAA,MAAM,wBAAwB,wDAAyD,CAAC;AAYxF,QAAA,MAAM,OAAO,QAAmB,CAAC;AAKjC,MAAM,WAAW,mBAAmB;IAClC,oHAAoH;IACpH,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,sFAAsF;IACtF,GAAG,EAAE,OAAO,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,6HAA6H;IAC7H,WAAW,EAAE,MAAM,CAAC;IACpB,kFAAkF;IAClF,KAAK,EAAE,MAAM,CAAC;IACd,wHAAwH;IACxH,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAiB,SAAQ,UAAU;IAClD,KAAK,EAAE,QAAQ,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;IACpB,mIAAmI;IACnI,gBAAgB,EAAE,MAAM,CAAC;IACzB,0GAA0G;IAC1G,MAAM,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACvC,kEAAkE;IAClE,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,OAAO,GAAG,QAAQ,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,CAOvE;AAkBD,4MAA4M;AAC5M,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,EAAE,CAQ7D;AA8JD,eAAO,MAAM,MAAM;;;4BAGO,aAAa,QAAQ,OAAO,KAAG,OAAO,CAAC,gBAAgB,CAAC;CAEjF,CAAC;AAEF,mIAAmI;AACnI,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAS9D;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAOnF;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,MAAM,GAAG,SAAS,GAC5B,gBAAgB,CAKlB;AAKD,OAAO,EAAE,wBAAwB,EAAE,OAAO,IAAI,cAAc,EAAE,CAAC"}
@@ -118,6 +118,7 @@
118
118
  */
119
119
  import { address, getAddressDecoder } from "@solana/kit";
120
120
  import { readUintLE } from "../math.js";
121
+ import { assertOracleExponent } from "../oracle-exponent.js";
121
122
  export const CARROT_PROGRAM_ID = address("CarrotwivhMpDnm27EHmRLeQ683Z1PufuqEmBZvD282s");
122
123
  export const CRT_MINT = address("CRTx1JouZhzSU6XytsE42UQraoGqiHgxabocVfARTy2s");
123
124
  /** The one deployed vault — a PDA of `["vault", CRT_MINT]`, singleton today. */
@@ -277,6 +278,9 @@ async function fetchCarrotPoolConfig(load, pool) {
277
278
  // exponent (i32) sits AFTER price(i64, 8 bytes) AND conf(u64, 8 bytes) — offset +16, not +8.
278
279
  const rawExponent = readUintLE(oracleData, priceOffset + 8 + 8, 4);
279
280
  const exponent = Number(rawExponent >= 1n << 31n ? rawExponent - (1n << 32n) : rawExponent);
281
+ // Range-gate the ORACLE exponent before it reaches `10n ** BigInt(scaleExp)` below. `a.decimals`
282
+ // needs no such gate — it is one byte, so 0..=255 by construction (see oracle-exponent.ts).
283
+ assertOracleExponent("pyth-price-update-v2", exponent, `carrot vault ${pool}: asset ${a.assetId} oracle ${a.oracle}`);
280
284
  const scaleExp = CARROT_TARGET_SCALE + exponent - a.decimals;
281
285
  if (scaleExp < 0) {
282
286
  throw new Error(`carrot vault ${pool}: asset ${a.assetId} has a negative implied scale exponent ${scaleExp} (exponent=${exponent}, decimals=${a.decimals}) — CARROT_TARGET_SCALE too small`);