@opensea/seaport-js 4.1.1 → 4.1.3

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.
Files changed (37) hide show
  1. package/lib/seaport.d.ts +45 -23
  2. package/lib/seaport.js +54 -23
  3. package/lib/seaport.js.map +1 -1
  4. package/lib/typechain-types/index.d.ts +6 -6
  5. package/lib/typechain-types/index.js +7 -7
  6. package/lib/typechain-types/index.js.map +1 -1
  7. package/lib/utils/fulfill.d.ts +2 -1
  8. package/lib/utils/fulfill.js +2 -2
  9. package/lib/utils/fulfill.js.map +1 -1
  10. package/package.json +5 -5
  11. package/src/artifacts/build-info/{solc-0_8_24-4919f060ad5018d55598e984a399ab6375a00193.json → solc-0_8_24-3b175b848e18537609b8280784729ef8c3a59ecd.json} +11 -104
  12. package/src/artifacts/build-info/solc-0_8_24-3b175b848e18537609b8280784729ef8c3a59ecd.output.json +1 -0
  13. package/src/artifacts/seaport/contracts/Seaport.sol/Seaport.json +1 -1
  14. package/src/artifacts/seaport/contracts/Seaport.sol/artifacts.d.ts +1 -1
  15. package/src/artifacts/seaport/contracts/conduit/Conduit.sol/LocalConduit.json +1 -1
  16. package/src/artifacts/seaport/contracts/conduit/Conduit.sol/artifacts.d.ts +1 -1
  17. package/src/artifacts/seaport/contracts/conduit/ConduitController.sol/LocalConduitController.json +1 -1
  18. package/src/artifacts/seaport/contracts/conduit/ConduitController.sol/artifacts.d.ts +1 -1
  19. package/src/artifacts/src/contracts/DomainRegistry.sol/DomainRegistry.json +1 -1
  20. package/src/artifacts/src/contracts/DomainRegistry.sol/DomainRegistryInterface.json +1 -1
  21. package/src/artifacts/src/contracts/DomainRegistry.sol/artifacts.d.ts +2 -2
  22. package/src/artifacts/src/contracts/test/TestERC1155.sol/TestERC1155.json +1 -1
  23. package/src/artifacts/src/contracts/test/TestERC1155.sol/artifacts.d.ts +1 -1
  24. package/src/artifacts/src/contracts/test/TestERC1271Wallet.sol/IERC20Approve.json +1 -1
  25. package/src/artifacts/src/contracts/test/TestERC1271Wallet.sol/TestERC1271Wallet.json +1 -1
  26. package/src/artifacts/src/contracts/test/TestERC1271Wallet.sol/artifacts.d.ts +2 -2
  27. package/src/artifacts/src/contracts/test/TestERC20.sol/TestERC20.json +1 -1
  28. package/src/artifacts/src/contracts/test/TestERC20.sol/artifacts.d.ts +1 -1
  29. package/src/artifacts/src/contracts/test/TestERC20USDC.sol/TestERC20USDC.json +1 -1
  30. package/src/artifacts/src/contracts/test/TestERC20USDC.sol/artifacts.d.ts +1 -1
  31. package/src/artifacts/src/contracts/test/TestERC721.sol/TestERC721.json +1 -1
  32. package/src/artifacts/src/contracts/test/TestERC721.sol/artifacts.d.ts +1 -1
  33. package/src/seaport.ts +77 -22
  34. package/src/typechain-types/hardhat.d.ts +12 -12
  35. package/src/typechain-types/index.ts +6 -6
  36. package/src/utils/fulfill.ts +3 -1
  37. package/src/artifacts/build-info/solc-0_8_24-4919f060ad5018d55598e984a399ab6375a00193.output.json +0 -1
@@ -3071,5 +3071,5 @@
3071
3071
  ]
3072
3072
  },
3073
3073
  "inputSourceName": "npm/seaport@1.6.0/contracts/Seaport.sol",
3074
- "buildInfoId": "solc-0_8_24-4919f060ad5018d55598e984a399ab6375a00193"
3074
+ "buildInfoId": "solc-0_8_24-3b175b848e18537609b8280784729ef8c3a59ecd"
3075
3075
  }
