xpi-ts 0.2.23 → 0.3.1

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 (179) hide show
  1. package/.mcp.json +8 -0
  2. package/README.md +9 -2
  3. package/dist/cjs/lib/bitcore/crypto/point.js +2 -2
  4. package/dist/cjs/lib/bitcore/script.js +16 -50
  5. package/dist/cjs/lib/bitcore/transaction/transaction.js +3 -0
  6. package/dist/esm/lib/bitcore/crypto/point.js +2 -2
  7. package/dist/esm/lib/bitcore/script.js +16 -50
  8. package/dist/esm/lib/bitcore/transaction/transaction.js +3 -0
  9. package/dist/esm/package.json +3 -1
  10. package/dist/types/gulpfile.d.ts +10 -0
  11. package/dist/types/gulpfile.d.ts.map +1 -0
  12. package/dist/types/index.d.ts +5 -0
  13. package/dist/types/index.d.ts.map +1 -1
  14. package/dist/types/lib/bitcore/address.d.ts +116 -0
  15. package/dist/types/lib/bitcore/address.d.ts.map +1 -1
  16. package/dist/types/lib/bitcore/block/block.d.ts +214 -0
  17. package/dist/types/lib/bitcore/block/block.d.ts.map +1 -1
  18. package/dist/types/lib/bitcore/block/blockheader.d.ts +220 -0
  19. package/dist/types/lib/bitcore/block/blockheader.d.ts.map +1 -1
  20. package/dist/types/lib/bitcore/block/merkleblock.d.ts +206 -0
  21. package/dist/types/lib/bitcore/block/merkleblock.d.ts.map +1 -1
  22. package/dist/types/lib/bitcore/crypto/bn.d.ts +224 -0
  23. package/dist/types/lib/bitcore/crypto/bn.d.ts.map +1 -1
  24. package/dist/types/lib/bitcore/crypto/ecdsa.d.ts +122 -0
  25. package/dist/types/lib/bitcore/crypto/ecdsa.d.ts.map +1 -1
  26. package/dist/types/lib/bitcore/crypto/hash.d.ts +56 -0
  27. package/dist/types/lib/bitcore/crypto/hash.d.ts.map +1 -1
  28. package/dist/types/lib/bitcore/crypto/index.d.ts +4 -0
  29. package/dist/types/lib/bitcore/crypto/index.d.ts.map +1 -1
  30. package/dist/types/lib/bitcore/crypto/musig2.d.ts +282 -0
  31. package/dist/types/lib/bitcore/crypto/musig2.d.ts.map +1 -1
  32. package/dist/types/lib/bitcore/crypto/point.d.ts +87 -0
  33. package/dist/types/lib/bitcore/crypto/point.d.ts.map +1 -1
  34. package/dist/types/lib/bitcore/crypto/random.d.ts +48 -0
  35. package/dist/types/lib/bitcore/crypto/random.d.ts.map +1 -1
  36. package/dist/types/lib/bitcore/crypto/schnorr.d.ts +203 -0
  37. package/dist/types/lib/bitcore/crypto/schnorr.d.ts.map +1 -1
  38. package/dist/types/lib/bitcore/crypto/signature.d.ts +452 -0
  39. package/dist/types/lib/bitcore/crypto/signature.d.ts.map +1 -1
  40. package/dist/types/lib/bitcore/crypto/sigtype.d.ts +46 -0
  41. package/dist/types/lib/bitcore/crypto/sigtype.d.ts.map +1 -1
  42. package/dist/types/lib/bitcore/encoding/base58.d.ts +68 -0
  43. package/dist/types/lib/bitcore/encoding/base58.d.ts.map +1 -1
  44. package/dist/types/lib/bitcore/encoding/base58check.d.ts +58 -0
  45. package/dist/types/lib/bitcore/encoding/base58check.d.ts.map +1 -1
  46. package/dist/types/lib/bitcore/encoding/bufferreader.d.ts +112 -0
  47. package/dist/types/lib/bitcore/encoding/bufferreader.d.ts.map +1 -1
  48. package/dist/types/lib/bitcore/encoding/bufferwriter.d.ts +144 -0
  49. package/dist/types/lib/bitcore/encoding/bufferwriter.d.ts.map +1 -1
  50. package/dist/types/lib/bitcore/encoding/varint.d.ts +86 -0
  51. package/dist/types/lib/bitcore/encoding/varint.d.ts.map +1 -1
  52. package/dist/types/lib/bitcore/errors.d.ts +4 -0
  53. package/dist/types/lib/bitcore/errors.d.ts.map +1 -1
  54. package/dist/types/lib/bitcore/hdprivatekey.d.ts +59 -0
  55. package/dist/types/lib/bitcore/hdprivatekey.d.ts.map +1 -1
  56. package/dist/types/lib/bitcore/hdpublickey.d.ts +145 -0
  57. package/dist/types/lib/bitcore/hdpublickey.d.ts.map +1 -1
  58. package/dist/types/lib/bitcore/index.d.ts +4 -0
  59. package/dist/types/lib/bitcore/index.d.ts.map +1 -1
  60. package/dist/types/lib/bitcore/message.d.ts +63 -0
  61. package/dist/types/lib/bitcore/message.d.ts.map +1 -1
  62. package/dist/types/lib/bitcore/mnemonic/errors.d.ts +4 -0
  63. package/dist/types/lib/bitcore/mnemonic/errors.d.ts.map +1 -1
  64. package/dist/types/lib/bitcore/mnemonic/index.d.ts +4 -0
  65. package/dist/types/lib/bitcore/mnemonic/index.d.ts.map +1 -1
  66. package/dist/types/lib/bitcore/mnemonic/mnemonic.d.ts +106 -0
  67. package/dist/types/lib/bitcore/mnemonic/mnemonic.d.ts.map +1 -1
  68. package/dist/types/lib/bitcore/mnemonic/pbkdf2.d.ts +13 -0
  69. package/dist/types/lib/bitcore/mnemonic/pbkdf2.d.ts.map +1 -1
  70. package/dist/types/lib/bitcore/mnemonic/words/english.d.ts +4 -0
  71. package/dist/types/lib/bitcore/mnemonic/words/english.d.ts.map +1 -1
  72. package/dist/types/lib/bitcore/mnemonic/words/french.d.ts +5 -0
  73. package/dist/types/lib/bitcore/mnemonic/words/french.d.ts.map +1 -1
  74. package/dist/types/lib/bitcore/mnemonic/words/index.d.ts +4 -0
  75. package/dist/types/lib/bitcore/mnemonic/words/index.d.ts.map +1 -1
  76. package/dist/types/lib/bitcore/musig2/index.d.ts +14 -0
  77. package/dist/types/lib/bitcore/musig2/index.d.ts.map +1 -1
  78. package/dist/types/lib/bitcore/musig2/session.d.ts +254 -0
  79. package/dist/types/lib/bitcore/musig2/session.d.ts.map +1 -1
  80. package/dist/types/lib/bitcore/musig2/signer.d.ts +212 -0
  81. package/dist/types/lib/bitcore/musig2/signer.d.ts.map +1 -1
  82. package/dist/types/lib/bitcore/networks.d.ts +17 -0
  83. package/dist/types/lib/bitcore/networks.d.ts.map +1 -1
  84. package/dist/types/lib/bitcore/opcode.d.ts +151 -0
  85. package/dist/types/lib/bitcore/opcode.d.ts.map +1 -1
  86. package/dist/types/lib/bitcore/privatekey.d.ts +80 -0
  87. package/dist/types/lib/bitcore/privatekey.d.ts.map +1 -1
  88. package/dist/types/lib/bitcore/publickey.d.ts +195 -0
  89. package/dist/types/lib/bitcore/publickey.d.ts.map +1 -1
  90. package/dist/types/lib/bitcore/script/chunk.d.ts +51 -0
  91. package/dist/types/lib/bitcore/script/chunk.d.ts.map +1 -1
  92. package/dist/types/lib/bitcore/script/interpreter/condition-stack.d.ts +60 -0
  93. package/dist/types/lib/bitcore/script/interpreter/condition-stack.d.ts.map +1 -1
  94. package/dist/types/lib/bitcore/script/interpreter/index.d.ts +23 -0
  95. package/dist/types/lib/bitcore/script/interpreter/index.d.ts.map +1 -1
  96. package/dist/types/lib/bitcore/script/interpreter/interpreter.d.ts +86 -0
  97. package/dist/types/lib/bitcore/script/interpreter/interpreter.d.ts.map +1 -1
  98. package/dist/types/lib/bitcore/script/interpreter/script-num.d.ts +115 -0
  99. package/dist/types/lib/bitcore/script/interpreter/script-num.d.ts.map +1 -1
  100. package/dist/types/lib/bitcore/script/interpreter/types.d.ts +119 -0
  101. package/dist/types/lib/bitcore/script/interpreter/types.d.ts.map +1 -1
  102. package/dist/types/lib/bitcore/script/taproot.d.ts +297 -0
  103. package/dist/types/lib/bitcore/script/taproot.d.ts.map +1 -1
  104. package/dist/types/lib/bitcore/script.d.ts +511 -1
  105. package/dist/types/lib/bitcore/script.d.ts.map +1 -1
  106. package/dist/types/lib/bitcore/taproot/musig2.d.ts +153 -0
  107. package/dist/types/lib/bitcore/taproot/musig2.d.ts.map +1 -1
  108. package/dist/types/lib/bitcore/transaction/input/multisig.d.ts +8 -0
  109. package/dist/types/lib/bitcore/transaction/input/multisig.d.ts.map +1 -1
  110. package/dist/types/lib/bitcore/transaction/input/multisigscripthash.d.ts +8 -0
  111. package/dist/types/lib/bitcore/transaction/input/multisigscripthash.d.ts.map +1 -1
  112. package/dist/types/lib/bitcore/transaction/input/publickey.d.ts +8 -0
  113. package/dist/types/lib/bitcore/transaction/input/publickey.d.ts.map +1 -1
  114. package/dist/types/lib/bitcore/transaction/input/publickeyhash.d.ts +14 -0
  115. package/dist/types/lib/bitcore/transaction/input/publickeyhash.d.ts.map +1 -1
  116. package/dist/types/lib/bitcore/transaction/input/taproot.d.ts +22 -0
  117. package/dist/types/lib/bitcore/transaction/input/taproot.d.ts.map +1 -1
  118. package/dist/types/lib/bitcore/transaction/input.d.ts +418 -0
  119. package/dist/types/lib/bitcore/transaction/input.d.ts.map +1 -1
  120. package/dist/types/lib/bitcore/transaction/outpoint.d.ts +110 -0
  121. package/dist/types/lib/bitcore/transaction/outpoint.d.ts.map +1 -1
  122. package/dist/types/lib/bitcore/transaction/output.d.ts +83 -0
  123. package/dist/types/lib/bitcore/transaction/output.d.ts.map +1 -1
  124. package/dist/types/lib/bitcore/transaction/sighash.d.ts +69 -0
  125. package/dist/types/lib/bitcore/transaction/sighash.d.ts.map +1 -1
  126. package/dist/types/lib/bitcore/transaction/signature.d.ts +98 -0
  127. package/dist/types/lib/bitcore/transaction/signature.d.ts.map +1 -1
  128. package/dist/types/lib/bitcore/transaction/transaction.d.ts +384 -0
  129. package/dist/types/lib/bitcore/transaction/transaction.d.ts.map +1 -1
  130. package/dist/types/lib/bitcore/transaction/unspentoutput.d.ts +61 -0
  131. package/dist/types/lib/bitcore/transaction/unspentoutput.d.ts.map +1 -1
  132. package/dist/types/lib/bitcore/unit.d.ts +140 -0
  133. package/dist/types/lib/bitcore/unit.d.ts.map +1 -1
  134. package/dist/types/lib/bitcore/uri.d.ts +34 -0
  135. package/dist/types/lib/bitcore/uri.d.ts.map +1 -1
  136. package/dist/types/lib/bitcore/util/base32.d.ts +55 -0
  137. package/dist/types/lib/bitcore/util/base32.d.ts.map +1 -1
  138. package/dist/types/lib/bitcore/util/bits.d.ts +76 -0
  139. package/dist/types/lib/bitcore/util/bits.d.ts.map +1 -1
  140. package/dist/types/lib/bitcore/util/buffer.d.ts +135 -0
  141. package/dist/types/lib/bitcore/util/buffer.d.ts.map +1 -1
  142. package/dist/types/lib/bitcore/util/convertBits.d.ts +15 -0
  143. package/dist/types/lib/bitcore/util/convertBits.d.ts.map +1 -1
  144. package/dist/types/lib/bitcore/util/js.d.ts +19 -0
  145. package/dist/types/lib/bitcore/util/js.d.ts.map +1 -1
  146. package/dist/types/lib/bitcore/util/merkle.d.ts +85 -0
  147. package/dist/types/lib/bitcore/util/merkle.d.ts.map +1 -1
  148. package/dist/types/lib/bitcore/util/preconditions.d.ts +29 -0
  149. package/dist/types/lib/bitcore/util/preconditions.d.ts.map +1 -1
  150. package/dist/types/lib/bitcore/util.d.ts +7 -0
  151. package/dist/types/lib/bitcore/util.d.ts.map +1 -1
  152. package/dist/types/lib/bitcore/xaddress.d.ts +117 -0
  153. package/dist/types/lib/bitcore/xaddress.d.ts.map +1 -1
  154. package/dist/types/lib/lokad.d.ts +292 -0
  155. package/dist/types/lib/lokad.d.ts.map +1 -1
  156. package/dist/types/lib/nft.d.ts +434 -0
  157. package/dist/types/lib/nft.d.ts.map +1 -1
  158. package/dist/types/lib/rank/api.d.ts +13 -0
  159. package/dist/types/lib/rank/api.d.ts.map +1 -1
  160. package/dist/types/lib/rank/index.d.ts +153 -0
  161. package/dist/types/lib/rank/index.d.ts.map +1 -1
  162. package/dist/types/lib/rank/opcode.d.ts +6 -2
  163. package/dist/types/lib/rank/opcode.d.ts.map +1 -1
  164. package/dist/types/lib/rank/script.d.ts +10 -0
  165. package/dist/types/lib/rank/script.d.ts.map +1 -1
  166. package/dist/types/lib/rank/transaction.d.ts +11 -0
  167. package/dist/types/lib/rank/transaction.d.ts.map +1 -1
  168. package/dist/types/lib/rpc.d.ts +176 -0
  169. package/dist/types/lib/rpc.d.ts.map +1 -1
  170. package/dist/types/utils/constants.d.ts +27 -0
  171. package/dist/types/utils/constants.d.ts.map +1 -1
  172. package/dist/types/utils/env.d.ts +15 -0
  173. package/dist/types/utils/env.d.ts.map +1 -1
  174. package/dist/types/utils/string.d.ts +57 -0
  175. package/dist/types/utils/string.d.ts.map +1 -1
  176. package/dist/types/utils/wallet.d.ts +43 -1
  177. package/dist/types/utils/wallet.d.ts.map +1 -1
  178. package/package.json +10 -7
  179. package/tsconfig.types.json +2 -1
