@opensea/seaport-js 1.0.0 → 1.0.1-beta.0

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 (79) hide show
  1. package/lib/abi/ERC1155.d.ts +29 -29
  2. package/lib/abi/ERC20.d.ts +29 -29
  3. package/lib/abi/ERC721.d.ts +29 -29
  4. package/lib/abi/Seaport.d.ts +112 -112
  5. package/lib/constants.d.ts +49 -49
  6. package/lib/index.d.ts +2 -2
  7. package/lib/index.esm.mjs +2 -0
  8. package/lib/index.esm.mjs.map +1 -0
  9. package/lib/index.js +2 -6
  10. package/lib/index.js.map +1 -1
  11. package/lib/index.modern.mjs +2 -0
  12. package/lib/index.modern.mjs.map +1 -0
  13. package/lib/index.umd.js +2 -0
  14. package/lib/index.umd.js.map +1 -0
  15. package/lib/seaport.d.ts +181 -181
  16. package/lib/types.d.ts +207 -207
  17. package/lib/utils/approval.d.ts +9 -9
  18. package/lib/utils/balance.d.ts +4 -4
  19. package/lib/utils/balanceAndApprovalCheck.d.ts +108 -108
  20. package/lib/utils/criteria.d.ts +13 -14
  21. package/lib/utils/fulfill.d.ts +84 -84
  22. package/lib/utils/gcd.d.ts +3 -3
  23. package/lib/utils/item.d.ts +30 -29
  24. package/lib/utils/match.d.ts +49 -49
  25. package/lib/utils/merkletree.d.ts +11 -11
  26. package/lib/utils/order.d.ts +37 -37
  27. package/lib/utils/usecase.d.ts +4 -4
  28. package/package.json +4 -2
  29. package/lib/abi/ERC1155.js +0 -319
  30. package/lib/abi/ERC1155.js.map +0 -1
  31. package/lib/abi/ERC20.js +0 -317
  32. package/lib/abi/ERC20.js.map +0 -1
  33. package/lib/abi/ERC721.js +0 -337
  34. package/lib/abi/ERC721.js.map +0 -1
  35. package/lib/abi/Seaport.js +0 -2585
  36. package/lib/abi/Seaport.js.map +0 -1
  37. package/lib/constants.js +0 -73
  38. package/lib/constants.js.map +0 -1
  39. package/lib/seaport.js +0 -720
  40. package/lib/seaport.js.map +0 -1
  41. package/lib/typechain/ERC1155.d.ts +0 -189
  42. package/lib/typechain/ERC1155.js +0 -3
  43. package/lib/typechain/ERC1155.js.map +0 -1
  44. package/lib/typechain/ERC20.d.ts +0 -209
  45. package/lib/typechain/ERC20.js +0 -3
  46. package/lib/typechain/ERC20.js.map +0 -1
  47. package/lib/typechain/ERC721.d.ts +0 -220
  48. package/lib/typechain/ERC721.js +0 -3
  49. package/lib/typechain/ERC721.js.map +0 -1
  50. package/lib/typechain/Seaport.d.ts +0 -686
  51. package/lib/typechain/Seaport.js +0 -3
  52. package/lib/typechain/Seaport.js.map +0 -1
  53. package/lib/typechain/common.d.ts +0 -21
  54. package/lib/typechain/common.js +0 -3
  55. package/lib/typechain/common.js.map +0 -1
  56. package/lib/types.js +0 -3
  57. package/lib/types.js.map +0 -1
  58. package/lib/utils/approval.js +0 -108
  59. package/lib/utils/approval.js.map +0 -1
  60. package/lib/utils/balance.js +0 -86
  61. package/lib/utils/balance.js.map +0 -1
  62. package/lib/utils/balanceAndApprovalCheck.js +0 -322
  63. package/lib/utils/balanceAndApprovalCheck.js.map +0 -1
  64. package/lib/utils/criteria.js +0 -91
  65. package/lib/utils/criteria.js.map +0 -1
  66. package/lib/utils/fulfill.js +0 -573
  67. package/lib/utils/fulfill.js.map +0 -1
  68. package/lib/utils/gcd.js +0 -25
  69. package/lib/utils/gcd.js.map +0 -1
  70. package/lib/utils/item.js +0 -136
  71. package/lib/utils/item.js.map +0 -1
  72. package/lib/utils/match.js +0 -56
  73. package/lib/utils/match.js.map +0 -1
  74. package/lib/utils/merkletree.js +0 -32
  75. package/lib/utils/merkletree.js.map +0 -1
  76. package/lib/utils/order.js +0 -224
  77. package/lib/utils/order.js.map +0 -1
  78. package/lib/utils/usecase.js +0 -158
  79. package/lib/utils/usecase.js.map +0 -1