@@ -15,7 +15,7 @@ export interface Seaport$Type {
15
15
  readonly deployedLinkReferences: {};
16
16
  readonly immutableReferences: {"4332":[{"length":32,"start":11978}],"4334":[{"length":32,"start":12014}],"4336":[{"length":32,"start":11941}],"4338":[{"length":32,"start":2896},{"length":32,"start":5604}],"4340":[{"length":32,"start":2998},{"length":32,"start":5275}],"4342":[{"length":32,"start":3111},{"length":32,"start":5714}],"4344":[{"length":32,"start":11893}],"4346":[{"length":32,"start":12077}],"4349":[{"length":32,"start":4791},{"length":32,"start":12389}],"4351":[{"length":32,"start":12437}],"11391":[{"length":32,"start":877},{"length":32,"start":1076},{"length":32,"start":6770},{"length":32,"start":6853},{"length":32,"start":9445}],"11393":[{"length":32,"start":1151}]};
17
17
  readonly inputSourceName: "npm/seaport@1.6.0/contracts/Seaport.sol";
18
- readonly buildInfoId: "solc-0_8_24-4919f060ad5018d55598e984a399ab6375a00193";
18
+ readonly buildInfoId: "solc-0_8_24-3b175b848e18537609b8280784729ef8c3a59ecd";
19
19
  };
20
20
 
21
21
  import "hardhat/types/artifacts";
@@ -396,5 +396,5 @@
396
396
  ]
397
397
  },
398
398
  "inputSourceName": "npm/seaport@1.6.0/contracts/conduit/Conduit.sol",
399
- "buildInfoId": "solc-0_8_24-4919f060ad5018d55598e984a399ab6375a00193"
399
+ "buildInfoId": "solc-0_8_24-3b175b848e18537609b8280784729ef8c3a59ecd"
400
400
  }
@@ -15,7 +15,7 @@ export interface LocalConduit$Type {
15
15
  readonly deployedLinkReferences: {};
16
16
  readonly immutableReferences: {"1656":[{"length":32,"start":466}]};
17
17
  readonly inputSourceName: "npm/seaport@1.6.0/contracts/conduit/Conduit.sol";
18
- readonly buildInfoId: "solc-0_8_24-4919f060ad5018d55598e984a399ab6375a00193";
18
+ readonly buildInfoId: "solc-0_8_24-3b175b848e18537609b8280784729ef8c3a59ecd";
19
19
  };
20
20
 
21
21
  import "hardhat/types/artifacts";
@@ -469,5 +469,5 @@
469
469
  ]
470
470
  },
471
471
  "inputSourceName": "npm/seaport@1.6.0/contracts/conduit/ConduitController.sol",
472
- "buildInfoId": "solc-0_8_24-4919f060ad5018d55598e984a399ab6375a00193"
472
+ "buildInfoId": "solc-0_8_24-3b175b848e18537609b8280784729ef8c3a59ecd"
473
473
  }
@@ -15,7 +15,7 @@ export interface LocalConduitController$Type {
15
15
  readonly deployedLinkReferences: {};
16
16
  readonly immutableReferences: {"1936":[{"length":32,"start":287},{"length":32,"start":1977},{"length":32,"start":2203}],"1938":[{"length":32,"start":322},{"length":32,"start":2065},{"length":32,"start":2271}]};
17
17
  readonly inputSourceName: "npm/seaport@1.6.0/contracts/conduit/ConduitController.sol";
18
- readonly buildInfoId: "solc-0_8_24-4919f060ad5018d55598e984a399ab6375a00193";
18
+ readonly buildInfoId: "solc-0_8_24-3b175b848e18537609b8280784729ef8c3a59ecd";
19
19
  };
20
20
 
21
21
  import "hardhat/types/artifacts";
@@ -148,5 +148,5 @@
148
148
  "deployedLinkReferences": {},
149
149
  "immutableReferences": {},
150
150
  "inputSourceName": "project/src/contracts/DomainRegistry.sol",
151
- "buildInfoId": "solc-0_8_24-4919f060ad5018d55598e984a399ab6375a00193"
151
+ "buildInfoId": "solc-0_8_24-3b175b848e18537609b8280784729ef8c3a59ecd"
152
152
  }
@@ -148,5 +148,5 @@
148
148
  "deployedLinkReferences": {},
149
149
  "immutableReferences": {},
150
150
  "inputSourceName": "project/src/contracts/DomainRegistry.sol",
151
- "buildInfoId": "solc-0_8_24-4919f060ad5018d55598e984a399ab6375a00193"
151
+ "buildInfoId": "solc-0_8_24-3b175b848e18537609b8280784729ef8c3a59ecd"
152
152
  }
@@ -15,7 +15,7 @@ export interface DomainRegistry$Type {
15
15
  readonly deployedLinkReferences: {};
16
16
  readonly immutableReferences: {};
17
17
  readonly inputSourceName: "project/src/contracts/DomainRegistry.sol";
18
- readonly buildInfoId: "solc-0_8_24-4919f060ad5018d55598e984a399ab6375a00193";
18
+ readonly buildInfoId: "solc-0_8_24-3b175b848e18537609b8280784729ef8c3a59ecd";
19
19
  };
20
20
 
