@opensea/seaport-js 1.0.1-beta.0 → 1.0.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 (81) hide show
  1. package/LICENSE +7 -0
  2. package/README.md +141 -5
  3. package/lib/abi/ERC1155.d.ts +29 -29
  4. package/lib/abi/ERC1155.js +319 -0
  5. package/lib/abi/ERC1155.js.map +1 -0
  6. package/lib/abi/ERC20.d.ts +29 -29
  7. package/lib/abi/ERC20.js +317 -0
  8. package/lib/abi/ERC20.js.map +1 -0
  9. package/lib/abi/ERC721.d.ts +29 -29
  10. package/lib/abi/ERC721.js +337 -0
  11. package/lib/abi/ERC721.js.map +1 -0
  12. package/lib/abi/Seaport.d.ts +112 -112
  13. package/lib/abi/Seaport.js +2585 -0
  14. package/lib/abi/Seaport.js.map +1 -0
  15. package/lib/constants.d.ts +53 -49
  16. package/lib/constants.js +78 -0
  17. package/lib/constants.js.map +1 -0
  18. package/lib/index.d.ts +2 -2
  19. package/lib/index.js +6 -2
  20. package/lib/index.js.map +1 -1
  21. package/lib/seaport.d.ts +184 -181
  22. package/lib/seaport.js +732 -0
  23. package/lib/seaport.js.map +1 -0
  24. package/lib/typechain/ERC1155.d.ts +189 -0
  25. package/lib/typechain/ERC1155.js +3 -0
  26. package/lib/typechain/ERC1155.js.map +1 -0
  27. package/lib/typechain/ERC20.d.ts +209 -0
  28. package/lib/typechain/ERC20.js +3 -0
  29. package/lib/typechain/ERC20.js.map +1 -0
  30. package/lib/typechain/ERC721.d.ts +220 -0
  31. package/lib/typechain/ERC721.js +3 -0
  32. package/lib/typechain/ERC721.js.map +1 -0
  33. package/lib/typechain/Seaport.d.ts +686 -0
  34. package/lib/typechain/Seaport.js +3 -0
  35. package/lib/typechain/Seaport.js.map +1 -0
  36. package/lib/typechain/common.d.ts +21 -0
  37. package/lib/typechain/common.js +3 -0
  38. package/lib/typechain/common.js.map +1 -0
  39. package/lib/types.d.ts +221 -207
  40. package/lib/types.js +3 -0
  41. package/lib/types.js.map +1 -0
  42. package/lib/utils/approval.d.ts +9 -9
  43. package/lib/utils/approval.js +108 -0
  44. package/lib/utils/approval.js.map +1 -0
  45. package/lib/utils/balance.d.ts +4 -4
  46. package/lib/utils/balance.js +86 -0
  47. package/lib/utils/balance.js.map +1 -0
  48. package/lib/utils/balanceAndApprovalCheck.d.ts +108 -108
  49. package/lib/utils/balanceAndApprovalCheck.js +322 -0
  50. package/lib/utils/balanceAndApprovalCheck.js.map +1 -0
  51. package/lib/utils/criteria.d.ts +14 -13
  52. package/lib/utils/criteria.js +91 -0
  53. package/lib/utils/criteria.js.map +1 -0
  54. package/lib/utils/fulfill.d.ts +84 -84
  55. package/lib/utils/fulfill.js +573 -0
  56. package/lib/utils/fulfill.js.map +1 -0
  57. package/lib/utils/gcd.d.ts +3 -3
  58. package/lib/utils/gcd.js +25 -0
  59. package/lib/utils/gcd.js.map +1 -0
  60. package/lib/utils/item.d.ts +29 -30
  61. package/lib/utils/item.js +136 -0
  62. package/lib/utils/item.js.map +1 -0
  63. package/lib/utils/match.d.ts +49 -49
  64. package/lib/utils/match.js +56 -0
  65. package/lib/utils/match.js.map +1 -0
  66. package/lib/utils/merkletree.d.ts +11 -11
  67. package/lib/utils/merkletree.js +32 -0
  68. package/lib/utils/merkletree.js.map +1 -0
  69. package/lib/utils/order.d.ts +37 -37
  70. package/lib/utils/order.js +224 -0
  71. package/lib/utils/order.js.map +1 -0
  72. package/lib/utils/usecase.d.ts +4 -4
  73. package/lib/utils/usecase.js +158 -0
  74. package/lib/utils/usecase.js.map +1 -0
  75. package/package.json +43 -43
  76. package/lib/index.esm.mjs +0 -2
  77. package/lib/index.esm.mjs.map +0 -1
  78. package/lib/index.modern.mjs +0 -2
  79. package/lib/index.modern.mjs.map +0 -1
  80. package/lib/index.umd.js +0 -2
  81. package/lib/index.umd.js.map +0 -1
