@opensea/seaport-js 4.1.0 → 4.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -12,7 +12,7 @@
12
12
 
13
13
  # Seaport.js
14
14
 
15
- [Seaport][seaport-link] is a new marketplace protocol for safely and efficiently buying and selling NFTs. This is a TypeScript library intended to make interfacing with the contract reasonable and easy.
15
+ [Seaport][seaport-link] is a marketplace protocol for safely and efficiently buying and selling NFTs. This is a TypeScript library intended to make interfacing with the contract reasonable and easy.
16
16
 
17
17
  - [Synopsis](#synopsis)
18
18
  - [Installation](#installation)
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "commonjs"
3
+ }
package/lib/seaport.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { type BigNumberish, type JsonRpcProvider, type Overrides, type Signer } from "ethers";
2
2
  import { type DomainRegistry } from "./typechain-types/index";
3
- import type { CreateBulkOrdersAction, CreateOrderAction, CreateOrderInput, ExchangeAction, InputCriteria, MatchOrdersFulfillment, Order, OrderComponents, OrderStatus, OrderUseCase, OrderWithCounter, SeaportConfig, SeaportContract, TipInputItem } from "./types";
3
+ import type { AdvancedOrder, CreateBulkOrdersAction, CreateOrderAction, CreateOrderInput, CriteriaResolver, ExchangeAction, InputCriteria, MatchOrdersFulfillment, Order, OrderComponents, OrderStatus, OrderUseCase, OrderWithCounter, SeaportConfig, SeaportContract, TipInputItem } from "./types";
4
4
  import { type ContractMethodReturnType, type TransactionMethods } from "./utils/usecase";
5
5
  export declare class Seaport {
6
6
  contract: SeaportContract;
@@ -209,16 +209,21 @@ export declare class Seaport {
209
209
  exactApproval?: boolean;
210
210
  }): Promise<OrderUseCase<ExchangeAction<never>>>;
211
211
  /**
212
- * NOTE: Largely incomplete. Does NOT do any balance or approval checks.
213
- * Just exposes the bare bones matchOrders where clients will have to supply
214
- * their own overrides as needed.
215
- * @param input
216
- * @param input.orders the list of orders to match
217
- * @param input.fulfillments the list of fulfillments to match offer and considerations
218
- * @param input.overrides any transaction overrides the client wants, will need to pass in value for matching orders with ETH.
219
- * @param input.accountAddress Optional address for which to match the order with
220
- * @param input.domain optional domain to be hashed and appended to calldata
221
- * @returns set of transaction methods for matching orders
212
+ * Matches a set of orders against each other so that the total offer amounts
213
+ * satisfy the total consideration amounts across all matched fulfillments.
214
+ *
215
+ * WARNING: This is a low-level method that passes arguments directly to the Seaport
216
+ * contract. It does NOT perform balance or approval checks. Callers are responsible
217
+ * for ensuring all parties have sufficient balances and approvals before calling.
218
+ * Pass `value` in `overrides` when matching orders that include ETH.
219
+ *
220
+ * @param input.orders The list of orders to match.
221
+ * @param input.fulfillments The list of fulfillments pairing offer and consideration
222
+ * components across the provided orders.
223
+ * @param input.overrides Transaction overrides (e.g. `{ value }` for ETH-based matches).
224
+ * @param input.accountAddress Optional address to send the transaction from.
225
+ * @param input.domain Optional domain to be hashed and appended to calldata.
226
+ * @returns A set of transaction methods (transact, estimateGas, staticCall, buildTransaction).
222
227
  */
223
228
  matchOrders({ orders, fulfillments, overrides, accountAddress, domain, }: {
224
229
  orders: (OrderWithCounter | Order)[];
@@ -227,6 +232,38 @@ export declare class Seaport {
227
232
  accountAddress?: string;
228
233
  domain?: string;
229
234
  }): TransactionMethods<ContractMethodReturnType<SeaportContract, "matchOrders">>;
235
+ /**
236
+ * Matches a set of advanced orders against each other, supporting partial fills
237
+ * (numerator/denominator), criteria resolvers, extra data, and an explicit recipient
238
+ * for any unspent offer amounts or native tokens.
239
+ *
240
+ * WARNING: This is a low-level method that passes arguments directly to the Seaport
241
+ * contract. It does NOT perform balance or approval checks. Callers are responsible
242
+ * for ensuring all parties have sufficient balances and approvals before calling.
243
+ * Pass `value` in `overrides` when matching orders that include ETH.
244
+ *
245
+ * @param input.orders The list of advanced orders to match. Each order includes
246
+ * numerator/denominator for partial fill amounts and extraData for zone validation.
247
+ * @param input.criteriaResolvers Resolvers for criteria-based items (e.g. collection offers),
248
+ * mapping criteria to specific token identifiers with merkle proofs.
249
+ * @param input.fulfillments The list of fulfillments pairing offer and consideration
250
+ * components across the provided orders.
251
+ * @param input.recipient The address to receive any unspent offer item amounts or
252
+ * native tokens remaining after all fulfillments are applied.
253
+ * @param input.overrides Transaction overrides (e.g. `{ value }` for ETH-based matches).
254
+ * @param input.accountAddress Optional address to send the transaction from.
255
+ * @param input.domain Optional domain to be hashed and appended to calldata.
256
+ * @returns A set of transaction methods (transact, estimateGas, staticCall, buildTransaction).
257
+ */
258
+ matchAdvancedOrders({ orders, criteriaResolvers, fulfillments, recipient, overrides, accountAddress, domain, }: {
259
+ orders: AdvancedOrder[];
260
+ criteriaResolvers: CriteriaResolver[];
261
+ fulfillments: MatchOrdersFulfillment[];
262
+ recipient: string;
263
+ overrides?: Overrides;
264
+ accountAddress?: string;
265
+ domain?: string;
266
+ }): TransactionMethods<ContractMethodReturnType<SeaportContract, "matchAdvancedOrders">>;
230
267
  /**
231
268
  * Set a domain on the canonical domain registry.
232
269
  * @param domain The domain to set
@@ -254,4 +291,10 @@ export declare class Seaport {
254
291
  * @returns The domains registered under the tag.
255
292
  */
256
293
  getDomains(tag: string): Promise<string[]>;
294
+ /**
295
+ * Validates that `overrides.value` is provided when any of the matched orders
296
+ * involve native ETH. Forgetting to set `value` is a common mistake that
297
+ * results in an opaque revert from the Seaport contract.
298
+ */
299
+ private _validateMatchOrdersNativeValue;
257
300
  }
package/lib/seaport.js CHANGED
@@ -641,20 +641,53 @@ class Seaport {
641
641
  });
