@chainvue/verus-sdk 0.4.1 → 0.5.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 (47) hide show
  1. package/LICENSE +202 -21
  2. package/NOTICE +31 -0
  3. package/dist/VerusSDK.js +7 -7
  4. package/dist/VerusSDK.js.map +1 -1
  5. package/dist/bundle.js +1112 -1030
  6. package/dist/constants/index.d.ts +4 -4
  7. package/dist/constants/index.d.ts.map +1 -1
  8. package/dist/constants/index.js +4 -4
  9. package/dist/constants/index.js.map +1 -1
  10. package/dist/currency/classify.d.ts +1 -1
  11. package/dist/currency/classify.d.ts.map +1 -1
  12. package/dist/currency/index.d.ts.map +1 -1
  13. package/dist/currency/index.js +5 -4
  14. package/dist/currency/index.js.map +1 -1
  15. package/dist/errors.d.ts +8 -3
  16. package/dist/errors.d.ts.map +1 -1
  17. package/dist/errors.js +12 -1
  18. package/dist/errors.js.map +1 -1
  19. package/dist/identity/index.d.ts +8 -8
  20. package/dist/identity/index.d.ts.map +1 -1
  21. package/dist/identity/index.js +29 -29
  22. package/dist/identity/index.js.map +1 -1
  23. package/dist/index.d.ts +2 -2
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +6 -1
  26. package/dist/index.js.map +1 -1
  27. package/dist/keys/index.d.ts.map +1 -1
  28. package/dist/keys/index.js +4 -3
  29. package/dist/keys/index.js.map +1 -1
  30. package/dist/signing/index.d.ts +2 -2
  31. package/dist/signing/index.d.ts.map +1 -1
  32. package/dist/signing/index.js +12 -6
  33. package/dist/signing/index.js.map +1 -1
  34. package/dist/transfer/index.d.ts.map +1 -1
  35. package/dist/transfer/index.js +65 -39
  36. package/dist/transfer/index.js.map +1 -1
  37. package/dist/types/index.d.ts +26 -26
  38. package/dist/types/index.d.ts.map +1 -1
  39. package/dist/utils/index.d.ts +24 -5
  40. package/dist/utils/index.d.ts.map +1 -1
  41. package/dist/utils/index.js +71 -11
  42. package/dist/utils/index.js.map +1 -1
  43. package/dist/utxo/index.d.ts +8 -2
  44. package/dist/utxo/index.d.ts.map +1 -1
  45. package/dist/utxo/index.js +58 -31
  46. package/dist/utxo/index.js.map +1 -1
  47. package/package.json +20 -6
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
@@ -13,10 +13,29 @@ export declare function writeCompactSize(value: number): Buffer;
13
13
  * Decode an i-address to its 20-byte hash
14
14
  */
15
15
  export declare function iAddressToHash(iAddress: string): Buffer;
16
- /** Convert coin units to satoshis */
17
- export declare function toSatoshis(coins: number): number;
18
- /** Convert satoshis to coin units */
19
- export declare function toCoins(satoshis: number): number;
16
+ /** Number of decimal places in a coin amount */
17
+ export declare const AMOUNT_DECIMALS = 8;
18
+ /** Satoshis per coin unit */
19
+ export declare const SATS_PER_COIN = 100000000n;
20
+ /**
21
+ * Parse a decimal coin-amount string into bigint satoshis. Exact arithmetic
22
+ * only — rejects anything outside the grammar (negative, exponent notation,
23
+ * more than 8 fraction digits, empty, non-numeric) with a typed error.
24
+ */
25
+ export declare function parseSats(decimal: string): bigint;
26
+ /** Convert coin units (decimal string) to satoshis — alias of parseSats */
27
+ export declare function toSatoshis(coins: string): bigint;
28
+ /**
29
+ * Convert satoshis to a decimal coin-unit string (minimal form, trailing
30
+ * fraction zeros trimmed). Exact — never goes through float64.
31
+ */
32
+ export declare function toCoins(satoshis: bigint): string;
33
+ /**
34
+ * Convert bigint satoshis to the `number` that @bitgo/utxo-lib expects at its
35
+ * boundary. The SDK is exact-integer internally; this is the single checked
36
+ * crossing into the signing library, which still models values as float64.
37
+ */
38
+ export declare function toSafeNumber(sats: bigint): number;
20
39
  /**
21
40
  * Convert an R-address or P2SH address to a scriptPubKey Buffer
22
41
  */