@@ -0,0 +1,224 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __read = (this && this.__read) || function (o, n) {
14
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
15
+ if (!m) return o;
16
+ var i = m.call(o), r, ar = [], e;
17
+ try {
18
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
19
+ }
20
+ catch (error) { e = { error: error }; }
21
+ finally {
22
+ try {
23
+ if (r && !r.done && (m = i["return"])) m.call(i);
24
+ }
25
+ finally { if (e) throw e.error; }
26
+ }
27
+ return ar;
28
+ };
29
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
30
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
31
+ if (ar || !(i in from)) {
32
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
33
+ ar[i] = from[i];
34
+ }
35
+ }
36
+ return to.concat(ar || Array.prototype.slice.call(from));
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.shouldUseMatchForFulfill = exports.generateRandomSalt = exports.mapOrderAmountsFromUnitsToFill = exports.mapOrderAmountsFromFilledStatus = exports.totalItemsAmount = exports.areAllCurrenciesSame = exports.mapInputItemToOfferItem = exports.deductFees = exports.feeToConsiderationItem = void 0;
40
+ var ethers_1 = require("ethers");
41
+ var constants_1 = require("../constants");
42
+ var item_1 = require("./item");
43
+ var merkletree_1 = require("./merkletree");
44
+ var multiplyBasisPoints = function (amount, basisPoints) {
45
+ return ethers_1.BigNumber.from(amount)
46
+ .mul(ethers_1.BigNumber.from(basisPoints))
47
+ .div(constants_1.ONE_HUNDRED_PERCENT_BP);
48
+ };
49
+ var feeToConsiderationItem = function (_a) {
50
+ var fee = _a.fee, token = _a.token, baseAmount = _a.baseAmount, _b = _a.baseEndAmount, baseEndAmount = _b === void 0 ? baseAmount : _b;
51
+ return {
52
+ itemType: token === ethers_1.ethers.constants.AddressZero ? constants_1.ItemType.NATIVE : constants_1.ItemType.ERC20,
53
+ token: token,
54
+ identifierOrCriteria: "0",
55
+ startAmount: multiplyBasisPoints(baseAmount, fee.basisPoints).toString(),
56
+ endAmount: multiplyBasisPoints(baseEndAmount, fee.basisPoints).toString(),
57
+ recipient: fee.recipient,
58
+ };
59
+ };
60
+ exports.feeToConsiderationItem = feeToConsiderationItem;
61
+ var deductFees = function (items, fees) {
62
+ if (!fees) {
63
+ return items;
64
+ }
65
+ var totalBasisPoints = fees.reduce(function (accBasisPoints, fee) { return accBasisPoints + fee.basisPoints; }, 0);
66
+ return items.map(function (item) { return (__assign(__assign({}, item), { startAmount: (0, item_1.isCurrencyItem)(item)
67
+ ? ethers_1.BigNumber.from(item.startAmount)
68
+ .sub(multiplyBasisPoints(item.startAmount, totalBasisPoints))
69
+ .toString()
70
+ : item.startAmount, endAmount: (0, item_1.isCurrencyItem)(item)
71
+ ? ethers_1.BigNumber.from(item.endAmount)
72
+ .sub(multiplyBasisPoints(item.endAmount, totalBasisPoints))
73
+ .toString()
74
+ : item.endAmount })); });
75
+ };
76
+ exports.deductFees = deductFees;
77
+ var mapInputItemToOfferItem = function (item) {
78
+ var _a, _b, _c, _d, _e, _f, _g;
79
+ // Item is an NFT
80
+ if ("itemType" in item) {
81
+ // Convert this to a criteria based item
82
+ if ("identifiers" in item) {
83
+ var tree = new merkletree_1.MerkleTree(item.identifiers);
84
+ return {
85
+ itemType: item.itemType === constants_1.ItemType.ERC721
86
+ ? constants_1.ItemType.ERC721_WITH_CRITERIA
87
+ : constants_1.ItemType.ERC1155_WITH_CRITERIA,
88
+ token: item.token,
89
+ identifierOrCriteria: tree.getRoot(),
90
+ startAmount: (_a = item.amount) !== null && _a !== void 0 ? _a : "1",
91
+ endAmount: (_c = (_b = item.endAmount) !== null && _b !== void 0 ? _b : item.amount) !== null && _c !== void 0 ? _c : "1",
92
+ };
93
+ }
94
+ if ("amount" in item || "endAmount" in item) {
95
+ return {
96
+ itemType: item.itemType,
97
+ token: item.token,
98
+ identifierOrCriteria: item.identifier,
99
+ startAmount: item.amount,
100
+ endAmount: (_e = (_d = item.endAmount) !== null && _d !== void 0 ? _d : item.amount) !== null && _e !== void 0 ? _e : "1",
101
+ };
102
+ }
103
+ return {
104
+ itemType: item.itemType,
105
+ token: item.token,
106
+ identifierOrCriteria: item.identifier,
107
+ startAmount: "1",
108
+ endAmount: "1",
109
+ };
110
+ }
111
+ // Item is a currency
112
+ return {
113
+ itemType: item.token && item.token !== ethers_1.ethers.constants.AddressZero
114
+ ? constants_1.ItemType.ERC20
115
+ : constants_1.ItemType.NATIVE,
116
+ token: (_f = item.token) !== null && _f !== void 0 ? _f : ethers_1.ethers.constants.AddressZero,
117
+ identifierOrCriteria: "0",
118
+ startAmount: item.amount,
119
+ endAmount: (_g = item.endAmount) !== null && _g !== void 0 ? _g : item.amount,
120
+ };
121
+ };
122
+ exports.mapInputItemToOfferItem = mapInputItemToOfferItem;
123
+ var areAllCurrenciesSame = function (_a) {
124
+ var offer = _a.offer, consideration = _a.consideration;
125
+ var allItems = __spreadArray(__spreadArray([], __read(offer), false), __read(consideration), false);
126
+ var currencies = allItems.filter(item_1.isCurrencyItem);
127
+ return currencies.every(function (_a) {
128
+ var itemType = _a.itemType, token = _a.token;
129
+ return itemType === currencies[0].itemType &&
130
+ token.toLowerCase() === currencies[0].token.toLowerCase();
131
+ });
132
+ };
133
+ exports.areAllCurrenciesSame = areAllCurrenciesSame;
134
+ var totalItemsAmount = function (items) {
135
+ var initialValues = {
136
+ startAmount: ethers_1.BigNumber.from(0),
137
+ endAmount: ethers_1.BigNumber.from(0),
138
+ };
139
+ return items
140
+ .map(function (_a) {
141
+ var startAmount = _a.startAmount, endAmount = _a.endAmount;
142
+ return ({
143
+ startAmount: startAmount,
144
+ endAmount: endAmount,
145
+ });
146
+ })
147
+ .reduce(function (_a, _b) {
148
+ var totalStartAmount = _a.startAmount, totalEndAmount = _a.endAmount;
149
+ var startAmount = _b.startAmount, endAmount = _b.endAmount;
150
+ return ({
151
+ startAmount: totalStartAmount.add(startAmount),
152
+ endAmount: totalEndAmount.add(endAmount),
153
+ });
154
+ }, {
155
+ startAmount: ethers_1.BigNumber.from(0),
156
+ endAmount: ethers_1.BigNumber.from(0),
157
+ });
158
+ };
159
+ exports.totalItemsAmount = totalItemsAmount;
160
+ /**
161
+ * Maps order offer and consideration item amounts based on the order's filled status
162
+ * After applying the fraction, we can view this order as the "canonical" order for which we
163
+ * check approvals and balances
164
+ */
165
+ var mapOrderAmountsFromFilledStatus = function (order, _a) {
166
+ var totalFilled = _a.totalFilled, totalSize = _a.totalSize;
167
+ if (totalFilled.eq(0) || totalSize.eq(0)) {
168
+ return order;
169
+ }
170
+ // i.e if totalFilled is 3 and totalSize is 4, there are 1 / 4 order amounts left to fill.
171
+ var basisPoints = totalSize
172
+ .sub(totalFilled)
173
+ .mul(constants_1.ONE_HUNDRED_PERCENT_BP)
174
+ .div(totalSize);
175
+ return {
176
+ parameters: __assign(__assign({}, order.parameters), { offer: order.parameters.offer.map(function (item) { return (__assign(__assign({}, item), { startAmount: multiplyBasisPoints(item.startAmount, basisPoints).toString(), endAmount: multiplyBasisPoints(item.endAmount, basisPoints).toString() })); }), consideration: order.parameters.consideration.map(function (item) { return (__assign(__assign({}, item), { startAmount: multiplyBasisPoints(item.startAmount, basisPoints).toString(), endAmount: multiplyBasisPoints(item.endAmount, basisPoints).toString() })); }) }),
177
+ signature: order.signature,
178
+ };
179
+ };
180
+ exports.mapOrderAmountsFromFilledStatus = mapOrderAmountsFromFilledStatus;
181
+ /**
182
+ * Maps order offer and consideration item amounts based on the units needed to fulfill
183
+ * After applying the fraction, we can view this order as the "canonical" order for which we
184
+ * check approvals and balances
185
+ * Returns the numerator and denominator as well, converting this to an AdvancedOrder
186
+ */
187
+ var mapOrderAmountsFromUnitsToFill = function (order, _a) {
188
+ var unitsToFill = _a.unitsToFill, totalFilled = _a.totalFilled, totalSize = _a.totalSize;
189
+ var unitsToFillBn = ethers_1.BigNumber.from(unitsToFill);
190
+ if (unitsToFillBn.lte(0)) {
191
+ throw new Error("Units to fill must be greater than 1");
192
+ }
193
+ var maxUnits = (0, item_1.getMaximumSizeForOrder)(order);
194
+ if (totalSize.eq(0)) {
195
+ totalSize = maxUnits;
196
+ }
197
+ // This is the percentage of the order that is left to be fulfilled, and therefore we can't fill more than that.
198
+ var remainingOrderPercentageToBeFilled = totalSize
199
+ .sub(totalFilled)
200
+ .mul(constants_1.ONE_HUNDRED_PERCENT_BP)
201
+ .div(totalSize);
202
+ // i.e if totalSize is 8 and unitsToFill is 3, then we multiply every amount by 3 / 8
203
+ var unitsToFillBasisPoints = unitsToFillBn
204
+ .mul(constants_1.ONE_HUNDRED_PERCENT_BP)
205
+ .div(maxUnits);
206
+ // We basically choose the lesser between the units requested to be filled and the actual remaining order amount left
207
+ // This is so that if a user tries to fulfill an order that is 1/2 filled, and supplies a fraction such as 3/4, the maximum
208
+ // amount to fulfill is 1/2 instead of 3/4
209
+ var basisPoints = remainingOrderPercentageToBeFilled.gt(unitsToFillBasisPoints)
210
+ ? unitsToFillBasisPoints
211
+ : remainingOrderPercentageToBeFilled;
212
+ return {
213
+ parameters: __assign(__assign({}, order.parameters), { offer: order.parameters.offer.map(function (item) { return (__assign(__assign({}, item), { startAmount: multiplyBasisPoints(item.startAmount, basisPoints).toString(), endAmount: multiplyBasisPoints(item.endAmount, basisPoints).toString() })); }), consideration: order.parameters.consideration.map(function (item) { return (__assign(__assign({}, item), { startAmount: multiplyBasisPoints(item.startAmount, basisPoints).toString(), endAmount: multiplyBasisPoints(item.endAmount, basisPoints).toString() })); }) }),
214
+ signature: order.signature,
215
+ };
216
+ };
217
+ exports.mapOrderAmountsFromUnitsToFill = mapOrderAmountsFromUnitsToFill;
218
+ var generateRandomSalt = function () {
219
+ return "0x".concat(Buffer.from(ethers_1.ethers.utils.randomBytes(16)).toString("hex"));
220
+ };
221
+ exports.generateRandomSalt = generateRandomSalt;
222
+ var shouldUseMatchForFulfill = function () { return true; };
223
+ exports.shouldUseMatchForFulfill = shouldUseMatchForFulfill;
224
+ //# sourceMappingURL=order.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"order.js","sourceRoot":"","sources":["../../src/utils/order.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Contract } from "ethers";
2
- import { CreateOrderAction, ExchangeAction, OrderUseCase, TransactionMethods, ContractMethodReturnType } from "../types";
3
- export declare const executeAllActions: <T extends CreateOrderAction | ExchangeAction<unknown>>(actions: T extends CreateOrderAction ? import("../types").CreateOrderActions : import("../types").OrderExchangeActions<T extends ExchangeAction<infer U> ? U : never>) => Promise<import("ethers").ContractTransaction | import("../types").OrderWithCounter>;
4
- export declare const getTransactionMethods: <T extends Contract, U extends keyof T["functions"]>(contract: T, method: U, args: Parameters<T["functions"][U]>) => TransactionMethods<Awaited<ReturnType<T["callStatic"][U]>>>;
1
+ import { Contract } from "ethers";
2
+ import { CreateOrderAction, ExchangeAction, OrderUseCase, TransactionMethods, ContractMethodReturnType } from "../types";
3
+ export declare const executeAllActions: <T extends CreateOrderAction | ExchangeAction<unknown>>(actions: T extends CreateOrderAction ? import("../types").CreateOrderActions : import("../types").OrderExchangeActions<T extends ExchangeAction<infer U> ? U : never>) => Promise<import("ethers").ContractTransaction | import("../types").OrderWithCounter>;
4
+ export declare const getTransactionMethods: <T extends Contract, U extends keyof T["functions"]>(contract: T, method: U, args: Parameters<T["functions"][U]>) => TransactionMethods<Awaited<ReturnType<T["callStatic"][U]>>>;
@@ -0,0 +1,158 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ var __generator = (this && this.__generator) || function (thisArg, body) {
23
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
+ function verb(n) { return function (v) { return step([n, v]); }; }
26
+ function step(op) {
27
+ if (f) throw new TypeError("Generator is already executing.");
28
+ while (_) try {
29
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
+ if (y = 0, t) op = [op[0] & 2, t.value];
31
+ switch (op[0]) {
32
+ case 0: case 1: t = op; break;
33
+ case 4: _.label++; return { value: op[1], done: false };
34
+ case 5: _.label++; y = op[1]; op = [0]; continue;
35
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
+ default:
37
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
+ if (t[2]) _.ops.pop();
42
+ _.trys.pop(); continue;
43
+ }
44
+ op = body.call(thisArg, _);
45
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
+ }
48
+ };
49
+ var __read = (this && this.__read) || function (o, n) {
50
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
51
+ if (!m) return o;
52
+ var i = m.call(o), r, ar = [], e;
53
+ try {
54
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
55
+ }
56
+ catch (error) { e = { error: error }; }
57
+ finally {
58
+ try {
59
+ if (r && !r.done && (m = i["return"])) m.call(i);
60
+ }
61
+ finally { if (e) throw e.error; }
62
+ }
63
+ return ar;
64
+ };
65
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
66
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
67
+ if (ar || !(i in from)) {
68
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
69
+ ar[i] = from[i];
70
+ }
71
+ }
72
+ return to.concat(ar || Array.prototype.slice.call(from));
73
+ };
74
+ Object.defineProperty(exports, "__esModule", { value: true });
75
+ exports.getTransactionMethods = exports.executeAllActions = void 0;
76
+ var executeAllActions = function (actions) { return __awaiter(void 0, void 0, void 0, function () {
77
+ var i, action, finalAction, _a;
78
+ return __generator(this, function (_b) {
79
+ switch (_b.label) {
80
+ case 0:
81
+ i = 0;
82
+ _b.label = 1;
83
+ case 1:
84
+ if (!(i < actions.length - 1)) return [3 /*break*/, 4];
85
+ action = actions[i];
86
+ if (!(action.type === "approval")) return [3 /*break*/, 3];
87
+ return [4 /*yield*/, action.transactionMethods.transact()];
88
+ case 2:
89
+ _b.sent();
90
+ _b.label = 3;
91
+ case 3:
92
+ i++;
93
+ return [3 /*break*/, 1];
94
+ case 4:
95
+ finalAction = actions[actions.length - 1];
96
+ if (!(finalAction.type === "create")) return [3 /*break*/, 6];
97
+ return [4 /*yield*/, finalAction.createOrder()];
98
+ case 5:
99
+ _a = _b.sent();
100
+ return [3 /*break*/, 8];
101
+ case 6: return [4 /*yield*/, finalAction.transactionMethods.transact()];
102
+ case 7:
103
+ _a = _b.sent();
104
+ _b.label = 8;
105
+ case 8: return [2 /*return*/, _a];
106
+ }
107
+ });
108
+ }); };
109
+ exports.executeAllActions = executeAllActions;
110
+ var instanceOfOverrides = function (obj) {
111
+ var validKeys = [
112
+ "gasLimit",
113
+ "gasPrice",
114
+ "maxFeePerGas",
115
+ "maxPriorityFeePerGas",
116
+ "nonce",
117
+ "type",
118
+ "accessList",
119
+ "customData",
120
+ "ccipReadEnabled",
121
+ "value",
122
+ "blockTag",
123
+ "CallOverrides",
124
+ ];
125
+ return (obj === undefined ||
126
+ Object.keys(obj).every(function (key) { return validKeys.includes(key); }));
127
+ };
128
+ var getTransactionMethods = function (contract, method, args) {
129
+ var lastArg = args[args.length - 1];
130
+ var initialOverrides;
131
+ if (instanceOfOverrides(lastArg)) {
132
+ initialOverrides = lastArg;
133
+ args.pop();
134
+ }
135
+ return {
136
+ callStatic: function (overrides) {
137
+ var _a;
138
+ var mergedOverrides = __assign(__assign({}, initialOverrides), overrides);
139
+ return (_a = contract.callStatic)[method].apply(_a, __spreadArray([], __read(__spreadArray(__spreadArray([], __read(args), false), [mergedOverrides], false)), false));
140
+ },
141
+ estimateGas: function (overrides) {
142
+ var _a;
143
+ var mergedOverrides = __assign(__assign({}, initialOverrides), overrides);
144
+ return (_a = contract.estimateGas)[method].apply(_a, __spreadArray([], __read(__spreadArray(__spreadArray([], __read(args), false), [mergedOverrides], false)), false));
145
+ },
146
+ transact: function (overrides) {
147
+ var mergedOverrides = __assign(__assign({}, initialOverrides), overrides);
148
+ return contract[method].apply(contract, __spreadArray(__spreadArray([], __read(args), false), [mergedOverrides], false));
149
+ },
150
+ buildTransaction: function (overrides) {
151
+ var _a;
152
+ var mergedOverrides = __assign(__assign({}, initialOverrides), overrides);
153
+ return (_a = contract.populateTransaction)[method].apply(_a, __spreadArray([], __read(__spreadArray(__spreadArray([], __read(args), false), [mergedOverrides], false)), false));
154
+ },
155
+ };
156
+ };
157
+ exports.getTransactionMethods = getTransactionMethods;
158
+ //# sourceMappingURL=usecase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usecase.js","sourceRoot":"","sources":["../../src/utils/usecase.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opensea/seaport-js",
3
- "version": "1.0.1-beta.0",
3
+ "version": "1.0.3",
4
4
  "description": "[Seaport](https://github.com/ProjectOpenSea/seaport) is a new marketplace protocol for safely and efficiently buying and selling NFTs. This is a JavaScript library intended to make interfacing with the contract reasonable and easy.",
5
5
  "license": "MIT",
6
6
  "author": "OpenSea Developers",
@@ -21,9 +21,10 @@
21
21
  "lib": "lib"
22
22
  },
23
23
  "scripts": {
24
- "build": "hardhat compile && microbundle --tsconfig tsconfig.build.json",
24
+ "build": "hardhat compile && tsc -p tsconfig.build.json",
25
25
  "check-types": "tsc --noEmit -p src/__tests__/tsconfig.json",
26
26
  "check-types:incremental": "npm run check-types --incremental",
27
+ "coverage": "c8 yarn test",
27
28
  "eslint:check": "eslint . --max-warnings 0 --ext .js,.jsx,.ts,.tsx",
28
29
  "lint": "concurrently \"npm run check-types\" \"npm run eslint:check\" \"npm run prettier:check\" \"npm run prettier:check:package.json\"",
29
30
  "prepare": "husky install && npm run build",
@@ -32,56 +33,55 @@
32
33
  "prettier:check:package.json": "prettier-package-json --list-different",
33
34
  "prettier:fix": "prettier --write ."
34
35
  },
35
- "sideEffects": false,
36
36
  "types": "lib/index.d.ts",
37
37
  "dependencies": {
38
- "@0xsequence/multicall": "0.39.0",
39
- "ethers": "5.6.7",
40
- "merkletreejs": "0.2.31"
38
+ "@0xsequence/multicall": "^0.39.0",
39
+ "ethers": "^5.6.7",
40
+ "merkletreejs": "^0.2.31"
41
41
  },
