Skip to content

fix: read basic-order ERC20 preflight from API parameters - #1997

Open
Mabolla wants to merge 2 commits into
ProjectOpenSea:mainfrom
Mabolla:agent/fix-basic-order-erc20-preflight
Open

fix: read basic-order ERC20 preflight from API parameters#1997
Mabolla wants to merge 2 commits into
ProjectOpenSea:mainfrom
Mabolla:agent/fix-basic-order-erc20-preflight

Conversation

@Mabolla

@Mabolla Mabolla commented Aug 22, 2026

Copy link
Copy Markdown

Thanks for opening a PR!

We really appreciate you taking the time to contribute. It means a lot to the OpenSea team and the broader developer community.

A quick note about how this repo works

This repository is a read-only mirror of a package maintained in an internal monorepo. Because of that, pull requests cannot be merged directly here.

But don't worry -- your contribution won't be lost! Here's what happens next:

  1. Our team reviews every PR that comes in.
  2. If the change looks good, we'll recreate it internally in our monorepo.
  3. The fix will be synced back to this public repo on the next release.

We'll keep you posted on the PR as things progress.

Is this a bug report?

If you're reporting a bug rather than submitting a code fix, opening an issue is usually the fastest path to a resolution. Bug report issues help us triage and prioritize effectively.

Thanks again for helping make OpenSea better for everyone!

Summary

Fixes ERC20 fulfillment preflight for basic-order responses by reading the API's actual inputData.parameters shape.

Root cause

The fulfillment API returns basic-order data under inputData.parameters, but getErc20Payment() and getFulfillerConduitKey() were still looking for basicOrderParameters.

As a result, ERC20 basic listings could skip the payment/allowance preflight because the helper returned no payment data. The existing unit fixture used the same stale field name, so it did not cover the production wire shape.

Changes

  • Read basic-order payment data from inputData.parameters.
  • Read the basic-order fulfiller conduit key from inputData.parameters.
  • Keep basicOrderParameters as a compatibility fallback.
  • Update the regression fixture to match the API wire shape.

Validation

  • test/orders/erc20Fulfillment.spec.ts: 30/30 passed.
  • Full unit suite: 945/945 passed across 41 test files.
  • Targeted Biome check passes for the changed files.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant