@eco-incorp/sauce 0.99.5 → 0.99.6

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 (81) hide show
  1. package/docs/concepts/architecture.md +4 -2
  2. package/docs/concepts/saucescript.md +19 -2
  3. package/docs/guides/builders-and-actions.md +4 -1
  4. package/docs/guides/compiling.md +5 -3
  5. package/docs/guides/intents.md +32 -2
  6. package/docs/guides/protocols-and-tokens.md +21 -1
  7. package/package.json +1 -1
  8. package/sdk/dist/embedded/skills.generated.js +6 -6
  9. package/sdk/dist/embedded/skills.generated.js.map +1 -1
  10. package/sdk/dist/embedded/sources.generated.js +2 -2
  11. package/sdk/dist/embedded/sources.generated.js.map +1 -1
  12. package/sdk/dist/plugin/index.d.ts +3 -2
  13. package/sdk/dist/plugin/index.d.ts.map +1 -1
  14. package/sdk/dist/plugin/index.js.map +1 -1
  15. package/sdk/dist/protocols/cbeth/functions.d.ts +2 -2
  16. package/sdk/dist/protocols/cbeth/functions.d.ts.map +1 -1
  17. package/sdk/dist/protocols/cbeth/functions.js +4 -6
  18. package/sdk/dist/protocols/cbeth/functions.js.map +1 -1
  19. package/sdk/dist/protocols/crvusd/functions.d.ts +2 -2
  20. package/sdk/dist/protocols/crvusd/functions.d.ts.map +1 -1
  21. package/sdk/dist/protocols/crvusd/functions.js +6 -6
  22. package/sdk/dist/protocols/erc20/functions.d.ts +3 -3
  23. package/sdk/dist/protocols/erc20/functions.d.ts.map +1 -1
  24. package/sdk/dist/protocols/erc20/functions.js +6 -9
  25. package/sdk/dist/protocols/erc20/functions.js.map +1 -1
  26. package/sdk/dist/protocols/frax/functions.d.ts +2 -2
  27. package/sdk/dist/protocols/frax/functions.d.ts.map +1 -1
  28. package/sdk/dist/protocols/frax/functions.js +6 -6
  29. package/sdk/dist/protocols/gho/functions.d.ts +2 -2
  30. package/sdk/dist/protocols/gho/functions.d.ts.map +1 -1
  31. package/sdk/dist/protocols/gho/functions.js +4 -6
  32. package/sdk/dist/protocols/gho/functions.js.map +1 -1
  33. package/sdk/dist/protocols/liquity-v2/functions.d.ts +2 -2
  34. package/sdk/dist/protocols/liquity-v2/functions.d.ts.map +1 -1
  35. package/sdk/dist/protocols/liquity-v2/functions.js +4 -6
  36. package/sdk/dist/protocols/liquity-v2/functions.js.map +1 -1
  37. package/sdk/dist/recipes/cctp-split.sauce.ts +3 -1
  38. package/sdk/dist/recipes/plain-transfer.sauce.ts +3 -0
  39. package/sdk/dist/routes/ast-walk.d.ts +4 -0
  40. package/sdk/dist/routes/ast-walk.d.ts.map +1 -1
  41. package/sdk/dist/routes/ast-walk.js +9 -2
  42. package/sdk/dist/routes/ast-walk.js.map +1 -1
  43. package/sdk/dist/routes/chain-exports.generated.d.ts.map +1 -1
  44. package/sdk/dist/routes/chain-exports.generated.js.map +1 -1
  45. package/sdk/dist/routes/index.d.ts +2 -2
  46. package/sdk/dist/routes/index.d.ts.map +1 -1
  47. package/sdk/dist/routes/index.js +1 -1
  48. package/sdk/dist/routes/index.js.map +1 -1
  49. package/sdk/dist/routes/intent-sugar.d.ts.map +1 -1
  50. package/sdk/dist/routes/intent-sugar.js +40 -23
  51. package/sdk/dist/routes/intent-sugar.js.map +1 -1
  52. package/sdk/dist/routes/sauce-route.d.ts.map +1 -1
  53. package/sdk/dist/routes/sauce-route.js +26 -23
  54. package/sdk/dist/routes/sauce-route.js.map +1 -1
  55. package/sdk/dist/routes/source-globals.generated.d.ts +7 -3
  56. package/sdk/dist/routes/source-globals.generated.d.ts.map +1 -1
  57. package/sdk/dist/routes/token-registry.d.ts.map +1 -1
  58. package/sdk/dist/routes/token-registry.js +6 -1
  59. package/sdk/dist/routes/token-registry.js.map +1 -1
  60. package/sdk/dist/routes/token-rewrite.d.ts +63 -28
  61. package/sdk/dist/routes/token-rewrite.d.ts.map +1 -1
  62. package/sdk/dist/routes/token-rewrite.js +390 -122
  63. package/sdk/dist/routes/token-rewrite.js.map +1 -1
  64. package/sdk/dist/token/api.d.ts +7 -4
  65. package/sdk/dist/token/api.d.ts.map +1 -1
  66. package/sdk/dist/token/api.js.map +1 -1
  67. package/sdk/dist/token/evm.js +2 -2
  68. package/sdk/dist/token/index.d.ts +3 -3
  69. package/sdk/dist/token/index.js +3 -3
  70. package/sdk/src/protocols/cbeth/functions.ts +4 -6
  71. package/sdk/src/protocols/crvusd/functions.ts +6 -6
  72. package/sdk/src/protocols/erc20/functions.ts +6 -9
  73. package/sdk/src/protocols/frax/functions.ts +6 -6
  74. package/sdk/src/protocols/gho/functions.ts +4 -6
  75. package/sdk/src/protocols/liquity-v2/functions.ts +4 -6
  76. package/sdk/src/skills/cbeth.md +4 -6
  77. package/sdk/src/skills/crvusd.md +6 -6
  78. package/sdk/src/skills/erc20.md +8 -10
  79. package/sdk/src/skills/frax.md +6 -6
  80. package/sdk/src/skills/gho.md +4 -6
  81. package/sdk/src/skills/liquity-v2.md +4 -6
