You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|`src/lib/utils.ts`| Shared utilities used across `lib/`|
@@ -55,7 +55,7 @@ When reviewing changes to this package, verify:
55
55
56
56
5.**CLI error messages**: Error messages shown to SDK consumers should not reference internal file paths (e.g., "Update chains.ts"). Link to the README or provide actionable instructions instead.
57
57
58
-
6.**Multi-step CLI flows**: Commands that require multiple onchain transactions (e.g., `register --nft-gate` does `registerTool` then `setCollections`) must handle partial failure gracefully — print recovery instructions if the second TX fails.
58
+
6.**Multi-step CLI flows**: Commands that require multiple onchain transactions must handle partial failure gracefully — print recovery instructions if a subsequent TX fails.
59
59
60
60
7.**`--dry-run` accuracy**: Dry-run output must reflect the full onchain footprint. If the command sends multiple transactions, the dry-run should mention all of them.
- Prints a warning if `--access-predicate` is used without `--predicate-config`, explaining that the tool will accept any caller until configured
17
+
- Validates `--access-predicate` addresses
18
+
19
+
- 1be6808: Add `set-collections`, `get-collections`, and `set-collection-tokens` CLI commands (F4c)
20
+
21
+
-`set-collections <toolId> <addr...>` — set the ERC-721 collection gate list for an already-registered tool
22
+
-`get-collections <toolId>` — read the current ERC-721 collection gate list
23
+
-`set-collection-tokens <toolId> <addr> <tokenId...>` — set the ERC-1155 collection + token ID gate
24
+
- All commands auto-detect registry version and select the matching predicate deployment
25
+
- Supports `--dry-run`, `--wallet-provider`, `--rpc-url`, and `--network` options
26
+
27
+
- 69b30ff: Fix `--nft-gate` broken end-to-end on Base mainnet (F4a)
28
+
29
+
The SDK hardcoded the v0.2 `ERC721OwnerPredicate` address, which is rejected by the live v0.1 registry on Base. The `register` command now queries the registry's `version()` and selects the matching predicate deployment automatically.
30
+
31
+
- Re-added `--nft-gate <collection>` to `register` with registry-version-aware predicate selection
- Added `registryVersion` option to `PredicateClientConfig`
35
+
- Updated `tool-registry/README.md` and `SKILLS.md` with v0.1 predicate addresses
36
+
37
+
- 2c1e552: Add `--auth siwe` flag to the `pay` CLI command. When set, uses `paidAuthenticatedFetch` (SIWE + x402 payment) instead of payment-only flow. Also auto-enables SIWE auth when `--manifest` points to a manifest with an `access` block.
38
+
- 53a49cf: Remove deprecated `nftGate` middleware and `--nft-gate` CLI flag behavior
39
+
40
+
- Removed `nftGate` middleware (`src/lib/middleware/nft-gate.ts`) and its `NFTGateConfig` type
41
+
- Removed `nft` field from `ToolContext.gates` and `BypassGates`
42
+
- Re-added `--nft-gate` option to `register` with registry-version-aware predicate selection
43
+
- Use `predicateGate` with `--access-predicate` instead for all access gating middleware
44
+
45
+
**BREAKING:**`nftGate`, `NFTGateConfig`, and `ToolContext.gates.nft` are no longer exported. Migrate to `predicateGate({ toolId })`.
46
+
47
+
- 91d95ba: Add `SubscriptionPredicateClient` and `CompositePredicateClient` typed clients matching `tool-registry` example predicates. Add missing `CollectionsSet` event to `ERC721OwnerPredicateABI`. Fix stale v0.1 predicate addresses in SKILLS.md examples.
48
+
49
+
### Patch Changes
50
+
51
+
- b02f9b0: Treat 4xx probe responses (e.g. 400 from Zod validation) as "endpoint reachable" instead of printing a misleading WARN. Only 5xx responses are flagged as failures.
52
+
- cab7a72: Treat 402 with valid `accepts` array as auth-OK in `smoke` command
53
+
54
+
- When a paywalled tool returns 402 with payment requirements after SIWE auth, `smoke` now exits 0 and prints: "Auth OK — paywall fired (expected for paywalled tools)."
55
+
- The `--expect` flag no longer defaults to 200; when omitted, 402-with-accepts is auto-success. When explicitly set, the exact status code is asserted as before.
|`--tool-id <id>`| Onchain tool ID to configure in the gate |
202
201
|`--input <json>`| JSON input body (inline or `@path`) |
203
202
203
+
## Wallet Configuration
204
+
205
+
All commands that sign transactions (`register`, `update-metadata`, `pay`, `auth`, `smoke`) need a wallet. You can configure one in two ways:
206
+
207
+
1.**Environment variables** — set the env vars for your provider and the CLI auto-detects it (priority: Privy > Fireblocks > Turnkey > Bankr > PrivateKey).
208
+
2.**`--wallet-provider` flag** — explicitly select a provider by name.
209
+
210
+
| Provider |`--wallet-provider` value | Required env vars |
0 commit comments