An EIP-1271 isValidSignature function implementation that supports validating Seaport bulk order signatures.
This smart contract contains an EIP-1271 isValidSignature function implementation that supports validating Seaport bulk order signatures. Note: currently supports bulk signatures generated for Seaport v1.5.
Deploy this contract and add it as the implementation for the isValidSignature
function of your upgradeable, Managed smart wallet (<= v 1.3.5) setup.
Seaport is a marketplace protocol for safely and efficiently buying and selling NFTs. This protocol is used by OpenSea to facilitate the trade of NFTs. For an in-depth review, see the official Seaport documentation.
A key feature of Seaport is bulk orders: In brief, a buyer or seller can now sign a single bulk order payload that creates multiple orders with one ECDSA signature. So, instead of signing a dozen single order payloads to create a dozen orders, a user can now create the same dozen orders with a single click in their wallet UI.
When a bulk order is made on behalf of a smart wallet (i.e. a smart contract actor) by setting the smart wallet's address as the issuer of a bulk order -- Seaport will call the EIP1271.isValidSignature
function on the smart wallet contract to validate the bulk order signature.
_isAuthorizedSigner
.