@bitgo/account-lib 2.20.0-rc.7 → 2.20.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 (605) hide show
  1. package/.mocharc.js +1 -1
  2. package/CHANGELOG.md +330 -0
  3. package/dist/resources/README.md +0 -22
  4. package/dist/src/index.d.ts +30 -20
  5. package/dist/src/index.d.ts.map +1 -1
  6. package/dist/src/index.js +49 -40
  7. package/dist/tsconfig.tsbuildinfo +19431 -31604
  8. package/package.json +28 -76
  9. package/resources/README.md +0 -22
  10. package/dist/browser/bitgo-account-lib.js +0 -2
  11. package/dist/browser/bitgo-account-lib.js.LICENSE.txt +0 -335
  12. package/dist/resources/hbar/protobuf/BasicTypes.proto +0 -424
  13. package/dist/resources/hbar/protobuf/CryptoCreate.proto +0 -47
  14. package/dist/resources/hbar/protobuf/CryptoTransfer.proto +0 -33
  15. package/dist/resources/hbar/protobuf/Duration.proto +0 -28
  16. package/dist/resources/hbar/protobuf/Timestamp.proto +0 -34
  17. package/dist/resources/hbar/protobuf/Transaction.proto +0 -35
  18. package/dist/resources/hbar/protobuf/TransactionBody.proto +0 -24
  19. package/dist/resources/hbar/protobuf/TransactionContents.proto +0 -33
  20. package/dist/resources/hbar/protobuf/hedera.d.ts +0 -4612
  21. package/dist/resources/hbar/protobuf/hedera.js +0 -12192
  22. package/dist/resources/trx/protobuf/Contract.proto +0 -256
  23. package/dist/resources/trx/protobuf/Discover.proto +0 -44
  24. package/dist/resources/trx/protobuf/tron.d.ts +0 -11024
  25. package/dist/resources/trx/protobuf/tron.js +0 -31510
  26. package/dist/resources/trx/protobuf/tron.proto +0 -677
  27. package/dist/src/coin/algo/assetTransferBuilder.d.ts +0 -42
  28. package/dist/src/coin/algo/assetTransferBuilder.d.ts.map +0 -1
  29. package/dist/src/coin/algo/assetTransferBuilder.js +0 -105
  30. package/dist/src/coin/algo/errors.d.ts +0 -11
  31. package/dist/src/coin/algo/errors.d.ts.map +0 -1
  32. package/dist/src/coin/algo/errors.js +0 -27
  33. package/dist/src/coin/algo/ifaces.d.ts +0 -46
  34. package/dist/src/coin/algo/ifaces.d.ts.map +0 -1
  35. package/dist/src/coin/algo/ifaces.js +0 -3
  36. package/dist/src/coin/algo/index.d.ts +0 -13
  37. package/dist/src/coin/algo/index.d.ts.map +0 -1
  38. package/dist/src/coin/algo/index.js +0 -47
  39. package/dist/src/coin/algo/keyPair.d.ts +0 -25
  40. package/dist/src/coin/algo/keyPair.d.ts.map +0 -1
  41. package/dist/src/coin/algo/keyPair.js +0 -77
  42. package/dist/src/coin/algo/keyRegistrationBuilder.d.ts +0 -104
  43. package/dist/src/coin/algo/keyRegistrationBuilder.d.ts.map +0 -1
  44. package/dist/src/coin/algo/keyRegistrationBuilder.js +0 -239
  45. package/dist/src/coin/algo/seedEncoding.d.ts +0 -25
  46. package/dist/src/coin/algo/seedEncoding.d.ts.map +0 -1
  47. package/dist/src/coin/algo/seedEncoding.js +0 -97
  48. package/dist/src/coin/algo/transaction.d.ts +0 -75
  49. package/dist/src/coin/algo/transaction.d.ts.map +0 -1
  50. package/dist/src/coin/algo/transaction.js +0 -251
  51. package/dist/src/coin/algo/transactionBuilder.d.ts +0 -204
  52. package/dist/src/coin/algo/transactionBuilder.d.ts.map +0 -1
  53. package/dist/src/coin/algo/transactionBuilder.js +0 -373
  54. package/dist/src/coin/algo/transactionBuilderFactory.d.ts +0 -16
  55. package/dist/src/coin/algo/transactionBuilderFactory.d.ts.map +0 -1
  56. package/dist/src/coin/algo/transactionBuilderFactory.js +0 -52
  57. package/dist/src/coin/algo/transferBuilder.d.ts +0 -40
  58. package/dist/src/coin/algo/transferBuilder.d.ts.map +0 -1
  59. package/dist/src/coin/algo/transferBuilder.js +0 -89
  60. package/dist/src/coin/algo/txnSchema.d.ts +0 -7
  61. package/dist/src/coin/algo/txnSchema.d.ts.map +0 -1
  62. package/dist/src/coin/algo/txnSchema.js +0 -68
  63. package/dist/src/coin/algo/utils.d.ts +0 -249
  64. package/dist/src/coin/algo/utils.d.ts.map +0 -1
  65. package/dist/src/coin/algo/utils.js +0 -539
  66. package/dist/src/coin/avaxc/index.d.ts +0 -8
  67. package/dist/src/coin/avaxc/index.d.ts.map +0 -1
  68. package/dist/src/coin/avaxc/index.js +0 -35
  69. package/dist/src/coin/avaxc/keyPair.d.ts +0 -26
  70. package/dist/src/coin/avaxc/keyPair.d.ts.map +0 -1
  71. package/dist/src/coin/avaxc/keyPair.js +0 -83
  72. package/dist/src/coin/avaxc/resources.d.ts +0 -12
  73. package/dist/src/coin/avaxc/resources.d.ts.map +0 -1
  74. package/dist/src/coin/avaxc/resources.js +0 -27
  75. package/dist/src/coin/avaxc/transactionBuilder.d.ts +0 -17
  76. package/dist/src/coin/avaxc/transactionBuilder.d.ts.map +0 -1
  77. package/dist/src/coin/avaxc/transactionBuilder.js +0 -45
  78. package/dist/src/coin/avaxc/transferBuilder.d.ts +0 -17
  79. package/dist/src/coin/avaxc/transferBuilder.d.ts.map +0 -1
  80. package/dist/src/coin/avaxc/transferBuilder.js +0 -25
  81. package/dist/src/coin/avaxc/utils.d.ts +0 -39
  82. package/dist/src/coin/avaxc/utils.d.ts.map +0 -1
  83. package/dist/src/coin/avaxc/utils.js +0 -70
  84. package/dist/src/coin/avaxc/walletUtil.d.ts +0 -22
  85. package/dist/src/coin/avaxc/walletUtil.d.ts.map +0 -1
  86. package/dist/src/coin/avaxc/walletUtil.js +0 -62
  87. package/dist/src/coin/baseCoin/baseKeyPair.d.ts +0 -27
  88. package/dist/src/coin/baseCoin/baseKeyPair.d.ts.map +0 -1
  89. package/dist/src/coin/baseCoin/baseKeyPair.js +0 -3
  90. package/dist/src/coin/baseCoin/baseTransaction.d.ts +0 -71
  91. package/dist/src/coin/baseCoin/baseTransaction.d.ts.map +0 -1
  92. package/dist/src/coin/baseCoin/baseTransaction.js +0 -69
  93. package/dist/src/coin/baseCoin/baseTransactionBuilder.d.ts +0 -128
  94. package/dist/src/coin/baseCoin/baseTransactionBuilder.d.ts.map +0 -1
  95. package/dist/src/coin/baseCoin/baseTransactionBuilder.js +0 -138
  96. package/dist/src/coin/baseCoin/baseTransactionBuilderFactory.d.ts +0 -30
  97. package/dist/src/coin/baseCoin/baseTransactionBuilderFactory.d.ts.map +0 -1
  98. package/dist/src/coin/baseCoin/baseTransactionBuilderFactory.js +0 -19
  99. package/dist/src/coin/baseCoin/baseUtils.d.ts +0 -45
  100. package/dist/src/coin/baseCoin/baseUtils.d.ts.map +0 -1
  101. package/dist/src/coin/baseCoin/baseUtils.js +0 -3
  102. package/dist/src/coin/baseCoin/blsKeyPair.d.ts +0 -75
  103. package/dist/src/coin/baseCoin/blsKeyPair.d.ts.map +0 -1
  104. package/dist/src/coin/baseCoin/blsKeyPair.js +0 -178
  105. package/dist/src/coin/baseCoin/ed25519KeyPair.d.ts +0 -50
  106. package/dist/src/coin/baseCoin/ed25519KeyPair.d.ts.map +0 -1
  107. package/dist/src/coin/baseCoin/ed25519KeyPair.js +0 -140
  108. package/dist/src/coin/baseCoin/enum.d.ts +0 -43
  109. package/dist/src/coin/baseCoin/enum.d.ts.map +0 -1
  110. package/dist/src/coin/baseCoin/enum.js +0 -70
  111. package/dist/src/coin/baseCoin/errors.d.ts +0 -65
  112. package/dist/src/coin/baseCoin/errors.d.ts.map +0 -1
  113. package/dist/src/coin/baseCoin/errors.js +0 -114
  114. package/dist/src/coin/baseCoin/iface.d.ts +0 -162
  115. package/dist/src/coin/baseCoin/iface.d.ts.map +0 -1
  116. package/dist/src/coin/baseCoin/iface.js +0 -38
  117. package/dist/src/coin/baseCoin/index.d.ts +0 -12
  118. package/dist/src/coin/baseCoin/index.d.ts.map +0 -1
  119. package/dist/src/coin/baseCoin/index.js +0 -41
  120. package/dist/src/coin/baseCoin/secp256k1ExtendedKeyPair.d.ts +0 -55
  121. package/dist/src/coin/baseCoin/secp256k1ExtendedKeyPair.d.ts.map +0 -1
  122. package/dist/src/coin/baseCoin/secp256k1ExtendedKeyPair.js +0 -122
  123. package/dist/src/coin/celo/index.d.ts +0 -8
  124. package/dist/src/coin/celo/index.d.ts.map +0 -1
  125. package/dist/src/coin/celo/index.js +0 -35
  126. package/dist/src/coin/celo/resources.d.ts +0 -10
  127. package/dist/src/coin/celo/resources.d.ts.map +0 -1
  128. package/dist/src/coin/celo/resources.js +0 -26
  129. package/dist/src/coin/celo/stakingBuilder.d.ts +0 -91
  130. package/dist/src/coin/celo/stakingBuilder.d.ts.map +0 -1
  131. package/dist/src/coin/celo/stakingBuilder.js +0 -277
  132. package/dist/src/coin/celo/stakingCall.d.ts +0 -7
  133. package/dist/src/coin/celo/stakingCall.d.ts.map +0 -1
  134. package/dist/src/coin/celo/stakingCall.js +0 -13
  135. package/dist/src/coin/celo/stakingUtils.d.ts +0 -15
  136. package/dist/src/coin/celo/stakingUtils.d.ts.map +0 -1
  137. package/dist/src/coin/celo/stakingUtils.js +0 -98
  138. package/dist/src/coin/celo/transaction.d.ts +0 -10
  139. package/dist/src/coin/celo/transaction.d.ts.map +0 -1
  140. package/dist/src/coin/celo/transaction.js +0 -37
  141. package/dist/src/coin/celo/transactionBuilder.d.ts +0 -86
  142. package/dist/src/coin/celo/transactionBuilder.d.ts.map +0 -1
  143. package/dist/src/coin/celo/transactionBuilder.js +0 -228
  144. package/dist/src/coin/celo/transferBuilder.d.ts +0 -19
  145. package/dist/src/coin/celo/transferBuilder.d.ts.map +0 -1
  146. package/dist/src/coin/celo/transferBuilder.js +0 -27
  147. package/dist/src/coin/celo/types.d.ts +0 -52
  148. package/dist/src/coin/celo/types.d.ts.map +0 -1
  149. package/dist/src/coin/celo/types.js +0 -222
  150. package/dist/src/coin/celo/utils.d.ts +0 -18
  151. package/dist/src/coin/celo/utils.d.ts.map +0 -1
  152. package/dist/src/coin/celo/utils.js +0 -99
  153. package/dist/src/coin/cspr/constants.d.ts +0 -19
  154. package/dist/src/coin/cspr/constants.d.ts.map +0 -1
  155. package/dist/src/coin/cspr/constants.js +0 -28
  156. package/dist/src/coin/cspr/delegateBuilder.d.ts +0 -49
  157. package/dist/src/coin/cspr/delegateBuilder.d.ts.map +0 -1
  158. package/dist/src/coin/cspr/delegateBuilder.js +0 -111
  159. package/dist/src/coin/cspr/ifaces.d.ts +0 -69
  160. package/dist/src/coin/cspr/ifaces.d.ts.map +0 -1
  161. package/dist/src/coin/cspr/ifaces.js +0 -3
  162. package/dist/src/coin/cspr/index.d.ts +0 -5
  163. package/dist/src/coin/cspr/index.d.ts.map +0 -1
  164. package/dist/src/coin/cspr/index.js +0 -29
  165. package/dist/src/coin/cspr/keyPair.d.ts +0 -18
  166. package/dist/src/coin/cspr/keyPair.d.ts.map +0 -1
  167. package/dist/src/coin/cspr/keyPair.js +0 -75
  168. package/dist/src/coin/cspr/transaction.d.ts +0 -55
  169. package/dist/src/coin/cspr/transaction.d.ts.map +0 -1
  170. package/dist/src/coin/cspr/transaction.js +0 -227
  171. package/dist/src/coin/cspr/transactionBuilder.d.ts +0 -124
  172. package/dist/src/coin/cspr/transactionBuilder.d.ts.map +0 -1
  173. package/dist/src/coin/cspr/transactionBuilder.js +0 -312
  174. package/dist/src/coin/cspr/transactionBuilderFactory.d.ts +0 -46
  175. package/dist/src/coin/cspr/transactionBuilderFactory.d.ts.map +0 -1
  176. package/dist/src/coin/cspr/transactionBuilderFactory.js +0 -98
  177. package/dist/src/coin/cspr/transferBuilder.d.ts +0 -39
  178. package/dist/src/coin/cspr/transferBuilder.d.ts.map +0 -1
  179. package/dist/src/coin/cspr/transferBuilder.js +0 -106
  180. package/dist/src/coin/cspr/undelegateBuilder.d.ts +0 -49
  181. package/dist/src/coin/cspr/undelegateBuilder.d.ts.map +0 -1
  182. package/dist/src/coin/cspr/undelegateBuilder.js +0 -111
  183. package/dist/src/coin/cspr/utils.d.ts +0 -188
  184. package/dist/src/coin/cspr/utils.d.ts.map +0 -1
  185. package/dist/src/coin/cspr/utils.js +0 -478
  186. package/dist/src/coin/cspr/walletInitializationBuilder.d.ts +0 -27
  187. package/dist/src/coin/cspr/walletInitializationBuilder.d.ts.map +0 -1
  188. package/dist/src/coin/cspr/walletInitializationBuilder.js +0 -95
  189. package/dist/src/coin/dot/addressInitializationBuilder.d.ts +0 -79
  190. package/dist/src/coin/dot/addressInitializationBuilder.d.ts.map +0 -1
  191. package/dist/src/coin/dot/addressInitializationBuilder.js +0 -182
  192. package/dist/src/coin/dot/batchTransactionBuilder.d.ts +0 -47
  193. package/dist/src/coin/dot/batchTransactionBuilder.d.ts.map +0 -1
  194. package/dist/src/coin/dot/batchTransactionBuilder.js +0 -122
  195. package/dist/src/coin/dot/claimBuilder.d.ts +0 -58
  196. package/dist/src/coin/dot/claimBuilder.d.ts.map +0 -1
  197. package/dist/src/coin/dot/claimBuilder.js +0 -117
  198. package/dist/src/coin/dot/errors.d.ts +0 -8
  199. package/dist/src/coin/dot/errors.d.ts.map +0 -1
  200. package/dist/src/coin/dot/errors.js +0 -19
  201. package/dist/src/coin/dot/iface.d.ts +0 -194
  202. package/dist/src/coin/dot/iface.d.ts.map +0 -1
  203. package/dist/src/coin/dot/iface.js +0 -39
  204. package/dist/src/coin/dot/index.d.ts +0 -17
  205. package/dist/src/coin/dot/index.d.ts.map +0 -1
  206. package/dist/src/coin/dot/index.js +0 -53
  207. package/dist/src/coin/dot/keyPair.d.ts +0 -31
  208. package/dist/src/coin/dot/keyPair.d.ts.map +0 -1
  209. package/dist/src/coin/dot/keyPair.js +0 -74
  210. package/dist/src/coin/dot/singletonRegistry.d.ts +0 -7
  211. package/dist/src/coin/dot/singletonRegistry.d.ts.map +0 -1
  212. package/dist/src/coin/dot/singletonRegistry.js +0 -20
  213. package/dist/src/coin/dot/stakingBuilder.d.ts +0 -58
  214. package/dist/src/coin/dot/stakingBuilder.d.ts.map +0 -1
  215. package/dist/src/coin/dot/stakingBuilder.js +0 -135
  216. package/dist/src/coin/dot/transaction.d.ts +0 -65
  217. package/dist/src/coin/dot/transaction.d.ts.map +0 -1
  218. package/dist/src/coin/dot/transaction.js +0 -396
  219. package/dist/src/coin/dot/transactionBuilder.d.ts +0 -131
  220. package/dist/src/coin/dot/transactionBuilder.d.ts.map +0 -1
  221. package/dist/src/coin/dot/transactionBuilder.js +0 -332
  222. package/dist/src/coin/dot/transactionBuilderFactory.d.ts +0 -26
  223. package/dist/src/coin/dot/transactionBuilderFactory.d.ts.map +0 -1
  224. package/dist/src/coin/dot/transactionBuilderFactory.js +0 -93
  225. package/dist/src/coin/dot/transferBuilder.d.ts +0 -71
  226. package/dist/src/coin/dot/transferBuilder.d.ts.map +0 -1
  227. package/dist/src/coin/dot/transferBuilder.js +0 -171
  228. package/dist/src/coin/dot/txnSchema.d.ts +0 -14
  229. package/dist/src/coin/dot/txnSchema.d.ts.map +0 -1
  230. package/dist/src/coin/dot/txnSchema.js +0 -104
  231. package/dist/src/coin/dot/unnominateBuilder.d.ts +0 -24
  232. package/dist/src/coin/dot/unnominateBuilder.d.ts.map +0 -1
  233. package/dist/src/coin/dot/unnominateBuilder.js +0 -50
  234. package/dist/src/coin/dot/unstakeBuilder.d.ts +0 -38
  235. package/dist/src/coin/dot/unstakeBuilder.d.ts.map +0 -1
  236. package/dist/src/coin/dot/unstakeBuilder.js +0 -89
  237. package/dist/src/coin/dot/utils.d.ts +0 -138
  238. package/dist/src/coin/dot/utils.d.ts.map +0 -1
  239. package/dist/src/coin/dot/utils.js +0 -269
  240. package/dist/src/coin/dot/withdrawUnstakedBuilder.d.ts +0 -38
  241. package/dist/src/coin/dot/withdrawUnstakedBuilder.d.ts.map +0 -1
  242. package/dist/src/coin/dot/withdrawUnstakedBuilder.js +0 -90
  243. package/dist/src/coin/etc/index.d.ts +0 -8
  244. package/dist/src/coin/etc/index.d.ts.map +0 -1
  245. package/dist/src/coin/etc/index.js +0 -35
  246. package/dist/src/coin/etc/resources.d.ts +0 -10
  247. package/dist/src/coin/etc/resources.d.ts.map +0 -1
  248. package/dist/src/coin/etc/resources.js +0 -26
  249. package/dist/src/coin/etc/transactionBuilder.d.ts +0 -17
  250. package/dist/src/coin/etc/transactionBuilder.d.ts.map +0 -1
  251. package/dist/src/coin/etc/transactionBuilder.js +0 -45
  252. package/dist/src/coin/etc/transferBuilder.d.ts +0 -19
  253. package/dist/src/coin/etc/transferBuilder.d.ts.map +0 -1
  254. package/dist/src/coin/etc/transferBuilder.js +0 -27
  255. package/dist/src/coin/etc/utils.d.ts +0 -18
  256. package/dist/src/coin/etc/utils.d.ts.map +0 -1
  257. package/dist/src/coin/etc/utils.js +0 -42
  258. package/dist/src/coin/eth/contractCall.d.ts +0 -8
  259. package/dist/src/coin/eth/contractCall.d.ts.map +0 -1
  260. package/dist/src/coin/eth/contractCall.js +0 -17
  261. package/dist/src/coin/eth/iface.d.ts +0 -122
  262. package/dist/src/coin/eth/iface.d.ts.map +0 -1
  263. package/dist/src/coin/eth/iface.js +0 -8
  264. package/dist/src/coin/eth/index.d.ts +0 -10
  265. package/dist/src/coin/eth/index.d.ts.map +0 -1
  266. package/dist/src/coin/eth/index.js +0 -39
  267. package/dist/src/coin/eth/keyPair.d.ts +0 -26
  268. package/dist/src/coin/eth/keyPair.d.ts.map +0 -1
  269. package/dist/src/coin/eth/keyPair.js +0 -85
  270. package/dist/src/coin/eth/transaction.d.ts +0 -64
  271. package/dist/src/coin/eth/transaction.d.ts.map +0 -1
  272. package/dist/src/coin/eth/transaction.js +0 -137
  273. package/dist/src/coin/eth/transactionBuilder.d.ts +0 -194
  274. package/dist/src/coin/eth/transactionBuilder.d.ts.map +0 -1
  275. package/dist/src/coin/eth/transactionBuilder.js +0 -624
  276. package/dist/src/coin/eth/transferBuilder/baseNFTTransferBuilder.d.ts +0 -47
  277. package/dist/src/coin/eth/transferBuilder/baseNFTTransferBuilder.d.ts.map +0 -1
  278. package/dist/src/coin/eth/transferBuilder/baseNFTTransferBuilder.js +0 -113
  279. package/dist/src/coin/eth/transferBuilder/transferBuilderERC1155.d.ts +0 -14
  280. package/dist/src/coin/eth/transferBuilder/transferBuilderERC1155.d.ts.map +0 -1
  281. package/dist/src/coin/eth/transferBuilder/transferBuilderERC1155.js +0 -83
  282. package/dist/src/coin/eth/transferBuilder/transferBuilderERC721.d.ts +0 -13
  283. package/dist/src/coin/eth/transferBuilder/transferBuilderERC721.d.ts.map +0 -1
  284. package/dist/src/coin/eth/transferBuilder/transferBuilderERC721.js +0 -68
  285. package/dist/src/coin/eth/transferBuilder.d.ts +0 -65
  286. package/dist/src/coin/eth/transferBuilder.d.ts.map +0 -1
  287. package/dist/src/coin/eth/transferBuilder.js +0 -197
  288. package/dist/src/coin/eth/types.d.ts +0 -39
  289. package/dist/src/coin/eth/types.d.ts.map +0 -1
  290. package/dist/src/coin/eth/types.js +0 -135
  291. package/dist/src/coin/eth/utils.d.ts +0 -202
  292. package/dist/src/coin/eth/utils.d.ts.map +0 -1
  293. package/dist/src/coin/eth/utils.js +0 -485
  294. package/dist/src/coin/eth/walletUtil.d.ts +0 -19
  295. package/dist/src/coin/eth/walletUtil.d.ts.map +0 -1
  296. package/dist/src/coin/eth/walletUtil.js +0 -29
  297. package/dist/src/coin/eth2/index.d.ts +0 -2
  298. package/dist/src/coin/eth2/index.d.ts.map +0 -1
  299. package/dist/src/coin/eth2/index.js +0 -6
  300. package/dist/src/coin/eth2/keyPair.d.ts +0 -33
  301. package/dist/src/coin/eth2/keyPair.d.ts.map +0 -1
  302. package/dist/src/coin/eth2/keyPair.js +0 -65
  303. package/dist/src/coin/hbar/ifaces.d.ts +0 -26
  304. package/dist/src/coin/hbar/ifaces.d.ts.map +0 -1
  305. package/dist/src/coin/hbar/ifaces.js +0 -3
  306. package/dist/src/coin/hbar/index.d.ts +0 -6
  307. package/dist/src/coin/hbar/index.d.ts.map +0 -1
  308. package/dist/src/coin/hbar/index.js +0 -31
  309. package/dist/src/coin/hbar/keyPair.d.ts +0 -23
  310. package/dist/src/coin/hbar/keyPair.d.ts.map +0 -1
  311. package/dist/src/coin/hbar/keyPair.js +0 -70
  312. package/dist/src/coin/hbar/transaction.d.ts +0 -98
  313. package/dist/src/coin/hbar/transaction.d.ts.map +0 -1
  314. package/dist/src/coin/hbar/transaction.js +0 -245
  315. package/dist/src/coin/hbar/transactionBuilder.d.ts +0 -112
  316. package/dist/src/coin/hbar/transactionBuilder.d.ts.map +0 -1
  317. package/dist/src/coin/hbar/transactionBuilder.js +0 -264
  318. package/dist/src/coin/hbar/transactionBuilderFactory.d.ts +0 -37
  319. package/dist/src/coin/hbar/transactionBuilderFactory.d.ts.map +0 -1
  320. package/dist/src/coin/hbar/transactionBuilderFactory.js +0 -77
  321. package/dist/src/coin/hbar/transferBuilder.d.ts +0 -44
  322. package/dist/src/coin/hbar/transferBuilder.d.ts.map +0 -1
  323. package/dist/src/coin/hbar/transferBuilder.js +0 -130
  324. package/dist/src/coin/hbar/utils.d.ts +0 -139
  325. package/dist/src/coin/hbar/utils.d.ts.map +0 -1
  326. package/dist/src/coin/hbar/utils.js +0 -310
  327. package/dist/src/coin/hbar/walletInitializationBuilder.d.ts +0 -28
  328. package/dist/src/coin/hbar/walletInitializationBuilder.d.ts.map +0 -1
  329. package/dist/src/coin/hbar/walletInitializationBuilder.js +0 -90
  330. package/dist/src/coin/near/constants.d.ts +0 -12
  331. package/dist/src/coin/near/constants.d.ts.map +0 -1
  332. package/dist/src/coin/near/constants.js +0 -15
  333. package/dist/src/coin/near/contractCallWrapper.d.ts +0 -33
  334. package/dist/src/coin/near/contractCallWrapper.d.ts.map +0 -1
  335. package/dist/src/coin/near/contractCallWrapper.js +0 -68
  336. package/dist/src/coin/near/errors.d.ts +0 -5
  337. package/dist/src/coin/near/errors.d.ts.map +0 -1
  338. package/dist/src/coin/near/errors.js +0 -12
  339. package/dist/src/coin/near/iface.d.ts +0 -40
  340. package/dist/src/coin/near/iface.d.ts.map +0 -1
  341. package/dist/src/coin/near/iface.js +0 -8
  342. package/dist/src/coin/near/index.d.ts +0 -11
  343. package/dist/src/coin/near/index.d.ts.map +0 -1
  344. package/dist/src/coin/near/index.js +0 -41
  345. package/dist/src/coin/near/keyPair.d.ts +0 -25
  346. package/dist/src/coin/near/keyPair.d.ts.map +0 -1
  347. package/dist/src/coin/near/keyPair.js +0 -73
  348. package/dist/src/coin/near/stakingActivateBuilder.d.ts +0 -32
  349. package/dist/src/coin/near/stakingActivateBuilder.d.ts.map +0 -1
  350. package/dist/src/coin/near/stakingActivateBuilder.js +0 -90
  351. package/dist/src/coin/near/stakingDeactivateBuilder.d.ts +0 -32
  352. package/dist/src/coin/near/stakingDeactivateBuilder.d.ts.map +0 -1
  353. package/dist/src/coin/near/stakingDeactivateBuilder.js +0 -89
  354. package/dist/src/coin/near/stakingWithdrawBuilder.d.ts +0 -32
  355. package/dist/src/coin/near/stakingWithdrawBuilder.d.ts.map +0 -1
  356. package/dist/src/coin/near/stakingWithdrawBuilder.js +0 -89
  357. package/dist/src/coin/near/transaction.d.ts +0 -90
  358. package/dist/src/coin/near/transaction.d.ts.map +0 -1
  359. package/dist/src/coin/near/transaction.js +0 -368
  360. package/dist/src/coin/near/transactionBuilder.d.ts +0 -89
  361. package/dist/src/coin/near/transactionBuilder.d.ts.map +0 -1
  362. package/dist/src/coin/near/transactionBuilder.js +0 -216
  363. package/dist/src/coin/near/transactionBuilderFactory.d.ts +0 -30
  364. package/dist/src/coin/near/transactionBuilderFactory.d.ts.map +0 -1
  365. package/dist/src/coin/near/transactionBuilderFactory.js +0 -71
  366. package/dist/src/coin/near/transferBuilder.d.ts +0 -26
  367. package/dist/src/coin/near/transferBuilder.d.ts.map +0 -1
  368. package/dist/src/coin/near/transferBuilder.js +0 -72
  369. package/dist/src/coin/near/utils.d.ts +0 -42
  370. package/dist/src/coin/near/utils.d.ts.map +0 -1
  371. package/dist/src/coin/near/utils.js +0 -92
  372. package/dist/src/coin/near/walletInitializationBuilder.d.ts +0 -12
  373. package/dist/src/coin/near/walletInitializationBuilder.d.ts.map +0 -1
  374. package/dist/src/coin/near/walletInitializationBuilder.js +0 -20
  375. package/dist/src/coin/rbtc/index.d.ts +0 -8
  376. package/dist/src/coin/rbtc/index.d.ts.map +0 -1
  377. package/dist/src/coin/rbtc/index.js +0 -35
  378. package/dist/src/coin/rbtc/resources.d.ts +0 -10
  379. package/dist/src/coin/rbtc/resources.d.ts.map +0 -1
  380. package/dist/src/coin/rbtc/resources.js +0 -25
  381. package/dist/src/coin/rbtc/transactionBuilder.d.ts +0 -17
  382. package/dist/src/coin/rbtc/transactionBuilder.d.ts.map +0 -1
  383. package/dist/src/coin/rbtc/transactionBuilder.js +0 -44
  384. package/dist/src/coin/rbtc/transferBuilder.d.ts +0 -19
  385. package/dist/src/coin/rbtc/transferBuilder.d.ts.map +0 -1
  386. package/dist/src/coin/rbtc/transferBuilder.js +0 -27
  387. package/dist/src/coin/rbtc/utils.d.ts +0 -18
  388. package/dist/src/coin/rbtc/utils.d.ts.map +0 -1
  389. package/dist/src/coin/rbtc/utils.js +0 -42
  390. package/dist/src/coin/sol/ataInitializationBuilder.d.ts +0 -33
  391. package/dist/src/coin/sol/ataInitializationBuilder.d.ts.map +0 -1
  392. package/dist/src/coin/sol/ataInitializationBuilder.js +0 -93
  393. package/dist/src/coin/sol/ataInitializationTransaction.d.ts +0 -14
  394. package/dist/src/coin/sol/ataInitializationTransaction.d.ts.map +0 -1
  395. package/dist/src/coin/sol/ataInitializationTransaction.js +0 -81
  396. package/dist/src/coin/sol/constants.d.ts +0 -58
  397. package/dist/src/coin/sol/constants.d.ts.map +0 -1
  398. package/dist/src/coin/sol/constants.js +0 -76
  399. package/dist/src/coin/sol/iface.d.ts +0 -99
  400. package/dist/src/coin/sol/iface.d.ts.map +0 -1
  401. package/dist/src/coin/sol/iface.js +0 -3
  402. package/dist/src/coin/sol/index.d.ts +0 -11
  403. package/dist/src/coin/sol/index.d.ts.map +0 -1
  404. package/dist/src/coin/sol/index.js +0 -41
  405. package/dist/src/coin/sol/instructionParamsFactory.d.ts +0 -12
  406. package/dist/src/coin/sol/instructionParamsFactory.d.ts.map +0 -1
  407. package/dist/src/coin/sol/instructionParamsFactory.js +0 -260
  408. package/dist/src/coin/sol/keyPair.d.ts +0 -26
  409. package/dist/src/coin/sol/keyPair.d.ts.map +0 -1
  410. package/dist/src/coin/sol/keyPair.js +0 -63
  411. package/dist/src/coin/sol/solInstructionFactory.d.ts +0 -10
  412. package/dist/src/coin/sol/solInstructionFactory.d.ts.map +0 -1
  413. package/dist/src/coin/sol/solInstructionFactory.js +0 -213
  414. package/dist/src/coin/sol/stakingActivateBuilder.d.ts +0 -41
  415. package/dist/src/coin/sol/stakingActivateBuilder.d.ts.map +0 -1
  416. package/dist/src/coin/sol/stakingActivateBuilder.js +0 -94
  417. package/dist/src/coin/sol/stakingDeactivateBuilder.d.ts +0 -23
  418. package/dist/src/coin/sol/stakingDeactivateBuilder.d.ts.map +0 -1
  419. package/dist/src/coin/sol/stakingDeactivateBuilder.js +0 -62
  420. package/dist/src/coin/sol/stakingWithdrawBuilder.d.ts +0 -31
  421. package/dist/src/coin/sol/stakingWithdrawBuilder.d.ts.map +0 -1
  422. package/dist/src/coin/sol/stakingWithdrawBuilder.js +0 -78
  423. package/dist/src/coin/sol/tokenEncodeDecode.d.ts +0 -85
  424. package/dist/src/coin/sol/tokenEncodeDecode.d.ts.map +0 -1
  425. package/dist/src/coin/sol/tokenEncodeDecode.js +0 -133
  426. package/dist/src/coin/sol/tokenTransferBuilder.d.ts +0 -27
  427. package/dist/src/coin/sol/tokenTransferBuilder.d.ts.map +0 -1
  428. package/dist/src/coin/sol/tokenTransferBuilder.js +0 -73
  429. package/dist/src/coin/sol/transaction.d.ts +0 -61
  430. package/dist/src/coin/sol/transaction.d.ts.map +0 -1
  431. package/dist/src/coin/sol/transaction.js +0 -369
  432. package/dist/src/coin/sol/transactionBuilder.d.ts +0 -101
  433. package/dist/src/coin/sol/transactionBuilder.d.ts.map +0 -1
  434. package/dist/src/coin/sol/transactionBuilder.js +0 -261
  435. package/dist/src/coin/sol/transactionBuilderFactory.d.ts +0 -76
  436. package/dist/src/coin/sol/transactionBuilderFactory.d.ts.map +0 -1
  437. package/dist/src/coin/sol/transactionBuilderFactory.js +0 -136
  438. package/dist/src/coin/sol/transferBuilder.d.ts +0 -26
  439. package/dist/src/coin/sol/transferBuilder.d.ts.map +0 -1
  440. package/dist/src/coin/sol/transferBuilder.js +0 -67
  441. package/dist/src/coin/sol/utils.d.ts +0 -146
  442. package/dist/src/coin/sol/utils.d.ts.map +0 -1
  443. package/dist/src/coin/sol/utils.js +0 -361
  444. package/dist/src/coin/sol/walletInitializationBuilder.d.ts +0 -26
  445. package/dist/src/coin/sol/walletInitializationBuilder.d.ts.map +0 -1
  446. package/dist/src/coin/sol/walletInitializationBuilder.js +0 -71
  447. package/dist/src/coin/stx/abstractContractBuilder.d.ts +0 -19
  448. package/dist/src/coin/stx/abstractContractBuilder.d.ts.map +0 -1
  449. package/dist/src/coin/stx/abstractContractBuilder.js +0 -70
  450. package/dist/src/coin/stx/constants.d.ts +0 -8
  451. package/dist/src/coin/stx/constants.d.ts.map +0 -1
  452. package/dist/src/coin/stx/constants.js +0 -19
  453. package/dist/src/coin/stx/contractBuilder.d.ts +0 -33
  454. package/dist/src/coin/stx/contractBuilder.d.ts.map +0 -1
  455. package/dist/src/coin/stx/contractBuilder.js +0 -116
  456. package/dist/src/coin/stx/iface.d.ts +0 -48
  457. package/dist/src/coin/stx/iface.d.ts.map +0 -1
  458. package/dist/src/coin/stx/iface.js +0 -3
  459. package/dist/src/coin/stx/index.d.ts +0 -6
  460. package/dist/src/coin/stx/index.d.ts.map +0 -1
  461. package/dist/src/coin/stx/index.js +0 -32
  462. package/dist/src/coin/stx/keyPair.d.ts +0 -55
  463. package/dist/src/coin/stx/keyPair.d.ts.map +0 -1
  464. package/dist/src/coin/stx/keyPair.js +0 -140
  465. package/dist/src/coin/stx/sendmanyBuilder.d.ts +0 -23
  466. package/dist/src/coin/stx/sendmanyBuilder.d.ts.map +0 -1
  467. package/dist/src/coin/stx/sendmanyBuilder.js +0 -75
  468. package/dist/src/coin/stx/transaction.d.ts +0 -49
  469. package/dist/src/coin/stx/transaction.d.ts.map +0 -1
  470. package/dist/src/coin/stx/transaction.js +0 -225
  471. package/dist/src/coin/stx/transactionBuilder.d.ts +0 -86
  472. package/dist/src/coin/stx/transactionBuilder.d.ts.map +0 -1
  473. package/dist/src/coin/stx/transactionBuilder.js +0 -263
  474. package/dist/src/coin/stx/transactionBuilderFactory.d.ts +0 -30
  475. package/dist/src/coin/stx/transactionBuilderFactory.d.ts.map +0 -1
  476. package/dist/src/coin/stx/transactionBuilderFactory.js +0 -81
  477. package/dist/src/coin/stx/transferBuilder.d.ts +0 -30
  478. package/dist/src/coin/stx/transferBuilder.d.ts.map +0 -1
  479. package/dist/src/coin/stx/transferBuilder.js +0 -99
  480. package/dist/src/coin/stx/utils.d.ts +0 -207
  481. package/dist/src/coin/stx/utils.d.ts.map +0 -1
  482. package/dist/src/coin/stx/utils.js +0 -504
  483. package/dist/src/coin/trx/address.d.ts +0 -11
  484. package/dist/src/coin/trx/address.d.ts.map +0 -1
  485. package/dist/src/coin/trx/address.js +0 -13
  486. package/dist/src/coin/trx/contractCallBuilder.d.ts +0 -96
  487. package/dist/src/coin/trx/contractCallBuilder.d.ts.map +0 -1
  488. package/dist/src/coin/trx/contractCallBuilder.js +0 -281
  489. package/dist/src/coin/trx/enum.d.ts +0 -23
  490. package/dist/src/coin/trx/enum.d.ts.map +0 -1
  491. package/dist/src/coin/trx/enum.js +0 -28
  492. package/dist/src/coin/trx/iface.d.ts +0 -92
  493. package/dist/src/coin/trx/iface.d.ts.map +0 -1
  494. package/dist/src/coin/trx/iface.js +0 -3
  495. package/dist/src/coin/trx/index.d.ts +0 -10
  496. package/dist/src/coin/trx/index.d.ts.map +0 -1
  497. package/dist/src/coin/trx/index.js +0 -39
  498. package/dist/src/coin/trx/keyPair.d.ts +0 -44
  499. package/dist/src/coin/trx/keyPair.d.ts.map +0 -1
  500. package/dist/src/coin/trx/keyPair.js +0 -121
  501. package/dist/src/coin/trx/transaction.d.ts +0 -74
  502. package/dist/src/coin/trx/transaction.d.ts.map +0 -1
  503. package/dist/src/coin/trx/transaction.js +0 -205
  504. package/dist/src/coin/trx/transactionBuilder.d.ts +0 -65
  505. package/dist/src/coin/trx/transactionBuilder.d.ts.map +0 -1
  506. package/dist/src/coin/trx/transactionBuilder.js +0 -215
  507. package/dist/src/coin/trx/utils.d.ts +0 -127
  508. package/dist/src/coin/trx/utils.d.ts.map +0 -1
  509. package/dist/src/coin/trx/utils.js +0 -369
  510. package/dist/src/coin/trx/wrappedBuilder.d.ts +0 -52
  511. package/dist/src/coin/trx/wrappedBuilder.d.ts.map +0 -1
  512. package/dist/src/coin/trx/wrappedBuilder.js +0 -104
  513. package/dist/src/coin/xrp/index.d.ts +0 -5
  514. package/dist/src/coin/xrp/index.d.ts.map +0 -1
  515. package/dist/src/coin/xrp/index.js +0 -29
  516. package/dist/src/coin/xrp/keyPair.d.ts +0 -10
  517. package/dist/src/coin/xrp/keyPair.d.ts.map +0 -1
  518. package/dist/src/coin/xrp/keyPair.js +0 -16
  519. package/dist/src/coin/xrp/transaction.d.ts +0 -10
  520. package/dist/src/coin/xrp/transaction.d.ts.map +0 -1
  521. package/dist/src/coin/xrp/transaction.js +0 -20
  522. package/dist/src/coin/xrp/transactionBuilder.d.ts +0 -27
  523. package/dist/src/coin/xrp/transactionBuilder.d.ts.map +0 -1
  524. package/dist/src/coin/xrp/transactionBuilder.js +0 -46
  525. package/dist/src/coin/xrp/transactionBuilderFactory.d.ts +0 -24
  526. package/dist/src/coin/xrp/transactionBuilderFactory.d.ts.map +0 -1
  527. package/dist/src/coin/xrp/transactionBuilderFactory.js +0 -38
  528. package/dist/src/coin/xrp/transferBuilder.d.ts +0 -14
  529. package/dist/src/coin/xrp/transferBuilder.d.ts.map +0 -1
  530. package/dist/src/coin/xrp/transferBuilder.js +0 -24
  531. package/dist/src/coin/xrp/utils.d.ts +0 -16
  532. package/dist/src/coin/xrp/utils.d.ts.map +0 -1
  533. package/dist/src/coin/xrp/utils.js +0 -32
  534. package/dist/src/coin/xrp/walletInitializationBuilder.d.ts +0 -14
  535. package/dist/src/coin/xrp/walletInitializationBuilder.d.ts.map +0 -1
  536. package/dist/src/coin/xrp/walletInitializationBuilder.js +0 -24
  537. package/dist/src/coin/xtz/address.d.ts +0 -8
  538. package/dist/src/coin/xtz/address.d.ts.map +0 -1
  539. package/dist/src/coin/xtz/address.js +0 -10
  540. package/dist/src/coin/xtz/iface.d.ts +0 -81
  541. package/dist/src/coin/xtz/iface.d.ts.map +0 -1
  542. package/dist/src/coin/xtz/iface.js +0 -3
  543. package/dist/src/coin/xtz/index.d.ts +0 -8
  544. package/dist/src/coin/xtz/index.d.ts.map +0 -1
  545. package/dist/src/coin/xtz/index.js +0 -37
  546. package/dist/src/coin/xtz/keyPair.d.ts +0 -40
  547. package/dist/src/coin/xtz/keyPair.d.ts.map +0 -1
  548. package/dist/src/coin/xtz/keyPair.js +0 -136
  549. package/dist/src/coin/xtz/multisigUtils.d.ts +0 -134
  550. package/dist/src/coin/xtz/multisigUtils.d.ts.map +0 -1
  551. package/dist/src/coin/xtz/multisigUtils.js +0 -1180
  552. package/dist/src/coin/xtz/transaction.d.ts +0 -119
  553. package/dist/src/coin/xtz/transaction.d.ts.map +0 -1
  554. package/dist/src/coin/xtz/transaction.js +0 -315
  555. package/dist/src/coin/xtz/transactionBuilder.d.ts +0 -171
  556. package/dist/src/coin/xtz/transactionBuilder.d.ts.map +0 -1
  557. package/dist/src/coin/xtz/transactionBuilder.js +0 -453
  558. package/dist/src/coin/xtz/transferBuilder.d.ts +0 -24
  559. package/dist/src/coin/xtz/transferBuilder.d.ts.map +0 -1
  560. package/dist/src/coin/xtz/transferBuilder.js +0 -64
  561. package/dist/src/coin/xtz/utils.d.ts +0 -265
  562. package/dist/src/coin/xtz/utils.d.ts.map +0 -1
  563. package/dist/src/coin/xtz/utils.js +0 -460
  564. package/dist/src/mpc/curves/baseCurve.d.ts +0 -18
  565. package/dist/src/mpc/curves/baseCurve.d.ts.map +0 -1
  566. package/dist/src/mpc/curves/baseCurve.js +0 -6
  567. package/dist/src/mpc/curves/ed25519.d.ts +0 -17
  568. package/dist/src/mpc/curves/ed25519.d.ts.map +0 -1
  569. package/dist/src/mpc/curves/ed25519.js +0 -48
  570. package/dist/src/mpc/curves/index.d.ts +0 -5
  571. package/dist/src/mpc/curves/index.d.ts.map +0 -1
  572. package/dist/src/mpc/curves/index.js +0 -6
  573. package/dist/src/mpc/hdTree.d.ts +0 -24
  574. package/dist/src/mpc/hdTree.d.ts.map +0 -1
  575. package/dist/src/mpc/hdTree.js +0 -94
  576. package/dist/src/mpc/shamir.d.ts +0 -26
  577. package/dist/src/mpc/shamir.d.ts.map +0 -1
  578. package/dist/src/mpc/shamir.js +0 -86
  579. package/dist/src/mpc/tss.d.ts +0 -98
  580. package/dist/src/mpc/tss.d.ts.map +0 -1
  581. package/dist/src/mpc/tss.js +0 -277
  582. package/dist/src/mpc/util.d.ts +0 -7
  583. package/dist/src/mpc/util.d.ts.map +0 -1
  584. package/dist/src/mpc/util.js +0 -38
  585. package/dist/src/utils/crypto.d.ts +0 -99
  586. package/dist/src/utils/crypto.d.ts.map +0 -1
  587. package/dist/src/utils/crypto.js +0 -260
  588. package/dist/src/utils/ed25519KeyDeriver.d.ts +0 -49
  589. package/dist/src/utils/ed25519KeyDeriver.d.ts.map +0 -1
  590. package/dist/src/utils/ed25519KeyDeriver.js +0 -87
  591. package/resources/hbar/protobuf/BasicTypes.proto +0 -424
  592. package/resources/hbar/protobuf/CryptoCreate.proto +0 -47
  593. package/resources/hbar/protobuf/CryptoTransfer.proto +0 -33
  594. package/resources/hbar/protobuf/Duration.proto +0 -28
  595. package/resources/hbar/protobuf/Timestamp.proto +0 -34
  596. package/resources/hbar/protobuf/Transaction.proto +0 -35
  597. package/resources/hbar/protobuf/TransactionBody.proto +0 -24
  598. package/resources/hbar/protobuf/TransactionContents.proto +0 -33
  599. package/resources/hbar/protobuf/hedera.d.ts +0 -4612
  600. package/resources/hbar/protobuf/hedera.js +0 -12192
  601. package/resources/trx/protobuf/Contract.proto +0 -256
  602. package/resources/trx/protobuf/Discover.proto +0 -44
  603. package/resources/trx/protobuf/tron.d.ts +0 -11024
  604. package/resources/trx/protobuf/tron.js +0 -31510
  605. package/resources/trx/protobuf/tron.proto +0 -677