@@ -28,7 +47,7 @@ export interface DecodedInput {
28
47
  }
29
48
  /** One output of a signed transaction. `address` is null for smart outputs. */
30
49
  export interface DecodedOutput {
31
- valueSat: number;
50
+ valueSat: bigint;
32
51
  scriptHex: string;
33
52
  /** Base58 address when the script is plain P2PKH/P2SH, else null. */
34
53
  address: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH;;GAEG;AACH,wBAAgB,OAAO,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAMpD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAkBtD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGvD;AAED,qCAAqC;AACrC,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED,qCAAqC;AACrC,wBAAgB,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAwB7D;AAID,yEAAyE;AACzE,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,+EAA+E;AAC/E,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,qEAAqE;IACrE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,SAAS,GAAG,SAAS,GAC7B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,YAAY,EAAE,CAAC;IAAC,OAAO,EAAE,aAAa,EAAE,CAAA;CAAE,CAqCpE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH;;GAEG;AACH,wBAAgB,OAAO,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAMpD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAkBtD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGvD;AAID,gDAAgD;AAChD,eAAO,MAAM,eAAe,IAAI,CAAC;AAEjC,6BAA6B;AAC7B,eAAO,MAAM,aAAa,aAAe,CAAC;AAS1C;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAMjD;AAED,2EAA2E;AAC3E,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAWhD;AAID;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQjD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CA8B7D;AAID,yEAAyE;AACzE,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,+EAA+E;AAC/E,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,qEAAqE;IACrE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,SAAS,GAAG,SAAS,GAC7B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,YAAY,EAAE,CAAC;IAAC,OAAO,EAAE,aAAa,EAAE,CAAA;CAAE,CAqCpE"}
@@ -6,17 +6,21 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
6
6
  return (mod && mod.__esModule) ? mod : { "default": mod };
7
7
  };
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.SATS_PER_COIN = exports.AMOUNT_DECIMALS = void 0;
9
10
  exports.sha256d = sha256d;
10
11
  exports.writeCompactSize = writeCompactSize;
11
12
  exports.iAddressToHash = iAddressToHash;
13
+ exports.parseSats = parseSats;
12
14
  exports.toSatoshis = toSatoshis;
13
15
  exports.toCoins = toCoins;
16
+ exports.toSafeNumber = toSafeNumber;
14
17
  exports.addressToScriptPubKey = addressToScriptPubKey;
15
18
  exports.summarizeSignedTransaction = summarizeSignedTransaction;
16
19
  const crypto_1 = require("crypto");
17
20
  const bs58check_1 = __importDefault(require("bs58check"));
18
21
  const verus_typescript_primitives_1 = require("verus-typescript-primitives");
19
22
  const index_js_1 = require("../constants/index.js");
23
+ const errors_js_1 = require("../errors.js");
20
24
  /**
21
25
  * SHA256d (double SHA-256) of one or more buffers
22
26
  */
@@ -59,19 +63,73 @@ function iAddressToHash(iAddress) {
59
63
  const { hash } = (0, verus_typescript_primitives_1.fromBase58Check)(iAddress);
60
64
  return Buffer.from(hash);
61
65
  }
62
- /** Convert coin units to satoshis */
66
+ // ─── Exact money conversions (bigint satoshis ↔ decimal strings) ─────────
67
+ /** Number of decimal places in a coin amount */
68
+ exports.AMOUNT_DECIMALS = 8;
69
+ /** Satoshis per coin unit */
70
+ exports.SATS_PER_COIN = 100000000n;
71
+ /**
72
+ * Grammar for decimal coin amounts: non-negative, no leading zeros in the
73
+ * integer part, optional `.` with 1–8 fraction digits. No exponents, no
74
+ * signs, no whitespace.
75
+ */
76
+ const DECIMAL_AMOUNT_RE = /^(?:0|[1-9]\d*)(?:\.\d{1,8})?$/;
77
+ /**
78
+ * Parse a decimal coin-amount string into bigint satoshis. Exact arithmetic
79
+ * only — rejects anything outside the grammar (negative, exponent notation,
80
+ * more than 8 fraction digits, empty, non-numeric) with a typed error.
81
+ */
82
+ function parseSats(decimal) {
83
+ if (typeof decimal !== 'string' || !DECIMAL_AMOUNT_RE.test(decimal)) {
84
+ throw new errors_js_1.InvalidAmountError(String(decimal));
85
+ }
86
+ const [whole = '0', fraction = ''] = decimal.split('.');
87
+ return BigInt(whole) * exports.SATS_PER_COIN + BigInt(fraction.padEnd(exports.AMOUNT_DECIMALS, '0'));
88
+ }
89
+ /** Convert coin units (decimal string) to satoshis — alias of parseSats */
63
90
  function toSatoshis(coins) {
64
- return Math.round(coins * 1e8);
91
+ return parseSats(coins);
65
92
  }