package/.mcp.json ADDED
@@ -0,0 +1,8 @@
1
+ {
2
+ "mcpServers": {
3
+ "superconductor": {
4
+ "type": "http",
5
+ "url": "http://localhost:31418/mcp?sc_token=c8e68b2dc9f5dff53c99870b8991a7eb&worktree=%2FUsers%2Fmatthew%2FDocuments%2FCode%2Flotusia%2Fxpi%2Dts%2F"
6
+ }
7
+ }
8
+ }
package/README.md CHANGED
@@ -423,10 +423,17 @@ npm run test:coverage
423
423
  ### Build
424
424
 
425
425
  ```bash
426
- # Compile TypeScript
426
+ # Run full gulp build pipeline (clean + types + esm + cjs + export validation)
427
427
  npm run build
428
428
 
429
- # Watch mode
429
+ # Run targeted pipeline stages
430
+ npm run build:clean
431
+ npm run build:types
432
+ npm run build:esm
433
+ npm run build:cjs
434
+ npm run build:validate
435
+
436
+ # Watch mode (rebuilds types + esm + cjs)
430
437
  npm run build:watch
431
438
  ```
432
439
 
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Point = exports.PREFIX_Y_EVEN = exports.PREFIX_Y_ODD = void 0;
4
- const elliptic_1 = require("elliptic");
4
+ const elliptic = require("elliptic");
5
5
  const bn_1 = require("./bn");