642
642
  }
643
643
  /**
644
- * NOTE: Largely incomplete. Does NOT do any balance or approval checks.
645
- * Just exposes the bare bones matchOrders where clients will have to supply
646
- * their own overrides as needed.
647
- * @param input
648
- * @param input.orders the list of orders to match
649
- * @param input.fulfillments the list of fulfillments to match offer and considerations
650
- * @param input.overrides any transaction overrides the client wants, will need to pass in value for matching orders with ETH.
651
- * @param input.accountAddress Optional address for which to match the order with
652
- * @param input.domain optional domain to be hashed and appended to calldata
653
- * @returns set of transaction methods for matching orders
644
+ * Matches a set of orders against each other so that the total offer amounts
645
+ * satisfy the total consideration amounts across all matched fulfillments.
646
+ *
647
+ * WARNING: This is a low-level method that passes arguments directly to the Seaport
648
+ * contract. It does NOT perform balance or approval checks. Callers are responsible
649
+ * for ensuring all parties have sufficient balances and approvals before calling.
650
+ * Pass `value` in `overrides` when matching orders that include ETH.
651
+ *
652
+ * @param input.orders The list of orders to match.
653
+ * @param input.fulfillments The list of fulfillments pairing offer and consideration
654
+ * components across the provided orders.
655
+ * @param input.overrides Transaction overrides (e.g. `{ value }` for ETH-based matches).
656
+ * @param input.accountAddress Optional address to send the transaction from.
657
+ * @param input.domain Optional domain to be hashed and appended to calldata.
658
+ * @returns A set of transaction methods (transact, estimateGas, staticCall, buildTransaction).
654
659
  */
655
660
  matchOrders({ orders, fulfillments, overrides, accountAddress, domain, }) {
661
+ this._validateMatchOrdersNativeValue(orders.map(o => o.parameters), overrides);
656
662
  return (0, usecase_1.getTransactionMethods)(this._getSigner(accountAddress), this.contract, "matchOrders", [orders, fulfillments, overrides], domain);
657
663
  }