@@ -1,37 +1,37 @@
1
- import { BigNumber, BigNumberish } from "ethers";
2
- import type { ConsiderationItem, CreateInputItem, Fee, Item, OfferItem, Order, OrderParameters } from "../types";
3
- export declare const feeToConsiderationItem: ({ fee, token, baseAmount, baseEndAmount, }: {
4
- fee: Fee;
5
- token: string;
6
- baseAmount: BigNumberish;
7
- baseEndAmount?: BigNumberish | undefined;
8
- }) => ConsiderationItem;
9
- export declare const deductFees: <T extends Item>(items: T[], fees?: readonly Fee[] | undefined) => T[];
10
- export declare const mapInputItemToOfferItem: (item: CreateInputItem) => OfferItem;
11
- export declare const areAllCurrenciesSame: ({ offer, consideration, }: Pick<OrderParameters, "offer" | "consideration">) => boolean;
12
- export declare const totalItemsAmount: <T extends OfferItem>(items: T[]) => {
13
- startAmount: BigNumber;
14
- endAmount: BigNumber;
15
- };
16
- /**
17
- * Maps order offer and consideration item amounts based on the order's filled status
18
- * After applying the fraction, we can view this order as the "canonical" order for which we
19
- * check approvals and balances
20
- */
21
- export declare const mapOrderAmountsFromFilledStatus: (order: Order, { totalFilled, totalSize }: {
22
- totalFilled: BigNumber;
23
- totalSize: BigNumber;
24
- }) => Order;
25
- /**
26
- * Maps order offer and consideration item amounts based on the units needed to fulfill
27
- * After applying the fraction, we can view this order as the "canonical" order for which we
28
- * check approvals and balances
29
- * Returns the numerator and denominator as well, converting this to an AdvancedOrder
30
- */
31
- export declare const mapOrderAmountsFromUnitsToFill: (order: Order, { unitsToFill, totalFilled, totalSize, }: {
32
- unitsToFill: BigNumberish;
33
- totalFilled: BigNumber;
34
- totalSize: BigNumber;
35
- }) => Order;
36
- export declare const generateRandomSalt: () => string;
37
- export declare const shouldUseMatchForFulfill: () => boolean;
1
+ import { BigNumber, BigNumberish } from "ethers";
2
+ import type { ConsiderationItem, CreateInputItem, Fee, Item, OfferItem, Order, OrderParameters } from "../types";
3
+ export declare const feeToConsiderationItem: ({ fee, token, baseAmount, baseEndAmount, }: {
4
+ fee: Fee;
5
+ token: string;
6
+ baseAmount: BigNumberish;
7
+ baseEndAmount?: BigNumberish | undefined;
8
+ }) => ConsiderationItem;
9
+ export declare const deductFees: <T extends Item>(items: T[], fees?: readonly Fee[] | undefined) => T[];
10
+ export declare const mapInputItemToOfferItem: (item: CreateInputItem) => OfferItem;
11
+ export declare const areAllCurrenciesSame: ({ offer, consideration, }: Pick<OrderParameters, "offer" | "consideration">) => boolean;
12
+ export declare const totalItemsAmount: <T extends OfferItem>(items: T[]) => {
13
+ startAmount: BigNumber;
14
+ endAmount: BigNumber;
15
+ };
16
+ /**
17
+ * Maps order offer and consideration item amounts based on the order's filled status
18
+ * After applying the fraction, we can view this order as the "canonical" order for which we
19
+ * check approvals and balances
20
+ */
21
+ export declare const mapOrderAmountsFromFilledStatus: (order: Order, { totalFilled, totalSize }: {
22
+ totalFilled: BigNumber;
23
+ totalSize: BigNumber;
24
+ }) => Order;
25
+ /**
26
+ * Maps order offer and consideration item amounts based on the units needed to fulfill
27
+ * After applying the fraction, we can view this order as the "canonical" order for which we
28
+ * check approvals and balances
29
+ * Returns the numerator and denominator as well, converting this to an AdvancedOrder
30
+ */
31
+ export declare const mapOrderAmountsFromUnitsToFill: (order: Order, { unitsToFill, totalFilled, totalSize, }: {
32
+ unitsToFill: BigNumberish;
33
+ totalFilled: BigNumber;
34
+ totalSize: BigNumber;
35
+ }) => Order;
36
+ export declare const generateRandomSalt: () => string;
37
+ export declare const shouldUseMatchForFulfill: () => boolean;
@@ -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]>>>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opensea/seaport-js",
3
- "version": "1.0.0",
3
+ "version": "1.0.1-beta.0",
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,7 +21,7 @@
21
21
  "lib": "lib"
