@chainvue/verus-sdk 0.4.1 → 0.5.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 (49) hide show
  1. package/LICENSE +202 -21
  2. package/NOTICE +31 -0
  3. package/README.md +47 -63
  4. package/dist/VerusSDK.js +7 -7
  5. package/dist/VerusSDK.js.map +1 -1
  6. package/dist/bundle.js +1112 -1030
  7. package/dist/constants/index.d.ts +4 -4
  8. package/dist/constants/index.d.ts.map +1 -1
  9. package/dist/constants/index.js +4 -4
  10. package/dist/constants/index.js.map +1 -1
  11. package/dist/currency/classify.d.ts +1 -1
  12. package/dist/currency/classify.d.ts.map +1 -1
  13. package/dist/currency/index.d.ts.map +1 -1
  14. package/dist/currency/index.js +5 -4
  15. package/dist/currency/index.js.map +1 -1
  16. package/dist/errors.d.ts +8 -3
  17. package/dist/errors.d.ts.map +1 -1
  18. package/dist/errors.js +12 -1
  19. package/dist/errors.js.map +1 -1
  20. package/dist/fork-shims.d.ts +50 -0
  21. package/dist/identity/index.d.ts +8 -8
  22. package/dist/identity/index.d.ts.map +1 -1
  23. package/dist/identity/index.js +29 -29
  24. package/dist/identity/index.js.map +1 -1
  25. package/dist/index.d.ts +3 -2
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +6 -1
  28. package/dist/index.js.map +1 -1
  29. package/dist/keys/index.d.ts.map +1 -1
  30. package/dist/keys/index.js +4 -3
  31. package/dist/keys/index.js.map +1 -1
  32. package/dist/signing/index.d.ts +2 -2
  33. package/dist/signing/index.d.ts.map +1 -1
  34. package/dist/signing/index.js +12 -6
  35. package/dist/signing/index.js.map +1 -1
  36. package/dist/transfer/index.d.ts.map +1 -1
  37. package/dist/transfer/index.js +65 -39
  38. package/dist/transfer/index.js.map +1 -1
  39. package/dist/types/index.d.ts +26 -26
  40. package/dist/types/index.d.ts.map +1 -1
  41. package/dist/utils/index.d.ts +24 -5
  42. package/dist/utils/index.d.ts.map +1 -1
  43. package/dist/utils/index.js +71 -11
  44. package/dist/utils/index.js.map +1 -1
  45. package/dist/utxo/index.d.ts +8 -2
  46. package/dist/utxo/index.d.ts.map +1 -1
  47. package/dist/utxo/index.js +58 -31
  48. package/dist/utxo/index.js.map +1 -1
  49. package/package.json +20 -7
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,YAAY,EACV,IAAI,EACJ,WAAW,EACX,eAAe,EACf,cAAc,EACd,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EAEnB,eAAe,EACf,oBAAoB,EACpB,WAAW,EACX,aAAa,EACb,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC/E,YAAY,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAG3D,OAAO,EACL,SAAS,EACT,UAAU,EACV,UAAU,EACV,cAAc,EACd,cAAc,GACf,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAGvD,OAAO,EACL,UAAU,EACV,sBAAsB,EACtB,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,UAAU,EACV,kBAAkB,EAClB,cAAc,EACd,wBAAwB,EACxB,uBAAuB,EACvB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,UAAU,EACV,cAAc,EACd,4BAA4B,EAC5B,oBAAoB,EACpB,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAGpD,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AACxC,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AACxC,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,YAAY,EACV,IAAI,EACJ,WAAW,EACX,eAAe,EACf,cAAc,EACd,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EAEnB,eAAe,EACf,oBAAoB,EACpB,WAAW,EACX,aAAa,EACb,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC/E,YAAY,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAG3D,OAAO,EACL,SAAS,EACT,UAAU,EACV,UAAU,EACV,cAAc,EACd,cAAc,GACf,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,SAAS,EACT,UAAU,EACV,OAAO,EACP,YAAY,EACZ,aAAa,EACb,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,UAAU,EACV,sBAAsB,EACtB,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,UAAU,EACV,kBAAkB,EAClB,cAAc,EACd,wBAAwB,EACxB,uBAAuB,EACvB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,UAAU,EACV,cAAc,EACd,4BAA4B,EAC5B,oBAAoB,EACpB,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAGpD,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AACxC,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AACxC,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC"}
package/dist/index.js CHANGED
@@ -38,7 +38,7 @@ var __importStar = (this && this.__importStar) || (function () {
38
38
  };
39
39
  })();