66
- /** Convert satoshis to coin units */
93
+ /**
94
+ * Convert satoshis to a decimal coin-unit string (minimal form, trailing
95
+ * fraction zeros trimmed). Exact — never goes through float64.
96
+ */
67
97
  function toCoins(satoshis) {
68
- return satoshis / 1e8;
98
+ const sign = satoshis < 0n ? '-' : '';
99
+ const abs = satoshis < 0n ? -satoshis : satoshis;
100
+ const whole = abs / exports.SATS_PER_COIN;
101
+ const fraction = abs % exports.SATS_PER_COIN;
102
+ if (fraction === 0n)
103
+ return `${sign}${whole}`;
104
+ const fractionStr = fraction
105
+ .toString()
106
+ .padStart(exports.AMOUNT_DECIMALS, '0')
107
+ .replace(/0+$/, '');
108
+ return `${sign}${whole}.${fractionStr}`;
109
+ }
110
+ const MAX_SAFE_SATS = BigInt(Number.MAX_SAFE_INTEGER);
111
+ /**
112
+ * Convert bigint satoshis to the `number` that @bitgo/utxo-lib expects at its
113
+ * boundary. The SDK is exact-integer internally; this is the single checked
114
+ * crossing into the signing library, which still models values as float64.
115
+ */
116
+ function toSafeNumber(sats) {
117
+ if (sats < 0n || sats > MAX_SAFE_SATS) {
118
+ throw new errors_js_1.InvalidAmountError(sats.toString(), 'outside the safe-integer range supported by the underlying signing library');
119
+ }
120
+ return Number(sats);
69
121
  }
70
122
  /**
71
123
  * Convert an R-address or P2SH address to a scriptPubKey Buffer
72
124
  */
73
125
  function addressToScriptPubKey(address) {
74
- const decoded = bs58check_1.default.decode(address);
126
+ let decoded;
127
+ try {
128
+ decoded = bs58check_1.default.decode(address);
129
+ }
130
+ catch (err) {
131
+ throw new errors_js_1.InvalidAddressError(address, err.message);
132
+ }
75
133
  const prefix = decoded[0];
76
134
  const hash = decoded.slice(1);
77
135
  if (prefix === 0x3c) {
@@ -91,7 +149,7 @@ function addressToScriptPubKey(address) {
91
149
  ]);
92
150
  }
93
151
  else {
94
- throw new Error(`Unsupported address prefix: 0x${prefix.toString(16)}. Use sendCurrency for i-address destinations.`);
152
+ throw new errors_js_1.InvalidAddressError(address, `Unsupported address prefix: 0x${(prefix ?? 0).toString(16)}. Use sendCurrency for i-address destinations.`);
95
153
  }
96
154
  }
97
155
  /**
@@ -102,9 +160,11 @@ function addressToScriptPubKey(address) {
102
160
  * transaction parsing.
103
161
  */
