@juanscilingo/vaults-cli 0.1.1-alpha.0 → 1.0.0
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/LICENSE +9 -0
- package/README.md +23 -27
- package/dist/THIRD_PARTY_NOTICES.md +143 -0
- package/dist/cli.mjs +11973 -13268
- package/package.json +22 -2
- package/skills/smart-yield/SKILL.md +20 -12
package/LICENSE
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Sentora Digital Holdings (BVI) Ltd
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
6
|
+
|
|
7
|
+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
|
8
|
+
|
|
9
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
package/README.md
CHANGED
|
@@ -6,24 +6,24 @@ branchable exit codes, self-describing commands. Every command is a query —
|
|
|
6
6
|
nothing here signs or sends.
|
|
7
7
|
|
|
8
8
|
```sh
|
|
9
|
-
npm
|
|
10
|
-
|
|
9
|
+
npm install -g @juanscilingo/vaults-cli # or run once: npx -p @juanscilingo/vaults-cli smart-yield --help
|
|
10
|
+
smart-yield --help
|
|
11
11
|
```
|
|
12
12
|
|
|
13
13
|
## A yield evaluation in four commands
|
|
14
14
|
|
|
15
15
|
```sh
|
|
16
16
|
# 1. What vaults exist? (filter by chain, family, curator; project fields)
|
|
17
|
-
smart-yield yields list --chain 1 --fields name,family,contracts
|
|
17
|
+
smart-yield yields list --chain eip155:1 --fields "name,family,contracts"
|
|
18
18
|
|
|
19
19
|
# 2. How do candidates perform? (summary stats, not raw series)
|
|
20
|
-
smart-yield yields analytics --chain-id 1 --address 0xVAULT --days 30 --summary
|
|
20
|
+
smart-yield yields analytics --chain-id eip155:1 --address 0xVAULT --days 30 --summary
|
|
21
21
|
|
|
22
22
|
# 3. Preflight several vaults in ONE call: family + meta + gates + your position
|
|
23
|
-
smart-yield snapshot --vault 0xA,0xB,0xC --owner 0xYOU --rpc-url $RPC
|
|
23
|
+
smart-yield snapshot --vault "0xA,0xB,0xC" --owner 0xYOU --rpc-url $RPC
|
|
24
24
|
|
|
25
25
|
# 4. Build the deposit — unsigned steps, previewed outcome, named blockers
|
|
26
|
-
smart-yield
|
|
26
|
+
smart-yield upshift_evm plan-deposit --vault 0xA --amount 10000 --human --owner 0xYOU --rpc-url $RPC
|
|
27
27
|
```
|
|
28
28
|
|
|
29
29
|
Plans return ordered unsigned `{to, data, value}` steps for any signer, with
|
|
@@ -38,9 +38,9 @@ smart-yield <family> <command> [flags]
|
|
|
38
38
|
|
|
39
39
|
| scope | commands |
|
|
40
40
|
|---|---|
|
|
41
|
-
| top-level | `describe [--family <f>]` · `detect --vault 0x…` · `snapshot --vault 0xA[,0xB…] [--owner]` |
|
|
42
|
-
| `yields` (API) | `list` · `get` · `analytics` · `risk` · `balance` · `activity` · `positions` · `blockchains` |
|
|
43
|
-
| `
|
|
41
|
+
| top-level | `describe [--family <f>]` · `detect --vault 0x…` · `snapshot --vault "0xA[,0xB…]" [--owner] [--base-url]` |
|
|
42
|
+
| `yields` (API) | `list` · `get` · `analytics` · `risk` · `main-insights` · `balance` · `activity` · `positions` · `blockchains` |
|
|
43
|
+
| `upshift_evm` | `meta` · `position` · `gates` · `plan-deposit` · `plan-redeem [--instant]` · `plan-claim` · `epoch` · `pending-withdrawals` |
|
|
44
44
|
| `boring` (Veda) | `discover` · `position` · `plan-deposit` · `plan-withdraw` |
|
|
45
45
|
| `morpho` | `meta` · `position` · `gates` · `plan-deposit` · `plan-redeem` |
|
|
46
46
|
|
|
@@ -62,15 +62,18 @@ classifies any address on-chain and refuses to guess unknown architectures
|
|
|
62
62
|
- Plan results and `describe` carry `schemaVersion` — bumped on any breaking
|
|
63
63
|
shape change; pin automations to it.
|
|
64
64
|
- Amounts are base units by default (`1000000` = 1 USDC); `--human` accepts
|
|
65
|
-
decimals (`100.5`) and scales by on-chain token decimals.
|
|
66
|
-
|
|
65
|
+
decimals (`100.5`) and scales by on-chain token decimals. Plans add
|
|
66
|
+
`expectedFormatted` when `expected` has values, and `morpho meta` /
|
|
67
|
+
`upshift_evm meta` add `formatted`. `yields` amounts come from the API and
|
|
68
|
+
are already token units or USD, except fields ending in `Raw`. Other
|
|
69
|
+
on-chain outputs carry only base units.
|
|
67
70
|
|
|
68
71
|
## Performance
|
|
69
72
|
|
|
70
|
-
Reads batch through Multicall3
|
|
71
|
-
one per contract call (`--no-multicall` opts out on chains without
|
|
72
|
-
canonical deployment). `--timeout <ms>` bounds every network call (default
|
|
73
|
-
30s). `yields analytics --summary` / `--last N` and `list --fields/--limit/
|
|
73
|
+
Reads batch through Multicall3, so a command makes a few RPC round trips
|
|
74
|
+
instead of one per contract call (`--no-multicall` opts out on chains without
|
|
75
|
+
the canonical deployment). `--timeout <ms>` bounds every network call (default
|
|
76
|
+
30s, `0` = no limit). `yields analytics --summary` / `--last N` and `list --fields/--limit/
|
|
74
77
|
--offset` keep responses small; truncation is always announced.
|
|
75
78
|
|
|
76
79
|
## Configuration
|
|
@@ -82,19 +85,13 @@ canonical deployment). `--timeout <ms>` bounds every network call (default
|
|
|
82
85
|
| yields API key | — (env only, never a flag) | `YIELDS_API_KEY`, `SENTORA_API_KEY` |
|
|
83
86
|
|
|
84
87
|
Shell note: pipes mask exit codes (`$?` is the last pipeline element) — branch
|
|
85
|
-
on `${PIPESTATUS[0]}` or run unpiped.
|
|
86
|
-
`npx smart-yield` or the bundle directly when branching.
|
|
87
|
-
|
|
88
|
-
> **Note:** `yields list` currently serves an embedded catalog snapshot in the
|
|
89
|
-
> [next API schema](../../docs/api-vault-schema-proposal.md); every response
|
|
90
|
-
> carries a `notice` field saying so. All other `yields` commands hit the live
|
|
91
|
-
> API.
|
|
88
|
+
on `${PIPESTATUS[0]}` or run unpiped.
|
|
92
89
|
|
|
93
90
|
## Using from agent frameworks
|
|
94
91
|
|
|
95
92
|
Shell-capable coding agents use this CLI directly (below). Frameworks that
|
|
96
93
|
consume tools instead of binaries (LangChain, CrewAI, OpenAI Agents SDK, IDE
|
|
97
|
-
MCP configs, …) use [`@
|
|
94
|
+
MCP configs, …) use [`@juanscilingo/vaults-mcp`](https://www.npmjs.com/package/@juanscilingo/vaults-mcp) — an MCP
|
|
98
95
|
stdio server generated from this CLI's command registry. This package itself
|
|
99
96
|
stays dependency-free either way.
|
|
100
97
|
|
|
@@ -113,7 +110,7 @@ CLI, …) or `CLAUDE.md`:
|
|
|
113
110
|
## smart-yield CLI
|
|
114
111
|
Read-only Sentora vault CLI: discovery, yield analytics, positions, and
|
|
115
112
|
UNSIGNED tx plans as JSON. Run `smart-yield describe` for the full surface.
|
|
116
|
-
Exit codes: 0 ok · 2 usage · 3 not found · 4 rpc/network (retryable) ·
|
|
113
|
+
Exit codes: 0 ok · 1 unexpected · 2 usage · 3 not found · 4 rpc/network (retryable) ·
|
|
117
114
|
5 upstream api · 6 contract revert · 7 plan blocked (NEVER execute a blocked
|
|
118
115
|
plan). Auth: YIELDS_API_KEY env (never a flag). RPC: VAULTS_RPC_URL env or
|
|
119
116
|
--rpc-url. Plans are unsigned — hand them to the signer; never sign a plan
|
|
@@ -123,7 +120,7 @@ with non-empty blockers.
|
|
|
123
120
|
Permission allowlists (the CLI is read-only, safe to pre-approve):
|
|
124
121
|
|
|
125
122
|
- Claude Code `.claude/settings.json`:
|
|
126
|
-
`{"permissions": {"allow": ["Bash(smart-yield *)", "Bash(npx smart-yield *)"]}}`
|
|
123
|
+
`{"permissions": {"allow": ["Bash(smart-yield *)", "Bash(npx -p @juanscilingo/vaults-cli smart-yield *)"]}}`
|
|
127
124
|
- Gemini CLI `settings.json`:
|
|
128
125
|
`{"tools": {"core": ["run_shell_command(smart-yield)"]}}`
|
|
129
126
|
- Codex: network egress is off in the default sandbox — set
|
|
@@ -136,5 +133,4 @@ Permission allowlists (the CLI is read-only, safe to pre-approve):
|
|
|
136
133
|
Architecture in one line: this package is argv parsing, JSON serialization,
|
|
137
134
|
and exit codes — all vault logic lives in the family SDKs
|
|
138
135
|
(`@sentora/vaults-{upshift-financial,boring,morpho}`), plans in
|
|
139
|
-
`@
|
|
140
|
-
[docs/agent-cli-guidelines.md](../../docs/agent-cli-guidelines.md).
|
|
136
|
+
`@juanscilingo/vaults-plan`, API access in `@juanscilingo/yields-client`.
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
# Third-party notices
|
|
2
|
+
|
|
3
|
+
This bundle includes the following packages.
|
|
4
|
+
|
|
5
|
+
## @noble/curves@1.9.1
|
|
6
|
+
|
|
7
|
+
License: MIT
|
|
8
|
+
|
|
9
|
+
````text
|
|
10
|
+
The MIT License (MIT)
|
|
11
|
+
|
|
12
|
+
Copyright (c) 2022 Paul Miller (https://paulmillr.com)
|
|
13
|
+
|
|
14
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
15
|
+
of this software and associated documentation files (the “Software”), to deal
|
|
16
|
+
in the Software without restriction, including without limitation the rights
|
|
17
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
18
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
19
|
+
furnished to do so, subject to the following conditions:
|
|
20
|
+
|
|
21
|
+
The above copyright notice and this permission notice shall be included in
|
|
22
|
+
all copies or substantial portions of the Software.
|
|
23
|
+
|
|
24
|
+
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
25
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
26
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
27
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
28
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
29
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
30
|
+
THE SOFTWARE.
|
|
31
|
+
````
|
|
32
|
+
|
|
33
|
+
## @noble/hashes@1.8.0
|
|
34
|
+
|
|
35
|
+
License: MIT
|
|
36
|
+
|
|
37
|
+
````text
|
|
38
|
+
The MIT License (MIT)
|
|
39
|
+
|
|
40
|
+
Copyright (c) 2022 Paul Miller (https://paulmillr.com)
|
|
41
|
+
|
|
42
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
43
|
+
of this software and associated documentation files (the “Software”), to deal
|
|
44
|
+
in the Software without restriction, including without limitation the rights
|
|
45
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
46
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
47
|
+
furnished to do so, subject to the following conditions:
|
|
48
|
+
|
|
49
|
+
The above copyright notice and this permission notice shall be included in
|
|
50
|
+
all copies or substantial portions of the Software.
|
|
51
|
+
|
|
52
|
+
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
53
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
54
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
55
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
56
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
57
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
58
|
+
THE SOFTWARE.
|
|
59
|
+
````
|
|
60
|
+
|
|
61
|
+
## abitype@1.2.3
|
|
62
|
+
|
|
63
|
+
License: MIT
|
|
64
|
+
|
|
65
|
+
````text
|
|
66
|
+
MIT License
|
|
67
|
+
|
|
68
|
+
Copyright (c) 2022-present weth, LLC
|
|
69
|
+
|
|
70
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
71
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
72
|
+
in the Software without restriction, including without limitation the rights
|
|
73
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
74
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
75
|
+
furnished to do so, subject to the following conditions:
|
|
76
|
+
|
|
77
|
+
The above copyright notice and this permission notice shall be included in all
|
|
78
|
+
copies or substantial portions of the Software.
|
|
79
|
+
|
|
80
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
81
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
82
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
83
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
84
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
85
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
86
|
+
SOFTWARE.
|
|
87
|
+
````
|
|
88
|
+
|
|
89
|
+
## ox@0.14.33
|
|
90
|
+
|
|
91
|
+
License: MIT
|
|
92
|
+
|
|
93
|
+
````text
|
|
94
|
+
MIT License
|
|
95
|
+
|
|
96
|
+
Copyright (c) 2023-present wevm
|
|
97
|
+
|
|
98
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
99
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
100
|
+
in the Software without restriction, including without limitation the rights
|
|
101
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
102
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
103
|
+
furnished to do so, subject to the following conditions:
|
|
104
|
+
|
|
105
|
+
The above copyright notice and this permission notice shall be included in all
|
|
106
|
+
copies or substantial portions of the Software.
|
|
107
|
+
|
|
108
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
109
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
110
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
111
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
112
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
113
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
114
|
+
SOFTWARE.
|
|
115
|
+
````
|
|
116
|
+
|
|
117
|
+
## viem@2.55.15
|
|
118
|
+
|
|
119
|
+
License: MIT
|
|
120
|
+
|
|
121
|
+
````text
|
|
122
|
+
MIT License
|
|
123
|
+
|
|
124
|
+
Copyright (c) 2023-present weth, LLC
|
|
125
|
+
|
|
126
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
127
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
128
|
+
in the Software without restriction, including without limitation the rights
|
|
129
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
130
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
131
|
+
furnished to do so, subject to the following conditions:
|
|
132
|
+
|
|
133
|
+
The above copyright notice and this permission notice shall be included in all
|
|
134
|
+
copies or substantial portions of the Software.
|
|
135
|
+
|
|
136
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
137
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
138
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
139
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
140
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
141
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
142
|
+
SOFTWARE.
|
|
143
|
+
````
|