@eco-incorp/sauce 0.99.7 → 0.99.8

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 (55) hide show
  1. package/actions/dist/names.d.ts.map +1 -1
  2. package/actions/dist/names.js +16 -6
  3. package/docs/api/coverage.md +30 -14
  4. package/docs/guides/cli.md +10 -6
  5. package/docs/guides/mcp.md +3 -2
  6. package/docs/guides/protocols-and-tokens.md +4 -4
  7. package/docs/guides/solana.md +2 -2
  8. package/mcp/dist/tools.js +6 -4
  9. package/mcp/dist/tools.js.map +1 -1
  10. package/package.json +1 -1
  11. package/sdk/dist/cli/chain.d.ts +4 -1
  12. package/sdk/dist/cli/chain.d.ts.map +1 -1
  13. package/sdk/dist/cli/chain.js +7 -2
  14. package/sdk/dist/cli/chain.js.map +1 -1
  15. package/sdk/dist/cli/diagnostics.d.ts.map +1 -1
  16. package/sdk/dist/cli/diagnostics.js +26 -1
  17. package/sdk/dist/cli/diagnostics.js.map +1 -1
  18. package/sdk/dist/cli/globals.d.ts.map +1 -1
  19. package/sdk/dist/cli/globals.js +30 -8
  20. package/sdk/dist/cli/globals.js.map +1 -1
  21. package/sdk/dist/cli/run.d.ts.map +1 -1
  22. package/sdk/dist/cli/run.js +4 -3
  23. package/sdk/dist/cli/run.js.map +1 -1
  24. package/sdk/dist/cli/solana.d.ts +3 -2
  25. package/sdk/dist/cli/solana.d.ts.map +1 -1
  26. package/sdk/dist/cli/solana.js +19 -9
  27. package/sdk/dist/cli/solana.js.map +1 -1
  28. package/sdk/dist/routes/chain-exports.generated.d.ts +1 -1
  29. package/sdk/dist/routes/chain-exports.generated.d.ts.map +1 -1
  30. package/sdk/dist/routes/chain-exports.generated.js.map +1 -1
  31. package/sdk/dist/routes/source-globals.d.ts.map +1 -1
  32. package/sdk/dist/routes/source-globals.generated.d.ts +78 -0
  33. package/sdk/dist/routes/source-globals.generated.d.ts.map +1 -1
  34. package/sdk/dist/routes/source-globals.js +2 -1
  35. package/sdk/dist/routes/source-globals.js.map +1 -1
  36. package/sdk/dist/routes/stock-tokens.d.ts +41 -21
  37. package/sdk/dist/routes/stock-tokens.d.ts.map +1 -1
  38. package/sdk/dist/routes/stock-tokens.generated.d.ts +3 -0
  39. package/sdk/dist/routes/stock-tokens.generated.d.ts.map +1 -1
  40. package/sdk/dist/routes/stock-tokens.generated.js +1828 -0
  41. package/sdk/dist/routes/stock-tokens.generated.js.map +1 -1
  42. package/sdk/dist/routes/stock-tokens.js +42 -18
  43. package/sdk/dist/routes/stock-tokens.js.map +1 -1
  44. package/sdk/dist/routes/token-registry.d.ts +5 -1
  45. package/sdk/dist/routes/token-registry.d.ts.map +1 -1
  46. package/sdk/dist/routes/token-registry.js +29 -13
  47. package/sdk/dist/routes/token-registry.js.map +1 -1
  48. package/skills/sauce-chains/references/index.md +1 -1
  49. package/skills/sauce-chains/references/solana-stocks.md +1812 -0
  50. package/skills/sauce-chains/references/solana.md +3 -0
  51. package/skills/sauce-globals/SKILL.md +44 -6
  52. package/skills/sauce-globals/references/stocks.md +1812 -1
  53. package/skills/sauce-globals/references/tokens.md +1 -1
  54. package/skills/sauce-solana/SKILL.md +3 -1
  55. package/skills/sauce-swaps/SKILL.md +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"names.d.ts","sourceRoot":"","sources":["../src/names.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAoB,KAAK,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAM3F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC,qFAAqF;AACrF,eAAO,MAAM,eAAe,QAA0B,CAAC;AAEvD;;;;;GAKG;AACH,eAAO,MAAM,eAAe,QAAiD,CAAC;AAS9E,8FAA8F;AAC9F,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED,+FAA+F;AAC/F,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAQlE;AAED,sFAAsF;AACtF,eAAO,MAAM,gBAAgB,QAA8C,CAAC;AAE5E,2FAA2F;AAC3F,eAAO,MAAM,MAAM,WAAW,CAAC;AAE/B,eAAO,MAAM,YAAY,+CAA+C,CAAC;AAEzE,KAAK,OAAO,GAAG,KAAK,MAAM,EAAE,CAAC;AAE7B,gGAAgG;AAChG,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED,kDAAkD;AAClD,UAAU,aAAa;IACrB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,wEAAwE;IACxE,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC1C;AAED,sDAAsD;AACtD,UAAU,UAAU;IAClB,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C,+EAA+E;IAC/E,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACrC,4CAA4C;IAC5C,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACvD,gDAAgD;IAChD,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC;CAC7D;AAID,sFAAsF;AACtF,wBAAgB,UAAU,CAAC,KAAK,EAAE,cAAc,GAAG,UAAU,CA6B5D;AAmBD,iCAAiC;AACjC,wBAAgB,UAAU,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,CAExD;AAkJD;;;GAGG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,MAAM,GACb;IAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAqBnE;AA0BD;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,KAAK,EAAE,cAAc,EACrB,IAAI,SAAY,GACf;IAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,CAAA;CAAE,CAclE;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,KAAK,EAAE,cAAc,EACrB,IAAI,SAAY,GACf,YAAY,EAAE,CAiBhB;AAED,uFAAuF;AACvF,wBAAgB,SAAS,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAoB7D"}