104
162
  function summarizeSignedTransaction(hex, network) {
105
- // Lazy require keeps utils' import graph light for non-tx consumers.
106
- // eslint-disable-next-line @typescript-eslint/no-var-requires
107
- const { Transaction, address: addressLib, networks, smarttxs } = require('@bitgo/utxo-lib');
163
+ // Lazy require keeps utils' import graph light for non-tx consumers. The
164
+ // fork's ambient module declaration (bitgo-utxo-lib.d.ts) types the shape.
165
+ // eslint-disable-next-line @typescript-eslint/no-require-imports -- deliberate lazy load; see above
166
+ const utxolib = require('@bitgo/utxo-lib');
167
+ const { Transaction, address: addressLib, networks, smarttxs } = utxolib;
108
168
  const net = network === 'testnet' ? networks.verustest : networks.verus;
109
169
  const chainId = network === 'testnet' ? index_js_1.NETWORK_CONFIG.testnet.chainId : index_js_1.NETWORK_CONFIG.mainnet.chainId;
110
170
  const tx = Transaction.fromHex(hex, net);
@@ -127,14 +187,14 @@ function summarizeSignedTransaction(hex, network) {
127
187
  const unpacked = smarttxs.unpackOutput({ script: out.script, value: out.value }, chainId);
128
188
  const evalCodes = (unpacked.params ?? []).map((p) => p.eval);
129
189
  if (unpacked.destinations.length === 1 && evalCodes.every((code) => code === 0)) {
130
- addr = unpacked.destinations[0];
190
+ addr = unpacked.destinations[0] ?? null;
131
191
  }
132
192
  }
133
193
  catch {
134
194
  addr = null; // exotic CC output — no address form
135
195
  }
136
196
  }
137
- return { valueSat: out.value, scriptHex: out.script.toString('hex'), address: addr };
197
+ return { valueSat: BigInt(out.value), scriptHex: out.script.toString('hex'), address: addr };
138
198
  });
139
199
  return { txid: tx.getId(), inputs, outputs };
140
200
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;AAUH,0BAMC;AAKD,4CAkBC;AAKD,wCAGC;AAGD,gCAEC;AAGD,0BAEC;AAKD,sDAwBC;AAyBD,gEAwCC;AArJD,mCAAoC;AACpC,0DAAkC;AAClC,6EAA8D;AAC9D,oDAAuD;AAEvD;;GAEG;AACH,SAAgB,OAAO,CAAC,GAAG,OAAiB;IAC1C,MAAM,KAAK,GAAG,IAAA,mBAAU,EAAC,QAAQ,CAAC,CAAC;IACnC,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,IAAA,mBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AAC9D,CAAC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAAC,KAAa;IAC5C,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC;QAChB,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5B,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACzB,OAAO,GAAG,CAAC;IACb,CAAC;SAAM,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5B,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACvB,GAAG,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC5B,OAAO,GAAG,CAAC;IACb,CAAC;SAAM,IAAI,KAAK,IAAI,UAAU,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5B,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACvB,GAAG,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC5B,OAAO,GAAG,CAAC;IACb,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,QAAgB;IAC7C,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,6CAAe,EAAC,QAAQ,CAAC,CAAC;IAC3C,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED,qCAAqC;AACrC,SAAgB,UAAU,CAAC,KAAa;IACtC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;AACjC,CAAC;AAED,qCAAqC;AACrC,SAAgB,OAAO,CAAC,QAAgB;IACtC,OAAO,QAAQ,GAAG,GAAG,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,SAAgB,qBAAqB,CAAC,OAAe;IACnD,MAAM,OAAO,GAAG,mBAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAE9B,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,oBAAoB;QACpB,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,2BAA2B;YAC5D,IAAI;YACJ,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,6BAA6B;SACzD,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QAC3B,OAAO;QACP,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,oBAAoB;YAC/C,IAAI;YACJ,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,WAAW;SACjC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CACb,iCAAiC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,gDAAgD,CACrG,CAAC;IACJ,CAAC;AACH,CAAC;AAkBD;;;;;;GAMG;AACH,SAAgB,0BAA0B,CACxC,GAAW,EACX,OAA8B;IAE9B,qEAAqE;IACrE,8DAA8D;IAC9D,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC5F,MAAM,GAAG,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;IACxE,MAAM,OAAO,GACX,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,yBAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,yBAAc,CAAC,OAAO,CAAC,OAAO,CAAC;IAC1F,MAAM,EAAE,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACzC,MAAM,MAAM,GAAmB,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAsC,EAAE,EAAE,CAAC,CAAC;QACrF,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;QACvD,IAAI,EAAE,KAAK,CAAC,KAAK;KAClB,CAAC,CAAC,CAAC;IACJ,MAAM,OAAO,GAAoB,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAsC,EAAE,EAAE;QACtF,IAAI,IAAI,GAAkB,IAAI,CAAC;QAC/B,IAAI,CAAC;YACH,IAAI,GAAG,UAAU,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACtD,CAAC;QAAC,MAAM,CAAC;YACP,qEAAqE;YACrE,sEAAsE;YACtE,qEAAqE;YACrE,sEAAsE;YACtE,8DAA8D;YAC9D,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;gBAC1F,MAAM,SAAS,GAAc,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAA6B,CAAC,GAAG,CAClF,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CACd,CAAC;gBACF,IAAI,QAAQ,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC;oBAChF,IAAI,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAW,CAAC;gBAC5C,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,GAAG,IAAI,CAAC,CAAC,qCAAqC;YACpD,CAAC;QACH,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACvF,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAC/C,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"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"}
@@ -3,19 +3,25 @@
3
3
  *
