@hypurrquant/defi-cli 1.0.12 โ†’ 1.0.13

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 (44) hide show
  1. package/README.md +9 -2
  2. package/config/chains.toml +6 -1
  3. package/config/protocols/dex/aerodrome_base.toml +2 -1
  4. package/config/protocols/dex/aerodrome_cl.toml +2 -1
  5. package/config/protocols/dex/apeswap_bnb.toml +1 -1
  6. package/config/protocols/dex/babydogeswap_bnb.toml +1 -1
  7. package/config/protocols/dex/bakeryswap_bnb.toml +2 -2
  8. package/config/protocols/dex/biswap_bnb.toml +1 -1
  9. package/config/protocols/dex/bscswap_bnb.toml +1 -1
  10. package/config/protocols/dex/curve_hyperevm.toml +1 -1
  11. package/config/protocols/dex/fstswap_bnb.toml +1 -1
  12. package/config/protocols/dex/hybra.toml +4 -2
  13. package/config/protocols/dex/hyperswap.toml +1 -1
  14. package/config/protocols/dex/kittenswap.toml +1 -1
  15. package/config/protocols/dex/merchantmoe_mantle.toml +2 -1
  16. package/config/protocols/dex/nest.toml +6 -5
  17. package/config/protocols/dex/pancakeswap_v2_bnb.toml +1 -1
  18. package/config/protocols/dex/pancakeswap_v3_bnb.toml +2 -1
  19. package/config/protocols/dex/project_x.toml +1 -1
  20. package/config/protocols/dex/ramses_cl.toml +1 -1
  21. package/config/protocols/dex/ramses_hl.toml +1 -1
  22. package/config/protocols/dex/thena_v1_bnb.toml +2 -1
  23. package/config/protocols/dex/traderjoe_monad.toml +2 -1
  24. package/config/protocols/dex/uniswap_v2_monad.toml +2 -1
  25. package/config/protocols/dex/uniswap_v3_base.toml +2 -1
  26. package/config/protocols/dex/uniswap_v3_bnb.toml +3 -1
  27. package/config/protocols/dex/uniswap_v3_mantle.toml +2 -1
  28. package/config/protocols/dex/uniswap_v3_monad.toml +2 -1
  29. package/config/protocols/lending/felix_morpho.toml +16 -0
  30. package/config/protocols/lending/hyperlend.toml +1 -1
  31. package/config/protocols/lending/hypurrfi.toml +1 -1
  32. package/config/protocols/lending/kinza_bnb.toml +1 -1
  33. package/config/protocols/lending/morpho_blue_monad.toml +17 -0
  34. package/config/protocols/lending/venus_flux_bnb.toml +5 -1
  35. package/dist/index.js +1277 -246
  36. package/dist/index.js.map +1 -1
  37. package/dist/main.js +1282 -251
  38. package/dist/main.js.map +1 -1
  39. package/dist/mcp-server.js +799 -195
  40. package/dist/mcp-server.js.map +1 -1
  41. package/package.json +1 -1
  42. package/skills/defi-cli/SKILL.md +17 -4
  43. package/skills/defi-cli/references/commands.md +2 -2
  44. package/skills/defi-cli/references/protocols.md +2 -2
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hypurrquant/defi-cli",
3
- "version": "1.0.12",
3
+ "version": "1.0.13",
4
4
  "description": "Multi-chain DeFi CLI \u2014 lending, DEX, LP, bridge, vault, staking from your terminal",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -54,7 +54,7 @@ export DEFI_PRIVATE_KEY=0xYourPrivateKey # only needed for broadcasting
54
54
  | `hyperevm` | HyperEVM | 999 | ๐ŸŸข production |
55
55
  | `mantle` | Mantle | 5000 | ๐ŸŸข production |
56
56
  | `base` | Base | 8453 | ๐ŸŸข production |
57
- | `bnb` | BNB Chain | 56 | ๐ŸŸก staged |
57
+ | `bnb` | BNB Chain | 56 | ๐ŸŸข production |
58
58
  | `monad` | Monad | 143 | ๐ŸŸก staged |
59
59
 
60
60
  ๐ŸŸข = mainnet broadcast verified | ๐ŸŸก = configs verified, awaiting funded broadcast
@@ -86,8 +86,8 @@ All `*-quote.sh` and `lending-supply-flow.sh` scripts are **dry-run only** โ€” t
86
86
 