6
6
  const util_1 = require("../util");
7
- const ecInstance = new elliptic_1.ec('secp256k1');
7
+ const ecInstance = new (elliptic.default || elliptic).ec('secp256k1');
8
8
  const ecPoint = ecInstance.curve.point.bind(ecInstance.curve);
9
9
  const ecPointFromX = ecInstance.curve.pointFromX.bind(ecInstance.curve);
10
10
  exports.PREFIX_Y_ODD = 0x03;
@@ -139,21 +139,20 @@ class Script {
139
139
  if (opcodenum === undefined) {
140
140
  const buf = buffer_js_1.BufferUtil.from(tokens[i], 'hex');
141
141
  let opcodenum;
142
- const len = buf.length;
143
- if (len >= 0 && len < opcode_js_1.Opcode.OP_PUSHDATA1) {
144
- opcodenum = len;
142
+ if (buf.length >= 0 && buf.length < opcode_js_1.Opcode.OP_PUSHDATA1) {
143
+ opcodenum = buf.length;
145
144
  }
146
- else if (len < Math.pow(2, 8)) {
145
+ else if (buf.length <= 0xff) {
147
146
  opcodenum = opcode_js_1.Opcode.OP_PUSHDATA1;
148
147
  }
149
- else if (len < Math.pow(2, 16)) {
148
+ else if (buf.length <= 0xffff) {
150
149
  opcodenum = opcode_js_1.Opcode.OP_PUSHDATA2;
151
150
  }
152
- else if (len < Math.pow(2, 32)) {
151
+ else {
153
152
  opcodenum = opcode_js_1.Opcode.OP_PUSHDATA4;
154
153
  }
155
- else {
156
- throw new Error('Invalid push data length');
154
+ if (!opcodenum) {
155
+ throw new Error(`Invalid script chunk buffer length (${buf.length})`);
157
156
  }
158
157
  script.chunks.push(new chunk_js_1.Chunk({
159
158
  buf: buf,
@@ -468,39 +467,7 @@ class Script {
468
467
  return script;
469
468
  }
470
469
  add(chunk) {
471
- if (chunk instanceof opcode_js_1.Opcode) {
472
- this.chunks.push(new chunk_js_1.Chunk({
473
- opcodenum: chunk.num,
474
- }));
475
- }
476
- else if (buffer_js_1.BufferUtil.isBuffer(chunk)) {
477
- const chunkObj = {
478
- buf: chunk,
479
- len: chunk.length,
480
- opcodenum: chunk.length,
481
- };
482
- if (chunk.length < opcode_js_1.Opcode.OP_PUSHDATA1) {
483
- chunkObj.opcodenum = chunk.length;
484
- }
485
- else if (chunk.length <= 0xff) {
486
- chunkObj.opcodenum = opcode_js_1.Opcode.OP_PUSHDATA1;
487
- }
488
- else if (chunk.length <= 0xffff) {
489
- chunkObj.opcodenum = opcode_js_1.Opcode.OP_PUSHDATA2;
490
- }
491
- else {
492
- chunkObj.opcodenum = opcode_js_1.Opcode.OP_PUSHDATA4;
493
- }
494
- this.chunks.push(new chunk_js_1.Chunk(chunkObj));
495
- }
496
- else if (typeof chunk === 'number') {
497
- this.chunks.push(new chunk_js_1.Chunk({
498
- opcodenum: chunk,
499
- }));
500
- }
501
- else {
502
- throw new TypeError('Invalid chunk type');
503
- }
470
+ this._addByType(chunk, false);
504
471
  return this;
505
472
  }
506
473
  addTaprootState(state) {
@@ -1104,25 +1071,24 @@ class Script {
1104
1071
  }
1105
1072
  _addBuffer(buf, prepend) {
1106
1073
  let opcodenum;
1107
- const len = buf.length;
1108
- if (len >= 0 && len < opcode_js_1.Opcode.OP_PUSHDATA1) {
1109
- opcodenum = len;
1074
+ if (buf.length >= 0 && buf.length < opcode_js_1.Opcode.OP_PUSHDATA1) {
1075
+ opcodenum = buf.length;
1110
1076
  }
1111
- else if (len < Math.pow(2, 8)) {
1077
+ else if (buf.length <= 0xff) {
1112
1078
  opcodenum = opcode_js_1.Opcode.OP_PUSHDATA1;
1113
1079
  }
1114
- else if (len < Math.pow(2, 16)) {
1080
+ else if (buf.length <= 0xffff) {
1115
1081
  opcodenum = opcode_js_1.Opcode.OP_PUSHDATA2;
1116
1082
  }
1117
- else if (len < Math.pow(2, 32)) {
1083
+ else {
1118
1084
  opcodenum = opcode_js_1.Opcode.OP_PUSHDATA4;
1119
1085
  }
1120
- else {
1121
- throw new Error("You can't push that much data");
1086
+ if (!opcodenum) {
1087
+ throw new Error(`Invalid script chunk buffer length (${buf.length})`);
1122
1088
  }
1123
1089
  this._insertAtPosition({
1124
1090
  buf: buf,
1125
- len: len,
1091
+ len: buf.length,
1126
1092
  opcodenum: opcodenum,
1127
1093
  }, prepend);
1128
1094
  }
@@ -95,6 +95,9 @@ class Transaction {
95
95
  static fromString(str) {
96
96
  return new Transaction(str);
97
97
  }
98
+ get estimatedSize() {
99
+ return this._estimateSize();
100
+ }
98
101
  get hash() {
99
102
  if (!this._hash) {
100
103
  const hashBuffer = this._getHash();
@@ -1,7 +1,7 @@
1
- import { ec } from 'elliptic';
1
+ import * as elliptic from 'elliptic';
2
2
  import { BN } from './bn';
3
3
  import { BufferUtil } from '../util';
4
- const ecInstance = new ec('secp256k1');
4
+ const ecInstance = new (elliptic.default || elliptic).ec('secp256k1');
5
5
  const ecPoint = ecInstance.curve.point.bind(ecInstance.curve);
6
6
  const ecPointFromX = ecInstance.curve.pointFromX.bind(ecInstance.curve);
7
7
  export const PREFIX_Y_ODD = 0x03;
@@ -136,21 +136,20 @@ export class Script {
136
136
  if (opcodenum === undefined) {
137
137
  const buf = BufferUtil.from(tokens[i], 'hex');
138
138
  let opcodenum;
139
- const len = buf.length;
140
- if (len >= 0 && len < Opcode.OP_PUSHDATA1) {
141
- opcodenum = len;
139
+ if (buf.length >= 0 && buf.length < Opcode.OP_PUSHDATA1) {
140
+ opcodenum = buf.length;
142
141
  }
143
- else if (len < Math.pow(2, 8)) {
142
+ else if (buf.length <= 0xff) {
144
143
  opcodenum = Opcode.OP_PUSHDATA1;
145
144
  }
146
- else if (len < Math.pow(2, 16)) {
145
+ else if (buf.length <= 0xffff) {
147
146
  opcodenum = Opcode.OP_PUSHDATA2;
148
147
  }
149
- else if (len < Math.pow(2, 32)) {
148
+ else {
150
149
  opcodenum = Opcode.OP_PUSHDATA4;
151
150
  }
152
- else {
153
- throw new Error('Invalid push data length');
151
+ if (!opcodenum) {
152
+ throw new Error(`Invalid script chunk buffer length (${buf.length})`);
154
153
  }
155
154
  script.chunks.push(new Chunk({
156
155
  buf: buf,
@@ -465,39 +464,7 @@ export class Script {
465
464
  return script;
466
465
  }
467
466
  add(chunk) {
468
- if (chunk instanceof Opcode) {
469
- this.chunks.push(new Chunk({
470
- opcodenum: chunk.num,
471
- }));
472
- }
473
- else if (BufferUtil.isBuffer(chunk)) {
474
- const chunkObj = {
475
- buf: chunk,
476
- len: chunk.length,
477
- opcodenum: chunk.length,
478
- };
479
- if (chunk.length < Opcode.OP_PUSHDATA1) {
480
- chunkObj.opcodenum = chunk.length;
481
- }
482
- else if (chunk.length <= 0xff) {
483
- chunkObj.opcodenum = Opcode.OP_PUSHDATA1;
484
- }
485
- else if (chunk.length <= 0xffff) {
486
- chunkObj.opcodenum = Opcode.OP_PUSHDATA2;
487
- }
488
- else {
489
- chunkObj.opcodenum = Opcode.OP_PUSHDATA4;
490
- }
491
- this.chunks.push(new Chunk(chunkObj));
492
- }
493
- else if (typeof chunk === 'number') {
494
- this.chunks.push(new Chunk({
495
- opcodenum: chunk,
496
- }));
497
- }
498
- else {
499
- throw new TypeError('Invalid chunk type');
500
- }
467
+ this._addByType(chunk, false);
501
468
  return this;
502
469
  }
503
470
  addTaprootState(state) {
@@ -1101,25 +1068,24 @@ export class Script {
1101
1068
  }
1102
1069
  _addBuffer(buf, prepend) {
1103
1070
  let opcodenum;
1104
- const len = buf.length;
1105
- if (len >= 0 && len < Opcode.OP_PUSHDATA1) {
1106
- opcodenum = len;
1071
+ if (buf.length >= 0 && buf.length < Opcode.OP_PUSHDATA1) {
1072
+ opcodenum = buf.length;
1107
1073
  }
1108
- else if (len < Math.pow(2, 8)) {
1074
+ else if (buf.length <= 0xff) {
1109
1075
  opcodenum = Opcode.OP_PUSHDATA1;
1110
1076
  }
1111
- else if (len < Math.pow(2, 16)) {
1077
+ else if (buf.length <= 0xffff) {
1112
1078
  opcodenum = Opcode.OP_PUSHDATA2;
1113
1079
  }
1114
- else if (len < Math.pow(2, 32)) {
1080
+ else {
1115
1081
  opcodenum = Opcode.OP_PUSHDATA4;
1116
1082
  }
1117
- else {
1118
- throw new Error("You can't push that much data");
1083
+ if (!opcodenum) {
1084
+ throw new Error(`Invalid script chunk buffer length (${buf.length})`);
1119
1085
  }
1120
1086
  this._insertAtPosition({
1121
1087
  buf: buf,
1122
- len: len,
1088
+ len: buf.length,
1123
1089
  opcodenum: opcodenum,
1124
1090
  }, prepend);
1125
1091
  }
@@ -92,6 +92,9 @@ export class Transaction {
92
92
  static fromString(str) {
93
93
  return new Transaction(str);
94
94
  }
95
+ get estimatedSize() {
96
+ return this._estimateSize();
97
+ }
95
98
  get hash() {
96
99
  if (!this._hash) {
97
100
  const hashBuffer = this._getHash();
@@ -1 +1,3 @@
1
- {"type": "module"}
1
+ {
2
+ "type": "module"
3
+ }
@@ -0,0 +1,10 @@
1
+ export default build;
2
+ export function clean(): Promise<void>;
3
+ declare function buildTypes(): Promise<any>;
4
+ declare const buildEsm: any;
5
+ declare function buildCjs(): Promise<any>;
6
+ export function validate(): Promise<void>;
7
+ export const build: any;
8
+ declare function buildWatch(): any;
9
+ export { buildTypes as _build_types, buildEsm as _build_esm, buildCjs as _build_cjs, buildWatch as watch };
10
+ //# sourceMappingURL=gulpfile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gulpfile.d.ts","sourceRoot":"","sources":["../../gulpfile.js"],"names":[],"mappings":";AAmCA,uCAEC;AAED,4CAEC;AAeD,4BAA0D;AAE1D,0CAEC;AA8CD,0CASC;AAED,wBAA+E;AAE/E,mCAMC"}
@@ -1,3 +1,8 @@
1
+ /**
2
+ * Copyright 2025 The Lotusia Stewardship
3
+ * Github: https://github.com/LotusiaStewardship
4
+ * License: MIT
5
+ */
1
6
  export * from './lib/rpc.js';
2
7
  export * as Bitcore from './lib/bitcore/index.js';
3
8
  export * as LOKAD from './lib/lokad.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"AAKA,cAAc,cAAc,CAAA;AAC5B,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAA;AACjD,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAA;AACvC,cAAc,sBAAsB,CAAA;AACpC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,cAAc,cAAc,CAAA;AAC5B,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAA;AACjD,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAA;AACvC,cAAc,sBAAsB,CAAA;AACpC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA"}
@@ -27,41 +27,157 @@ export declare class Address {
27
27
  readonly type: string;
28
28
  constructor(data?: AddressInput, network?: Network | NetworkName, type?: string);
29
29
  private _classifyArguments;
30
+ /**
31
+ * Internal function to discover the network and type based on the first data byte
32
+ */
30
33
  private static _classifyFromVersion;
34
+ /**
35
+ * Internal function to transform a Lotus address string
36
+ */
31
37
  private static _transformString;
38
+ /**
39
+ * Internal function to transform a legacy bitcoin address string
40
+ */
32
41
  private static _transformLegacyString;
42
+ /**
43
+ * Check if a string is an XAddress format
44
+ */
33
45
  private static _isXAddress;
46
+ /**
47
+ * Internal function to transform an XAddress string
48
+ */
34
49
  private static _transformXAddressString;
50
+ /**
51
+ * Internal function to transform a hash buffer (20 bytes)
52
+ */
35
53
  private static _transformHash;
54
+ /**
55
+ * Internal function to transform a bitcoin address buffer (21 bytes)
56
+ */
36
57
  private static _transformBuffer;
58
+ /**
59
+ * Internal function to transform a public key
60
+ */
37
61
  private static _transformPublicKey;
62
+ /**
63
+ * Internal function to transform a Script into an info object
64
+ */
38
65
  private static _transformScript;
66
+ /**
67
+ * Deserializes an address serialized through `Address#toObject()`
68
+ */
39
69
  private static _transformObject;
70
+ /**
71
+ * Create a multisig address
72
+ */
40
73
  static createMultisig(publicKeys: PublicKey[], threshold: number, network?: Network | NetworkName): Address;
74
+ /**
75
+ * Create address from public key
76
+ */
41
77
  static fromPublicKey(data: PublicKey, network?: Network | NetworkName): Address;
78
+ /**
79
+ * Create address from public key hash
80
+ */
42
81
  static fromPublicKeyHash(hash: Buffer, network?: Network | NetworkName): Address;
82
+ /**
83
+ * Create address from script hash
84
+ */
43
85
  static fromScriptHash(hash: Buffer, network?: Network | NetworkName): Address;
86
+ /**
87
+ * Create Taproot address from commitment public key
88
+ *
89
+ * For Taproot, the "hash" is actually the 33-byte commitment public key.
90
+ *
91
+ * @param commitment - 33-byte commitment public key (tweaked)
92
+ * @param network - Network (livenet, testnet, regtest)
93
+ * @returns Taproot address
94
+ */
44
95
  static fromTaprootCommitment(commitment: PublicKey | Buffer, network: Network | NetworkName): Address;
96
+ /**
97
+ * Create address from buffer
98
+ */
45
99
  static fromBuffer(buffer: Buffer, network?: Network | NetworkName, type?: string): Address;
100
+ /**
101
+ * Takes an address string and transforms it into an `AddressData` object which
102
+ * contains the `hashBuffer`, `network`, and `type` parameters to instantiate the
103
+ * new `Address` object.
104
+ */
46
105
  static fromString(str: string, network?: Network | NetworkName): Address;
106
+ /**
107
+ * Create address from object
108
+ */
47
109
  static fromObject(obj: AddressObject): Address;
110
+ /**
111
+ * Extract address from a Script. The script must be of one
112
+ * of the following types: p2pkh input, p2pkh output, p2sh input
113
+ * or p2sh output.
114
+ */
48
115
  static fromScript(script: Script, network?: Network | NetworkName): Address;
116
+ /**
117
+ * Builds a p2sh address paying to script. This will hash the script and
118
+ * use that to create the address.
119
+ */
49
120
  static payingTo(script: Script, network?: Network | NetworkName): Address;
121
+ /**
122
+ * Will return a validation error if exists
123
+ */
50
124
  static getValidationError(data: AddressInput, network?: Network | NetworkName, type?: string): Error | null;
125
+ /**
126
+ * Will return a boolean if an address is valid
127
+ */
51
128
  static isValid(data: AddressInput, network?: Network | NetworkName, type?: string): boolean;
129
+ /**
130
+ * Check if address is pay to public key hash
131
+ */
52
132
  isPayToPublicKeyHash(): boolean;
133
+ /**
134
+ * Check if address is pay to script hash
135
+ */
53
136
  isPayToScriptHash(): boolean;
137
+ /**
138
+ * Check if address is pay to taproot
139
+ */
54
140
  isPayToTaproot(): boolean;
141
+ /**
142
+ * Will return a buffer representation of the address (hash buffer only)
143
+ */
55
144
  toBuffer(): Buffer;
145
+ /**
146
+ * Will return a full buffer representation of the address (version + hash)
147
+ */
56
148
  toFullBuffer(): Buffer;
149
+ /**
150
+ * Will return a cash address buffer representation
151
+ */
57
152
  toCashBuffer(): Buffer;
153
+ /**
154
+ * Returns a plain object with the address information
155
+ */
58
156
  toObject(): AddressObject;
59
157
  toJSON(): AddressObject;
158
+ /**
159
+ * Wrapper method for `Address.toXAddress` method
160
+ */
60
161
  toString(network?: Network | NetworkName): string;
162
+ /**
163
+ * Will return a legacy address string
164
+ */
61
165
  toLegacyAddress(): string;
166
+ /**
167
+ * Will return a cash address string
168
+ */
62
169
  toCashAddress(): string;
170
+ /**
171
+ * Will return an X address string
172
+ */
63
173
  toXAddress(network?: Network | NetworkName): string;
174
+ /**
175
+ * Decode cash address
176
+ */
64
177
  static decodeCashAddress(address: string): CashAddressDecoding;
178
+ /**
179
+ * Inspect method for debugging
180
+ */
65
181
  inspect(): string;
66
182
  }
67
183
  //# sourceMappingURL=address.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../../../../lib/bitcore/address.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../../../../lib/bitcore/address.ts"],"names":[],"mappings":"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"}