@opensea/seaport-js 1.0.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 (74) hide show
  1. package/README.md +45 -0
  2. package/lib/abi/ERC1155.d.ts +29 -0
  3. package/lib/abi/ERC1155.js +319 -0
  4. package/lib/abi/ERC1155.js.map +1 -0
  5. package/lib/abi/ERC20.d.ts +29 -0
  6. package/lib/abi/ERC20.js +317 -0
  7. package/lib/abi/ERC20.js.map +1 -0
  8. package/lib/abi/ERC721.d.ts +29 -0
  9. package/lib/abi/ERC721.js +337 -0
  10. package/lib/abi/ERC721.js.map +1 -0
  11. package/lib/abi/Seaport.d.ts +112 -0
  12. package/lib/abi/Seaport.js +2585 -0
  13. package/lib/abi/Seaport.js.map +1 -0
  14. package/lib/constants.d.ts +49 -0
  15. package/lib/constants.js +73 -0
  16. package/lib/constants.js.map +1 -0
  17. package/lib/index.d.ts +2 -0
  18. package/lib/index.js +6 -0
  19. package/lib/index.js.map +1 -0
  20. package/lib/seaport.d.ts +181 -0
  21. package/lib/seaport.js +720 -0
  22. package/lib/seaport.js.map +1 -0
  23. package/lib/typechain/ERC1155.d.ts +189 -0
  24. package/lib/typechain/ERC1155.js +3 -0
  25. package/lib/typechain/ERC1155.js.map +1 -0
  26. package/lib/typechain/ERC20.d.ts +209 -0
  27. package/lib/typechain/ERC20.js +3 -0
  28. package/lib/typechain/ERC20.js.map +1 -0
  29. package/lib/typechain/ERC721.d.ts +220 -0
  30. package/lib/typechain/ERC721.js +3 -0
  31. package/lib/typechain/ERC721.js.map +1 -0
  32. package/lib/typechain/Seaport.d.ts +686 -0
  33. package/lib/typechain/Seaport.js +3 -0
  34. package/lib/typechain/Seaport.js.map +1 -0
  35. package/lib/typechain/common.d.ts +21 -0
  36. package/lib/typechain/common.js +3 -0
  37. package/lib/typechain/common.js.map +1 -0
  38. package/lib/types.d.ts +207 -0
  39. package/lib/types.js +3 -0
  40. package/lib/types.js.map +1 -0
  41. package/lib/utils/approval.d.ts +9 -0
  42. package/lib/utils/approval.js +108 -0
  43. package/lib/utils/approval.js.map +1 -0
  44. package/lib/utils/balance.d.ts +4 -0
  45. package/lib/utils/balance.js +86 -0
  46. package/lib/utils/balance.js.map +1 -0
  47. package/lib/utils/balanceAndApprovalCheck.d.ts +108 -0
  48. package/lib/utils/balanceAndApprovalCheck.js +322 -0
  49. package/lib/utils/balanceAndApprovalCheck.js.map +1 -0
  50. package/lib/utils/criteria.d.ts +14 -0
  51. package/lib/utils/criteria.js +91 -0
  52. package/lib/utils/criteria.js.map +1 -0
  53. package/lib/utils/fulfill.d.ts +84 -0
  54. package/lib/utils/fulfill.js +573 -0
  55. package/lib/utils/fulfill.js.map +1 -0
  56. package/lib/utils/gcd.d.ts +3 -0
  57. package/lib/utils/gcd.js +25 -0
  58. package/lib/utils/gcd.js.map +1 -0
  59. package/lib/utils/item.d.ts +29 -0
  60. package/lib/utils/item.js +136 -0
  61. package/lib/utils/item.js.map +1 -0
  62. package/lib/utils/match.d.ts +54 -0
  63. package/lib/utils/match.js +56 -0
  64. package/lib/utils/match.js.map +1 -0
  65. package/lib/utils/merkletree.d.ts +11 -0
  66. package/lib/utils/merkletree.js +32 -0
  67. package/lib/utils/merkletree.js.map +1 -0
  68. package/lib/utils/order.d.ts +37 -0
  69. package/lib/utils/order.js +224 -0
  70. package/lib/utils/order.js.map +1 -0
  71. package/lib/utils/usecase.d.ts +4 -0
  72. package/lib/utils/usecase.js +158 -0
  73. package/lib/utils/usecase.js.map +1 -0
  74. package/package.json +93 -0