87
87
  For full protocol list see `references/protocols.md`. High-level summary:
88
88
 
89
- ### HyperEVM (11)
90
- **Lending**: `hyperlend`, `hypurrfi`, `felix-morpho` ยท **DEX**: `project-x`, `hyperswap`, `curve-hyperevm`, `ramses-cl`, `ramses-hl`, `kittenswap`, `hybra`, `nest`
89
+ ### HyperEVM (10)
90
+ **Lending**: `hyperlend`, `hypurrfi`, `felix-morpho` ยท **DEX**: `project-x`, `hyperswap-v3`, `curve-hyperevm`, `ramses-cl`, `ramses-hl`, `kittenswap`, `hybra`
91
91
 
92
92
  ### Mantle (3)
93
93
  **Lending**: `aave-v3-mantle` ยท **DEX**: `uniswap-v3-mantle`, `merchantmoe-mantle` (LB + MOE emission)
@@ -162,7 +162,9 @@ For full protocol list see `references/protocols.md`. High-level summary:
162
162
 
163
163
  ## Core Workflow: Cross-chain Bridge
164
164
 
165
- Bridge **source** must be a supported chain (hyperevm/mantle/base/bnb/monad). Bridge **destination** can be any chain LI.FI/deBridge route to, or any CCTP V2 chain (ethereum, arbitrum, optimism, polygon, avalanche, base).
165
+ Bridge **source** must be a supported chain (hyperevm/mantle/base/bnb/monad). Bridge **destination** can be any chain LI.FI / Relay / deBridge route to, or any CCTP V2 chain (ethereum, arbitrum, optimism, polygon, avalanche, base).
166
+
167
+ Providers: `lifi` (default, broad coverage), `relay` (fast native-token routes, ~3s settle), `debridge` (DLN intent), `cctp` (Circle native USDC).
166
168
 
167
169
  ```
168
170
  1. defi --json --chain base bridge --token USDC --amount 100000000 --to-chain arbitrum --provider lifi # dry-run
@@ -170,6 +172,13 @@ Bridge **source** must be a supported chain (hyperevm/mantle/base/bnb/monad). Br
170
172
  3. defi --json --chain base bridge --token USDC --amount 100000000 --to-chain arbitrum --provider lifi --broadcast
171
173
  ```
172
174
 