4
4
  * Selects UTXOs to cover required native + currency amounts,
5
5
  * calculates fees, and determines change outputs.
6
+ *
7
+ * All amounts are bigint satoshis — exact integer arithmetic only.
6
8
  */
7
9
  import type { Utxo, DecodedUtxo, SelectionResult } from '../types/index.js';
8
10
  export type { Utxo, DecodedUtxo, SelectionResult };
9
11
  /**
10
12
  * Decode a UTXO's script to extract currency values
13
+ *
14
+ * Throws TransactionBuildError if a smart output fails to decode — a failed
15
+ * token decode must never be silently reclassified as native-only, because
16
+ * selection would then spend token value it did not account for.
11
17
  */
12
18
  export declare function decodeUtxo(utxo: Utxo, systemId: string): DecodedUtxo;
13
19
  /**
14
20
  * Estimate transaction fee based on input/output counts
15
21
  */
16
- export declare function estimateFee(numInputs: number, numOutputs: number, feePerKb?: number, hasSmartOutputs?: boolean): number;
22
+ export declare function estimateFee(numInputs: number, numOutputs: number, feePerKb?: bigint, hasSmartOutputs?: boolean): bigint;
17
23
  /**
18
24
  * Select UTXOs to cover required amounts
19
25
  */
20
- export declare function selectUtxos(utxos: Utxo[], requiredNative: number, requiredCurrencies?: Map<string, number>, numOutputs?: number, systemId?: string, feePerKb?: number, hasSmartOutputs?: boolean): SelectionResult;
26
+ export declare function selectUtxos(utxos: Utxo[], requiredNative: bigint, requiredCurrencies?: Map<string, bigint>, numOutputs?: number, systemId?: string, feePerKb?: bigint, hasSmartOutputs?: boolean): SelectionResult;
21
27
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utxo/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAK5E,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;AAQnD;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW,CAwBpE;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,QAAQ,GAAE,MAA2B,EACrC,eAAe,GAAE,OAAe,GAC/B,MAAM,CAKR;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,IAAI,EAAE,EACb,cAAc,EAAE,MAAM,EACtB,kBAAkB,GAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAa,EACnD,UAAU,GAAE,MAAU,EACtB,QAAQ,GAAE,MAAuC,EACjD,QAAQ,GAAE,MAA2B,EACrC,eAAe,GAAE,OAAe,GAC/B,eAAe,CA4GjB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utxo/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAK5E,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;AA6BnD;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW,CA2BpE;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,QAAQ,GAAE,MAA2B,EACrC,eAAe,GAAE,OAAe,GAC/B,MAAM,CAKR;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,IAAI,EAAE,EACb,cAAc,EAAE,MAAM,EACtB,kBAAkB,GAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAa,EACnD,UAAU,GAAE,MAAU,EACtB,QAAQ,GAAE,MAAuC,EACjD,QAAQ,GAAE,MAA2B,EACrC,eAAe,GAAE,OAAe,GAC/B,eAAe,CA+GjB"}
@@ -4,6 +4,8 @@
4
4
  *
5
5
  * Selects UTXOs to cover required native + currency amounts,
6
6
  * calculates fees, and determines change outputs.
7
+ *
8
+ * All amounts are bigint satoshis — exact integer arithmetic only.
7
9
  */
8
10
  Object.defineProperty(exports, "__esModule", { value: true });