664
+ /**
665
+ * Matches a set of advanced orders against each other, supporting partial fills
666
+ * (numerator/denominator), criteria resolvers, extra data, and an explicit recipient
667
+ * for any unspent offer amounts or native tokens.
668
+ *
669
+ * WARNING: This is a low-level method that passes arguments directly to the Seaport
670
+ * contract. It does NOT perform balance or approval checks. Callers are responsible
671
+ * for ensuring all parties have sufficient balances and approvals before calling.
672
+ * Pass `value` in `overrides` when matching orders that include ETH.
673
+ *
674
+ * @param input.orders The list of advanced orders to match. Each order includes
675
+ * numerator/denominator for partial fill amounts and extraData for zone validation.
676
+ * @param input.criteriaResolvers Resolvers for criteria-based items (e.g. collection offers),
677
+ * mapping criteria to specific token identifiers with merkle proofs.
678
+ * @param input.fulfillments The list of fulfillments pairing offer and consideration
679
+ * components across the provided orders.
680
+ * @param input.recipient The address to receive any unspent offer item amounts or
681
+ * native tokens remaining after all fulfillments are applied.
682
+ * @param input.overrides Transaction overrides (e.g. `{ value }` for ETH-based matches).
683
+ * @param input.accountAddress Optional address to send the transaction from.
684
+ * @param input.domain Optional domain to be hashed and appended to calldata.
685
+ * @returns A set of transaction methods (transact, estimateGas, staticCall, buildTransaction).
686
+ */
687
+ matchAdvancedOrders({ orders, criteriaResolvers, fulfillments, recipient, overrides, accountAddress, domain, }) {
688
+ this._validateMatchOrdersNativeValue(orders.map(o => o.parameters), overrides);
689
+ return (0, usecase_1.getTransactionMethods)(this._getSigner(accountAddress), this.contract, "matchAdvancedOrders", [orders, criteriaResolvers, fulfillments, recipient, overrides], domain);
690
+ }
658
691
  /**
659
692
  * Set a domain on the canonical domain registry.
660
693
  * @param domain The domain to set
@@ -699,6 +732,19 @@ class Seaport {
699
732
  return await domainArray;
700
733
  }
701
734
  }
735
+ /**
736
+ * Validates that `overrides.value` is provided when any of the matched orders
737
+ * involve native ETH. Forgetting to set `value` is a common mistake that
738
+ * results in an opaque revert from the Seaport contract.
739
+ */
740
+ _validateMatchOrdersNativeValue(orderParams, overrides) {
741
+ const hasNativeToken = orderParams.some(params => params.offer.some(item => item.itemType === constants_1.ItemType.NATIVE) ||
742
+ params.consideration.some(item => item.itemType === constants_1.ItemType.NATIVE));
743
+ if (hasNativeToken && !overrides?.value) {
744
+ throw new Error("Orders contain native ETH items but no `value` was provided in overrides. " +
745
+ "Pass the required ETH amount via `overrides: { value }` to avoid a revert.");
746
+ }
747
+ }
702
748
  }
703
749
  exports.Seaport = Seaport;
704
750
  //# sourceMappingURL=seaport.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"seaport.js","sourceRoot":"","sources":["../src/seaport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"seaport.js","sourceRoot":"","sources":["../src/seaport.ts"],"names":[],"mappings":"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"}
package/lib/types.d.ts CHANGED
@@ -182,6 +182,13 @@ export type Fulfillment = {
182
182
  offerComponents: FulfillmentComponent[];
183
183
  considerationComponents: FulfillmentComponent[];
184
184
  };
185
+ export type CriteriaResolver = {
186
+ orderIndex: number;
187
+ side: number;
188
+ index: number;
189
+ identifier: BigNumberish;
190
+ criteriaProof: string[];
191
+ };
185
192
  type MatchOrdersFulfillmentComponent = {
186
193
  orderIndex: number;
187
194
  itemIndex: number;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@opensea/seaport-js",
3
- "version": "4.1.0",
4
- "description": "[Seaport](https://github.com/ProjectOpenSea/seaport) is a new marketplace protocol for safely and efficiently buying and selling NFTs. This is a TypeScript library intended to make interfacing with the contract reasonable and easy.",
3
+ "version": "4.1.2",
4
+ "description": "[Seaport](https://github.com/ProjectOpenSea/seaport) is a marketplace protocol for safely and efficiently buying and selling NFTs. This is a TypeScript library intended to make interfacing with the contract reasonable and easy.",
5
5
  "license": "MIT",
6
6
  "author": "OpenSea Developers",
7
7
  "homepage": "https://github.com/ProjectOpenSea/seaport-js#readme",
@@ -19,7 +19,7 @@
19
19
  "src"
20
20
  ],
