v11.0.0
What's Changed
Major
- Rebuild the SDK's type layer on
@opensea/api-typeswith automatic case translation at the fetcher boundary (#336, #339). Consumer API stays camelCase; the fetcher snakeizes outgoing query params + POST bodies and camelizes responses, so the SDK no longer ships hand-rolled response shapes.utils/converters.tsis gone. See the changelog for the full shape-change list — notably:Order.protocolData/Order.protocolAddressare now optional (profile endpoints intentionally null them out for performance — code reading them unconditionally needs a guard).Orderbase type no longer carriesprice; onlyOfferandListingdo.Offer/ListinggainremainingQuantity,orderCreatedAt,asset?: OrderAsset.NFTis nowNftDetailed— gainsdisplayImageUrl,displayAnimationUrl,originalImageUrl,originalAnimationUrl,animationUrl,isSuspicious,subscription.- Breaking renames from acronym normalization:
paymentToken.imageUrl→paymentToken.image,collection.isNSFW→collection.isNsfw,rarity.calculatedAt/maxRank/tokensScoreddropped (weren't actually in the spec).
Patch
- Source
EventPayment,EventAsset,GetNFTResponse,BuildOfferResponse, andCancelOrderResponsefrom@opensea/api-typesinstead of hand-rolling them (#343). - Critical fix: mixed-casing wire-shape regression (#344). The OpenSea OpenAPI spec uses mixed casing — outer envelope keys are snake_case but inner Seaport struct keys (
parameters.startTime,parameters.itemType,parameters.offerer, etc.),CancelRequest.offererSignature, andCriteriaObject.numericTraitsare camelCase. The newsnakeizeKeysDeepwas rewriting them all to snake_case, breakingpostListing/postOffer/offchainCancelOrder/buildOffer/postCollectionOffer. Fix adds asnakeizeBody?: booleanopt-out onFetcher.post()and updates internal callsites to emit bodies in exact wire shape. Also camelizesrequestInstantApiKey+ error envelopes, adds null-safesocialMediaAccounts, fixescamelToSnakeleading-underscore for PascalCase keys, drops deadOrderV2/Ordercasts, and ships 12 new unit tests + a new nightly SDK integration workflow.
Full Changelog: v10.5.0...v11.0.0