@@ -1 +1 @@
1
- {"version":3,"file":"token-registry.js","sourceRoot":"","sources":["../../src/routes/token-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"token-registry.js","sourceRoot":"","sources":["../../src/routes/token-registry.ts"],"names":[],"mappings":"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"}
@@ -1,50 +1,85 @@
1
+ /**
2
+ * The ERC-20 writes the token syntax offers: each lowers to the `@sauce/token` function of the same
3
+ * name, imported under `local`, with the token as its first argument ahead of `params`.
4
+ */
5
+ export declare const SAFE_WRITES: {
6
+ readonly transfer: {
7
+ readonly local: "__sauce_transfer";
8
+ readonly params: readonly ["to", "amount"];
9
+ };
10
+ readonly approve: {
11
+ readonly local: "__sauce_approve";
12
+ readonly params: readonly ["spender", "amount"];
13
+ };
14
+ readonly transferFrom: {
15
+ readonly local: "__sauce_transferFrom";
16
+ readonly params: readonly ["from", "to", "amount"];
17
+ };
18
+ };
19
+ export type SafeWrite = keyof typeof SAFE_WRITES;
20
+ /** Every method the SYMBOL syntax lowers: the writes, plus the one read it has always offered. */
1
21
  export declare const REWRITABLE_METHODS: ReadonlySet<string>;
2
- /** Either the full registry-resolved `symbol -> address` map (enables BOTH rewrites), or a bare set
3
- * of symbols with no addresses (U4 only -- the sugar has no address to inline, so it yields no
4
- * sites; documented, not a silent surprise -- see the module doc). */
22
+ /** What a rewritten source now needs imported. */
23
+ export interface TokenImports {
24
+ /** The `@sauce/token` writes it calls, under their `SAFE_WRITES` names. */
25
+ readonly writes: ReadonlySet<SafeWrite>;
26
+ /** Whether it names the typed `IERC20` binding, which the reads keep. */
27
+ readonly erc20: boolean;
28
+ }
29
+ /**
30
+ * The import lines a rewritten source needs, for the caller to prepend. The order is fixed, so a
31
+ * given program always gets the same text and so the same bytecode.
32
+ */
33
+ export declare function tokenImportLines({ writes, erc20 }: TokenImports): readonly string[];
34
+ /** Either the full registry-resolved `symbol -> address` map (enables every rewrite), or a bare set
35
+ * of symbols with no addresses (the call-position rewrites only -- the sugar has no address to
36
+ * inline, so it yields no sites). */
5
37
  export type TokenSymbols = ReadonlyMap<string, bigint> | ReadonlySet<string>;
6
- export interface TokenRewriteResult {
38
+ export interface TokenRewriteResult extends TokenImports {
7
39
  readonly source: string;
8
- /** True if at least one site (U4 or sugar) was rewritten -- tells the caller whether to prepend
9
- * the ERC20 import line. */
40
+ /** True if at least one site was rewritten -- tells the caller to prepend `tokenImportLines`. */
10
41
  readonly rewrote: boolean;
11
- /** Count of U4 (`<Sym>.transfer/.approve/.balanceOf(...)`) call sites rewritten. */
42
+ /** Count of `<Sym>.<method>(...)` call sites rewritten. */
12
43
  readonly memberSites: number;
13
44
  /** Count of `<holder>.<Sym>` balance-sugar sites rewritten. */
14
45
  readonly balanceSites: number;
15
46
  }
16
47
  /** The DSL's global token WRAPPER name. */
17
48
  export declare const TOKEN_FACTORY_NAME = "Token";
18
- export interface TokenFactoryResult {
49
+ export interface TokenFactoryResult extends TokenImports {
19
50
  readonly source: string;
20
51
  readonly rewrote: boolean;
21
- /** Count of `Token(...)` call sites rewritten. */
52
+ /** Count of `Token(...)` calls rewritten. */
22
53
  readonly sites: number;
23
54
  }
24
55
  /**
25
- * Rewrites every `Token(<expr>)` call to `IERC20.at(<expr>)` — the DSL's global token WRAPPER, the
26
- * `Token(addr)` sibling of the `<Sym>.transfer(...)` sugar above. This is what makes
27
- * `Token(addr).approve(spender, amt)` and `let t = Token(addr); t.approve(...)` compile in a route
28
- * body with no import: only the callee `Token` is replaced, so the result is the ordinary
29
- * `IERC20.at(addr)` binding the compiler already supports — it never sees a method call on a
30
- * `Token(...)` result (which the compiler's M1 subset rejects). Fires on ANY argument (a literal, a
31
- * variable, an ambient `USDC` define), so — unlike the symbol sugar — it does NOT depend on the
32
- * token-symbol map, and works on every EVM chain including registry-less ones.
56
+ * Lowers every `Token(<expr>)` — the DSL's global token WRAPPER, the any-address sibling of the
57
+ * symbol syntax above. It fires on ANY argument (a literal, a variable, an ambient `USDC` define),
58
+ * so it does not depend on the token-symbol map and works on every EVM chain.
59
+ *
60
+ * Two positions are lowered, and the compiler never sees a method call on a `Token(...)` result
61
+ * (which its M1 subset rejects):
62
+ *
63
+ * - `Token(a).<write>(x, y)` -> `<local>(a, x, y)`, the `@sauce/token` write; `Token(a).<read>(x)`
64
+ * -> `IERC20.at(a).<read>(x)`.
65
+ * - `const t = Token(a)` -> `const t = a`, with each `t.<method>(...)` lowered the same way, by
66
+ * name. The binding now holds the ADDRESS, evaluated once where it was, so a later change to
67
+ * whatever `a` read cannot reach the calls. See `bindingCalls` for when a binding qualifies.
68
+ *
69
+ * Any other `Token(...)` — an argument, a return value, a reassigned or passed-around binding — is
70
+ * refused rather than left as the typed binding, which would be the unchecked write again.
33
71
  *
34
- * Shadow-safe: a user who declares their own `Token` anywhere in the program owns the name, and
35
- * EVERY `Token(...)` call is then left untouched — the same conservative whole-program rule the
36
- * symbol rewrite applies. `collectDeclaredNames` decides that, and it covers every binding form,
37
- * `import { Token }` and `class Token` included: an imported `Token` is the user's own by any
38
- * reading, and rewriting past it would silently redirect their call to an ERC20 they never named.
39
- * Purely textual, acorn-range-driven, like the rest of this module.
72
+ * Shadow-safe: a user who binds `Token` anywhere in the program owns the name, and EVERY
73
+ * `Token(...)` is then left untouched — the same whole-program rule the symbol rewrite applies,
74
+ * covering every binding form, `import { Token }` and `class Token` included.
40
75
  */
41
76
  export declare function rewriteTokenFactory(source: string): TokenFactoryResult;
42
77
  /**
43
- * Rewrites every `<Sym>.transfer/.approve/.balanceOf(...)` call (U4) and every `<holder>.<Sym>`
44
- * value-position read (balance sugar) whose `<Sym>` is in `tokens` (and not shadowed anywhere in
45
- * `source`) — see the module doc for the full disjointness argument. Purely textual surgery over
46
- * the ORIGINAL source, driven by acorn ranges — never a re-print of the AST, so everything else
47
- * (formatting, comments, unrelated code) survives byte-for-byte.
78
+ * Rewrites every `<Sym>.<method>(...)` call and every `<holder>.<Sym>` value-position read whose
79
+ * `<Sym>` is in `tokens` (and not shadowed anywhere in `source`) — see the module doc for the
80
+ * lowering and the disjointness argument. Purely textual surgery over the ORIGINAL source, driven by
81
+ * acorn ranges — never a re-print of the AST, so everything else (formatting, comments, unrelated
82
+ * code) survives byte-for-byte. Prepend `tokenImportLines(result)` before compiling the result.
48
83
  */
49
84
  export declare function rewriteTokenMembers(source: string, tokens: TokenSymbols): TokenRewriteResult;
50
85
  //# sourceMappingURL=token-rewrite.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"token-rewrite.d.ts","sourceRoot":"","sources":["../../src/routes/token-rewrite.ts"],"names":[],"mappings":"AAyCA,eAAO,MAAM,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAIjD,CAAC;AAEH;;uEAEuE;AACvE,MAAM,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;AAE7E,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;iCAC6B;IAC7B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,oFAAoF;IACpF,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,+DAA+D;IAC/D,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAwID,2CAA2C;AAC3C,eAAO,MAAM,kBAAkB,UAAU,CAAC;AAE1C,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,kDAAkD;IAClD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,kBAAkB,CAmCtE;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,kBAAkB,CAmC5F"}
1
+ {"version":3,"file":"token-rewrite.d.ts","sourceRoot":"","sources":["../../src/routes/token-rewrite.ts"],"names":[],"mappings":"AAyDA;;;GAGG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;CAIyD,CAAC;AAElF,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,WAAW,CAAC;AAEjD,kGAAkG;AAClG,eAAO,MAAM,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAKjD,CAAC;AAOH,kDAAkD;AAClD,MAAM,WAAW,YAAY;IAC3B,2EAA2E;IAC3E,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACxC,yEAAyE;IACzE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,YAAY,GAAG,SAAS,MAAM,EAAE,CAUnF;AAED;;sCAEsC;AACtC,MAAM,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;AAE7E,MAAM,WAAW,kBAAmB,SAAQ,YAAY;IACtD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,iGAAiG;IACjG,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,2DAA2D;IAC3D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,+DAA+D;IAC/D,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAiQD,2CAA2C;AAC3C,eAAO,MAAM,kBAAkB,UAAU,CAAC;AAE1C,MAAM,WAAW,kBAAmB,SAAQ,YAAY;IACtD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,6CAA6C;IAC7C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AA2FD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,kBAAkB,CA0GtE;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,kBAAkB,CAgC5F"}