tbc-tx-parser 0.1.2 → 0.1.4

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.
@@ -35,7 +35,7 @@ export function calculateChainStats(inputs, outputs, size) {
35
35
  inputValue,
36
36
  outputValue,
37
37
  fee,
38
- feeRate: fee === undefined ? undefined : Math.ceil(fee / Math.max(1, Math.ceil(size / 1000))),
38
+ feeRate: fee === undefined ? undefined : size < 1000 ? fee : Math.ceil((fee * 1000) / size),
39
39
  };
40
40
  }
41
41
  //# sourceMappingURL=chain.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chain.js","sourceRoot":"","sources":["../../src/core/chain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,2GAA2G;AAC3G,MAAM,UAAU,kBAAkB,CAAC,SAAiB;IAClD,OAAO;QACL,GAAG,WAAW,CAAC,SAAS,CAAC;QACzB,GAAG,EAAE,SAAS;KACf,CAAC;AACJ,CAAC;AAED,kGAAkG;AAClG,MAAM,UAAU,eAAe,CAAC,MAAoB;IAClD,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACtB,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,KAAK,EAAE,CAAC;QACrC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,QAAQ,EAAE,CAAC;QACxC,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAChB,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,6GAA6G;AAC7G,MAAM,UAAU,mBAAmB,CAAC,MAAsB,EAAE,OAAwB,EAAE,IAAY;IAChG,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,KAAK,SAAS,CAAC;QAC/E,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;QACxE,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC9E,MAAM,UAAU,GAAG,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,GAAG,WAAW,CAAC;IACnF,MAAM,GAAG,GAAG,UAAU,KAAK,SAAS,IAAI,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;IAEhF,OAAO;QACL,UAAU;QACV,WAAW;QACX,GAAG;QACH,OAAO,EAAE,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC;KAC9F,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"chain.js","sourceRoot":"","sources":["../../src/core/chain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,2GAA2G;AAC3G,MAAM,UAAU,kBAAkB,CAAC,SAAiB;IAClD,OAAO;QACL,GAAG,WAAW,CAAC,SAAS,CAAC;QACzB,GAAG,EAAE,SAAS;KACf,CAAC;AACJ,CAAC;AAED,kGAAkG;AAClG,MAAM,UAAU,eAAe,CAAC,MAAoB;IAClD,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACtB,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,KAAK,EAAE,CAAC;QACrC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,QAAQ,EAAE,CAAC;QACxC,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAChB,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,6GAA6G;AAC7G,MAAM,UAAU,mBAAmB,CAAC,MAAsB,EAAE,OAAwB,EAAE,IAAY;IAChG,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,KAAK,SAAS,CAAC;QAC/E,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;QACxE,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC9E,MAAM,UAAU,GAAG,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,GAAG,WAAW,CAAC;IACnF,MAAM,GAAG,GAAG,UAAU,KAAK,SAAS,IAAI,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;IAEhF,OAAO;QACL,UAAU;QACV,WAAW;QACX,GAAG;QACH,OAAO,EAAE,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;KAC5F,CAAC;AACJ,CAAC"}
@@ -45,20 +45,14 @@ function extractOriginUtxoFromBuffer(utxoBuf) {
45
45
  try {
46
46
  if (utxoBuf.length !== 36)
47
47
  return null;
48
- const txidReversedHex = utxoBuf.subarray(0, 32).toString('hex');
49
- const voutLeHex = utxoBuf.subarray(32).toString('hex');
50
48
  let txid = '';
51
- for (let j = 0; j < 32; j++) {
52
- const byte = txidReversedHex.slice(j * 2, j * 2 + 2);
53
- txid = byte + txid;
49
+ for (let j = 31; j >= 0; j--) {
50
+ txid += utxoBuf[j].toString(16).padStart(2, '0');
54
51
  }
55
- const voutBytes = voutLeHex.match(/../g);
56
- if (!voutBytes || voutBytes.length !== 4)
57
- return null;
58
- const voutHexBe = voutBytes.reverse().join('');
59
- const vout = parseInt(voutHexBe, 16);
60
- if (!Number.isFinite(vout))
61
- return null;
52
+ const vout = utxoBuf[32] +
53
+ utxoBuf[33] * 0x100 +
54
+ utxoBuf[34] * 0x10000 +
55
+ utxoBuf[35] * 0x1000000;
62
56
  return { txid, vout };
63
57
  }
64
58
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"origin.js","sourceRoot":"","sources":["../../src/script-parser/origin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"origin.js","sourceRoot":"","sources":["../../src/script-parser/origin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAkB,MAAM,wBAAwB,CAAC;AAE7D,2GAA2G;AAC3G,MAAM,UAAU,0BAA0B,CAAC,MAAiB;IAC1D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;QAEnC,gEAAgE;QAChE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACrB,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACzB,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACzB,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACzB,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE;gBAAE,SAAS;YAEvC,IACE,EAAE,CAAC,SAAS,KAAK,GAAG,CAAC,MAAM,CAAC,OAAO;gBACnC,EAAE,CAAC,SAAS,KAAK,GAAG,CAAC,MAAM,CAAC,eAAe;gBAC3C,EAAE,CAAC,GAAG;gBACN,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,EAAE;gBACpB,EAAE,CAAC,SAAS,KAAK,GAAG,CAAC,MAAM,CAAC,cAAc,EAC1C,CAAC;gBACD,OAAO,2BAA2B,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;QAED,0DAA0D;QAC1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACrB,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACzB,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACzB,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE;gBAAE,SAAS;YAEhC,IAAI,EAAE,CAAC,SAAS,KAAK,GAAG,CAAC,MAAM,CAAC,OAAO;gBAAE,SAAS;YAElD,IACE,EAAE,CAAC,GAAG;gBACN,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,EAAE;gBACpB,EAAE,CAAC,SAAS,KAAK,GAAG,CAAC,MAAM,CAAC,cAAc,EAC1C,CAAC;gBACD,OAAO,2BAA2B,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,qEAAqE;AACrE,SAAS,2BAA2B,CAAC,OAAmB;IACtD,IAAI,CAAC;QACH,IAAI,OAAO,CAAC,MAAM,KAAK,EAAE;YAAE,OAAO,IAAI,CAAC;QAEvC,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,KAAK,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7B,IAAI,IAAI,OAAO,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,IAAI,GACR,OAAO,CAAC,EAAE,CAAE;YACZ,OAAO,CAAC,EAAE,CAAE,GAAG,KAAK;YACpB,OAAO,CAAC,EAAE,CAAE,GAAG,OAAO;YACtB,OAAO,CAAC,EAAE,CAAE,GAAG,SAAS,CAAC;QAE3B,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tbc-tx-parser",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
4
4
  "description": "Decode TBC txraw hex into structured transaction facts.",
5
5
  "type": "module",
6
6
  "packageManager": "pnpm@10.25.0",