Skip to content

Releases: ProjectOpenSea/tool-registry

v0.7.0

Choose a tag to compare

@ryanio ryanio released this 08 Jul 19:52

What's Changed

  • Add Robinhood Chain (4663) deploy configuration: Robinhood RPC endpoint and Etherscan verifier settings in foundry.toml and the matching .env.example entry. The canonical ToolRegistry and predicate CREATE2 addresses are identical on Robinhood.
  • Document Robinhood Chain (4663) in the deployed-address tables in the README.
  • Add an explicit Etherscan v2 url to the monad entry in foundry.toml so forge script --verify config resolution no longer aborts for chain 143.

Full Changelog: ProjectOpenSea/opensea-devtools@tool-registry-v0.6.0...tool-registry-v0.7.0

v0.6.0

Choose a tag to compare

@ryanio ryanio released this 02 Jul 17:59

What's Changed

  • Add Monad (chain 143) deploy configuration: Monad RPC endpoint and verifier settings in foundry.toml and the matching .env.example entry. The canonical ToolRegistry and predicate CREATE2 addresses are identical on Monad. (#476)
  • Document Monad (143) in the deployed-address tables in the README. (#477)

Full Changelog: ProjectOpenSea/opensea-devtools@tool-registry-v0.5.0...tool-registry-v0.6.0

v0.5.0

Choose a tag to compare

@ryanio ryanio released this 29 May 18:20

What's Changed

  • feat: add ERC20BalancePredicate for ERC-20 token-balance-gated tool access (standalone example contract, deploy script, new ERC20Balance requirement type, and full test coverage)
  • chore: set the canonical ERC20BalancePredicate address (0x1a834FC48B5f6e119c62C12a98b32137bCFA77cD) on Ethereum mainnet and Base
  • feat: deploy ToolRegistry + all five canonical predicates to Shape (chain 360) and Abstract (chain 2741) via deterministic CREATE2, at addresses identical to the existing Ethereum mainnet and Base deployments

Full Changelog: ProjectOpenSea/opensea-devtools@tool-registry-v0.4.0...tool-registry-v0.5.0

v0.4.0

Choose a tag to compare

@ryanio ryanio released this 27 May 22:59

What's Changed

  • Add TraitGatedPredicate contract for ERC-7496 dynamic trait gating. It combines ERC-721 ownership with an on-chain trait value match, supports a separate traits contract (e.g. a renderer), and allows a configurable trait key with up to 32 allowed values per tool. The predicate ships in script/Deploy.s.sol and a standalone script/DeployTraitGatedPredicate.s.sol, and is deployed deterministically via the Arachnid CREATE2 factory at the canonical address 0x10abF07CfA34Bf22372C57f27e8bd9C2DCF93fA1 on Ethereum mainnet and Base.

Full Changelog: ProjectOpenSea/opensea-devtools@tool-registry-v0.3.0...tool-registry-v0.4.0

v0.3.0

Choose a tag to compare

@ryanio ryanio released this 19 May 17:58

What's Changed

Minor

Canonicalize SubscriptionPredicate v0.2 on Ethereum mainnet and Base. The predicate now ships in script/Deploy.s.sol at the deterministic CREATE2 address 0xCBe0cd9B1d99d95Baa9c58f2767246C52e461f25 (identical on chain 1 and 8453, deployed via the Arachnid factory with salt bytes32(uint256(1)) and the v0.2 registry as constructor arg).

Verified onchain — name() returns "SubscriptionPredicate", registry() returns 0x265BB2DBFC0A8165C9A1941Eb1372F349baD2cf1. Verified on Etherscan and Basescan.

Full Changelog: ProjectOpenSea/opensea-devtools@tool-registry-v0.2.0...tool-registry-v0.3.0

v0.2.0

Choose a tag to compare

@ryanio ryanio released this 18 May 16:42

What's Changed

Canonical v0.2 deployment on Ethereum mainnet + Base. ToolRegistry.version() now returns "0.2" and the registry validates predicates against IAccessPredicate interfaceId 0xbdf9dc18 (hasAccess + name + getRequirements).

New canonical addresses (chain 1 + chain 8453)

Contract Address
ToolRegistry v0.2 0x265BB2DBFC0A8165C9A1941Eb1372F349baD2cf1
ERC721OwnerPredicate v0.2 0xc8721c9A776958FfFfEb602DA1b708bf1D318379
ERC1155OwnerPredicate v0.2 0x77373Dc3c1AE9A1e937eF3e5E08F4807D47c7c11

Same deterministic CREATE2 address on both chains.

Pre-beta breaking change

The earlier v0.1 Base deployment (0x7291...4856 registry + 0x4eC9... ERC721 predicate) is no longer canonical. Tools registered there must be re-registered against the v0.2 registry.

Full Changelog: ProjectOpenSea/opensea-devtools@tool-registry-v0.1.2...tool-registry-v0.2.0

v0.1.2

Choose a tag to compare

@ryanio ryanio released this 06 May 19:44

What's Changed

Documentation-only patch release. ~7% reduction in ERC-draft length (104 net lines off) with no normative rules changed.

  • Folded Manifest Hex-Field Casing subsection into Canonical Manifest Bytes (#259). The standalone subsection's per-field grammar table duplicated regexes already inline in each field's row in §2/§4/§5. Six cross-references repointed.
  • Trimmed Appendix A semantic-input duplication (#259). Free-Tool / Paid-Tool semantic-input JSON blocks were byte-identical to the §2 examples; replaced with anchor-pointers. Pinned manifestHash test vectors still verify.
  • Collapsed Verifiability Trust Model overlap with §5 (#259). Trust-spectrum bullets restated §5 verbatim; replaced with a single intro paragraph that cross-references §5. Kept the unique normative content (network egress under TEE, attestation freshness/revocation, MUST-NOT-grant-elevated-trust, MUST-distinguish-verified-vs-unverified).
  • Merged Registry Self-Reference and Predicate Selector Collision into Predicate Validation at Registration (#259). The two sections cross-referenced each other and shared the selector-collision motivation; one merged section is clearer.
  • Trimmed hasAccess docstring (#259). Replaced the inline restatement of strict ABI-bool decode rules with a single cross-reference to tryHasAccess (the canonical place for them).

No Solidity changes, no ABI changes, no deployment changes.

Full Changelog: ProjectOpenSea/opensea-devtools@tool-registry-v0.1.1...tool-registry-v0.1.2

v0.1.1

Choose a tag to compare

@ryanio ryanio released this 06 May 17:31

What's Changed

Documentation-only patch release rolling up three ERC-draft clarification PRs. No Solidity, ABI, or deployment changes.

  • Close logic gaps in the ERC draft (#255). Restated ToolNotFound / ToolIsDeregistered reverts in each function's docstring; reconciled setAccessPredicate MUST-validate with the idempotent no-op carve-out; made the verifiability tier consistency check bidirectional; extended the 256-byte name() cap to version(); renumbered Access (§4) and Verifiability (§5), bumping Origin-Binding to §6, Creator Binding to §7, Manifest Hash Commitment to §8, ERC-165 Support to §9.
  • Second-pass logic fixes (#256). Tightened manifest hex-field casing to strict lowercase across creatorAddress, access[].kind/data, attestation.enclaveHash, and reproducibleBuild.buildHash for JCS-byte determinism, with uppercase hex listed as a verification failure. Mirrored onchain getRequirements caps (256 entries, 4,096-byte hex-decoded data, 256-byte label) into the manifest parser. Restricted access[].links values to HTTPS URLs. Fixed a MUST NOT inversion in the tryHasAccess docstring.
  • Cap-feasibility note (#257). Clarified that the per-axis caps in Manifest Parser Hardening don't jointly compose under the 1 MiB ceiling.

Full Changelog: ProjectOpenSea/opensea-devtools@tool-registry-v0.1.0...tool-registry-v0.1.1

v0.1.0

Choose a tag to compare

@ryanio ryanio released this 06 May 02:14

What's Changed

Initial pre-release of the OpenSea Tool Registry — onchain registry for AI agent tools (ERC-Draft).

Includes:

  • Core registry contract with name() / version() introspection
  • Predicate gating primitives: ERC721OwnerPredicate, ERC1155OwnerPredicate, CompositePredicate
  • F18 access-requirement introspection (getRequirements) and F19 manifest access block
  • Verifiability metadata in tool manifest schema
  • CREATE2 deploy script for Base
  • Base mainnet beta deployment

Full Changelog: https://github.com/ProjectOpenSea/opensea-devtools/commits/tool-registry-v0.1.0