@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.
- package/docs/concepts/architecture.md +4 -2
- package/docs/concepts/saucescript.md +19 -2
- package/docs/guides/builders-and-actions.md +4 -1
- package/docs/guides/compiling.md +5 -3
- package/docs/guides/intents.md +32 -2
- package/docs/guides/protocols-and-tokens.md +21 -1
- package/package.json +1 -1
- package/sdk/dist/embedded/skills.generated.js +6 -6
- package/sdk/dist/embedded/skills.generated.js.map +1 -1
- package/sdk/dist/embedded/sources.generated.js +2 -2
- package/sdk/dist/embedded/sources.generated.js.map +1 -1
- package/sdk/dist/plugin/index.d.ts +3 -2
- package/sdk/dist/plugin/index.d.ts.map +1 -1
- package/sdk/dist/plugin/index.js.map +1 -1
- package/sdk/dist/protocols/cbeth/functions.d.ts +2 -2
- package/sdk/dist/protocols/cbeth/functions.d.ts.map +1 -1
- package/sdk/dist/protocols/cbeth/functions.js +4 -6
- package/sdk/dist/protocols/cbeth/functions.js.map +1 -1
- package/sdk/dist/protocols/crvusd/functions.d.ts +2 -2
- package/sdk/dist/protocols/crvusd/functions.d.ts.map +1 -1
- package/sdk/dist/protocols/crvusd/functions.js +6 -6
- package/sdk/dist/protocols/erc20/functions.d.ts +3 -3
- package/sdk/dist/protocols/erc20/functions.d.ts.map +1 -1
- package/sdk/dist/protocols/erc20/functions.js +6 -9
- package/sdk/dist/protocols/erc20/functions.js.map +1 -1
- package/sdk/dist/protocols/frax/functions.d.ts +2 -2
- package/sdk/dist/protocols/frax/functions.d.ts.map +1 -1
- package/sdk/dist/protocols/frax/functions.js +6 -6
- package/sdk/dist/protocols/gho/functions.d.ts +2 -2
- package/sdk/dist/protocols/gho/functions.d.ts.map +1 -1
- package/sdk/dist/protocols/gho/functions.js +4 -6
- package/sdk/dist/protocols/gho/functions.js.map +1 -1
- package/sdk/dist/protocols/liquity-v2/functions.d.ts +2 -2
- package/sdk/dist/protocols/liquity-v2/functions.d.ts.map +1 -1
- package/sdk/dist/protocols/liquity-v2/functions.js +4 -6
- package/sdk/dist/protocols/liquity-v2/functions.js.map +1 -1
- package/sdk/dist/recipes/cctp-split.sauce.ts +3 -1
- package/sdk/dist/recipes/plain-transfer.sauce.ts +3 -0
- package/sdk/dist/routes/ast-walk.d.ts +4 -0
- package/sdk/dist/routes/ast-walk.d.ts.map +1 -1
- package/sdk/dist/routes/ast-walk.js +9 -2
- package/sdk/dist/routes/ast-walk.js.map +1 -1
- package/sdk/dist/routes/chain-exports.generated.d.ts.map +1 -1
- package/sdk/dist/routes/chain-exports.generated.js.map +1 -1
- package/sdk/dist/routes/index.d.ts +2 -2
- package/sdk/dist/routes/index.d.ts.map +1 -1
- package/sdk/dist/routes/index.js +1 -1
- package/sdk/dist/routes/index.js.map +1 -1
- package/sdk/dist/routes/intent-sugar.d.ts.map +1 -1
- package/sdk/dist/routes/intent-sugar.js +40 -23
- package/sdk/dist/routes/intent-sugar.js.map +1 -1
- package/sdk/dist/routes/sauce-route.d.ts.map +1 -1
- package/sdk/dist/routes/sauce-route.js +26 -23
- package/sdk/dist/routes/sauce-route.js.map +1 -1
- package/sdk/dist/routes/source-globals.generated.d.ts +7 -3
- package/sdk/dist/routes/source-globals.generated.d.ts.map +1 -1
- package/sdk/dist/routes/token-registry.d.ts.map +1 -1
- package/sdk/dist/routes/token-registry.js +6 -1
- package/sdk/dist/routes/token-registry.js.map +1 -1
- package/sdk/dist/routes/token-rewrite.d.ts +63 -28
- package/sdk/dist/routes/token-rewrite.d.ts.map +1 -1
- package/sdk/dist/routes/token-rewrite.js +390 -122
- package/sdk/dist/routes/token-rewrite.js.map +1 -1
- package/sdk/dist/token/api.d.ts +7 -4
- package/sdk/dist/token/api.d.ts.map +1 -1
- package/sdk/dist/token/api.js.map +1 -1
- package/sdk/dist/token/evm.js +2 -2
- package/sdk/dist/token/index.d.ts +3 -3
- package/sdk/dist/token/index.js +3 -3
- package/sdk/src/protocols/cbeth/functions.ts +4 -6
- package/sdk/src/protocols/crvusd/functions.ts +6 -6
- package/sdk/src/protocols/erc20/functions.ts +6 -9
- package/sdk/src/protocols/frax/functions.ts +6 -6
- package/sdk/src/protocols/gho/functions.ts +4 -6
- package/sdk/src/protocols/liquity-v2/functions.ts +4 -6
- package/sdk/src/skills/cbeth.md +4 -6
- package/sdk/src/skills/crvusd.md +6 -6
- package/sdk/src/skills/erc20.md +8 -10
- package/sdk/src/skills/frax.md +6 -6
- package/sdk/src/skills/gho.md +4 -6
- 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":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAG7C,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAGnD,+FAA+F;AAC/F,8FAA8F;AAC9F,6FAA6F;AAC7F,+FAA+F;AAC/F,kGAAkG;AAClG,kGAAkG;AAClG,4FAA4F;AAC5F,kGAAkG;AAClG,oGAAoG;AACpG,gFAAgF;AAChF,MAAM,kBAAkB,GAAwB,IAAI,GAAG,CAAC,
|
|
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
|
-
/**
|
|
3
|
-
|
|
4
|
-
|
|
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
|
|
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
|
|
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(...)`
|
|
52
|
+
/** Count of `Token(...)` calls rewritten. */
|
|
22
53
|
readonly sites: number;
|
|
23
54
|
}
|
|
24
55
|
/**
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
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
|
|
35
|
-
*
|
|
36
|
-
*
|
|
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
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
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":"
|
|
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"}
|