@chainvue/verus-sdk 0.4.0 → 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 +27 -24
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,cAAc;AACd,6CAAyC;AAAhC,uGAAA,QAAQ,OAAA;AAyCjB,kEAAkE;AAClE,sDAA+E;AAAtE,+GAAA,gBAAgB,OAAA;AAAE,kHAAA,mBAAmB,OAAA;AAG9C,2DAA2D;AAC3D,+CAM4B;AAL1B,qGAAA,SAAS,OAAA;AACT,sGAAA,UAAU,OAAA;AACV,sGAAA,UAAU,OAAA;AACV,0GAAA,cAAc,OAAA;AACd,0GAAA,cAAc,OAAA;AAGhB,wDAAwD;AACxD,6CAAuD;AAA9C,sGAAA,UAAU,OAAA;AAAE,mGAAA,OAAO,OAAA;AAE5B,eAAe;AACf,yCAOqB;AANnB,uGAAA,UAAU,OAAA;AACV,mHAAA,sBAAsB,OAAA;AACtB,4GAAA,eAAe,OAAA;AACf,gHAAA,mBAAmB,OAAA;AACnB,6GAAA,gBAAgB,OAAA;AAChB,kHAAA,qBAAqB,OAAA;AAGvB,YAAY;AACZ,iDAiB8B;AAhB5B,0GAAA,cAAc,OAAA;AACd,4GAAA,gBAAgB,OAAA;AAChB,+GAAA,mBAAmB,OAAA;AACnB,sGAAA,UAAU,OAAA;AACV,8GAAA,kBAAkB,OAAA;AAClB,0GAAA,cAAc,OAAA;AACd,oHAAA,wBAAwB,OAAA;AACxB,mHAAA,uBAAuB,OAAA;AACvB,gHAAA,oBAAoB,OAAA;AACpB,8GAAA,kBAAkB,OAAA;AAClB,8GAAA,kBAAkB,OAAA;AAClB,sGAAA,UAAU,OAAA;AACV,0GAAA,cAAc,OAAA;AACd,wHAAA,4BAA4B,OAAA;AAC5B,gHAAA,oBAAoB,OAAA;AACpB,uGAAA,WAAW,OAAA;AAIb,6BAA6B;AAC7B,8DAA8C;AAC9C,wDAAwC;AACxC,8DAA8C;AAC9C,wDAAwC;AACxC,gEAAgD;AAChD,gEAAgD;AAChD,8DAA8C;AAC9C,gEAAgD;AAChD,0DAA0C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,cAAc;AACd,6CAAyC;AAAhC,uGAAA,QAAQ,OAAA;AAyCjB,kEAAkE;AAClE,sDAA+E;AAAtE,+GAAA,gBAAgB,OAAA;AAAE,kHAAA,mBAAmB,OAAA;AAG9C,2DAA2D;AAC3D,+CAM4B;AAL1B,qGAAA,SAAS,OAAA;AACT,sGAAA,UAAU,OAAA;AACV,sGAAA,UAAU,OAAA;AACV,0GAAA,cAAc,OAAA;AACd,0GAAA,cAAc,OAAA;AAGhB,wDAAwD;AACxD,6CAO0B;AANxB,qGAAA,SAAS,OAAA;AACT,sGAAA,UAAU,OAAA;AACV,mGAAA,OAAO,OAAA;AACP,wGAAA,YAAY,OAAA;AACZ,yGAAA,aAAa,OAAA;AACb,2GAAA,eAAe,OAAA;AAGjB,eAAe;AACf,yCAQqB;AAPnB,uGAAA,UAAU,OAAA;AACV,mHAAA,sBAAsB,OAAA;AACtB,4GAAA,eAAe,OAAA;AACf,gHAAA,mBAAmB,OAAA;AACnB,6GAAA,gBAAgB,OAAA;AAChB,kHAAA,qBAAqB,OAAA;AACrB,+GAAA,kBAAkB,OAAA;AAGpB,YAAY;AACZ,iDAiB8B;AAhB5B,0GAAA,cAAc,OAAA;AACd,4GAAA,gBAAgB,OAAA;AAChB,+GAAA,mBAAmB,OAAA;AACnB,sGAAA,UAAU,OAAA;AACV,8GAAA,kBAAkB,OAAA;AAClB,0GAAA,cAAc,OAAA;AACd,oHAAA,wBAAwB,OAAA;AACxB,mHAAA,uBAAuB,OAAA;AACvB,gHAAA,oBAAoB,OAAA;AACpB,8GAAA,kBAAkB,OAAA;AAClB,8GAAA,kBAAkB,OAAA;AAClB,sGAAA,UAAU,OAAA;AACV,0GAAA,cAAc,OAAA;AACd,wHAAA,4BAA4B,OAAA;AAC5B,gHAAA,oBAAoB,OAAA;AACpB,uGAAA,WAAW,OAAA;AAIb,6BAA6B;AAC7B,8DAA8C;AAC9C,wDAAwC;AACxC,8DAA8C;AAC9C,wDAAwC;AACxC,gEAAgD;AAChD,gEAAgD;AAChD,8DAA8C;AAC9C,gEAAgD;AAChD,0DAA0C"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/keys/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAiB3E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAWnD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAGpD;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,UAAU,EAAE,MAAM,EAClB,UAAU,GAAE,OAAc,GACzB,OAAO,CAAC,MAAM,CAAC,CAajB;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAG5C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAI5D;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAW/D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,UAAU,GAAE,OAAc,GAAG,MAAM,CAQ9D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAiBnF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/keys/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAiB3E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAWnD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAGpD;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,UAAU,EAAE,MAAM,EAClB,UAAU,GAAE,OAAc,GACzB,OAAO,CAAC,MAAM,CAAC,CAajB;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAG5C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAI5D;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAW/D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,UAAU,GAAE,OAAc,GAAG,MAAM,CAQ9D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAiBnF"}
@@ -54,6 +54,7 @@ const crypto = __importStar(require("crypto"));
54
54
  const bs58check_1 = __importDefault(require("bs58check"));