40
40
  Object.defineProperty(exports, "__esModule", { value: true });
41
- exports.utils = exports.currency = exports.message = exports.transfer = exports.identity = exports.utxo = exports.signing = exports.keys = exports.address = exports.HASH_SHA256 = exports.IDENTITY_FLAG_LOCKED = exports.IDENTITY_FLAG_ACTIVECURRENCY = exports.I_ADDR_VERSION = exports.WIF_PREFIX = exports.SCRIPT_HASH_PREFIX = exports.PUBKEY_HASH_PREFIX = exports.RESERVE_TRANSFER_FEE = exports.DEFAULT_REFERRAL_LEVELS = exports.DEFAULT_REGISTRATION_FEE = exports.DUST_THRESHOLD = exports.DEFAULT_FEE_PER_KB = exports.TX_VERSION = exports.CONSENSUS_BRANCH_ID = exports.VERSION_GROUP_ID = exports.NETWORK_CONFIG = exports.TransactionBuildError = exports.InvalidNameError = exports.InvalidAddressError = exports.InvalidWifError = exports.InsufficientFundsError = exports.VerusError = exports.toCoins = exports.toSatoshis = exports.isIdentityName = exports.isVerusAddress = exports.isIAddress = exports.isRAddress = exports.BASE58_RE = exports.CURRENCY_TYPE_ORDER = exports.classifyCurrency = exports.VerusSDK = void 0;
41
+ exports.utils = exports.currency = exports.message = exports.transfer = exports.identity = exports.utxo = exports.signing = exports.keys = exports.address = exports.HASH_SHA256 = exports.IDENTITY_FLAG_LOCKED = exports.IDENTITY_FLAG_ACTIVECURRENCY = exports.I_ADDR_VERSION = exports.WIF_PREFIX = exports.SCRIPT_HASH_PREFIX = exports.PUBKEY_HASH_PREFIX = exports.RESERVE_TRANSFER_FEE = exports.DEFAULT_REFERRAL_LEVELS = exports.DEFAULT_REGISTRATION_FEE = exports.DUST_THRESHOLD = exports.DEFAULT_FEE_PER_KB = exports.TX_VERSION = exports.CONSENSUS_BRANCH_ID = exports.VERSION_GROUP_ID = exports.NETWORK_CONFIG = exports.InvalidAmountError = exports.TransactionBuildError = exports.InvalidNameError = exports.InvalidAddressError = exports.InvalidWifError = exports.InsufficientFundsError = exports.VerusError = exports.AMOUNT_DECIMALS = exports.SATS_PER_COIN = exports.toSafeNumber = exports.toCoins = exports.toSatoshis = exports.parseSats = exports.isIdentityName = exports.isVerusAddress = exports.isIAddress = exports.isRAddress = exports.BASE58_RE = exports.CURRENCY_TYPE_ORDER = exports.classifyCurrency = exports.VerusSDK = void 0;
42
42
  // Main facade
43
43
  var VerusSDK_js_1 = require("./VerusSDK.js");
44
44
  Object.defineProperty(exports, "VerusSDK", { enumerable: true, get: function () { return VerusSDK_js_1.VerusSDK; } });
