@bitgo/account-lib 2.20.0-rc.9 → 2.20.1-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (566) hide show
  1. package/.mocharc.js +1 -1
  2. package/CHANGELOG.md +327 -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 +19416 -31631
  8. package/package.json +28 -77
  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/celo/index.d.ts +0 -8
  88. package/dist/src/coin/celo/index.d.ts.map +0 -1
  89. package/dist/src/coin/celo/index.js +0 -35
  90. package/dist/src/coin/celo/resources.d.ts +0 -10
  91. package/dist/src/coin/celo/resources.d.ts.map +0 -1
  92. package/dist/src/coin/celo/resources.js +0 -26
  93. package/dist/src/coin/celo/stakingBuilder.d.ts +0 -91
  94. package/dist/src/coin/celo/stakingBuilder.d.ts.map +0 -1
  95. package/dist/src/coin/celo/stakingBuilder.js +0 -277
  96. package/dist/src/coin/celo/stakingCall.d.ts +0 -7
  97. package/dist/src/coin/celo/stakingCall.d.ts.map +0 -1
  98. package/dist/src/coin/celo/stakingCall.js +0 -13
  99. package/dist/src/coin/celo/stakingUtils.d.ts +0 -15
  100. package/dist/src/coin/celo/stakingUtils.d.ts.map +0 -1
  101. package/dist/src/coin/celo/stakingUtils.js +0 -98
  102. package/dist/src/coin/celo/transaction.d.ts +0 -10
  103. package/dist/src/coin/celo/transaction.d.ts.map +0 -1
  104. package/dist/src/coin/celo/transaction.js +0 -37
  105. package/dist/src/coin/celo/transactionBuilder.d.ts +0 -86
  106. package/dist/src/coin/celo/transactionBuilder.d.ts.map +0 -1
  107. package/dist/src/coin/celo/transactionBuilder.js +0 -228
  108. package/dist/src/coin/celo/transferBuilder.d.ts +0 -19
  109. package/dist/src/coin/celo/transferBuilder.d.ts.map +0 -1
  110. package/dist/src/coin/celo/transferBuilder.js +0 -27
  111. package/dist/src/coin/celo/types.d.ts +0 -52
  112. package/dist/src/coin/celo/types.d.ts.map +0 -1
  113. package/dist/src/coin/celo/types.js +0 -222
  114. package/dist/src/coin/celo/utils.d.ts +0 -18
  115. package/dist/src/coin/celo/utils.d.ts.map +0 -1
  116. package/dist/src/coin/celo/utils.js +0 -99
  117. package/dist/src/coin/cspr/constants.d.ts +0 -19
  118. package/dist/src/coin/cspr/constants.d.ts.map +0 -1
  119. package/dist/src/coin/cspr/constants.js +0 -28
  120. package/dist/src/coin/cspr/delegateBuilder.d.ts +0 -49
  121. package/dist/src/coin/cspr/delegateBuilder.d.ts.map +0 -1
  122. package/dist/src/coin/cspr/delegateBuilder.js +0 -111
  123. package/dist/src/coin/cspr/ifaces.d.ts +0 -69
  124. package/dist/src/coin/cspr/ifaces.d.ts.map +0 -1
  125. package/dist/src/coin/cspr/ifaces.js +0 -3
  126. package/dist/src/coin/cspr/index.d.ts +0 -5
  127. package/dist/src/coin/cspr/index.d.ts.map +0 -1
  128. package/dist/src/coin/cspr/index.js +0 -29
  129. package/dist/src/coin/cspr/keyPair.d.ts +0 -18
  130. package/dist/src/coin/cspr/keyPair.d.ts.map +0 -1
  131. package/dist/src/coin/cspr/keyPair.js +0 -75
  132. package/dist/src/coin/cspr/transaction.d.ts +0 -55
  133. package/dist/src/coin/cspr/transaction.d.ts.map +0 -1
  134. package/dist/src/coin/cspr/transaction.js +0 -227
  135. package/dist/src/coin/cspr/transactionBuilder.d.ts +0 -124
  136. package/dist/src/coin/cspr/transactionBuilder.d.ts.map +0 -1
  137. package/dist/src/coin/cspr/transactionBuilder.js +0 -312
  138. package/dist/src/coin/cspr/transactionBuilderFactory.d.ts +0 -46
  139. package/dist/src/coin/cspr/transactionBuilderFactory.d.ts.map +0 -1
  140. package/dist/src/coin/cspr/transactionBuilderFactory.js +0 -98
  141. package/dist/src/coin/cspr/transferBuilder.d.ts +0 -39
  142. package/dist/src/coin/cspr/transferBuilder.d.ts.map +0 -1
  143. package/dist/src/coin/cspr/transferBuilder.js +0 -106
  144. package/dist/src/coin/cspr/undelegateBuilder.d.ts +0 -49
  145. package/dist/src/coin/cspr/undelegateBuilder.d.ts.map +0 -1
  146. package/dist/src/coin/cspr/undelegateBuilder.js +0 -111
  147. package/dist/src/coin/cspr/utils.d.ts +0 -188
  148. package/dist/src/coin/cspr/utils.d.ts.map +0 -1
  149. package/dist/src/coin/cspr/utils.js +0 -478
  150. package/dist/src/coin/cspr/walletInitializationBuilder.d.ts +0 -27
  151. package/dist/src/coin/cspr/walletInitializationBuilder.d.ts.map +0 -1
  152. package/dist/src/coin/cspr/walletInitializationBuilder.js +0 -95
  153. package/dist/src/coin/dot/addressInitializationBuilder.d.ts +0 -79
  154. package/dist/src/coin/dot/addressInitializationBuilder.d.ts.map +0 -1
  155. package/dist/src/coin/dot/addressInitializationBuilder.js +0 -182
  156. package/dist/src/coin/dot/batchTransactionBuilder.d.ts +0 -47
  157. package/dist/src/coin/dot/batchTransactionBuilder.d.ts.map +0 -1
  158. package/dist/src/coin/dot/batchTransactionBuilder.js +0 -122
  159. package/dist/src/coin/dot/claimBuilder.d.ts +0 -58
  160. package/dist/src/coin/dot/claimBuilder.d.ts.map +0 -1
  161. package/dist/src/coin/dot/claimBuilder.js +0 -117
  162. package/dist/src/coin/dot/errors.d.ts +0 -8
  163. package/dist/src/coin/dot/errors.d.ts.map +0 -1
  164. package/dist/src/coin/dot/errors.js +0 -19
  165. package/dist/src/coin/dot/iface.d.ts +0 -194
  166. package/dist/src/coin/dot/iface.d.ts.map +0 -1
  167. package/dist/src/coin/dot/iface.js +0 -39
  168. package/dist/src/coin/dot/index.d.ts +0 -17
  169. package/dist/src/coin/dot/index.d.ts.map +0 -1
  170. package/dist/src/coin/dot/index.js +0 -53
  171. package/dist/src/coin/dot/keyPair.d.ts +0 -31
  172. package/dist/src/coin/dot/keyPair.d.ts.map +0 -1
  173. package/dist/src/coin/dot/keyPair.js +0 -74
  174. package/dist/src/coin/dot/singletonRegistry.d.ts +0 -7
  175. package/dist/src/coin/dot/singletonRegistry.d.ts.map +0 -1
  176. package/dist/src/coin/dot/singletonRegistry.js +0 -20
  177. package/dist/src/coin/dot/stakingBuilder.d.ts +0 -58
  178. package/dist/src/coin/dot/stakingBuilder.d.ts.map +0 -1
  179. package/dist/src/coin/dot/stakingBuilder.js +0 -135
  180. package/dist/src/coin/dot/transaction.d.ts +0 -65
  181. package/dist/src/coin/dot/transaction.d.ts.map +0 -1
  182. package/dist/src/coin/dot/transaction.js +0 -396
  183. package/dist/src/coin/dot/transactionBuilder.d.ts +0 -131
  184. package/dist/src/coin/dot/transactionBuilder.d.ts.map +0 -1
  185. package/dist/src/coin/dot/transactionBuilder.js +0 -332
  186. package/dist/src/coin/dot/transactionBuilderFactory.d.ts +0 -26
  187. package/dist/src/coin/dot/transactionBuilderFactory.d.ts.map +0 -1
  188. package/dist/src/coin/dot/transactionBuilderFactory.js +0 -93
  189. package/dist/src/coin/dot/transferBuilder.d.ts +0 -71
  190. package/dist/src/coin/dot/transferBuilder.d.ts.map +0 -1
  191. package/dist/src/coin/dot/transferBuilder.js +0 -171
  192. package/dist/src/coin/dot/txnSchema.d.ts +0 -14
  193. package/dist/src/coin/dot/txnSchema.d.ts.map +0 -1
  194. package/dist/src/coin/dot/txnSchema.js +0 -104
  195. package/dist/src/coin/dot/unnominateBuilder.d.ts +0 -24
  196. package/dist/src/coin/dot/unnominateBuilder.d.ts.map +0 -1
  197. package/dist/src/coin/dot/unnominateBuilder.js +0 -50
  198. package/dist/src/coin/dot/unstakeBuilder.d.ts +0 -38
  199. package/dist/src/coin/dot/unstakeBuilder.d.ts.map +0 -1
  200. package/dist/src/coin/dot/unstakeBuilder.js +0 -89
  201. package/dist/src/coin/dot/utils.d.ts +0 -138
  202. package/dist/src/coin/dot/utils.d.ts.map +0 -1
  203. package/dist/src/coin/dot/utils.js +0 -269
  204. package/dist/src/coin/dot/withdrawUnstakedBuilder.d.ts +0 -38
  205. package/dist/src/coin/dot/withdrawUnstakedBuilder.d.ts.map +0 -1
  206. package/dist/src/coin/dot/withdrawUnstakedBuilder.js +0 -90
  207. package/dist/src/coin/etc/index.d.ts +0 -8
  208. package/dist/src/coin/etc/index.d.ts.map +0 -1
  209. package/dist/src/coin/etc/index.js +0 -35
  210. package/dist/src/coin/etc/resources.d.ts +0 -10
  211. package/dist/src/coin/etc/resources.d.ts.map +0 -1
  212. package/dist/src/coin/etc/resources.js +0 -26
  213. package/dist/src/coin/etc/transactionBuilder.d.ts +0 -17
  214. package/dist/src/coin/etc/transactionBuilder.d.ts.map +0 -1
  215. package/dist/src/coin/etc/transactionBuilder.js +0 -45
  216. package/dist/src/coin/etc/transferBuilder.d.ts +0 -19
  217. package/dist/src/coin/etc/transferBuilder.d.ts.map +0 -1
  218. package/dist/src/coin/etc/transferBuilder.js +0 -27
  219. package/dist/src/coin/etc/utils.d.ts +0 -18
  220. package/dist/src/coin/etc/utils.d.ts.map +0 -1
  221. package/dist/src/coin/etc/utils.js +0 -42
  222. package/dist/src/coin/eth/contractCall.d.ts +0 -8
  223. package/dist/src/coin/eth/contractCall.d.ts.map +0 -1
  224. package/dist/src/coin/eth/contractCall.js +0 -17
  225. package/dist/src/coin/eth/iface.d.ts +0 -122
  226. package/dist/src/coin/eth/iface.d.ts.map +0 -1
  227. package/dist/src/coin/eth/iface.js +0 -8
  228. package/dist/src/coin/eth/index.d.ts +0 -10
  229. package/dist/src/coin/eth/index.d.ts.map +0 -1
  230. package/dist/src/coin/eth/index.js +0 -39
  231. package/dist/src/coin/eth/keyPair.d.ts +0 -26
  232. package/dist/src/coin/eth/keyPair.d.ts.map +0 -1
  233. package/dist/src/coin/eth/keyPair.js +0 -85
  234. package/dist/src/coin/eth/transaction.d.ts +0 -64
  235. package/dist/src/coin/eth/transaction.d.ts.map +0 -1
  236. package/dist/src/coin/eth/transaction.js +0 -137
  237. package/dist/src/coin/eth/transactionBuilder.d.ts +0 -194
  238. package/dist/src/coin/eth/transactionBuilder.d.ts.map +0 -1
  239. package/dist/src/coin/eth/transactionBuilder.js +0 -624
  240. package/dist/src/coin/eth/transferBuilder/baseNFTTransferBuilder.d.ts +0 -47
  241. package/dist/src/coin/eth/transferBuilder/baseNFTTransferBuilder.d.ts.map +0 -1
  242. package/dist/src/coin/eth/transferBuilder/baseNFTTransferBuilder.js +0 -113
  243. package/dist/src/coin/eth/transferBuilder/transferBuilderERC1155.d.ts +0 -14
  244. package/dist/src/coin/eth/transferBuilder/transferBuilderERC1155.d.ts.map +0 -1
  245. package/dist/src/coin/eth/transferBuilder/transferBuilderERC1155.js +0 -83
  246. package/dist/src/coin/eth/transferBuilder/transferBuilderERC721.d.ts +0 -13
  247. package/dist/src/coin/eth/transferBuilder/transferBuilderERC721.d.ts.map +0 -1
  248. package/dist/src/coin/eth/transferBuilder/transferBuilderERC721.js +0 -68
  249. package/dist/src/coin/eth/transferBuilder.d.ts +0 -65
  250. package/dist/src/coin/eth/transferBuilder.d.ts.map +0 -1
  251. package/dist/src/coin/eth/transferBuilder.js +0 -197
  252. package/dist/src/coin/eth/types.d.ts +0 -39
  253. package/dist/src/coin/eth/types.d.ts.map +0 -1
  254. package/dist/src/coin/eth/types.js +0 -135
  255. package/dist/src/coin/eth/utils.d.ts +0 -202
  256. package/dist/src/coin/eth/utils.d.ts.map +0 -1
  257. package/dist/src/coin/eth/utils.js +0 -485
  258. package/dist/src/coin/eth/walletUtil.d.ts +0 -19
  259. package/dist/src/coin/eth/walletUtil.d.ts.map +0 -1
  260. package/dist/src/coin/eth/walletUtil.js +0 -29
  261. package/dist/src/coin/eth2/index.d.ts +0 -2
  262. package/dist/src/coin/eth2/index.d.ts.map +0 -1
  263. package/dist/src/coin/eth2/index.js +0 -6
  264. package/dist/src/coin/eth2/keyPair.d.ts +0 -33
  265. package/dist/src/coin/eth2/keyPair.d.ts.map +0 -1
  266. package/dist/src/coin/eth2/keyPair.js +0 -65
  267. package/dist/src/coin/hbar/ifaces.d.ts +0 -26
  268. package/dist/src/coin/hbar/ifaces.d.ts.map +0 -1
  269. package/dist/src/coin/hbar/ifaces.js +0 -3
  270. package/dist/src/coin/hbar/index.d.ts +0 -6
  271. package/dist/src/coin/hbar/index.d.ts.map +0 -1
  272. package/dist/src/coin/hbar/index.js +0 -31
  273. package/dist/src/coin/hbar/keyPair.d.ts +0 -23
  274. package/dist/src/coin/hbar/keyPair.d.ts.map +0 -1
  275. package/dist/src/coin/hbar/keyPair.js +0 -70
  276. package/dist/src/coin/hbar/transaction.d.ts +0 -98
  277. package/dist/src/coin/hbar/transaction.d.ts.map +0 -1
  278. package/dist/src/coin/hbar/transaction.js +0 -245
  279. package/dist/src/coin/hbar/transactionBuilder.d.ts +0 -112
  280. package/dist/src/coin/hbar/transactionBuilder.d.ts.map +0 -1
  281. package/dist/src/coin/hbar/transactionBuilder.js +0 -264
  282. package/dist/src/coin/hbar/transactionBuilderFactory.d.ts +0 -37
  283. package/dist/src/coin/hbar/transactionBuilderFactory.d.ts.map +0 -1
  284. package/dist/src/coin/hbar/transactionBuilderFactory.js +0 -77
  285. package/dist/src/coin/hbar/transferBuilder.d.ts +0 -44
  286. package/dist/src/coin/hbar/transferBuilder.d.ts.map +0 -1
  287. package/dist/src/coin/hbar/transferBuilder.js +0 -130
  288. package/dist/src/coin/hbar/utils.d.ts +0 -139
  289. package/dist/src/coin/hbar/utils.d.ts.map +0 -1
  290. package/dist/src/coin/hbar/utils.js +0 -310
  291. package/dist/src/coin/hbar/walletInitializationBuilder.d.ts +0 -28
  292. package/dist/src/coin/hbar/walletInitializationBuilder.d.ts.map +0 -1
  293. package/dist/src/coin/hbar/walletInitializationBuilder.js +0 -90
  294. package/dist/src/coin/near/constants.d.ts +0 -12
  295. package/dist/src/coin/near/constants.d.ts.map +0 -1
  296. package/dist/src/coin/near/constants.js +0 -15
  297. package/dist/src/coin/near/contractCallWrapper.d.ts +0 -33
  298. package/dist/src/coin/near/contractCallWrapper.d.ts.map +0 -1
  299. package/dist/src/coin/near/contractCallWrapper.js +0 -68
  300. package/dist/src/coin/near/errors.d.ts +0 -5
  301. package/dist/src/coin/near/errors.d.ts.map +0 -1
  302. package/dist/src/coin/near/errors.js +0 -12
  303. package/dist/src/coin/near/iface.d.ts +0 -40
  304. package/dist/src/coin/near/iface.d.ts.map +0 -1
  305. package/dist/src/coin/near/iface.js +0 -8
  306. package/dist/src/coin/near/index.d.ts +0 -11
  307. package/dist/src/coin/near/index.d.ts.map +0 -1
  308. package/dist/src/coin/near/index.js +0 -41
  309. package/dist/src/coin/near/keyPair.d.ts +0 -25
  310. package/dist/src/coin/near/keyPair.d.ts.map +0 -1
  311. package/dist/src/coin/near/keyPair.js +0 -73
  312. package/dist/src/coin/near/stakingActivateBuilder.d.ts +0 -32
  313. package/dist/src/coin/near/stakingActivateBuilder.d.ts.map +0 -1
  314. package/dist/src/coin/near/stakingActivateBuilder.js +0 -90
  315. package/dist/src/coin/near/stakingDeactivateBuilder.d.ts +0 -32
  316. package/dist/src/coin/near/stakingDeactivateBuilder.d.ts.map +0 -1
  317. package/dist/src/coin/near/stakingDeactivateBuilder.js +0 -89
  318. package/dist/src/coin/near/stakingWithdrawBuilder.d.ts +0 -32
  319. package/dist/src/coin/near/stakingWithdrawBuilder.d.ts.map +0 -1
  320. package/dist/src/coin/near/stakingWithdrawBuilder.js +0 -89
  321. package/dist/src/coin/near/transaction.d.ts +0 -90
  322. package/dist/src/coin/near/transaction.d.ts.map +0 -1
  323. package/dist/src/coin/near/transaction.js +0 -368
  324. package/dist/src/coin/near/transactionBuilder.d.ts +0 -89
  325. package/dist/src/coin/near/transactionBuilder.d.ts.map +0 -1
  326. package/dist/src/coin/near/transactionBuilder.js +0 -216
  327. package/dist/src/coin/near/transactionBuilderFactory.d.ts +0 -30
  328. package/dist/src/coin/near/transactionBuilderFactory.d.ts.map +0 -1
  329. package/dist/src/coin/near/transactionBuilderFactory.js +0 -71
  330. package/dist/src/coin/near/transferBuilder.d.ts +0 -26
  331. package/dist/src/coin/near/transferBuilder.d.ts.map +0 -1
  332. package/dist/src/coin/near/transferBuilder.js +0 -72
  333. package/dist/src/coin/near/utils.d.ts +0 -42
  334. package/dist/src/coin/near/utils.d.ts.map +0 -1
  335. package/dist/src/coin/near/utils.js +0 -92
  336. package/dist/src/coin/near/walletInitializationBuilder.d.ts +0 -12
  337. package/dist/src/coin/near/walletInitializationBuilder.d.ts.map +0 -1
  338. package/dist/src/coin/near/walletInitializationBuilder.js +0 -20
  339. package/dist/src/coin/rbtc/index.d.ts +0 -8
  340. package/dist/src/coin/rbtc/index.d.ts.map +0 -1
  341. package/dist/src/coin/rbtc/index.js +0 -35
  342. package/dist/src/coin/rbtc/resources.d.ts +0 -10
  343. package/dist/src/coin/rbtc/resources.d.ts.map +0 -1
  344. package/dist/src/coin/rbtc/resources.js +0 -25
  345. package/dist/src/coin/rbtc/transactionBuilder.d.ts +0 -17
  346. package/dist/src/coin/rbtc/transactionBuilder.d.ts.map +0 -1
  347. package/dist/src/coin/rbtc/transactionBuilder.js +0 -44
  348. package/dist/src/coin/rbtc/transferBuilder.d.ts +0 -19
  349. package/dist/src/coin/rbtc/transferBuilder.d.ts.map +0 -1
  350. package/dist/src/coin/rbtc/transferBuilder.js +0 -27
  351. package/dist/src/coin/rbtc/utils.d.ts +0 -18
  352. package/dist/src/coin/rbtc/utils.d.ts.map +0 -1
  353. package/dist/src/coin/rbtc/utils.js +0 -42
  354. package/dist/src/coin/sol/ataInitializationBuilder.d.ts +0 -33
  355. package/dist/src/coin/sol/ataInitializationBuilder.d.ts.map +0 -1
  356. package/dist/src/coin/sol/ataInitializationBuilder.js +0 -93
  357. package/dist/src/coin/sol/ataInitializationTransaction.d.ts +0 -14
  358. package/dist/src/coin/sol/ataInitializationTransaction.d.ts.map +0 -1
  359. package/dist/src/coin/sol/ataInitializationTransaction.js +0 -81
  360. package/dist/src/coin/sol/constants.d.ts +0 -58
  361. package/dist/src/coin/sol/constants.d.ts.map +0 -1
  362. package/dist/src/coin/sol/constants.js +0 -76
  363. package/dist/src/coin/sol/iface.d.ts +0 -99
  364. package/dist/src/coin/sol/iface.d.ts.map +0 -1
  365. package/dist/src/coin/sol/iface.js +0 -3
  366. package/dist/src/coin/sol/index.d.ts +0 -11
  367. package/dist/src/coin/sol/index.d.ts.map +0 -1
  368. package/dist/src/coin/sol/index.js +0 -41
  369. package/dist/src/coin/sol/instructionParamsFactory.d.ts +0 -12
  370. package/dist/src/coin/sol/instructionParamsFactory.d.ts.map +0 -1
  371. package/dist/src/coin/sol/instructionParamsFactory.js +0 -260
  372. package/dist/src/coin/sol/keyPair.d.ts +0 -26
  373. package/dist/src/coin/sol/keyPair.d.ts.map +0 -1
  374. package/dist/src/coin/sol/keyPair.js +0 -63
  375. package/dist/src/coin/sol/solInstructionFactory.d.ts +0 -10
  376. package/dist/src/coin/sol/solInstructionFactory.d.ts.map +0 -1
  377. package/dist/src/coin/sol/solInstructionFactory.js +0 -213
  378. package/dist/src/coin/sol/stakingActivateBuilder.d.ts +0 -41
  379. package/dist/src/coin/sol/stakingActivateBuilder.d.ts.map +0 -1
  380. package/dist/src/coin/sol/stakingActivateBuilder.js +0 -94
  381. package/dist/src/coin/sol/stakingDeactivateBuilder.d.ts +0 -23
  382. package/dist/src/coin/sol/stakingDeactivateBuilder.d.ts.map +0 -1
  383. package/dist/src/coin/sol/stakingDeactivateBuilder.js +0 -62
  384. package/dist/src/coin/sol/stakingWithdrawBuilder.d.ts +0 -31
  385. package/dist/src/coin/sol/stakingWithdrawBuilder.d.ts.map +0 -1
  386. package/dist/src/coin/sol/stakingWithdrawBuilder.js +0 -78
  387. package/dist/src/coin/sol/tokenEncodeDecode.d.ts +0 -85
  388. package/dist/src/coin/sol/tokenEncodeDecode.d.ts.map +0 -1
  389. package/dist/src/coin/sol/tokenEncodeDecode.js +0 -133
  390. package/dist/src/coin/sol/tokenTransferBuilder.d.ts +0 -27
  391. package/dist/src/coin/sol/tokenTransferBuilder.d.ts.map +0 -1
  392. package/dist/src/coin/sol/tokenTransferBuilder.js +0 -73
  393. package/dist/src/coin/sol/transaction.d.ts +0 -61
  394. package/dist/src/coin/sol/transaction.d.ts.map +0 -1
  395. package/dist/src/coin/sol/transaction.js +0 -369
  396. package/dist/src/coin/sol/transactionBuilder.d.ts +0 -101
  397. package/dist/src/coin/sol/transactionBuilder.d.ts.map +0 -1
  398. package/dist/src/coin/sol/transactionBuilder.js +0 -261
  399. package/dist/src/coin/sol/transactionBuilderFactory.d.ts +0 -76
  400. package/dist/src/coin/sol/transactionBuilderFactory.d.ts.map +0 -1
  401. package/dist/src/coin/sol/transactionBuilderFactory.js +0 -136
  402. package/dist/src/coin/sol/transferBuilder.d.ts +0 -26
  403. package/dist/src/coin/sol/transferBuilder.d.ts.map +0 -1
  404. package/dist/src/coin/sol/transferBuilder.js +0 -67
  405. package/dist/src/coin/sol/utils.d.ts +0 -146
  406. package/dist/src/coin/sol/utils.d.ts.map +0 -1
  407. package/dist/src/coin/sol/utils.js +0 -361
  408. package/dist/src/coin/sol/walletInitializationBuilder.d.ts +0 -26
  409. package/dist/src/coin/sol/walletInitializationBuilder.d.ts.map +0 -1
  410. package/dist/src/coin/sol/walletInitializationBuilder.js +0 -71
  411. package/dist/src/coin/stx/abstractContractBuilder.d.ts +0 -19
  412. package/dist/src/coin/stx/abstractContractBuilder.d.ts.map +0 -1
  413. package/dist/src/coin/stx/abstractContractBuilder.js +0 -70
  414. package/dist/src/coin/stx/constants.d.ts +0 -8
  415. package/dist/src/coin/stx/constants.d.ts.map +0 -1
  416. package/dist/src/coin/stx/constants.js +0 -19
  417. package/dist/src/coin/stx/contractBuilder.d.ts +0 -33
  418. package/dist/src/coin/stx/contractBuilder.d.ts.map +0 -1
  419. package/dist/src/coin/stx/contractBuilder.js +0 -116
  420. package/dist/src/coin/stx/iface.d.ts +0 -48
  421. package/dist/src/coin/stx/iface.d.ts.map +0 -1
  422. package/dist/src/coin/stx/iface.js +0 -3
  423. package/dist/src/coin/stx/index.d.ts +0 -6
  424. package/dist/src/coin/stx/index.d.ts.map +0 -1
  425. package/dist/src/coin/stx/index.js +0 -32
  426. package/dist/src/coin/stx/keyPair.d.ts +0 -55
  427. package/dist/src/coin/stx/keyPair.d.ts.map +0 -1
  428. package/dist/src/coin/stx/keyPair.js +0 -140
  429. package/dist/src/coin/stx/sendmanyBuilder.d.ts +0 -23
  430. package/dist/src/coin/stx/sendmanyBuilder.d.ts.map +0 -1
  431. package/dist/src/coin/stx/sendmanyBuilder.js +0 -75
  432. package/dist/src/coin/stx/transaction.d.ts +0 -49
  433. package/dist/src/coin/stx/transaction.d.ts.map +0 -1
  434. package/dist/src/coin/stx/transaction.js +0 -225
  435. package/dist/src/coin/stx/transactionBuilder.d.ts +0 -86
  436. package/dist/src/coin/stx/transactionBuilder.d.ts.map +0 -1
  437. package/dist/src/coin/stx/transactionBuilder.js +0 -263
  438. package/dist/src/coin/stx/transactionBuilderFactory.d.ts +0 -30
  439. package/dist/src/coin/stx/transactionBuilderFactory.d.ts.map +0 -1
  440. package/dist/src/coin/stx/transactionBuilderFactory.js +0 -81
  441. package/dist/src/coin/stx/transferBuilder.d.ts +0 -30
  442. package/dist/src/coin/stx/transferBuilder.d.ts.map +0 -1
  443. package/dist/src/coin/stx/transferBuilder.js +0 -99
  444. package/dist/src/coin/stx/utils.d.ts +0 -207
  445. package/dist/src/coin/stx/utils.d.ts.map +0 -1
  446. package/dist/src/coin/stx/utils.js +0 -504
  447. package/dist/src/coin/trx/address.d.ts +0 -11
  448. package/dist/src/coin/trx/address.d.ts.map +0 -1
  449. package/dist/src/coin/trx/address.js +0 -13
  450. package/dist/src/coin/trx/contractCallBuilder.d.ts +0 -96
  451. package/dist/src/coin/trx/contractCallBuilder.d.ts.map +0 -1
  452. package/dist/src/coin/trx/contractCallBuilder.js +0 -281
  453. package/dist/src/coin/trx/enum.d.ts +0 -23
  454. package/dist/src/coin/trx/enum.d.ts.map +0 -1
  455. package/dist/src/coin/trx/enum.js +0 -28
  456. package/dist/src/coin/trx/iface.d.ts +0 -92
  457. package/dist/src/coin/trx/iface.d.ts.map +0 -1
  458. package/dist/src/coin/trx/iface.js +0 -3
  459. package/dist/src/coin/trx/index.d.ts +0 -10
  460. package/dist/src/coin/trx/index.d.ts.map +0 -1
  461. package/dist/src/coin/trx/index.js +0 -39
  462. package/dist/src/coin/trx/keyPair.d.ts +0 -44
  463. package/dist/src/coin/trx/keyPair.d.ts.map +0 -1
  464. package/dist/src/coin/trx/keyPair.js +0 -121
  465. package/dist/src/coin/trx/transaction.d.ts +0 -74
  466. package/dist/src/coin/trx/transaction.d.ts.map +0 -1
  467. package/dist/src/coin/trx/transaction.js +0 -205
  468. package/dist/src/coin/trx/transactionBuilder.d.ts +0 -65
  469. package/dist/src/coin/trx/transactionBuilder.d.ts.map +0 -1
  470. package/dist/src/coin/trx/transactionBuilder.js +0 -215
  471. package/dist/src/coin/trx/utils.d.ts +0 -127
  472. package/dist/src/coin/trx/utils.d.ts.map +0 -1
  473. package/dist/src/coin/trx/utils.js +0 -369
  474. package/dist/src/coin/trx/wrappedBuilder.d.ts +0 -52
  475. package/dist/src/coin/trx/wrappedBuilder.d.ts.map +0 -1
  476. package/dist/src/coin/trx/wrappedBuilder.js +0 -104
  477. package/dist/src/coin/xrp/index.d.ts +0 -5
  478. package/dist/src/coin/xrp/index.d.ts.map +0 -1
  479. package/dist/src/coin/xrp/index.js +0 -29
  480. package/dist/src/coin/xrp/keyPair.d.ts +0 -10
  481. package/dist/src/coin/xrp/keyPair.d.ts.map +0 -1
  482. package/dist/src/coin/xrp/keyPair.js +0 -16
  483. package/dist/src/coin/xrp/transaction.d.ts +0 -10
  484. package/dist/src/coin/xrp/transaction.d.ts.map +0 -1
  485. package/dist/src/coin/xrp/transaction.js +0 -20
  486. package/dist/src/coin/xrp/transactionBuilder.d.ts +0 -27
  487. package/dist/src/coin/xrp/transactionBuilder.d.ts.map +0 -1
  488. package/dist/src/coin/xrp/transactionBuilder.js +0 -46
  489. package/dist/src/coin/xrp/transactionBuilderFactory.d.ts +0 -24
  490. package/dist/src/coin/xrp/transactionBuilderFactory.d.ts.map +0 -1
  491. package/dist/src/coin/xrp/transactionBuilderFactory.js +0 -38
  492. package/dist/src/coin/xrp/transferBuilder.d.ts +0 -14
  493. package/dist/src/coin/xrp/transferBuilder.d.ts.map +0 -1
  494. package/dist/src/coin/xrp/transferBuilder.js +0 -24
  495. package/dist/src/coin/xrp/utils.d.ts +0 -16
  496. package/dist/src/coin/xrp/utils.d.ts.map +0 -1
  497. package/dist/src/coin/xrp/utils.js +0 -32
  498. package/dist/src/coin/xrp/walletInitializationBuilder.d.ts +0 -14
  499. package/dist/src/coin/xrp/walletInitializationBuilder.d.ts.map +0 -1
  500. package/dist/src/coin/xrp/walletInitializationBuilder.js +0 -24
  501. package/dist/src/coin/xtz/address.d.ts +0 -8
  502. package/dist/src/coin/xtz/address.d.ts.map +0 -1
  503. package/dist/src/coin/xtz/address.js +0 -10
  504. package/dist/src/coin/xtz/iface.d.ts +0 -81
  505. package/dist/src/coin/xtz/iface.d.ts.map +0 -1
  506. package/dist/src/coin/xtz/iface.js +0 -3
  507. package/dist/src/coin/xtz/index.d.ts +0 -8
  508. package/dist/src/coin/xtz/index.d.ts.map +0 -1
  509. package/dist/src/coin/xtz/index.js +0 -37
  510. package/dist/src/coin/xtz/keyPair.d.ts +0 -40
  511. package/dist/src/coin/xtz/keyPair.d.ts.map +0 -1
  512. package/dist/src/coin/xtz/keyPair.js +0 -136
  513. package/dist/src/coin/xtz/multisigUtils.d.ts +0 -134
  514. package/dist/src/coin/xtz/multisigUtils.d.ts.map +0 -1
  515. package/dist/src/coin/xtz/multisigUtils.js +0 -1180
  516. package/dist/src/coin/xtz/transaction.d.ts +0 -119
  517. package/dist/src/coin/xtz/transaction.d.ts.map +0 -1
  518. package/dist/src/coin/xtz/transaction.js +0 -315
  519. package/dist/src/coin/xtz/transactionBuilder.d.ts +0 -171
  520. package/dist/src/coin/xtz/transactionBuilder.d.ts.map +0 -1
  521. package/dist/src/coin/xtz/transactionBuilder.js +0 -453
  522. package/dist/src/coin/xtz/transferBuilder.d.ts +0 -24
  523. package/dist/src/coin/xtz/transferBuilder.d.ts.map +0 -1
  524. package/dist/src/coin/xtz/transferBuilder.js +0 -64
  525. package/dist/src/coin/xtz/utils.d.ts +0 -265
  526. package/dist/src/coin/xtz/utils.d.ts.map +0 -1
  527. package/dist/src/coin/xtz/utils.js +0 -460
  528. package/dist/src/mpc/curves/baseCurve.d.ts +0 -19
  529. package/dist/src/mpc/curves/baseCurve.d.ts.map +0 -1
  530. package/dist/src/mpc/curves/baseCurve.js +0 -6
  531. package/dist/src/mpc/curves/ed25519.d.ts +0 -17
  532. package/dist/src/mpc/curves/ed25519.d.ts.map +0 -1
  533. package/dist/src/mpc/curves/ed25519.js +0 -58
  534. package/dist/src/mpc/curves/index.d.ts +0 -6
  535. package/dist/src/mpc/curves/index.d.ts.map +0 -1
  536. package/dist/src/mpc/curves/index.js +0 -8
  537. package/dist/src/mpc/curves/secp256k1.d.ts +0 -16
  538. package/dist/src/mpc/curves/secp256k1.d.ts.map +0 -1
  539. package/dist/src/mpc/curves/secp256k1.js +0 -66
  540. package/dist/src/mpc/hdTree.d.ts +0 -24
  541. package/dist/src/mpc/hdTree.d.ts.map +0 -1
  542. package/dist/src/mpc/hdTree.js +0 -94
  543. package/dist/src/mpc/shamir.d.ts +0 -26
  544. package/dist/src/mpc/shamir.d.ts.map +0 -1
  545. package/dist/src/mpc/shamir.js +0 -86
  546. package/dist/src/mpc/tss.d.ts +0 -98
  547. package/dist/src/mpc/tss.d.ts.map +0 -1
  548. package/dist/src/mpc/tss.js +0 -273
  549. package/dist/src/mpc/util.d.ts +0 -8
  550. package/dist/src/mpc/util.d.ts.map +0 -1
  551. package/dist/src/mpc/util.js +0 -42
  552. package/resources/hbar/protobuf/BasicTypes.proto +0 -424
  553. package/resources/hbar/protobuf/CryptoCreate.proto +0 -47
  554. package/resources/hbar/protobuf/CryptoTransfer.proto +0 -33
  555. package/resources/hbar/protobuf/Duration.proto +0 -28
  556. package/resources/hbar/protobuf/Timestamp.proto +0 -34
  557. package/resources/hbar/protobuf/Transaction.proto +0 -35
  558. package/resources/hbar/protobuf/TransactionBody.proto +0 -24
  559. package/resources/hbar/protobuf/TransactionContents.proto +0 -33
  560. package/resources/hbar/protobuf/hedera.d.ts +0 -4612
  561. package/resources/hbar/protobuf/hedera.js +0 -12192
  562. package/resources/trx/protobuf/Contract.proto +0 -256
  563. package/resources/trx/protobuf/Discover.proto +0 -44
  564. package/resources/trx/protobuf/tron.d.ts +0 -11024
  565. package/resources/trx/protobuf/tron.js +0 -31510
  566. 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29pbi9oYmFyL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwwQ0FBNEI7QUFDNUIsd0NBQWlGO0FBQ2pGLGdFQUFxQztBQUNyQyxxREFBdUM7QUFHdkMsOENBQXNCO0FBQ3RCLDhEQUFzQztBQUN0Qyw4Q0FBa0U7QUFDekQsc0ZBREEsZ0JBQUssT0FDQTtBQUFFLDZGQURBLHVCQUFZLE9BQ0E7QUFFNUIsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLHNCQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUU5RDs7Ozs7OztHQU9HO0FBQ0gsU0FBZ0IsY0FBYyxDQUFDLE9BQWU7SUFDNUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyx3Q0FBd0MsQ0FBQyxFQUFFO1FBQ2xGLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFDRCxJQUFJO1FBQ0YsTUFBTSxHQUFHLEdBQUcsZUFBUyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMxQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7S0FDMUI7SUFBQyxPQUFPLENBQUMsRUFBRTtRQUNWLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7QUFDSCxDQUFDO0FBVkQsd0NBVUM7QUFFRDs7Ozs7R0FLRztBQUNILFNBQWdCLG9CQUFvQixDQUFDLElBQVk7SUFDL0MsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ25CLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFDRCxJQUFJO1FBQ0YsTUFBTSxFQUFFLEdBQUcsbUJBQWEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUN6QixPQUFPLEtBQUssQ0FBQztTQUNkO1FBQ0QsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztLQUNuQztJQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ1YsT0FBTyxLQUFLLENBQUM7S0FDZDtBQUNILENBQUM7QUFiRCxvREFhQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBZ0IsZ0JBQWdCLENBQUMsR0FBVztJQUMxQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDbEIsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUNELElBQUk7UUFDRixNQUFNLE1BQU0sR0FBRyxlQUFTLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZELE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0tBQ3BDO0lBQUMsT0FBTyxDQUFDLEVBQUU7UUFDVixPQUFPLEtBQUssQ0FBQztLQUNkO0FBQ0gsQ0FBQztBQVZELDRDQVVDO0FBRUQ7Ozs7R0FJRztBQUNILFNBQWdCLGlCQUFpQjtJQUMvQixPQUFPLE9BQU8sT0FBTyxLQUFLLFdBQVcsSUFBSSxPQUFPLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxLQUFLLFdBQVcsQ0FBQztBQUN4RixDQUFDO0FBRkQsOENBRUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBZ0IsY0FBYztJQUM1QixJQUFJLGlCQUFpQixFQUFFLEVBQUU7UUFDdkIsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLE9BQU8sR0FBRyxLQUFLLENBQUMsR0FBRyxVQUFVLENBQUM7UUFDNUQsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQzNCO1NBQU07UUFDTCxPQUFPLENBQUMsV0FBVyxDQUFDLFVBQVUsR0FBRyxXQUFXLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDaEU7QUFDSCxDQUFDO0FBUkQsd0NBUUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxTQUFnQixpQkFBaUIsQ0FBQyxJQUFZO0lBQzVDLE9BQU8scUJBQXFCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQzFDLENBQUM7QUFGRCw4Q0FFQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBZ0IsYUFBYSxDQUFDLE1BQWM7SUFDMUMsTUFBTSxlQUFlLEdBQUcsSUFBSSxzQkFBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzlDLE9BQU8sQ0FDTCxlQUFlLENBQUMsU0FBUyxFQUFFO1FBQzNCLGVBQWUsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUM7UUFDekMsZUFBZSxDQUFDLG1CQUFtQixDQUFDLG1CQUFtQixDQUFDLENBQ3pELENBQUM7QUFDSixDQUFDO0FBUEQsc0NBT0M7QUFFRDs7Ozs7R0FLRztBQUNILFNBQWdCLDJCQUEyQixDQUFDLGNBQW1CO0lBQzdELElBQ0UsQ0FBQyxPQUFPLGNBQWMsS0FBSyxRQUFRLElBQUksZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzdFLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEVBQ3BFO1FBQ0EsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQVJELGtFQVFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxTQUFnQixrQkFBa0IsQ0FBQyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFvQjtJQUNyRixPQUFPLEdBQUcsUUFBUSxJQUFJLENBQUMsSUFBSSxRQUFRLElBQUksQ0FBQyxJQUFJLFVBQVUsRUFBRSxDQUFDO0FBQzNELENBQUM7QUFGRCxnREFFQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBZ0IsZUFBZSxDQUFDLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBb0I7SUFDbEUsT0FBTyxHQUFHLE9BQU8sSUFBSSxLQUFLLEVBQUUsQ0FBQztBQUMvQixDQUFDO0FBRkQsMENBRUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxTQUFnQixZQUFZLENBQUMsTUFBYyxFQUFFLEdBQVc7SUFDdEQsSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1FBQzFCLE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7S0FDakM7SUFDRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUFMRCxvQ0FLQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFnQixXQUFXLENBQUMsSUFBWTtJQUN0QyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDO0FBQzlELENBQUM7QUFGRCxrQ0FFQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFnQixZQUFZLENBQUMsR0FBVztJQUN0QyxPQUFPLGdCQUFVLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3BDLENBQUM7QUFGRCxvQ0FFQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBZ0IscUJBQXFCLENBQUMsVUFBa0I7SUFDdEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsdUJBQXVCLENBQUMsVUFBVSxDQUFDLEVBQUU7UUFDdkQsTUFBTSxJQUFJLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0tBQzdDO0lBRUQsTUFBTSxNQUFNLEdBQVcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN6RSxPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDaEMsQ0FBQztBQVBELHNEQU9DO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsU0FBZ0IsaUJBQWlCLENBQUMsT0FBZSxFQUFFLFdBQW1CO0lBQ3BFLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxPQUFPLENBQUMsRUFBRTtRQUN6QyxNQUFNLElBQUkscUJBQVUsQ0FBQyxvQkFBb0IsT0FBTyxFQUFFLENBQUMsQ0FBQztLQUNyRDtJQUNELE9BQU8sY0FBYyxDQUFDLE9BQU8sQ0FBQyxLQUFLLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUNqRSxDQUFDO0FBTEQsOENBS0M7QUFFRDs7Ozs7R0FLRztBQUNILFNBQWdCLGNBQWMsQ0FBQyxPQUFlO0lBQzVDLE1BQU0sY0FBYyxHQUFHLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2xELE9BQU8sY0FBYyxDQUFDLE9BQU8sQ0FBQztBQUNoQyxDQUFDO0FBSEQsd0NBR0M7QUFFRDs7Ozs7R0FLRztBQUNILFNBQWdCLGlCQUFpQixDQUFDLFVBQWtCO0lBQ2xELE1BQU0sY0FBYyxHQUFHLGFBQUcsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDN0MsTUFBTSxZQUFZLEdBQUcsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMscUJBQVcsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDekYsTUFBTSxXQUFXLEdBQVcsY0FBYyxDQUFDLFFBQVEsQ0FBQztJQUNwRCxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxFQUFFO1FBQ2hDLE1BQU0sSUFBSSxxQkFBVSxDQUFDLG9CQUFvQixVQUFVLEVBQUUsQ0FBQyxDQUFDO0tBQ3hEO0lBRUQsb0RBQW9EO0lBQ3BELElBQUksV0FBVyxLQUFLLFVBQVUsRUFBRTtRQUM5QixPQUFPO1lBQ0wsT0FBTyxFQUFFLFVBQVU7WUFDbkIsTUFBTSxFQUFFLFNBQVM7U0FDbEIsQ0FBQztLQUNIO0lBQ0QsTUFBTSxNQUFNLEdBQVcsWUFBWSxDQUFDLE1BQU0sQ0FBQztJQUMzQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1FBQ3hCLE1BQU0sSUFBSSxxQkFBVSxDQUFDLHFCQUFxQixVQUFVLHdCQUF3QixDQUFDLENBQUM7S0FDL0U7SUFFRCxPQUFPO1FBQ0wsT0FBTyxFQUFFLFdBQVc7UUFDcEIsTUFBTTtLQUNQLENBQUM7QUFDSixDQUFDO0FBeEJELDhDQXdCQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFnQixnQkFBZ0IsQ0FBQyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQWtCO0lBQ2xFLElBQUksTUFBTSxJQUFJLFdBQVcsQ0FBQyxNQUFNLENBQUMsRUFBRTtRQUNqQyxPQUFPLEdBQUcsT0FBTyxXQUFXLE1BQU0sRUFBRSxDQUFDO0tBQ3RDO0lBQ0QsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQztBQUxELDRDQUtDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxTQUFnQiwyQkFBMkIsQ0FBQyxPQUFlO0lBQ3pELElBQUk7UUFDRixNQUFNLGNBQWMsR0FBRyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNsRCxPQUFPLE9BQU8sS0FBSyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztLQUNyRDtJQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ1YsT0FBTyxLQUFLLENBQUM7S0FDZDtBQUNILENBQUM7QUFQRCxrRUFPQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uSWQsIEFjY291bnRJZCwgUHVibGljS2V5LCBQcml2YXRlS2V5IH0gZnJvbSAnQGhhc2hncmFwaC9zZGsnO1xuaW1wb3J0IEJpZ051bWJlciBmcm9tICdiaWdudW1iZXIuanMnO1xuaW1wb3J0ICogYXMgc3RlbGxhciBmcm9tICdzdGVsbGFyLXNkayc7XG5pbXBvcnQgeyBwcm90byB9IGZyb20gJy4uLy4uLy4uL3Jlc291cmNlcy9oYmFyL3Byb3RvYnVmL2hlZGVyYSc7XG5pbXBvcnQgeyBBZGRyZXNzRGV0YWlscyB9IGZyb20gJy4vaWZhY2VzJztcbmltcG9ydCB1cmwgZnJvbSAndXJsJztcbmltcG9ydCBxdWVyeXN0cmluZyBmcm9tICdxdWVyeXN0cmluZyc7XG5pbXBvcnQgeyB0b0hleCwgdG9VaW50OEFycmF5LCBVdGlsc0Vycm9yIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmV4cG9ydCB7IHRvSGV4LCB0b1VpbnQ4QXJyYXkgfTtcblxuY29uc3QgTUFYX1RJTllCQVJTX0FNT1VOVCA9IG5ldyBCaWdOdW1iZXIoMikucG93KDYzKS5taW51cygxKTtcblxuLyoqXG4gKiBSZXR1cm5zIHdoZXRoZXIgb3Igbm90IHRoZSBzdHJpbmcgaXMgYSB2YWxpZCBIZWRlcmEgYWNjb3VudC5cbiAqXG4gKiBJbiBhbnkgZm9ybSwgYHNoYXJkYCBhbmQgYHJlYWxtYCBhcmUgYXNzdW1lZCB0byBiZSAwIGlmIG5vdCBwcm92aWRlZC5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gYWRkcmVzcyAtIHRoZSBhZGRyZXNzIHRvIGJlIHZhbGlkYXRlZFxuICogQHJldHVybnMge2Jvb2xlYW59IC0gdGhlIHZhbGlkYXRpb24gcmVzdWx0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkQWRkcmVzcyhhZGRyZXNzOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgaWYgKF8uaXNFbXB0eShhZGRyZXNzKSB8fCAhYWRkcmVzcy5tYXRjaCgvXlswLTldKyg/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FsbGV0SW5pdGlhbGl6YXRpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvaW4vaGJhci93YWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0Esb0VBQWdFO0FBQ2hFLDhDQUF5RTtBQUN6RSw2REFBcUU7QUFFckUsbUNBQWdFO0FBQ2hFLHlCQUE2QjtBQUU3QixNQUFhLDJCQUE0QixTQUFRLHVDQUFrQjtJQUlqRSxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUpiLFlBQU8sR0FBYSxFQUFFLENBQUM7UUFLN0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLGNBQUssQ0FBQywyQkFBMkIsRUFBRSxDQUFDO1FBQzNELElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNwRCxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsR0FBRyxJQUFJLGNBQUssQ0FBQyxRQUFRLENBQUMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRUQsc0JBQXNCO0lBQ3RCLGtCQUFrQjtJQUNSLEtBQUssQ0FBQyxtQkFBbUI7UUFDakMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEdBQUcsRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUM7UUFDaEUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsMEJBQWUsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQzFFLE9BQU8sTUFBTSxLQUFLLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLGVBQWUsQ0FBQyxPQUFPLEdBQUcsSUFBSTtRQUNwQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQ3hDLElBQUksS0FBSyxDQUFDLElBQUksSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtnQkFDakMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO29CQUNuQixPQUFPLEVBQUUsb0JBQVksQ0FBQyxJQUFJLFVBQU8sQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUM7aUJBQ3RFLENBQUMsQ0FBQzthQUNKO1lBQ0QsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLEVBQUUsSUFBSSxjQUFLLENBQUMsWUFBWSxDQUFDLEVBQUUsU0FBUyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixXQUFXLENBQUMsRUFBZTtRQUN6QixLQUFLLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsMEJBQWUsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQzFFLE1BQU0sU0FBUyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUM7UUFDaEQsSUFBSSxTQUFTLElBQUksU0FBUyxDQUFDLEdBQUcsSUFBSSxTQUFTLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRTtZQUM1RCxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsWUFBa0MsQ0FBQyxDQUFDO1NBQ25FO0lBQ0gsQ0FBQztJQUVPLFVBQVUsQ0FBQyxJQUF3QjtRQUN6QyxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBSyxDQUFDLEdBQUcsQ0FBQyxPQUFRLENBQUMsQ0FBQyxDQUFDO1lBQ2xDLENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBQ0QsWUFBWTtJQUVaLGdDQUFnQztJQUNoQzs7Ozs7T0FLRztJQUNILEtBQUssQ0FBQyxPQUFlO1FBQ25CLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksOEJBQVMsRUFBRTtZQUNwQyxNQUFNLElBQUksZ0NBQXFCLENBQUMsZUFBZSxHQUFHLDhCQUFTLEdBQUcsMENBQTBDLENBQUMsQ0FBQztTQUMzRztRQUNELElBQUksQ0FBQyx3QkFBZ0IsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUM5QixNQUFNLElBQUksZ0NBQXFCLENBQUMsbUJBQW1CLEdBQUcsT0FBTyxDQUFDLENBQUM7U0FDaEU7UUFDRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ2xDLE1BQU0sSUFBSSxnQ0FBcUIsQ0FBQywwQkFBMEIsR0FBRyxPQUFPLENBQUMsQ0FBQztTQUN2RTtRQUNELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNELFlBQVk7SUFFWixvQkFBb0I7SUFDcEIsdUJBQXVCO1FBQ3JCLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxTQUFTLEVBQUU7WUFDOUIsTUFBTSxJQUFJLGdDQUFxQixDQUFDLDRDQUE0QyxDQUFDLENBQUM7U0FDL0U7UUFFRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxLQUFLLDhCQUFTLEVBQUU7WUFDckMsTUFBTSxJQUFJLGdDQUFxQixDQUM3Qiw0REFBNEQsOEJBQVMsWUFBWSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUN2RyxDQUFDO1NBQ0g7UUFDRCxLQUFLLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0NBRUY7QUEzRkQsa0VBMkZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcbmltcG9ydCB7IHByb3RvIH0gZnJvbSAnLi4vLi4vLi4vcmVzb3VyY2VzL2hiYXIvcHJvdG9idWYvaGVkZXJhJztcbmltcG9ydCB7IEJ1aWxkVHJhbnNhY3Rpb25FcnJvciwgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciwgREVGQVVMVF9NIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IGlzVmFsaWRQdWJsaWNLZXksIHRvVWludDhBcnJheSwgdG9IZXggfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IEtleVBhaXIgfSBmcm9tICcuLyc7XG5cbmV4cG9ydCBjbGFzcyBXYWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXIgZXh0ZW5kcyBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICBwcml2YXRlIF9vd25lcnM6IHN0cmluZ1tdID0gW107XG4gIHByaXZhdGUgX3R4Qm9keURhdGE6IHByb3RvLkNyeXB0b0NyZWF0ZVRyYW5zYWN0aW9uQm9keTtcblxuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gICAgdGhpcy5fdHhCb2R5RGF0YSA9IG5ldyBwcm90by5DcnlwdG9DcmVhdGVUcmFuc2FjdGlvbkJvZHkoKTtcbiAgICB0aGlzLl90eEJvZHkuY3J5cHRvQ3JlYXRlQWNjb3VudCA9IHRoaXMuX3R4Qm9keURhdGE7XG4gICAgdGhpcy5fdHhCb2R5RGF0YS5hdXRvUmVuZXdQZXJpb2QgPSBuZXcgcHJvdG8uRHVyYXRpb24oeyBzZWNvbmRzOiA3ODkwMDAwIH0pO1xuICB9XG5cbiAgLy8gcmVnaW9uIEJhc2UgQnVpbGRlclxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGJ1aWxkSW1wbGVtZW50YXRpb24oKTogUHJvbWlzZTxUcmFuc2FjdGlvbj4ge1xuICAgIHRoaXMuX3R4Qm9keURhdGEua2V5ID0geyB0aHJlc2hvbGRLZXk6IHRoaXMuYnVpbGRPd25lcnNLZXlzKCkgfTtcbiAgICB0aGlzLl90eEJvZHlEYXRhLmluaXRpYWxCYWxhbmNlID0gMDtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLnNldFRyYW5zYWN0aW9uVHlwZShUcmFuc2FjdGlvblR5cGUuV2FsbGV0SW5pdGlhbGl6YXRpb24pO1xuICAgIHJldHVybiBhd2FpdCBzdXBlci5idWlsZEltcGxlbWVudGF0aW9uKCk7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIHtib29sZWFufSByYXdLZXlzIGRlZmluZXMgaWYgdGhlIG93bmVycyBrZXlzIGFyZSBvYnRhaW5lZCBpbiByYXcgb3IgcHJvdG9jb2wgZGVmYXVsdCBmb3JtYXRcbiAgICogQHJldHVybnMge3Byb3RvLlRocmVzaG9sZEtleX0gdGhlIHdhbGxldCB0aHJlc2hvbGQga2V5c1xuICAgKi9cbiAgcHJpdmF0ZSBidWlsZE93bmVyc0tleXMocmF3S2V5cyA9IHRydWUpOiBwcm90by5UaHJlc2hvbGRLZXkge1xuICAgIHJldHVybiB0aGlzLl9vd25lcnMucmVkdWNlKCh0S2V5cywga2V5KSA9PiB7XG4gICAgICBpZiAodEtleXMua2V5cyAmJiB0S2V5cy5rZXlzLmtleXMpIHtcbiAgICAgICAgdEtleXMua2V5cy5rZXlzLnB1c2goe1xuICAgICAgICAgIGVkMjU1MTk6IHRvVWludDhBcnJheShuZXcgS2V5UGFpcih7IHB1Yjoga2V5IH0pLmdldEtleXMocmF3S2V5cykucHViKSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdEtleXM7XG4gICAgfSwgbmV3IHByb3RvLlRocmVzaG9sZEtleSh7IHRocmVzaG9sZDogMiwga2V5czogeyBrZXlzOiBbXSB9IH0pKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBpbml0QnVpbGRlcih0eDogVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICBzdXBlci5pbml0QnVpbGRlcih0eCk7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5zZXRUcmFuc2FjdGlvblR5cGUoVHJhbnNhY3Rpb25UeXBlLldhbGxldEluaXRpYWxpemF0aW9uKTtcbiAgICBjb25zdCBjcmVhdGVBY2MgPSB0eC50eEJvZHkuY3J5cHRvQ3JlYXRlQWNjb3VudDtcbiAgICBpZiAoY3JlYXRlQWNjICYmIGNyZWF0ZUFjYy5rZXkgJiYgY3JlYXRlQWNjLmtleS50aHJlc2hvbGRLZXkpIHtcbiAgICAgIHRoaXMuaW5pdE93bmVycyhjcmVhdGVBY2Mua2V5LnRocmVzaG9sZEtleSBhcyBwcm90by5UaHJlc2hvbGRLZXkpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaW5pdE93bmVycyhrZXlzOiBwcm90by5UaHJlc2hvbGRLZXkpIHtcbiAgICBpZiAoa2V5cy5rZXlzICYmIGtleXMua2V5cy5rZXlzKSB7XG4gICAgICBrZXlzLmtleXMua2V5cy5mb3JFYWNoKChrZXkpID0+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