@@ -1,139 +0,0 @@
1
- import { PrivateKey } from '@hashgraph/sdk';
2
- import { proto } from '../../../resources/hbar/protobuf/hedera';
3
- import { AddressDetails } from './ifaces';
4
- import { toHex, toUint8Array } from '@bitgo/sdk-core';
5
- export { toHex, toUint8Array };
6
- /**
7
- * Returns whether or not the string is a valid Hedera account.
8
- *
9
- * In any form, `shard` and `realm` are assumed to be 0 if not provided.
10
- *
11
- * @param {string} address - the address to be validated
12
- * @returns {boolean} - the validation result
13
- */
14
- export declare function isValidAddress(address: string): boolean;
15
- /**
16
- * Returns whether or not the string is a valid Hedera transaction id or not.
17
- *
18
- * @param {string} txId - the transaction id to be validated
19
- * @returns {boolean} - the validation result
20
- */
21
- export declare function isValidTransactionId(txId: string): boolean;
22
- /**
23
- * Returns whether or not the string is a valid Hedera public key
24
- *
25
- * @param {string} key - the public key to be validated
26
- * @returns {boolean} - the validation result
27
- */
28
- export declare function isValidPublicKey(key: string): boolean;
29
- /**
30
- * Checks whether nodeJS.process exist and if a node version is defined to determine if this is an nodeJS environment
31
- *
32
- * @returns {boolean} - the validation result
33
- */
34
- export declare function isNodeEnvironment(): boolean;
35
- /**
36
- * Calculate the current time with nanoseconds precision
37
- *
38
- * @returns {string} the current time in seconds
39
- */
40
- export declare function getCurrentTime(): string;
41
- /**
42
- * Returns whether or not the string is a valid timestamp. Nanoseconds are optional and can be passed after a dot, for
43
- * example: 1595374723.356981689
44
- *
45
- * @param {string} time - the timestamp to be validated
46
- * @returns {boolean} the validation result
47
- */
48
- export declare function isValidTimeString(time: string): boolean;
49
- /**
50
- * Returns whether or not the string is a valid amount number
51
- *
52
- * @param {string} amount - the string to validate
53
- * @returns {boolean} - the validation result
54
- */
55
- export declare function isValidAmount(amount: string): boolean;
56
- /**
57
- * Returns whether the provided raw transaction accommodates to bitgo's preferred format
58
- *
59
- * @param {any} rawTransaction - The raw transaction to be checked
60
- * @returns {boolean} the validation result
61
- */
62
- export declare function isValidRawTransactionFormat(rawTransaction: any): boolean;
63
- /**
64
- * Returns a string representation of an {proto.IAccountID} object
65
- *
66
- * @param {proto.IAccountID} - account id to be cast to string
67
- * @returns {string} - the string representation of the {proto.IAccountID}
68
- */
69
- export declare function stringifyAccountId({ shardNum, realmNum, accountNum }: proto.IAccountID): string;
70
- /**
71
- * Returns a string representation of an {proto.ITimestamp} object
72
- *
73
- * @param {proto.ITimestamp} - timestamp to be cast to string
74
- * @returns {string} - the string representation of the {proto.ITimestamp}
75
- */
76
- export declare function stringifyTxTime({ seconds, nanos }: proto.ITimestamp): string;
77
- /**
78
- * Remove the specified prefix from a string only if it starts with that prefix
79
- *
80
- * @param {string} prefix The prefix to be removed
81
- * @param {string} key The original string, usually a private or public key
82
- * @returns {string} The string without prefix
83
- */
84
- export declare function removePrefix(prefix: string, key: string): string;
85
- /**
86
- * Check if this is a valid memo or not.
87
- *
88
- * @param memo
89
- */
90
- export declare function isValidMemo(memo: string): boolean;
91
- /**
92
- * Uses the native hashgraph SDK function to get a raw key.
93
- *
94
- * @param prv
95
- */
96
- export declare function createRawKey(prv: string): PrivateKey;
97
- /**
98
- * Converts an stellar public key to a ed25519 hex format.
99
- *
100
- * @param stellarPub
101
- * @param prv
102
- */
103
- export declare function convertFromStellarPub(stellarPub: string): string;
104
- /**
105
- * Compares an address to the base address to check if matchs.
106
- *
107
- * @param {String} address - an address
108
- * @param {String} baseAddress - a base address
109
- * @returns {boolean}
110
- */
111
- export declare function isSameBaseAddress(address: string, baseAddress: string): boolean;
112
- /**
113
- * Returns the base address portion of an address
114
- *
115
- * @param {String} address - an address
116
- * @returns {String} - the base address
117
- */
118
- export declare function getBaseAddress(address: string): string;
119
- /**
120
- * Process address into address and memo id
121
- *
122
- * @param rawAddress the address
123
- * @returns object containing address and memo id
124
- */
125
- export declare function getAddressDetails(rawAddress: string): AddressDetails;
126
- /**
127
- * Validate and return address with appended memo id
128
- *
129
- * @param {AddressDetails} addressDetails
130
- */
131
- export declare function normalizeAddress({ address, memoId }: AddressDetails): string;
132
- /**
133
- * Return boolean indicating whether input is a valid address with memo id
134
- *
135
- * @param {string} address address in the form <address>?memoId=<memoId>
136
- * @returns {boolean} true is input is a valid address
137
- */
138
- export declare function isValidAddressWithPaymentId(address: string): boolean;
139
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/coin/hbar/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAuC,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGjF,OAAO,EAAE,KAAK,EAAE,MAAM,yCAAyC,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAG1C,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;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,WAE7C;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAOrD;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,cAAc,EAAE,GAAG,GAAG,OAAO,CAQxE;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,UAEnE;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAKhE;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEjD;AAED;;;;GAIG;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,CAwBpE;AAED;;;;GAIG;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,310 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- var __importDefault = (this && this.__importDefault) || function (mod) {
22
- return (mod && mod.__esModule) ? mod : { "default": mod };
23
- };
24
- Object.defineProperty(exports, "__esModule", { value: true });
25
- exports.isValidAddressWithPaymentId = exports.normalizeAddress = exports.getAddressDetails = exports.getBaseAddress = exports.isSameBaseAddress = exports.convertFromStellarPub = exports.createRawKey = exports.isValidMemo = exports.removePrefix = exports.stringifyTxTime = exports.stringifyAccountId = exports.isValidRawTransactionFormat = exports.isValidAmount = exports.isValidTimeString = exports.getCurrentTime = exports.isNodeEnvironment = exports.isValidPublicKey = exports.isValidTransactionId = exports.isValidAddress = exports.toUint8Array = exports.toHex = void 0;
26
- const _ = __importStar(require("lodash"));
27
- const sdk_1 = require("@hashgraph/sdk");
28
- const bignumber_js_1 = __importDefault(require("bignumber.js"));
29
- const stellar = __importStar(require("stellar-sdk"));
30
- const url_1 = __importDefault(require("url"));
31
- const querystring_1 = __importDefault(require("querystring"));
32
- const sdk_core_1 = require("@bitgo/sdk-core");
33
- Object.defineProperty(exports, "toHex", { enumerable: true, get: function () { return sdk_core_1.toHex; } });
34
- Object.defineProperty(exports, "toUint8Array", { enumerable: true, get: function () { return sdk_core_1.toUint8Array; } });
35
- const MAX_TINYBARS_AMOUNT = new bignumber_js_1.default(2).pow(63).minus(1);
36
- /**
37
- * Returns whether or not the string is a valid Hedera account.
38
- *
39
- * In any form, `shard` and `realm` are assumed to be 0 if not provided.
40
- *
41
- * @param {string} address - the address to be validated
42
- * @returns {boolean} - the validation result
43
- */
44
- function isValidAddress(address) {
45
- if (_.isEmpty(address) || !address.match(/^[0-9]+(?:(?=\.)(\.[0-9]+){2}|(?!\.))$/)) {
46
- return false;
47
- }
48
- try {
49
- const acc = sdk_1.AccountId.fromString(address);
50
- return !_.isNaN(acc.num);
51
- }
52
- catch (e) {
53
- return false;
54
- }
55
- }
56
- exports.isValidAddress = isValidAddress;
57
- /**
58
- * Returns whether or not the string is a valid Hedera transaction id or not.
59
- *
60
- * @param {string} txId - the transaction id to be validated
61
- * @returns {boolean} - the validation result
62
- */
63
- function isValidTransactionId(txId) {
64
- if (_.isEmpty(txId)) {
65
- return false;
66
- }
67
- try {
68
- const tx = sdk_1.TransactionId.fromString(txId);
69
- if (_.isNil(tx.accountId)) {
70
- return false;
71
- }
72
- return !_.isNaN(tx.accountId.num);
73
- }
74
- catch (e) {
75
- return false;
76
- }
77
- }
78
- exports.isValidTransactionId = isValidTransactionId;
79
- /**
80
- * Returns whether or not the string is a valid Hedera public key
81
- *
82
- * @param {string} key - the public key to be validated
83
- * @returns {boolean} - the validation result
84
- */
85
- function isValidPublicKey(key) {
86
- if (_.isEmpty(key)) {
87
- return false;
88
- }
89
- try {
90
- const pubKey = sdk_1.PublicKey.fromString(key.toLowerCase());
91
- return !_.isNaN(pubKey.toString());
92
- }
93
- catch (e) {
94
- return false;
95
- }
96
- }
97
- exports.isValidPublicKey = isValidPublicKey;
98
- /**
99
- * Checks whether nodeJS.process exist and if a node version is defined to determine if this is an nodeJS environment
100
- *
101
- * @returns {boolean} - the validation result
102
- */
103
- function isNodeEnvironment() {
104
- return typeof process !== 'undefined' && typeof process.versions.node !== 'undefined';
105
- }
106
- exports.isNodeEnvironment = isNodeEnvironment;
107
- /**
108
- * Calculate the current time with nanoseconds precision
109
- *
110
- * @returns {string} the current time in seconds
111
- */
112
- function getCurrentTime() {
113
- if (isNodeEnvironment()) {
114
- const nanos = process.hrtime()[1];
115
- const seconds = (Date.now() * 1000000 + nanos) / 1000000000;
116
- return seconds.toFixed(9);
117
- }
118
- else {
119
- return (performance.timeOrigin + performance.now()).toFixed(9);
120
- }
121
- }
122
- exports.getCurrentTime = getCurrentTime;
123
- /**
124
- * Returns whether or not the string is a valid timestamp. Nanoseconds are optional and can be passed after a dot, for
125
- * example: 1595374723.356981689
126
- *
127
- * @param {string} time - the timestamp to be validated
128
- * @returns {boolean} the validation result
129
- */
130
- function isValidTimeString(time) {
131
- return /^[0-9]+(\.[0-9]+)?$/.test(time);
132
- }
133
- exports.isValidTimeString = isValidTimeString;
134
- /**
135
- * Returns whether or not the string is a valid amount number
136
- *
137
- * @param {string} amount - the string to validate
138
- * @returns {boolean} - the validation result
139
- */
140
- function isValidAmount(amount) {
141
- const bigNumberAmount = new bignumber_js_1.default(amount);
142
- return (bigNumberAmount.isInteger() &&
143
- bigNumberAmount.isGreaterThanOrEqualTo(0) &&
144
- bigNumberAmount.isLessThanOrEqualTo(MAX_TINYBARS_AMOUNT));
145
- }
146
- exports.isValidAmount = isValidAmount;
147
- /**
148
- * Returns whether the provided raw transaction accommodates to bitgo's preferred format
149
- *
150
- * @param {any} rawTransaction - The raw transaction to be checked
151
- * @returns {boolean} the validation result
152
- */
153
- function isValidRawTransactionFormat(rawTransaction) {
154
- if ((typeof rawTransaction === 'string' && /^[0-9a-fA-F]+$/.test(rawTransaction)) ||
155
- (Buffer.isBuffer(rawTransaction) && Uint8Array.from(rawTransaction))) {
156
- return true;
157
- }
158
- return false;
159
- }
160
- exports.isValidRawTransactionFormat = isValidRawTransactionFormat;
161
- /**
162
- * Returns a string representation of an {proto.IAccountID} object
163
- *
164
- * @param {proto.IAccountID} - account id to be cast to string
165
- * @returns {string} - the string representation of the {proto.IAccountID}
166
- */
167
- function stringifyAccountId({ shardNum, realmNum, accountNum }) {
168
- return `${shardNum || 0}.${realmNum || 0}.${accountNum}`;
169
- }
170
- exports.stringifyAccountId = stringifyAccountId;
171
- /**
172
- * Returns a string representation of an {proto.ITimestamp} object
173
- *
174
- * @param {proto.ITimestamp} - timestamp to be cast to string
175
- * @returns {string} - the string representation of the {proto.ITimestamp}
176
- */
177
- function stringifyTxTime({ seconds, nanos }) {
178
- return `${seconds}.${nanos}`;
179
- }
180
- exports.stringifyTxTime = stringifyTxTime;
181
- /**
182
- * Remove the specified prefix from a string only if it starts with that prefix
183
- *
184
- * @param {string} prefix The prefix to be removed
185
- * @param {string} key The original string, usually a private or public key
186
- * @returns {string} The string without prefix
187
- */
188
- function removePrefix(prefix, key) {
189
- if (key.startsWith(prefix)) {
190
- return key.slice(prefix.length);
191
- }
192
- return key;
193
- }
194
- exports.removePrefix = removePrefix;
195
- /**
196
- * Check if this is a valid memo or not.
197
- *
198
- * @param memo
199
- */
200
- function isValidMemo(memo) {
201
- return !(_.isEmpty(memo) || Buffer.from(memo).length > 100);
202
- }
203
- exports.isValidMemo = isValidMemo;
204
- /**
205
- * Uses the native hashgraph SDK function to get a raw key.
206
- *
207
- * @param prv
208
- */
209
- function createRawKey(prv) {
210
- return sdk_1.PrivateKey.fromString(prv);
211
- }
212
- exports.createRawKey = createRawKey;
213
- /**
214
- * Converts an stellar public key to a ed25519 hex format.
215
- *
216
- * @param stellarPub
217
- * @param prv
218
- */
219
- function convertFromStellarPub(stellarPub) {
220
- if (!stellar.StrKey.isValidEd25519PublicKey(stellarPub)) {
221
- throw new Error('Not a valid stellar pub.');
222
- }
223
- const rawKey = stellar.StrKey.decodeEd25519PublicKey(stellarPub);
224
- return rawKey.toString('hex');
225
- }
226
- exports.convertFromStellarPub = convertFromStellarPub;
227
- /**
228
- * Compares an address to the base address to check if matchs.
229
- *
230
- * @param {String} address - an address
231
- * @param {String} baseAddress - a base address
232
- * @returns {boolean}
233
- */
234
- function isSameBaseAddress(address, baseAddress) {
235
- if (!isValidAddressWithPaymentId(address)) {
236
- throw new sdk_core_1.UtilsError(`invalid address: ${address}`);
237
- }
238
- return getBaseAddress(address) === getBaseAddress(baseAddress);
239
- }
240
- exports.isSameBaseAddress = isSameBaseAddress;
241
- /**
242
- * Returns the base address portion of an address
243
- *
244
- * @param {String} address - an address
245
- * @returns {String} - the base address
246
- */
247
- function getBaseAddress(address) {
248
- const addressDetails = getAddressDetails(address);
249
- return addressDetails.address;
250
- }
251
- exports.getBaseAddress = getBaseAddress;
252
- /**
253
- * Process address into address and memo id
254
- *
255
- * @param rawAddress the address
256
- * @returns object containing address and memo id
257
- */
258
- function getAddressDetails(rawAddress) {
259
- const addressDetails = url_1.default.parse(rawAddress);
260
- const queryDetails = addressDetails.query ? querystring_1.default.parse(addressDetails.query) : {};
261
- const baseAddress = addressDetails.pathname;
262
- if (!isValidAddress(baseAddress)) {
263
- throw new sdk_core_1.UtilsError(`invalid address: ${rawAddress}`);
264
- }
265
- // address doesn't have a memo id or memoId is empty
266
- if (baseAddress === rawAddress) {
267
- return {
268
- address: rawAddress,
269
- memoId: undefined,
270
- };
271
- }
272
- const memoId = queryDetails.memoId;
273
- if (!isValidMemo(memoId)) {
274
- throw new sdk_core_1.UtilsError(`invalid address: '${rawAddress}', memoId is not valid`);
275
- }
276
- return {
277
- address: baseAddress,
278
- memoId,
279
- };
280
- }
281
- exports.getAddressDetails = getAddressDetails;
282
- /**
283
- * Validate and return address with appended memo id
284
- *
285
- * @param {AddressDetails} addressDetails
286
- */
287
- function normalizeAddress({ address, memoId }) {
288
- if (memoId && isValidMemo(memoId)) {
289
- return `${address}?memoId=${memoId}`;
290
- }
291
- return address;
292
- }
293
- exports.normalizeAddress = normalizeAddress;
294
- /**
295
- * Return boolean indicating whether input is a valid address with memo id
296
- *
297
- * @param {string} address address in the form <address>?memoId=<memoId>
298
- * @returns {boolean} true is input is a valid address
299
- */
300
- function isValidAddressWithPaymentId(address) {
301
- try {
302
- const addressDetails = getAddressDetails(address);
303
- return address === normalizeAddress(addressDetails);
304
- }
305
- catch (e) {
306
- return false;
307
- }
308
- }
309
- exports.isValidAddressWithPaymentId = isValidAddressWithPaymentId;
310
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29pbi9oYmFyL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwwQ0FBNEI7QUFDNUIsd0NBQWlGO0FBQ2pGLGdFQUFxQztBQUNyQyxxREFBdUM7QUFHdkMsOENBQXNCO0FBQ3RCLDhEQUFzQztBQUN0Qyw4Q0FBa0U7QUFDekQsc0ZBREEsZ0JBQUssT0FDQTtBQUFFLDZGQURBLHVCQUFZLE9BQ0E7QUFFNUIsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLHNCQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUU5RDs7Ozs7OztHQU9HO0FBQ0gsU0FBZ0IsY0FBYyxDQUFDLE9BQWU7SUFDNUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyx3Q0FBd0MsQ0FBQyxFQUFFO1FBQ2xGLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFDRCxJQUFJO1FBQ0YsTUFBTSxHQUFHLEdBQUcsZUFBUyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMxQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7S0FDMUI7SUFBQyxPQUFPLENBQUMsRUFBRTtRQUNWLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7QUFDSCxDQUFDO0FBVkQsd0NBVUM7QUFFRDs7Ozs7R0FLRztBQUNILFNBQWdCLG9CQUFvQixDQUFDLElBQVk7SUFDL0MsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ25CLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFDRCxJQUFJO1FBQ0YsTUFBTSxFQUFFLEdBQUcsbUJBQWEsQ0FBQyxVQUFVLENB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QUFFLFNBQVM7U0FDbEIsQ0FBQztLQUNIO0lBQ0QsTUFBTSxNQUFNLEdBQVcsWUFBWSxDQUFDLE1BQU0sQ0FBQztJQUMzQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1FBQ3hCLE1BQU0sSUFBSSxxQkFBVSxDQUFDLHFCQUFxQixVQUFVLHdCQUF3QixDQUFDLENBQUM7S0FDL0U7SUFFRCxPQUFPO1FBQ0wsT0FBTyxFQUFFLFdBQVc7UUFDcEIsTUFBTTtLQUNQLENBQUM7QUFDSixDQUFDO0FBeEJELDhDQXdCQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFnQixnQkFBZ0IsQ0FBQyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQWtCO0lBQ2xFLElBQUksTUFBTSxJQUFJLFdBQVcsQ0FBQyxNQUFNLENBQUMsRUFBRTtRQUNqQyxPQUFPLEdBQUcsT0FBTyxXQUFXLE1BQU0sRUFBRSxDQUFDO0tBQ3RDO0lBQ0QsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQztBQUxELDRDQUtDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxTQUFnQiwyQkFBMkIsQ0FBQyxPQUFlO0lBQ3pELElBQUk7UUFDRixNQUFNLGNBQWMsR0FBRyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNsRCxPQUFPLE9BQU8sS0FBSyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztLQUNyRDtJQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ1YsT0FBTyxLQUFLLENBQUM7S0FDZDtBQUNILENBQUM7QUFQRCxrRUFPQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uSWQsIEFjY291bnRJZCwgUHVibGljS2V5LCBQcml2YXRlS2V5IH0gZnJvbSAnQGhhc2hncmFwaC9zZGsnO1xuaW1wb3J0IEJpZ051bWJlciBmcm9tICdiaWdudW1iZXIuanMnO1xuaW1wb3J0ICogYXMgc3RlbGxhciBmcm9tICdzdGVsbGFyLXNkayc7XG5pbXBvcnQgeyBwcm90byB9IGZyb20gJy4uLy4uLy4uL3Jlc291cmNlcy9oYmFyL3Byb3RvYnVmL2hlZGVyYSc7XG5pbXBvcnQgeyBBZGRyZXNzRGV0YWlscyB9IGZyb20gJy4vaWZhY2VzJztcbmltcG9ydCB1cmwgZnJvbSAndXJsJztcbmltcG9ydCBxdWVyeXN0cmluZyBmcm9tICdxdWVyeXN0cmluZyc7XG5pbXBvcnQgeyB0b0hleCwgdG9VaW50OEFycmF5LCBVdGlsc0Vycm9yIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmV4cG9ydCB7IHRvSGV4LCB0b1VpbnQ4QXJyYXkgfTtcblxuY29uc3QgTUFYX1RJTllCQVJTX0FNT1VOVCA9IG5ldyBCaWdOdW1iZXIoMikucG93KDYzKS5taW51cygxKTtcblxuLyoqXG4gKiBSZXR1cm5zIHdoZXRoZXIgb3Igbm90IHRoZSBzdHJpbmcgaXMgYSB2YWxpZCBIZWRlcmEgYWNjb3VudC5cbiAqXG4gKiBJbiBhbnkgZm9ybSwgYHNoYXJkYCBhbmQgYHJlYWxtYCBhcmUgYXNzdW1lZCB0byBiZSAwIGlmIG5vdCBwcm92aWRlZC5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gYWRkcmVzcyAtIHRoZSBhZGRyZXNzIHRvIGJlIHZhbGlkYXRlZFxuICogQHJldHVybnMge2Jvb2xlYW59IC0gdGhlIHZhbGlkYXRpb24gcmVzdWx0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkQWRkcmVzcyhhZGRyZXNzOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgaWYgKF8uaXNFbXB0eShhZGRyZXNzKSB8fCAhYWRkcmVzcy5tYXRjaCgvXlswLTldKyg/Oig/PVxcLikoXFwuWzAtOV0rKXsyfXwoPyFcXC4pKSQvKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICB0cnkge1xuICAgIGNvbnN0IGFjYyA9IEFjY291bnRJZC5mcm9tU3RyaW5nKGFkZHJlc3MpO1xuICAgIHJldHVybiAhXy5pc05hTihhY2MubnVtKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG4vKipcbiAqIFJldHVybnMgd2hldGhlciBvciBub3QgdGhlIHN0cmluZyBpcyBhIHZhbGlkIEhlZGVyYSB0cmFuc2FjdGlvbiBpZCBvciBub3QuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHR4SWQgLSB0aGUgdHJhbnNhY3Rpb24gaWQgdG8gYmUgdmFsaWRhdGVkXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gLSB0aGUgdmFsaWRhdGlvbiByZXN1bHRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRUcmFuc2FjdGlvbklkKHR4SWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICBpZiAoXy5pc0VtcHR5KHR4SWQpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHRyeSB7XG4gICAgY29uc3QgdHggPSBUcmFuc2FjdGlvbklkLmZyb21TdHJpbmcodHhJZCk7XG4gICAgaWYgKF8uaXNOaWwodHguYWNjb3VudElkKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gIV8uaXNOYU4odHguYWNjb3VudElkLm51bSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuLyoqXG4gKiBSZXR1cm5zIHdoZXRoZXIgb3Igbm90IHRoZSBzdHJpbmcgaXMgYSB2YWxpZCBIZWRlcmEgcHVibGljIGtleVxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgLSB0aGUgIHB1YmxpYyBrZXkgdG8gYmUgdmFsaWRhdGVkXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gLSB0aGUgdmFsaWRhdGlvbiByZXN1bHRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRQdWJsaWNLZXkoa2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgaWYgKF8uaXNFbXB0eShrZXkpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHRyeSB7XG4gICAgY29uc3QgcHViS2V5ID0gUHVibGljS2V5LmZyb21TdHJpbmcoa2V5LnRvTG93ZXJDYXNlKCkpO1xuICAgIHJldHVybiAhXy5pc05hTihwdWJLZXkudG9TdHJpbmcoKSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBub2RlSlMucHJvY2VzcyBleGlzdCBhbmQgaWYgYSBub2RlIHZlcnNpb24gaXMgZGVmaW5lZCB0byBkZXRlcm1pbmUgaWYgdGhpcyBpcyBhbiBub2RlSlMgZW52aXJvbm1lbnRcbiAqXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gLSB0aGUgdmFsaWRhdGlvbiByZXN1bHRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzTm9kZUVudmlyb25tZW50KCk6IGJvb2xlYW4ge1xuICByZXR1cm4gdHlwZW9mIHByb2Nlc3MgIT09ICd1bmRlZmluZWQnICYmIHR5cGVvZiBwcm9jZXNzLnZlcnNpb25zLm5vZGUgIT09ICd1bmRlZmluZWQnO1xufVxuXG4vKipcbiAqIENhbGN1bGF0ZSB0aGUgY3VycmVudCB0aW1lIHdpdGggbmFub3NlY29uZHMgcHJlY2lzaW9uXG4gKlxuICogQHJldHVybnMge3N0cmluZ30gdGhlIGN1cnJlbnQgdGltZSBpbiBzZWNvbmRzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRDdXJyZW50VGltZSgpOiBzdHJpbmcge1xuICBpZiAoaXNOb2RlRW52aXJvbm1lbnQoKSkge1xuICAgIGNvbnN0IG5hbm9zID0gcHJvY2Vzcy5ocnRpbWUoKVsxXTtcbiAgICBjb25zdCBzZWNvbmRzID0gKERhdGUubm93KCkgKiAxMDAwMDAwICsgbmFub3MpIC8gMTAwMDAwMDAwMDtcbiAgICByZXR1cm4gc2Vjb25kcy50b0ZpeGVkKDkpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiAocGVyZm9ybWFuY2UudGltZU9yaWdpbiArIHBlcmZvcm1hbmNlLm5vdygpKS50b0ZpeGVkKDkpO1xuICB9XG59XG5cbi8qKlxuICogUmV0dXJucyB3aGV0aGVyIG9yIG5vdCB0aGUgc3RyaW5nIGlzIGEgdmFsaWQgdGltZXN0YW1wLiBOYW5vc2Vjb25kcyBhcmUgb3B0aW9uYWwgYW5kIGNhbiBiZSBwYXNzZWQgYWZ0ZXIgYSBkb3QsIGZvclxuICogZXhhbXBsZTogMTU5NTM3NDcyMy4zNTY5ODE2ODlcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gdGltZSAtIHRoZSB0aW1lc3RhbXAgdG8gYmUgdmFsaWRhdGVkXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gdGhlIHZhbGlkYXRpb24gcmVzdWx0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkVGltZVN0cmluZyh0aW1lOiBzdHJpbmcpIHtcbiAgcmV0dXJuIC9eWzAtOV0rKFxcLlswLTldKyk/JC8udGVzdCh0aW1lKTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHdoZXRoZXIgb3Igbm90IHRoZSBzdHJpbmcgaXMgYSB2YWxpZCBhbW91bnQgbnVtYmVyXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGFtb3VudCAtIHRoZSBzdHJpbmcgdG8gdmFsaWRhdGVcbiAqIEByZXR1cm5zIHtib29sZWFufSAtIHRoZSB2YWxpZGF0aW9uIHJlc3VsdFxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZEFtb3VudChhbW91bnQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICBjb25zdCBiaWdOdW1iZXJBbW91bnQgPSBuZXcgQmlnTnVtYmVyKGFtb3VudCk7XG4gIHJldHVybiAoXG4gICAgYmlnTnVtYmVyQW1vdW50LmlzSW50ZWdlcigpICYmXG4gICAgYmlnTnVtYmVyQW1vdW50LmlzR3JlYXRlclRoYW5PckVxdWFsVG8oMCkgJiZcbiAgICBiaWdOdW1iZXJBbW91bnQuaXNMZXNzVGhhbk9yRXF1YWxUbyhNQVhfVElOWUJBUlNfQU1PVU5UKVxuICApO1xufVxuXG4vKipcbiAqIFJldHVybnMgd2hldGhlciB0aGUgcHJvdmlkZWQgcmF3IHRyYW5zYWN0aW9uIGFjY29tbW9kYXRlcyB0byBiaXRnbydzIHByZWZlcnJlZCBmb3JtYXRcbiAqXG4gKiBAcGFyYW0ge2FueX0gcmF3VHJhbnNhY3Rpb24gLSBUaGUgcmF3IHRyYW5zYWN0aW9uIHRvIGJlIGNoZWNrZWRcbiAqIEByZXR1cm5zIHtib29sZWFufSB0aGUgdmFsaWRhdGlvbiByZXN1bHRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRSYXdUcmFuc2FjdGlvbkZvcm1hdChyYXdUcmFuc2FjdGlvbjogYW55KTogYm9vbGVhbiB7XG4gIGlmIChcbiAgICAodHlwZW9mIHJhd1RyYW5zYWN0aW9uID09PSAnc3RyaW5nJyAmJiAvXlswLTlhLWZBLUZdKyQvLnRlc3QocmF3VHJhbnNhY3Rpb24pKSB8fFxuICAgIChCdWZmZXIuaXNCdWZmZXIocmF3VHJhbnNhY3Rpb24pICYmIFVpbnQ4QXJyYXkuZnJvbShyYXdUcmFuc2FjdGlvbikpXG4gICkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIHJldHVybiBmYWxzZTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIGFuIHtwcm90by5JQWNjb3VudElEfSBvYmplY3RcbiAqXG4gKiBAcGFyYW0ge3Byb3RvLklBY2NvdW50SUR9IC0gYWNjb3VudCBpZCB0byBiZSBjYXN0IHRvIHN0cmluZ1xuICogQHJldHVybnMge3N0cmluZ30gLSB0aGUgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB7cHJvdG8uSUFjY291bnRJRH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN0cmluZ2lmeUFjY291bnRJZCh7IHNoYXJkTnVtLCByZWFsbU51bSwgYWNjb3VudE51bSB9OiBwcm90by5JQWNjb3VudElEKTogc3RyaW5nIHtcbiAgcmV0dXJuIGAke3NoYXJkTnVtIHx8IDB9LiR7cmVhbG1OdW0gfHwgMH0uJHthY2NvdW50TnVtfWA7XG59XG5cbi8qKlxuICogUmV0dXJucyBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhbiB7cHJvdG8uSVRpbWVzdGFtcH0gb2JqZWN0XG4gKlxuICogQHBhcmFtIHtwcm90by5JVGltZXN0YW1wfSAtIHRpbWVzdGFtcCB0byBiZSBjYXN0IHRvIHN0cmluZ1xuICogQHJldHVybnMge3N0cmluZ30gLSB0aGUgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB7cHJvdG8uSVRpbWVzdGFtcH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN0cmluZ2lmeVR4VGltZSh7IHNlY29uZHMsIG5hbm9zIH06IHByb3RvLklUaW1lc3RhbXApIHtcbiAgcmV0dXJuIGAke3NlY29uZHN9LiR7bmFub3N9YDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIHNwZWNpZmllZCBwcmVmaXggZnJvbSBhIHN0cmluZyBvbmx5IGlmIGl0IHN0YXJ0cyB3aXRoIHRoYXQgcHJlZml4XG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHByZWZpeCBUaGUgcHJlZml4IHRvIGJlIHJlbW92ZWRcbiAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIG9yaWdpbmFsIHN0cmluZywgdXN1YWxseSBhIHByaXZhdGUgb3IgcHVibGljIGtleVxuICogQHJldHVybnMge3N0cmluZ30gVGhlIHN0cmluZyB3aXRob3V0IHByZWZpeFxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlUHJlZml4KHByZWZpeDogc3RyaW5nLCBrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gIGlmIChrZXkuc3RhcnRzV2l0aChwcmVmaXgpKSB7XG4gICAgcmV0dXJuIGtleS5zbGljZShwcmVmaXgubGVuZ3RoKTtcbiAgfVxuICByZXR1cm4ga2V5O1xufVxuXG4vKipcbiAqIENoZWNrIGlmIHRoaXMgaXMgYSB2YWxpZCBtZW1vIG9yIG5vdC5cbiAqXG4gKiBAcGFyYW0gbWVtb1xuICovXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZE1lbW8obWVtbzogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiAhKF8uaXNFbXB0eShtZW1vKSB8fCBCdWZmZXIuZnJvbShtZW1vKS5sZW5ndGggPiAxMDApO1xufVxuXG4vKipcbiAqIFVzZXMgdGhlIG5hdGl2ZSBoYXNoZ3JhcGggU0RLIGZ1bmN0aW9uIHRvIGdldCBhIHJhdyBrZXkuXG4gKlxuICogQHBhcmFtIHBydlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUmF3S2V5KHBydjogc3RyaW5nKTogUHJpdmF0ZUtleSB7XG4gIHJldHVybiBQcml2YXRlS2V5LmZyb21TdHJpbmcocHJ2KTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhbiBzdGVsbGFyIHB1YmxpYyBrZXkgdG8gYSBlZDI1NTE5IGhleCBmb3JtYXQuXG4gKlxuICogQHBhcmFtIHN0ZWxsYXJQdWJcbiAqIEBwYXJhbSBwcnZcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnRGcm9tU3RlbGxhclB1YihzdGVsbGFyUHViOiBzdHJpbmcpOiBzdHJpbmcge1xuICBpZiAoIXN0ZWxsYXIuU3RyS2V5LmlzVmFsaWRFZDI1NTE5UHVibGljS2V5KHN0ZWxsYXJQdWIpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdOb3QgYSB2YWxpZCBzdGVsbGFyIHB1Yi4nKTtcbiAgfVxuXG4gIGNvbnN0IHJhd0tleTogQnVmZmVyID0gc3RlbGxhci5TdHJLZXkuZGVjb2RlRWQyNTUxOVB1YmxpY0tleShzdGVsbGFyUHViKTtcbiAgcmV0dXJuIHJhd0tleS50b1N0cmluZygnaGV4Jyk7XG59XG5cbi8qKlxuICogQ29tcGFyZXMgYW4gYWRkcmVzcyB0byB0aGUgYmFzZSBhZGRyZXNzIHRvIGNoZWNrIGlmIG1hdGNocy5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gYWRkcmVzcyAtIGFuIGFkZHJlc3NcbiAqIEBwYXJhbSB7U3RyaW5nfSBiYXNlQWRkcmVzcyAtIGEgYmFzZSBhZGRyZXNzXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzU2FtZUJhc2VBZGRyZXNzKGFkZHJlc3M6IHN0cmluZywgYmFzZUFkZHJlc3M6IHN0cmluZyk6IGJvb2xlYW4ge1xuICBpZiAoIWlzVmFsaWRBZGRyZXNzV2l0aFBheW1lbnRJZChhZGRyZXNzKSkge1xuICAgIHRocm93IG5ldyBVdGlsc0Vycm9yKGBpbnZhbGlkIGFkZHJlc3M6ICR7YWRkcmVzc31gKTtcbiAgfVxuICByZXR1cm4gZ2V0QmFzZUFkZHJlc3MoYWRkcmVzcykgPT09IGdldEJhc2VBZGRyZXNzKGJhc2VBZGRyZXNzKTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBiYXNlIGFkZHJlc3MgcG9ydGlvbiBvZiBhbiBhZGRyZXNzXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IGFkZHJlc3MgLSBhbiBhZGRyZXNzXG4gKiBAcmV0dXJucyB7U3RyaW5nfSAtIHRoZSBiYXNlIGFkZHJlc3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEJhc2VBZGRyZXNzKGFkZHJlc3M6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IGFkZHJlc3NEZXRhaWxzID0gZ2V0QWRkcmVzc0RldGFpbHMoYWRkcmVzcyk7XG4gIHJldHVybiBhZGRyZXNzRGV0YWlscy5hZGRyZXNzO1xufVxuXG4vKipcbiAqIFByb2Nlc3MgYWRkcmVzcyBpbnRvIGFkZHJlc3MgYW5kIG1lbW8gaWRcbiAqXG4gKiBAcGFyYW0gcmF3QWRkcmVzcyB0aGUgYWRkcmVzc1xuICogQHJldHVybnMgb2JqZWN0IGNvbnRhaW5pbmcgYWRkcmVzcyBhbmQgbWVtbyBpZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0QWRkcmVzc0RldGFpbHMocmF3QWRkcmVzczogc3RyaW5nKTogQWRkcmVzc0RldGFpbHMge1xuICBjb25zdCBhZGRyZXNzRGV0YWlscyA9IHVybC5wYXJzZShyYXdBZGRyZXNzKTtcbiAgY29uc3QgcXVlcnlEZXRhaWxzID0gYWRkcmVzc0RldGFpbHMucXVlcnkgPyBxdWVyeXN0cmluZy5wYXJzZShhZGRyZXNzRGV0YWlscy5xdWVyeSkgOiB7fTtcbiAgY29uc3QgYmFzZUFkZHJlc3MgPSA8c3RyaW5nPmFkZHJlc3NEZXRhaWxzLnBhdGhuYW1lO1xuICBpZiAoIWlzVmFsaWRBZGRyZXNzKGJhc2VBZGRyZXNzKSkge1xuICAgIHRocm93IG5ldyBVdGlsc0Vycm9yKGBpbnZhbGlkIGFkZHJlc3M6ICR7cmF3QWRkcmVzc31gKTtcbiAgfVxuXG4gIC8vIGFkZHJlc3MgZG9lc24ndCBoYXZlIGEgbWVtbyBpZCBvciBtZW1vSWQgaXMgZW1wdHlcbiAgaWYgKGJhc2VBZGRyZXNzID09PSByYXdBZGRyZXNzKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFkZHJlc3M6IHJhd0FkZHJlc3MsXG4gICAgICBtZW1vSWQ6IHVuZGVmaW5lZCxcbiAgICB9O1xuICB9XG4gIGNvbnN0IG1lbW9JZCA9IDxzdHJpbmc+cXVlcnlEZXRhaWxzLm1lbW9JZDtcbiAgaWYgKCFpc1ZhbGlkTWVtbyhtZW1vSWQpKSB7XG4gICAgdGhyb3cgbmV3IFV0aWxzRXJyb3IoYGludmFsaWQgYWRkcmVzczogJyR7cmF3QWRkcmVzc30nLCBtZW1vSWQgaXMgbm90IHZhbGlkYCk7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGFkZHJlc3M6IGJhc2VBZGRyZXNzLFxuICAgIG1lbW9JZCxcbiAgfTtcbn1cblxuLyoqXG4gKiBWYWxpZGF0ZSBhbmQgcmV0dXJuIGFkZHJlc3Mgd2l0aCBhcHBlbmRlZCBtZW1vIGlkXG4gKlxuICogQHBhcmFtIHtBZGRyZXNzRGV0YWlsc30gYWRkcmVzc0RldGFpbHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG5vcm1hbGl6ZUFkZHJlc3MoeyBhZGRyZXNzLCBtZW1vSWQgfTogQWRkcmVzc0RldGFpbHMpOiBzdHJpbmcge1xuICBpZiAobWVtb0lkICYmIGlzVmFsaWRNZW1vKG1lbW9JZCkpIHtcbiAgICByZXR1cm4gYCR7YWRkcmVzc30/bWVtb0lkPSR7bWVtb0lkfWA7XG4gIH1cbiAgcmV0dXJuIGFkZHJlc3M7XG59XG5cbi8qKlxuICogUmV0dXJuIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIGlucHV0IGlzIGEgdmFsaWQgYWRkcmVzcyB3aXRoIG1lbW8gaWRcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gYWRkcmVzcyBhZGRyZXNzIGluIHRoZSBmb3JtIDxhZGRyZXNzPj9tZW1vSWQ9PG1lbW9JZD5cbiAqIEByZXR1cm5zIHtib29sZWFufSB0cnVlIGlzIGlucHV0IGlzIGEgdmFsaWQgYWRkcmVzc1xuICovXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZEFkZHJlc3NXaXRoUGF5bWVudElkKGFkZHJlc3M6IHN0cmluZyk6IGJvb2xlYW4ge1xuICB0cnkge1xuICAgIGNvbnN0IGFkZHJlc3NEZXRhaWxzID0gZ2V0QWRkcmVzc0RldGFpbHMoYWRkcmVzcyk7XG4gICAgcmV0dXJuIGFkZHJlc3MgPT09IG5vcm1hbGl6ZUFkZHJlc3MoYWRkcmVzc0RldGFpbHMpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iXX0=
@@ -1,28 +0,0 @@
1
- import { BaseCoin as CoinConfig } from '@bitgo/statics';
2
- import { TransactionBuilder } from './transactionBuilder';
3
- import { Transaction } from './transaction';
4
- export declare class WalletInitializationBuilder extends TransactionBuilder {
5
- private _owners;
6
- private _txBodyData;
7
- constructor(_coinConfig: Readonly<CoinConfig>);
8
- /** @inheritdoc */
9
- protected buildImplementation(): Promise<Transaction>;
10
- /**
11
- *
12
- * @param {boolean} rawKeys defines if the owners keys are obtained in raw or protocol default format
13
- * @returns {proto.ThresholdKey} the wallet threshold keys
14
- */
15
- private buildOwnersKeys;
16
- /** @inheritdoc */
17
- initBuilder(tx: Transaction): void;
18
- private initOwners;
19
- /**
20
- * Set one of the owners of the multisig wallet.
21
- *
22
- * @param {string} address The public key of the owner's account
23
- * @returns {WalletInitializationBuilder} This wallet initialization builder
24
- */
25
- owner(address: string): this;
26
- validateMandatoryFields(): void;
27
- }
28
- //# sourceMappingURL=walletInitializationBuilder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"walletInitializationBuilder.d.ts","sourceRoot":"","sources":["../../../../src/coin/hbar/walletInitializationBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGxD,OAAO,EAAE,kBAAkB,EAAa,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAI5C,qBAAa,2BAA4B,SAAQ,kBAAkB;IACjE,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,WAAW,CAAoC;gBAE3C,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAQ7C,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;IAO3D;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAWvB,kBAAkB;IAClB,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IASlC,OAAO,CAAC,UAAU;IAUlB;;;;;OAKG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAgB5B,uBAAuB,IAAI,IAAI;CAahC"}
@@ -1,90 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WalletInitializationBuilder = void 0;
4
- const hedera_1 = require("../../../resources/hbar/protobuf/hedera");
5
- const sdk_core_1 = require("@bitgo/sdk-core");
6
- const transactionBuilder_1 = require("./transactionBuilder");
7
- const utils_1 = require("./utils");
8
- const _1 = require("./");
9
- class WalletInitializationBuilder extends transactionBuilder_1.TransactionBuilder {
10
- constructor(_coinConfig) {
11
- super(_coinConfig);
12
- this._owners = [];
13
- this._txBodyData = new hedera_1.proto.CryptoCreateTransactionBody();
14
- this._txBody.cryptoCreateAccount = this._txBodyData;
15
- this._txBodyData.autoRenewPeriod = new hedera_1.proto.Duration({ seconds: 7890000 });
16
- }
17
- // region Base Builder
18
- /** @inheritdoc */
19
- async buildImplementation() {
20
- this._txBodyData.key = { thresholdKey: this.buildOwnersKeys() };
21
- this._txBodyData.initialBalance = 0;
22
- this.transaction.setTransactionType(sdk_core_1.TransactionType.WalletInitialization);
23
- return await super.buildImplementation();
24
- }
25
- /**
26
- *
27
- * @param {boolean} rawKeys defines if the owners keys are obtained in raw or protocol default format
28
- * @returns {proto.ThresholdKey} the wallet threshold keys
29
- */
30
- buildOwnersKeys(rawKeys = true) {
31
- return this._owners.reduce((tKeys, key) => {
32
- if (tKeys.keys && tKeys.keys.keys) {
33
- tKeys.keys.keys.push({
34
- ed25519: utils_1.toUint8Array(new _1.KeyPair({ pub: key }).getKeys(rawKeys).pub),
35
- });
36
- }
37
- return tKeys;
38
- }, new hedera_1.proto.ThresholdKey({ threshold: 2, keys: { keys: [] } }));
39
- }
40
- /** @inheritdoc */
41
- initBuilder(tx) {
42
- super.initBuilder(tx);
43
- this.transaction.setTransactionType(sdk_core_1.TransactionType.WalletInitialization);
44
- const createAcc = tx.txBody.cryptoCreateAccount;
45
- if (createAcc && createAcc.key && createAcc.key.thresholdKey) {
46
- this.initOwners(createAcc.key.thresholdKey);
47
- }
48
- }
49
- initOwners(keys) {
50
- if (keys.keys && keys.keys.keys) {
51
- keys.keys.keys.forEach((key) => {
52
- this.owner(utils_1.toHex(key.ed25519));
53
- });
54
- }
55
- }
56
- // endregion
57
- // region Common builder methods
58
- /**
59
- * Set one of the owners of the multisig wallet.
60
- *
61
- * @param {string} address The public key of the owner's account
62
- * @returns {WalletInitializationBuilder} This wallet initialization builder
63
- */
64
- owner(address) {
65
- if (this._owners.length >= transactionBuilder_1.DEFAULT_M) {
66
- throw new sdk_core_1.BuildTransactionError('A maximum of ' + transactionBuilder_1.DEFAULT_M + ' owners can be set for a multisig wallet');
67
- }
68
- if (!utils_1.isValidPublicKey(address)) {
69
- throw new sdk_core_1.BuildTransactionError('Invalid address: ' + address);
70
- }
71
- if (this._owners.includes(address)) {
72
- throw new sdk_core_1.BuildTransactionError('Repeated owner address: ' + address);
73
- }
74
- this._owners.push(address);
75
- return this;
76
- }
77
- // endregion
78
- // region Validators
79
- validateMandatoryFields() {
80
- if (this._owners === undefined) {
81
- throw new sdk_core_1.BuildTransactionError('Invalid transaction: missing wallet owners');
82
- }
83
- if (this._owners.length !== transactionBuilder_1.DEFAULT_M) {
84
- throw new sdk_core_1.BuildTransactionError(`Invalid transaction: wrong number of owners -- required: ${transactionBuilder_1.DEFAULT_M}, found: ${this._owners.length}`);
85
- }
86
- super.validateMandatoryFields();
87
- }
88
- }
89
- exports.WalletInitializationBuilder = WalletInitializationBuilder;
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FsbGV0SW5pdGlhbGl6YXRpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvaW4vaGJhci93YWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0Esb0VBQWdFO0FBQ2hFLDhDQUF5RTtBQUN6RSw2REFBcUU7QUFFckUsbUNBQWdFO0FBQ2hFLHlCQUE2QjtBQUU3QixNQUFhLDJCQUE0QixTQUFRLHVDQUFrQjtJQUlqRSxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUpiLFlBQU8sR0FBYSxFQUFFLENBQUM7UUFLN0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLGNBQUssQ0FBQywyQkFBMkIsRUFBRSxDQUFDO1FBQzNELElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNwRCxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsR0FBRyxJQUFJLGNBQUssQ0FBQyxRQUFRLENBQUMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRUQsc0JBQXNCO0lBQ3RCLGtCQUFrQjtJQUNSLEtBQUssQ0FBQyxtQkFBbUI7UUFDakMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEdBQUcsRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUM7UUFDaEUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsMEJBQWUsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQzFFLE9BQU8sTUFBTSxLQUFLLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLGVBQWUsQ0FBQyxPQUFPLEdBQUcsSUFBSTtRQUNwQyxP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Q0g7UUFDRCxLQUFLLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0NBRUY7QUEzRkQsa0VBMkZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcbmltcG9ydCB7IHByb3RvIH0gZnJvbSAnLi4vLi4vLi4vcmVzb3VyY2VzL2hiYXIvcHJvdG9idWYvaGVkZXJhJztcbmltcG9ydCB7IEJ1aWxkVHJhbnNhY3Rpb25FcnJvciwgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciwgREVGQVVMVF9NIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IGlzVmFsaWRQdWJsaWNLZXksIHRvVWludDhBcnJheSwgdG9IZXggfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IEtleVBhaXIgfSBmcm9tICcuLyc7XG5cbmV4cG9ydCBjbGFzcyBXYWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXIgZXh0ZW5kcyBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICBwcml2YXRlIF9vd25lcnM6IHN0cmluZ1tdID0gW107XG4gIHByaXZhdGUgX3R4Qm9keURhdGE6IHByb3RvLkNyeXB0b0NyZWF0ZVRyYW5zYWN0aW9uQm9keTtcblxuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gICAgdGhpcy5fdHhCb2R5RGF0YSA9IG5ldyBwcm90by5DcnlwdG9DcmVhdGVUcmFuc2FjdGlvbkJvZHkoKTtcbiAgICB0aGlzLl90eEJvZHkuY3J5cHRvQ3JlYXRlQWNjb3VudCA9IHRoaXMuX3R4Qm9keURhdGE7XG4gICAgdGhpcy5fdHhCb2R5RGF0YS5hdXRvUmVuZXdQZXJpb2QgPSBuZXcgcHJvdG8uRHVyYXRpb24oeyBzZWNvbmRzOiA3ODkwMDAwIH0pO1xuICB9XG5cbiAgLy8gcmVnaW9uIEJhc2UgQnVpbGRlclxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGJ1aWxkSW1wbGVtZW50YXRpb24oKTogUHJvbWlzZTxUcmFuc2FjdGlvbj4ge1xuICAgIHRoaXMuX3R4Qm9keURhdGEua2V5ID0geyB0aHJlc2hvbGRLZXk6IHRoaXMuYnVpbGRPd25lcnNLZXlzKCkgfTtcbiAgICB0aGlzLl90eEJvZHlEYXRhLmluaXRpYWxCYWxhbmNlID0gMDtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLnNldFRyYW5zYWN0aW9uVHlwZShUcmFuc2FjdGlvblR5cGUuV2FsbGV0SW5pdGlhbGl6YXRpb24pO1xuICAgIHJldHVybiBhd2FpdCBzdXBlci5idWlsZEltcGxlbWVudGF0aW9uKCk7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIHtib29sZWFufSByYXdLZXlzIGRlZmluZXMgaWYgdGhlIG93bmVycyBrZXlzIGFyZSBvYnRhaW5lZCBpbiByYXcgb3IgcHJvdG9jb2wgZGVmYXVsdCBmb3JtYXRcbiAgICogQHJldHVybnMge3Byb3RvLlRocmVzaG9sZEtleX0gdGhlIHdhbGxldCB0aHJlc2hvbGQga2V5c1xuICAgKi9cbiAgcHJpdmF0ZSBidWlsZE93bmVyc0tleXMocmF3S2V5cyA9IHRydWUpOiBwcm90by5UaHJlc2hvbGRLZXkge1xuICAgIHJldHVybiB0aGlzLl9vd25lcnMucmVkdWNlKCh0S2V5cywga2V5KSA9PiB7XG4gICAgICBpZiAodEtleXMua2V5cyAmJiB0S2V5cy5rZXlzLmtleXMpIHtcbiAgICAgICAgdEtleXMua2V5cy5rZXlzLnB1c2goe1xuICAgICAgICAgIGVkMjU1MTk6IHRvVWludDhBcnJheShuZXcgS2V5UGFpcih7IHB1Yjoga2V5IH0pLmdldEtleXMocmF3S2V5cykucHViKSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdEtleXM7XG4gICAgfSwgbmV3IHByb3RvLlRocmVzaG9sZEtleSh7IHRocmVzaG9sZDogMiwga2V5czogeyBrZXlzOiBbXSB9IH0pKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBpbml0QnVpbGRlcih0eDogVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICBzdXBlci5pbml0QnVpbGRlcih0eCk7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5zZXRUcmFuc2FjdGlvblR5cGUoVHJhbnNhY3Rpb25UeXBlLldhbGxldEluaXRpYWxpemF0aW9uKTtcbiAgICBjb25zdCBjcmVhdGVBY2MgPSB0eC50eEJvZHkuY3J5cHRvQ3JlYXRlQWNjb3VudDtcbiAgICBpZiAoY3JlYXRlQWNjICYmIGNyZWF0ZUFjYy5rZXkgJiYgY3JlYXRlQWNjLmtleS50aHJlc2hvbGRLZXkpIHtcbiAgICAgIHRoaXMuaW5pdE93bmVycyhjcmVhdGVBY2Mua2V5LnRocmVzaG9sZEtleSBhcyBwcm90by5UaHJlc2hvbGRLZXkpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaW5pdE93bmVycyhrZXlzOiBwcm90by5UaHJlc2hvbGRLZXkpIHtcbiAgICBpZiAoa2V5cy5rZXlzICYmIGtleXMua2V5cy5rZXlzKSB7XG4gICAgICBrZXlzLmtleXMua2V5cy5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgICAgdGhpcy5vd25lcih0b0hleChrZXkuZWQyNTUxOSEpKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuICAvLyBlbmRyZWdpb25cblxuICAvLyByZWdpb24gQ29tbW9uIGJ1aWxkZXIgbWV0aG9kc1xuICAvKipcbiAgICogU2V0IG9uZSBvZiB0aGUgb3duZXJzIG9mIHRoZSBtdWx0aXNpZyB3YWxsZXQuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhZGRyZXNzIFRoZSBwdWJsaWMga2V5IG9mIHRoZSBvd25lcidzIGFjY291bnRcbiAgICogQHJldHVybnMge1dhbGxldEluaXRpYWxpemF0aW9uQnVpbGRlcn0gVGhpcyB3YWxsZXQgaW5pdGlhbGl6YXRpb24gYnVpbGRlclxuICAgKi9cbiAgb3duZXIoYWRkcmVzczogc3RyaW5nKTogdGhpcyB7XG4gICAgaWYgKHRoaXMuX293bmVycy5sZW5ndGggPj0gREVGQVVMVF9NKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdBIG1heGltdW0gb2YgJyArIERFRkFVTFRfTSArICcgb3duZXJzIGNhbiBiZSBzZXQgZm9yIGEgbXVsdGlzaWcgd2FsbGV0Jyk7XG4gICAgfVxuICAgIGlmICghaXNWYWxpZFB1YmxpY0tleShhZGRyZXNzKSkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCBhZGRyZXNzOiAnICsgYWRkcmVzcyk7XG4gICAgfVxuICAgIGlmICh0aGlzLl9vd25lcnMuaW5jbHVkZXMoYWRkcmVzcykpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ1JlcGVhdGVkIG93bmVyIGFkZHJlc3M6ICcgKyBhZGRyZXNzKTtcbiAgICB9XG4gICAgdGhpcy5fb3duZXJzLnB1c2goYWRkcmVzcyk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cbiAgLy8gZW5kcmVnaW9uXG5cbiAgLy8gcmVnaW9uIFZhbGlkYXRvcnNcbiAgdmFsaWRhdGVNYW5kYXRvcnlGaWVsZHMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX293bmVycyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIHRyYW5zYWN0aW9uOiBtaXNzaW5nIHdhbGxldCBvd25lcnMnKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fb3duZXJzLmxlbmd0aCAhPT0gREVGQVVMVF9NKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKFxuICAgICAgICBgSW52YWxpZCB0cmFuc2FjdGlvbjogd3JvbmcgbnVtYmVyIG9mIG93bmVycyAtLSByZXF1aXJlZDogJHtERUZBVUxUX019LCBmb3VuZDogJHt0aGlzLl9vd25lcnMubGVuZ3RofWAsXG4gICAgICApO1xuICAgIH1cbiAgICBzdXBlci52YWxpZGF0ZU1hbmRhdG9yeUZpZWxkcygpO1xuICB9XG4gIC8vIGVuZHJlZ2lvblxufVxuIl19
@@ -1,12 +0,0 @@
1
- /**
2
- * Staking smart contract method names selected to use on the builders.
3
- * You can see all methods here
4
- * @see https://github.com/near/core-contracts/blob/master/staking-pool/README.md
5
- */
6
- export declare const StakingContractMethodNames: {
7
- readonly DepositAndStake: "deposit_and_stake";
8
- readonly Unstake: "unstake";
9
- readonly Withdraw: "withdraw";
10
- };
11
- export declare const HEX_REGEX: RegExp;
12
- //# sourceMappingURL=constants.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/coin/near/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,0BAA0B;;;;CAI7B,CAAC;AAEX,eAAO,MAAM,SAAS,QAAmB,CAAC"}
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HEX_REGEX = exports.StakingContractMethodNames = void 0;
4
- /**
5
- * Staking smart contract method names selected to use on the builders.
6
- * You can see all methods here
7
- * @see https://github.com/near/core-contracts/blob/master/staking-pool/README.md
8
- */
9
- exports.StakingContractMethodNames = {
10
- DepositAndStake: 'deposit_and_stake',
11
- Unstake: 'unstake',
12
- Withdraw: 'withdraw',
13
- };
14
- exports.HEX_REGEX = /^[0-9a-fA-F]+$/;
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvaW4vbmVhci9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7Ozs7R0FJRztBQUNVLFFBQUEsMEJBQTBCLEdBQUc7SUFDeEMsZUFBZSxFQUFFLG1CQUFtQjtJQUNwQyxPQUFPLEVBQUUsU0FBUztJQUNsQixRQUFRLEVBQUUsVUFBVTtDQUNaLENBQUM7QUFFRSxRQUFBLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogU3Rha2luZyBzbWFydCBjb250cmFjdCBtZXRob2QgbmFtZXMgc2VsZWN0ZWQgdG8gdXNlIG9uIHRoZSBidWlsZGVycy5cbiAqIFlvdSBjYW4gc2VlIGFsbCBtZXRob2RzIGhlcmVcbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL25lYXIvY29yZS1jb250cmFjdHMvYmxvYi9tYXN0ZXIvc3Rha2luZy1wb29sL1JFQURNRS5tZFxuICovXG5leHBvcnQgY29uc3QgU3Rha2luZ0NvbnRyYWN0TWV0aG9kTmFtZXMgPSB7XG4gIERlcG9zaXRBbmRTdGFrZTogJ2RlcG9zaXRfYW5kX3N0YWtlJyxcbiAgVW5zdGFrZTogJ3Vuc3Rha2UnLFxuICBXaXRoZHJhdzogJ3dpdGhkcmF3Jyxcbn0gYXMgY29uc3Q7XG5cbmV4cG9ydCBjb25zdCBIRVhfUkVHRVggPSAvXlswLTlhLWZBLUZdKyQvO1xuIl19