@bitgo/account-lib 2.20.0-rc.28 → 2.20.0-rc.30

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 (191) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/dist/browser/bitgo-account-lib.js +2 -0
  3. package/dist/browser/bitgo-account-lib.js.LICENSE.txt +337 -0
  4. package/dist/resources/hbar/protobuf/BasicTypes.proto +424 -0
  5. package/dist/resources/hbar/protobuf/CryptoCreate.proto +47 -0
  6. package/dist/resources/hbar/protobuf/CryptoTransfer.proto +33 -0
  7. package/dist/resources/hbar/protobuf/Duration.proto +28 -0
  8. package/dist/resources/hbar/protobuf/Timestamp.proto +34 -0
  9. package/dist/resources/hbar/protobuf/Transaction.proto +35 -0
  10. package/dist/resources/hbar/protobuf/TransactionBody.proto +24 -0
  11. package/dist/resources/hbar/protobuf/TransactionContents.proto +33 -0
  12. package/dist/resources/hbar/protobuf/hedera.d.ts +4612 -0
  13. package/dist/resources/hbar/protobuf/hedera.js +12192 -0
  14. package/dist/src/coin/algo/assetTransferBuilder.d.ts +42 -0
  15. package/dist/src/coin/algo/assetTransferBuilder.d.ts.map +1 -0
  16. package/dist/src/coin/algo/assetTransferBuilder.js +105 -0
  17. package/dist/src/coin/algo/errors.d.ts +11 -0
  18. package/dist/src/coin/algo/errors.d.ts.map +1 -0
  19. package/dist/src/coin/algo/errors.js +27 -0
  20. package/dist/src/coin/algo/ifaces.d.ts +46 -0
  21. package/dist/src/coin/algo/ifaces.d.ts.map +1 -0
  22. package/dist/src/coin/algo/ifaces.js +3 -0
  23. package/dist/src/coin/algo/index.d.ts +13 -0
  24. package/dist/src/coin/algo/index.d.ts.map +1 -0
  25. package/dist/src/coin/algo/index.js +47 -0
  26. package/dist/src/coin/algo/keyPair.d.ts +25 -0
  27. package/dist/src/coin/algo/keyPair.d.ts.map +1 -0
  28. package/dist/src/coin/algo/keyPair.js +77 -0
  29. package/dist/src/coin/algo/keyRegistrationBuilder.d.ts +104 -0
  30. package/dist/src/coin/algo/keyRegistrationBuilder.d.ts.map +1 -0
  31. package/dist/src/coin/algo/keyRegistrationBuilder.js +239 -0
  32. package/dist/src/coin/algo/seedEncoding.d.ts +25 -0
  33. package/dist/src/coin/algo/seedEncoding.d.ts.map +1 -0
  34. package/dist/src/coin/algo/seedEncoding.js +97 -0
  35. package/dist/src/coin/algo/transaction.d.ts +75 -0
  36. package/dist/src/coin/algo/transaction.d.ts.map +1 -0
  37. package/dist/src/coin/algo/transaction.js +251 -0
  38. package/dist/src/coin/algo/transactionBuilder.d.ts +204 -0
  39. package/dist/src/coin/algo/transactionBuilder.d.ts.map +1 -0
  40. package/dist/src/coin/algo/transactionBuilder.js +373 -0
  41. package/dist/src/coin/algo/transactionBuilderFactory.d.ts +16 -0
  42. package/dist/src/coin/algo/transactionBuilderFactory.d.ts.map +1 -0
  43. package/dist/src/coin/algo/transactionBuilderFactory.js +52 -0
  44. package/dist/src/coin/algo/transferBuilder.d.ts +40 -0
  45. package/dist/src/coin/algo/transferBuilder.d.ts.map +1 -0
  46. package/dist/src/coin/algo/transferBuilder.js +89 -0
  47. package/dist/src/coin/algo/txnSchema.d.ts +7 -0
  48. package/dist/src/coin/algo/txnSchema.d.ts.map +1 -0
  49. package/dist/src/coin/algo/txnSchema.js +68 -0
  50. package/dist/src/coin/algo/utils.d.ts +249 -0
  51. package/dist/src/coin/algo/utils.d.ts.map +1 -0
  52. package/dist/src/coin/algo/utils.js +539 -0
  53. package/dist/src/coin/avaxc/index.d.ts +2 -3
  54. package/dist/src/coin/avaxc/index.d.ts.map +1 -1
  55. package/dist/src/coin/avaxc/index.js +5 -6
  56. package/dist/src/coin/avaxc/transactionBuilder.js +3 -3
  57. package/dist/src/coin/avaxc/transferBuilder.d.ts +1 -1
  58. package/dist/src/coin/avaxc/transferBuilder.d.ts.map +1 -1
  59. package/dist/src/coin/avaxc/transferBuilder.js +3 -3
  60. package/dist/src/coin/avaxc/utils.d.ts +1 -2
  61. package/dist/src/coin/avaxc/utils.d.ts.map +1 -1
  62. package/dist/src/coin/avaxc/utils.js +3 -3
  63. package/dist/src/coin/celo/index.d.ts +2 -3
  64. package/dist/src/coin/celo/index.d.ts.map +1 -1
  65. package/dist/src/coin/celo/index.js +5 -6
  66. package/dist/src/coin/celo/stakingBuilder.d.ts.map +1 -1
  67. package/dist/src/coin/celo/stakingBuilder.js +21 -22
  68. package/dist/src/coin/celo/stakingCall.d.ts +1 -1
  69. package/dist/src/coin/celo/stakingCall.js +3 -3
  70. package/dist/src/coin/celo/transaction.d.ts +2 -3
  71. package/dist/src/coin/celo/transaction.d.ts.map +1 -1
  72. package/dist/src/coin/celo/transaction.js +3 -3
  73. package/dist/src/coin/celo/transactionBuilder.d.ts +2 -3
  74. package/dist/src/coin/celo/transactionBuilder.d.ts.map +1 -1
  75. package/dist/src/coin/celo/transactionBuilder.js +4 -24
  76. package/dist/src/coin/celo/transferBuilder.d.ts +1 -1
  77. package/dist/src/coin/celo/transferBuilder.d.ts.map +1 -1
  78. package/dist/src/coin/celo/transferBuilder.js +3 -3
  79. package/dist/src/coin/celo/types.d.ts +1 -2
  80. package/dist/src/coin/celo/types.d.ts.map +1 -1
  81. package/dist/src/coin/celo/types.js +5 -5
  82. package/dist/src/coin/celo/utils.d.ts +1 -1
  83. package/dist/src/coin/celo/utils.d.ts.map +1 -1
  84. package/dist/src/coin/celo/utils.js +3 -3
  85. package/dist/src/coin/cspr/constants.d.ts +19 -0
  86. package/dist/src/coin/cspr/constants.d.ts.map +1 -0
  87. package/dist/src/coin/cspr/constants.js +28 -0
  88. package/dist/src/coin/cspr/delegateBuilder.d.ts +49 -0
  89. package/dist/src/coin/cspr/delegateBuilder.d.ts.map +1 -0
  90. package/dist/src/coin/cspr/delegateBuilder.js +111 -0
  91. package/dist/src/coin/cspr/ifaces.d.ts +69 -0
  92. package/dist/src/coin/cspr/ifaces.d.ts.map +1 -0
  93. package/dist/src/coin/cspr/ifaces.js +3 -0
  94. package/dist/src/coin/cspr/index.d.ts +6 -0
  95. package/dist/src/coin/cspr/index.d.ts.map +1 -0
  96. package/dist/src/coin/cspr/index.js +31 -0
  97. package/dist/src/coin/cspr/keyPair.d.ts +18 -0
  98. package/dist/src/coin/cspr/keyPair.d.ts.map +1 -0
  99. package/dist/src/coin/cspr/keyPair.js +75 -0
  100. package/dist/src/coin/cspr/transaction.d.ts +55 -0
  101. package/dist/src/coin/cspr/transaction.d.ts.map +1 -0
  102. package/dist/src/coin/cspr/transaction.js +227 -0
  103. package/dist/src/coin/cspr/transactionBuilder.d.ts +124 -0
  104. package/dist/src/coin/cspr/transactionBuilder.d.ts.map +1 -0
  105. package/dist/src/coin/cspr/transactionBuilder.js +312 -0
  106. package/dist/src/coin/cspr/transactionBuilderFactory.d.ts +46 -0
  107. package/dist/src/coin/cspr/transactionBuilderFactory.d.ts.map +1 -0
  108. package/dist/src/coin/cspr/transactionBuilderFactory.js +98 -0
  109. package/dist/src/coin/cspr/transferBuilder.d.ts +39 -0
  110. package/dist/src/coin/cspr/transferBuilder.d.ts.map +1 -0
  111. package/dist/src/coin/cspr/transferBuilder.js +106 -0
  112. package/dist/src/coin/cspr/undelegateBuilder.d.ts +49 -0
  113. package/dist/src/coin/cspr/undelegateBuilder.d.ts.map +1 -0
  114. package/dist/src/coin/cspr/undelegateBuilder.js +111 -0
  115. package/dist/src/coin/cspr/utils.d.ts +188 -0
  116. package/dist/src/coin/cspr/utils.d.ts.map +1 -0
  117. package/dist/src/coin/cspr/utils.js +477 -0
  118. package/dist/src/coin/cspr/walletInitializationBuilder.d.ts +27 -0
  119. package/dist/src/coin/cspr/walletInitializationBuilder.d.ts.map +1 -0
  120. package/dist/src/coin/cspr/walletInitializationBuilder.js +95 -0
  121. package/dist/src/coin/etc/index.d.ts +2 -4
  122. package/dist/src/coin/etc/index.d.ts.map +1 -1
  123. package/dist/src/coin/etc/index.js +6 -8
  124. package/dist/src/coin/etc/transactionBuilder.js +3 -3
  125. package/dist/src/coin/etc/transferBuilder.d.ts +1 -1
  126. package/dist/src/coin/etc/transferBuilder.d.ts.map +1 -1
  127. package/dist/src/coin/etc/transferBuilder.js +3 -3
  128. package/dist/src/coin/etc/utils.d.ts +1 -2
  129. package/dist/src/coin/etc/utils.d.ts.map +1 -1
  130. package/dist/src/coin/etc/utils.js +3 -3
  131. package/dist/src/coin/hbar/coinTransferBuilder.d.ts +46 -0
  132. package/dist/src/coin/hbar/coinTransferBuilder.d.ts.map +1 -0
  133. package/dist/src/coin/hbar/coinTransferBuilder.js +143 -0
  134. package/dist/src/coin/hbar/constants.d.ts +8 -0
  135. package/dist/src/coin/hbar/constants.d.ts.map +1 -0
  136. package/dist/src/coin/hbar/constants.js +12 -0
  137. package/dist/src/coin/hbar/iface.d.ts +6 -0
  138. package/dist/src/coin/hbar/iface.d.ts.map +1 -1
  139. package/dist/src/coin/hbar/iface.js +1 -1
  140. package/dist/src/coin/hbar/ifaces.d.ts +26 -0
  141. package/dist/src/coin/hbar/ifaces.d.ts.map +1 -0
  142. package/dist/src/coin/hbar/ifaces.js +3 -0
  143. package/dist/src/coin/hbar/keyPair.js +2 -2
  144. package/dist/src/coin/hbar/tokenAssociateBuilder.d.ts +35 -0
  145. package/dist/src/coin/hbar/tokenAssociateBuilder.d.ts.map +1 -0
  146. package/dist/src/coin/hbar/tokenAssociateBuilder.js +118 -0
  147. package/dist/src/coin/hbar/tokenTransferBuilder.d.ts +25 -0
  148. package/dist/src/coin/hbar/tokenTransferBuilder.d.ts.map +1 -0
  149. package/dist/src/coin/hbar/tokenTransferBuilder.js +115 -0
  150. package/dist/src/coin/hbar/transaction.d.ts +8 -1
  151. package/dist/src/coin/hbar/transaction.d.ts.map +1 -1
  152. package/dist/src/coin/hbar/transaction.js +46 -10
  153. package/dist/src/coin/hbar/transactionBuilder.d.ts +2 -3
  154. package/dist/src/coin/hbar/transactionBuilder.d.ts.map +1 -1
  155. package/dist/src/coin/hbar/transactionBuilder.js +7 -21
  156. package/dist/src/coin/hbar/transactionBuilderFactory.d.ts +13 -3
  157. package/dist/src/coin/hbar/transactionBuilderFactory.d.ts.map +1 -1
  158. package/dist/src/coin/hbar/transactionBuilderFactory.js +28 -17
  159. package/dist/src/coin/hbar/transferBuilder.d.ts +6 -26
  160. package/dist/src/coin/hbar/transferBuilder.d.ts.map +1 -1
  161. package/dist/src/coin/hbar/transferBuilder.js +13 -72
  162. package/dist/src/coin/hbar/utils.d.ts +54 -3
  163. package/dist/src/coin/hbar/utils.d.ts.map +1 -1
  164. package/dist/src/coin/hbar/utils.js +101 -5
  165. package/dist/src/coin/hbar/walletInitializationBuilder.d.ts +1 -1
  166. package/dist/src/coin/hbar/walletInitializationBuilder.d.ts.map +1 -1
  167. package/dist/src/coin/hbar/walletInitializationBuilder.js +7 -7
  168. package/dist/src/coin/polygon/index.d.ts +2 -4
  169. package/dist/src/coin/polygon/index.d.ts.map +1 -1
  170. package/dist/src/coin/polygon/index.js +6 -8
  171. package/dist/src/coin/polygon/transferBuilder.d.ts +1 -1
  172. package/dist/src/coin/polygon/transferBuilder.d.ts.map +1 -1
  173. package/dist/src/coin/polygon/transferBuilder.js +3 -3
  174. package/dist/src/coin/polygon/utils.d.ts +1 -2
  175. package/dist/src/coin/polygon/utils.d.ts.map +1 -1
  176. package/dist/src/coin/polygon/utils.js +3 -3
  177. package/dist/src/coin/rbtc/index.d.ts +2 -4
  178. package/dist/src/coin/rbtc/index.d.ts.map +1 -1
  179. package/dist/src/coin/rbtc/index.js +6 -8
  180. package/dist/src/coin/rbtc/transactionBuilder.js +3 -3
  181. package/dist/src/coin/rbtc/transferBuilder.d.ts +1 -1
  182. package/dist/src/coin/rbtc/transferBuilder.d.ts.map +1 -1
  183. package/dist/src/coin/rbtc/transferBuilder.js +3 -3
  184. package/dist/src/coin/rbtc/utils.d.ts +1 -2
  185. package/dist/src/coin/rbtc/utils.d.ts.map +1 -1
  186. package/dist/src/coin/rbtc/utils.js +3 -3
  187. package/dist/src/index.d.ts +1 -1
  188. package/dist/src/index.d.ts.map +1 -1
  189. package/dist/src/index.js +2 -2
  190. package/dist/tsconfig.tsbuildinfo +4718 -2445
  191. package/package.json +9 -8