21
21
  export interface DomainRegistryInterface$Type {
@@ -29,7 +29,7 @@ export interface DomainRegistryInterface$Type {
29
29
  readonly deployedLinkReferences: {};
30
30
  readonly immutableReferences: {};
31
31
  readonly inputSourceName: "project/src/contracts/DomainRegistry.sol";
32
- readonly buildInfoId: "solc-0_8_24-4919f060ad5018d55598e984a399ab6375a00193";
32
+ readonly buildInfoId: "solc-0_8_24-3b175b848e18537609b8280784729ef8c3a59ecd";
33
33
  };
34
34
 
35
35
  import "hardhat/types/artifacts";
@@ -351,5 +351,5 @@
351
351
  "deployedLinkReferences": {},
352
352
  "immutableReferences": {},
353
353
  "inputSourceName": "project/src/contracts/test/TestERC1155.sol",
354
- "buildInfoId": "solc-0_8_24-4919f060ad5018d55598e984a399ab6375a00193"
354
+ "buildInfoId": "solc-0_8_24-3b175b848e18537609b8280784729ef8c3a59ecd"
355
355
  }
@@ -15,7 +15,7 @@ export interface TestERC1155$Type {
15
15
  readonly deployedLinkReferences: {};
16
16
  readonly immutableReferences: {};
17
17
  readonly inputSourceName: "project/src/contracts/test/TestERC1155.sol";
18
- readonly buildInfoId: "solc-0_8_24-4919f060ad5018d55598e984a399ab6375a00193";
18
+ readonly buildInfoId: "solc-0_8_24-3b175b848e18537609b8280784729ef8c3a59ecd";
19
19
  };
20
20
 
21
21
  import "hardhat/types/artifacts";
@@ -34,5 +34,5 @@
34
34
  "deployedLinkReferences": {},
35
35
  "immutableReferences": {},
36
36
  "inputSourceName": "project/src/contracts/test/TestERC1271Wallet.sol",
37
- "buildInfoId": "solc-0_8_24-4919f060ad5018d55598e984a399ab6375a00193"
37
+ "buildInfoId": "solc-0_8_24-3b175b848e18537609b8280784729ef8c3a59ecd"
38
38
  }
@@ -109,5 +109,5 @@
109
109
  "deployedLinkReferences": {},
110
110
  "immutableReferences": {},
111
111
  "inputSourceName": "project/src/contracts/test/TestERC1271Wallet.sol",
112
- "buildInfoId": "solc-0_8_24-4919f060ad5018d55598e984a399ab6375a00193"
112
+ "buildInfoId": "solc-0_8_24-3b175b848e18537609b8280784729ef8c3a59ecd"
113
113
  }
@@ -15,7 +15,7 @@ export interface IERC20Approve$Type {
15
15
  readonly deployedLinkReferences: {};
16
16
  readonly immutableReferences: {};
17
17
  readonly inputSourceName: "project/src/contracts/test/TestERC1271Wallet.sol";
18
- readonly buildInfoId: "solc-0_8_24-4919f060ad5018d55598e984a399ab6375a00193";
18
+ readonly buildInfoId: "solc-0_8_24-3b175b848e18537609b8280784729ef8c3a59ecd";
19
19
  };
20
20
 
21
21
  export interface TestERC1271Wallet$Type {
@@ -29,7 +29,7 @@ export interface TestERC1271Wallet$Type {
29
29
  readonly deployedLinkReferences: {};
30
30
  readonly immutableReferences: {};
31
31
  readonly inputSourceName: "project/src/contracts/test/TestERC1271Wallet.sol";
32
- readonly buildInfoId: "solc-0_8_24-4919f060ad5018d55598e984a399ab6375a00193";
32
+ readonly buildInfoId: "solc-0_8_24-3b175b848e18537609b8280784729ef8c3a59ecd";
33
33
  };
34
34
 
35
35
  import "hardhat/types/artifacts";
@@ -381,5 +381,5 @@
381
381
  ]
382
382
  },
383
383
  "inputSourceName": "project/src/contracts/test/TestERC20.sol",
384
- "buildInfoId": "solc-0_8_24-4919f060ad5018d55598e984a399ab6375a00193"
384
+ "buildInfoId": "solc-0_8_24-3b175b848e18537609b8280784729ef8c3a59ecd"
385
385
  }
@@ -15,7 +15,7 @@ export interface TestERC20$Type {
15
15
  readonly deployedLinkReferences: {};
16
16
  readonly immutableReferences: {"703":[{"length":32,"start":369}],"717":[{"length":32,"start":927}],"719":[{"length":32,"start":980}]};
17
17
  readonly inputSourceName: "project/src/contracts/test/TestERC20.sol";
18
- readonly buildInfoId: "solc-0_8_24-4919f060ad5018d55598e984a399ab6375a00193";
18
+ readonly buildInfoId: "solc-0_8_24-3b175b848e18537609b8280784729ef8c3a59ecd";
19
19
  };
20
20
 
21
21
  import "hardhat/types/artifacts";
@@ -381,5 +381,5 @@
381
381
  ]