55
55
  const create_hash_1 = __importDefault(require("create-hash"));
56
56
  const index_js_1 = require("../constants/index.js");
57
+ const errors_js_1 = require("../errors.js");
57
58
  /**
58
59
  * Validate a WIF private key
59
60
  */
@@ -101,11 +102,11 @@ function isCompressedWif(wif) {
101
102
  async function privateKeyToPublicKey(privateKey, compressed = true) {
102
103
  const secp256k1 = await Promise.resolve().then(() => __importStar(require('tiny-secp256k1')));
103
104
  if (!secp256k1.isPrivate(privateKey)) {
104
- throw new Error('Invalid private key');
105
+ throw new errors_js_1.InvalidWifError('Invalid private key');
105
106
  }
106
107
  const publicKey = secp256k1.pointFromScalar(privateKey, compressed);
107
108
  if (!publicKey) {
108
- throw new Error('Failed to derive public key');
109
+ throw new errors_js_1.InvalidWifError('Failed to derive public key');
109
110
  }
110
111
  return Buffer.from(publicKey);
111
112
  }
@@ -130,7 +131,7 @@ function publicKeyToAddress(publicKey) {
130
131
  async function wifToAddress(wif) {
131
132
  const validation = validateWif(wif);
132
133
  if (!validation.valid) {
133
- throw new Error(validation.error);
134
+ throw new errors_js_1.InvalidWifError(validation.error);
134
135
  }
135
136
  const privateKey = wifToPrivateKey(wif);
136
137
  const compressed = isCompressedWif(wif);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/keys/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/keys/index.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@
9
9
  import { TransactionBuilder, networks } from '@bitgo/utxo-lib';
10
10
  import type { Utxo } from '../types/index.js';
11
11
  /** Network to use for signing */
12
- export type VerusNetwork = typeof networks.verus | typeof networks.verustest;
12
+ export type VerusNetwork = typeof networks.verus;
13
13
  /**
14
14
  * Get the Verus network config
15
15
  */
@@ -26,7 +26,7 @@ export declare function getNetwork(testnet?: boolean): VerusNetwork;
26
26
  * the final vsize (signatures only grow a tx), so the guard still trips if
27
27
  * the actual fee materially exceeds the declared one.
28
28
  */
29
- export declare function signTransactionSmart(txHex: string, wif: string, utxos: Utxo[], network?: VerusNetwork, maxFeeSats?: number): {
29
+ export declare function signTransactionSmart(txHex: string, wif: string, utxos: Utxo[], network?: VerusNetwork, maxFeeSats?: bigint): {
30
30
  signedTx: string;
31
31
  txid: string;
32
32
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/signing/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAGL,kBAAkB,EAClB,QAAQ,EAET,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAK9C,iCAAiC;AACjC,MAAM,MAAM,YAAY,GAAG,OAAO,QAAQ,CAAC,KAAK,GAAG,OAAO,QAAQ,CAAC,SAAS,CAAC;AAE7E;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,GAAE,OAAe,GAAG,YAAY,CAEjE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,IAAI,EAAE,EACb,OAAO,GAAE,YAA6B,EACtC,UAAU,CAAC,EAAE,MAAM,GAClB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAsBpC;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EAAE,EAAE,EAChB,KAAK,EAAE,IAAI,EAAE,EACb,OAAO,GAAE,YAA6B,GACrC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAkBpC;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,GAAE,YAA6B,EACtC,YAAY,GAAE,MAAU,EACxB,OAAO,GAAE,MAAU,EACnB,cAAc,GAAE,MAAyB,GACxC,YAAY,CAAC,OAAO,kBAAkB,CAAC,CAMzC;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,IAAI,EAAE,GACf;IACD,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B,CAiBA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/signing/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAGL,kBAAkB,EAClB,QAAQ,EAET,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAM9C,iCAAiC;AACjC,MAAM,MAAM,YAAY,GAAG,OAAO,QAAQ,CAAC,KAAK,CAAC;AAEjD;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,GAAE,OAAe,GAAG,YAAY,CAEjE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,IAAI,EAAE,EACb,OAAO,GAAE,YAA6B,EACtC,UAAU,CAAC,EAAE,MAAM,GAClB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAwBpC;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EAAE,EAAE,EAChB,KAAK,EAAE,IAAI,EAAE,EACb,OAAO,GAAE,YAA6B,GACrC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAoBpC;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,GAAE,YAA6B,EACtC,YAAY,GAAE,MAAU,EACxB,OAAO,GAAE,MAAU,EACnB,cAAc,GAAE,MAAyB,GACxC,YAAY,CAAC,OAAO,kBAAkB,CAAC,CAMzC;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,IAAI,EAAE,GACf;IACD,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B,CAiBA"}
@@ -15,6 +15,7 @@ exports.createTransactionBuilder = createTransactionBuilder;
15
15
  exports.validateFundedTransaction = validateFundedTransaction;
16
16
  const utxo_lib_1 = require("@bitgo/utxo-lib");
17
17
  const index_js_1 = require("../constants/index.js");
18
+ const index_js_2 = require("../utils/index.js");
18
19
  const { getFundedTxBuilder, validateFundedCurrencyTransfer } = utxo_lib_1.smarttxs;
19
20
  /**
20
21
  * Get the Verus network config
@@ -41,10 +42,13 @@ function signTransactionSmart(txHex, wif, utxos, network = utxo_lib_1.networks.v
41
42
  if (maxFeeSats !== undefined) {
42
43
  // The fork's .d.ts omits maximumFeeRate, but it exists at runtime
43
44
  // (transaction_builder.js: `this.maximumFeeRate = maximumFeeRate || 2500`).
44
- txb.maximumFeeRate = Math.ceil(maxFeeSats / (txHex.length / 2));
45
+ txb.maximumFeeRate = Math.ceil((0, index_js_2.toSafeNumber)(maxFeeSats) / (txHex.length / 2));
45
46
  }
46
47
  for (let i = 0; i < utxos.length; i++) {
47
- txb.sign(i, keyPair, null, utxo_lib_1.Transaction.SIGHASH_ALL, utxos[i].satoshis);
48
+ const utxo = utxos[i];
49
+ if (!utxo)
50
+ continue;
51
+ txb.sign(i, keyPair, null, utxo_lib_1.Transaction.SIGHASH_ALL, (0, index_js_2.toSafeNumber)(utxo.satoshis));
48
52
  }
49
53
  const signedTx = txb.build();
50
54
  return {
@@ -59,13 +63,15 @@ function signTransactionMultiKey(txHex, keys, utxos, network = utxo_lib_1.networ
59
63
  const prevOutScripts = utxos.map((u) => Buffer.from(u.script, 'hex'));
60
64
  const txb = getFundedTxBuilder(txHex, network, prevOutScripts);
61
65
  for (let i = 0; i < keys.length; i++) {
62
- if (!keys[i] || keys[i].length === 0)
66
+ const inputKeys = keys[i];
67
+ const utxo = utxos[i];
68
+ if (!inputKeys || inputKeys.length === 0 || !utxo)
63
69
  continue;
64
- for (const wif of keys[i]) {
70
+ for (const wif of inputKeys) {
65
71
  if (!wif)
66
72
  continue;
67
73
  const keyPair = utxo_lib_1.ECPair.fromWIF(wif, network);
68
- txb.sign(i, keyPair, null, utxo_lib_1.Transaction.SIGHASH_ALL, utxos[i].satoshis);
74
+ txb.sign(i, keyPair, null, utxo_lib_1.Transaction.SIGHASH_ALL, (0, index_js_2.toSafeNumber)(utxo.satoshis));
69
75
  }
70
76
  }
71
77
  const signedTx = txb.build();
@@ -91,7 +97,7 @@ function validateFundedTransaction(systemId, fundedTxHex, unfundedTxHex, changeA
91
97
  const result = validateFundedCurrencyTransfer(systemId, fundedTxHex, unfundedTxHex, changeAddress, network, utxoList.map((u) => ({
92
98
  txid: u.txid,
93
99
  outputIndex: u.outputIndex,
94
- satoshis: u.satoshis,
100
+ satoshis: (0, index_js_2.toSafeNumber)(u.satoshis),
95
101
  script: u.script,
96
102
  height: u.height || 0,
97
103
  })));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/signing/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/signing/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/transfer/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAYH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAOrD,OAAO,KAAK,EAGV,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,cAAc,EACf,MAAM,mBAAmB,CAAC;AA8D3B;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE,OAAO,GACf,kBAAkB,CAmIpB;AAED;;GAEG;AACH,wBAAgB,QAAQ,CACtB,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,OAAO,GACf,kBAAkB,CAepB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,mBAAmB,EAC3B,OAAO,EAAE,OAAO,GACf,kBAAkB,CAcpB;AAED;;GAEG;AACH,wBAAgB,OAAO,CACrB,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,OAAO,GACf,kBAAkB,CAgBpB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE,OAAO,GACf,cAAc,CA6DhB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/transfer/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAYH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAQrD,OAAO,KAAK,EAEV,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,cAAc,EACf,MAAM,mBAAmB,CAAC;AAwE3B;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE,OAAO,GACf,kBAAkB,CA2IpB;AAED;;GAEG;AACH,wBAAgB,QAAQ,CACtB,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,OAAO,GACf,kBAAkB,CAepB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,mBAAmB,EAC3B,OAAO,EAAE,OAAO,GACf,kBAAkB,CAcpB;AAED;;GAEG;AACH,wBAAgB,OAAO,CACrB,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,OAAO,GACf,kBAAkB,CAgBpB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE,OAAO,GACf,cAAc,CAwEhB"}
@@ -44,10 +44,19 @@ function validateTransferInputs(wif, utxos) {
44
44
  throw new errors_js_1.TransactionBuildError('At least one UTXO is required');
45
45
  }
46
46
  }
47
- /** Validate amount is positive and finite */
47
+ /** Validate amount is a positive bigint */
48
48
  function validateAmount(amount, label = 'amount') {
49
- if (!Number.isFinite(amount) || amount <= 0) {
50
- throw new errors_js_1.TransactionBuildError(`Invalid ${label}: must be a positive finite number (got ${amount})`);
49
+ if (typeof amount !== 'bigint' || amount <= 0n) {
50
+ throw new errors_js_1.TransactionBuildError(`Invalid ${label}: must be a positive bigint satoshi amount (got ${amount})`);
51
+ }
52
+ }
53
+ /** bs58check-decode an address, rethrowing as a typed InvalidAddressError */
54
+ function decodeBase58Address(address) {
55
+ try {
56
+ return Buffer.from(bs58check_1.default.decode(address));
57
+ }
58
+ catch (err) {
59
+ throw new errors_js_1.InvalidAddressError(address, err.message);
51
60
  }
52
61
  }
53
62
  /**
@@ -59,24 +68,25 @@ function parseAddress(address, addressType) {
59
68
  switch (addressType) {
60
69
  case 'PKH': {
61
70
  type = verus_typescript_primitives_1.DEST_PKH;
62
- const decoded = bs58check_1.default.decode(address);
63
- destinationBytes = Buffer.from(decoded.slice(1));
71
+ destinationBytes = decodeBase58Address(address).slice(1);
64
72
  break;
65
73
  }
66
74
  case 'ID': {
67
75
  type = verus_typescript_primitives_1.DEST_ID;
68
- const decoded = bs58check_1.default.decode(address);
69
- destinationBytes = Buffer.from(decoded.slice(1));
76
+ destinationBytes = decodeBase58Address(address).slice(1);
70
77
  break;
71
78
  }
72
79
  case 'ETH': {
73
80
  type = verus_typescript_primitives_1.DEST_ETH;
74
81
  const addr = address.startsWith('0x') ? address.substring(2) : address;
75
82
  destinationBytes = Buffer.from(addr, 'hex');
83
+ if (destinationBytes.length !== 20) {
84
+ throw new errors_js_1.InvalidAddressError(address, 'ETH destination must be 20 bytes of hex');
85
+ }
76
86
  break;
77
87
  }
78
88
  default:
79
- throw new Error(`Unsupported address type: ${addressType}`);
89
+ throw new errors_js_1.InvalidAddressError(address, `Unsupported address type: ${addressType}`);
80
90
  }
81
91
  return new verus_typescript_primitives_1.TransferDestination({
82
92
  type,
@@ -95,34 +105,42 @@ function sendCurrency(params, network) {
95
105
  if (!params.outputs || params.outputs.length === 0) {
96
106
  throw new errors_js_1.TransactionBuildError('At least one output is required');
97
107
  }
108
+ for (const out of params.outputs) {
109
+ validateAmount(out.satoshis, `output satoshis (${out.currency})`);
110
+ if (out.feeSatoshis !== undefined && out.feeSatoshis < 0n) {
111
+ throw new errors_js_1.TransactionBuildError(`Invalid feeSatoshis: must be non-negative (got ${out.feeSatoshis})`);
112
+ }
113
+ }
114
+ if (!params.changeAddress || typeof params.changeAddress !== 'string') {
115
+ throw new errors_js_1.TransactionBuildError('changeAddress is required');
116
+ }
98
117
  const networkConfig = index_js_1.NETWORK_CONFIG[network];
99
118
  const verusNetwork = (0, index_js_2.getNetwork)(network === 'testnet');
100
119
  const systemId = networkConfig.chainId;
101
120
  const expiryHeight = params.expiryHeight || 0;
102
121
  const txOutputs = params.outputs.map((out) => ({
103
122
  currency: out.currency,
104
- satoshis: out.satoshis,
123
+ satoshis: out.satoshis.toString(10),
105
124
  address: parseAddress(out.address, out.addressType || 'PKH'),
106
- convertto: out.convertTo,
107
- exportto: out.exportTo,
108
- via: out.via,
109
- bridgeid: out.bridgeId,
110
- feecurrency: out.feeCurrency,
111
- feesatoshis: out.feeSatoshis,
112
- preconvert: out.preconvert,
125
+ ...(out.convertTo !== undefined ? { convertto: out.convertTo } : {}),
126
+ ...(out.exportTo !== undefined ? { exportto: out.exportTo } : {}),
127
+ ...(out.via !== undefined ? { via: out.via } : {}),
128
+ ...(out.bridgeId !== undefined ? { bridgeid: out.bridgeId } : {}),
129
+ ...(out.feeCurrency !== undefined ? { feecurrency: out.feeCurrency } : {}),
130
+ ...(out.feeSatoshis !== undefined ? { feesatoshis: out.feeSatoshis.toString(10) } : {}),
131
+ ...(out.preconvert !== undefined ? { preconvert: out.preconvert } : {}),
113
132
  }));
114
133
  const unfundedTxHex = createUnfundedCurrencyTransfer(systemId, txOutputs, verusNetwork, expiryHeight);
115
134
  const unfundedTx = utxo_lib_1.Transaction.fromHex(unfundedTxHex, verusNetwork);
116
- let requiredNative = 0;
135
+ let requiredNative = 0n;
117
136
  for (const out of unfundedTx.outs) {
118
- requiredNative += out.value;
137
+ requiredNative += BigInt(out.value);
119
138
  }
120
139
  const hasSmartOutputs = params.outputs.some((o) => o.convertTo || o.exportTo || o.via || o.currency !== systemId);
121
140
  const requiredCurrencies = new Map();
122
141
  for (const out of params.outputs) {
123
142
  if (out.currency !== systemId) {
124
- const amount = parseInt(out.satoshis, 10);
125
- requiredCurrencies.set(out.currency, (requiredCurrencies.get(out.currency) || 0) + amount);
143
+ requiredCurrencies.set(out.currency, (requiredCurrencies.get(out.currency) || 0n) + out.satoshis);
126
144
  }
127
145
  }
128
146
  const selection = (0, index_js_3.selectUtxos)(params.utxos, requiredNative, requiredCurrencies, unfundedTx.outs.length, systemId, undefined, hasSmartOutputs);
@@ -138,17 +156,17 @@ function sendCurrency(params, network) {
138
156
  }
139
157
  if (selection.currencyChanges.size > 0) {
140
158
  const tokenChange = (0, index_js_4.buildTokenChangeOutput)(params.changeAddress, selection.currencyChanges);
141
- txb.addOutput(tokenChange.script, tokenChange.nativeValue);
159
+ txb.addOutput(tokenChange.script, (0, index_js_5.toSafeNumber)(tokenChange.nativeValue));
142
160
  }
143
- if (selection.nativeChange > 0) {
161
+ if (selection.nativeChange > 0n) {
144
162
  // utxo-lib's addOutput only resolves base58 R-addresses; identity
145
163
  // change (an i-address changeAddress) needs the explicit P2ID script —
146
164
  // byte-identical to the chain's own pay-to-identity outputs.
147
165
  if (params.changeAddress.startsWith('i')) {
148
- txb.addOutput((0, index_js_4.identityPaymentScript)(params.changeAddress), selection.nativeChange);
166
+ txb.addOutput((0, index_js_4.identityPaymentScript)(params.changeAddress), (0, index_js_5.toSafeNumber)(selection.nativeChange));
149
167
  }
150
168
  else {
151
- txb.addOutput(params.changeAddress, selection.nativeChange);
169
+ txb.addOutput(params.changeAddress, (0, index_js_5.toSafeNumber)(selection.nativeChange));
152
170
  }
153
171
  }
154
172
  const unsignedTx = txb.buildIncomplete();
@@ -179,13 +197,13 @@ function transfer(params, network) {
179
197
  wif: params.wif,
180
198
  outputs: [{
181
199
  currency: systemId,
182
- satoshis: params.amount.toString(),
200
+ satoshis: params.amount,
183
201
  address: params.to,
184
202
  addressType: 'PKH',
185
203
  }],
186
204
  utxos: params.utxos,
187
205
  changeAddress: params.changeAddress,
188
- expiryHeight: params.expiryHeight,
206
+ ...(params.expiryHeight !== undefined ? { expiryHeight: params.expiryHeight } : {}),
189
207
  }, network);
190
208
  }
191
209
  /**
@@ -197,13 +215,13 @@ function transferToken(params, network) {
197
215
  wif: params.wif,
198
216
  outputs: [{
199
217
  currency: params.currency,
200
- satoshis: params.amount.toString(),
218
+ satoshis: params.amount,
201
219
  address: params.to,
202
220
  addressType: params.addressType || 'PKH',
203
221
  }],
204
222
  utxos: params.utxos,
205
223
  changeAddress: params.changeAddress,
206
- expiryHeight: params.expiryHeight,
224
+ ...(params.expiryHeight !== undefined ? { expiryHeight: params.expiryHeight } : {}),
207
225
  }, network);
208
226
  }
209
227
  /**
@@ -215,15 +233,15 @@ function convert(params, network) {
215
233
  wif: params.wif,
216
234
  outputs: [{
217
235
  currency: params.currency,
218
- satoshis: params.amount.toString(),
236
+ satoshis: params.amount,
219
237
  address: params.changeAddress, // Conversion output goes to self
220
238
  addressType: 'PKH',
221
239
  convertTo: params.convertTo,
222
- via: params.via,
240
+ ...(params.via !== undefined ? { via: params.via } : {}),
223
241
  }],
224
242
  utxos: params.utxos,
225
243
  changeAddress: params.changeAddress,
226
- expiryHeight: params.expiryHeight,
244
+ ...(params.expiryHeight !== undefined ? { expiryHeight: params.expiryHeight } : {}),
227
245
  }, network);
228
246
  }
229
247
  /**
@@ -244,14 +262,20 @@ function buildAndSign(params, network) {
244
262
  throw new errors_js_1.TransactionBuildError('At least one output is required');
245
263
  }
246
264
  const verusNetwork = (0, index_js_2.getNetwork)(network === 'testnet');
247
- const totalInput = params.inputs.reduce((sum, i) => sum + i.amount, 0);
248
- const totalOutput = params.outputs.reduce((sum, o) => sum + o.amount, 0);
249
- const fee = params.fee || (totalInput - totalOutput);
265
+ const totalInput = params.inputs.reduce((sum, i) => sum + i.amount, 0n);
266
+ const totalOutput = params.outputs.reduce((sum, o) => sum + o.amount, 0n);
267
+ const impliedFee = totalInput - totalOutput;
268
+ const fee = params.fee ?? impliedFee;
250
269
  if (totalOutput + fee > totalInput) {
251
- throw new Error(`Insufficient funds. Input: ${totalInput}, Output: ${totalOutput}, Fee: ${fee}`);
270
+ throw new errors_js_1.InsufficientFundsError(totalOutput + fee, totalInput);
252
271
  }
253
- // Use high maxFeeRate since callers explicitly control input/output amounts
254
- const txb = new utxo_lib_1.TransactionBuilder(verusNetwork, Number.MAX_SAFE_INTEGER);
272
+ // Value conservation: every input satoshi is either an output or the
273
+ // declared fee. A declared fee below the implied one means the difference
274
+ // would be burned silently as extra miner fee — refuse.
275
+ if (fee !== impliedFee) {
276
+ throw new errors_js_1.TransactionBuildError(`declared fee ${fee} does not match inputs minus outputs (${impliedFee}) — the difference would be burned`);
277
+ }
278
+ const txb = new utxo_lib_1.TransactionBuilder(verusNetwork);
255
279
  txb.setVersion(4);
256
280
  txb.setExpiryHeight(params.expiryHeight || 0);
257
281
  txb.setVersionGroupId(index_js_1.VERSION_GROUP_ID);
@@ -260,7 +284,7 @@ function buildAndSign(params, network) {
260
284
  }
261
285
  for (const out of params.outputs) {
262
286
  const script = (0, index_js_5.addressToScriptPubKey)(out.address);
263
- txb.addOutput(script, out.amount);
287
+ txb.addOutput(script, (0, index_js_5.toSafeNumber)(out.amount));
264
288
  }
265
289
  const unsignedTx = txb.buildIncomplete();
266
290
  const utxos = params.inputs.map((i) => ({
@@ -269,7 +293,9 @@ function buildAndSign(params, network) {
269
293
  satoshis: i.amount,
270
294
  script: i.scriptPubKey,
271
295
  }));
272
- const { signedTx, txid } = (0, index_js_2.signTransactionSmart)(unsignedTx.toHex(), params.wif, utxos, verusNetwork);
296
+ // The absurd-fee check runs at signing time; bound it to the fee this
297
+ // transaction actually declares instead of disabling it.
298
+ const { signedTx, txid } = (0, index_js_2.signTransactionSmart)(unsignedTx.toHex(), params.wif, utxos, verusNetwork, fee > 0n ? fee : undefined);
273
299
  return { signedTx, txid, fee };
274
300
  }
275
301
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/transfer/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/transfer/index.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ import type { Network } from '../constants/index.js';
6
6
  export interface Utxo {
7
7
  txid: string;
8
8
  outputIndex: number;
9
- satoshis: number;
9
+ satoshis: bigint;
10
10
  script: string;
11
11
  /** Height where this UTXO was created (0 = mempool) */
12
12
  height?: number;
@@ -14,18 +14,18 @@ export interface Utxo {
14
14
  /** Decoded currency values on a UTXO */
15
15
  export interface DecodedUtxo extends Utxo {
16
16
  /** Currency i-address → satoshi amount */
17
- currencyValues: Map<string, number>;
17
+ currencyValues: Map<string, bigint>;
18
18
  }
19
19
  /** Result of UTXO selection */
20
20
  export interface SelectionResult {
21
21
  /** Selected UTXOs */
22
22
  selected: Utxo[];
23
23
  /** Native (VRSC) change in satoshis */
24
- nativeChange: number;
24
+ nativeChange: bigint;
25
25
  /** Currency changes: i-address → satoshi amount */
26
- currencyChanges: Map<string, number>;
26
+ currencyChanges: Map<string, bigint>;
27
27
  /** Estimated fee in satoshis */
28
- fee: number;
28
+ fee: bigint;
29
29
  }
30
30
  /** SDK configuration */
31
31
  export interface VerusSDKConfig {
@@ -35,7 +35,7 @@ export interface VerusSDKConfig {
35
35
  export interface SignedTxResult {
36
36
  signedTx: string;
37
37
  txid: string;
38
- fee: number;
38
+ fee: bigint;
39
39
  }
40
40
  /** Transfer parameters */
41
41
  export interface TransferParams {
@@ -43,7 +43,7 @@ export interface TransferParams {
43
43
  /** Recipient address (R-address) */
44
44
  to: string;
45
45
  /** Amount in satoshis */
46
- amount: number;
46
+ amount: bigint;
47
47
  utxos: Utxo[];
48
48
  changeAddress: string;
49
49
  expiryHeight?: number;
@@ -54,7 +54,7 @@ export interface TransferTokenParams {
54
54
  /** Recipient address (R-address or i-address) */
55
55
  to: string;
56
56
  /** Amount in satoshis */
57
- amount: number;
57
+ amount: bigint;
58
58
  /** Currency i-address */
59
59
  currency: string;
60
60
  /** Address type: 'PKH' (R-address) or 'ID' (i-address) */
@@ -67,7 +67,7 @@ export interface TransferTokenParams {
67
67
  export interface ConvertParams {
68
68
  wif: string;
69
69
  /** Amount in satoshis */
70
- amount: number;
70
+ amount: bigint;
71
71
  /** Source currency i-address */
72
72
  currency: string;
73
73
  /** Target currency i-address */
@@ -82,8 +82,8 @@ export interface ConvertParams {
82
82
  export interface CurrencyOutput {
83
83
  /** Currency i-address (use system ID for native VRSC) */
84
84
  currency: string;
85
- /** Amount in satoshis (as string) */
86
- satoshis: string;
85
+ /** Amount in satoshis */
86
+ satoshis: bigint;
87
87
  /** Recipient address */
88
88
  address: string;
89
89
  /** Address type: 'PKH' (R-address), 'ID' (i-address), 'ETH' (Ethereum) */
@@ -99,7 +99,7 @@ export interface CurrencyOutput {
99
99
  /** Fee currency i-address */
100
100
  feeCurrency?: string;
101
101
  /** Fee amount in satoshis */
102
- feeSatoshis?: string;
102
+ feeSatoshis?: bigint;
103
103
  /** Pre-conversion flag */
104
104
  preconvert?: boolean;
105
105
  }
@@ -114,7 +114,7 @@ export interface SendCurrencyParams {
114
114
  /** Send currency result */
115
115
  export interface SendCurrencyResult extends SignedTxResult {
116
116
  inputsUsed: number;
117
- nativeChange: number;
117
+ nativeChange: bigint;
118
118
  }
119
119
  /** Simple P2PKH build+sign parameters */
120
120
  export interface BuildAndSignParams {
@@ -123,13 +123,13 @@ export interface BuildAndSignParams {
123
123
  txid: string;
124
124
  vout: number;
125
125
  scriptPubKey: string;
126
- amount: number;
126
+ amount: bigint;
127
127
  }>;
128
128
  outputs: Array<{
129
129
  address: string;
130
- amount: number;
130
+ amount: bigint;
131
131
  }>;
132
- fee?: number;
132
+ fee?: bigint;
133
133
  expiryHeight?: number;
134
134
  }
135
135
  /** Commitment data returned from createCommitment */
@@ -169,12 +169,12 @@ export interface RegisterIdentityParams {
169
169
  recoveryAuthority?: string;
170
170
  /** Referral chain: i-addresses tracing referral levels (up to 3) */
171
171
  referralChain?: string[];
172
- /** Registration fee in VRSC satoshis (default: 10000000000 = 100 VRSC) */
173
- registrationFee?: number;
172
+ /** Registration fee in VRSC satoshis (default: 10000000000n = 100 VRSC) */
173
+ registrationFee?: bigint;
174
174
  /** Registration fee in parent currency satoshis (for sub-IDs) */
175
- registrationFeeAmount?: number;
175
+ registrationFeeAmount?: bigint;
176
176
  /** Native import fee in VRSC satoshis (for sub-IDs on fractional currencies) */
177
- nativeImportFee?: number;
177
+ nativeImportFee?: bigint;
178
178
  /** Number of referral levels (default: 3) */
179
179
  referralLevels?: number;
180
180
  expiryHeight?: number;
@@ -182,11 +182,11 @@ export interface RegisterIdentityParams {
182
182
  /** Register identity result */
183
183
  export interface RegisterIdentityResult extends SignedTxResult {
184
184
  identityAddress: string;
185
- registrationFee: number;
185
+ registrationFee: bigint;
186
186
  referralPayments: number;
187
- referralAmountEach: number;
187
+ referralAmountEach: bigint;
188
188
  inputsUsed: number;
189
- nativeChange: number;
189
+ nativeChange: bigint;
190
190
  }
191
191
  /** Update identity parameters */
192
192
  export interface UpdateIdentityParams {
@@ -208,7 +208,7 @@ export interface UpdateIdentityResult extends SignedTxResult {
208
208
  identityAddress: string;
209
209
  operation: string;
210
210
  inputsUsed: number;
211
- nativeChange: number;
211
+ nativeChange: bigint;
212
212
  }
213
213
  /** Lock identity parameters */
214
214
  export interface LockIdentityParams {
@@ -256,7 +256,7 @@ export interface DefineCurrencyParams {
256
256
  identityHex: string;
257
257
  identityUtxo: Utxo;
258
258
  currencyDefScript: string;
259
- currencyDefValue?: number;
259
+ currencyDefValue?: bigint;
260
260
  utxos: Utxo[];
261
261
  changeAddress: string;
262
262
  expiryHeight?: number;
@@ -265,7 +265,7 @@ export interface DefineCurrencyParams {
265
265
  export interface DefineCurrencyResult extends SignedTxResult {
266
266
  identityAddress: string;
267
267
  inputsUsed: number;
268
- nativeChange: number;
268
+ nativeChange: bigint;
269
269
  }
270
270
  /** Sign message parameters */
271
271
  export interface SignMessageParams {