22
22
  },
23
23
  "scripts": {
24
- "build": "hardhat compile && tsc -p tsconfig.build.json",
24
+ "build": "hardhat compile && microbundle --tsconfig 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
27
  "eslint:check": "eslint . --max-warnings 0 --ext .js,.jsx,.ts,.tsx",
@@ -32,6 +32,7 @@
32
32
  "prettier:check:package.json": "prettier-package-json --list-different",
33
33
  "prettier:fix": "prettier --write ."
34
34
  },
35
+ "sideEffects": false,
35
36
  "types": "lib/index.d.ts",
36
37
  "dependencies": {
37
38
  "@0xsequence/multicall": "0.39.0",
@@ -66,6 +67,7 @@
66
67
  "hardhat-gas-reporter": "1.0.8",
67
68
  "husky": ">=6",
68
69
  "lint-staged": ">=10",
70
+ "microbundle": "0.15.0",
69
71
  "prettier": "2.5.1",
70
72
  "prettier-package-json": "2.6.3",
71
73
  "prettier-plugin-solidity": "1.0.0-beta.13",
@@ -1,319 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ERC1155ABI = void 0;
4
- var ERC1155ABI = [
5
- {
6
- anonymous: false,
7
- inputs: [
8
- {
9
- indexed: true,
10
- internalType: "address",
11
- name: "owner",
12
- type: "address",
13
- },
14
- {
15
- indexed: true,
16
- internalType: "address",
17
- name: "operator",
18
- type: "address",
19
- },
20
- {
21
- indexed: false,
22
- internalType: "bool",
23
- name: "approved",
24
- type: "bool",
25
- },
26
- ],
27
- name: "ApprovalForAll",
28
- type: "event",
29
- },
30
- {
31
- anonymous: false,
32
- inputs: [
33
- {
34
- indexed: true,
35
- internalType: "address",
36
- name: "operator",
37
- type: "address",
38
- },
39
- {
40
- indexed: true,
41
- internalType: "address",
42
- name: "from",
43
- type: "address",
44
- },
45
- {
46
- indexed: true,
47
- internalType: "address",
48
- name: "to",
49
- type: "address",
50
- },
51
- {
52
- indexed: false,
53
- internalType: "uint256[]",
54
- name: "ids",
55
- type: "uint256[]",
56
- },
57
- {
58
- indexed: false,
59
- internalType: "uint256[]",
60
- name: "amounts",
61
- type: "uint256[]",
62
- },
63
- ],
64
- name: "TransferBatch",
65
- type: "event",
66
- },
67
- {
68
- anonymous: false,
69
- inputs: [
70
- {
71
- indexed: true,
72
- internalType: "address",
73
- name: "operator",
74
- type: "address",
75
- },
76
- {
77
- indexed: true,
78
- internalType: "address",
79
- name: "from",
80
- type: "address",
81
- },
82
- {
83
- indexed: true,
84
- internalType: "address",
85
- name: "to",
86
- type: "address",
87
- },
88
- {
89
- indexed: false,
90
- internalType: "uint256",
91
- name: "id",
92
- type: "uint256",
93
- },
94
- {
95
- indexed: false,
96
- internalType: "uint256",
97
- name: "amount",
98
- type: "uint256",
99
- },
100
- ],
101
- name: "TransferSingle",
102
- type: "event",
103
- },
104
- {
105
- anonymous: false,
106
- inputs: [
107
- {
108
- indexed: false,
109
- internalType: "string",
110
- name: "value",
111
- type: "string",
112
- },
113
- {
114
- indexed: true,
115
- internalType: "uint256",
116
- name: "id",
117
- type: "uint256",
118
- },
119
- ],
120
- name: "URI",
121
- type: "event",
122
- },
123
- {
124
- inputs: [
125
- {
126
- internalType: "address",
127
- name: "",
128
- type: "address",
129
- },
130
- {
131
- internalType: "uint256",
132
- name: "",
133
- type: "uint256",
134
- },
135
- ],
136
- name: "balanceOf",
137
- outputs: [
138
- {
139
- internalType: "uint256",
140
- name: "",
141
- type: "uint256",
142
- },
143
- ],
144
- stateMutability: "view",
145
- type: "function",
146
- },
147
- {
148
- inputs: [
149
- {
150
- internalType: "address[]",
151
- name: "owners",
152
- type: "address[]",
153
- },
154
- {
155
- internalType: "uint256[]",
156
- name: "ids",
157
- type: "uint256[]",
158
- },
159
- ],
160
- name: "balanceOfBatch",
161
- outputs: [
162
- {
163
- internalType: "uint256[]",
164
- name: "balances",
165
- type: "uint256[]",
166
- },
167
- ],
168
- stateMutability: "view",
169
- type: "function",
170
- },
171
- {
172
- inputs: [
173
- {
174
- internalType: "address",
175
- name: "",
176
- type: "address",
177
- },
178
- {
179
- internalType: "address",
180
- name: "",
181
- type: "address",
182
- },
183
- ],
184
- name: "isApprovedForAll",
185
- outputs: [
186
- {
187
- internalType: "bool",
188
- name: "",
189
- type: "bool",
190
- },
191
- ],
192
- stateMutability: "view",
193
- type: "function",
194
- },
195
- {
196
- inputs: [
197
- {
198
- internalType: "address",
199
- name: "from",
200
- type: "address",
201
- },
202
- {
203
- internalType: "address",
204
- name: "to",
205
- type: "address",
206
- },
207
- {
208
- internalType: "uint256[]",
209
- name: "ids",
210
- type: "uint256[]",
211
- },
212
- {
213
- internalType: "uint256[]",
214
- name: "amounts",
215
- type: "uint256[]",
216
- },
217
- {
218
- internalType: "bytes",
219
- name: "data",
220
- type: "bytes",
221
- },
222
- ],
223
- name: "safeBatchTransferFrom",
224
- outputs: [],
225
- stateMutability: "nonpayable",
226
- type: "function",
227
- },
228
- {
229
- inputs: [
230
- {
231
- internalType: "address",
232
- name: "from",
233
- type: "address",
234
- },
235
- {
236
- internalType: "address",
237
- name: "to",
238
- type: "address",
239
- },
240
- {
241
- internalType: "uint256",
242
- name: "id",
243
- type: "uint256",
244
- },
245
- {
246
- internalType: "uint256",
247
- name: "amount",
248
- type: "uint256",
249
- },
250
- {
251
- internalType: "bytes",
252
- name: "data",
253
- type: "bytes",
254
- },
255
- ],
256
- name: "safeTransferFrom",
257
- outputs: [],
258
- stateMutability: "nonpayable",
259
- type: "function",
260
- },
261
- {
262
- inputs: [
263
- {
264
- internalType: "address",
265
- name: "operator",
266
- type: "address",
267
- },
268
- {
269
- internalType: "bool",
270
- name: "approved",
271
- type: "bool",
272
- },
273
- ],
274
- name: "setApprovalForAll",
275
- outputs: [],
276
- stateMutability: "nonpayable",
277
- type: "function",
278
- },
279
- {
280
- inputs: [
281
- {
282
- internalType: "bytes4",
283
- name: "interfaceId",
284
- type: "bytes4",
285
- },
286
- ],
287
- name: "supportsInterface",
288
- outputs: [
289
- {
290
- internalType: "bool",
291
- name: "",
292
- type: "bool",
293
- },
294
- ],
295
- stateMutability: "pure",
296
- type: "function",
297
- },
298
- {
299
- inputs: [
300
- {
301
- internalType: "uint256",
302
- name: "id",
303
- type: "uint256",
304
- },
305
- ],
306
- name: "uri",
307
- outputs: [
308
- {
309
- internalType: "string",
310
- name: "",
311
- type: "string",
312
- },
313
- ],
314
- stateMutability: "view",
315
- type: "function",
316
- },
317
- ];
318
- exports.ERC1155ABI = ERC1155ABI;
319
- //# sourceMappingURL=ERC1155.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ERC1155.js","sourceRoot":"","sources":["../../src/abi/ERC1155.ts"],"names":[],"mappings":"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"}