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
Copy file name to clipboardExpand all lines: CHANGELOG.md
+12Lines changed: 12 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,17 @@
1
1
# @opensea/tool-sdk
2
2
3
+
## 0.28.0
4
+
5
+
### Minor Changes
6
+
7
+
- f1db520: Add Robinhood Chain (4663) support: `--network robinhood` on all CLI commands (custom viem chain definition until viem ships one), 4663 added to every canonical `Deployment.chains` array in `chains.ts`, and skill/docs chain enumerations updated.
8
+
9
+
### Patch Changes
10
+
11
+
- ac4ac6f: tool-registry: add an explicit Etherscan v2 `url` to the `monad` entry in `foundry.toml`. Forge's built-in chain list doesn't know chain 143, so config resolution failed during `forge script --verify` and aborted verification for every chain in the run (including Robinhood).
12
+
- 10dcac1: Fix x402 CAIP-2 network handling asymmetry. The server-side predicate gates now accept CAIP-2 (`eip155:8453`) and numeric (`8453`) network identifiers in the `X-Payment` payload — previously they only accepted the short names (`base`, `base-sepolia`) and rejected anything else as an "unsupported network", even though the client already tolerated CAIP-2 forms. Additionally, the client now normalizes the `network` field in v1 payment payloads to the canonical short name so that v1 gates (which key off short names) don't reject a verbatim CAIP-2 echo.
13
+
- 6649847: Fix x402 usage reporting when the facilitator returns a CAIP-2/numeric network. The predicate gate's `settle()` now resolves the settlement network via `resolveNetwork`, so `settlementChainId` (used by the usage-reporting REST endpoint) is populated for `eip155:8453` / `8453` responses, not just the short name `base`.
Copy file name to clipboardExpand all lines: docs/predicate-gating-guide.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -27,7 +27,7 @@ Use predicate gating when access should be tied to **who the caller is**. Use x4
27
27
28
28
Tool creators configure the predicate onchain (via `register --access-predicate` or direct contract calls). The `predicateGate` middleware picks it up at runtime — no code changes needed when the access policy changes.
29
29
30
-
The canonical `ERC721OwnerPredicate` (v0.2) is deployed on Ethereum mainnet, Base, Shape, Abstract, and Monad at `0xc8721c9A776958FfFfEb602DA1b708bf1D318379` (see `src/lib/onchain/chains.ts`).
30
+
The canonical `ERC721OwnerPredicate` (v0.2) is deployed on Ethereum mainnet, Base, Shape, Abstract, Monad, and Robinhood Chain at `0xc8721c9A776958FfFfEb602DA1b708bf1D318379` (see `src/lib/onchain/chains.ts`).
For ERC-721 gating, use the canonical v0.2 `ERC721OwnerPredicate` at `0xc8721c9A776958FfFfEb602DA1b708bf1D318379` (Ethereum mainnet, Base, Shape, Abstract, Monad). After registration, call `setCollections(toolId, [collectionAddress])` on the predicate to configure which collections gate the tool.
132
+
For ERC-721 gating, use the canonical v0.2 `ERC721OwnerPredicate` at `0xc8721c9A776958FfFfEb602DA1b708bf1D318379` (Ethereum mainnet, Base, Shape, Abstract, Monad, Robinhood Chain). After registration, call `setCollections(toolId, [collectionAddress])` on the predicate to configure which collections gate the tool.
Copy file name to clipboardExpand all lines: skill/references/known-predicates.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Known Predicates
2
2
3
-
These predicates are deployed on Ethereum mainnet, Base, Shape, Abstract, and Monad and available for any tool to use. They are multi-tenant: one deployment serves all tools, configured per `toolId`.
3
+
These predicates are deployed on Ethereum mainnet, Base, Shape, Abstract, Monad, and Robinhood Chain and available for any tool to use. They are multi-tenant: one deployment serves all tools, configured per `toolId`.
4
4
5
5
## ERC721OwnerPredicate
6
6
@@ -283,7 +283,7 @@ if (decoded.type === "erc7496Trait") {
283
283
284
284
## ERC20BalancePredicate
285
285
286
-
Gates access based on holding a configurable minimum balance of an ERC-20 token. Multi-tenant: one deployment per chain, configured per `toolId`. Canonical deployment: `0x1a834FC48B5f6e119c62C12a98b32137bCFA77cD` (Ethereum mainnet, Base, Shape, Abstract, Monad). The CLI commands default to this address; pass `--predicate-address` only to override it.
286
+
Gates access based on holding a configurable minimum balance of an ERC-20 token. Multi-tenant: one deployment per chain, configured per `toolId`. Canonical deployment: `0x1a834FC48B5f6e119c62C12a98b32137bCFA77cD` (Ethereum mainnet, Base, Shape, Abstract, Monad, Robinhood Chain). The CLI commands default to this address; pass `--predicate-address` only to override it.
0 commit comments