9
11
  exports.decodeUtxo = decodeUtxo;
@@ -12,33 +14,58 @@ exports.selectUtxos = selectUtxos;
12
14
  const utxo_lib_1 = require("@bitgo/utxo-lib");
13
15
  const index_js_1 = require("../constants/index.js");
14
16
  const errors_js_1 = require("../errors.js");
17
+ const index_js_2 = require("../utils/index.js");
15
18
  const { unpackOutput } = utxo_lib_1.smarttxs;
16
19
  // Transaction size estimation constants
17
20
  const INPUT_SIZE = 180;
18
21
  const P2PKH_OUTPUT_SIZE = 34;
19
22
  const SMART_OUTPUT_SIZE = 200;
20
23
  const TX_OVERHEAD = 60;
24
+ /** Absolute fee floor in satoshis */
25
+ const MIN_FEE = 10000n;
26
+ /**
27
+ * True when the script is a Verus smart (CryptoCondition) output. Used to
28
+ * separate "plain script that unpackOutput doesn't model" (fine — native
29
+ * only) from "smart output that failed to decode" (dangerous — the UTXO may
30
+ * carry token value we cannot see).
31
+ */
32
+ function isSmartTransactionScript(script) {
33
+ try {
34
+ const chunks = utxo_lib_1.script.decompile(script);
35
+ if (chunks === null)
36
+ return false;
37
+ return chunks.some((chunk) => typeof chunk === 'number' && chunk === utxo_lib_1.opcodes.OP_CHECKCRYPTOCONDITION);
38
+ }
39
+ catch {
40
+ return false;
41
+ }
42
+ }
21
43
  /**
22
44
  * Decode a UTXO's script to extract currency values
45
+ *
46
+ * Throws TransactionBuildError if a smart output fails to decode — a failed
47
+ * token decode must never be silently reclassified as native-only, because
48
+ * selection would then spend token value it did not account for.
23
49
  */