382
382
  },
383
383
  "inputSourceName": "project/src/contracts/test/TestERC20USDC.sol",
384
- "buildInfoId": "solc-0_8_24-4919f060ad5018d55598e984a399ab6375a00193"
384
+ "buildInfoId": "solc-0_8_24-3b175b848e18537609b8280784729ef8c3a59ecd"
385
385
  }
@@ -15,7 +15,7 @@ export interface TestERC20USDC$Type {
15
15
  readonly deployedLinkReferences: {};
16
16
  readonly immutableReferences: {"703":[{"length":32,"start":369}],"717":[{"length":32,"start":927}],"719":[{"length":32,"start":980}]};
17
17
  readonly inputSourceName: "project/src/contracts/test/TestERC20USDC.sol";
18
- readonly buildInfoId: "solc-0_8_24-4919f060ad5018d55598e984a399ab6375a00193";
18
+ readonly buildInfoId: "solc-0_8_24-3b175b848e18537609b8280784729ef8c3a59ecd";
19
19
  };
20
20
 
21
21
  import "hardhat/types/artifacts";
@@ -364,5 +364,5 @@
364
364
  "deployedLinkReferences": {},
365
365
  "immutableReferences": {},
366
366
  "inputSourceName": "project/src/contracts/test/TestERC721.sol",
367
- "buildInfoId": "solc-0_8_24-4919f060ad5018d55598e984a399ab6375a00193"
367
+ "buildInfoId": "solc-0_8_24-3b175b848e18537609b8280784729ef8c3a59ecd"
368
368
  }
@@ -15,7 +15,7 @@ export interface TestERC721$Type {
15
15
  readonly deployedLinkReferences: {};
16
16
  readonly immutableReferences: {};
17
17
  readonly inputSourceName: "project/src/contracts/test/TestERC721.sol";
18
- readonly buildInfoId: "solc-0_8_24-4919f060ad5018d55598e984a399ab6375a00193";
18
+ readonly buildInfoId: "solc-0_8_24-3b175b848e18537609b8280784729ef8c3a59ecd";
19
19
  };
20
20
 