21
21
  "scripts": {
22
- "build": "hardhat build && tsc -p tsconfig.build.json",
22
+ "build": "hardhat build && tsc -p tsconfig.build.json && node scripts/postbuild.mjs",
23
23
  "check-types": "tsc --noEmit",
24
24
  "check-types:incremental": "npm run check-types --incremental",
25
25
  "coverage": "c8 npm run test",
package/src/seaport.ts CHANGED
@@ -12,6 +12,7 @@ import {
12
12
  CROSS_CHAIN_SEAPORT_V1_6_ADDRESS,
13
13
  DOMAIN_REGISTRY_ADDRESS,
14
14
  EIP_712_ORDER_TYPE,
15
+ ItemType,
15
16
  KNOWN_CONDUIT_KEYS_TO_CONDUIT,
16
17
  MAX_INT,
17
18
  NO_CONDUIT,
@@ -26,10 +27,12 @@ import {
26
27
  Seaport__factory,
27
28
  } from "./typechain-types/index"
28
29
  import type {
30
+ AdvancedOrder,
29
31
  ApprovalAction,
30
32
  CreateBulkOrdersAction,
31
33
  CreateOrderAction,
32
34
  CreateOrderInput,
35
+ CriteriaResolver,
33
36
  ExchangeAction,
34
37
  InputCriteria,
35
38
  MatchOrdersFulfillment,
@@ -1065,16 +1068,21 @@ export class Seaport {
1065
1068
  }
1066
1069
 
1067
1070
  /**
1068
- * NOTE: Largely incomplete. Does NOT do any balance or approval checks.
1069
- * Just exposes the bare bones matchOrders where clients will have to supply
1070
- * their own overrides as needed.
1071
- * @param input
1072
- * @param input.orders the list of orders to match
1073
- * @param input.fulfillments the list of fulfillments to match offer and considerations
1074
- * @param input.overrides any transaction overrides the client wants, will need to pass in value for matching orders with ETH.
1075
- * @param input.accountAddress Optional address for which to match the order with
1076
- * @param input.domain optional domain to be hashed and appended to calldata
1077
- * @returns set of transaction methods for matching orders
1071
+ * Matches a set of orders against each other so that the total offer amounts
1072
+ * satisfy the total consideration amounts across all matched fulfillments.
1073
+ *
1074
+ * WARNING: This is a low-level method that passes arguments directly to the Seaport
1075
+ * contract. It does NOT perform balance or approval checks. Callers are responsible
1076
+ * for ensuring all parties have sufficient balances and approvals before calling.
1077
+ * Pass `value` in `overrides` when matching orders that include ETH.
1078
+ *
1079
+ * @param input.orders The list of orders to match.
1080
+ * @param input.fulfillments The list of fulfillments pairing offer and consideration
1081
+ * components across the provided orders.
1082
+ * @param input.overrides Transaction overrides (e.g. `{ value }` for ETH-based matches).
1083
+ * @param input.accountAddress Optional address to send the transaction from.
1084
+ * @param input.domain Optional domain to be hashed and appended to calldata.
1085
+ * @returns A set of transaction methods (transact, estimateGas, staticCall, buildTransaction).
1078
1086
  */
1079
1087
  public matchOrders({
1080
1088
  orders,
@@ -1091,6 +1099,11 @@ export class Seaport {
1091
1099
  }): TransactionMethods<
1092
1100
  ContractMethodReturnType<SeaportContract, "matchOrders">
1093
1101
  > {
1102
+ this._validateMatchOrdersNativeValue(
1103
+ orders.map(o => o.parameters),
1104
+ overrides,
1105
+ )
1106
+
1094
1107
  return getTransactionMethods(
1095
1108
  this._getSigner(accountAddress),
1096
1109
  this.contract,
@@ -1100,6 +1113,62 @@ export class Seaport {
1100
1113
  )
1101
1114
  }
1102
1115
 
1116
+ /**
1117
+ * Matches a set of advanced orders against each other, supporting partial fills
1118
+ * (numerator/denominator), criteria resolvers, extra data, and an explicit recipient
1119
+ * for any unspent offer amounts or native tokens.
1120
+ *
1121
+ * WARNING: This is a low-level method that passes arguments directly to the Seaport
1122
+ * contract. It does NOT perform balance or approval checks. Callers are responsible
1123
+ * for ensuring all parties have sufficient balances and approvals before calling.
1124
+ * Pass `value` in `overrides` when matching orders that include ETH.
1125
+ *
1126
+ * @param input.orders The list of advanced orders to match. Each order includes
1127
+ * numerator/denominator for partial fill amounts and extraData for zone validation.
1128
+ * @param input.criteriaResolvers Resolvers for criteria-based items (e.g. collection offers),
1129
+ * mapping criteria to specific token identifiers with merkle proofs.
1130
+ * @param input.fulfillments The list of fulfillments pairing offer and consideration
1131
+ * components across the provided orders.
1132
+ * @param input.recipient The address to receive any unspent offer item amounts or
1133
+ * native tokens remaining after all fulfillments are applied.
1134
+ * @param input.overrides Transaction overrides (e.g. `{ value }` for ETH-based matches).
1135
+ * @param input.accountAddress Optional address to send the transaction from.
1136
+ * @param input.domain Optional domain to be hashed and appended to calldata.
1137
+ * @returns A set of transaction methods (transact, estimateGas, staticCall, buildTransaction).
1138
+ */
1139
+ public matchAdvancedOrders({
1140
+ orders,
1141
+ criteriaResolvers,
1142
+ fulfillments,
1143
+ recipient,
1144
+ overrides,
1145
+ accountAddress,
1146
+ domain,
1147
+ }: {
1148
+ orders: AdvancedOrder[]
1149
+ criteriaResolvers: CriteriaResolver[]
1150
+ fulfillments: MatchOrdersFulfillment[]
1151
+ recipient: string
1152
+ overrides?: Overrides
1153
+ accountAddress?: string
1154
+ domain?: string
1155
+ }): TransactionMethods<
1156
+ ContractMethodReturnType<SeaportContract, "matchAdvancedOrders">
1157
+ > {
1158
+ this._validateMatchOrdersNativeValue(
1159
+ orders.map(o => o.parameters),
1160
+ overrides,
1161
+ )
1162
+
1163
+ return getTransactionMethods(
1164
+ this._getSigner(accountAddress),
1165
+ this.contract,
1166
+ "matchAdvancedOrders",
1167
+ [orders, criteriaResolvers, fulfillments, recipient, overrides],
1168
+ domain,
1169
+ )
1170
+ }
1171
+
1103
1172
  /**
1104
1173
  * Set a domain on the canonical domain registry.
1105
1174
  * @param domain The domain to set
@@ -1161,4 +1230,30 @@ export class Seaport {
1161
1230
  return await domainArray
1162
1231
  }
1163
1232
  }
1233
+
1234
+ /**
1235
+ * Validates that `overrides.value` is provided when any of the matched orders
1236
+ * involve native ETH. Forgetting to set `value` is a common mistake that
1237
+ * results in an opaque revert from the Seaport contract.
1238
+ */
1239
+ private _validateMatchOrdersNativeValue(
1240
+ orderParams: {
1241
+ offer: { itemType: ItemType }[]
1242
+ consideration: { itemType: ItemType }[]
1243
+ }[],
1244
+ overrides?: Overrides,
1245
+ ) {
1246
+ const hasNativeToken = orderParams.some(
1247
+ params =>
1248
+ params.offer.some(item => item.itemType === ItemType.NATIVE) ||
1249
+ params.consideration.some(item => item.itemType === ItemType.NATIVE),
1250
+ )
1251
+
1252
+ if (hasNativeToken && !overrides?.value) {
1253
+ throw new Error(
1254
+ "Orders contain native ETH items but no `value` was provided in overrides. " +
1255
+ "Pass the required ETH amount via `overrides: { value }` to avoid a revert.",
1256
+ )
1257
+ }
1258
+ }
1164
1259
  }
package/src/types.ts CHANGED
@@ -229,6 +229,14 @@ export type Fulfillment = {
229
229
  considerationComponents: FulfillmentComponent[]
230
230
  }
231
231
 
232
+ export type CriteriaResolver = {
233
+ orderIndex: number
234
+ side: number
235
+ index: number
236
+ identifier: BigNumberish
237
+ criteriaProof: string[]
238
+ }
239
+
232
240
  type MatchOrdersFulfillmentComponent = {
233
241
  orderIndex: number
234
242
  itemIndex: number