@opcat-labs/scrypt-ts-transpiler-opcat 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 (53) hide show
  1. package/dist/compile/compilerWrapper.d.ts +203 -0
  2. package/dist/compile/compilerWrapper.d.ts.map +1 -0
  3. package/dist/compile/compilerWrapper.js +1019 -0
  4. package/dist/compile/compilerWrapper.js.map +1 -0
  5. package/dist/compile/findCompiler.d.ts +3 -0
  6. package/dist/compile/findCompiler.d.ts.map +1 -0
  7. package/dist/compile/findCompiler.js +102 -0
  8. package/dist/compile/findCompiler.js.map +1 -0
  9. package/dist/compile/getBinary.d.ts +3 -0
  10. package/dist/compile/getBinary.d.ts.map +1 -0
  11. package/dist/compile/getBinary.js +94 -0
  12. package/dist/compile/getBinary.js.map +1 -0
  13. package/dist/debug.d.ts +25 -0
  14. package/dist/debug.d.ts.map +1 -0
  15. package/dist/debug.js +110 -0
  16. package/dist/debug.js.map +1 -0
  17. package/dist/index.d.ts +12 -0
  18. package/dist/index.d.ts.map +1 -0
  19. package/dist/index.js +110 -0
  20. package/dist/index.js.map +1 -0
  21. package/dist/indexer.d.ts +52 -0
  22. package/dist/indexer.d.ts.map +1 -0
  23. package/dist/indexer.js +189 -0
  24. package/dist/indexer.js.map +1 -0
  25. package/dist/relinker.d.ts +44 -0
  26. package/dist/relinker.d.ts.map +1 -0
  27. package/dist/relinker.js +321 -0
  28. package/dist/relinker.js.map +1 -0
  29. package/dist/resolver.d.ts +3 -0
  30. package/dist/resolver.d.ts.map +1 -0
  31. package/dist/resolver.js +280 -0
  32. package/dist/resolver.js.map +1 -0
  33. package/dist/scryptParser.d.ts +31 -0
  34. package/dist/scryptParser.d.ts.map +1 -0
  35. package/dist/scryptParser.js +372 -0
  36. package/dist/scryptParser.js.map +1 -0
  37. package/dist/snippets.d.ts +39 -0
  38. package/dist/snippets.d.ts.map +1 -0
  39. package/dist/snippets.js +54 -0
  40. package/dist/snippets.js.map +1 -0
  41. package/dist/transpiler.d.ts +314 -0
  42. package/dist/transpiler.d.ts.map +1 -0
  43. package/dist/transpiler.js +4239 -0
  44. package/dist/transpiler.js.map +1 -0
  45. package/dist/types.d.ts +33 -0
  46. package/dist/types.d.ts.map +1 -0
  47. package/dist/types.js +31 -0
  48. package/dist/types.js.map +1 -0
  49. package/dist/utils.d.ts +23 -0
  50. package/dist/utils.d.ts.map +1 -0
  51. package/dist/utils.js +352 -0
  52. package/dist/utils.js.map +1 -0
  53. package/package.json +43 -0
