v11.8.0
What's Changed
Minor
- Check the payment token before fulfilling an ERC20-denominated listing.
fulfillOrdernow reads the buyer's balance and their allowance for the address Seaport pulls the payment through, and throws an error naming the spender and the exactapproveamount instead of letting the transaction revert with a bare "execution reverted". The spender is the conduit registered forfulfillerConduitKey, or Seaport itself when that key isbytes32(0). Native-priced listings and offer fulfillments are unaffected, and an unreadable response shape or a failed RPC read skips the check rather than blocking the purchase. (#597)
Patch
createListingAndValidateOnchain(),createOfferAndValidateOnchain(),buildListingOrderComponents()andbuildOfferOrderComponents()no longer request an EIP-712 signature. They built the order by running seaport-jsexecuteAllActions(), which signs, then discarded the signature before validating onchain. Callers got a wallet prompt for nothing, and contract accounts that cannot produce an offchain signature could not use the onchain path at all, which is the case it exists for. Token approvals still run and each is confirmed before the order is validated.validateOrderOnchain()takes an optional thirdprotocolAddressargument and rejects an unsupported protocol, matchingapproveOrder()and the fulfillment methods. Requires@opensea/seaport-js4.2.0. (#609)
Full Changelog: ProjectOpenSea/opensea-devtools@sdk-v11.7.2...sdk-v11.8.0