24
50
  function decodeUtxo(utxo, systemId) {
25
51
  const currencyValues = new Map();
52
+ const script = Buffer.from(utxo.script, 'hex');
53
+ const nativeValue = (0, index_js_2.toSafeNumber)(utxo.satoshis);
26
54
  try {
27
- const output = {
28
- value: utxo.satoshis,
29
- script: Buffer.from(utxo.script, 'hex'),
30
- };
31
- const unpacked = unpackOutput(output, systemId, true);
55
+ const unpacked = unpackOutput({ value: nativeValue, script }, systemId, true);
32
56
  for (const [currency, value] of Object.entries(unpacked.values)) {
33
- const amount = typeof value === 'number' ? value : value.toNumber();
34
- if (amount > 0) {
57
+ const amount = BigInt(value.toString(10));
58
+ if (amount > 0n) {
35
59
  currencyValues.set(currency, amount);
36
60
  }
37
61
  }
38
62
  }
39
- catch {
40
- // If unpacking fails, treat as native-only
41
- if (utxo.satoshis > 0) {
63
+ catch (err) {
64
+ if (isSmartTransactionScript(script)) {
65
+ throw new errors_js_1.TransactionBuildError(`cannot decode smart output ${utxo.txid}:${utxo.outputIndex}: ${err.message}`);
66
+ }
67
+ // Plain script that unpackOutput doesn't model (e.g. P2SH) — native-only
68
+ if (utxo.satoshis > 0n) {
42
69
  currencyValues.set(systemId, utxo.satoshis);
43
70
  }
44
71
  }
@@ -50,8 +77,8 @@ function decodeUtxo(utxo, systemId) {
50
77
  function estimateFee(numInputs, numOutputs, feePerKb = index_js_1.DEFAULT_FEE_PER_KB, hasSmartOutputs = false) {
51
78
  const outputSize = hasSmartOutputs ? SMART_OUTPUT_SIZE : P2PKH_OUTPUT_SIZE;
52
79
  const txSize = TX_OVERHEAD + numInputs * INPUT_SIZE + numOutputs * outputSize;
53
- const fee = Math.ceil((txSize / 1000) * feePerKb);
54
- return Math.max(fee, 10000);
80
+ const fee = (BigInt(txSize) * feePerKb + 999n) / 1000n; // ceil(txSize * feePerKb / 1000)
81
+ return fee > MIN_FEE ? fee : MIN_FEE;
55
82
  }
56
83
  /**
57
84
  * Select UTXOs to cover required amounts
@@ -70,8 +97,8 @@ function selectUtxos(utxos, requiredNative, requiredCurrencies = new Map(), numO
70
97
  for (const [currency, needed] of remaining) {
71
98
  if (currency === systemId)
72
99
  continue;
73
- const utxoAmount = utxo.currencyValues.get(currency) || 0;
74
- if (utxoAmount > 0 && needed > 0) {
100
+ const utxoAmount = utxo.currencyValues.get(currency) || 0n;
101
+ if (utxoAmount > 0n && needed > 0n) {
75
102
  hasNeededCurrency = true;
76
103
  break;
77
104
  }
@@ -79,20 +106,20 @@ function selectUtxos(utxos, requiredNative, requiredCurrencies = new Map(), numO
79
106
  if (hasNeededCurrency) {
80
107
  selected.push(utxo);
81
108
  for (const [currency, amount] of utxo.currencyValues) {
82
- if (currency === systemId) {
83
- remainingNative -= amount;
84
- }
85
- else {
86
- const needed = remaining.get(currency) || 0;
87
- remaining.set(currency, needed - amount);
88
- }
109
+ // The UTXO's native value is credited once below via utxo.satoshis;
110
+ // unpackOutput also reports it under systemId in currencyValues, so
111
+ // skipping it here avoids double-counting.
112
+ if (currency === systemId)
113
+ continue;
114
+ const needed = remaining.get(currency) || 0n;
115
+ remaining.set(currency, needed - amount);
89
116
  }
90
117
  remainingNative -= utxo.satoshis;
91
118
  }
92
119
  }
93
120
  for (const [currency, needed] of remaining) {
94
- if (currency !== systemId && needed > 0) {
95
- const totalAvailable = decoded.reduce((sum, u) => sum + (u.currencyValues.get(currency) || 0), 0);
121
+ if (currency !== systemId && needed > 0n) {
122
+ const totalAvailable = decoded.reduce((sum, u) => sum + (u.currencyValues.get(currency) || 0n), 0n);
96
123
  throw new errors_js_1.InsufficientFundsError(needed + totalAvailable, totalAvailable, currency);
97
124
  }
98
125
  }
@@ -100,18 +127,18 @@ function selectUtxos(utxos, requiredNative, requiredCurrencies = new Map(), numO
100
127
  // Phase 2: Select UTXOs for native amount + fee
101
128
  const nativeOnly = decoded
102
129
  .filter((u) => !selected.includes(u))
103
- .sort((a, b) => b.satoshis - a.satoshis);
130
+ .sort((a, b) => (b.satoshis > a.satoshis ? 1 : b.satoshis < a.satoshis ? -1 : 0));
104
131
  let changeOutputCount = 0;
105
132
  for (const [currency, needed] of remaining) {
106
- if (currency !== systemId && needed < 0) {
133
+ if (currency !== systemId && needed < 0n) {
107
134
  changeOutputCount++;
108
135
  }
109
136
  }
110
137
  let fee = estimateFee(selected.length + 1, numOutputs + 1 + changeOutputCount, feePerKb, hasSmartOutputs);
111
- while (remainingNative + fee > 0) {
138
+ while (remainingNative + fee > 0n) {
112
139
  const next = nativeOnly.shift();
113
140
  if (!next) {
114
- const totalAvailable = decoded.reduce((sum, u) => sum + u.satoshis, 0);
141
+ const totalAvailable = decoded.reduce((sum, u) => sum + u.satoshis, 0n);
115
142
  throw new errors_js_1.InsufficientFundsError(requiredNative + fee, totalAvailable, 'VRSC');
116
143
  }
117
144
  selected.push(next);
@@ -119,18 +146,18 @@ function selectUtxos(utxos, requiredNative, requiredCurrencies = new Map(), numO
119
146
  fee = estimateFee(selected.length, numOutputs + 1 + changeOutputCount, feePerKb, hasSmartOutputs);
120
147
  }
121
148
  // Calculate change
122
- const totalNativeIn = selected.reduce((sum, u) => sum + u.satoshis, 0);
149
+ const totalNativeIn = selected.reduce((sum, u) => sum + u.satoshis, 0n);
123
150
  const actualNativeChange = totalNativeIn - requiredNative - fee;
124
151
  const currencyChanges = new Map();
125
152
  for (const [currency, needed] of remaining) {
126
- if (currency !== systemId && needed < 0) {
153
+ if (currency !== systemId && needed < 0n) {
127
154
  currencyChanges.set(currency, -needed);
128
155
  }
129
156
  }
130
- const finalNativeChange = actualNativeChange > index_js_1.DUST_THRESHOLD ? actualNativeChange : 0;
157
+ const finalNativeChange = actualNativeChange > index_js_1.DUST_THRESHOLD ? actualNativeChange : 0n;
131
158
  const finalFee = actualNativeChange > index_js_1.DUST_THRESHOLD ? fee : fee + actualNativeChange;
132
159
  return {
133
- selected: selected.map(({ currencyValues, ...utxo }) => utxo),
160
+ selected: selected.map(({ currencyValues: _currencyValues, ...utxo }) => utxo),
134
161
  nativeChange: finalNativeChange,
135
162
  currencyChanges,
136
163
  fee: finalFee,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utxo/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utxo/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "@chainvue/verus-sdk",
3
- "version": "0.4.1",
3
+ "version": "0.5.0",
4
4
  "description": "100% offline, fully typed TypeScript SDK for Verus transaction signing",
5
+ "author": "Robert Lech",
5
6
  "main": "dist/bundle.js",
6
7
  "types": "dist/index.d.ts",
7
8
  "keywords": [
@@ -10,7 +11,7 @@
10
11
  "offline-signing",
11
12
  "typescript"
12
13
  ],
13
- "license": "MIT",
14
+ "license": "Apache-2.0",
14
15
  "repository": {
15
16
  "type": "git",
16
17
  "url": "https://github.com/chainvue/verus-sdk.git"
@@ -27,14 +28,23 @@
27
28
  "wif": "^4.0.0"
28
29
  },
29
30
  "devDependencies": {
30
- "@bitgo/utxo-lib": "github:VerusCoin/BitGoJS#utxo-lib-verus",
31
+ "@bitgo/utxo-lib": "github:VerusCoin/BitGoJS#9701df63b479984f27680348f9671c2d40025a90",
32
+ "@eslint/js": "^10.0.1",
33
+ "@semantic-release/changelog": "^6.0.3",
34
+ "@semantic-release/exec": "^7.1.0",
35
+ "@semantic-release/git": "^10.0.1",
31
36
  "@types/bn.js": "^5.2.0",
32
37
  "@types/bs58check": "^2.1.2",
33
38
  "@types/create-hash": "^1.2.6",
34
39
  "@types/node": "^20.19.33",
35
- "bitcoin-ops": "github:VerusCoin/bitcoin-ops",
40
+ "bitcoin-ops": "github:VerusCoin/bitcoin-ops#a5f8f56e658301bc39881d41740b3a0010530efd",
41
+ "conventional-changelog-conventionalcommits": "^10.2.1",
42
+ "eslint": "^10.7.0",
43
+ "globals": "^17.7.0",
44
+ "semantic-release": "^25.0.7",
36
45
  "tsup": "^8.5.1",
37
46
  "typescript": "^5.9.3",
47
+ "typescript-eslint": "^8.63.0",
38
48
  "verus-typescript-primitives": "github:VerusCoin/verus-typescript-primitives#4243cd075b4f68df1ce72fd2fd9c9b18ac36767e",
39
49
  "vitest": "^1.6.1"
40
50
  },
@@ -42,13 +52,17 @@
42
52
  "node": ">=18"
43
53
  },
44
54
  "files": [
45
- "dist/**/*"
55
+ "dist/**/*",
56
+ "NOTICE",
57
+ "LICENSE"
46
58
  ],
47
59
  "scripts": {
48
60
  "build": "tsc",
49
61
  "test": "vitest run",
50
62
  "test:watch": "vitest",
51
63
  "clean": "rm -rf dist",
52
- "bundle": "tsup"
64
+ "bundle": "tsup",
65
+ "typecheck": "tsc --noEmit -p tsconfig.eslint.json",
66
+ "lint": "eslint ."
53
67
  }
54
68
  }