@@ -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 ADDED
@@ -0,0 +1,93 @@
1
+ {
2
+ "name": "@opensea/seaport-js",
3
+ "version": "1.0.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 JavaScript library intended to make interfacing with the contract reasonable and easy.",
5
+ "license": "MIT",
6
+ "author": "OpenSea Developers",
7
+ "homepage": "https://github.com/ProjectOpenSea/seaport-js#readme",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "git+https://github.com/ProjectOpenSea/seaport-js.git"
11
+ },
12
+ "bugs": {
13
+ "url": "https://github.com/ProjectOpenSea/seaport-js/issues"
14
+ },
15
+ "main": "lib/index.js",
16
+ "files": [
17
+ "lib"
18
+ ],
19
+ "directories": {
20
+ "doc": "docs",
21
+ "lib": "lib"
22
+ },
23
+ "scripts": {
24
+ "build": "hardhat compile && tsc -p tsconfig.build.json",
25
+ "check-types": "tsc --noEmit -p src/__tests__/tsconfig.json",
26
+ "check-types:incremental": "npm run check-types --incremental",
27
+ "eslint:check": "eslint . --max-warnings 0 --ext .js,.jsx,.ts,.tsx",
28
+ "lint": "concurrently \"npm run check-types\" \"npm run eslint:check\" \"npm run prettier:check\" \"npm run prettier:check:package.json\"",
29
+ "prepare": "husky install && npm run build",
30
+ "test": "hardhat test",
31
+ "prettier:check": "prettier --check .",
32
+ "prettier:check:package.json": "prettier-package-json --list-different",
33
+ "prettier:fix": "prettier --write ."
34
+ },
35
+ "types": "lib/index.d.ts",
36
+ "dependencies": {
37
+ "@0xsequence/multicall": "0.39.0",
38
+ "ethers": "5.6.7",
39
+ "merkletreejs": "0.2.31"
40
+ },
41
+ "devDependencies": {
42
+ "@nomiclabs/hardhat-ethers": "2.0.5",
43
+ "@nomiclabs/hardhat-waffle": "2.0.3",
44
+ "@rari-capital/solmate": "6.2.0",
45
+ "@typechain/ethers-v5": "9.0.0",
46
+ "@typechain/hardhat": "5.0.0",
47
+ "@types/chai": "4.3.0",
48
+ "@types/chai-as-promised": "7.1.5",
49
+ "@types/mocha": "9.1.0",
50
+ "@types/node": "12.20.47",
51
+ "@typescript-eslint/eslint-plugin": "4.33.0",
52
+ "@typescript-eslint/parser": "4.33.0",
53
+ "chai": "4.3.6",
54
+ "chai-as-promised": "7.1.1",
55
+ "concurrently": "7.1.0",
56
+ "dotenv": "10.0.0",
57
+ "eslint": "7.32.0",
58
+ "eslint-config-prettier": "8.5.0",
59
+ "eslint-config-standard": "16.0.3",
60
+ "eslint-plugin-import": "2.25.4",
61
+ "eslint-plugin-node": "11.1.0",
62
+ "eslint-plugin-prettier": "3.4.1",
63
+ "eslint-plugin-promise": "5.2.0",
64
+ "ethereum-waffle": "3.4.4",
65
+ "hardhat": "2.9.1",
66
+ "hardhat-gas-reporter": "1.0.8",
67
+ "husky": ">=6",
68
+ "lint-staged": ">=10",
69
+ "prettier": "2.5.1",
70
+ "prettier-package-json": "2.6.3",
71
+ "prettier-plugin-solidity": "1.0.0-beta.13",
72
+ "seaport": "git+https://github.com/ProjectOpenSea/seaport.git#76e508657888e3ec84039e1da269c822826991ef",
73
+ "sinon": "13.0.1",
74
+ "sinon-chai": "3.7.0",
75
+ "solhint": "3.3.7",
76
+ "solidity-coverage": "0.7.20",
77
+ "ts-node": "10.7.0",
78
+ "typechain": "7.0.1",
79
+ "typescript": "4.6.2"
80
+ },
81
+ "engines": {
82
+ "node": "16.11.0"
83
+ },
84
+ "lint-staged": {
85
+ "package.json": [
86
+ "prettier-package-json --write",
87
+ "git add"
88
+ ],
89
+ "**/*.{ts,tsx,js,jsx,html,md,mdx,yml,json}": [
90
+ "prettier --write"
91
+ ]
92
+ }
93
+ }