@@ -3,9 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TransactionBuilderFactory = void 0;
4
4
  const sdk_core_1 = require("@bitgo/sdk-core");
5
5
  const walletInitializationBuilder_1 = require("./walletInitializationBuilder");
6
- const transferBuilder_1 = require("./transferBuilder");
6
+ const coinTransferBuilder_1 = require("./coinTransferBuilder");
7
7
  const transaction_1 = require("./transaction");
8
8
  const utils_1 = require("./utils");
9
+ const tokenAssociateBuilder_1 = require("./tokenAssociateBuilder");
10
+ const tokenTransferBuilder_1 = require("./tokenTransferBuilder");
9
11
  class TransactionBuilderFactory extends sdk_core_1.BaseTransactionBuilderFactory {
10
12
  constructor(_coinConfig) {
11
13
  super(_coinConfig);
@@ -16,17 +18,33 @@ class TransactionBuilderFactory extends sdk_core_1.BaseTransactionBuilderFactory
16
18
  }
17
19
  /** @inheritDoc */
18
20
  getTransferBuilder(tx) {
19
- return this.initializeBuilder(tx, new transferBuilder_1.TransferBuilder(this._coinConfig));
21
+ return this.initializeBuilder(tx, new coinTransferBuilder_1.CoinTransferBuilder(this._coinConfig));
22
+ }
23
+ /**
24
+ * Returns a specific builder to create a funds token transfer transaction
25
+ */
26
+ getTokenTransferBuilder(tx) {
27
+ return this.initializeBuilder(tx, new tokenTransferBuilder_1.TokenTransferBuilder(this._coinConfig));
28
+ }
29
+ /**
30
+ * Returns a builder to create a token association transaction
31
+ */
32
+ getTokenAssociateBuilder(tx) {
33
+ return this.initializeBuilder(tx, new tokenAssociateBuilder_1.TokenAssociateBuilder(this._coinConfig));
20
34
  }
21
35
  /** @inheritDoc */
22
36
  from(raw) {
23
37
  this.validateRawTransaction(raw);
24
- const tx = this.parseTransaction(raw);
25
- switch (tx.txBody.data) {
26
- case 'cryptoTransfer':
27
- return this.getTransferBuilder(tx);
28
- case 'cryptoCreateAccount':
38
+ const tx = this.parseRawTransaction(raw);
39
+ switch (tx.type) {
40
+ case sdk_core_1.TransactionType.Send:
41
+ return utils_1.isTokenTransfer(tx.txBody.cryptoTransfer)
42
+ ? this.getTokenTransferBuilder(tx)
43
+ : this.getTransferBuilder(tx);
44
+ case sdk_core_1.TransactionType.WalletInitialization:
29
45
  return this.getWalletInitializationBuilder(tx);
46
+ case sdk_core_1.TransactionType.AssociatedTokenAccountInitialization:
47
+ return this.getTokenAssociateBuilder(tx);
30
48
  default:
31
49
  throw new sdk_core_1.InvalidTransactionError('Invalid transaction ' + tx.txBody.data);
32
50
  }
@@ -50,16 +68,9 @@ class TransactionBuilderFactory extends sdk_core_1.BaseTransactionBuilderFactory
50
68
  * @param {Uint8Array | string} rawTransaction - encoded transaction
51
69
  * @returns {Transaction} the parsed transaction instance
52
70
  */
53
- parseTransaction(rawTransaction) {
71
+ parseRawTransaction(rawTransaction) {
54
72
  const tx = new transaction_1.Transaction(this._coinConfig);
55
- let buffer;
56
- if (typeof rawTransaction === 'string') {
57
- buffer = utils_1.toUint8Array(rawTransaction);
58
- }
59
- else {
60
- buffer = rawTransaction;
61
- }
62
- tx.bodyBytes(buffer);
73
+ tx.fromRawTransaction(rawTransaction);
63
74
  return tx;
64
75
  }
65
76
  /**
@@ -74,4 +85,4 @@ class TransactionBuilderFactory extends sdk_core_1.BaseTransactionBuilderFactory
74
85
  }
75
86
  }
76
87
  exports.TransactionBuilderFactory = TransactionBuilderFactory;
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb2luL2hiYXIvdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSw4Q0FBZ0g7QUFDaEgsK0VBQTRFO0FBQzVFLHVEQUFvRDtBQUVwRCwrQ0FBNEM7QUFDNUMsbUNBQW9FO0FBRXBFLE1BQWEseUJBQTBCLFNBQVEsd0NBQTZCO0lBQzFFLFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsOEJBQThCLENBQUMsRUFBZ0I7UUFDN0MsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLElBQUkseURBQTJCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDdkYsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixrQkFBa0IsQ0FBQyxFQUFnQjtRQUNqQyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsSUFBSSxpQ0FBZSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsSUFBSSxDQUFDLEdBQXdCO1FBQzNCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdEMsUUFBUSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRTtZQUN0QixLQUFLLGdCQUFnQjtnQkFDbkIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDckMsS0FBSyxxQkFBcUI7Z0JBQ3hCLE9BQU8sSUFBSSxDQUFDLDhCQUE4QixDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2pEO2dCQUNFLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyxzQkFBc0IsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzlFO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNLLGlCQUFpQixDQUErQixFQUEyQixFQUFFLE9BQVU7UUFDN0YsSUFBSSxFQUFFLEVBQUU7WUFDTixPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ3pCO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ssZ0JBQWdCLENBQUMsY0FBbUM7UUFDMUQsTUFBTSxFQUFFLEdBQUcsSUFBSSx5QkFBVyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM3QyxJQUFJLE1BQU0sQ0FBQztRQUNYLElBQUksT0FBTyxjQUFjLEtBQUssUUFBUSxFQUFFO1lBQ3RDLE1BQU0sR0FBRyxvQkFBWSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQ3ZDO2FBQU07WUFDTCxNQUFNLEdBQUcsY0FBYyxDQUFDO1NBQ3pCO1FBQ0QsRUFBRSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNyQixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssc0JBQXNCLENBQUMsY0FBbUI7UUFDaEQsSUFBSSxDQUFDLG1DQUEyQixDQUFDLGNBQWMsQ0FBQyxFQUFFO1lBQ2hELE1BQU0sSUFBSSxnQ0FBcUIsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1NBQzVEO0lBQ0gsQ0FBQztDQUNGO0FBdkVELDhEQXVFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5pbXBvcnQgeyBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSwgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IsIFBhcnNlVHJhbnNhY3Rpb25FcnJvciB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBXYWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3dhbGxldEluaXRpYWxpemF0aW9uQnVpbGRlcic7XG5pbXBvcnQgeyBUcmFuc2ZlckJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zZmVyQnVpbGRlcic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgaXNWYWxpZFJhd1RyYW5zYWN0aW9uRm9ybWF0LCB0b1VpbnQ4QXJyYXkgfSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkgZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSB7XG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBnZXRXYWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXIodHg/OiBUcmFuc2FjdGlvbik6IFdhbGxldEluaXRpYWxpemF0aW9uQnVpbGRlciB7XG4gICAgcmV0dXJuIHRoaXMuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBXYWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIGdldFRyYW5zZmVyQnVpbGRlcih0eD86IFRyYW5zYWN0aW9uKTogVHJhbnNmZXJCdWlsZGVyIHtcbiAgICByZXR1cm4gdGhpcy5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IFRyYW5zZmVyQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKSk7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgZnJvbShyYXc6IFVpbnQ4QXJyYXkgfCBzdHJpbmcpOiBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICAgIHRoaXMudmFsaWRhdGVSYXdUcmFuc2FjdGlvbihyYXcpO1xuICAgIGNvbnN0IHR4ID0gdGhpcy5wYXJzZVRyYW5zYWN0aW9uKHJhdyk7XG4gICAgc3dpdGNoICh0eC50eEJvZHkuZGF0YSkge1xuICAgICAgY2FzZSAnY3J5cHRvVHJhbnNmZXInOlxuICAgICAgICByZXR1cm4gdGhpcy5nZXRUcmFuc2ZlckJ1aWxkZXIodHgpO1xuICAgICAgY2FzZSAnY3J5cHRvQ3JlYXRlQWNjb3VudCc6XG4gICAgICAgIHJldHVybiB0aGlzLmdldFdhbGxldEluaXRpYWxpemF0aW9uQnVpbGRlcih0eCk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgdHJhbnNhY3Rpb24gJyArIHR4LnR4Qm9keS5kYXRhKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSB0aGUgYnVpbGRlciB3aXRoIHRoZSBnaXZlbiB0cmFuc2FjdGlvblxuICAgKlxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9uIHwgdW5kZWZpbmVkfSB0eCAtIHRoZSB0cmFuc2FjdGlvbiB1c2VkIHRvIGluaXRpYWxpemUgdGhlIGJ1aWxkZXJcbiAgICogQHBhcmFtIHtUcmFuc2FjdGlvbkJ1aWxkZXJ9IGJ1aWxkZXIgLSB0aGUgYnVpbGRlciB0byBiZSBpbml0aWFsaXplZFxuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25CdWlsZGVyfSB0aGUgYnVpbGRlciBpbml0aWFsaXplZFxuICAgKi9cbiAgcHJpdmF0ZSBpbml0aWFsaXplQnVpbGRlcjxUIGV4dGVuZHMgVHJhbnNhY3Rpb25CdWlsZGVyPih0eDogVHJhbnNhY3Rpb24gfCB1bmRlZmluZWQsIGJ1aWxkZXI6IFQpOiBUIHtcbiAgICBpZiAodHgpIHtcbiAgICAgIGJ1aWxkZXIuaW5pdEJ1aWxkZXIodHgpO1xuICAgIH1cbiAgICByZXR1cm4gYnVpbGRlcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgdHJhbnNhY3Rpb24gaW5zdGFuY2UgZnJvbSB0aGUgZW5jb2RlZCB2YWx1ZVxuICAgKlxuICAgKiBAcGFyYW0ge1VpbnQ4QXJyYXkgfCBzdHJpbmd9IHJhd1RyYW5zYWN0aW9uIC0gZW5jb2RlZCB0cmFuc2FjdGlvblxuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb259IHRoZSBwYXJzZWQgdHJhbnNhY3Rpb24gaW5zdGFuY2VcbiAgICovXG4gIHByaXZhdGUgcGFyc2VUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbjogVWludDhBcnJheSB8IHN0cmluZyk6IFRyYW5zYWN0aW9uIHtcbiAgICBjb25zdCB0eCA9IG5ldyBUcmFuc2FjdGlvbih0aGlzLl9jb2luQ29uZmlnKTtcbiAgICBsZXQgYnVmZmVyO1xuICAgIGlmICh0eXBlb2YgcmF3VHJhbnNhY3Rpb24gPT09ICdzdHJpbmcnKSB7XG4gICAgICBidWZmZXIgPSB0b1VpbnQ4QXJyYXkocmF3VHJhbnNhY3Rpb24pO1xuICAgIH0gZWxzZSB7XG4gICAgICBidWZmZXIgPSByYXdUcmFuc2FjdGlvbjtcbiAgICB9XG4gICAgdHguYm9keUJ5dGVzKGJ1ZmZlcik7XG4gICAgcmV0dXJuIHR4O1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIHRoZSByYXcgdHJhbnNhY3Rpb24gaGFzIGEgdmFsaWQgZm9ybWF0IGluIHRoZSBibG9ja2NoYWluIGNvbnRleHQsIHRocm93IG90aGVyd2lzZS5cbiAgICpcbiAgICogQHBhcmFtIHthbnl9IHJhd1RyYW5zYWN0aW9uIC0gVHJhbnNhY3Rpb24gaW4gYW55IGZvcm1hdFxuICAgKi9cbiAgcHJpdmF0ZSB2YWxpZGF0ZVJhd1RyYW5zYWN0aW9uKHJhd1RyYW5zYWN0aW9uOiBhbnkpIHtcbiAgICBpZiAoIWlzVmFsaWRSYXdUcmFuc2FjdGlvbkZvcm1hdChyYXdUcmFuc2FjdGlvbikpIHtcbiAgICAgIHRocm93IG5ldyBQYXJzZVRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgcmF3IHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICB9XG59XG4iXX0=
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb2luL2hiYXIvdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSw4Q0FLeUI7QUFDekIsK0VBQTRFO0FBQzVFLCtEQUE0RDtBQUU1RCwrQ0FBNEM7QUFDNUMsbUNBQXVFO0FBQ3ZFLG1FQUFnRTtBQUNoRSxpRUFBOEQ7QUFFOUQsTUFBYSx5QkFBMEIsU0FBUSx3Q0FBNkI7SUFDMUUsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVELGtCQUFrQjtJQUNsQiw4QkFBOEIsQ0FBQyxFQUFnQjtRQUM3QyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsSUFBSSx5REFBMkIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUN2RixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLGtCQUFrQixDQUFDLEVBQWdCO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxJQUFJLHlDQUFtQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFFRDs7T0FFRztJQUNILHVCQUF1QixDQUFDLEVBQWdCO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxJQUFJLDJDQUFvQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFFRDs7T0FFRztJQUNILHdCQUF3QixDQUFDLEVBQWdCO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxJQUFJLDZDQUFxQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ2pGLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsSUFBSSxDQUFDLEdBQXdCO1FBQzNCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekMsUUFBUSxFQUFFLENBQUMsSUFBSSxFQUFFO1lBQ2YsS0FBSywwQkFBZSxDQUFDLElBQUk7Z0JBQ3ZCLE9BQU8sdUJBQWUsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLGNBQWUsQ0FBQztvQkFDL0MsQ0FBQyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxFQUFFLENBQUM7b0JBQ2xDLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDbEMsS0FBSywwQkFBZSxDQUFDLG9CQUFvQjtnQkFDdkMsT0FBTyxJQUFJLENBQUMsOEJBQThCLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDakQsS0FBSywwQkFBZSxDQUFDLG9DQUFvQztnQkFDdkQsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDM0M7Z0JBQ0UsTUFBTSxJQUFJLGtDQUF1QixDQUFDLHNCQUFzQixHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDOUU7SUFDSCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ssaUJBQWlCLENBQStCLEVBQTJCLEVBQUUsT0FBVTtRQUM3RixJQUFJLEVBQUUsRUFBRTtZQUNOLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDekI7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSyxtQkFBbUIsQ0FBQyxjQUFtQztRQUM3RCxNQUFNLEVBQUUsR0FBRyxJQUFJLHlCQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzdDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN0QyxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssc0JBQXNCLENBQUMsY0FBbUM7UUFDaEUsSUFBSSxDQUFDLG1DQUEyQixDQUFDLGNBQWMsQ0FBQyxFQUFFO1lBQ2hELE1BQU0sSUFBSSxnQ0FBcUIsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1NBQzVEO0lBQ0gsQ0FBQztDQUNGO0FBbkZELDhEQW1GQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5pbXBvcnQge1xuICBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IsXG4gIFBhcnNlVHJhbnNhY3Rpb25FcnJvcixcbiAgVHJhbnNhY3Rpb25UeXBlLFxufSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0IHsgV2FsbGV0SW5pdGlhbGl6YXRpb25CdWlsZGVyIH0gZnJvbSAnLi93YWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHsgQ29pblRyYW5zZmVyQnVpbGRlciB9IGZyb20gJy4vY29pblRyYW5zZmVyQnVpbGRlcic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgaXNUb2tlblRyYW5zZmVyLCBpc1ZhbGlkUmF3VHJhbnNhY3Rpb25Gb3JtYXQgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IFRva2VuQXNzb2NpYXRlQnVpbGRlciB9IGZyb20gJy4vdG9rZW5Bc3NvY2lhdGVCdWlsZGVyJztcbmltcG9ydCB7IFRva2VuVHJhbnNmZXJCdWlsZGVyIH0gZnJvbSAnLi90b2tlblRyYW5zZmVyQnVpbGRlcic7XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uQnVpbGRlckZhY3Rvcnkge1xuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZ2V0V2FsbGV0SW5pdGlhbGl6YXRpb25CdWlsZGVyKHR4PzogVHJhbnNhY3Rpb24pOiBXYWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXIge1xuICAgIHJldHVybiB0aGlzLmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgV2FsbGV0SW5pdGlhbGl6YXRpb25CdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBnZXRUcmFuc2ZlckJ1aWxkZXIodHg/OiBUcmFuc2FjdGlvbik6IENvaW5UcmFuc2ZlckJ1aWxkZXIge1xuICAgIHJldHVybiB0aGlzLmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgQ29pblRyYW5zZmVyQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIHNwZWNpZmljIGJ1aWxkZXIgdG8gY3JlYXRlIGEgZnVuZHMgdG9rZW4gdHJhbnNmZXIgdHJhbnNhY3Rpb25cbiAgICovXG4gIGdldFRva2VuVHJhbnNmZXJCdWlsZGVyKHR4PzogVHJhbnNhY3Rpb24pOiBUb2tlblRyYW5zZmVyQnVpbGRlciB7XG4gICAgcmV0dXJuIHRoaXMuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBUb2tlblRyYW5zZmVyQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIGJ1aWxkZXIgdG8gY3JlYXRlIGEgdG9rZW4gYXNzb2NpYXRpb24gdHJhbnNhY3Rpb25cbiAgICovXG4gIGdldFRva2VuQXNzb2NpYXRlQnVpbGRlcih0eD86IFRyYW5zYWN0aW9uKTogVG9rZW5Bc3NvY2lhdGVCdWlsZGVyIHtcbiAgICByZXR1cm4gdGhpcy5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IFRva2VuQXNzb2NpYXRlQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKSk7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgZnJvbShyYXc6IFVpbnQ4QXJyYXkgfCBzdHJpbmcpOiBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICAgIHRoaXMudmFsaWRhdGVSYXdUcmFuc2FjdGlvbihyYXcpO1xuICAgIGNvbnN0IHR4ID0gdGhpcy5wYXJzZVJhd1RyYW5zYWN0aW9uKHJhdyk7XG4gICAgc3dpdGNoICh0eC50eXBlKSB7XG4gICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5TZW5kOlxuICAgICAgICByZXR1cm4gaXNUb2tlblRyYW5zZmVyKHR4LnR4Qm9keS5jcnlwdG9UcmFuc2ZlciEpXG4gICAgICAgICAgPyB0aGlzLmdldFRva2VuVHJhbnNmZXJCdWlsZGVyKHR4KVxuICAgICAgICAgIDogdGhpcy5nZXRUcmFuc2ZlckJ1aWxkZXIodHgpO1xuICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuV2FsbGV0SW5pdGlhbGl6YXRpb246XG4gICAgICAgIHJldHVybiB0aGlzLmdldFdhbGxldEluaXRpYWxpemF0aW9uQnVpbGRlcih0eCk7XG4gICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5Bc3NvY2lhdGVkVG9rZW5BY2NvdW50SW5pdGlhbGl6YXRpb246XG4gICAgICAgIHJldHVybiB0aGlzLmdldFRva2VuQXNzb2NpYXRlQnVpbGRlcih0eCk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgdHJhbnNhY3Rpb24gJyArIHR4LnR4Qm9keS5kYXRhKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSB0aGUgYnVpbGRlciB3aXRoIHRoZSBnaXZlbiB0cmFuc2FjdGlvblxuICAgKlxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9uIHwgdW5kZWZpbmVkfSB0eCAtIHRoZSB0cmFuc2FjdGlvbiB1c2VkIHRvIGluaXRpYWxpemUgdGhlIGJ1aWxkZXJcbiAgICogQHBhcmFtIHtUcmFuc2FjdGlvbkJ1aWxkZXJ9IGJ1aWxkZXIgLSB0aGUgYnVpbGRlciB0byBiZSBpbml0aWFsaXplZFxuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25CdWlsZGVyfSB0aGUgYnVpbGRlciBpbml0aWFsaXplZFxuICAgKi9cbiAgcHJpdmF0ZSBpbml0aWFsaXplQnVpbGRlcjxUIGV4dGVuZHMgVHJhbnNhY3Rpb25CdWlsZGVyPih0eDogVHJhbnNhY3Rpb24gfCB1bmRlZmluZWQsIGJ1aWxkZXI6IFQpOiBUIHtcbiAgICBpZiAodHgpIHtcbiAgICAgIGJ1aWxkZXIuaW5pdEJ1aWxkZXIodHgpO1xuICAgIH1cbiAgICByZXR1cm4gYnVpbGRlcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgdHJhbnNhY3Rpb24gaW5zdGFuY2UgZnJvbSB0aGUgZW5jb2RlZCB2YWx1ZVxuICAgKlxuICAgKiBAcGFyYW0ge1VpbnQ4QXJyYXkgfCBzdHJpbmd9IHJhd1RyYW5zYWN0aW9uIC0gZW5jb2RlZCB0cmFuc2FjdGlvblxuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb259IHRoZSBwYXJzZWQgdHJhbnNhY3Rpb24gaW5zdGFuY2VcbiAgICovXG4gIHByaXZhdGUgcGFyc2VSYXdUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbjogVWludDhBcnJheSB8IHN0cmluZyk6IFRyYW5zYWN0aW9uIHtcbiAgICBjb25zdCB0eCA9IG5ldyBUcmFuc2FjdGlvbih0aGlzLl9jb2luQ29uZmlnKTtcbiAgICB0eC5mcm9tUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb24pO1xuICAgIHJldHVybiB0eDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayB0aGUgcmF3IHRyYW5zYWN0aW9uIGhhcyBhIHZhbGlkIGZvcm1hdCBpbiB0aGUgYmxvY2tjaGFpbiBjb250ZXh0LCB0aHJvdyBvdGhlcndpc2UuXG4gICAqXG4gICAqIEBwYXJhbSB7YW55fSByYXdUcmFuc2FjdGlvbiAtIFRyYW5zYWN0aW9uIGluIGFueSBmb3JtYXRcbiAgICovXG4gIHByaXZhdGUgdmFsaWRhdGVSYXdUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbjogVWludDhBcnJheSB8IHN0cmluZykge1xuICAgIGlmICghaXNWYWxpZFJhd1RyYW5zYWN0aW9uRm9ybWF0KHJhd1RyYW5zYWN0aW9uKSkge1xuICAgICAgdGhyb3cgbmV3IFBhcnNlVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCByYXcgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,44 +1,24 @@
1
1
  import { BaseCoin as CoinConfig } from '@bitgo/statics';
2
2
  import * as proto from '@hashgraph/proto';
3
3
  import { BaseKey } from '@bitgo/sdk-core';
4
+ import { Recipient } from './iface';
4
5
  import { TransactionBuilder } from './transactionBuilder';
5
6
  import { Transaction } from './transaction';
6
7
  export declare class TransferBuilder extends TransactionBuilder {
7
- private readonly _txBodyData;
8
- private _toAddress;
9
- private _amount;
8
+ protected readonly _txBodyData: proto.CryptoTransferTransactionBody;
9
+ protected _recipients: Recipient[];
10
10
  constructor(_coinConfig: Readonly<CoinConfig>);
11
11
  /** @inheritdoc */
12
12
  protected buildImplementation(): Promise<Transaction>;
13
- private buildTransferData;
14
- static buildAccountData(address: string): proto.AccountID;
15
- /** @inheritdoc */
16
- initBuilder(tx: Transaction): void;
17
- /**
18
- * Initialize the transfer specific data, getting the recipient account
19
- * represented by the element with a positive amount on the transfer element.
20
- * The negative amount represents the source account, so it's ignored.
21
- *
22
- * @param {proto} transfers - Array of objects which contains accountID and transferred amount
23
- */
24
- protected initTransfers(transfers: proto.IAccountAmount[]): void;
25
13
  /** @inheritdoc */
26
14
  protected signImplementation(key: BaseKey): Transaction;
27
15
  /**
28
- * Set the destination address where the funds will be sent,
29
- * it may take the format `'<shard>.<realm>.<account>'` or `'<account>'`
30
- *
31
- * @param {string} address - The address to transfer funds to
32
- * @returns {TransferBuilder} - The builder with the new parameter set
33
- */
34
- to(address: string): this;
35
- /**
36
- * Set the amount to be transferred
16
+ * Set the recipient to be transferred
37
17
  *
38
- * @param {string} amount - Amount to transfer in tinyBars (there are 100,000,000 tinyBars in one Hbar)
18
+ * @param {Recipient} recipient - recipient to transfer consisting destination address and amount
39
19
  * @returns {TransferBuilder} - The builder with the new parameter set
40
20
  */
41
- amount(amount: string): this;
21
+ send(recipient: Recipient): this;
42
22
  validateMandatoryFields(): void;
43
23
  }
44
24
  //# sourceMappingURL=transferBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transferBuilder.d.ts","sourceRoot":"","sources":["../../../../src/coin/hbar/transferBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGxD,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EACL,OAAO,EAKR,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,kBAAkB,EAAa,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,qBAAa,eAAgB,SAAQ,kBAAkB;IACrD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsC;IAClE,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,OAAO,CAAS;gBAEZ,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAM7C,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;IAM3D,OAAO,CAAC,iBAAiB;IAYzB,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS;IASzD,kBAAkB;IAClB,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IASlC;;;;;;OAMG;IACH,SAAS,CAAC,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,EAAE,GAAG,IAAI;IAUhE,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,WAAW;IAQvD;;;;;;OAMG;IACH,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAQzB;;;;;OAKG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAW5B,uBAAuB,IAAI,IAAI;CAUhC"}
1
+ {"version":3,"file":"transferBuilder.d.ts","sourceRoot":"","sources":["../../../../src/coin/hbar/transferBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EACL,OAAO,EAKR,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAI5C,qBAAa,eAAgB,SAAQ,kBAAkB;IACrD,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,6BAA6B,CAAC;IACpE,SAAS,CAAC,WAAW,EAAE,SAAS,EAAE,CAAC;gBAEvB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAO7C,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;IAK3D,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,WAAW;IAQvD;;;;;OAKG;IACH,IAAI,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAahC,uBAAuB,IAAI,IAAI;CAOhC"}
@@ -20,114 +20,55 @@ var __importStar = (this && this.__importStar) || function (mod) {
20
20
  };
21
21
  Object.defineProperty(exports, "__esModule", { value: true });
22
22
  exports.TransferBuilder = void 0;
23
- const Long = __importStar(require("long"));
24
- const sdk_1 = require("@hashgraph/sdk");
25
23
  const proto = __importStar(require("@hashgraph/proto"));
26
24
  const sdk_core_1 = require("@bitgo/sdk-core");
27
25
  const transactionBuilder_1 = require("./transactionBuilder");
28
26
  const utils_1 = require("./utils");
27
+ const constants_1 = require("./constants");
29
28
  class TransferBuilder extends transactionBuilder_1.TransactionBuilder {
30
29
  constructor(_coinConfig) {
31
30
  super(_coinConfig);
32
31
  this._txBodyData = new proto.CryptoTransferTransactionBody();
33
32
  this._txBody.cryptoTransfer = this._txBodyData;
33
+ this._recipients = [];
34
34
  }
35
35
  /** @inheritdoc */
36
36
  async buildImplementation() {
37
- this._txBodyData.transfers = this.buildTransferData();
38
37
  this.transaction.setTransactionType(sdk_core_1.TransactionType.Send);
39
38
  return await super.buildImplementation();
40
39
  }
41
- buildTransferData() {
42
- return {
43
- accountAmounts: [
44
- {
45
- accountID: TransferBuilder.buildAccountData(this._source.address),
46
- amount: Long.fromString(this._amount).negate(),
47
- },
48
- { accountID: TransferBuilder.buildAccountData(this._toAddress), amount: Long.fromString(this._amount) }, // recipient
49
- ],
50
- };
51
- }
52
- static buildAccountData(address) {
53
- const accountData = sdk_1.AccountId.fromString(address);
54
- return new proto.AccountID({
55
- accountNum: accountData.num,
56
- realmNum: accountData.realm,
57
- shardNum: accountData.shard,
58
- });
59
- }
60
- /** @inheritdoc */
61
- initBuilder(tx) {
62
- super.initBuilder(tx);
63
- this.transaction.setTransactionType(sdk_core_1.TransactionType.Send);
64
- const transferData = tx.txBody.cryptoTransfer;
65
- if (transferData && transferData.transfers && transferData.transfers.accountAmounts) {
66
- this.initTransfers(transferData.transfers.accountAmounts);
67
- }
68
- }
69
- /**
70
- * Initialize the transfer specific data, getting the recipient account
71
- * represented by the element with a positive amount on the transfer element.
72
- * The negative amount represents the source account, so it's ignored.
73
- *
74
- * @param {proto} transfers - Array of objects which contains accountID and transferred amount
75
- */
76
- initTransfers(transfers) {
77
- transfers.forEach((transferData) => {
78
- const amount = Long.fromValue(transferData.amount);
79
- if (amount.isPositive()) {
80
- this.to(utils_1.stringifyAccountId(transferData.accountID));
81
- this.amount(amount.toString());
82
- }
83
- });
84
- }
85
40
  /** @inheritdoc */
86
41
  signImplementation(key) {
87
- if (this._multiSignerKeyPairs.length >= transactionBuilder_1.DEFAULT_M) {
88
- throw new sdk_core_1.SigningError('A maximum of ' + transactionBuilder_1.DEFAULT_M + ' can sign the transaction.');
42
+ if (this._multiSignerKeyPairs.length >= constants_1.DEFAULT_SIGNER_NUMBER) {
43
+ throw new sdk_core_1.SigningError('A maximum of ' + constants_1.DEFAULT_SIGNER_NUMBER + ' can sign the transaction.');
89
44
  }
90
45
  return super.signImplementation(key);
91
46
  }
92
47
  // region Transfer fields
93
48
  /**
94
- * Set the destination address where the funds will be sent,
95
- * it may take the format `'<shard>.<realm>.<account>'` or `'<account>'`
49
+ * Set the recipient to be transferred
96
50
  *
97
- * @param {string} address - The address to transfer funds to
51
+ * @param {Recipient} recipient - recipient to transfer consisting destination address and amount
98
52
  * @returns {TransferBuilder} - The builder with the new parameter set
99
53
  */
100
- to(address) {
101
- if (!utils_1.isValidAddress(address)) {
54
+ send(recipient) {
55
+ if (!utils_1.isValidAddress(recipient.address)) {
102
56
  throw new sdk_core_1.InvalidParameterValueError('Invalid address');
103
57
  }
104
- this._toAddress = address;
105
- return this;
106
- }
107
- /**
108
- * Set the amount to be transferred
109
- *
110
- * @param {string} amount - Amount to transfer in tinyBars (there are 100,000,000 tinyBars in one Hbar)
111
- * @returns {TransferBuilder} - The builder with the new parameter set
112
- */
113
- amount(amount) {
114
- if (!utils_1.isValidAmount(amount)) {
58
+ if (!utils_1.isValidAmount(recipient.amount)) {
115
59
  throw new sdk_core_1.InvalidParameterValueError('Invalid amount');
116
60
  }
117
- this._amount = amount;
61
+ this._recipients.push(recipient);
118
62
  return this;
119
63
  }
120
64
  // endregion
121
65
  // region Validators
122
66
  validateMandatoryFields() {
123
- if (this._toAddress === undefined) {
124
- throw new sdk_core_1.BuildTransactionError('Invalid transaction: missing to');
125
- }
126
- if (this._amount === undefined) {
127
- throw new sdk_core_1.BuildTransactionError('Invalid transaction: missing amount');
67
+ if (this._recipients.length === 0) {
68
+ throw new sdk_core_1.BuildTransactionError('Invalid transaction: missing recipients');
128
69
  }
129
70
  super.validateMandatoryFields();
130
71
  }
131
72
  }
132
73
  exports.TransferBuilder = TransferBuilder;
133
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvaW4vaGJhci90cmFuc2ZlckJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLDJDQUE2QjtBQUM3Qix3Q0FBMkM7QUFDM0Msd0RBQTBDO0FBQzFDLDhDQU15QjtBQUN6Qiw2REFBcUU7QUFFckUsbUNBQTRFO0FBRTVFLE1BQWEsZUFBZ0IsU0FBUSx1Q0FBa0I7SUFLckQsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsRUFBRSxDQUFDO1FBQzdELElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDakQsQ0FBQztJQUVELGtCQUFrQjtJQUNSLEtBQUssQ0FBQyxtQkFBbUI7UUFDakMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDdEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQywwQkFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFELE9BQU8sTUFBTSxLQUFLLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLE9BQU87WUFDTCxjQUFjLEVBQUU7Z0JBQ2Q7b0JBQ0UsU0FBUyxFQUFFLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztvQkFDakUsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRTtpQkFDL0M7Z0JBQ0QsRUFBRSxTQUFTLEVBQUUsZUFBZSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxV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S0FBSyxTQUFTLEVBQUU7WUFDOUIsTUFBTSxJQUFJLGdDQUFxQixDQUFDLHFDQUFxQyxDQUFDLENBQUM7U0FDeEU7UUFDRCxLQUFLLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0NBRUY7QUFySEQsMENBcUhDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcbmltcG9ydCAqIGFzIExvbmcgZnJvbSAnbG9uZyc7XG5pbXBvcnQgeyBBY2NvdW50SWQgfSBmcm9tICdAaGFzaGdyYXBoL3Nkayc7XG5pbXBvcnQgKiBhcyBwcm90byBmcm9tICdAaGFzaGdyYXBoL3Byb3RvJztcbmltcG9ydCB7XG4gIEJhc2VLZXksXG4gIEJ1aWxkVHJhbnNhY3Rpb25FcnJvcixcbiAgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3IsXG4gIFNpZ25pbmdFcnJvcixcbiAgVHJhbnNhY3Rpb25UeXBlLFxufSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyLCBERUZBVUxUX00gfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgaXNWYWxpZEFkZHJlc3MsIGlzVmFsaWRBbW91bnQsIHN0cmluZ2lmeUFjY291bnRJZCB9IGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgY2xhc3MgVHJhbnNmZXJCdWlsZGVyIGV4dGVuZHMgVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgcHJpdmF0ZSByZWFkb25seSBfdHhCb2R5RGF0YTogcHJvdG8uQ3J5cHRvVHJhbnNmZXJUcmFuc2FjdGlvbkJvZHk7XG4gIHByaXZhdGUgX3RvQWRkcmVzczogc3RyaW5nO1xuICBwcml2YXRlIF9hbW91bnQ6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gICAgdGhpcy5fdHhCb2R5RGF0YSA9IG5ldyBwcm90by5DcnlwdG9UcmFuc2ZlclRyYW5zYWN0aW9uQm9keSgpO1xuICAgIHRoaXMuX3R4Qm9keS5jcnlwdG9UcmFuc2ZlciA9IHRoaXMuX3R4Qm9keURhdGE7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGJ1aWxkSW1wbGVtZW50YXRpb24oKTogUHJvbWlzZTxUcmFuc2FjdGlvbj4ge1xuICAgIHRoaXMuX3R4Qm9keURhdGEudHJhbnNmZXJzID0gdGhpcy5idWlsZFRyYW5zZmVyRGF0YSgpO1xuICAgIHRoaXMudHJhbnNhY3Rpb24uc2V0VHJhbnNhY3Rpb25UeXBlKFRyYW5zYWN0aW9uVHlwZS5TZW5kKTtcbiAgICByZXR1cm4gYXdhaXQgc3VwZXIuYnVpbGRJbXBsZW1lbnRhdGlvbigpO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZFRyYW5zZmVyRGF0YSgpOiBwcm90by5JVHJhbnNmZXJMaXN0IHtcbiAgICByZXR1cm4ge1xuICAgICAgYWNjb3VudEFtb3VudHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGFjY291bnRJRDogVHJhbnNmZXJCdWlsZGVyLmJ1aWxkQWNjb3VudERhdGEodGhpcy5fc291cmNlLmFkZHJlc3MpLFxuICAgICAgICAgIGFtb3VudDogTG9uZy5mcm9tU3RyaW5nKHRoaXMuX2Ftb3VudCkubmVnYXRlKCksXG4gICAgICAgIH0sIC8vIHNlbmRlclxuICAgICAgICB7IGFjY291bnRJRDogVHJhbnNmZXJCdWlsZGVyLmJ1aWxkQWNjb3VudERhdGEodGhpcy5fdG9BZGRyZXNzKSwgYW1vdW50OiBMb25nLmZyb21TdHJpbmcodGhpcy5fYW1vdW50KSB9LCAvLyByZWNpcGllbnRcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxuXG4gIHN0YXRpYyBidWlsZEFjY291bnREYXRhKGFkZHJlc3M6IHN0cmluZyk6IHByb3RvLkFjY291bnRJRCB7XG4gICAgY29uc3QgYWNjb3VudERhdGEgPSBBY2NvdW50SWQuZnJvbVN0cmluZyhhZGRyZXNzKTtcbiAgICByZXR1cm4gbmV3IHByb3RvLkFjY291bnRJRCh7XG4gICAgICBhY2NvdW50TnVtOiBhY2NvdW50RGF0YS5udW0sXG4gICAgICByZWFsbU51bTogYWNjb3VudERhdGEucmVhbG0sXG4gICAgICBzaGFyZE51bTogYWNjb3VudERhdGEuc2hhcmQsXG4gICAgfSk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgaW5pdEJ1aWxkZXIodHg6IFRyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgc3VwZXIuaW5pdEJ1aWxkZXIodHgpO1xuICAgIHRoaXMudHJhbnNhY3Rpb24uc2V0VHJhbnNhY3Rpb25UeXBlKFRyYW5zYWN0aW9uVHlwZS5TZW5kKTtcbiAgICBjb25zdCB0cmFuc2ZlckRhdGEgPSB0eC50eEJvZHkuY3J5cHRvVHJhbnNmZXI7XG4gICAgaWYgKHRyYW5zZmVyRGF0YSAmJiB0cmFuc2ZlckRhdGEudHJhbnNmZXJzICYmIHRyYW5zZmVyRGF0YS50cmFuc2ZlcnMuYWNjb3VudEFtb3VudHMpIHtcbiAgICAgIHRoaXMuaW5pdFRyYW5zZmVycyh0cmFuc2ZlckRhdGEudHJhbnNmZXJzLmFjY291bnRBbW91bnRzKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSB0aGUgdHJhbnNmZXIgc3BlY2lmaWMgZGF0YSwgZ2V0dGluZyB0aGUgcmVjaXBpZW50IGFjY291bnRcbiAgICogcmVwcmVzZW50ZWQgYnkgdGhlIGVsZW1lbnQgd2l0aCBhIHBvc2l0aXZlIGFtb3VudCBvbiB0aGUgdHJhbnNmZXIgZWxlbWVudC5cbiAgICogVGhlIG5lZ2F0aXZlIGFtb3VudCByZXByZXNlbnRzIHRoZSBzb3VyY2UgYWNjb3VudCwgc28gaXQncyBpZ25vcmVkLlxuICAgKlxuICAgKiBAcGFyYW0ge3Byb3RvfSB0cmFuc2ZlcnMgLSBBcnJheSBvZiBvYmplY3RzIHdoaWNoIGNvbnRhaW5zIGFjY291bnRJRCBhbmQgdHJhbnNmZXJyZWQgYW1vdW50XG4gICAqL1xuICBwcm90ZWN0ZWQgaW5pdFRyYW5zZmVycyh0cmFuc2ZlcnM6IHByb3RvLklBY2NvdW50QW1vdW50W10pOiB2b2lkIHtcbiAgICB0cmFuc2ZlcnMuZm9yRWFjaCgodHJhbnNmZXJEYXRhKSA9PiB7XG4gICAgICBjb25zdCBhbW91bnQgPSBMb25nLmZyb21WYWx1ZSh0cmFuc2ZlckRhdGEuYW1vdW50ISk7XG4gICAgICBpZiAoYW1vdW50LmlzUG9zaXRpdmUoKSkge1xuICAgICAgICB0aGlzLnRvKHN0cmluZ2lmeUFjY291bnRJZCh0cmFuc2ZlckRhdGEuYWNjb3VudElEISkpO1xuICAgICAgICB0aGlzLmFtb3VudChhbW91bnQudG9TdHJpbmcoKSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIHNpZ25JbXBsZW1lbnRhdGlvbihrZXk6IEJhc2VLZXkpOiBUcmFuc2FjdGlvbiB7XG4gICAgaWYgKHRoaXMuX211bHRpU2lnbmVyS2V5UGFpcnMubGVuZ3RoID49IERFRkFVTFRfTSkge1xuICAgICAgdGhyb3cgbmV3IFNpZ25pbmdFcnJvcignQSBtYXhpbXVtIG9mICcgKyBERUZBVUxUX00gKyAnIGNhbiBzaWduIHRoZSB0cmFuc2FjdGlvbi4nKTtcbiAgICB9XG4gICAgcmV0dXJuIHN1cGVyLnNpZ25JbXBsZW1lbnRhdGlvbihrZXkpO1xuICB9XG5cbiAgLy8gcmVnaW9uIFRyYW5zZmVyIGZpZWxkc1xuICAvKipcbiAgICogU2V0IHRoZSBkZXN0aW5hdGlvbiBhZGRyZXNzIHdoZXJlIHRoZSBmdW5kcyB3aWxsIGJlIHNlbnQsXG4gICAqIGl0IG1heSB0YWtlIHRoZSBmb3JtYXQgYCc8c2hhcmQ+LjxyZWFsbT4uPGFjY291bnQ+J2Agb3IgYCc8YWNjb3VudD4nYFxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYWRkcmVzcyAtIFRoZSBhZGRyZXNzIHRvIHRyYW5zZmVyIGZ1bmRzIHRvXG4gICAqIEByZXR1cm5zIHtUcmFuc2ZlckJ1aWxkZXJ9IC0gVGhlIGJ1aWxkZXIgd2l0aCB0aGUgbmV3IHBhcmFtZXRlciBzZXRcbiAgICovXG4gIHRvKGFkZHJlc3M6IHN0cmluZyk6IHRoaXMge1xuICAgIGlmICghaXNWYWxpZEFkZHJlc3MoYWRkcmVzcykpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvcignSW52YWxpZCBhZGRyZXNzJyk7XG4gICAgfVxuICAgIHRoaXMuX3RvQWRkcmVzcyA9IGFkZHJlc3M7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBhbW91bnQgdG8gYmUgdHJhbnNmZXJyZWRcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGFtb3VudCAtIEFtb3VudCB0byB0cmFuc2ZlciBpbiB0aW55QmFycyAodGhlcmUgYXJlIDEwMCwwMDAsMDAwIHRpbnlCYXJzIGluIG9uZSBIYmFyKVxuICAgKiBAcmV0dXJucyB7VHJhbnNmZXJCdWlsZGVyfSAtIFRoZSBidWlsZGVyIHdpdGggdGhlIG5ldyBwYXJhbWV0ZXIgc2V0XG4gICAqL1xuICBhbW91bnQoYW1vdW50OiBzdHJpbmcpOiB0aGlzIHtcbiAgICBpZiAoIWlzVmFsaWRBbW91bnQoYW1vdW50KSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yKCdJbnZhbGlkIGFtb3VudCcpO1xuICAgIH1cbiAgICB0aGlzLl9hbW91bnQgPSBhbW91bnQ7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvLyBlbmRyZWdpb25cblxuICAvLyByZWdpb24gVmFsaWRhdG9yc1xuICB2YWxpZGF0ZU1hbmRhdG9yeUZpZWxkcygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fdG9BZGRyZXNzID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgdHJhbnNhY3Rpb246IG1pc3NpbmcgdG8nKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX2Ftb3VudCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIHRyYW5zYWN0aW9uOiBtaXNzaW5nIGFtb3VudCcpO1xuICAgIH1cbiAgICBzdXBlci52YWxpZGF0ZU1hbmRhdG9yeUZpZWxkcygpO1xuICB9XG4gIC8vIGVuZHJlZ2lvblxufVxuIl19
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvaW4vaGJhci90cmFuc2ZlckJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLHdEQUEwQztBQUMxQyw4Q0FNeUI7QUFFekIsNkRBQTBEO0FBRTFELG1DQUF3RDtBQUN4RCwyQ0FBb0Q7QUFFcEQsTUFBYSxlQUFnQixTQUFRLHVDQUFrQjtJQUlyRCxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksS0FBSyxDQUFDLDZCQUE2QixFQUFFLENBQUM7UUFDN0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUMvQyxJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsa0JBQWtCO0lBQ1IsS0FBSyxDQUFDLG1CQUFtQjtRQUNqQyxJQUFJLENBQUMsV0FBVyxDQUFDLGtCQUFrQixDQUFDLDBCQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUQsT0FBTyxNQUFNLEtBQUssQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFFRCxrQkFBa0I7SUFDUixrQkFBa0IsQ0FBQyxHQUFZO1FBQ3ZDLElBQUksSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sSUFBSSxpQ0FBcUIsRUFBRTtZQUM3RCxNQUFNLElBQUksdUJBQVksQ0FBQyxlQUFlLEdBQUcsaUNBQXFCLEdBQUcsNEJBQTRCLENBQUMsQ0FBQztTQUNoRztRQUNELE9BQU8sS0FBSyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCx5QkFBeUI7SUFDekI7Ozs7O09BS0c7SUFDSCxJQUFJLENBQUMsU0FBb0I7UUFDdkIsSUFBSSxDQUFDLHNCQUFjLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3RDLE1BQU0sSUFBSSxxQ0FBMEIsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1NBQ3pEO1FBQ0QsSUFBSSxDQUFDLHFCQUFhLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3BDLE1BQU0sSUFBSSxxQ0FBMEIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1NBQ3hEO1FBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDakMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBQ0QsWUFBWTtJQUVaLG9CQUFvQjtJQUNwQix1QkFBdUI7UUFDckIsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDakMsTUFBTSxJQUFJLGdDQUFxQixDQUFDLHlDQUF5QyxDQUFDLENBQUM7U0FDNUU7UUFDRCxLQUFLLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0NBRUY7QUFwREQsMENBb0RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcbmltcG9ydCAqIGFzIHByb3RvIGZyb20gJ0BoYXNoZ3JhcGgvcHJvdG8nO1xuaW1wb3J0IHtcbiAgQmFzZUtleSxcbiAgQnVpbGRUcmFuc2FjdGlvbkVycm9yLFxuICBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvcixcbiAgU2lnbmluZ0Vycm9yLFxuICBUcmFuc2FjdGlvblR5cGUsXG59IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBSZWNpcGllbnQgfSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBpc1ZhbGlkQWRkcmVzcywgaXNWYWxpZEFtb3VudCB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgREVGQVVMVF9TSUdORVJfTlVNQkVSIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuXG5leHBvcnQgY2xhc3MgVHJhbnNmZXJCdWlsZGVyIGV4dGVuZHMgVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF90eEJvZHlEYXRhOiBwcm90by5DcnlwdG9UcmFuc2ZlclRyYW5zYWN0aW9uQm9keTtcbiAgcHJvdGVjdGVkIF9yZWNpcGllbnRzOiBSZWNpcGllbnRbXTtcblxuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gICAgdGhpcy5fdHhCb2R5RGF0YSA9IG5ldyBwcm90by5DcnlwdG9UcmFuc2ZlclRyYW5zYWN0aW9uQm9keSgpO1xuICAgIHRoaXMuX3R4Qm9keS5jcnlwdG9UcmFuc2ZlciA9IHRoaXMuX3R4Qm9keURhdGE7XG4gICAgdGhpcy5fcmVjaXBpZW50cyA9IFtdO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBhc3luYyBidWlsZEltcGxlbWVudGF0aW9uKCk6IFByb21pc2U8VHJhbnNhY3Rpb24+IHtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLnNldFRyYW5zYWN0aW9uVHlwZShUcmFuc2FjdGlvblR5cGUuU2VuZCk7XG4gICAgcmV0dXJuIGF3YWl0IHN1cGVyLmJ1aWxkSW1wbGVtZW50YXRpb24oKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgc2lnbkltcGxlbWVudGF0aW9uKGtleTogQmFzZUtleSk6IFRyYW5zYWN0aW9uIHtcbiAgICBpZiAodGhpcy5fbXVsdGlTaWduZXJLZXlQYWlycy5sZW5ndGggPj0gREVGQVVMVF9TSUdORVJfTlVNQkVSKSB7XG4gICAgICB0aHJvdyBuZXcgU2lnbmluZ0Vycm9yKCdBIG1heGltdW0gb2YgJyArIERFRkFVTFRfU0lHTkVSX05VTUJFUiArICcgY2FuIHNpZ24gdGhlIHRyYW5zYWN0aW9uLicpO1xuICAgIH1cbiAgICByZXR1cm4gc3VwZXIuc2lnbkltcGxlbWVudGF0aW9uKGtleSk7XG4gIH1cblxuICAvLyByZWdpb24gVHJhbnNmZXIgZmllbGRzXG4gIC8qKlxuICAgKiBTZXQgdGhlIHJlY2lwaWVudCB0byBiZSB0cmFuc2ZlcnJlZFxuICAgKlxuICAgKiBAcGFyYW0ge1JlY2lwaWVudH0gcmVjaXBpZW50IC0gcmVjaXBpZW50IHRvIHRyYW5zZmVyIGNvbnNpc3RpbmcgZGVzdGluYXRpb24gYWRkcmVzcyBhbmQgYW1vdW50XG4gICAqIEByZXR1cm5zIHtUcmFuc2ZlckJ1aWxkZXJ9IC0gVGhlIGJ1aWxkZXIgd2l0aCB0aGUgbmV3IHBhcmFtZXRlciBzZXRcbiAgICovXG4gIHNlbmQocmVjaXBpZW50OiBSZWNpcGllbnQpOiB0aGlzIHtcbiAgICBpZiAoIWlzVmFsaWRBZGRyZXNzKHJlY2lwaWVudC5hZGRyZXNzKSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yKCdJbnZhbGlkIGFkZHJlc3MnKTtcbiAgICB9XG4gICAgaWYgKCFpc1ZhbGlkQW1vdW50KHJlY2lwaWVudC5hbW91bnQpKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3IoJ0ludmFsaWQgYW1vdW50Jyk7XG4gICAgfVxuICAgIHRoaXMuX3JlY2lwaWVudHMucHVzaChyZWNpcGllbnQpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG4gIC8vIGVuZHJlZ2lvblxuXG4gIC8vIHJlZ2lvbiBWYWxpZGF0b3JzXG4gIHZhbGlkYXRlTWFuZGF0b3J5RmllbGRzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9yZWNpcGllbnRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCB0cmFuc2FjdGlvbjogbWlzc2luZyByZWNpcGllbnRzJyk7XG4gICAgfVxuICAgIHN1cGVyLnZhbGlkYXRlTWFuZGF0b3J5RmllbGRzKCk7XG4gIH1cbiAgLy8gZW5kcmVnaW9uXG59XG4iXX0=
@@ -2,6 +2,7 @@ import { PrivateKey } from '@hashgraph/sdk';
2
2
  import * as proto from '@hashgraph/proto';
3
3
  import { AddressDetails } from './iface';
4
4
  import { toHex, toUint8Array } from '@bitgo/sdk-core';
5
+ import { BaseCoin } from '@bitgo/statics';
5
6
  export { toHex, toUint8Array };
6
7
  /**
7
8
  * Returns whether the string is a valid Hedera account address
@@ -20,7 +21,7 @@ export declare function isValidAddress(address: string): boolean;
20
21
  */
21
22
  export declare function isValidTransactionId(txId: string): boolean;
22
23
  /**
23
- * Returns whether the string is a valid Hedera public key
24
+ Returns whether the string is a valid Hedera public key
24
25
  *
25
26
  * @param {string} key - The public key to be validated
26
27
  * @returns {boolean} - The validation result
@@ -64,14 +65,21 @@ export declare function isValidRawTransactionFormat(rawTransaction: any): boolea
64
65
  /**
65
66
  * Returns a string representation of an {proto.IAccountID} object
66
67
  *
67
- * @param {proto} accountId - Account id to be cast to string
68
+ * @param {proto.IAccountID} accountId - Account id to be cast to string
68
69
  * @returns {string} - The string representation of the {proto.IAccountID}
69
70
  */
70
71
  export declare function stringifyAccountId({ shardNum, realmNum, accountNum }: proto.IAccountID): string;
72
+ /**
73
+ * Returns a string representation of an {proto.ITokenID} object
74
+ *
75
+ * @param {proto.ITokenID} - token id to be cast to string
76
+ * @returns {string} - the string representation of the {proto.ITokenID}
77
+ */
78
+ export declare function stringifyTokenId({ shardNum, realmNum, tokenNum }: proto.ITokenID): string;
71
79
  /**
72
80
  * Returns a string representation of an {proto.ITimestamp} object
73
81
  *
74
- * @param {proto} timestamp - Timestamp to be cast to string
82
+ * @param {proto.ITimestamp} timestamp - Timestamp to be cast to string
75
83
  * @returns {string} - The string representation of the {proto.ITimestamp}
76
84
  */
77
85
  export declare function stringifyTxTime({ seconds, nanos }: proto.ITimestamp): string;
@@ -140,4 +148,47 @@ export declare function normalizeAddress({ address, memoId }: AddressDetails): s
140
148
  * @returns {boolean} - True if input is a valid address
141
149
  */
142
150
  export declare function isValidAddressWithPaymentId(address: string): boolean;
151
+ /**
152
+ <<<<<<< HEAD
153
+ * Build hedera {proto.TokenID} object from token ID string
154
+ *
155
+ * @param {string} tokenID - The token ID to build
156
+ * @returns {proto.TokenID} - The resulting proto TokenID object
157
+ */
158
+ export declare function buildHederaTokenID(tokenID: string): proto.TokenID;
159
+ /**
160
+ * Build hedera {proto.AccountID} object from account ID string
161
+ *
162
+ * @param {string} accountID - The account ID to build
163
+ * @returns {proto} - The resulting proto AccountID object
164
+ */
165
+ export declare function buildHederaAccountID(accountID: string): proto.AccountID;
166
+ /**
167
+ * Check if Hedera token ID is valid and supported
168
+ *
169
+ * @param {string} tokenId - The token ID to validate
170
+ * @returns {boolean} - True if tokenId is valid and supported
171
+ */
172
+ export declare function isValidHederaTokenID(tokenId: string): boolean;
173
+ /**
174
+ * Get the associated hedera token ID from token name, if supported
175
+ *
176
+ * @param {string} tokenName - The hedera token name
177
+ * @returns {boolean} - The associated token ID or undefined if not supported
178
+ */
179
+ export declare function getHederaTokenIdFromName(tokenName: string): string | undefined;
180
+ /**
181
+ * Get the associated hedera token from token ID, if supported
182
+ *
183
+ * @param tokenId - The token address
184
+ * @returns {BaseCoin} - BaseCoin object for the matching token
185
+ */
186
+ export declare function getHederaTokenNameFromId(tokenId: string): Readonly<BaseCoin> | undefined;
187
+ /**
188
+ * Return boolean indicating whether input is a valid token transfer transaction
189
+ *
190
+ * @param {proto.ICryptoTransferTransactionBody | null} transferTxBody is a transfer transaction body
191
+ * @returns {boolean} true is input is a valid token transfer transaction
192
+ */
193
+ export declare function isTokenTransfer(transferTxBody: proto.ICryptoTransferTransactionBody | null): boolean;
143
194
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/coin/hbar/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAuC,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjF,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAG1C,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,OAAO,EAAE,KAAK,EAAE,YAAY,EAAc,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;AAI/B;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAUvD;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAa1D;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAUrD;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAQvC;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAOrD;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,cAAc,EAAE,GAAG,GAAG,OAAO,CAKxE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,KAAK,CAAC,UAAU,GAAG,MAAM,CAE/F;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,CAAC,UAAU,GAAG,MAAM,CAE5E;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAKhE;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEjD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAEpD;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAOhE;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAK/E;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAGtD;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,CA6BpE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,cAAc,GAAG,MAAM,CAK5E;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAOpE"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/coin/hbar/utils.ts"],"names":[],"mappings":"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"}