ecash-lib 0.1.0-rc2 → 0.1.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 (91) hide show
  1. package/README.md +73 -15
  2. package/dist/ecc.d.ts +6 -2
  3. package/dist/ecc.d.ts.map +1 -1
  4. package/dist/ecc.js +9 -6
  5. package/dist/ecc.js.map +1 -1
  6. package/dist/ffi/ecash_lib_wasm_bg.wasm +0 -0
  7. package/dist/ffi/ecash_lib_wasm_bg_browser.wasm +0 -0
  8. package/dist/ffi/ecash_lib_wasm_bg_browser.wasm.d.ts +16 -0
  9. package/dist/ffi/ecash_lib_wasm_bg_nodejs.wasm +0 -0
  10. package/dist/ffi/ecash_lib_wasm_bg_nodejs.wasm.d.ts +16 -0
  11. package/dist/ffi/ecash_lib_wasm_browser.d.ts +90 -0
  12. package/dist/ffi/ecash_lib_wasm_browser.js +340 -0
  13. package/dist/ffi/ecash_lib_wasm_nodejs.d.ts +50 -0
  14. package/dist/ffi/ecash_lib_wasm_nodejs.js +265 -0
  15. package/dist/hash.d.ts +10 -4
  16. package/dist/hash.d.ts.map +1 -1
  17. package/dist/hash.js +20 -4
  18. package/dist/hash.js.map +1 -1
  19. package/dist/index.d.ts +1 -1
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +37 -21
  22. package/dist/index.js.map +1 -1
  23. package/dist/indexBrowser.d.ts +3 -0
  24. package/dist/indexBrowser.d.ts.map +1 -0
  25. package/dist/indexBrowser.js +22 -0
  26. package/dist/indexBrowser.js.map +1 -0
  27. package/dist/indexNodeJs.d.ts +3 -0
  28. package/dist/indexNodeJs.d.ts.map +1 -0
  29. package/dist/indexNodeJs.js +22 -0
  30. package/dist/indexNodeJs.js.map +1 -0
  31. package/dist/initBrowser.d.ts +3 -0
  32. package/dist/initBrowser.d.ts.map +1 -0
  33. package/dist/initBrowser.js +44 -0
  34. package/dist/initBrowser.js.map +1 -0
  35. package/dist/initNodeJs.d.ts +3 -0
  36. package/dist/initNodeJs.d.ts.map +1 -0
  37. package/dist/initNodeJs.js +43 -0
  38. package/dist/initNodeJs.js.map +1 -0
  39. package/dist/io/bytes.js +5 -1
  40. package/dist/io/bytes.js.map +1 -1
  41. package/dist/io/hex.js +11 -4
  42. package/dist/io/hex.js.map +1 -1
  43. package/dist/io/int.js +2 -1
  44. package/dist/io/int.js.map +1 -1
  45. package/dist/io/str.d.ts +2 -0
  46. package/dist/io/str.d.ts.map +1 -1
  47. package/dist/io/str.js +11 -1
  48. package/dist/io/str.js.map +1 -1
  49. package/dist/io/varsize.js +7 -2
  50. package/dist/io/varsize.js.map +1 -1
  51. package/dist/io/writer.js +2 -1
  52. package/dist/io/writer.js.map +1 -1
  53. package/dist/io/writerbytes.js +5 -1
  54. package/dist/io/writerbytes.js.map +1 -1
  55. package/dist/io/writerlength.js +5 -1
  56. package/dist/io/writerlength.js.map +1 -1
  57. package/dist/op.js +23 -16
  58. package/dist/op.js.map +1 -1
  59. package/dist/opcode.js +126 -121
  60. package/dist/opcode.js.map +1 -1
  61. package/dist/script.d.ts +1 -0
  62. package/dist/script.d.ts.map +1 -1
  63. package/dist/script.js +34 -25
  64. package/dist/script.js.map +1 -1
  65. package/dist/sigHashType.js +23 -19
  66. package/dist/sigHashType.js.map +1 -1
  67. package/dist/test/testRunner.d.ts +1 -1
  68. package/dist/test/testRunner.d.ts.map +1 -1
  69. package/dist/test/testRunner.js +51 -26
  70. package/dist/test/testRunner.js.map +1 -1
  71. package/dist/token/alp.js +43 -36
  72. package/dist/token/alp.js.map +1 -1
  73. package/dist/token/common.js +8 -5
  74. package/dist/token/common.js.map +1 -1
  75. package/dist/token/empp.js +13 -9
  76. package/dist/token/empp.js.map +1 -1
  77. package/dist/token/slp.js +61 -53
  78. package/dist/token/slp.js.map +1 -1
  79. package/dist/tx.d.ts +2 -0
  80. package/dist/tx.d.ts.map +1 -1
  81. package/dist/tx.js +39 -21
  82. package/dist/tx.js.map +1 -1
  83. package/dist/txBuilder.js +33 -25
  84. package/dist/txBuilder.js.map +1 -1
  85. package/dist/unsignedTx.js +34 -29
  86. package/dist/unsignedTx.js.map +1 -1
  87. package/package.json +3 -3
  88. package/tsconfig.json +1 -2
  89. package/tests/alp.test.ts +0 -383
  90. package/tests/slp.test.ts +0 -1124
  91. package/tests/txBuilder.test.ts +0 -562