21
21
  import "hardhat/types/artifacts";
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,
@@ -936,6 +937,7 @@ export class Seaport {
936
937
  * Defaults to the zero address which means the offer goes to the fulfiller
937
938
  * @param input.domain optional domain to be hashed and appended to calldata
938
939
  * @param input.exactApproval optional boolean to indicate whether the approval should be exact or not
940
+ * @param input.overrides any transaction overrides the client wants, ignored if not set
939
941
  * @returns a use case containing the set of approval actions and fulfillment action
940
942
  */
941
943
  public async fulfillOrders({
@@ -945,6 +947,7 @@ export class Seaport {
945
947
  recipientAddress = ethers.ZeroAddress,
946
948
  domain,
947
949
  exactApproval = false,
950
+ overrides,
948
951
  }: {
949
952
  fulfillOrderDetails: {
950
953
  order: OrderWithCounter
@@ -959,6 +962,7 @@ export class Seaport {
959
962
  recipientAddress?: string
960
963
  domain?: string
961
964
  exactApproval?: boolean
965
+ overrides?: Overrides
962
966
  }) {
963
967
  if (
964
968
  fulfillOrderDetails.some(orderDetails => !orderDetails.order.signature)
@@ -1063,20 +1067,26 @@ export class Seaport {
1063
1067
  recipientAddress,
1064
1068
  domain,
1065
1069
  exactApproval,
1070
+ overrides,
1066
1071
  })
1067
1072
  }
1068
1073
 
1069
1074
  /**
1070
- * NOTE: Largely incomplete. Does NOT do any balance or approval checks.
1071
- * Just exposes the bare bones matchOrders where clients will have to supply
1072
- * their own overrides as needed.
1073
- * @param input
1074
- * @param input.orders the list of orders to match
1075
- * @param input.fulfillments the list of fulfillments to match offer and considerations
1076
- * @param input.overrides any transaction overrides the client wants, will need to pass in value for matching orders with ETH.
1077
- * @param input.accountAddress Optional address for which to match the order with
1078
- * @param input.domain optional domain to be hashed and appended to calldata
1079
- * @returns set of transaction methods for matching orders
1075
+ * Matches a set of orders against each other so that the total offer amounts
1076
+ * satisfy the total consideration amounts across all matched fulfillments.
1077
+ *
1078
+ * WARNING: This is a low-level method that passes arguments directly to the Seaport
1079
+ * contract. It does NOT perform balance or approval checks. Callers are responsible
1080
+ * for ensuring all parties have sufficient balances and approvals before calling.
1081
+ * Pass `value` in `overrides` when matching orders that include ETH.
1082
+ *
1083
+ * @param input.orders The list of orders to match.
1084
+ * @param input.fulfillments The list of fulfillments pairing offer and consideration
1085
+ * components across the provided orders.
1086
+ * @param input.overrides Transaction overrides (e.g. `{ value }` for ETH-based matches).
1087
+ * @param input.accountAddress Optional address to send the transaction from.
1088
+ * @param input.domain Optional domain to be hashed and appended to calldata.
1089
+ * @returns A set of transaction methods (transact, estimateGas, staticCall, buildTransaction).
1080
1090
  */
1081
1091
  public matchOrders({
1082
1092
  orders,
@@ -1093,6 +1103,11 @@ export class Seaport {
1093
1103
  }): TransactionMethods<
1094
1104
  ContractMethodReturnType<SeaportContract, "matchOrders">
1095
1105
  > {
1106
+ this._validateMatchOrdersNativeValue(
1107
+ orders.map(o => o.parameters),
1108
+ overrides,
1109
+ )
1110
+
1096
1111
  return getTransactionMethods(
1097
1112
  this._getSigner(accountAddress),
1098
1113
  this.contract,
@@ -1103,18 +1118,27 @@ export class Seaport {
1103
1118
  }
1104
1119
 
1105
1120
  /**
1106
- * NOTE: Largely incomplete. Does NOT do any balance or approval checks.
1107
- * Just exposes the bare bones matchAdvancedOrders where clients will have to supply
1108
- * their own overrides as needed.
1109
- * @param input
1110
- * @param input.orders the list of advanced orders to match
1111
- * @param input.criteriaResolvers the list of criteria resolvers
1112
- * @param input.fulfillments the list of fulfillments to match offer and considerations
1113
- * @param input.recipient the recipient of any unspent offer item amounts or native tokens
1114
- * @param input.overrides any transaction overrides the client wants, will need to pass in value for matching orders with ETH.
1115
- * @param input.accountAddress Optional address for which to match the order with
1116
- * @param input.domain optional domain to be hashed and appended to calldata
1117
- * @returns set of transaction methods for matching advanced orders
1121
+ * Matches a set of advanced orders against each other, supporting partial fills
1122
+ * (numerator/denominator), criteria resolvers, extra data, and an explicit recipient
1123
+ * for any unspent offer amounts or native tokens.
1124
+ *
1125
+ * WARNING: This is a low-level method that passes arguments directly to the Seaport
1126
+ * contract. It does NOT perform balance or approval checks. Callers are responsible
1127
+ * for ensuring all parties have sufficient balances and approvals before calling.
1128
+ * Pass `value` in `overrides` when matching orders that include ETH.
1129
+ *
1130
+ * @param input.orders The list of advanced orders to match. Each order includes
1131
+ * numerator/denominator for partial fill amounts and extraData for zone validation.
1132
+ * @param input.criteriaResolvers Resolvers for criteria-based items (e.g. collection offers),
1133
+ * mapping criteria to specific token identifiers with merkle proofs.
1134
+ * @param input.fulfillments The list of fulfillments pairing offer and consideration
1135
+ * components across the provided orders.
1136
+ * @param input.recipient The address to receive any unspent offer item amounts or
1137
+ * native tokens remaining after all fulfillments are applied.
1138
+ * @param input.overrides Transaction overrides (e.g. `{ value }` for ETH-based matches).
1139
+ * @param input.accountAddress Optional address to send the transaction from.
1140
+ * @param input.domain Optional domain to be hashed and appended to calldata.
1141
+ * @returns A set of transaction methods (transact, estimateGas, staticCall, buildTransaction).
1118
1142
  */
1119
1143
  public matchAdvancedOrders({
1120
1144
  orders,
@@ -1135,6 +1159,11 @@ export class Seaport {
1135
1159
  }): TransactionMethods<
1136
1160
  ContractMethodReturnType<SeaportContract, "matchAdvancedOrders">
1137
1161
  > {
1162
+ this._validateMatchOrdersNativeValue(
1163
+ orders.map(o => o.parameters),
1164
+ overrides,
1165
+ )
1166
+
1138
1167
  return getTransactionMethods(
1139
1168
  this._getSigner(accountAddress),
1140
1169
  this.contract,
@@ -1205,4 +1234,30 @@ export class Seaport {
1205
1234
  return await domainArray
1206
1235
  }
1207
1236
  }
1237
+
1238
+ /**
1239
+ * Validates that `overrides.value` is provided when any of the matched orders
1240
+ * involve native ETH. Forgetting to set `value` is a common mistake that
1241
+ * results in an opaque revert from the Seaport contract.
1242
+ */
1243
+ private _validateMatchOrdersNativeValue(
1244
+ orderParams: {
1245
+ offer: { itemType: ItemType }[]
1246
+ consideration: { itemType: ItemType }[]
1247
+ }[],
1248
+ overrides?: Overrides,
1249
+ ) {
1250
+ const hasNativeToken = orderParams.some(
1251
+ params =>
1252
+ params.offer.some(item => item.itemType === ItemType.NATIVE) ||
1253
+ params.consideration.some(item => item.itemType === ItemType.NATIVE),
1254
+ )
1255
+
1256
+ if (hasNativeToken && !overrides?.value) {
1257
+ throw new Error(
1258
+ "Orders contain native ETH items but no `value` was provided in overrides. " +
1259
+ "Pass the required ETH amount via `overrides: { value }` to avoid a revert.",
1260
+ )
1261
+ }
1262
+ }
1208
1263
  }
@@ -11,49 +11,49 @@ import * as Contracts from "./index.js";
11
11
  declare module "@nomicfoundation/hardhat-ethers/types" {
12
12
  interface HardhatEthersHelpers extends HardhatEthersHelpersBase {
13
13
  getContractFactory(name: 'Seaport', signerOrOptions?: ethers.Signer | FactoryOptions): Promise<Contracts.Seaport__factory>
14
- getContractFactory(name: 'LocalConduit', signerOrOptions?: ethers.Signer | FactoryOptions): Promise<Contracts.LocalConduit__factory>
15
- getContractFactory(name: 'LocalConduitController', signerOrOptions?: ethers.Signer | FactoryOptions): Promise<Contracts.LocalConduitController__factory>
16
14
  getContractFactory(name: 'DomainRegistry', signerOrOptions?: ethers.Signer | FactoryOptions): Promise<Contracts.DomainRegistry__factory>
17
15
  getContractFactory(name: 'DomainRegistryInterface', signerOrOptions?: ethers.Signer | FactoryOptions): Promise<Contracts.DomainRegistryInterface__factory>
18
- getContractFactory(name: 'TestERC1155', signerOrOptions?: ethers.Signer | FactoryOptions): Promise<Contracts.TestERC1155__factory>
16
+ getContractFactory(name: 'LocalConduit', signerOrOptions?: ethers.Signer | FactoryOptions): Promise<Contracts.LocalConduit__factory>
17
+ getContractFactory(name: 'LocalConduitController', signerOrOptions?: ethers.Signer | FactoryOptions): Promise<Contracts.LocalConduitController__factory>
19
18
  getContractFactory(name: 'IERC20Approve', signerOrOptions?: ethers.Signer | FactoryOptions): Promise<Contracts.IERC20Approve__factory>
20
19
  getContractFactory(name: 'TestERC1271Wallet', signerOrOptions?: ethers.Signer | FactoryOptions): Promise<Contracts.TestERC1271Wallet__factory>
20
+ getContractFactory(name: 'TestERC1155', signerOrOptions?: ethers.Signer | FactoryOptions): Promise<Contracts.TestERC1155__factory>
21
21
  getContractFactory(name: 'TestERC20', signerOrOptions?: ethers.Signer | FactoryOptions): Promise<Contracts.TestERC20__factory>
22
22
  getContractFactory(name: 'TestERC20USDC', signerOrOptions?: ethers.Signer | FactoryOptions): Promise<Contracts.TestERC20USDC__factory>
23
23
  getContractFactory(name: 'TestERC721', signerOrOptions?: ethers.Signer | FactoryOptions): Promise<Contracts.TestERC721__factory>
24
24
 
25
25
  getContractAt(name: 'Seaport', address: string | ethers.Addressable, signer?: ethers.Signer): Promise<Contracts.Seaport>
26
- getContractAt(name: 'LocalConduit', address: string | ethers.Addressable, signer?: ethers.Signer): Promise<Contracts.LocalConduit>
27
- getContractAt(name: 'LocalConduitController', address: string | ethers.Addressable, signer?: ethers.Signer): Promise<Contracts.LocalConduitController>
28
26
  getContractAt(name: 'DomainRegistry', address: string | ethers.Addressable, signer?: ethers.Signer): Promise<Contracts.DomainRegistry>
29
27
  getContractAt(name: 'DomainRegistryInterface', address: string | ethers.Addressable, signer?: ethers.Signer): Promise<Contracts.DomainRegistryInterface>
30
- getContractAt(name: 'TestERC1155', address: string | ethers.Addressable, signer?: ethers.Signer): Promise<Contracts.TestERC1155>
28
+ getContractAt(name: 'LocalConduit', address: string | ethers.Addressable, signer?: ethers.Signer): Promise<Contracts.LocalConduit>
29
+ getContractAt(name: 'LocalConduitController', address: string | ethers.Addressable, signer?: ethers.Signer): Promise<Contracts.LocalConduitController>
31
30
  getContractAt(name: 'IERC20Approve', address: string | ethers.Addressable, signer?: ethers.Signer): Promise<Contracts.IERC20Approve>
32
31
  getContractAt(name: 'TestERC1271Wallet', address: string | ethers.Addressable, signer?: ethers.Signer): Promise<Contracts.TestERC1271Wallet>
32
+ getContractAt(name: 'TestERC1155', address: string | ethers.Addressable, signer?: ethers.Signer): Promise<Contracts.TestERC1155>
33
33
  getContractAt(name: 'TestERC20', address: string | ethers.Addressable, signer?: ethers.Signer): Promise<Contracts.TestERC20>
34
34
  getContractAt(name: 'TestERC20USDC', address: string | ethers.Addressable, signer?: ethers.Signer): Promise<Contracts.TestERC20USDC>
35
35
  getContractAt(name: 'TestERC721', address: string | ethers.Addressable, signer?: ethers.Signer): Promise<Contracts.TestERC721>
36
36
 
37
37
  deployContract(name: 'Seaport', signerOrOptions?: ethers.Signer | DeployContractOptions): Promise<Contracts.Seaport>
38
- deployContract(name: 'LocalConduit', signerOrOptions?: ethers.Signer | DeployContractOptions): Promise<Contracts.LocalConduit>
39
- deployContract(name: 'LocalConduitController', signerOrOptions?: ethers.Signer | DeployContractOptions): Promise<Contracts.LocalConduitController>
40
38
  deployContract(name: 'DomainRegistry', signerOrOptions?: ethers.Signer | DeployContractOptions): Promise<Contracts.DomainRegistry>
41
39
  deployContract(name: 'DomainRegistryInterface', signerOrOptions?: ethers.Signer | DeployContractOptions): Promise<Contracts.DomainRegistryInterface>
42
- deployContract(name: 'TestERC1155', signerOrOptions?: ethers.Signer | DeployContractOptions): Promise<Contracts.TestERC1155>
40
+ deployContract(name: 'LocalConduit', signerOrOptions?: ethers.Signer | DeployContractOptions): Promise<Contracts.LocalConduit>
41
+ deployContract(name: 'LocalConduitController', signerOrOptions?: ethers.Signer | DeployContractOptions): Promise<Contracts.LocalConduitController>
43
42
  deployContract(name: 'IERC20Approve', signerOrOptions?: ethers.Signer | DeployContractOptions): Promise<Contracts.IERC20Approve>
44
43
  deployContract(name: 'TestERC1271Wallet', signerOrOptions?: ethers.Signer | DeployContractOptions): Promise<Contracts.TestERC1271Wallet>
44
+ deployContract(name: 'TestERC1155', signerOrOptions?: ethers.Signer | DeployContractOptions): Promise<Contracts.TestERC1155>
45
45
  deployContract(name: 'TestERC20', signerOrOptions?: ethers.Signer | DeployContractOptions): Promise<Contracts.TestERC20>
46
46
  deployContract(name: 'TestERC20USDC', signerOrOptions?: ethers.Signer | DeployContractOptions): Promise<Contracts.TestERC20USDC>
47
47
  deployContract(name: 'TestERC721', signerOrOptions?: ethers.Signer | DeployContractOptions): Promise<Contracts.TestERC721>
48
48
 
49
49
  deployContract(name: 'Seaport', args: any[], signerOrOptions?: ethers.Signer | DeployContractOptions): Promise<Contracts.Seaport>
50
- deployContract(name: 'LocalConduit', args: any[], signerOrOptions?: ethers.Signer | DeployContractOptions): Promise<Contracts.LocalConduit>
51
- deployContract(name: 'LocalConduitController', args: any[], signerOrOptions?: ethers.Signer | DeployContractOptions): Promise<Contracts.LocalConduitController>
52
50
  deployContract(name: 'DomainRegistry', args: any[], signerOrOptions?: ethers.Signer | DeployContractOptions): Promise<Contracts.DomainRegistry>
53
51
  deployContract(name: 'DomainRegistryInterface', args: any[], signerOrOptions?: ethers.Signer | DeployContractOptions): Promise<Contracts.DomainRegistryInterface>
54
- deployContract(name: 'TestERC1155', args: any[], signerOrOptions?: ethers.Signer | DeployContractOptions): Promise<Contracts.TestERC1155>
52
+ deployContract(name: 'LocalConduit', args: any[], signerOrOptions?: ethers.Signer | DeployContractOptions): Promise<Contracts.LocalConduit>
53
+ deployContract(name: 'LocalConduitController', args: any[], signerOrOptions?: ethers.Signer | DeployContractOptions): Promise<Contracts.LocalConduitController>
55
54
  deployContract(name: 'IERC20Approve', args: any[], signerOrOptions?: ethers.Signer | DeployContractOptions): Promise<Contracts.IERC20Approve>
56
55
  deployContract(name: 'TestERC1271Wallet', args: any[], signerOrOptions?: ethers.Signer | DeployContractOptions): Promise<Contracts.TestERC1271Wallet>
56
+ deployContract(name: 'TestERC1155', args: any[], signerOrOptions?: ethers.Signer | DeployContractOptions): Promise<Contracts.TestERC1155>
57
57
  deployContract(name: 'TestERC20', args: any[], signerOrOptions?: ethers.Signer | DeployContractOptions): Promise<Contracts.TestERC20>
58
58
  deployContract(name: 'TestERC20USDC', args: any[], signerOrOptions?: ethers.Signer | DeployContractOptions): Promise<Contracts.TestERC20USDC>
59
59
  deployContract(name: 'TestERC721', args: any[], signerOrOptions?: ethers.Signer | DeployContractOptions): Promise<Contracts.TestERC721>
@@ -8,20 +8,20 @@ export type { src };
8
8
  export * as factories from './factories/index.js';
9
9
  export type { Seaport } from './seaport/contracts/Seaport.js';
10
10
  export { Seaport__factory } from './factories/seaport/contracts/Seaport__factory.js';
11
- export type { LocalConduit } from './seaport/contracts/conduit/Conduit.sol/LocalConduit.js';
12
- export { LocalConduit__factory } from './factories/seaport/contracts/conduit/Conduit.sol/LocalConduit__factory.js';
13
- export type { LocalConduitController } from './seaport/contracts/conduit/ConduitController.sol/LocalConduitController.js';
14
- export { LocalConduitController__factory } from './factories/seaport/contracts/conduit/ConduitController.sol/LocalConduitController__factory.js';
15
11
  export type { DomainRegistry } from './src/contracts/DomainRegistry.sol/DomainRegistry.js';
16
12
  export { DomainRegistry__factory } from './factories/src/contracts/DomainRegistry.sol/DomainRegistry__factory.js';
17
13
  export type { DomainRegistryInterface } from './src/contracts/DomainRegistry.sol/DomainRegistryInterface.js';
18
14
  export { DomainRegistryInterface__factory } from './factories/src/contracts/DomainRegistry.sol/DomainRegistryInterface__factory.js';
19
- export type { TestERC1155 } from './src/contracts/test/TestERC1155.js';
20
- export { TestERC1155__factory } from './factories/src/contracts/test/TestERC1155__factory.js';
15
+ export type { LocalConduit } from './seaport/contracts/conduit/Conduit.sol/LocalConduit.js';
16
+ export { LocalConduit__factory } from './factories/seaport/contracts/conduit/Conduit.sol/LocalConduit__factory.js';
17
+ export type { LocalConduitController } from './seaport/contracts/conduit/ConduitController.sol/LocalConduitController.js';
18
+ export { LocalConduitController__factory } from './factories/seaport/contracts/conduit/ConduitController.sol/LocalConduitController__factory.js';
21
19
  export type { IERC20Approve } from './src/contracts/test/TestERC1271Wallet.sol/IERC20Approve.js';
22
20
  export { IERC20Approve__factory } from './factories/src/contracts/test/TestERC1271Wallet.sol/IERC20Approve__factory.js';
23
21
  export type { TestERC1271Wallet } from './src/contracts/test/TestERC1271Wallet.sol/TestERC1271Wallet.js';
24
22
  export { TestERC1271Wallet__factory } from './factories/src/contracts/test/TestERC1271Wallet.sol/TestERC1271Wallet__factory.js';
23
+ export type { TestERC1155 } from './src/contracts/test/TestERC1155.js';
24
+ export { TestERC1155__factory } from './factories/src/contracts/test/TestERC1155__factory.js';
25
25
  export type { TestERC20 } from './src/contracts/test/TestERC20.js';
26
26
  export { TestERC20__factory } from './factories/src/contracts/test/TestERC20__factory.js';
27
27
  export type { TestERC20USDC } from './src/contracts/test/TestERC20USDC.js';
@@ -552,6 +552,7 @@ export function fulfillAvailableOrders({
552
552
  recipientAddress,
553
553
  exactApproval,
554
554
  domain,
555
+ overrides,
555
556
  }: {
556
557
  ordersMetadata: FulfillOrdersMetadata
557
558
  seaportContract: SeaportContract
@@ -564,6 +565,7 @@ export function fulfillAvailableOrders({
564
565
  recipientAddress: string
565
566
  exactApproval: boolean
566
567
  domain?: string
568
+ overrides?: Overrides
567
569
  }): OrderUseCase<
568
570
  ExchangeAction<
569
571
  ContractMethodReturnType<SeaportContract, "fulfillAvailableAdvancedOrders">
@@ -715,7 +717,7 @@ export function fulfillAvailableOrders({
715
717
  },
716
718
  )
717
719
 
718
- const overrides = { value: totalNativeAmount }
720
+ overrides = { ...overrides, value: totalNativeAmount }
719
721
 
720
722
  const approvalActions = getApprovalActions(
721
723
  totalInsufficientApprovals,