@bitgo/sdk-core 28.3.0 → 28.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 (96) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/dist/src/account-lib/baseCoin/enum.d.ts +1 -1
  3. package/dist/src/account-lib/baseCoin/enum.d.ts.map +1 -1
  4. package/dist/src/account-lib/baseCoin/iface.d.ts +14 -14
  5. package/dist/src/account-lib/baseCoin/iface.d.ts.map +1 -1
  6. package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.js +9 -9
  7. package/dist/src/account-lib/mpc/index.d.ts +1 -1
  8. package/dist/src/account-lib/mpc/index.d.ts.map +1 -1
  9. package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts +41 -41
  10. package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts.map +1 -1
  11. package/dist/src/account-lib/mpc/tss/eddsa/eddsa.js +4 -4
  12. package/dist/src/bitgo/address-book/types.d.ts +36 -36
  13. package/dist/src/bitgo/address-book/types.d.ts.map +1 -1
  14. package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts +7 -7
  15. package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts.map +1 -1
  16. package/dist/src/bitgo/coinFactory.d.ts +1 -1
  17. package/dist/src/bitgo/coinFactory.d.ts.map +1 -1
  18. package/dist/src/bitgo/config.d.ts +2 -2
  19. package/dist/src/bitgo/config.d.ts.map +1 -1
  20. package/dist/src/bitgo/enterprise/iEnterprise.d.ts +1 -1
  21. package/dist/src/bitgo/enterprise/iEnterprise.d.ts.map +1 -1
  22. package/dist/src/bitgo/environments.d.ts +3 -3
  23. package/dist/src/bitgo/environments.d.ts.map +1 -1
  24. package/dist/src/bitgo/inscriptionBuilder/iInscriptionBuilder.d.ts +1 -1
  25. package/dist/src/bitgo/inscriptionBuilder/iInscriptionBuilder.d.ts.map +1 -1
  26. package/dist/src/bitgo/keychain/iKeychains.d.ts +6 -6
  27. package/dist/src/bitgo/keychain/iKeychains.d.ts.map +1 -1
  28. package/dist/src/bitgo/keychain/ovcJsonCodec.d.ts +3 -3
  29. package/dist/src/bitgo/keychain/ovcJsonCodec.d.ts.map +1 -1
  30. package/dist/src/bitgo/lightning/codecs.d.ts +13 -14
  31. package/dist/src/bitgo/lightning/codecs.d.ts.map +1 -1
  32. package/dist/src/bitgo/lightning/codecs.js +2 -2
  33. package/dist/src/bitgo/lightning/custodial/iLightning.d.ts +12 -12
  34. package/dist/src/bitgo/lightning/custodial/iLightning.d.ts.map +1 -1
  35. package/dist/src/bitgo/lightning/custodial/lightningUtils.d.ts +1 -1
  36. package/dist/src/bitgo/lightning/custodial/lightningUtils.d.ts.map +1 -1
  37. package/dist/src/bitgo/lightning/lightningUtils.d.ts +14 -3
  38. package/dist/src/bitgo/lightning/lightningUtils.d.ts.map +1 -1
  39. package/dist/src/bitgo/lightning/lightningUtils.js +31 -7
  40. package/dist/src/bitgo/lightning/signableJson.d.ts +1 -1
  41. package/dist/src/bitgo/lightning/signableJson.d.ts.map +1 -1
  42. package/dist/src/bitgo/market/iMarkets.d.ts +2 -2
  43. package/dist/src/bitgo/market/iMarkets.d.ts.map +1 -1
  44. package/dist/src/bitgo/recovery/initiate.d.ts +1 -1
  45. package/dist/src/bitgo/recovery/initiate.d.ts.map +1 -1
  46. package/dist/src/bitgo/staking/iStakingWallet.d.ts +3 -2
  47. package/dist/src/bitgo/staking/iStakingWallet.d.ts.map +1 -1
  48. package/dist/src/bitgo/staking/iStakingWallet.js +1 -1
  49. package/dist/src/bitgo/staking/stakingWallet.d.ts +2 -1
  50. package/dist/src/bitgo/staking/stakingWallet.d.ts.map +1 -1
  51. package/dist/src/bitgo/staking/stakingWallet.js +2 -1
  52. package/dist/src/bitgo/trading/network/types.d.ts +50 -50
  53. package/dist/src/bitgo/trading/network/types.d.ts.map +1 -1
  54. package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts +1 -1
  55. package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts.map +1 -1
  56. package/dist/src/bitgo/tss/ecdsa/types.d.ts +27 -27
  57. package/dist/src/bitgo/tss/ecdsa/types.d.ts.map +1 -1
  58. package/dist/src/bitgo/tss/eddsa/types.d.ts +4 -4
  59. package/dist/src/bitgo/tss/eddsa/types.d.ts.map +1 -1
  60. package/dist/src/bitgo/tss/types.d.ts +3 -3
  61. package/dist/src/bitgo/tss/types.d.ts.map +1 -1
  62. package/dist/src/bitgo/types.d.ts +3 -3
  63. package/dist/src/bitgo/types.d.ts.map +1 -1
  64. package/dist/src/bitgo/utils/opengpgUtils.d.ts +2 -2
  65. package/dist/src/bitgo/utils/opengpgUtils.d.ts.map +1 -1
  66. package/dist/src/bitgo/utils/promise-utils.d.ts +1 -1
  67. package/dist/src/bitgo/utils/promise-utils.d.ts.map +1 -1
  68. package/dist/src/bitgo/utils/triple.d.ts +1 -1
  69. package/dist/src/bitgo/utils/triple.d.ts.map +1 -1
  70. package/dist/src/bitgo/utils/tss/baseTypes.d.ts +15 -15
  71. package/dist/src/bitgo/utils/tss/baseTypes.d.ts.map +1 -1
  72. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts +3 -3
  73. package/dist/src/bitgo/utils/tss/ecdsa/types.d.ts +7 -7
  74. package/dist/src/bitgo/utils/tss/ecdsa/types.d.ts.map +1 -1
  75. package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.d.ts +2 -2
  76. package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.d.ts.map +1 -1
  77. package/dist/src/bitgo/utils/tss/eddsa/types.d.ts +7 -7
  78. package/dist/src/bitgo/utils/tss/eddsa/types.d.ts.map +1 -1
  79. package/dist/src/bitgo/wallet/BuildParams.d.ts +1 -1
  80. package/dist/src/bitgo/wallet/BuildParams.d.ts.map +1 -1
  81. package/dist/src/bitgo/wallet/iWallet.d.ts +52 -9
  82. package/dist/src/bitgo/wallet/iWallet.d.ts.map +1 -1
  83. package/dist/src/bitgo/wallet/iWallet.js +1 -1
  84. package/dist/src/bitgo/wallet/iWallets.d.ts +25 -7
  85. package/dist/src/bitgo/wallet/iWallets.d.ts.map +1 -1
  86. package/dist/src/bitgo/wallet/iWallets.js +1 -1
  87. package/dist/src/bitgo/wallet/wallet.d.ts +31 -1
  88. package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -1
  89. package/dist/src/bitgo/wallet/wallet.js +109 -2
  90. package/dist/src/bitgo/wallet/wallets.d.ts +25 -1
  91. package/dist/src/bitgo/wallet/wallets.d.ts.map +1 -1
  92. package/dist/src/bitgo/wallet/wallets.js +201 -112
  93. package/dist/test/unit/bitgo/lightning/codecs.js +3 -3
  94. package/dist/test/unit/bitgo/lightning/lightningUtils.js +40 -21
  95. package/dist/tsconfig.tsbuildinfo +1 -1
  96. package/package.json +3 -3