@@ -1,22 +1,47 @@
1
+ "use strict";
1
2
  // Copyright (c) 2024 The Bitcoin developers
2
3
  // Distributed under the MIT software license, see the accompanying
3
4
  // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4
- import { EccWasm } from '../ecc.js';
5
- import { shaRmd160 } from '../hash.js';
6
- import { initWasm } from '../init.js';
7
- import { fromHex, toHex } from '../io/hex.js';
8
- import { pushBytesOp } from '../op.js';
9
- import { OP_1, OP_RETURN } from '../opcode.js';
10
- import { Script } from '../script.js';
11
- import { Tx } from '../tx.js';
12
- const OP_TRUE_SCRIPT = Script.fromOps([OP_1]);
13
- const OP_TRUE_SCRIPT_SIG = Script.fromOps([
14
- pushBytesOp(OP_TRUE_SCRIPT.bytecode),
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || function (mod) {
22
+ if (mod && mod.__esModule) return mod;
23
+ var result = {};
24
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
25
+ __setModuleDefault(result, mod);
26
+ return result;
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.TestRunner = void 0;
30
+ const ecc_js_1 = require("../ecc.js");
31
+ const hash_js_1 = require("../hash.js");
32
+ const hex_js_1 = require("../io/hex.js");
33
+ const op_js_1 = require("../op.js");
34
+ const opcode_js_1 = require("../opcode.js");
35
+ const script_js_1 = require("../script.js");
36
+ const tx_js_1 = require("../tx.js");
37
+ const OP_TRUE_SCRIPT = script_js_1.Script.fromOps([opcode_js_1.OP_1]);
38
+ const OP_TRUE_SCRIPT_SIG = script_js_1.Script.fromOps([
39
+ (0, op_js_1.pushBytesOp)(OP_TRUE_SCRIPT.bytecode),
15
40
  ]);
16
41
  // Like OP_TRUE_SCRIPT but much bigger to avoid undersize
17
- const ANYONE_SCRIPT = Script.fromOps([pushBytesOp(fromHex('01'.repeat(100)))]);
18
- const ANYONE_SCRIPT_SIG = Script.fromOps([pushBytesOp(ANYONE_SCRIPT.bytecode)]);
19
- export class TestRunner {
42
+ const ANYONE_SCRIPT = script_js_1.Script.fromOps([(0, op_js_1.pushBytesOp)((0, hex_js_1.fromHex)('01'.repeat(100)))]);
43
+ const ANYONE_SCRIPT_SIG = script_js_1.Script.fromOps([(0, op_js_1.pushBytesOp)(ANYONE_SCRIPT.bytecode)]);
44
+ class TestRunner {
20
45
  constructor(ecc, runner, chronik) {
21
46
  this.ecc = ecc;
22
47
  this.runner = runner;
@@ -25,9 +50,9 @@ export class TestRunner {
25
50
  this.lastUsedOutIdx = 0;
26
51
  }
27
52
  static async setup() {
28
- const { ChronikClientNode } = await import('chronik-client');
29
- const { spawn } = await import('node:child_process');
30
- const events = await import('node:events');
53
+ const { ChronikClientNode } = await Promise.resolve().then(() => __importStar(require('chronik-client')));
54
+ const { spawn } = await Promise.resolve().then(() => __importStar(require('node:child_process')));
55
+ const events = await Promise.resolve().then(() => __importStar(require('node:events')));
31
56
  const statusEvent = new events.EventEmitter();
32
57
  const runner = spawn('python3', [
33
58
  'test/functional/test_runner.py',
@@ -77,8 +102,7 @@ export class TestRunner {
77
102
  }
78
103
  }
79
104
  });
80
- await initWasm();
81
- const ecc = new EccWasm();
105
+ const ecc = new ecc_js_1.Ecc();
82
106
  // We got the coins, can fan out now
83
107
  await events.once(statusEvent, 'ready');
84
108
  if (chronik === undefined) {
@@ -87,11 +111,11 @@ export class TestRunner {
87
111
  return new TestRunner(ecc, runner, chronik);
88
112
  }
89
113
  async setupCoins(numCoins, coinValue) {
90
- const opTrueScriptHash = shaRmd160(OP_TRUE_SCRIPT.bytecode);
91
- const utxo = (await this.chronik.script('p2sh', toHex(opTrueScriptHash)).utxos()).utxos[0];
92
- const anyoneScriptHash = shaRmd160(ANYONE_SCRIPT.bytecode);
93
- const anyoneP2sh = Script.p2sh(anyoneScriptHash);
94
- const tx = new Tx({
114
+ const opTrueScriptHash = (0, hash_js_1.shaRmd160)(OP_TRUE_SCRIPT.bytecode);
115
+ const utxo = (await this.chronik.script('p2sh', (0, hex_js_1.toHex)(opTrueScriptHash)).utxos()).utxos[0];
116
+ const anyoneScriptHash = (0, hash_js_1.shaRmd160)(ANYONE_SCRIPT.bytecode);
117
+ const anyoneP2sh = script_js_1.Script.p2sh(anyoneScriptHash);
118
+ const tx = new tx_js_1.Tx({
95
119
  inputs: [
96
120
  {
97
121
  prevOut: utxo.outpoint,
@@ -108,7 +132,7 @@ export class TestRunner {
108
132
  }
109
133
  tx.outputs.push({
110
134
  value: 0,
111
- script: Script.fromOps([OP_RETURN]),
135
+ script: script_js_1.Script.fromOps([opcode_js_1.OP_RETURN]),
112
136
  });
113
137
  tx.outputs[tx.outputs.length - 1].value =
114
138
  utxo.value - numCoins * coinValue - tx.serSize();
@@ -124,7 +148,7 @@ export class TestRunner {
124
148
  };
125
149
  }
126
150
  async sendToScript(value, script) {
127
- const setupTx = new Tx({
151
+ const setupTx = new tx_js_1.Tx({
128
152
  inputs: [
129
153
  {
130
154
  prevOut: this.getOutpoint(),
@@ -143,4 +167,5 @@ export class TestRunner {
143
167
  this.runner.send('stop');
144
168
  }
145
169
  }
170
+ exports.TestRunner = TestRunner;
146
171
  //# sourceMappingURL=testRunner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"testRunner.js","sourceRoot":"","sources":["../../src/test/testRunner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"testRunner.js","sourceRoot":"","sources":["../../src/test/testRunner.ts"],"names":[],"mappings":"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"}
package/dist/token/alp.js CHANGED
@@ -1,93 +1,100 @@
1
+ "use strict";
1
2
  // Copyright (c) 2024 The Bitcoin developers
2
3
  // Distributed under the MIT software license, see the accompanying
3
4
  // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4
- import { fromHex, fromHexRev } from '../io/hex.js';
5
- import { strToBytes } from '../io/str.js';
6
- import { WriterBytes } from '../io/writerbytes.js';
7
- import { WriterLength } from '../io/writerlength.js';
8
- import { BURN, GENESIS, MINT, SEND } from './common.js';
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.alpBurn = exports.alpSend = exports.alpMint = exports.alpGenesis = exports.ALP_STANDARD = exports.ALP_LOKAD_ID = void 0;
7
+ const hex_js_1 = require("../io/hex.js");
8
+ const str_js_1 = require("../io/str.js");
9
+ const writerbytes_js_1 = require("../io/writerbytes.js");
10
+ const writerlength_js_1 = require("../io/writerlength.js");
11
+ const common_js_1 = require("./common.js");
9
12
  /** LOKAD ID for ALP */
10
- export const ALP_LOKAD_ID = strToBytes('SLP2');
13
+ exports.ALP_LOKAD_ID = (0, str_js_1.strToBytes)('SLP2');
11
14
  /** ALP standard token type number */
12
- export const ALP_STANDARD = 0;
15
+ exports.ALP_STANDARD = 0;
13
16
  /** Build an ALP GENESIS pushdata section, creating a new ALP token */
14
- export function alpGenesis(tokenType, genesisInfo, mintData) {
17
+ function alpGenesis(tokenType, genesisInfo, mintData) {
15
18
  const writeSection = (writer) => {
16
- writer.putBytes(ALP_LOKAD_ID);
19
+ writer.putBytes(exports.ALP_LOKAD_ID);
17
20
  writer.putU8(tokenType);
18
- putVarBytes(GENESIS, writer);
19
- putVarBytes(strToBytes(genesisInfo.tokenTicker ?? ''), writer);
20
- putVarBytes(strToBytes(genesisInfo.tokenName ?? ''), writer);
21
- putVarBytes(strToBytes(genesisInfo.url ?? ''), writer);
21
+ putVarBytes(common_js_1.GENESIS, writer);
22
+ putVarBytes((0, str_js_1.strToBytes)(genesisInfo.tokenTicker ?? ''), writer);
23
+ putVarBytes((0, str_js_1.strToBytes)(genesisInfo.tokenName ?? ''), writer);
24
+ putVarBytes((0, str_js_1.strToBytes)(genesisInfo.url ?? ''), writer);
22
25
  putVarBytes(genesisInfo.data ?? new Uint8Array(), writer);
23
- putVarBytes(fromHex(genesisInfo.authPubkey ?? ''), writer);
26
+ putVarBytes((0, hex_js_1.fromHex)(genesisInfo.authPubkey ?? ''), writer);
24
27
  writer.putU8(genesisInfo.decimals ?? 0);
25
28
  putMintData(mintData, writer);
26
29
  };
27
- const writerLength = new WriterLength();
30
+ const writerLength = new writerlength_js_1.WriterLength();
28
31
  writeSection(writerLength);
29
- const writerBytes = new WriterBytes(writerLength.length);
32
+ const writerBytes = new writerbytes_js_1.WriterBytes(writerLength.length);
30
33
  writeSection(writerBytes);
31
34
  return writerBytes.data;
32
35
  }
36
+ exports.alpGenesis = alpGenesis;
33
37
  /**
34
38
  * Build an ALP MINT pushdata section, creating new ALP tokens and mint batons
35
39
  * of the given token ID.
36
40
  **/
37
- export function alpMint(tokenId, tokenType, mintData) {
38
- const tokenIdBytes = fromHexRev(tokenId);
41
+ function alpMint(tokenId, tokenType, mintData) {
42
+ const tokenIdBytes = (0, hex_js_1.fromHexRev)(tokenId);
39
43
  const writeSection = (writer) => {
40
- writer.putBytes(ALP_LOKAD_ID);
44
+ writer.putBytes(exports.ALP_LOKAD_ID);
41
45
  writer.putU8(tokenType);
42
- putVarBytes(MINT, writer);
46
+ putVarBytes(common_js_1.MINT, writer);
43
47
  writer.putBytes(tokenIdBytes);
44
48
  putMintData(mintData, writer);
45
49
  };
46
- const writerLength = new WriterLength();
50
+ const writerLength = new writerlength_js_1.WriterLength();
47
51
  writeSection(writerLength);
48
- const writerBytes = new WriterBytes(writerLength.length);
52
+ const writerBytes = new writerbytes_js_1.WriterBytes(writerLength.length);
49
53
  writeSection(writerBytes);
50
54
  return writerBytes.data;
51
55
  }
56
+ exports.alpMint = alpMint;
52
57
  /**
53
58
  * Build an ALP SEND pushdata section, moving ALP tokens to different outputs
54
59
  **/
55
- export function alpSend(tokenId, tokenType, sendAmounts) {
56
- const tokenIdBytes = fromHexRev(tokenId);
60
+ function alpSend(tokenId, tokenType, sendAmounts) {
61
+ const tokenIdBytes = (0, hex_js_1.fromHexRev)(tokenId);
57
62
  const writeSection = (writer) => {
58
- writer.putBytes(ALP_LOKAD_ID);
63
+ writer.putBytes(exports.ALP_LOKAD_ID);
59
64
  writer.putU8(tokenType);
60
- writer.putU8(SEND.length);
61
- writer.putBytes(SEND);
65
+ writer.putU8(common_js_1.SEND.length);
66
+ writer.putBytes(common_js_1.SEND);
62
67
  writer.putBytes(tokenIdBytes);
63
68
  writer.putU8(sendAmounts.length);
64
69
  for (const amount of sendAmounts) {
65
70
  putAlpAmount(amount, writer);
66
71
  }
67
72
  };
68
- const writerLength = new WriterLength();
73
+ const writerLength = new writerlength_js_1.WriterLength();
69
74
  writeSection(writerLength);
70
- const writerBytes = new WriterBytes(writerLength.length);
75
+ const writerBytes = new writerbytes_js_1.WriterBytes(writerLength.length);
71
76
  writeSection(writerBytes);
72
77
  return writerBytes.data;
73
78
  }
79
+ exports.alpSend = alpSend;
74
80
  /** Build an ALP BURN pushdata section, intentionally burning ALP tokens. */
75
- export function alpBurn(tokenId, tokenType, burnAmount) {
76
- const tokenIdBytes = fromHexRev(tokenId);
81
+ function alpBurn(tokenId, tokenType, burnAmount) {
82
+ const tokenIdBytes = (0, hex_js_1.fromHexRev)(tokenId);
77
83
  const writeSection = (writer) => {
78
- writer.putBytes(ALP_LOKAD_ID);
84
+ writer.putBytes(exports.ALP_LOKAD_ID);
79
85
  writer.putU8(tokenType);
80
- writer.putU8(BURN.length);
81
- writer.putBytes(BURN);
86
+ writer.putU8(common_js_1.BURN.length);
87
+ writer.putBytes(common_js_1.BURN);
82
88
  writer.putBytes(tokenIdBytes);
83
89
  putAlpAmount(burnAmount, writer);
84
90
  };
85
- const writerLength = new WriterLength();
91
+ const writerLength = new writerlength_js_1.WriterLength();
86
92
  writeSection(writerLength);
87
- const writerBytes = new WriterBytes(writerLength.length);
93
+ const writerBytes = new writerbytes_js_1.WriterBytes(writerLength.length);
88
94
  writeSection(writerBytes);
89
95
  return writerBytes.data;
90
96
  }
97
+ exports.alpBurn = alpBurn;
91
98
  function putMintData(mintData, writer) {
92
99
  writer.putU8(mintData.amounts.length);
93
100
  for (const amount of mintData.amounts) {
@@ -1 +1 @@
1
- {"version":3,"file":"alp.js","sourceRoot":"","sources":["../../src/token/alp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"alp.js","sourceRoot":"","sources":["../../src/token/alp.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,12 @@
1
+ "use strict";
1
2
  // Copyright (c) 2024 The Bitcoin developers
2
3
  // Distributed under the MIT software license, see the accompanying
3
4
  // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4
- import { strToBytes } from '../io/str.js';
5
- export const GENESIS = strToBytes('GENESIS');
6
- export const MINT = strToBytes('MINT');
7
- export const SEND = strToBytes('SEND');
8
- export const BURN = strToBytes('BURN');
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.BURN = exports.SEND = exports.MINT = exports.GENESIS = void 0;
7
+ const str_js_1 = require("../io/str.js");
8
+ exports.GENESIS = (0, str_js_1.strToBytes)('GENESIS');
9
+ exports.MINT = (0, str_js_1.strToBytes)('MINT');
10
+ exports.SEND = (0, str_js_1.strToBytes)('SEND');
11
+ exports.BURN = (0, str_js_1.strToBytes)('BURN');
9
12
  //# sourceMappingURL=common.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/token/common.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,mEAAmE;AACnE,sEAAsE;AAEtE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAI1C,MAAM,CAAC,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;AAC7C,MAAM,CAAC,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;AACvC,MAAM,CAAC,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;AACvC,MAAM,CAAC,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/token/common.ts"],"names":[],"mappings":";AAAA,4CAA4C;AAC5C,mEAAmE;AACnE,sEAAsE;;;AAEtE,yCAA0C;AAI7B,QAAA,OAAO,GAAG,IAAA,mBAAU,EAAC,SAAS,CAAC,CAAC;AAChC,QAAA,IAAI,GAAG,IAAA,mBAAU,EAAC,MAAM,CAAC,CAAC;AAC1B,QAAA,IAAI,GAAG,IAAA,mBAAU,EAAC,MAAM,CAAC,CAAC;AAC1B,QAAA,IAAI,GAAG,IAAA,mBAAU,EAAC,MAAM,CAAC,CAAC"}
@@ -1,27 +1,31 @@
1
+ "use strict";
1
2
  // Copyright (c) 2024 The Bitcoin developers
2
3
  // Distributed under the MIT software license, see the accompanying
3
4
  // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4
- import { pushBytesOp } from '../op.js';
5
- import { OP_PUSHDATA1, OP_RESERVED, OP_RETURN } from '../opcode.js';
6
- import { Script } from '../script.js';
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.emppScript = void 0;
7
+ const op_js_1 = require("../op.js");
8
+ const opcode_js_1 = require("../opcode.js");
9
+ const script_js_1 = require("../script.js");
7
10
  /** Build an eMPP OP_RETURN script with the given pushdata */
8
- export function emppScript(pushdata) {
11
+ function emppScript(pushdata) {
9
12
  if (pushdata.find(pushdata => pushdata.length == 0) !== undefined) {
10
13
  throw new Error('Pushdata cannot be empty');
11
14
  }
12
- return Script.fromOps([
13
- OP_RETURN,
14
- OP_RESERVED,
15
+ return script_js_1.Script.fromOps([
16
+ opcode_js_1.OP_RETURN,
17
+ opcode_js_1.OP_RESERVED,
15
18
  ...pushdata.map(pushdataOpEmpp),
16
19
  ]);
17
20
  }
21
+ exports.emppScript = emppScript;
18
22
  function pushdataOpEmpp(pushdata) {
19
- if (pushdata.length < OP_PUSHDATA1) {
23
+ if (pushdata.length < opcode_js_1.OP_PUSHDATA1) {
20
24
  return {
21
25
  opcode: pushdata.length,
22
26
  data: pushdata,
23
27
  };
24
28
  }
25
- return pushBytesOp(pushdata);
29
+ return (0, op_js_1.pushBytesOp)(pushdata);
26
30
  }
27
31
  //# sourceMappingURL=empp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"empp.js","sourceRoot":"","sources":["../../src/token/empp.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,mEAAmE;AACnE,sEAAsE;AAEtE,OAAO,EAAM,WAAW,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,6DAA6D;AAC7D,MAAM,UAAU,UAAU,CAAC,QAAsB;IAC7C,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QAChE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,MAAM,CAAC,OAAO,CAAC;QAClB,SAAS;QACT,WAAW;QACX,GAAG,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC;KAClC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,cAAc,CAAC,QAAoB;IACxC,IAAI,QAAQ,CAAC,MAAM,GAAG,YAAY,EAAE,CAAC;QACjC,OAAO;YACH,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,IAAI,EAAE,QAAQ;SACjB,CAAC;IACN,CAAC;IACD,OAAO,WAAW,CAAC,QAAQ,CAAC,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"empp.js","sourceRoot":"","sources":["../../src/token/empp.ts"],"names":[],"mappings":";AAAA,4CAA4C;AAC5C,mEAAmE;AACnE,sEAAsE;;;AAEtE,oCAA2C;AAC3C,4CAAoE;AACpE,4CAAsC;AAEtC,6DAA6D;AAC7D,SAAgB,UAAU,CAAC,QAAsB;IAC7C,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QAChE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,kBAAM,CAAC,OAAO,CAAC;QAClB,qBAAS;QACT,uBAAW;QACX,GAAG,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC;KAClC,CAAC,CAAC;AACP,CAAC;AATD,gCASC;AAED,SAAS,cAAc,CAAC,QAAoB;IACxC,IAAI,QAAQ,CAAC,MAAM,GAAG,wBAAY,EAAE,CAAC;QACjC,OAAO;YACH,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,IAAI,EAAE,QAAQ;SACjB,CAAC;IACN,CAAC;IACD,OAAO,IAAA,mBAAW,EAAC,QAAQ,CAAC,CAAC;AACjC,CAAC"}
package/dist/token/slp.js CHANGED
@@ -1,39 +1,42 @@
1
+ "use strict";
1
2
  // Copyright (c) 2024 The Bitcoin developers
2
3
  // Distributed under the MIT software license, see the accompanying
3
4
  // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4
- import { fromHex } from '../io/hex.js';
5
- import { strToBytes } from '../io/str.js';
6
- import { pushBytesOp } from '../op.js';
7
- import { OP_PUSHDATA1, OP_RETURN } from '../opcode.js';
8
- import { Script } from '../script.js';
9
- import { BURN, GENESIS, MINT, SEND } from './common.js';
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.slpBurn = exports.slpSend = exports.slpMintVault = exports.slpMint = exports.slpGenesis = exports.SLP_NFT1_GROUP = exports.SLP_NFT1_CHILD = exports.SLP_MINT_VAULT = exports.SLP_FUNGIBLE = exports.SLP_LOKAD_ID = void 0;
7
+ const hex_js_1 = require("../io/hex.js");
8
+ const str_js_1 = require("../io/str.js");
9
+ const op_js_1 = require("../op.js");
10
+ const opcode_js_1 = require("../opcode.js");
11
+ const script_js_1 = require("../script.js");
12
+ const common_js_1 = require("./common.js");
10
13
  /** LOKAD ID for SLP */
11
- export const SLP_LOKAD_ID = strToBytes('SLP\0');
14
+ exports.SLP_LOKAD_ID = (0, str_js_1.strToBytes)('SLP\0');
12
15
  /** SLP fungible token type number */
13
- export const SLP_FUNGIBLE = 1;
16
+ exports.SLP_FUNGIBLE = 1;
14
17
  /** SLP MINT Vault token type number */
15
- export const SLP_MINT_VAULT = 2;
18
+ exports.SLP_MINT_VAULT = 2;
16
19
  /** SLP NFT1 Child token type number */
17
- export const SLP_NFT1_CHILD = 0x41;
20
+ exports.SLP_NFT1_CHILD = 0x41;
18
21
  /** SLP NFT1 Group token type number */
19
- export const SLP_NFT1_GROUP = 0x81;
22
+ exports.SLP_NFT1_GROUP = 0x81;
20
23
  /** Build an SLP GENESIS OP_RETURN, creating a new SLP token */
21
- export function slpGenesis(tokenType, genesisInfo, initialQuantity, mintBatonOutIdx) {
24
+ function slpGenesis(tokenType, genesisInfo, initialQuantity, mintBatonOutIdx) {
22
25
  verifyTokenType(tokenType);
23
26
  const data = [];
24
- data.push(SLP_LOKAD_ID);
27
+ data.push(exports.SLP_LOKAD_ID);
25
28
  data.push(new Uint8Array([tokenType]));
26
- data.push(GENESIS);
27
- data.push(strToBytes(genesisInfo.tokenTicker ?? ''));
28
- data.push(strToBytes(genesisInfo.tokenName ?? ''));
29
- data.push(strToBytes(genesisInfo.url ?? ''));
30
- data.push(genesisInfo.hash ? fromHex(genesisInfo.hash) : new Uint8Array());
29
+ data.push(common_js_1.GENESIS);
30
+ data.push((0, str_js_1.strToBytes)(genesisInfo.tokenTicker ?? ''));
31
+ data.push((0, str_js_1.strToBytes)(genesisInfo.tokenName ?? ''));
32
+ data.push((0, str_js_1.strToBytes)(genesisInfo.url ?? ''));
33
+ data.push(genesisInfo.hash ? (0, hex_js_1.fromHex)(genesisInfo.hash) : new Uint8Array());
31
34
  data.push(new Uint8Array([genesisInfo.decimals ?? 0]));
32
- if (tokenType == SLP_MINT_VAULT) {
35
+ if (tokenType == exports.SLP_MINT_VAULT) {
33
36
  if (genesisInfo.mintVaultScripthash === undefined) {
34
37
  throw new Error('Must set mintVaultScripthash for MINT VAULT');
35
38
  }
36
- data.push(fromHex(genesisInfo.mintVaultScripthash));
39
+ data.push((0, hex_js_1.fromHex)(genesisInfo.mintVaultScripthash));
37
40
  }
38
41
  else {
39
42
  if (mintBatonOutIdx !== undefined) {
@@ -47,77 +50,82 @@ export function slpGenesis(tokenType, genesisInfo, initialQuantity, mintBatonOut
47
50
  }
48
51
  }
49
52
  data.push(slpAmount(initialQuantity));
50
- return Script.fromOps([OP_RETURN].concat(data.map(pushdataOpSlp)));
53
+ return script_js_1.Script.fromOps([opcode_js_1.OP_RETURN].concat(data.map(pushdataOpSlp)));
51
54
  }
55
+ exports.slpGenesis = slpGenesis;
52
56
  /**
53
57
  * Build an SLP MINT pushdata section, creating new SLP tokens and mint batons
54
58
  * of the given token ID.
55
59
  **/
56
- export function slpMint(tokenId, tokenType, additionalQuantity, mintBatonOutIdx) {
60
+ function slpMint(tokenId, tokenType, additionalQuantity, mintBatonOutIdx) {
57
61
  verifyTokenType(tokenType);
58
62
  verifyTokenId(tokenId);
59
- return Script.fromOps([
60
- OP_RETURN,
61
- pushdataOpSlp(SLP_LOKAD_ID),
63
+ return script_js_1.Script.fromOps([
64
+ opcode_js_1.OP_RETURN,
65
+ pushdataOpSlp(exports.SLP_LOKAD_ID),
62
66
  pushdataOpSlp(new Uint8Array([tokenType])),
63
- pushdataOpSlp(MINT),
64
- pushdataOpSlp(fromHex(tokenId)),
67
+ pushdataOpSlp(common_js_1.MINT),
68
+ pushdataOpSlp((0, hex_js_1.fromHex)(tokenId)),
65
69
  pushdataOpSlp(new Uint8Array(mintBatonOutIdx !== undefined ? [mintBatonOutIdx] : [])),
66
70
  pushdataOpSlp(slpAmount(additionalQuantity)),
67
71
  ]);
68
72
  }
73
+ exports.slpMint = slpMint;
69
74
  /**
70
75
  * Build an SLP MINT VAULT pushdata section, creating new SLP tokens and mint batons
71
76
  * of the given token ID.
72
77
  **/
73
- export function slpMintVault(tokenId, additionalQuantities) {
78
+ function slpMintVault(tokenId, additionalQuantities) {
74
79
  verifyTokenId(tokenId);
75
80
  verifySendAmounts(additionalQuantities);
76
- return Script.fromOps([
77
- OP_RETURN,
78
- pushdataOpSlp(SLP_LOKAD_ID),
79
- pushdataOpSlp(new Uint8Array([SLP_MINT_VAULT])),
80
- pushdataOpSlp(MINT),
81
- pushdataOpSlp(fromHex(tokenId)),
81
+ return script_js_1.Script.fromOps([
82
+ opcode_js_1.OP_RETURN,
83
+ pushdataOpSlp(exports.SLP_LOKAD_ID),
84
+ pushdataOpSlp(new Uint8Array([exports.SLP_MINT_VAULT])),
85
+ pushdataOpSlp(common_js_1.MINT),
86
+ pushdataOpSlp((0, hex_js_1.fromHex)(tokenId)),
82
87
  ].concat(additionalQuantities.map(qty => pushdataOpSlp(slpAmount(qty)))));
83
88
  }
89
+ exports.slpMintVault = slpMintVault;
84
90
  /**
85
91
  * Build an SLP SEND pushdata section, moving SLP tokens to different outputs
86
92
  **/
87
- export function slpSend(tokenId, tokenType, sendAmounts) {
93
+ function slpSend(tokenId, tokenType, sendAmounts) {
88
94
  verifyTokenType(tokenType);
89
95
  verifyTokenId(tokenId);
90
96
  verifySendAmounts(sendAmounts);
91
- return Script.fromOps([
92
- OP_RETURN,
93
- pushdataOpSlp(SLP_LOKAD_ID),
97
+ return script_js_1.Script.fromOps([
98
+ opcode_js_1.OP_RETURN,
99
+ pushdataOpSlp(exports.SLP_LOKAD_ID),
94
100
  pushdataOpSlp(new Uint8Array([tokenType])),
95
- pushdataOpSlp(SEND),
96
- pushdataOpSlp(fromHex(tokenId)),
101
+ pushdataOpSlp(common_js_1.SEND),
102
+ pushdataOpSlp((0, hex_js_1.fromHex)(tokenId)),
97
103
  ].concat(sendAmounts.map(qty => pushdataOpSlp(slpAmount(qty)))));
98
104
  }
105
+ exports.slpSend = slpSend;
99
106
  /**
100
107
  * Build an SLP BURN pushdata section, intentionally burning SLP tokens.
101
108
  * See https://github.com/badger-cash/slp-self-mint-protocol/blob/master/token-type1-burn.md
102
109
  **/
103
- export function slpBurn(tokenId, tokenType, burnAmount) {
110
+ function slpBurn(tokenId, tokenType, burnAmount) {
104
111
  verifyTokenType(tokenType);
105
112
  verifyTokenId(tokenId);
106
- return Script.fromOps([
107
- OP_RETURN,
108
- pushdataOpSlp(SLP_LOKAD_ID),
113
+ return script_js_1.Script.fromOps([
114
+ opcode_js_1.OP_RETURN,
115
+ pushdataOpSlp(exports.SLP_LOKAD_ID),
109
116
  pushdataOpSlp(new Uint8Array([tokenType])),
110
- pushdataOpSlp(BURN),
111
- pushdataOpSlp(fromHex(tokenId)),
117
+ pushdataOpSlp(common_js_1.BURN),
118
+ pushdataOpSlp((0, hex_js_1.fromHex)(tokenId)),
112
119
  pushdataOpSlp(slpAmount(burnAmount)),
113
120
  ]);
114
121
  }
122
+ exports.slpBurn = slpBurn;
115
123
  function verifyTokenType(tokenType) {
116
124
  switch (tokenType) {
117
- case SLP_FUNGIBLE:
118
- case SLP_MINT_VAULT:
119
- case SLP_NFT1_GROUP:
120
- case SLP_NFT1_CHILD:
125
+ case exports.SLP_FUNGIBLE:
126
+ case exports.SLP_MINT_VAULT:
127
+ case exports.SLP_NFT1_GROUP:
128
+ case exports.SLP_NFT1_CHILD:
121
129
  return;
122
130
  default:
123
131
  throw new Error(`Unknown token type ${tokenType}`);
@@ -139,17 +147,17 @@ function verifySendAmounts(sendAmounts) {
139
147
  function pushdataOpSlp(pushdata) {
140
148
  if (pushdata.length == 0) {
141
149
  return {
142
- opcode: OP_PUSHDATA1,
150
+ opcode: opcode_js_1.OP_PUSHDATA1,
143
151
  data: pushdata,
144
152
  };
145
153
  }
146
- if (pushdata.length < OP_PUSHDATA1) {
154
+ if (pushdata.length < opcode_js_1.OP_PUSHDATA1) {
147
155
  return {
148
156
  opcode: pushdata.length,
149
157
  data: pushdata,
150
158
  };
151
159
  }
152
- return pushBytesOp(pushdata);
160
+ return (0, op_js_1.pushBytesOp)(pushdata);
153
161
  }
154
162
  function slpAmount(amount) {
155
163
  if (amount < 0 || BigInt(amount) > 0xffffffffffffffffn) {
@@ -1 +1 @@
1
- {"version":3,"file":"slp.js","sourceRoot":"","sources":["../../src/token/slp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"slp.js","sourceRoot":"","sources":["../../src/token/slp.ts"],"names":[],"mappings":"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"}
package/dist/tx.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { Bytes } from './io/bytes.js';
1
2
  import { Writer } from './io/writer.js';
2
3
  import { Script } from './script.js';
3
4
  /**
@@ -74,6 +75,7 @@ export declare class Tx {
74
75
  /** Write the tx to the given writer */
75
76
  write(writer: Writer): void;
76
77
  }
78
+ export declare function readTxOutput(bytes: Bytes): TxOutput;
77
79
  /** Write an outpoint to a Writer */
78
80
  export declare function writeOutPoint(outpoint: OutPoint, writer: Writer): void;
79
81
  /** Write a TxInput to a Writer */