Skip to content

v4.5.0

Choose a tag to compare

@ryanio ryanio released this 30 Oct 22:55
589c6b8

What's Changed

  • fix: count single token ERC721 approvals, keep contract wallet signatures, reject zero unitsToFill, pass extraData to the zone by @ryanio in #1058
  • chore: bump version to 4.5.0 by @ryanio in #1059

Behavior changes

  • An ERC721 approved for Seaport one token at a time (as exactApproval: true does) now counts as approved. Such listings no longer fail fulfillOrder and fulfillOrders with "The offerer does not have the sufficient approvals.", and no second approval is requested. Fixes #1055.
  • signOrder and signBulkOrder compact a 65 byte signature only when it is the offerer's own ECDSA signature, so a contract wallet's 65 byte signature reaches ERC-1271 unchanged. Fixes #1052.
  • fulfillOrder and fulfillOrders now throw "Units to fill must be greater than 0" for a unitsToFill of 0 or 0n, which previously filled the whole remaining order. This is why the release is a minor.
  • fulfillOrder takes the advanced route when extraData is non-empty, so a restricted order's zone receives it.
  • ERC721 fulfillment aggregation keys separate the token id from the order index, so two different tokens can no longer share a group in a large fulfillOrders batch.

Community Contributions

Full Changelog: v4.4.1...v4.5.0