@@ -55,8 +55,12 @@ Object.defineProperty(exports, "isVerusAddress", { enumerable: true, get: functi
55
55
  Object.defineProperty(exports, "isIdentityName", { enumerable: true, get: function () { return index_js_1.isIdentityName; } });
56
56
  // Unit conversions (also available via utils namespace)
57
57
  var index_js_2 = require("./utils/index.js");
58
+ Object.defineProperty(exports, "parseSats", { enumerable: true, get: function () { return index_js_2.parseSats; } });
58
59
  Object.defineProperty(exports, "toSatoshis", { enumerable: true, get: function () { return index_js_2.toSatoshis; } });
59
60
  Object.defineProperty(exports, "toCoins", { enumerable: true, get: function () { return index_js_2.toCoins; } });
61
+ Object.defineProperty(exports, "toSafeNumber", { enumerable: true, get: function () { return index_js_2.toSafeNumber; } });
62
+ Object.defineProperty(exports, "SATS_PER_COIN", { enumerable: true, get: function () { return index_js_2.SATS_PER_COIN; } });
63
+ Object.defineProperty(exports, "AMOUNT_DECIMALS", { enumerable: true, get: function () { return index_js_2.AMOUNT_DECIMALS; } });
60
64
  // Typed errors
61
65
  var errors_js_1 = require("./errors.js");
62
66
  Object.defineProperty(exports, "VerusError", { enumerable: true, get: function () { return errors_js_1.VerusError; } });
@@ -65,6 +69,7 @@ Object.defineProperty(exports, "InvalidWifError", { enumerable: true, get: funct
65
69
  Object.defineProperty(exports, "InvalidAddressError", { enumerable: true, get: function () { return errors_js_1.InvalidAddressError; } });
66
70
  Object.defineProperty(exports, "InvalidNameError", { enumerable: true, get: function () { return errors_js_1.InvalidNameError; } });
67
71
  Object.defineProperty(exports, "TransactionBuildError", { enumerable: true, get: function () { return errors_js_1.TransactionBuildError; } });
72
+ Object.defineProperty(exports, "InvalidAmountError", { enumerable: true, get: function () { return errors_js_1.InvalidAmountError; } });
68
73
  // Constants
69
74
  var index_js_3 = require("./constants/index.js");
70
75
  Object.defineProperty(exports, "NETWORK_CONFIG", { enumerable: true, get: function () { return index_js_3.NETWORK_CONFIG; } });
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":";AAAA;;;;;;;;;;GAUG;;;;;AAiGH,oCAsIC;AAKD,4BAkBC;AAKD,sCAiBC;AAKD,0BAmBC;AAKD,oCAgEC;AA/WD,8CAA4E;AAC5E,6EAKqC;AACrC,kDAAuB;AACvB,0DAAkC;AAClC,oDAAyE;AAEzE,kDAAkG;AAClG,+CAA+C;AAC/C,mDAAqF;AACrF,gDAA0D;AAC1D,4CAAsE;AACtE,+CAA+C;AAa/C,MAAM,EAAE,8BAA8B,EAAE,GAAG,mBAAQ,CAAC;AAEpD,0CAA0C;AAC1C,SAAS,sBAAsB,CAAC,GAAW,EAAE,KAAa;IACxD,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,MAAM,IAAI,2BAAe,CAAC,iBAAiB,CAAC,CAAC;IAC/C,CAAC;IACD,MAAM,QAAQ,GAAG,IAAA,sBAAW,EAAC,GAAG,CAAC,CAAC;IAClC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACpB,MAAM,IAAI,2BAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,iCAAqB,CAAC,+BAA+B,CAAC,CAAC;IACnE,CAAC;AACH,CAAC;AAED,6CAA6C;AAC7C,SAAS,cAAc,CAAC,MAAc,EAAE,QAAgB,QAAQ;IAC9D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,iCAAqB,CAAC,WAAW,KAAK,2CAA2C,MAAM,GAAG,CAAC,CAAC;IACxG,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,OAAe,EAAE,WAAmB;IACxD,IAAI,IAAqB,CAAC;IAC1B,IAAI,gBAAwB,CAAC;IAE7B,QAAQ,WAAW,EAAE,CAAC;QACpB,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,IAAI,GAAG,sCAAQ,CAAC;YAChB,MAAM,OAAO,GAAG,mBAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC1C,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACjD,MAAM;QACR,CAAC;QACD,KAAK,IAAI,CAAC,CAAC,CAAC;YACV,IAAI,GAAG,qCAAO,CAAC;YACf,MAAM,OAAO,GAAG,mBAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC1C,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACjD,MAAM;QACR,CAAC;QACD,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,IAAI,GAAG,sCAAQ,CAAC;YAChB,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YACvE,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC5C,MAAM;QACR,CAAC;QACD;YACE,MAAM,IAAI,KAAK,CAAC,6BAA6B,WAAW,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,IAAI,iDAAmB,CAAC;QAC7B,IAAI;QACJ,iBAAiB,EAAE,gBAAgB;QACnC,IAAI,EAAE,IAAI,eAAE,CAAC,CAAC,EAAE,EAAE,CAAC;KACpB,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,SAAgB,YAAY,CAC1B,MAA0B,EAC1B,OAAgB;IAEhB,sBAAsB,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IACjD,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,iCAAqB,CAAC,iCAAiC,CAAC,CAAC;IACrE,CAAC;IACD,MAAM,aAAa,GAAG,yBAAc,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,YAAY,GAAG,IAAA,qBAAU,EAAC,OAAO,KAAK,SAAS,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC;IACvC,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC;IAE9C,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC7C,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,WAAW,IAAI,KAAK,CAAC;QAC5D,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,UAAU,EAAE,GAAG,CAAC,UAAU;KAC3B,CAAC,CAAC,CAAC;IAEJ,MAAM,aAAa,GAAG,8BAA8B,CAClD,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,YAAY,CACb,CAAC;IAEF,MAAM,UAAU,GAAG,sBAAW,CAAC,OAAO,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;IACpE,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;QAClC,cAAc,IAAI,GAAG,CAAC,KAAK,CAAC;IAC9B,CAAC;IAED,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CACzC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,CACrE,CAAC;IAEF,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACrD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACjC,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC1C,kBAAkB,CAAC,GAAG,CACpB,GAAG,CAAC,QAAQ,EACZ,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CACrD,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,IAAA,sBAAW,EAC3B,MAAM,CAAC,KAAK,EACZ,cAAc,EACd,kBAAkB,EAClB,UAAU,CAAC,IAAI,CAAC,MAAM,EACtB,QAAQ,EACR,SAAS,EACT,eAAe,CAChB,CAAC;IAEF,MAAM,GAAG,GAAG,IAAI,6BAAkB,CAAC,YAAY,CAAC,CAAC;IACjD,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAClB,GAAG,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;IAClC,GAAG,CAAC,iBAAiB,CAAC,2BAAgB,CAAC,CAAC;IAExC,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;QACtC,GAAG,CAAC,QAAQ,CACV,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,EACvC,IAAI,CAAC,WAAW,EAChB,UAAU,EACV,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAChC,CAAC;IACJ,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;QAClC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,SAAS,CAAC,eAAe,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACvC,MAAM,WAAW,GAAG,IAAA,iCAAsB,EACxC,MAAM,CAAC,aAAa,EACpB,SAAS,CAAC,eAAe,CAC1B,CAAC;QACF,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,SAAS,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;QAC/B,kEAAkE;QAClE,uEAAuE;QACvE,6DAA6D;QAC7D,IAAI,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACzC,GAAG,CAAC,SAAS,CAAC,IAAA,gCAAqB,EAAC,MAAM,CAAC,aAAa,CAAC,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;QACrF,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,GAAG,CAAC,eAAe,EAAE,CAAC;IACzC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAA,+BAAoB,EAC7C,UAAU,CAAC,KAAK,EAAE,EAClB,MAAM,CAAC,GAAG,EACV,SAAS,CAAC,QAAQ,EAClB,YAAY,CACb,CAAC;IAEF,2EAA2E;IAC3E,mEAAmE;IACnE,kEAAkE;IAClE,sEAAsE;IACtE,MAAM,UAAU,GAAG,IAAA,oCAAyB,EAC1C,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,MAAM,CAAC,aAAa,EACpB,YAAY,EACZ,SAAS,CAAC,QAAQ,CACnB,CAAC;IACF,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACtB,MAAM,IAAI,iCAAqB,CAC7B,yCAAyC,UAAU,CAAC,OAAO,IAAI,iBAAiB,EAAE,CACnF,CAAC;IACJ,CAAC;IAED,OAAO;QACL,QAAQ;QACR,IAAI;QACJ,GAAG,EAAE,SAAS,CAAC,GAAG;QAClB,UAAU,EAAE,SAAS,CAAC,QAAQ,CAAC,MAAM;QACrC,YAAY,EAAE,SAAS,CAAC,YAAY;KACrC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,QAAQ,CACtB,MAAsB,EACtB,OAAgB;IAEhB,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9B,MAAM,QAAQ,GAAG,yBAAc,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;IACjD,OAAO,YAAY,CAAC;QAClB,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,OAAO,EAAE,CAAC;gBACR,QAAQ,EAAE,QAAQ;gBAClB,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE;gBAClC,OAAO,EAAE,MAAM,CAAC,EAAE;gBAClB,WAAW,EAAE,KAAK;aACnB,CAAC;QACF,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,YAAY,EAAE,MAAM,CAAC,YAAY;KAClC,EAAE,OAAO,CAAC,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa,CAC3B,MAA2B,EAC3B,OAAgB;IAEhB,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9B,OAAO,YAAY,CAAC;QAClB,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,OAAO,EAAE,CAAC;gBACR,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE;gBAClC,OAAO,EAAE,MAAM,CAAC,EAAE;gBAClB,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,KAAK;aACzC,CAAC;QACF,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,YAAY,EAAE,MAAM,CAAC,YAAY;KAClC,EAAE,OAAO,CAAC,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAgB,OAAO,CACrB,MAAqB,EACrB,OAAgB;IAEhB,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9B,OAAO,YAAY,CAAC;QAClB,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,OAAO,EAAE,CAAC;gBACR,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE;gBAClC,OAAO,EAAE,MAAM,CAAC,aAAa,EAAE,iCAAiC;gBAChE,WAAW,EAAE,KAAK;gBAClB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,GAAG,EAAE,MAAM,CAAC,GAAG;aAChB,CAAC;QACF,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,YAAY,EAAE,MAAM,CAAC,YAAY;KAClC,EAAE,OAAO,CAAC,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAgB,YAAY,CAC1B,MAA0B,EAC1B,OAAgB;IAEhB,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;QAClD,MAAM,IAAI,2BAAe,CAAC,iBAAiB,CAAC,CAAC;IAC/C,CAAC;IACD,MAAM,QAAQ,GAAG,IAAA,sBAAW,EAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACpB,MAAM,IAAI,2BAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,iCAAqB,CAAC,gCAAgC,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,iCAAqB,CAAC,iCAAiC,CAAC,CAAC;IACrE,CAAC;IACD,MAAM,YAAY,GAAG,IAAA,qBAAU,EAAC,OAAO,KAAK,SAAS,CAAC,CAAC;IAEvD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACvE,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACzE,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,CAAC;IAErD,IAAI,WAAW,GAAG,GAAG,GAAG,UAAU,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,8BAA8B,UAAU,aAAa,WAAW,UAAU,GAAG,EAAE,CAAC,CAAC;IACnG,CAAC;IAED,4EAA4E;IAC5E,MAAM,GAAG,GAAG,IAAI,6BAAkB,CAAC,YAAY,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAC1E,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAClB,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;IAC9C,GAAG,CAAC,iBAAiB,CAAC,2BAAgB,CAAC,CAAC;IAExC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAChC,GAAG,CAAC,QAAQ,CACV,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,EACtC,GAAG,CAAC,IAAI,EACR,UAAU,EACV,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,CACrC,CAAC;IACJ,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,IAAA,gCAAqB,EAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClD,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,UAAU,GAAG,GAAG,CAAC,eAAe,EAAE,CAAC;IAEzC,MAAM,KAAK,GAAW,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9C,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,WAAW,EAAE,CAAC,CAAC,IAAI;QACnB,QAAQ,EAAE,CAAC,CAAC,MAAM;QAClB,MAAM,EAAE,CAAC,CAAC,YAAY;KACvB,CAAC,CAAC,CAAC;IAEJ,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAA,+BAAoB,EAC7C,UAAU,CAAC,KAAK,EAAE,EAClB,MAAM,CAAC,GAAG,EACV,KAAK,EACL,YAAY,CACb,CAAC;IAEF,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/transfer/index.ts"],"names":[],"mappings":"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"}