package/dist/utils.js ADDED
@@ -0,0 +1,352 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.removeDuplicateFilter = exports.readdirRecursive = exports.arrayIncludes = exports.toPosixPath = exports.findPackageDir = exports.filterUndefinedFields = exports.uri2path = exports.path2uri = exports.md5 = exports.sha1 = exports.toBuiltinsTypes = exports.checkByteStringLiteral = exports.allowByteStringLiteral = exports.findBuildChangeOutputExpression = exports.findInsertCodeSeparatorStatement = exports.findReturnStatement = exports.alterFileExt = exports.isNumberLiteralExpr = exports.hasModifier = exports.number2hex = exports.getBuiltInType = void 0;
30
+ const crypto_1 = require("crypto");
31
+ const path_1 = __importStar(require("path"));
32
+ const typescript_1 = __importDefault(require("typescript"));
33
+ const url_1 = require("url");
34
+ const scrypt_ts_opcat_1 = require("@opcat-labs/scrypt-ts-opcat");
35
+ const mlly_1 = require("mlly");
36
+ const fs_1 = __importDefault(require("fs"));
37
+ const promises_1 = require("fs/promises");
38
+ function getBuiltInType(type) {
39
+ switch (type) {
40
+ case 'bigint':
41
+ case 'number':
42
+ return 'int';
43
+ case 'boolean':
44
+ return 'bool';
45
+ case 'PubKeyHash':
46
+ return 'Ripemd160';
47
+ case 'string':
48
+ return 'bytes';
49
+ case 'PubKey':
50
+ case 'Sig':
51
+ case 'Ripemd160':
52
+ case 'Sha256':
53
+ case 'Sha1':
54
+ case 'SigHashType':
55
+ case 'SigHashPreimage':
56
+ case 'OpCodeType':
57
+ case 'auto':
58
+ case 'PrivKey':
59
+ return type;
60
+ default:
61
+ return '';
62
+ }
63
+ }
64
+ exports.getBuiltInType = getBuiltInType;
65
+ function number2hex(val) {
66
+ let hex = val.toString(16);
67
+ if (hex.length % 2 === 1) {
68
+ hex = '0' + hex;
69
+ }
70
+ return hex;
71
+ }
72
+ exports.number2hex = number2hex;
73
+ function hasModifier(node, ...kinds) {
74
+ if (typescript_1.default.canHaveModifiers(node)) {
75
+ const modifiers = typescript_1.default.getModifiers(node);
76
+ if (typeof modifiers === 'undefined') {
77
+ return false;
78
+ }
79
+ for (const modifier of modifiers)
80
+ if (kinds.includes(modifier.kind))
81
+ return true;
82
+ }
83
+ return false;
84
+ }
85
+ exports.hasModifier = hasModifier;
86
+ function isNumberLiteralExpr(expr) {
87
+ if (expr === undefined)
88
+ return false;
89
+ if (typescript_1.default.isNumericLiteral(expr) || typescript_1.default.isBigIntLiteral(expr)) {
90
+ return true;
91
+ }
92
+ return false;
93
+ }
94
+ exports.isNumberLiteralExpr = isNumberLiteralExpr;
95
+ function alterFileExt(filename, toExt, fromExt) {
96
+ let originalExt = fromExt || (0, path_1.extname)(filename);
97
+ if (!originalExt.startsWith('.')) {
98
+ originalExt = '.' + originalExt;
99
+ }
100
+ const extReg = new RegExp(`${originalExt}$`);
101
+ return filename.replace(extReg, '.' + toExt);
102
+ }
103
+ exports.alterFileExt = alterFileExt;
104
+ function findReturnStatement(node) {
105
+ let res = undefined;
106
+ function visit(node) {
107
+ if (res) {
108
+ return;
109
+ }
110
+ if (typescript_1.default.isReturnStatement(node)) {
111
+ res = node;
112
+ return;
113
+ }
114
+ typescript_1.default.forEachChild(node, visit);
115
+ }
116
+ visit(node);
117
+ return res;
118
+ }
119
+ exports.findReturnStatement = findReturnStatement;
120
+ function findInsertCodeSeparatorStatement(node) {
121
+ let res = undefined;
122
+ function visit(node) {
123
+ if (res) {
124
+ return;
125
+ }
126
+ if (typescript_1.default.isExpressionStatement(node) && typescript_1.default.isCallExpression(node.expression)) {
127
+ if (node.expression.getText() === 'this.insertCodeSeparator()') {
128
+ res = node;
129
+ return;
130
+ }
131
+ }
132
+ typescript_1.default.forEachChild(node, visit);
133
+ }
134
+ visit(node);
135
+ return res;
136
+ }
137
+ exports.findInsertCodeSeparatorStatement = findInsertCodeSeparatorStatement;
138
+ function findBuildChangeOutputExpression(node) {
139
+ let res = undefined;
140
+ function visit(node) {
141
+ if (res) {
142
+ return;
143
+ }
144
+ if (typescript_1.default.isPropertyAccessExpression(node)) {
145
+ const expr = node;
146
+ const name = expr.name.getText();
147
+ if (name === 'buildChangeOutput') {
148
+ res = expr;
149
+ return;
150
+ }
151
+ }
152
+ typescript_1.default.forEachChild(node, visit);
153
+ }
154
+ visit(node);
155
+ return res;
156
+ }
157
+ exports.findBuildChangeOutputExpression = findBuildChangeOutputExpression;
158
+ function allowByteStringLiteral(node) {
159
+ if (typescript_1.default.isCallExpression(node)) {
160
+ if ((0, scrypt_ts_opcat_1.isSubBytes)(node.expression.getText()) ||
161
+ node.expression.getText() == 'PubKeyHash' ||
162
+ node.expression.getText() == 'Addr' ||
163
+ node.expression.getText() === 'toByteString') {
164
+ return true;
165
+ }
166
+ }
167
+ return false;
168
+ }
169
+ exports.allowByteStringLiteral = allowByteStringLiteral;
170
+ function checkByteStringLiteral(node) {
171
+ let text = node.getText();
172
+ text = text.substring(1, text.length - 1); //remove ' or ";
173
+ const parent = node.parent;
174
+ const fn = parent.expression.getText();
175
+ switch (fn) {
176
+ case scrypt_ts_opcat_1.ScryptType.PUBKEY: {
177
+ const pubkey = (0, scrypt_ts_opcat_1.getValidatedHexString)(text, true);
178
+ if (pubkey.length > 0 && pubkey.length / 2 != 33) {
179
+ throw new Error('invalid PubKey length, expect a ByteString with 33 bytes');
180
+ }
181
+ break;
182
+ }
183
+ case 'XOnlyPubKey': {
184
+ const xpubkey = (0, scrypt_ts_opcat_1.getValidatedHexString)(text, true);
185
+ if (xpubkey.length > 0 && xpubkey.length / 2 != 32) {
186
+ throw new Error('invalid x-only PubKey length, expect a ByteString with 32 bytes');
187
+ }
188
+ break;
189
+ }
190
+ case 'Addr':
191
+ case scrypt_ts_opcat_1.ScryptType.PubKeyHash:
192
+ case scrypt_ts_opcat_1.ScryptType.RIPEMD160: {
193
+ const pkh = (0, scrypt_ts_opcat_1.getValidatedHexString)(text, true);
194
+ if (pkh.length > 0 && pkh.length / 2 != 20) {
195
+ throw new Error(`invalid ${fn} length, expect a ByteString with 20 bytes`);
196
+ }
197
+ break;
198
+ }
199
+ case scrypt_ts_opcat_1.ScryptType.SHA1: {
200
+ const sha1 = (0, scrypt_ts_opcat_1.getValidatedHexString)(text, true);
201
+ if (sha1.length > 0 && sha1.length / 2 != 20) {
202
+ throw new Error(`invalid ${fn} length, expect a ByteString with 20 bytes`);
203
+ }
204
+ break;
205
+ }
206
+ case scrypt_ts_opcat_1.ScryptType.SHA256: {
207
+ const sha256 = (0, scrypt_ts_opcat_1.getValidatedHexString)(text, true);
208
+ if (sha256.length > 0 && sha256.length / 2 != 32) {
209
+ throw new Error(`invalid ${fn} length, expect a ByteString with 32 bytes`);
210
+ }
211
+ break;
212
+ }
213
+ case scrypt_ts_opcat_1.ScryptType.OPCODETYPE: {
214
+ const sighash = (0, scrypt_ts_opcat_1.getValidatedHexString)(text, true);
215
+ if (sighash.length / 2 != 1) {
216
+ throw new Error(`invalid ${fn} length, expect a OpCodeType with 1 bytes`);
217
+ }
218
+ break;
219
+ }
220
+ case scrypt_ts_opcat_1.ScryptType.SIGHASHPREIMAGE: {
221
+ (0, scrypt_ts_opcat_1.getValidatedHexString)(text, false);
222
+ break;
223
+ }
224
+ case scrypt_ts_opcat_1.ScryptType.SIG:
225
+ {
226
+ const sig = (0, scrypt_ts_opcat_1.getValidatedHexString)(text, true);
227
+ if (sig.length > 0 && ![71, 72, 73].includes(sig.length / 2)) {
228
+ throw new Error(`invalid ${fn} length, expect a Sig with (71 || 72 || 73) bytes`);
229
+ }
230
+ }
231
+ break;
232
+ default:
233
+ throw new Error(`invalid StringLiteral: ${fn}`);
234
+ }
235
+ }
236
+ exports.checkByteStringLiteral = checkByteStringLiteral;
237
+ function toBuiltinsTypes(t) {
238
+ switch (t) {
239
+ case 'ByteString':
240
+ return 'bytes';
241
+ case 'Int32':
242
+ case 'UInt32':
243
+ case 'Int64':
244
+ case 'UInt64':
245
+ return 'int';
246
+ case 'Bool':
247
+ return scrypt_ts_opcat_1.ScryptType.BOOL;
248
+ case 'Addr':
249
+ return scrypt_ts_opcat_1.ScryptType.RIPEMD160;
250
+ case 'PubKey':
251
+ return scrypt_ts_opcat_1.ScryptType.PUBKEY;
252
+ case 'XOnlyPubKey':
253
+ return scrypt_ts_opcat_1.ScryptType.PUBKEY;
254
+ case 'Sig':
255
+ return scrypt_ts_opcat_1.ScryptType.SIG;
256
+ case 'Ripemd160':
257
+ return scrypt_ts_opcat_1.ScryptType.RIPEMD160;
258
+ case 'PubKeyHash':
259
+ return scrypt_ts_opcat_1.ScryptType.RIPEMD160;
260
+ case 'Sha1':
261
+ return scrypt_ts_opcat_1.ScryptType.SHA1;
262
+ case 'Sha256':
263
+ return scrypt_ts_opcat_1.ScryptType.SHA256;
264
+ case 'SigHashType':
265
+ return scrypt_ts_opcat_1.ScryptType.SIGHASHTYPE;
266
+ // case 'ChangeInfo':
267
+ // return '__scrypt_ChangeInfo';
268
+ // case 'InputStateProof':
269
+ // return '__scrypt_InputStateProof';
270
+ // case 'StateUtils':
271
+ // return '__scrypt_StateUtils';
272
+ // case 'Utils':
273
+ // return '__scrypt_Utils';
274
+ // case 'SHPreimage':
275
+ // return '__scrypt_SHPreimage';
276
+ // case 'Prevouts':
277
+ // return '__scrypt_PrevoutsCtx';
278
+ case 'OpCodeType':
279
+ return scrypt_ts_opcat_1.ScryptType.OPCODETYPE;
280
+ default:
281
+ return undefined;
282
+ }
283
+ }
284
+ exports.toBuiltinsTypes = toBuiltinsTypes;
285
+ function sha1(s) {
286
+ const sha1 = (0, crypto_1.createHash)('sha1');
287
+ return sha1.update(s).digest('hex');
288
+ }
289
+ exports.sha1 = sha1;
290
+ function md5(s) {
291
+ const sha1 = (0, crypto_1.createHash)('md5');
292
+ return sha1.update(s).digest('hex');
293
+ }
294
+ exports.md5 = md5;
295
+ function path2uri(path) {
296
+ return (0, url_1.pathToFileURL)(path).toString();
297
+ }
298
+ exports.path2uri = path2uri;
299
+ function uri2path(uri) {
300
+ return (0, url_1.fileURLToPath)(uri);
301
+ }
302
+ exports.uri2path = uri2path;
303
+ function filterUndefinedFields(obj) {
304
+ return Object.fromEntries(Object.entries(obj).filter(([_, value]) => value !== undefined));
305
+ }
306
+ exports.filterUndefinedFields = filterUndefinedFields;
307
+ function findPackageDir(pkgName, baseFilePath) {
308
+ const mainFile = (0, mlly_1.resolvePathSync)(pkgName, { url: baseFilePath });
309
+ let dir = path_1.default.dirname(mainFile);
310
+ while (true) {
311
+ if (fs_1.default.existsSync(path_1.default.resolve(dir, 'package.json'))) {
312
+ return dir;
313
+ }
314
+ const parentDir = path_1.default.resolve(dir, '..');
315
+ if (parentDir === dir) {
316
+ throw new Error(`Package root not found for ${pkgName}`);
317
+ }
318
+ dir = parentDir;
319
+ }
320
+ }
321
+ exports.findPackageDir = findPackageDir;
322
+ function toPosixPath(filePath) {
323
+ return filePath.replaceAll(path_1.default.sep, path_1.default.posix.sep);
324
+ }
325
+ exports.toPosixPath = toPosixPath;
326
+ function arrayIncludes(array, item, equals) {
327
+ for (const element of array) {
328
+ if (equals(element, item)) {
329
+ return true;
330
+ }
331
+ }
332
+ return false;
333
+ }
334
+ exports.arrayIncludes = arrayIncludes;
335
+ async function readdirRecursive(dir) {
336
+ const files = await (0, promises_1.readdir)(dir, { withFileTypes: true });
337
+ const paths = files.map(async (file) => {
338
+ const p = path_1.default.join(dir, file.name);
339
+ if (file.isDirectory())
340
+ return await readdirRecursive(p);
341
+ return p;
342
+ });
343
+ return (await Promise.all(paths)).flat(1);
344
+ }
345
+ exports.readdirRecursive = readdirRecursive;
346
+ function removeDuplicateFilter(equals) {
347
+ return function (item, index, self) {
348
+ return index === self.findIndex((t) => equals(t, item));
349
+ };
350
+ }
351
+ exports.removeDuplicateFilter = removeDuplicateFilter;
352
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,43 @@
1
+ {
2
+ "name": "@opcat-labs/scrypt-ts-transpiler-opcat",
3
+ "version": "1.0.0",
4
+ "main": "./dist/index.js",
5
+ "types": "./dist/index.d.ts",
6
+ "description": "scrypt transpiler",
7
+ "files": [
8
+ "dist"
9
+ ],
10
+ "license": "MIT",
11
+ "engines": {
12
+ "node": ">=20.0.0"
13
+ },
14
+ "scripts": {
15
+ "build": "tsc",
16
+ "postbuild": "cd ../scrypt-ts-opcat && yarn gen:assets",
17
+ "buildtest": "cd test && tsc || true",
18
+ "getBinary": "node ./dist/compile/getBinary.js",
19
+ "pretest": "rimraf test/artifacts && yarn buildtest && yarn gen:spec",
20
+ "test": "yarn mocha",
21
+ "mocha": "cd test && mocha --parallel --jobs 5 --no-timeouts",
22
+ "gen:spec": "npx -y tsx ./test/scripts/generateSpec.ts"
23
+ },
24
+ "dependencies": {
25
+ "@opcat-labs/scrypt-ts-opcat": "1.0.0",
26
+ "@phenomnomnominal/tsquery": "^6.1.2",
27
+ "@scrypt-inc/bitcoinjs-lib": "^1.0.11",
28
+ "chalk": "^4.1.2",
29
+ "get-proxy-settings": "^0.1.13",
30
+ "https-proxy-agent": "^7.0.6",
31
+ "json-bigint": "^1.0.0",
32
+ "minimist": "^1.2.8",
33
+ "mlly": "^1.7.4",
34
+ "node-fetch": "^2.7.0",
35
+ "reflect-metadata": "^0.1.13",
36
+ "rimraf": "^6.0.1",
37
+ "ts-patch": "=3.0.1",
38
+ "typescript": "~5.3.0"
39
+ },
40
+ "devDependencies": {
41
+ "ts-node": "^10.9.2"
42
+ }
43
+ }