1
+ {"version":3,"file":"names.d.ts","sourceRoot":"","sources":["../src/names.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAoB,KAAK,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAM3F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC,qFAAqF;AACrF,eAAO,MAAM,eAAe,QAA0B,CAAC;AAEvD;;;;;GAKG;AACH,eAAO,MAAM,eAAe,QAAiD,CAAC;AAgB9E,8FAA8F;AAC9F,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED,+FAA+F;AAC/F,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAQlE;AAED,sFAAsF;AACtF,eAAO,MAAM,gBAAgB,QAA8C,CAAC;AAE5E,2FAA2F;AAC3F,eAAO,MAAM,MAAM,WAAW,CAAC;AAE/B,eAAO,MAAM,YAAY,+CAA+C,CAAC;AAEzE,KAAK,OAAO,GAAG,KAAK,MAAM,EAAE,CAAC;AAE7B,gGAAgG;AAChG,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED,kDAAkD;AAClD,UAAU,aAAa;IACrB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,wEAAwE;IACxE,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC1C;AAED,sDAAsD;AACtD,UAAU,UAAU;IAClB,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C,+EAA+E;IAC/E,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACrC,4CAA4C;IAC5C,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACvD,gDAAgD;IAChD,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC;CAC7D;AAID,sFAAsF;AACtF,wBAAgB,UAAU,CAAC,KAAK,EAAE,cAAc,GAAG,UAAU,CA6B5D;AAmBD,iCAAiC;AACjC,wBAAgB,UAAU,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,CAExD;AAwJD;;;GAGG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,MAAM,GACb;IAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAqBnE;AA0BD;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,KAAK,EAAE,cAAc,EACrB,IAAI,SAAY,GACf;IAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,CAAA;CAAE,CAclE;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,KAAK,EAAE,cAAc,EACrB,IAAI,SAAY,GACf,YAAY,EAAE,CAiBhB;AAED,uFAAuF;AACvF,wBAAgB,SAAS,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAoB7D"}
@@ -15,7 +15,7 @@
15
15
  */
16
16
  import { CANONICAL_CHAINS } from "../../sdk/dist/chains/canonical.js";
17
17
  import { getChain, nativeErc20 } from "../../sdk/dist/chains/index.js";
18
- import { sourceGlobals, TOKEN_REGISTRY } from "../../sdk/dist/routes/index.js";
18
+ import { sourceGlobals, SVM_TOKEN_REGISTRY, TOKEN_REGISTRY } from "../../sdk/dist/routes/index.js";
19
19
  import { NAMESPACE_KEYS } from "../../sdk/dist/routes/accessor-index.js";
20
20
  import { ACTION_SPECS } from "./spec.js";
21
21
  /** A registry token symbol: the registry's own ticker rule (`token-registry.ts`). */
@@ -28,7 +28,11 @@ export const TOKEN_SYMBOL_RE = /^[A-Z][A-Z0-9]{1,10}$/;
28
28
  */
29
29
  export const STOCK_SYMBOL_RE = /^(?=[^A-Z]*[A-Z])[A-Za-z][A-Za-z0-9_]{1,15}$/;
30
30
  /** Every tokenized stock's symbol the registry has, on any chain: which chain is the compile's. */
31
- const STOCK_SYMBOLS = new Set(Object.values(TOKEN_REGISTRY).flatMap((rows) => rows.filter((row) => row.stock !== undefined).map((row) => row.symbol)));
31
+ const STOCK_SYMBOLS = new Set([...Object.values(TOKEN_REGISTRY), SVM_TOKEN_REGISTRY["mainnet-beta"]].flatMap((rows) => rows.filter((row) => row.stock !== undefined).map((row) => row.symbol)));
32
+ /** Solana's stock symbols: a document cannot use one, since action programs run on EVM chains. */
33
+ const SOLANA_STOCK_SYMBOLS = new Set(SVM_TOKEN_REGISTRY["mainnet-beta"]
34
+ .filter((row) => row.stock !== undefined)
35
+ .map((row) => row.symbol));
32
36
  /** True for a token symbol: the uppercase ticker shape, or a tokenized stock's own symbol. */
33
37
  export function isTokenSymbol(value) {
34
38
  return TOKEN_SYMBOL_RE.test(value) || STOCK_SYMBOLS.has(value);
@@ -36,7 +40,7 @@ export function isTokenSymbol(value) {
36
40
  /** The registry's spelling of `value` written in another case (`spcxc` is `SPCXc`), if any. */
37
41
  export function registrySpelling(value) {
38
42
  const wanted = value.toUpperCase();
39
- for (const rows of Object.values(TOKEN_REGISTRY)) {
43
+ for (const rows of [...Object.values(TOKEN_REGISTRY), SVM_TOKEN_REGISTRY["mainnet-beta"]]) {
40
44
  const row = rows.find((candidate) => candidate.symbol.toUpperCase() === wanted);
41
45
  if (row !== undefined)
42
46
  return row.symbol;
@@ -136,12 +140,18 @@ function missingToken(symbol, names) {
136
140
  const listed = names.tokens.size === 0
137
141
  ? "which registers no token symbols"
138
142
  : `whose tokens are ${list(known)}${stocks}`;
139
- // A stock token is on one chain or two: say which, for a document compiled for another.
140
- const on = CANONICAL_CHAINS.filter((chain) => chain.kind === "evm" && STOCK_SYMBOLS.has(symbol) && chainNames(chain).tokens.has(symbol));
143
+ // A stock token is on a chain or a few: say which, for a document compiled for another. Solana's
144
+ // are named too, though no action program runs there.
145
+ const on = [
146
+ ...CANONICAL_CHAINS
147
+ .filter((chain) => chain.kind === "evm" && STOCK_SYMBOLS.has(symbol) && chainNames(chain).tokens.has(symbol))
148
+ .map((chain) => chain.name),
149
+ ...(SOLANA_STOCK_SYMBOLS.has(symbol) ? ["Solana, where action programs do not run"] : []),
150
+ ];
141
151
  const hint = symbol === "ETH"
142
152
  ? '; the native currency is "native" where an action trades it, and wrapped ETH is "WETH"'
143
153
  : on.length > 0
144
- ? `; ${symbol} is a token on ${on.map((chain) => chain.name).join(" and ")}`
154
+ ? `; ${symbol} is a token on ${on.join(" and ")}`
145
155
  : "";
146
156
  return (`no token "${symbol}" on ${onChain(names.chain)}, ${listed}${hint} — give its address there ` +
147
157
  "instead");
@@ -10,6 +10,7 @@ Each of the three can be true without the others.
10
10
  | Contract descriptors | 316 descriptors across 135 protocol namespaces | `contracts.listDescriptors()`, `contracts.listContracts(slug)` |
11
11
  | Compiled-source protocol globals | The same 135 protocol namespaces, plus 13 family aliases | TypeScript completion after importing `@eco-incorp/sauce`; names below |
12
12
  | Token symbols | 1796 symbols distributed across 7 EVM chains, 1789 of them tokenized stocks | `routes.TOKEN_REGISTRY`, `routes.knownTokenSymbols(chain)` |
13
+ | Solana mints | 1803 mints on mainnet-beta, 1799 of them tokenized stocks | `routes.SVM_TOKEN_REGISTRY`, `routes.knownTokenSymbols(chain)` |
13
14
  | Canonical chain identities | 41 chains: 40 EVM and Solana | `CANONICAL_CHAINS`, `requireChain(ref)` |
14
15
  | EVM chain metadata | 34 records with native-currency and explorer information | `chains`, `getChain(id)`, `getAllChainIds()` |
15
16
 
@@ -71,20 +72,26 @@ a wrapped native. See [Arc: USDC is the native coin](#arc-usdc-is-the-native-coi
71
72
 
72
73
  ### Tokenized stocks
73
74
 
74
- Ethereum and Base also register tokenized stocks, which a program names by symbol like any other
75
- token (`SPCXc.balanceOf(ctx.self())` on Base). Each list is copied from its issuer's own published
76
- list and every row is checked on chain; a stock row carries `stock`, its issuer, name and ticker:
77
-
78
- | Chain | ID | Issuer | Tokens | For example |
79
- | -------- | ---- | --------------------------------- | ------ | --------------------------- |
80
- | Ethereum | 1 | Backed (xStocks, and its bTokens) | 1280 | `TSLAx`, `SPCXx`, `bTSLA` |
81
- | Ethereum | 1 | Ondo Global Markets | 450 | `TSLAon`, `SPCXon`, `SPYon` |
82
- | Ethereum | 1 | Mt Pelerin (its own shares) | 1 | `MPS` |
83
- | Base | 8453 | Coinbase | 58 | `TSLAc`, `SPCXc`, `NVDAc` |
84
- | Base | 8453 | Backed (its bTokens) | 9 | `bTSLA`, `bNVDA`, `bCOIN` |
75
+ Ethereum, Base and Solana also register tokenized stocks, which a program names by symbol like any
76
+ other token (`SPCXc.balanceOf(ctx.self())` on Base, `balanceOf(TSLAx, account)` on Solana). Each list
77
+ is copied from its issuer's own published list and every row is checked on chain; a stock row
78
+ carries `stock`, its issuer, name and ticker:
79
+
80
+ | Chain | ID | Issuer | Tokens | For example |
81
+ | -------- | ---------- | --------------------------------- | ------ | ------------------------------- |
82
+ | Ethereum | 1 | Backed (xStocks, and its bTokens) | 1280 | `TSLAx`, `SPCXx`, `bTSLA` |
83
+ | Ethereum | 1 | Ondo Global Markets | 450 | `TSLAon`, `SPCXon`, `SPYon` |
84
+ | Ethereum | 1 | Mt Pelerin (its own shares) | 1 | `MPS` |
85
+ | Base | 8453 | Coinbase | 58 | `TSLAc`, `SPCXc`, `NVDAc` |
86
+ | Base | 8453 | Backed (its bTokens) | 9 | `bTSLA`, `bNVDA`, `bCOIN` |
87
+ | Solana | 1399811149 | Backed (xStocks) | 1271 | `TSLAx`, `SPCXx`, `BRK_Bx` |
88
+ | Solana | 1399811149 | Ondo Global Markets | 450 | `TSLAon`, `SPCXon`, `SPYon` |
89
+ | Solana | 1399811149 | Backpack Securities | 69 | `NVDA_US`, `SPCX_US`, `MSTR_US` |
90
+ | Solana | 1399811149 | PreStocks (private companies) | 9 | `SPACEX`, `OPENAI`, `ANTHROPIC` |
85
91
 
86
92
  A stock's symbol is its issuer's ticker for the token, which is not always uppercase, with a `.`
87
- written `_` (`BRK.Bx` is `BRK_Bx`). In a program and an actions document it is case-sensitive; the
93
+ written `_` (`BRK.Bx` is `BRK_Bx`, Backpack's `NVDA.US` is `NVDA_US`); PreStocks' is the company's
94
+ name (`SPACEX`). In a program and an actions document it is case-sensitive; the
88
95
  command line matches it without regard to case. `sauce globals --chain <chain>` counts a chain's
89
96
  stock tokens, `--stocks` lists them and `--search <text>` finds one by symbol, company name or
90
97
  ticker (`sauce_globals` takes `stocks` and `search` too, a page of 200 tokens at a time).
@@ -96,8 +103,17 @@ than sent, so paying one into a pool that checks what it received can fail. Ondo
96
103
  balance while dividends raise the shares each token stands for. Coinbase's are B20 tokens built into
97
104
  the Base node, so they run on Base but not in a local EVM such as anvil: `sauce simulate` against
98
105
  Base rehearses them, and `--assume-balance` cannot give one, since no state override reaches a B20
99
- balance. Solana's tokenized stocks are Token-2022 mints, which the SVM token functions do not take,
100
- so none is registered.
106
+ balance.
107
+
108
+ On Solana each is a Token-2022 mint, registered with `tokenProgram` set to Token-2022: the symbol is
109
+ the mint's 32-byte key, and a program moves one with `@sauce/token`'s checked writes
110
+ (`transferChecked`, `approveChecked`). Every row is checked on chain: owned by Token-2022,
111
+ initialized, with its decimals and its issuer's symbol in its own metadata, and no transfer hook that
112
+ names a program, which the token functions refuse. Amounts are raw; the issuer's multiplier (the
113
+ scaled UI amount) is for display and moves for corporate actions. PreStocks' mints charge a transfer
114
+ fee, so the recipient gets less than was sent: a program measures the balance change. Backpack lists
115
+ mints it has not opened yet, which are left out, as are Superstate's, which only an allowlisted
116
+ holder can hold.
101
117
 
102
118
  A missing symbol means the registry has no verified row under that name. Token variants can have
103
119
  different symbols and addresses. `IntentOptions.tokenDefines` or `SauceCompileOptions.tokens`
@@ -1026,14 +1026,16 @@ Erc4626` lists their methods. `--json` prints the same for a program to read (`i
1026
1026
  lists contracts through the protocol rewrite's own resolver, so a name it lists is one the compile
1027
1027
  accepts, at the address the program gets.
1028
1028
 
1029
- A chain's tokenized stocks (Ethereum has over a thousand) are counted rather than listed unless you
1030
- ask: `--stocks` lists them, each with its name, the underlying's ticker and its issuer, and
1029
+ A chain's tokenized stocks (Ethereum and Solana have over a thousand each) are counted rather than
1030
+ listed unless you ask: `--stocks` lists them, each with its name, the underlying's ticker and its issuer, and
1031
1031
  `--search <text>` lists the tokens, stocks included, whose symbol, name, ticker or issuer contains
1032
1032
  the text, without regard to case. A search also finds a stock by the name another issuer gives it:
1033
1033
  `--search spacex` finds Coinbase's `SPCXc`, whose own name is "Space Exploration Technologies
1034
1034
  Corp.". In `--json`, a stock token carries `stock` with its issuer, name, ticker and the issuer's
1035
1035
  list it was copied from. Symbols are matched without regard to case on the command line too
1036
- (`--fund spcxc:1`, `sauce price spcxc USDC 150`); in a program they are case-sensitive.
1036
+ (`--fund spcxc:1`, `sauce price spcxc USDC 150`, `--account source=pot:tslax` on Solana); in a
1037
+ program they are case-sensitive. On Solana each stock is a Token-2022 mint, listed with its mint
1038
+ and the 32-byte key a program holds; `--stocks` leaves out devnet's mints, which have none.
1037
1039
 
1038
1040
  ### `sauce price`
1039
1041
 
@@ -1180,7 +1182,8 @@ under the token program that owns the mint — `pot:<mint>` the same for any min
1180
1182
  the owner's (a direct cook, `--via engine`, has no Pot, so no `pot:` account); `mint:USDC` is the
1181
1183
  mint and `program:USDC` its token program, SPL Token or Token-2022, the accounts
1182
1184
  `transferChecked` takes. A registered symbol's program is the registry's; any other mint's is read
1183
- from the cluster. A slot with no `--account` is named with the role it needs, and `simulate` notes each
1185
+ from the cluster. A tokenized stock is named the same way, by its symbol in any case
1186
+ (`pot:TSLAx`, `mint:NVDA_US`). A slot with no `--account` is named with the role it needs, and `simulate` notes each
1184
1187
  account it was given that the cluster does not have (a guard on it fails with no message of its
1185
1188
  own).
1186
1189
 
@@ -1207,8 +1210,9 @@ npx sauce run sweep.sauce.ts --config sauce.config.json --keypair ~/.config/sola
1207
1210
 
1208
1211
  **The Pot.** A Pot is the Kitchen's PDA over the owner and the salt. `sauce pot --chain solana
1209
1212
  --owner <pubkey>` prints it and the `create_pot` instruction; `--deploy` with `--keypair` creates
1210
- it. With an endpoint it also lists the Pot's token account for each registered mint: its address,
1211
- whether it exists and what it holds (`tokenAccounts` in its JSON). A cook names its Pot by `--owner` and `--salt`, never `--pot`, and `run` asks before creating a
1213
+ it. With an endpoint it also lists the Pot's token account for each registered mint but the
1214
+ tokenized stocks, over a thousand of them: its address, whether it exists and what it holds
1215
+ (`tokenAccounts` in its JSON). A stock's is `pot:<symbol>`. A cook names its Pot by `--owner` and `--salt`, never `--pot`, and `run` asks before creating a
1212
1216
  missing one, as on an EVM chain.
1213
1217
 
1214
1218
  **The cook.** The execution fee is read from the cluster, so there is no `--value`: every output
@@ -306,8 +306,9 @@ A token amount is whole units (`USDC:1.5`) or base units ending in `n` (`USDC:15
306
306
 
307
307
  `sauce_pot` with an endpoint reads what a cook needs: on an EVM chain the Kitchen's fee (the least
308
308
  a cook's `value` can be) and the Pot's balance of the native currency and of each token the chain
309
- registers (`null` where a token cannot be read there); on Solana the Pot's associated token account
310
- for each registered mint, whether it exists, and its balance. `balances: false` skips those reads.
309
+ registers but its tokenized stocks (`null` where a token cannot be read there); on Solana the Pot's
310
+ associated token account for each registered mint but the tokenized stocks, whether it exists, and
311
+ its balance. `balances: false` skips those reads.
311
312
 
312
313
  `sauce_price` takes the price one of three ways: `price` (a decimal), `sqrtPriceX96`, or `pool`, a
313
314
  Uniswap V3-style pool of the pair read through an endpoint (its `slot0` price, liquidity and fee).
@@ -26,11 +26,11 @@ conversions.
26
26
 
27
27
  ### Tokenized stocks
28
28
 
29
- Ethereum and Base also register tokenized stocks, named the same way: `SPCXc.balanceOf(...)` reads
30
- Coinbase's SpaceX token on Base, and `Base.SPCXc.address` is its address. Ethereum has Backed's
29
+ Ethereum, Base and Solana also register tokenized stocks, named the same way: `SPCXc.balanceOf(...)`
30
+ reads Coinbase's SpaceX token on Base, and `Base.SPCXc.address` is its address. Ethereum has Backed's
31
31
  xStocks (`TSLAx`, `SPCXx`) and bTokens (`bTSLA`), Ondo Global Markets' tokens (`TSLAon`,
32
- `SPCXon`) and Mt Pelerin's own shares (`MPS`); Base has Coinbase's (`TSLAc`, `SPCXc`) and Backed's bTokens. A symbol is the issuer's
33
- own ticker for the token, case-sensitive, with a `.` written `_` (`BRK_Bx`). Each row of
32
+ `SPCXon`) and Mt Pelerin's own shares (`MPS`); Base has Coinbase's (`TSLAc`, `SPCXc`) and Backed's bTokens; Solana has Token-2022 mints from Backed (`TSLAx`), Ondo (`TSLAon`), Backpack Securities (`NVDA_US`) and PreStocks (`SPACEX`), which a program passes to `@sauce/token`'s functions (`balanceOf(TSLAx, account)`), and `Solana.TSLAx.mint` is the mint. A symbol is the issuer's
33
+ own ticker for the token, case-sensitive, with a `.` written `_` (`BRK_Bx`, `NVDA_US`). Each row of
34
34
  `routes.TOKEN_REGISTRY` that is a stock carries `stock`: its issuer, its name and the underlying's
35
35
  ticker. `sauce globals --chain <chain> --stocks` lists a chain's, and `--search <text>` finds one
36
36
  by symbol, company name or ticker. [What is registered](../api/coverage.md#tokenized-stocks) counts
@@ -38,7 +38,7 @@ The account references are names, not addresses. `manifest.accounts` records the
38
38
 
39
39
  ## `@sauce/token` and Token-2022
40
40
 
41
- A Solana mint belongs to one of two token programs, and so does every token account of it: the SPL Token program (`TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA`) or Token-2022 (`TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb`). USDC and USDT are SPL Token mints; PYUSD (registered as `PYUSD`) and the tokenized stocks are Token-2022 mints. `@sauce/token`'s SVM arm takes both:
41
+ A Solana mint belongs to one of two token programs, and so does every token account of it: the SPL Token program (`TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA`) or Token-2022 (`TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb`). USDC and USDT are SPL Token mints; PYUSD (registered as `PYUSD`) and the tokenized stocks are Token-2022 mints. The registry names 1,799 stock mints on mainnet-beta, each by its issuer's symbol: Backed's xStocks (`TSLAx`), Ondo Global Markets' (`TSLAon`), Backpack Securities' (`NVDA_US`) and PreStocks' (`SPACEX`); [what is registered](../api/coverage.md#tokenized-stocks) counts them, and `sauce globals --chain solana --stocks` lists them. `@sauce/token`'s SVM arm takes both programs:
42
42
 
43
43
  - **Reads**, either program: `balanceOf(mint, account)`, `ownerOf(mint, account)`, `allowance(mint, account, spender)`, `totalSupply(mintAccount)`, `decimals(mintAccount)`. A Token-2022 account or mint is held to its base layout and, where it carries extensions, to its account-type byte.
44
44
  - **Checked writes**, either program: `transferChecked(mint, tokenProgram, source, mintAccount, dest, authority, amount, decimals)` and `approveChecked(mint, tokenProgram, source, mintAccount, delegate, authority, amount, decimals)`. `tokenProgram` must be one of the two and own the source, the destination and the mint; `mintAccount` must be `mint`; `decimals` must be the mint's.
@@ -76,7 +76,7 @@ export async function planTransfer(rpcUrl: string, mint: Address, pot: Address,
76
76
  }
77
77
  ```
78
78
 
79
- `svmTokenReceived` is the other direction: what a transfer of an amount delivers. Both apply the mint's transfer fee exactly as Token-2022 computes it. On the command line, `--account` names the same accounts by token: `program:PYUSD`, `mint:PYUSD`, `pot:PYUSD` ([CLI guide](cli.md#solana)).
79
+ `svmTokenReceived` is the other direction: what a transfer of an amount delivers. Both apply the mint's transfer fee exactly as Token-2022 computes it. On the command line, `--account` names the same accounts by token: `program:PYUSD`, `mint:PYUSD`, `pot:PYUSD`, and a stock's by its symbol, `pot:TSLAx` ([CLI guide](cli.md#solana)). PreStocks' mints charge a transfer fee, so a program paying one measures what arrived.
80
80
 
81
81
  ## Two ways to run a program
82
82
 
package/mcp/dist/tools.js CHANGED
@@ -642,8 +642,9 @@ export function registerTools(server, context) {
642
642
  "symbols with their addresses and decimals, protocol namespaces with each contract's " +
643
643
  "address (with `protocol`, also its methods), the chain names that open intents, the " +
644
644
  "defines, and the @sauce/token functions. With no filter, everything but the chain's " +
645
- "tokenized stocks (Ethereum has over a thousand; Base's include Coinbase's, such as " +
646
- "SPCXc for SpaceX), which a program names like any token: `stocks` lists them and " +
645
+ "tokenized stocks (Ethereum and Solana have over a thousand each; Base's include " +
646
+ "Coinbase's, such as SPCXc for SpaceX; Solana's are Token-2022 mints, such as TSLAx), " +
647
+ "which a program names like any token: `stocks` lists them and " +
647
648
  "`search` finds one by symbol, company name or ticker, each with its issuer, the " +
648
649
  "underlying's ticker and the issuer's list it was copied from. Tokens come " +
649
650
  `${TOKEN_PAGE} at a time: \`offset\` pages on. Reads nothing.`,
@@ -1139,8 +1140,9 @@ export function registerTools(server, context) {
1139
1140
  "signs. With an endpoint it also says `deployed` (null without one) — when true, do not " +
1140
1141
  "send the deployment — and reads what the cook will need: on an EVM chain the Kitchen's " +
1141
1142
  "fee (the least a cook's value can be) and the Pot's balance of the native currency and " +
1142
- "of every token the chain registers; on Solana the Pot's associated token account for " +
1143
- "each registered mint, whether it exists, and its balance. On a preview chain the Pot " +
1143
+ "of every token the chain registers but its tokenized stocks; on Solana the Pot's " +
1144
+ "associated token account for each registered mint but the tokenized stocks, whether it " +
1145
+ "exists, and its balance. On a preview chain the Pot " +
1144
1146
  "is predicted and read, and the deployment is left out: `refused` says why, and how to " +
1145
1147
  `request the chain. ${UNSIGNED} ${SUPPORTED_ONLY}`,
1146
1148
  input: {
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eco-incorp/sauce",
3
- "version": "0.99.7",
3
+ "version": "0.99.8",
4
4
  "description": "Sauce protocol tooling: the SDK, action primitives, the sauce command and the Sauce MCP server.",
5
5
  "type": "module",
6
6
  "repository": {
@@ -162,7 +162,10 @@ export interface RegisteredBalance {
162
162
  readonly decimals: number;
163
163
  readonly balance: bigint | null;
164
164
  }
165
- /** `holder`'s native balance, and its balance of every token `chain` registers by symbol. */
165
+ /**
166
+ * `holder`'s native balance, and its balance of every token `chain` registers by symbol but its
167
+ * tokenized stocks: Ethereum has over a thousand, one `balanceOf` each.
168
+ */
166
169
  export declare function registeredBalances(client: PublicClient, chain: CanonicalChain, holder: Address): Promise<{
167
170
  readonly native: bigint;
168
171
  readonly tokens: readonly RegisteredBalance[];
@@ -1 +1 @@
1
- {"version":3,"file":"chain.d.ts","sourceRoot":"","sources":["../../src/cli/chain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chain.d.ts","sourceRoot":"","sources":["../../src/cli/chain.ts"],"names":[],"mappings":"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"}
@@ -437,10 +437,15 @@ export async function sendAndWait(client, url, account, tx) {
437
437
  return { ...sent, reason: replay };
438
438
  }
439
439
  const BALANCE_OF = parseAbi(["function balanceOf(address) view returns (uint256)"]);
440
- /** `holder`'s native balance, and its balance of every token `chain` registers by symbol. */
440
+ /**
441
+ * `holder`'s native balance, and its balance of every token `chain` registers by symbol but its
442
+ * tokenized stocks: Ethereum has over a thousand, one `balanceOf` each.
443
+ */
441
444
  export async function registeredBalances(client, chain, holder) {
442
445
  const native = await request("the native balance", () => client.getBalance({ address: holder }));
443
- const tokens = await Promise.all((TOKEN_REGISTRY[chain.id] ?? []).map(async (row) => {
446
+ const tokens = await Promise.all((TOKEN_REGISTRY[chain.id] ?? [])
447
+ .filter((row) => row.stock === undefined)
448
+ .map(async (row) => {
444
449
  const token = getAddress(row.address);
445
450
  const balance = await client
446
451
  .readContract({