@@ -107,7 +107,7 @@ describe('Codecs', function () {
107
107
  {
108
108
  coinSpecific: {
109
109
  lnbtc: {
110
- encryptedAdminMacaroon: 'encryptedAdminMacaroon',
110
+ encryptedSignerAdminMacaroon: 'encryptedSignerAdminMacaroon',
111
111
  signerIP: '127.0.0.1',
112
112
  signerTlsCert: 'signerTlsCert',
113
113
  encryptedSignerTlsKey: 'encryptedSignerTlsKey',
@@ -123,7 +123,7 @@ describe('Codecs', function () {
123
123
  {
124
124
  coinSpecific: {
125
125
  tlnbtc: {
126
- encryptedAdminMacaroon: 'encryptedAdminMacaroon',
126
+ encryptedSignerAdminMacaroon: 'encryptedSignerAdminMacaroon',
127
127
  },
128
128
  },
129
129
  },
@@ -134,4 +134,4 @@ describe('Codecs', function () {
134
134
  },
135
135
  ], [null, 'abg', 1]);
136
136
  });
137
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZWNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdGVzdC91bml0L2JpdGdvL2xpZ2h0bmluZy9jb2RlY3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLG9EQUE0QjtBQUM1QixnREFBa0M7QUFDbEMsNkNBQXNDO0FBQ3RDLHlDQUE2RztBQUU3RyxTQUFTLGFBQWEsQ0FBQyxDQUFjLEVBQUUsS0FBZ0IsRUFBRSxPQUFrQjtJQUN6RSxRQUFRLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUU7UUFDMUIsRUFBRSxDQUFDLHFCQUFxQixFQUFFO1lBQ3hCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDbEIsZ0JBQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDbkQsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyx3QkFBd0IsRUFBRTtZQUMzQixPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3BCLGdCQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3BELENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsaUJBQWlCLEVBQUU7WUFDcEIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUNsQixNQUFNLFlBQVksR0FBRyxJQUFBLGVBQUksRUFBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO2dCQUN4RCxnQkFBTSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ25ELENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxRQUFRLENBQUMsUUFBUSxFQUFFO0lBQ2pCLGFBQWEsQ0FDWCxlQUFTLEVBQ1QsQ0FBQyxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSx5Q0FBeUMsQ0FBQyxFQUNoRyxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FDOUQsQ0FBQztJQUVGLGFBQWEsQ0FDWCx1QkFBaUIsRUFDakI7UUFDRTtZQUNFLEVBQUUsRUFBRSxJQUFJO1lBQ1IsR0FBRyxFQUFFLE1BQU07WUFDWCxZQUFZLEVBQUUsY0FBYztZQUM1QixNQUFNLEVBQUUsTUFBTTtTQUNmO0tBQ0YsRUFDRDtRQUNFLElBQUk7UUFDSixLQUFLO1FBQ0wsQ0FBQztRQUNEO1lBQ0UsRUFBRSxFQUFFLElBQUk7WUFDUixHQUFHLEVBQUUsTUFBTTtZQUNYLFlBQVksRUFBRSxjQUFjO1lBQzVCLE1BQU0sRUFBRSxRQUFRO1NBQ2pCO0tBQ0YsQ0FDRixDQUFDO0lBRUYsYUFBYSxDQUNYLDJCQUFxQixFQUNyQjtRQUNFO1lBQ0UsRUFBRSxFQUFFLElBQUk7WUFDUixHQUFHLEVBQUUsTUFBTTtZQUNYLFlBQVksRUFBRSxjQUFjO1lBQzVCLE1BQU0sRUFBRSxNQUFNO1lBQ2QsWUFBWSxFQUFFO2dCQUNaLEtBQUssRUFBRTtvQkFDTCxPQUFPLEVBQUUsVUFBVTtpQkFDcEI7YUFDRjtTQUNGO0tBQ0YsRUFDRDtRQUNFLElBQUk7UUFDSixLQUFLO1FBQ0wsQ0FBQztRQUNEO1lBQ0UsRUFBRSxFQUFFLElBQUk7WUFDUixHQUFHLEVBQUUsTUFBTTtZQUNYLFlBQVksRUFBRSxjQUFjO1lBQzVCLE1BQU0sRUFBRSxNQUFNO1lBQ2QsWUFBWSxFQUFFO2dCQUNaLEtBQUssRUFBRTtvQkFDTCxPQUFPLEVBQUUsT0FBTztpQkFDakI7YUFDRjtTQUNGO1FBQ0Q7WUFDRSxFQUFFLEVBQUUsSUFBSTtZQUNSLEdBQUcsRUFBRSxNQUFNO1lBQ1gsWUFBWSxFQUFFLGNBQWM7U0FDN0I7S0FDRixDQUNGLENBQUM7SUFFRixhQUFhLENBQ1gsMkJBQXFCLEVBQ3JCO1FBQ0U7WUFDRSxZQUFZLEVBQUU7Z0JBQ1osS0FBSyxFQUFFO29CQUNMLHNCQUFzQixFQUFFLHdCQUF3QjtvQkFDaEQsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLGFBQWEsRUFBRSxlQUFlO29CQUM5QixxQkFBcUIsRUFBRSx1QkFBdUI7b0JBQzlDLFNBQVMsRUFBRTt3QkFDVCw2QkFBNkIsRUFBRSwrQkFBK0I7d0JBQzlELHNCQUFzQixFQUFFLHdCQUF3Qjt3QkFDaEQsUUFBUSxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7cUJBQ25FO29CQUNELHVCQUF1QixFQUFFLHlCQUF5QjtpQkFDbkQ7YUFDRjtTQUNGO1FBQ0Q7WUFDRSxZQUFZLEVBQUU7Z0JBQ1osTUFBTSxFQUFFO29CQUNOLHNCQUFzQixFQUFFLHdCQUF3QjtpQkFDakQ7YUFDRjtTQUNGO1FBQ0Q7WUFDRSxZQUFZLEVBQUU7Z0JBQ1osTUFBTSxFQUFFLEVBQUU7YUFDWDtTQUNGO0tBQ0YsRUFDRCxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQ2pCLENBQUM7QUFDSixDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHQgZnJvbSAnaW8tdHMnO1xuaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0ICogYXMgRSBmcm9tICdmcC10cy9FaXRoZXInO1xuaW1wb3J0IHsgcGlwZSB9IGZyb20gJ2ZwLXRzL2Z1bmN0aW9uJztcbmltcG9ydCB7IElQQWRkcmVzcywgTGlnaHRuaW5nQXV0aEtleWNoYWluLCBMaWdodG5pbmdLZXljaGFpbiwgVXBkYXRlTGlnaHRuaW5nV2FsbGV0IH0gZnJvbSAnLi4vLi4vLi4vLi4vc3JjJztcblxuZnVuY3Rpb24gZGVzY3JpYmVDb2RlYyhjOiB0LlR5cGU8YW55PiwgdmFsaWQ6IHVua25vd25bXSwgaW52YWxpZDogdW5rbm93bltdKSB7XG4gIGRlc2NyaWJlKCdDb2RlYyAnICsgYy5uYW1lLCBmdW5jdGlvbiAoKSB7XG4gICAgaXQoJ3BhcnNlcyB2YWxpZCBpbnB1dHMnLCBmdW5jdGlvbiAoKSB7XG4gICAgICB2YWxpZC5mb3JFYWNoKCh2KSA9PiB7XG4gICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChFLmlzUmlnaHQoYy5kZWNvZGUodikpLCB0cnVlKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ3JlamVjdHMgaW52YWxpZCBpbnB1dHMnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBpbnZhbGlkLmZvckVhY2goKHYpID0+IHtcbiAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKEUuaXNSaWdodChjLmRlY29kZSh2KSksIGZhbHNlKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ2VuY29kZSDiiJggZGVjb2RlJywgZnVuY3Rpb24gKCkge1xuICAgICAgdmFsaWQuZm9yRWFjaCgodikgPT4ge1xuICAgICAgICBjb25zdCByb3VuZFRyaXBwZWQgPSBwaXBlKHYsIGMuZGVjb2RlLCBFLm1hcChjLmVuY29kZSkpO1xuICAgICAgICBhc3NlcnQuZGVlcFN0cmljdEVxdWFsKHJvdW5kVHJpcHBlZCwgRS5yaWdodCh2KSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSk7XG59XG5cbmRlc2NyaWJlKCdDb2RlY3MnLCBmdW5jdGlvbiAoKSB7XG4gIGRlc2NyaWJlQ29kZWMoXG4gICAgSVBBZGRyZXNzLFxuICAgIFsnMTI3LjAuMC4xJywgJzA6MDowOjA6MDowOjA6MScsICc6OjEnLCAnMTcyLjIwLjAuMicsICcyMDAxOjAwMDA6MTMwRjowMDAwOjAwMDA6MDlDMDo4NzZBOjEzMEInXSxcbiAgICBbbnVsbCwge30sICdhYmcnLCAnMTI3LjAuMC4yNTcnLCAnOjo4OTk5OTk5OTk5OScsICcnLCAnYScsIDFdXG4gICk7XG5cbiAgZGVzY3JpYmVDb2RlYyhcbiAgICBMaWdodG5pbmdLZXljaGFpbixcbiAgICBbXG4gICAgICB7XG4gICAgICAgIGlkOiAnaWQnLFxuICAgICAgICBwdWI6ICd4cHViJyxcbiAgICAgICAgZW5jcnlwdGVkUHJ2OiAnZW5jcnlwdGVkUHJ2JyxcbiAgICAgICAgc291cmNlOiAndXNlcicsXG4gICAgICB9LFxuICAgIF0sXG4gICAgW1xuICAgICAgbnVsbCxcbiAgICAgICdhYmcnLFxuICAgICAgMSxcbiAgICAgIHtcbiAgICAgICAgaWQ6ICdpZCcsXG4gICAgICAgIHB1YjogJ3hwdWInLFxuICAgICAgICBlbmNyeXB0ZWRQcnY6ICdlbmNyeXB0ZWRQcnYnLFxuICAgICAgICBzb3VyY2U6ICdiYWNrdXAnLFxuICAgICAgfSxcbiAgICBdXG4gICk7XG5cbiAgZGVzY3JpYmVDb2RlYyhcbiAgICBMaWdodG5pbmdBdXRoS2V5Y2hhaW4sXG4gICAgW1xuICAgICAge1xuICAgICAgICBpZDogJ2lkJyxcbiAgICAgICAgcHViOiAneHB1YicsXG4gICAgICAgIGVuY3J5cHRlZFBydjogJ2VuY3J5cHRlZFBydicsXG4gICAgICAgIHNvdXJjZTogJ3VzZXInLFxuICAgICAgICBjb2luU3BlY2lmaWM6IHtcbiAgICAgICAgICBsbmJ0Yzoge1xuICAgICAgICAgICAgcHVycG9zZTogJ3VzZXJBdXRoJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIG51bGwsXG4gICAgICAnYWJnJyxcbiAgICAgIDEsXG4gICAgICB7XG4gICAgICAgIGlkOiAnaWQnLFxuICAgICAgICBwdWI6ICd4cHViJyxcbiAgICAgICAgZW5jcnlwdGVkUHJ2OiAnZW5jcnlwdGVkUHJ2JyxcbiAgICAgICAgc291cmNlOiAndXNlcicsXG4gICAgICAgIGNvaW5TcGVjaWZpYzoge1xuICAgICAgICAgIGxuYnRjOiB7XG4gICAgICAgICAgICBwdXJwb3NlOiAnZHVtbXknLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpZDogJ2lkJyxcbiAgICAgICAgcHViOiAneHB1YicsXG4gICAgICAgIGVuY3J5cHRlZFBydjogJ2VuY3J5cHRlZFBydicsXG4gICAgICB9LFxuICAgIF1cbiAgKTtcblxuICBkZXNjcmliZUNvZGVjKFxuICAgIFVwZGF0ZUxpZ2h0bmluZ1dhbGxldCxcbiAgICBbXG4gICAgICB7XG4gICAgICAgIGNvaW5TcGVjaWZpYzoge1xuICAgICAgICAgIGxuYnRjOiB7XG4gICAgICAgICAgICBlbmNyeXB0ZWRBZG1pbk1hY2Fyb29uOiAnZW5jcnlwdGVkQWRtaW5NYWNhcm9vbicsXG4gICAgICAgICAgICBzaWduZXJJUDogJzEyNy4wLjAuMScsXG4gICAgICAgICAgICBzaWduZXJUbHNDZXJ0OiAnc2lnbmVyVGxzQ2VydCcsXG4gICAgICAgICAgICBlbmNyeXB0ZWRTaWduZXJUbHNLZXk6ICdlbmNyeXB0ZWRTaWduZXJUbHNLZXknLFxuICAgICAgICAgICAgd2F0Y2hPbmx5OiB7XG4gICAgICAgICAgICAgIG1hc3Rlcl9rZXlfYmlydGhkYXlfdGltZXN0YW1wOiAnbWFzdGVyX2tleV9iaXJ0aGRheV90aW1lc3RhbXAnLFxuICAgICAgICAgICAgICBtYXN0ZXJfa2V5X2ZpbmdlcnByaW50OiAnbWFzdGVyX2tleV9maW5nZXJwcmludCcsXG4gICAgICAgICAgICAgIGFjY291bnRzOiBbeyBwdXJwb3NlOiAxLCBjb2luX3R5cGU6IDEsIGFjY291bnQ6IDEsIHhwdWI6ICd4cHViJyB9XSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBlbmNyeXB0ZWRTaWduZXJNYWNhcm9vbjogJ2VuY3J5cHRlZFNpZ25lck1hY2Fyb29uJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgY29pblNwZWNpZmljOiB7XG4gICAgICAgICAgdGxuYnRjOiB7XG4gICAgICAgICAgICBlbmNyeXB0ZWRBZG1pbk1hY2Fyb29uOiAnZW5jcnlwdGVkQWRtaW5NYWNhcm9vbicsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGNvaW5TcGVjaWZpYzoge1xuICAgICAgICAgIHRsbmJ0Yzoge30sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIF0sXG4gICAgW251bGwsICdhYmcnLCAxXVxuICApO1xufSk7XG4iXX0=
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZWNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdGVzdC91bml0L2JpdGdvL2xpZ2h0bmluZy9jb2RlY3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLG9EQUE0QjtBQUM1QixnREFBa0M7QUFDbEMsNkNBQXNDO0FBQ3RDLHlDQUE2RztBQUU3RyxTQUFTLGFBQWEsQ0FBQyxDQUFjLEVBQUUsS0FBZ0IsRUFBRSxPQUFrQjtJQUN6RSxRQUFRLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUU7UUFDMUIsRUFBRSxDQUFDLHFCQUFxQixFQUFFO1lBQ3hCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDbEIsZ0JBQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDbkQsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyx3QkFBd0IsRUFBRTtZQUMzQixPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3BCLGdCQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3BELENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsaUJBQWlCLEVBQUU7WUFDcEIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUNsQixNQUFNLFlBQVksR0FBRyxJQUFBLGVBQUksRUFBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO2dCQUN4RCxnQkFBTSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ25ELENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxRQUFRLENBQUMsUUFBUSxFQUFFO0lBQ2pCLGFBQWEsQ0FDWCxlQUFTLEVBQ1QsQ0FBQyxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSx5Q0FBeUMsQ0FBQyxFQUNoRyxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FDOUQsQ0FBQztJQUVGLGFBQWEsQ0FDWCx1QkFBaUIsRUFDakI7UUFDRTtZQUNFLEVBQUUsRUFBRSxJQUFJO1lBQ1IsR0FBRyxFQUFFLE1BQU07WUFDWCxZQUFZLEVBQUUsY0FBYztZQUM1QixNQUFNLEVBQUUsTUFBTTtTQUNmO0tBQ0YsRUFDRDtRQUNFLElBQUk7UUFDSixLQUFLO1FBQ0wsQ0FBQztRQUNEO1lBQ0UsRUFBRSxFQUFFLElBQUk7WUFDUixHQUFHLEVBQUUsTUFBTTtZQUNYLFlBQVksRUFBRSxjQUFjO1lBQzVCLE1BQU0sRUFBRSxRQUFRO1NBQ2pCO0tBQ0YsQ0FDRixDQUFDO0lBRUYsYUFBYSxDQUNYLDJCQUFxQixFQUNyQjtRQUNFO1lBQ0UsRUFBRSxFQUFFLElBQUk7WUFDUixHQUFHLEVBQUUsTUFBTTtZQUNYLFlBQVksRUFBRSxjQUFjO1lBQzVCLE1BQU0sRUFBRSxNQUFNO1lBQ2QsWUFBWSxFQUFFO2dCQUNaLEtBQUssRUFBRTtvQkFDTCxPQUFPLEVBQUUsVUFBVTtpQkFDcEI7YUFDRjtTQUNGO0tBQ0YsRUFDRDtRQUNFLElBQUk7UUFDSixLQUFLO1FBQ0wsQ0FBQztRQUNEO1lBQ0UsRUFBRSxFQUFFLElBQUk7WUFDUixHQUFHLEVBQUUsTUFBTTtZQUNYLFlBQVksRUFBRSxjQUFjO1lBQzVCLE1BQU0sRUFBRSxNQUFNO1lBQ2QsWUFBWSxFQUFFO2dCQUNaLEtBQUssRUFBRTtvQkFDTCxPQUFPLEVBQUUsT0FBTztpQkFDakI7YUFDRjtTQUNGO1FBQ0Q7WUFDRSxFQUFFLEVBQUUsSUFBSTtZQUNSLEdBQUcsRUFBRSxNQUFNO1lBQ1gsWUFBWSxFQUFFLGNBQWM7U0FDN0I7S0FDRixDQUNGLENBQUM7SUFFRixhQUFhLENBQ1gsMkJBQXFCLEVBQ3JCO1FBQ0U7WUFDRSxZQUFZLEVBQUU7Z0JBQ1osS0FBSyxFQUFFO29CQUNMLDRCQUE0QixFQUFFLDhCQUE4QjtvQkFDNUQsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLGFBQWEsRUFBRSxlQUFlO29CQUM5QixxQkFBcUIsRUFBRSx1QkFBdUI7b0JBQzlDLFNBQVMsRUFBRTt3QkFDVCw2QkFBNkIsRUFBRSwrQkFBK0I7d0JBQzlELHNCQUFzQixFQUFFLHdCQUF3Qjt3QkFDaEQsUUFBUSxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7cUJBQ25FO29CQUNELHVCQUF1QixFQUFFLHlCQUF5QjtpQkFDbkQ7YUFDRjtTQUNGO1FBQ0Q7WUFDRSxZQUFZLEVBQUU7Z0JBQ1osTUFBTSxFQUFFO29CQUNOLDRCQUE0QixFQUFFLDhCQUE4QjtpQkFDN0Q7YUFDRjtTQUNGO1FBQ0Q7WUFDRSxZQUFZLEVBQUU7Z0JBQ1osTUFBTSxFQUFFLEVBQUU7YUFDWDtTQUNGO0tBQ0YsRUFDRCxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQ2pCLENBQUM7QUFDSixDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHQgZnJvbSAnaW8tdHMnO1xuaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0ICogYXMgRSBmcm9tICdmcC10cy9FaXRoZXInO1xuaW1wb3J0IHsgcGlwZSB9IGZyb20gJ2ZwLXRzL2Z1bmN0aW9uJztcbmltcG9ydCB7IElQQWRkcmVzcywgTGlnaHRuaW5nQXV0aEtleWNoYWluLCBMaWdodG5pbmdLZXljaGFpbiwgVXBkYXRlTGlnaHRuaW5nV2FsbGV0IH0gZnJvbSAnLi4vLi4vLi4vLi4vc3JjJztcblxuZnVuY3Rpb24gZGVzY3JpYmVDb2RlYyhjOiB0LlR5cGU8YW55PiwgdmFsaWQ6IHVua25vd25bXSwgaW52YWxpZDogdW5rbm93bltdKSB7XG4gIGRlc2NyaWJlKCdDb2RlYyAnICsgYy5uYW1lLCBmdW5jdGlvbiAoKSB7XG4gICAgaXQoJ3BhcnNlcyB2YWxpZCBpbnB1dHMnLCBmdW5jdGlvbiAoKSB7XG4gICAgICB2YWxpZC5mb3JFYWNoKCh2KSA9PiB7XG4gICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChFLmlzUmlnaHQoYy5kZWNvZGUodikpLCB0cnVlKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ3JlamVjdHMgaW52YWxpZCBpbnB1dHMnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBpbnZhbGlkLmZvckVhY2goKHYpID0+IHtcbiAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKEUuaXNSaWdodChjLmRlY29kZSh2KSksIGZhbHNlKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ2VuY29kZSDiiJggZGVjb2RlJywgZnVuY3Rpb24gKCkge1xuICAgICAgdmFsaWQuZm9yRWFjaCgodikgPT4ge1xuICAgICAgICBjb25zdCByb3VuZFRyaXBwZWQgPSBwaXBlKHYsIGMuZGVjb2RlLCBFLm1hcChjLmVuY29kZSkpO1xuICAgICAgICBhc3NlcnQuZGVlcFN0cmljdEVxdWFsKHJvdW5kVHJpcHBlZCwgRS5yaWdodCh2KSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSk7XG59XG5cbmRlc2NyaWJlKCdDb2RlY3MnLCBmdW5jdGlvbiAoKSB7XG4gIGRlc2NyaWJlQ29kZWMoXG4gICAgSVBBZGRyZXNzLFxuICAgIFsnMTI3LjAuMC4xJywgJzA6MDowOjA6MDowOjA6MScsICc6OjEnLCAnMTcyLjIwLjAuMicsICcyMDAxOjAwMDA6MTMwRjowMDAwOjAwMDA6MDlDMDo4NzZBOjEzMEInXSxcbiAgICBbbnVsbCwge30sICdhYmcnLCAnMTI3LjAuMC4yNTcnLCAnOjo4OTk5OTk5OTk5OScsICcnLCAnYScsIDFdXG4gICk7XG5cbiAgZGVzY3JpYmVDb2RlYyhcbiAgICBMaWdodG5pbmdLZXljaGFpbixcbiAgICBbXG4gICAgICB7XG4gICAgICAgIGlkOiAnaWQnLFxuICAgICAgICBwdWI6ICd4cHViJyxcbiAgICAgICAgZW5jcnlwdGVkUHJ2OiAnZW5jcnlwdGVkUHJ2JyxcbiAgICAgICAgc291cmNlOiAndXNlcicsXG4gICAgICB9LFxuICAgIF0sXG4gICAgW1xuICAgICAgbnVsbCxcbiAgICAgICdhYmcnLFxuICAgICAgMSxcbiAgICAgIHtcbiAgICAgICAgaWQ6ICdpZCcsXG4gICAgICAgIHB1YjogJ3hwdWInLFxuICAgICAgICBlbmNyeXB0ZWRQcnY6ICdlbmNyeXB0ZWRQcnYnLFxuICAgICAgICBzb3VyY2U6ICdiYWNrdXAnLFxuICAgICAgfSxcbiAgICBdXG4gICk7XG5cbiAgZGVzY3JpYmVDb2RlYyhcbiAgICBMaWdodG5pbmdBdXRoS2V5Y2hhaW4sXG4gICAgW1xuICAgICAge1xuICAgICAgICBpZDogJ2lkJyxcbiAgICAgICAgcHViOiAneHB1YicsXG4gICAgICAgIGVuY3J5cHRlZFBydjogJ2VuY3J5cHRlZFBydicsXG4gICAgICAgIHNvdXJjZTogJ3VzZXInLFxuICAgICAgICBjb2luU3BlY2lmaWM6IHtcbiAgICAgICAgICBsbmJ0Yzoge1xuICAgICAgICAgICAgcHVycG9zZTogJ3VzZXJBdXRoJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIG51bGwsXG4gICAgICAnYWJnJyxcbiAgICAgIDEsXG4gICAgICB7XG4gICAgICAgIGlkOiAnaWQnLFxuICAgICAgICBwdWI6ICd4cHViJyxcbiAgICAgICAgZW5jcnlwdGVkUHJ2OiAnZW5jcnlwdGVkUHJ2JyxcbiAgICAgICAgc291cmNlOiAndXNlcicsXG4gICAgICAgIGNvaW5TcGVjaWZpYzoge1xuICAgICAgICAgIGxuYnRjOiB7XG4gICAgICAgICAgICBwdXJwb3NlOiAnZHVtbXknLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpZDogJ2lkJyxcbiAgICAgICAgcHViOiAneHB1YicsXG4gICAgICAgIGVuY3J5cHRlZFBydjogJ2VuY3J5cHRlZFBydicsXG4gICAgICB9LFxuICAgIF1cbiAgKTtcblxuICBkZXNjcmliZUNvZGVjKFxuICAgIFVwZGF0ZUxpZ2h0bmluZ1dhbGxldCxcbiAgICBbXG4gICAgICB7XG4gICAgICAgIGNvaW5TcGVjaWZpYzoge1xuICAgICAgICAgIGxuYnRjOiB7XG4gICAgICAgICAgICBlbmNyeXB0ZWRTaWduZXJBZG1pbk1hY2Fyb29uOiAnZW5jcnlwdGVkU2lnbmVyQWRtaW5NYWNhcm9vbicsXG4gICAgICAgICAgICBzaWduZXJJUDogJzEyNy4wLjAuMScsXG4gICAgICAgICAgICBzaWduZXJUbHNDZXJ0OiAnc2lnbmVyVGxzQ2VydCcsXG4gICAgICAgICAgICBlbmNyeXB0ZWRTaWduZXJUbHNLZXk6ICdlbmNyeXB0ZWRTaWduZXJUbHNLZXknLFxuICAgICAgICAgICAgd2F0Y2hPbmx5OiB7XG4gICAgICAgICAgICAgIG1hc3Rlcl9rZXlfYmlydGhkYXlfdGltZXN0YW1wOiAnbWFzdGVyX2tleV9iaXJ0aGRheV90aW1lc3RhbXAnLFxuICAgICAgICAgICAgICBtYXN0ZXJfa2V5X2ZpbmdlcnByaW50OiAnbWFzdGVyX2tleV9maW5nZXJwcmludCcsXG4gICAgICAgICAgICAgIGFjY291bnRzOiBbeyBwdXJwb3NlOiAxLCBjb2luX3R5cGU6IDEsIGFjY291bnQ6IDEsIHhwdWI6ICd4cHViJyB9XSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBlbmNyeXB0ZWRTaWduZXJNYWNhcm9vbjogJ2VuY3J5cHRlZFNpZ25lck1hY2Fyb29uJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgY29pblNwZWNpZmljOiB7XG4gICAgICAgICAgdGxuYnRjOiB7XG4gICAgICAgICAgICBlbmNyeXB0ZWRTaWduZXJBZG1pbk1hY2Fyb29uOiAnZW5jcnlwdGVkU2lnbmVyQWRtaW5NYWNhcm9vbicsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGNvaW5TcGVjaWZpYzoge1xuICAgICAgICAgIHRsbmJ0Yzoge30sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIF0sXG4gICAgW251bGwsICdhYmcnLCAxXVxuICApO1xufSk7XG4iXX0=
@@ -27,11 +27,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
29
  const assert_1 = __importDefault(require("assert"));
30
- const utxolib = __importStar(require("@bitgo/utxo-lib"));
30
+ const sinon = __importStar(require("sinon"));
31
31
  const macaroon_1 = require("macaroon");
32
- const lightning_1 = require("../../../../src/bitgo/lightning");
32
+ const statics = __importStar(require("@bitgo/statics"));
33
+ const utxolib = __importStar(require("@bitgo/utxo-lib"));
33
34
  const createWatchOnlyFixture_1 = require("./createWatchOnlyFixture");
34
- const utxo_lib_1 = require("@bitgo/utxo-lib");
35
+ const lightningUtils_1 = require("./../../../../src/bitgo/lightning/lightningUtils");
36
+ const lightningUtils = __importStar(require("../../../../src/bitgo/lightning/lightningUtils"));
37
+ const src_1 = require("../../../../src");
35
38
  describe('lightning utils', function () {
36
39
  [
37
40
  { name: 'lnbtc', networkName: 'bitcoin' },
@@ -39,48 +42,64 @@ describe('lightning utils', function () {
39
42
  ].forEach(({ name, networkName }) => {
40
43
  describe(`success - coin ${name} and network ${networkName}`, function () {
41
44
  it(`isValidLightningNetworkName and getLightningNetwork`, function () {
42
- (0, assert_1.default)((0, lightning_1.isValidLightningNetworkName)(networkName));
43
- const network = (0, lightning_1.getLightningNetwork)(networkName);
45
+ (0, assert_1.default)((0, lightningUtils_1.isValidLightningNetworkName)(networkName));
46
+ const network = (0, lightningUtils_1.getLightningNetwork)(networkName);
44
47
  assert_1.default.strictEqual(network, utxolib.networks[networkName]);
45
48
  });
46
49
  it(`isValidLightningNetwork`, function () {
47
- (0, assert_1.default)((0, lightning_1.isValidLightningNetworkName)(networkName));
48
- (0, assert_1.default)((0, lightning_1.isValidLightningNetwork)(utxolib.networks[networkName]));
50
+ (0, assert_1.default)((0, lightningUtils_1.isValidLightningNetworkName)(networkName));
51
+ (0, assert_1.default)((0, lightningUtils_1.isValidLightningNetwork)(utxolib.networks[networkName]));
49
52
  });
50
- it(`getUtxolibNetworkName`, function () {
51
- assert_1.default.strictEqual((0, lightning_1.getUtxolibNetworkName)(name), networkName);
53
+ it(`getStaticsLightningNetwork`, function () {
54
+ assert_1.default.strictEqual((0, lightningUtils_1.getStaticsLightningNetwork)(name).family, 'lnbtc');
52
55
  });
53
56
  it(`getUtxolibNetwork`, function () {
54
- assert_1.default.strictEqual((0, lightning_1.getUtxolibNetwork)(name), networkName === 'bitcoin' ? utxolib.networks.bitcoin : utxolib.networks.testnet);
57
+ assert_1.default.strictEqual((0, lightningUtils_1.getUtxolibNetwork)(name), networkName === 'bitcoin' ? utxolib.networks.bitcoin : utxolib.networks.testnet);
58
+ });
59
+ it(`isLightningCoinName`, function () {
60
+ assert_1.default.strictEqual((0, lightningUtils_1.isLightningCoinName)(name), true);
61
+ assert_1.default.strictEqual((0, lightningUtils_1.isLightningCoinName)('ltc'), false);
55
62
  });
56
63
  });
57
64
  });
58
65
  it(`isValidLightningNetworkName should return false for non lightning network name`, function () {
59
- assert_1.default.strictEqual((0, lightning_1.isValidLightningNetworkName)('litecoin'), false);
66
+ assert_1.default.strictEqual((0, lightningUtils_1.isValidLightningNetworkName)('litecoin'), false);
60
67
  });
61
68
  it(`isValidLightningNetwork should return false for non lightning network`, function () {
62
- assert_1.default.strictEqual((0, lightning_1.isValidLightningNetwork)(utxolib.networks['litecoin']), false);
63
- });
64
- it(`getUtxolibNetworkName should return undefined for non lightning coin`, function () {
65
- assert_1.default.strictEqual((0, lightning_1.getUtxolibNetworkName)('ltc'), undefined);
69
+ assert_1.default.strictEqual((0, lightningUtils_1.isValidLightningNetwork)(utxolib.networks['litecoin']), false);
66
70
  });
67
71
  it(`getUtxolibNetwork should return fail for invalid lightning coin`, function () {
68
72
  assert_1.default.throws(() => {
69
- (0, lightning_1.getUtxolibNetwork)('ltc');
70
- }, /invalid lightning network/);
73
+ (0, lightningUtils_1.getUtxolibNetwork)('ltc');
74
+ }, /ltc is not a lightning coin/);
71
75
  });
72
76
  it(`createWatchOnly`, function () {
73
- const watchOnly = (0, lightning_1.createWatchOnly)(createWatchOnlyFixture_1.signerRootKey, utxo_lib_1.networks.testnet);
77
+ const watchOnly = (0, lightningUtils_1.createWatchOnly)(createWatchOnlyFixture_1.signerRootKey, utxolib.networks.testnet);
74
78
  assert_1.default.deepStrictEqual(watchOnly.accounts, createWatchOnlyFixture_1.accounts);
75
- assert_1.default.strictEqual(watchOnly.master_key_fingerprint, utxolib.bip32.fromBase58(createWatchOnlyFixture_1.signerRootKey, utxo_lib_1.networks.testnet).fingerprint.toString('hex'));
79
+ assert_1.default.strictEqual(watchOnly.master_key_fingerprint, utxolib.bip32.fromBase58(createWatchOnlyFixture_1.signerRootKey, utxolib.networks.testnet).fingerprint.toString('hex'));
76
80
  });
77
81
  it(`addIPCaveatToMacaroon`, function () {
78
82
  const macaroon = 'AgEDbG5kAvgBAwoQMgU7rDi802Yqg/tHll24nhIBMBoWCgdhZGRyZXNzEgRyZWFkEgV3cml0ZRoTCgRpbmZvEgRyZWFkEgV3cml0ZRoXCghpbnZvaWNlcxIEcmVhZBIFd3JpdGUaIQoIbWFjYXJvb24SCGdlbmVyYXRlEgRyZWFkEgV3cml0ZRoWCgdtZXNzYWdlEgRyZWFkEgV3cml0ZRoXCghvZmZjaGFpbhIEcmVhZBIFd3JpdGUaFgoHb25jaGFpbhIEcmVhZBIFd3JpdGUaFAoFcGVlcnMSBHJlYWQSBXdyaXRlGhgKBnNpZ25lchIIZ2VuZXJhdGUSBHJlYWQAAAYgZKiUvEzxGd2QKGUS+9R5ZWevG09S06fMJUnt+k1XXXQ=';
79
83
  const macaroonObj = (0, macaroon_1.importMacaroon)(macaroon).exportJSON();
80
84
  assert_1.default.strictEqual(macaroonObj.c, undefined);
81
- const macaroonWithCaveat = (0, lightning_1.addIPCaveatToMacaroon)(macaroon, '127.0.0.1');
85
+ const macaroonWithCaveat = (0, lightningUtils_1.addIPCaveatToMacaroon)(macaroon, '127.0.0.1');
82
86
  const macaroonObjWithCaveat = (0, macaroon_1.importMacaroon)(macaroonWithCaveat).exportJSON();
83
87
  assert_1.default.strictEqual(macaroonObjWithCaveat.c[0].i, 'ipaddr 127.0.0.1');
84
88
  });
89
+ it(`deriveLightningServiceSharedSecret`, function () {
90
+ const userAuthXprv = 'xprv9s21ZrQH143K4NPkV8riiTnFf72MRyQDVHMmmpekGF1w5QkS2MfTei9KXYvrZVMop4zQ4arnzSF7TRp3Cy73AWaDdADiYMCi5qpYW1bUa5m';
91
+ const lightningServicePubKey = '03b6fe266b3f8ae110b877d942765e9cea9e82faf03cdbb6d0effe980b6371b9c2';
92
+ const lightningServicePrvKey = '8b95613f4341e347743bd2625728d87bc6f0a119acb6ae9121afeee2b2a650f7';
93
+ const coin = statics.coins.get('tlnbtc');
94
+ (0, assert_1.default)(coin instanceof statics.LightningCoin);
95
+ const getStaticsLightningNetworkStub = sinon.stub(lightningUtils, 'getStaticsLightningNetwork').returns({
96
+ ...coin.network,
97
+ lightningServicePubKey,
98
+ });
99
+ const secret = (0, lightningUtils_1.deriveLightningServiceSharedSecret)('tlnbtc', userAuthXprv);
100
+ getStaticsLightningNetworkStub.restore();
101
+ const expectedSecret = (0, src_1.getSharedSecret)(Buffer.from(lightningServicePrvKey, 'hex'), utxolib.bip32.fromBase58(userAuthXprv).neutered());
102
+ assert_1.default.deepStrictEqual(secret, expectedSecret);
103
+ });
85
104
  });
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlnaHRuaW5nVXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90ZXN0L3VuaXQvYml0Z28vbGlnaHRuaW5nL2xpZ2h0bmluZ1V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBNEI7QUFDNUIseURBQTJDO0FBQzNDLHVDQUEwQztBQUUxQywrREFReUM7QUFDekMscUVBQW1FO0FBQ25FLDhDQUEyQztBQUUzQyxRQUFRLENBQUMsaUJBQWlCLEVBQUU7SUFDMUI7UUFDRSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRTtRQUN6QyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRTtLQUMzQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUU7UUFDbEMsUUFBUSxDQUFDLGtCQUFrQixJQUFJLGdCQUFnQixXQUFXLEVBQUUsRUFBRTtZQUM1RCxFQUFFLENBQUMscURBQXFELEVBQUU7Z0JBQ3hELElBQUEsZ0JBQU0sRUFBQyxJQUFBLHVDQUEyQixFQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pELE1BQU0sT0FBTyxHQUFHLElBQUEsK0JBQW1CLEVBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQ2pELGdCQUFNLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDN0QsQ0FBQyxDQUFDLENBQUM7WUFFSCxFQUFFLENBQUMseUJBQXlCLEVBQUU7Z0JBQzVCLElBQUEsZ0JBQU0sRUFBQyxJQUFBLHVDQUEyQixFQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pELElBQUEsZ0JBQU0sRUFBQyxJQUFBLG1DQUF1QixFQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pFLENBQUMsQ0FBQyxDQUFDO1lBRUgsRUFBRSxDQUFDLHVCQUF1QixFQUFFO2dCQUMxQixnQkFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFBLGlDQUFxQixFQUFDLElBQUksQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1lBQy9ELENBQUMsQ0FBQyxDQUFDO1lBRUgsRUFBRSxDQUFDLG1CQUFtQixFQUFFO2dCQUN0QixnQkFBTSxDQUFDLFdBQVcsQ0FDaEIsSUFBQSw2QkFBaUIsRUFBQyxJQUFJLENBQUMsRUFDdkIsV0FBVyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUNoRixDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLGdGQUFnRixFQUFFO1FBQ25GLGdCQUFNLENBQUMsV0FBVyxDQUFDLElBQUEsdUNBQTJCLEVBQUMsVUFBVSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDckUsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsdUVBQXVFLEVBQUU7UUFDMUUsZ0JBQU0sQ0FBQyxXQUFXLENBQUMsSUFBQSxtQ0FBdUIsRUFBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbkYsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsc0VBQXNFLEVBQUU7UUFDekUsZ0JBQU0sQ0FBQyxXQUFXLENBQUMsSUFBQSxpQ0FBcUIsRUFBQyxLQUFLLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUM5RCxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxpRUFBaUUsRUFBRTtRQUNwRSxnQkFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDakIsSUFBQSw2QkFBaUIsRUFBQyxLQUFLLENBQUMsQ0FBQztRQUMzQixDQUFDLEVBQUUsMkJBQTJCLENBQUMsQ0FBQztJQUNsQyxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxpQkFBaUIsRUFBRTtRQUNwQixNQUFNLFNBQVMsR0FBRyxJQUFBLDJCQUFlLEVBQUMsc0NBQWEsRUFBRSxtQkFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ25FLGdCQUFNLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsaUNBQVEsQ0FBQyxDQUFDO1FBQ3JELGdCQUFNLENBQUMsV0FBVyxDQUNoQixTQUFTLENBQUMsc0JBQXNCLEVBQ2hDLE9BQU8sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLHNDQUFhLEVBQUUsbUJBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUN0RixDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsdUJBQXVCLEVBQUU7UUFDMUIsTUFBTSxRQUFRLEdBQ1osMFlBQTBZLENBQUM7UUFDN1ksTUFBTSxXQUFXLEdBQUcsSUFBQSx5QkFBYyxFQUFDLFFBQVEsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzFELGdCQUFNLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDN0MsTUFBTSxrQkFBa0IsR0FBRyxJQUFBLGlDQUFxQixFQUFDLFFBQVEsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUN4RSxNQUFNLHFCQUFxQixHQUFHLElBQUEseUJBQWMsRUFBQyxrQkFBa0IsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzlFLGdCQUFNLENBQUMsV0FBVyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztJQUN2RSxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28vdXR4by1saWInO1xuaW1wb3J0IHsgaW1wb3J0TWFjYXJvb24gfSBmcm9tICdtYWNhcm9vbic7XG5cbmltcG9ydCB7XG4gIGFkZElQQ2F2ZWF0VG9NYWNhcm9vbixcbiAgY3JlYXRlV2F0Y2hPbmx5LFxuICBnZXRMaWdodG5pbmdOZXR3b3JrLFxuICBnZXRVdHhvbGliTmV0d29yayxcbiAgZ2V0VXR4b2xpYk5ldHdvcmtOYW1lLFxuICBpc1ZhbGlkTGlnaHRuaW5nTmV0d29yayxcbiAgaXNWYWxpZExpZ2h0bmluZ05ldHdvcmtOYW1lLFxufSBmcm9tICcuLi8uLi8uLi8uLi9zcmMvYml0Z28vbGlnaHRuaW5nJztcbmltcG9ydCB7IGFjY291bnRzLCBzaWduZXJSb290S2V5IH0gZnJvbSAnLi9jcmVhdGVXYXRjaE9ubHlGaXh0dXJlJztcbmltcG9ydCB7IG5ldHdvcmtzIH0gZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcblxuZGVzY3JpYmUoJ2xpZ2h0bmluZyB1dGlscycsIGZ1bmN0aW9uICgpIHtcbiAgW1xuICAgIHsgbmFtZTogJ2xuYnRjJywgbmV0d29ya05hbWU6ICdiaXRjb2luJyB9LFxuICAgIHsgbmFtZTogJ3RsbmJ0YycsIG5ldHdvcmtOYW1lOiAndGVzdG5ldCcgfSxcbiAgXS5mb3JFYWNoKCh7IG5hbWUsIG5ldHdvcmtOYW1lIH0pID0+IHtcbiAgICBkZXNjcmliZShgc3VjY2VzcyAtIGNvaW4gJHtuYW1lfSBhbmQgbmV0d29yayAke25ldHdvcmtOYW1lfWAsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGl0KGBpc1ZhbGlkTGlnaHRuaW5nTmV0d29ya05hbWUgYW5kIGdldExpZ2h0bmluZ05ldHdvcmtgLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGFzc2VydChpc1ZhbGlkTGlnaHRuaW5nTmV0d29ya05hbWUobmV0d29ya05hbWUpKTtcbiAgICAgICAgY29uc3QgbmV0d29yayA9IGdldExpZ2h0bmluZ05ldHdvcmsobmV0d29ya05hbWUpO1xuICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwobmV0d29yaywgdXR4b2xpYi5uZXR3b3Jrc1tuZXR3b3JrTmFtZV0pO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KGBpc1ZhbGlkTGlnaHRuaW5nTmV0d29ya2AsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgYXNzZXJ0KGlzVmFsaWRMaWdodG5pbmdOZXR3b3JrTmFtZShuZXR3b3JrTmFtZSkpO1xuICAgICAgICBhc3NlcnQoaXNWYWxpZExpZ2h0bmluZ05ldHdvcmsodXR4b2xpYi5uZXR3b3Jrc1tuZXR3b3JrTmFtZV0pKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdChgZ2V0VXR4b2xpYk5ldHdvcmtOYW1lYCwgZnVuY3Rpb24gKCkge1xuICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoZ2V0VXR4b2xpYk5ldHdvcmtOYW1lKG5hbWUpLCBuZXR3b3JrTmFtZSk7XG4gICAgICB9KTtcblxuICAgICAgaXQoYGdldFV0eG9saWJOZXR3b3JrYCwgZnVuY3Rpb24gKCkge1xuICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoXG4gICAgICAgICAgZ2V0VXR4b2xpYk5ldHdvcmsobmFtZSksXG4gICAgICAgICAgbmV0d29ya05hbWUgPT09ICdiaXRjb2luJyA/IHV0eG9saWIubmV0d29ya3MuYml0Y29pbiA6IHV0eG9saWIubmV0d29ya3MudGVzdG5ldFxuICAgICAgICApO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGl0KGBpc1ZhbGlkTGlnaHRuaW5nTmV0d29ya05hbWUgc2hvdWxkIHJldHVybiBmYWxzZSBmb3Igbm9uIGxpZ2h0bmluZyBuZXR3b3JrIG5hbWVgLCBmdW5jdGlvbiAoKSB7XG4gICAgYXNzZXJ0LnN0cmljdEVxdWFsKGlzVmFsaWRMaWdodG5pbmdOZXR3b3JrTmFtZSgnbGl0ZWNvaW4nKSwgZmFsc2UpO1xuICB9KTtcblxuICBpdChgaXNWYWxpZExpZ2h0bmluZ05ldHdvcmsgc2hvdWxkIHJldHVybiBmYWxzZSBmb3Igbm9uIGxpZ2h0bmluZyBuZXR3b3JrYCwgZnVuY3Rpb24gKCkge1xuICAgIGFzc2VydC5zdHJpY3RFcXVhbChpc1ZhbGlkTGlnaHRuaW5nTmV0d29yayh1dHhvbGliLm5ldHdvcmtzWydsaXRlY29pbiddKSwgZmFsc2UpO1xuICB9KTtcblxuICBpdChgZ2V0VXR4b2xpYk5ldHdvcmtOYW1lIHNob3VsZCByZXR1cm4gdW5kZWZpbmVkIGZvciBub24gbGlnaHRuaW5nIGNvaW5gLCBmdW5jdGlvbiAoKSB7XG4gICAgYXNzZXJ0LnN0cmljdEVxdWFsKGdldFV0eG9saWJOZXR3b3JrTmFtZSgnbHRjJyksIHVuZGVmaW5lZCk7XG4gIH0pO1xuXG4gIGl0KGBnZXRVdHhvbGliTmV0d29yayBzaG91bGQgcmV0dXJuIGZhaWwgZm9yIGludmFsaWQgbGlnaHRuaW5nIGNvaW5gLCBmdW5jdGlvbiAoKSB7XG4gICAgYXNzZXJ0LnRocm93cygoKSA9PiB7XG4gICAgICBnZXRVdHhvbGliTmV0d29yaygnbHRjJyk7XG4gICAgfSwgL2ludmFsaWQgbGlnaHRuaW5nIG5ldHdvcmsvKTtcbiAgfSk7XG5cbiAgaXQoYGNyZWF0ZVdhdGNoT25seWAsIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCB3YXRjaE9ubHkgPSBjcmVhdGVXYXRjaE9ubHkoc2lnbmVyUm9vdEtleSwgbmV0d29ya3MudGVzdG5ldCk7XG4gICAgYXNzZXJ0LmRlZXBTdHJpY3RFcXVhbCh3YXRjaE9ubHkuYWNjb3VudHMsIGFjY291bnRzKTtcbiAgICBhc3NlcnQuc3RyaWN0RXF1YWwoXG4gICAgICB3YXRjaE9ubHkubWFzdGVyX2tleV9maW5nZXJwcmludCxcbiAgICAgIHV0eG9saWIuYmlwMzIuZnJvbUJhc2U1OChzaWduZXJSb290S2V5LCBuZXR3b3Jrcy50ZXN0bmV0KS5maW5nZXJwcmludC50b1N0cmluZygnaGV4JylcbiAgICApO1xuICB9KTtcblxuICBpdChgYWRkSVBDYXZlYXRUb01hY2Fyb29uYCwgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IG1hY2Fyb29uID1cbiAgICAgICdBZ0VEYkc1a0F2Z0JBd29RTWdVN3JEaTgwMllxZy90SGxsMjRuaElCTUJvV0NnZGhaR1J5WlhOekVnUnlaV0ZrRWdWM2NtbDBaUm9UQ2dScGJtWnZFZ1J5WldGa0VnVjNjbWwwWlJvWENnaHBiblp2YVdObGN4SUVjbVZoWkJJRmQzSnBkR1VhSVFvSWJXRmpZWEp2YjI0U0NHZGxibVZ5WVhSbEVnUnlaV0ZrRWdWM2NtbDBaUm9XQ2dkdFpYTnpZV2RsRWdSeVpXRmtFZ1YzY21sMFpSb1hDZ2h2Wm1aamFHRnBiaElFY21WaFpCSUZkM0pwZEdVYUZnb0hiMjVqYUdGcGJoSUVjbVZoWkJJRmQzSnBkR1VhRkFvRmNHVmxjbk1TQkhKbFlXUVNCWGR5YVhSbEdoZ0tCbk5wWjI1bGNoSUlaMlZ1WlhKaGRHVVNCSEpsWVdRQUFBWWdaS2lVdkV6eEdkMlFLR1VTKzlSNVpXZXZHMDlTMDZmTUpVbnQrazFYWFhRPSc7XG4gICAgY29uc3QgbWFjYXJvb25PYmogPSBpbXBvcnRNYWNhcm9vbihtYWNhcm9vbikuZXhwb3J0SlNPTigpO1xuICAgIGFzc2VydC5zdHJpY3RFcXVhbChtYWNhcm9vbk9iai5jLCB1bmRlZmluZWQpO1xuICAgIGNvbnN0IG1hY2Fyb29uV2l0aENhdmVhdCA9IGFkZElQQ2F2ZWF0VG9NYWNhcm9vbihtYWNhcm9vbiwgJzEyNy4wLjAuMScpO1xuICAgIGNvbnN0IG1hY2Fyb29uT2JqV2l0aENhdmVhdCA9IGltcG9ydE1hY2Fyb29uKG1hY2Fyb29uV2l0aENhdmVhdCkuZXhwb3J0SlNPTigpO1xuICAgIGFzc2VydC5zdHJpY3RFcXVhbChtYWNhcm9vbk9ialdpdGhDYXZlYXQuY1swXS5pLCAnaXBhZGRyIDEyNy4wLjAuMScpO1xuICB9KTtcbn0pO1xuIl19
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlnaHRuaW5nVXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90ZXN0L3VuaXQvYml0Z28vbGlnaHRuaW5nL2xpZ2h0bmluZ1V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBNEI7QUFDNUIsNkNBQStCO0FBQy9CLHVDQUEwQztBQUMxQyx3REFBMEM7QUFDMUMseURBQTJDO0FBRTNDLHFFQUFtRTtBQUNuRSxxRkFVMEQ7QUFFMUQsK0ZBQWlGO0FBQ2pGLHlDQUFrRDtBQUVsRCxRQUFRLENBQUMsaUJBQWlCLEVBQUU7SUFDMUI7UUFDRSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRTtRQUN6QyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRTtLQUMzQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUU7UUFDbEMsUUFBUSxDQUFDLGtCQUFrQixJQUFJLGdCQUFnQixXQUFXLEVBQUUsRUFBRTtZQUM1RCxFQUFFLENBQUMscURBQXFELEVBQUU7Z0JBQ3hELElBQUEsZ0JBQU0sRUFBQyxJQUFBLDRDQUEyQixFQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pELE1BQU0sT0FBTyxHQUFHLElBQUEsb0NBQW1CLEVBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQ2pELGdCQUFNLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDN0QsQ0FBQyxDQUFDLENBQUM7WUFFSCxFQUFFLENBQUMseUJBQXlCLEVBQUU7Z0JBQzVCLElBQUEsZ0JBQU0sRUFBQyxJQUFBLDRDQUEyQixFQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pELElBQUEsZ0JBQU0sRUFBQyxJQUFBLHdD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cUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3ZFLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLG9DQUFvQyxFQUFFO1FBQ3ZDLE1BQU0sWUFBWSxHQUNoQixpSEFBaUgsQ0FBQztRQUNwSCxNQUFNLHNCQUFzQixHQUFHLG9FQUFvRSxDQUFDO1FBQ3BHLE1BQU0sc0JBQXNCLEdBQUcsa0VBQWtFLENBQUM7UUFFbEcsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDekMsSUFBQSxnQkFBTSxFQUFDLElBQUksWUFBWSxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFOUMsTUFBTSw4QkFBOEIsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSw0QkFBNEIsQ0FBQyxDQUFDLE9BQU8sQ0FBQztZQUN0RyxHQUFHLElBQUksQ0FBQyxPQUFPO1lBQ2Ysc0JBQXNCO1NBQ3ZCLENBQUMsQ0FBQztRQUVILE1BQU0sTUFBTSxHQUFHLElBQUEsbURBQWtDLEVBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQzFFLDhCQUE4QixDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRXpDLE1BQU0sY0FBYyxHQUFHLElBQUEscUJBQWUsRUFDcEMsTUFBTSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxLQUFLLENBQUMsRUFDMUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQ2xELENBQUM7UUFFRixnQkFBTSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDakQsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcbmltcG9ydCAqIGFzIHNpbm9uIGZyb20gJ3Npbm9uJztcbmltcG9ydCB7IGltcG9ydE1hY2Fyb29uIH0gZnJvbSAnbWFjYXJvb24nO1xuaW1wb3J0ICogYXMgc3RhdGljcyBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5pbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby91dHhvLWxpYic7XG5cbmltcG9ydCB7IGFjY291bnRzLCBzaWduZXJSb290S2V5IH0gZnJvbSAnLi9jcmVhdGVXYXRjaE9ubHlGaXh0dXJlJztcbmltcG9ydCB7XG4gIGlzVmFsaWRMaWdodG5pbmdOZXR3b3JrTmFtZSxcbiAgZ2V0TGlnaHRuaW5nTmV0d29yayxcbiAgaXNWYWxpZExpZ2h0bmluZ05ldHdvcmssXG4gIGdldFN0YXRpY3NMaWdodG5pbmdOZXR3b3JrLFxuICBnZXRVdHhvbGliTmV0d29yayxcbiAgaXNMaWdodG5pbmdDb2luTmFtZSxcbiAgY3JlYXRlV2F0Y2hPbmx5LFxuICBhZGRJUENhdmVhdFRvTWFjYXJvb24sXG4gIGRlcml2ZUxpZ2h0bmluZ1NlcnZpY2VTaGFyZWRTZWNyZXQsXG59IGZyb20gJy4vLi4vLi4vLi4vLi4vc3JjL2JpdGdvL2xpZ2h0bmluZy9saWdodG5pbmdVdGlscyc7XG5cbmltcG9ydCAqIGFzIGxpZ2h0bmluZ1V0aWxzIGZyb20gJy4uLy4uLy4uLy4uL3NyYy9iaXRnby9saWdodG5pbmcvbGlnaHRuaW5nVXRpbHMnO1xuaW1wb3J0IHsgZ2V0U2hhcmVkU2VjcmV0IH0gZnJvbSAnLi4vLi4vLi4vLi4vc3JjJztcblxuZGVzY3JpYmUoJ2xpZ2h0bmluZyB1dGlscycsIGZ1bmN0aW9uICgpIHtcbiAgW1xuICAgIHsgbmFtZTogJ2xuYnRjJywgbmV0d29ya05hbWU6ICdiaXRjb2luJyB9LFxuICAgIHsgbmFtZTogJ3RsbmJ0YycsIG5ldHdvcmtOYW1lOiAndGVzdG5ldCcgfSxcbiAgXS5mb3JFYWNoKCh7IG5hbWUsIG5ldHdvcmtOYW1lIH0pID0+IHtcbiAgICBkZXNjcmliZShgc3VjY2VzcyAtIGNvaW4gJHtuYW1lfSBhbmQgbmV0d29yayAke25ldHdvcmtOYW1lfWAsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGl0KGBpc1ZhbGlkTGlnaHRuaW5nTmV0d29ya05hbWUgYW5kIGdldExpZ2h0bmluZ05ldHdvcmtgLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGFzc2VydChpc1ZhbGlkTGlnaHRuaW5nTmV0d29ya05hbWUobmV0d29ya05hbWUpKTtcbiAgICAgICAgY29uc3QgbmV0d29yayA9IGdldExpZ2h0bmluZ05ldHdvcmsobmV0d29ya05hbWUpO1xuICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwobmV0d29yaywgdXR4b2xpYi5uZXR3b3Jrc1tuZXR3b3JrTmFtZV0pO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KGBpc1ZhbGlkTGlnaHRuaW5nTmV0d29ya2AsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgYXNzZXJ0KGlzVmFsaWRMaWdodG5pbmdOZXR3b3JrTmFtZShuZXR3b3JrTmFtZSkpO1xuICAgICAgICBhc3NlcnQoaXNWYWxpZExpZ2h0bmluZ05ldHdvcmsodXR4b2xpYi5uZXR3b3Jrc1tuZXR3b3JrTmFtZV0pKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdChgZ2V0U3RhdGljc0xpZ2h0bmluZ05ldHdvcmtgLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChnZXRTdGF0aWNzTGlnaHRuaW5nTmV0d29yayhuYW1lKS5mYW1pbHksICdsbmJ0YycpO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KGBnZXRVdHhvbGliTmV0d29ya2AsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKFxuICAgICAgICAgIGdldFV0eG9saWJOZXR3b3JrKG5hbWUpLFxuICAgICAgICAgIG5ldHdvcmtOYW1lID09PSAnYml0Y29pbicgPyB1dHhvbGliLm5ldHdvcmtzLmJpdGNvaW4gOiB1dHhvbGliLm5ldHdvcmtzLnRlc3RuZXRcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdChgaXNMaWdodG5pbmdDb2luTmFtZWAsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKGlzTGlnaHRuaW5nQ29pbk5hbWUobmFtZSksIHRydWUpO1xuICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoaXNMaWdodG5pbmdDb2luTmFtZSgnbHRjJyksIGZhbHNlKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcblxuICBpdChgaXNWYWxpZExpZ2h0bmluZ05ldHdvcmtOYW1lIHNob3VsZCByZXR1cm4gZmFsc2UgZm9yIG5vbiBsaWdodG5pbmcgbmV0d29yayBuYW1lYCwgZnVuY3Rpb24gKCkge1xuICAgIGFzc2VydC5zdHJpY3RFcXVhbChpc1ZhbGlkTGlnaHRuaW5nTmV0d29ya05hbWUoJ2xpdGVjb2luJyksIGZhbHNlKTtcbiAgfSk7XG5cbiAgaXQoYGlzVmFsaWRMaWdodG5pbmdOZXR3b3JrIHNob3VsZCByZXR1cm4gZmFsc2UgZm9yIG5vbiBsaWdodG5pbmcgbmV0d29ya2AsIGZ1bmN0aW9uICgpIHtcbiAgICBhc3NlcnQuc3RyaWN0RXF1YWwoaXNWYWxpZExpZ2h0bmluZ05ldHdvcmsodXR4b2xpYi5uZXR3b3Jrc1snbGl0ZWNvaW4nXSksIGZhbHNlKTtcbiAgfSk7XG5cbiAgaXQoYGdldFV0eG9saWJOZXR3b3JrIHNob3VsZCByZXR1cm4gZmFpbCBmb3IgaW52YWxpZCBsaWdodG5pbmcgY29pbmAsIGZ1bmN0aW9uICgpIHtcbiAgICBhc3NlcnQudGhyb3dzKCgpID0+IHtcbiAgICAgIGdldFV0eG9saWJOZXR3b3JrKCdsdGMnKTtcbiAgICB9LCAvbHRjIGlzIG5vdCBhIGxpZ2h0bmluZyBjb2luLyk7XG4gIH0pO1xuXG4gIGl0KGBjcmVhdGVXYXRjaE9ubHlgLCBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3Qgd2F0Y2hPbmx5ID0gY3JlYXRlV2F0Y2hPbmx5KHNpZ25lclJvb3RLZXksIHV0eG9saWIubmV0d29ya3MudGVzdG5ldCk7XG4gICAgYXNzZXJ0LmRlZXBTdHJpY3RFcXVhbCh3YXRjaE9ubHkuYWNjb3VudHMsIGFjY291bnRzKTtcbiAgICBhc3NlcnQuc3RyaWN0RXF1YWwoXG4gICAgICB3YXRjaE9ubHkubWFzdGVyX2tleV9maW5nZXJwcmludCxcbiAgICAgIHV0eG9saWIuYmlwMzIuZnJvbUJhc2U1OChzaWduZXJSb290S2V5LCB1dHhvbGliLm5ldHdvcmtzLnRlc3RuZXQpLmZpbmdlcnByaW50LnRvU3RyaW5nKCdoZXgnKVxuICAgICk7XG4gIH0pO1xuXG4gIGl0KGBhZGRJUENhdmVhdFRvTWFjYXJvb25gLCBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgbWFjYXJvb24gPVxuICAgICAgJ0FnRURiRzVrQXZnQkF3b1FNZ1U3ckRpODAyWXFnL3RIbGwyNG5oSUJNQm9XQ2dkaFpHUnlaWE56RWdSeVpXRmtFZ1YzY21sMFpSb1RDZ1JwYm1adkVnUnlaV0ZrRWdWM2NtbDBaUm9YQ2docGJuWnZhV05sY3hJRWNtVmhaQklGZDNKcGRHVWFJUW9JYldGallYSnZiMjRTQ0dkbGJtVnlZWFJsRWdSeVpXRmtFZ1YzY21sMFpSb1dDZ2R0WlhOellXZGxFZ1J5WldGa0VnVjNjbWwwWlJvWENnaHZabVpqYUdGcGJoSUVjbVZoWkJJRmQzSnBkR1VhRmdvSGIyNWphR0ZwYmhJRWNtVmhaQklGZDNKcGRHVWFGQW9GY0dWbGNuTVNCSEpsWVdRU0JYZHlhWFJsR2hnS0JuTnBaMjVsY2hJSVoyVnVaWEpoZEdVU0JISmxZV1FBQUFZZ1pLaVV2RXp4R2QyUUtHVVMrOVI1WldldkcwOVMwNmZNSlVudCtrMVhYWFE9JztcbiAgICBjb25zdCBtYWNhcm9vbk9iaiA9IGltcG9ydE1hY2Fyb29uKG1hY2Fyb29uKS5leHBvcnRKU09OKCk7XG4gICAgYXNzZXJ0LnN0cmljdEVxdWFsKG1hY2Fyb29uT2JqLmMsIHVuZGVmaW5lZCk7XG4gICAgY29uc3QgbWFjYXJvb25XaXRoQ2F2ZWF0ID0gYWRkSVBDYXZlYXRUb01hY2Fyb29uKG1hY2Fyb29uLCAnMTI3LjAuMC4xJyk7XG4gICAgY29uc3QgbWFjYXJvb25PYmpXaXRoQ2F2ZWF0ID0gaW1wb3J0TWFjYXJvb24obWFjYXJvb25XaXRoQ2F2ZWF0KS5leHBvcnRKU09OKCk7XG4gICAgYXNzZXJ0LnN0cmljdEVxdWFsKG1hY2Fyb29uT2JqV2l0aENhdmVhdC5jWzBdLmksICdpcGFkZHIgMTI3LjAuMC4xJyk7XG4gIH0pO1xuXG4gIGl0KGBkZXJpdmVMaWdodG5pbmdTZXJ2aWNlU2hhcmVkU2VjcmV0YCwgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IHVzZXJBdXRoWHBydiA9XG4gICAgICAneHBydjlzMjFaclFIMTQzSzROUGtWOHJpaVRuRmY3Mk1SeVFEVkhNbW1wZWtHRjF3NVFrUzJNZlRlaTlLWFl2clpWTW9wNHpRNGFybnpTRjdUUnAzQ3k3M0FXYURkQURpWU1DaTVxcFlXMWJVYTVtJztcbiAgICBjb25zdCBsaWdodG5pbmdTZXJ2aWNlUHViS2V5ID0gJzAzYjZmZTI2NmIzZjhhZTExMGI4NzdkOTQyNzY1ZTljZWE5ZTgyZmFmMDNjZGJiNmQwZWZmZTk4MGI2MzcxYjljMic7XG4gICAgY29uc3QgbGlnaHRuaW5nU2VydmljZVBydktleSA9ICc4Yjk1NjEzZjQzNDFlMzQ3NzQzYmQyNjI1NzI4ZDg3YmM2ZjBhMTE5YWNiNmFlOTEyMWFmZWVlMmIyYTY1MGY3JztcblxuICAgIGNvbnN0IGNvaW4gPSBzdGF0aWNzLmNvaW5zLmdldCgndGxuYnRjJyk7XG4gICAgYXNzZXJ0KGNvaW4gaW5zdGFuY2VvZiBzdGF0aWNzLkxpZ2h0bmluZ0NvaW4pO1xuXG4gICAgY29uc3QgZ2V0U3RhdGljc0xpZ2h0bmluZ05ldHdvcmtTdHViID0gc2lub24uc3R1YihsaWdodG5pbmdVdGlscywgJ2dldFN0YXRpY3NMaWdodG5pbmdOZXR3b3JrJykucmV0dXJucyh7XG4gICAgICAuLi5jb2luLm5ldHdvcmssXG4gICAgICBsaWdodG5pbmdTZXJ2aWNlUHViS2V5LFxuICAgIH0pO1xuXG4gICAgY29uc3Qgc2VjcmV0ID0gZGVyaXZlTGlnaHRuaW5nU2VydmljZVNoYXJlZFNlY3JldCgndGxuYnRjJywgdXNlckF1dGhYcHJ2KTtcbiAgICBnZXRTdGF0aWNzTGlnaHRuaW5nTmV0d29ya1N0dWIucmVzdG9yZSgpO1xuXG4gICAgY29uc3QgZXhwZWN0ZWRTZWNyZXQgPSBnZXRTaGFyZWRTZWNyZXQoXG4gICAgICBCdWZmZXIuZnJvbShsaWdodG5pbmdTZXJ2aWNlUHJ2S2V5LCAnaGV4JyksXG4gICAgICB1dHhvbGliLmJpcDMyLmZyb21CYXNlNTgodXNlckF1dGhYcHJ2KS5uZXV0ZXJlZCgpXG4gICAgKTtcblxuICAgIGFzc2VydC5kZWVwU3RyaWN0RXF1YWwoc2VjcmV0LCBleHBlY3RlZFNlY3JldCk7XG4gIH0pO1xufSk7XG4iXX0=