42
42
  "devDependencies": {
43
- "@nomiclabs/hardhat-ethers": "2.0.5",
44
- "@nomiclabs/hardhat-waffle": "2.0.3",
45
- "@rari-capital/solmate": "6.2.0",
46
- "@typechain/ethers-v5": "9.0.0",
47
- "@typechain/hardhat": "5.0.0",
48
- "@types/chai": "4.3.0",
49
- "@types/chai-as-promised": "7.1.5",
50
- "@types/mocha": "9.1.0",
51
- "@types/node": "12.20.47",
52
- "@typescript-eslint/eslint-plugin": "4.33.0",
53
- "@typescript-eslint/parser": "4.33.0",
54
- "chai": "4.3.6",
55
- "chai-as-promised": "7.1.1",
56
- "concurrently": "7.1.0",
57
- "dotenv": "10.0.0",
58
- "eslint": "7.32.0",
59
- "eslint-config-prettier": "8.5.0",
60
- "eslint-config-standard": "16.0.3",
61
- "eslint-plugin-import": "2.25.4",
62
- "eslint-plugin-node": "11.1.0",
63
- "eslint-plugin-prettier": "3.4.1",
64
- "eslint-plugin-promise": "5.2.0",
65
- "ethereum-waffle": "3.4.4",
66
- "hardhat": "2.9.1",
67
- "hardhat-gas-reporter": "1.0.8",
43
+ "@nomiclabs/hardhat-ethers": "^2.0.5",
44
+ "@nomiclabs/hardhat-waffle": "^2.0.3",
45
+ "@rari-capital/solmate": "^6.2.0",
46
+ "@typechain/ethers-v5": "^9.0.0",
47
+ "@typechain/hardhat": "^5.0.0",
48
+ "@types/chai": "^4.3.0",
49
+ "@types/chai-as-promised": "^7.1.5",
50
+ "@types/mocha": "^9.1.1",
51
+ "@types/node": "^12.20.47",
52
+ "@typescript-eslint/eslint-plugin": "^5.27.1",
53
+ "@typescript-eslint/parser": "^5.27.1",
54
+ "c8": "^7.11.3",
55
+ "chai": "^4.3.6",
56
+ "chai-as-promised": "^7.1.1",
57
+ "concurrently": "^7.1.0",
58
+ "dotenv": "^10.0.0",
59
+ "eslint": "^8.17.0",
60
+ "eslint-config-prettier": "^8.5.0",
61
+ "eslint-config-standard": "^17.0.0",
62
+ "eslint-plugin-import": "^2.25.4",
63
+ "eslint-plugin-n": "^15.2.0",
64
+ "eslint-plugin-prettier": "^3.4.1",
65
+ "eslint-plugin-promise": "^6.0.0",
66
+ "ethereum-waffle": "^3.4.4",
67
+ "hardhat": "^2.9.1",
68
+ "hardhat-gas-reporter": "^1.0.8",
68
69
  "husky": ">=6",
69
70
  "lint-staged": ">=10",
70
- "microbundle": "0.15.0",
71
- "prettier": "2.5.1",
72
- "prettier-package-json": "2.6.3",
73
- "prettier-plugin-solidity": "1.0.0-beta.13",
71
+ "prettier": "^2.5.1",
72
+ "prettier-package-json": "^2.6.3",
73
+ "prettier-plugin-solidity": "^1.0.0-beta.13",
74
74
  "seaport": "git+https://github.com/ProjectOpenSea/seaport.git#76e508657888e3ec84039e1da269c822826991ef",
75
- "sinon": "13.0.1",
76
- "sinon-chai": "3.7.0",
77
- "solhint": "3.3.7",
78
- "solidity-coverage": "0.7.20",
79
- "ts-node": "10.7.0",
80
- "typechain": "7.0.1",
81
- "typescript": "4.6.2"
75
+ "sinon": "^13.0.1",
76
+ "sinon-chai": "^3.7.0",
77
+ "solhint": "^3.3.7",
78
+ "solidity-coverage": "^0.7.20",
79
+ "ts-node": "^10.7.0",
80
+ "typechain": "^7.0.1",
81
+ "typescript": "^4.6.2"
82
82
  },
83
83
  "engines": {
84
- "node": "16.11.0"
84
+ "node": ">=14.0.0"
85
85
  },
86
86
  "lint-staged": {
87
87
  "package.json": [