175
+ Relay native-token example (USDC/USDT often blocked by Relay's currency registry โ€” use native sentinel `0x0โ€ฆ0`):
176
+
177
+ ```
178
+ defi --json --chain base bridge --token 0x0000000000000000000000000000000000000000 \
179
+ --amount 1000000000000000 --to-chain bnb --provider relay --broadcast
180
+ ```
181
+
173
182
  ## Core Workflow: Yield Comparison
174
183
 
175
184
  ```
@@ -186,6 +195,7 @@ Bridge **source** must be a supported chain (hyperevm/mantle/base/bnb/monad). Br
186
195
  | `Protocol not found: X` | run `defi --json status` to list valid slugs for the chain |
187
196
  | `KyberSwap: unsupported chain` | use openocean, lifi, or relay |
188
197
  | `AMOUNT_TOO_LOW` (Relay) | increase amount or switch provider |
198
+ | `INVALID_INPUT_CURRENCY` (Relay bridge) | source token not in Relay's registry; use native sentinel `0x0โ€ฆ0` or switch provider |
189
199
  | `No fees to compound` | V3 position has no accumulated fees yet โ€” wait for swaps to cross range |
190
200
  | `No pools found` | protocol may be inactive on this chain or discover branch missing config |
191
201
  | `DEFI_WALLET_ADDRESS not set` | set env var or pass `--address` |
@@ -201,6 +211,9 @@ Bridge **source** must be a supported chain (hyperevm/mantle/base/bnb/monad). Br
201
211
  - **`portfolio show` / `snapshot`** prices each asset via its own oracle (ERC20s no longer mispriced at the native rate) and includes the native gas-token balance in `total_value_usd`.
202
212
  - **`wallet address`** with no wallet returns `{ "address": null, "source": "none" }` (machine-parseable; the legacy `"(not set)"` sentinel is gone).
203
213
  - **`bridge --provider cctp`** below the protocol min-fee returns a structured error envelope with `minimum_amount_wei` / `minimum_amount_usdc` (no broadcast attempt).
214
+ - **`bridge --provider relay`** wires the Executor when `--broadcast` is set (native tokens skip approve; ERC20 paths add a single approval to the relay-returned `to`). Relay's currency registry rejects some ERC20 inputs โ€” e.g. BNB USDC/USDT return `INVALID_INPUT_CURRENCY`; switch to native sentinel `0x0โ€ฆ0` or another provider. Tiny amounts may surface `AMOUNT_TOO_LOW` (Relay's fee floor). Verified live both directions on Base โ†” BNB native (~3s settle).
215
+ - **`bridge --provider lifi` / `--provider debridge`** are now Executor-wired too (previously quote-only). LI.FI uses `quote.estimate.approvalAddress` as the ERC20 spender; deBridge uses the create-tx `to` address. Verified live Base ETH โ†’ BNB native: LI.FI tx `0xc2d2โ€ฆ1a80`, deBridge tx `0x2bd8โ€ฆ2827`.
216
+ - **`bridge --provider cctp --auto-receive`** polls Circle's Iris API after the burn confirms (`https://iris-api.circle.com/v2/messages/{srcDomain}?transactionHash=โ€ฆ`), then submits `MessageTransmitter.receiveMessage(message, attestation)` on the destination chain (V2 contract `0x81D40F21F12A8F0E3252Bccb954D722d4c464B64`, same address on every EVM V2 chain). Destination chains in `DEST_CHAIN_META` (ethereum, arbitrum, optimism, polygon, avalanche, linea, zksync) resolve their RPC from `<UPPER>_RPC_URL` env vars first, then fall back to public drpc/merkle endpoints. Auto-receive **requires destination-chain native gas** for the receive tx โ€” a separate funding prerequisite. Without `--auto-receive` only the burn fires; the user must manually finalize on the destination later.
204
217
  - **`setup`** masks API keys when displaying RPC URLs and suppresses key-echo when prompting for a private key; only `http://`/`https://` URLs are accepted.
205
218
 
206
219
  ## Examples
@@ -117,8 +117,8 @@ defi --json --chain hyperevm lp claim --protocol kittenswap --pool <addr> --toke
117
117
  # Merchant Moe LB (auto-detects user's actual bins)
118
118
  defi --json --chain mantle lp claim --protocol merchantmoe-mantle --pool <addr>
119
119
 
120
- # Off-chain Nest ticket
121
- defi --json --chain hyperevm lp claim --protocol nest --address <wallet>
120
+ # Nest is inactive (is_active = false in config); CLI rejects "--protocol nest".
121
+ # Off-chain claim via the Nest UI at blaze.nest.aegas.it.
122
122
  ```
123
123
 
124
124
  ### Compound (V3 fee auto-compound)
@@ -13,13 +13,13 @@
13
13
  | Slug | Name | Interface | Notes |
14
14
  |------|------|-----------|-------|
15
15
  | `project-x` | Project X | uniswap_v3 | V3 fee-only |
16
- | `hyperswap` | HyperSwap | uniswap_v3 | V3 fee-only |
16
+ | `hyperswap-v3` | HyperSwap V3 | uniswap_v3 | V3 fee-only |
17
17
  | `curve-hyperevm` | Curve | curve_stableswap | StableswapNG factory |
18
18
  | `ramses-cl` | Ramses CL | uniswap_v3 + cl_style="ramses" | x(3,3) auto-stake, NPM.getPeriodReward |
19
19
  | `ramses-hl` | Ramses HL | solidly_v2 | ve(3,3) gauge, RAM emission |
20
20
  | `kittenswap` | KittenSwap | algebra_v3 + farming_center | KITTEN/WHYPE eternal farming |
21
21
  | `hybra` | Hybra V4 | hybra | CL gauge + GaugeManager + 2-year veHYBR lock (default) |
22
- | `nest` | NEST | algebra_v3 | Off-chain ticket NEST claim |
22
+ | `nest-v1` | NEST V1 | algebra_v3 | Claim path verified live 2026-05-07 (off-chain ticket via `blaze.nest.aegas.it` / `usenest.xyz/api/blaze`). LP/farm read-paths still return zero (`gauge.rewardRate = 0`); only `lp claim` is functional. |
23
23
 
24
24
  ---
25
25