@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,146 +0,0 @@
1
- import { SignaturePubkeyPair, Transaction as SolTransaction, TransactionInstruction } from '@solana/web3.js';
2
- import { TransactionType } from '@bitgo/sdk-core';
3
- import { ValidInstructionTypes } from './iface';
4
- import { BaseCoin, BaseNetwork, SolCoin } from '@bitgo/statics';
5
- /** @inheritdoc */
6
- export declare function isValidAddress(address: string): boolean;
7
- /** @inheritdoc */
8
- export declare function isValidBlockId(hash: string): boolean;
9
- /** @inheritdoc */
10
- export declare function isValidPrivateKey(prvKey: string | Uint8Array): boolean;
11
- /** @inheritdoc */
12
- export declare function isValidPublicKey(pubKey: string): boolean;
13
- /** @inheritdoc */
14
- export declare function isValidSignature(signature: string): boolean;
15
- /** @inheritdoc */
16
- export declare function isValidTransactionId(txId: string): boolean;
17
- /**
18
- * Returns whether or not the string is a valid amount of lamports number
19
- *
20
- * @param {string} amount - the string to validate
21
- * @returns {boolean} - the validation result
22
- */
23
- export declare function isValidAmount(amount: string): boolean;
24
- /**
25
- * Check if the string is a valid amount of lamports number on staking
26
- *
27
- * @param {string} amount - the string to validate
28
- * @returns {boolean} - the validation result
29
- */
30
- export declare function isValidStakingAmount(amount: string): boolean;
31
- /**
32
- * Check if this is a valid memo or not.
33
- *
34
- * @param memo - the memo string
35
- * @returns {boolean} - the validation result
36
- */
37
- export declare function isValidMemo(memo: string): boolean;
38
- /**
39
- * Checks if raw transaction can be deserialized
40
- *
41
- * @param {string} rawTransaction - transaction in base64 string format
42
- * @returns {boolean} - the validation result
43
- */
44
- export declare function isValidRawTransaction(rawTransaction: string): boolean;
45
- /**
46
- * Verifies if signature for message is valid.
47
- *
48
- * @param {Buffer} serializedTx - tx as a base64 string
49
- * @param {string} signature - signature as a string
50
- * @param {string} publicKey - public key as base 58
51
- * @returns {Boolean} true if signature is valid.
52
- */
53
- export declare function verifySignature(serializedTx: string, signature: string, publicKey: string): boolean;
54
- /**
55
- * Converts a base58 string into a Uint8Array.
56
- *
57
- * @param {string} input - a string in base58
58
- * @returns {Uint8Array} - an Uint8Array
59
- */
60
- export declare function base58ToUint8Array(input: string): Uint8Array;
61
- /**
62
- * Converts a Uint8Array to a base58 string.
63
- *
64
- * @param {Uint8Array} input - an Uint8Array
65
- * @returns {string} - a string in base58
66
- */
67
- export declare function Uint8ArrayTobase58(input: Uint8Array): string;
68
- /**
69
- * Count the amount of signatures are not null.
70
- *
71
- * @param {SignaturePubkeyPair[]} signatures - an array of SignaturePubkeyPair
72
- * @returns {number} - the amount of valid signatures
73
- */
74
- export declare function countNotNullSignatures(signatures: SignaturePubkeyPair[]): number;
75
- /**
76
- * Check if all signatures are completed.
77
- *
78
- * @param {SignaturePubkeyPair[]} signatures - signatures
79
- * @returns {boolean}
80
- */
81
- export declare function requiresAllSignatures(signatures: SignaturePubkeyPair[]): boolean;
82
- /**
83
- * Check the transaction type matching instructions by order.
84
- *
85
- * @param {TransactionInstruction[]} instructions - the array of supported Solana instructions to be parsed
86
- * @param {Record<string, number>} instructionIndexes - the instructions indexes of the current transaction
87
- * @returns true if it matchs by order.
88
- */
89
- export declare function matchTransactionTypeByInstructionsOrder(instructions: TransactionInstruction[], instructionIndexes: Record<string, number>): boolean;
90
- /**
91
- * Returns the transaction Type based on the transaction instructions.
92
- * Wallet initialization, Transfer and Staking transactions are supported.
93
- *
94
- * @param {SolTransaction} transaction - the solana transaction
95
- * @returns {TransactionType} - the type of transaction
96
- */
97
- export declare function getTransactionType(transaction: SolTransaction): TransactionType;
98
- /**
99
- * Returns the instruction Type based on the solana instructions.
100
- * Throws if the solana instruction program is not supported
101
- *
102
- * @param {TransactionInstruction} instruction - a solana instruction
103
- * @returns {ValidInstructionTypes} - a solana instruction type
104
- */
105
- export declare function getInstructionType(instruction: TransactionInstruction): ValidInstructionTypes;
106
- /**
107
- * Validate solana instructions types to see if they are supported by the builder.
108
- * Throws if the instruction type is invalid.
109
- *
110
- * @param {TransactionInstruction} instructions - a solana instruction
111
- * @returns {void}
112
- */
113
- export declare function validateIntructionTypes(instructions: TransactionInstruction[]): void;
114
- /**
115
- * Check the raw transaction has a valid format in the blockchain context, throw otherwise.
116
- *
117
- * @param {string} rawTransaction - Transaction in base64 string format
118
- */
119
- export declare function validateRawTransaction(rawTransaction: string): void;
120
- /**
121
- * Validates address to check if it exists and is a valid Solana public key
122
- *
123
- * @param {string} address The address to be validated
124
- * @param {string} fieldName Name of the field to validate, its needed to return which field is failing on case of error.
125
- */
126
- export declare function validateAddress(address: string, fieldName: string): void;
127
- /**
128
- * Get the statics coin object matching a given Solana token address if it exists
129
- *
130
- * @param tokenAddress The token address to match against
131
- * @param network Solana Mainnet or Testnet
132
- * @returns statics BaseCoin object for the matching token
133
- */
134
- export declare function getSolTokenFromAddress(tokenAddress: string, network: BaseNetwork): Readonly<BaseCoin> | undefined;
135
- /**
136
- * Get the solana token object from token name
137
- * @param tokenName The token name to match against
138
- * */
139
- export declare function getSolTokenFromTokenName(tokenName: string): Readonly<SolCoin> | undefined;
140
- /**
141
- * Get the solana associated token account address
142
- * @param tokenAddress The token address
143
- * @param ownerAddress The owner of the associated token account
144
- * */
145
- export declare function getAssociatedTokenAccountAddress(tokenAddress: string, ownerAddress: string): Promise<string>;
146
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/coin/sol/utils.ts"],"names":[],"mappings":"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"}
@@ -1,361 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getAssociatedTokenAccountAddress = exports.getSolTokenFromTokenName = exports.getSolTokenFromAddress = exports.validateAddress = exports.validateRawTransaction = exports.validateIntructionTypes = exports.getInstructionType = exports.getTransactionType = exports.matchTransactionTypeByInstructionsOrder = exports.requiresAllSignatures = exports.countNotNullSignatures = exports.Uint8ArrayTobase58 = exports.base58ToUint8Array = exports.verifySignature = exports.isValidRawTransaction = exports.isValidMemo = exports.isValidStakingAmount = exports.isValidAmount = exports.isValidTransactionId = exports.isValidSignature = exports.isValidPublicKey = exports.isValidPrivateKey = exports.isValidBlockId = exports.isValidAddress = void 0;
7
- const web3_js_1 = require("@solana/web3.js");
8
- const bs58_1 = __importDefault(require("bs58"));
9
- const bignumber_js_1 = __importDefault(require("bignumber.js"));
10
- const constants_1 = require("./constants");
11
- const sdk_core_1 = require("@bitgo/sdk-core");
12
- const tweetnacl_1 = __importDefault(require("tweetnacl"));
13
- const spl_token_1 = require("@solana/spl-token");
14
- const statics_1 = require("@bitgo/statics");
15
- const assert_1 = __importDefault(require("assert"));
16
- const DECODED_BLOCK_HASH_LENGTH = 32; // https://docs.solana.com/developing/programming-model/transactions#blockhash-format
17
- const DECODED_SIGNATURE_LENGTH = 64; // https://docs.solana.com/terminology#signature
18
- const BASE_58_ENCONDING_REGEX = '[1-9A-HJ-NP-Za-km-z]';
19
- /** @inheritdoc */
20
- function isValidAddress(address) {
21
- return isValidPublicKey(address);
22
- }
23
- exports.isValidAddress = isValidAddress;
24
- /** @inheritdoc */
25
- function isValidBlockId(hash) {
26
- try {
27
- return (!!hash && new RegExp(BASE_58_ENCONDING_REGEX).test(hash) && bs58_1.default.decode(hash).length === DECODED_BLOCK_HASH_LENGTH);
28
- }
29
- catch (e) {
30
- return false;
31
- }
32
- }
33
- exports.isValidBlockId = isValidBlockId;
34
- /** @inheritdoc */
35
- function isValidPrivateKey(prvKey) {
36
- try {
37
- const key = typeof prvKey === 'string' ? this.base58ToUint8Array(prvKey) : prvKey;
38
- return !!web3_js_1.Keypair.fromSecretKey(key);
39
- }
40
- catch (e) {
41
- return false;
42
- }
43
- }
44
- exports.isValidPrivateKey = isValidPrivateKey;
45
- /** @inheritdoc */
46
- function isValidPublicKey(pubKey) {
47
- try {
48
- if (sdk_core_1.isValidXpub(pubKey))
49
- return true;
50
- new web3_js_1.PublicKey(pubKey);
51
- return true;
52
- }
53
- catch {
54
- return false;
55
- }
56
- }
57
- exports.isValidPublicKey = isValidPublicKey;
58
- /** @inheritdoc */
59
- function isValidSignature(signature) {
60
- try {
61
- return !!signature && bs58_1.default.decode(signature).length === DECODED_SIGNATURE_LENGTH;
62
- }
63
- catch (e) {
64
- return false;
65
- }
66
- }
67
- exports.isValidSignature = isValidSignature;
68
- /** @inheritdoc */
69
- // TransactionId are the first signature on a Transaction
70
- function isValidTransactionId(txId) {
71
- return this.isValidSignature(txId);
72
- }
73
- exports.isValidTransactionId = isValidTransactionId;
74
- /**
75
- * Returns whether or not the string is a valid amount of lamports number
76
- *
77
- * @param {string} amount - the string to validate
78
- * @returns {boolean} - the validation result
79
- */
80
- function isValidAmount(amount) {
81
- const bigNumberAmount = new bignumber_js_1.default(amount);
82
- return bigNumberAmount.isInteger() && bigNumberAmount.isGreaterThanOrEqualTo(0);
83
- }
84
- exports.isValidAmount = isValidAmount;
85
- /**
86
- * Check if the string is a valid amount of lamports number on staking
87
- *
88
- * @param {string} amount - the string to validate
89
- * @returns {boolean} - the validation result
90
- */
91
- function isValidStakingAmount(amount) {
92
- const bigNumberAmount = new bignumber_js_1.default(amount);
93
- return bigNumberAmount.isInteger() && bigNumberAmount.isGreaterThan(0);
94
- }
95
- exports.isValidStakingAmount = isValidStakingAmount;
96
- /**
97
- * Check if this is a valid memo or not.
98
- *
99
- * @param memo - the memo string
100
- * @returns {boolean} - the validation result
101
- */
102
- function isValidMemo(memo) {
103
- return Buffer.from(memo).length <= constants_1.MAX_MEMO_LENGTH;
104
- }
105
- exports.isValidMemo = isValidMemo;
106
- /**
107
- * Checks if raw transaction can be deserialized
108
- *
109
- * @param {string} rawTransaction - transaction in base64 string format
110
- * @returns {boolean} - the validation result
111
- */
112
- function isValidRawTransaction(rawTransaction) {
113
- try {
114
- const tx = web3_js_1.Transaction.from(Buffer.from(rawTransaction, 'base64'));
115
- tx.serialize({ requireAllSignatures: false });
116
- return true;
117
- }
118
- catch (e) {
119
- return false;
120
- }
121
- }
122
- exports.isValidRawTransaction = isValidRawTransaction;
123
- /**
124
- * Verifies if signature for message is valid.
125
- *
126
- * @param {Buffer} serializedTx - tx as a base64 string
127
- * @param {string} signature - signature as a string
128
- * @param {string} publicKey - public key as base 58
129
- * @returns {Boolean} true if signature is valid.
130
- */
131
- function verifySignature(serializedTx, signature, publicKey) {
132
- if (!isValidRawTransaction(serializedTx)) {
133
- throw new sdk_core_1.UtilsError('Invalid serializedTx');
134
- }
135
- if (!isValidPublicKey(publicKey)) {
136
- throw new sdk_core_1.UtilsError('Invalid publicKey');
137
- }
138
- if (!isValidSignature(signature)) {
139
- throw new sdk_core_1.UtilsError('Invalid signature');
140
- }
141
- const msg = web3_js_1.Transaction.from(Buffer.from(serializedTx, 'base64')).serializeMessage();
142
- const sig = base58ToUint8Array(signature);
143
- const pub = new web3_js_1.PublicKey(publicKey);
144
- return tweetnacl_1.default.sign.detached.verify(msg, sig, pub.toBuffer());
145
- }
146
- exports.verifySignature = verifySignature;
147
- /**
148
- * Converts a base58 string into a Uint8Array.
149
- *
150
- * @param {string} input - a string in base58
151
- * @returns {Uint8Array} - an Uint8Array
152
- */
153
- function base58ToUint8Array(input) {
154
- return new Uint8Array(bs58_1.default.decode(input));
155
- }
156
- exports.base58ToUint8Array = base58ToUint8Array;
157
- /**
158
- * Converts a Uint8Array to a base58 string.
159
- *
160
- * @param {Uint8Array} input - an Uint8Array
161
- * @returns {string} - a string in base58
162
- */
163
- function Uint8ArrayTobase58(input) {
164
- return bs58_1.default.encode(input);
165
- }
166
- exports.Uint8ArrayTobase58 = Uint8ArrayTobase58;
167
- /**
168
- * Count the amount of signatures are not null.
169
- *
170
- * @param {SignaturePubkeyPair[]} signatures - an array of SignaturePubkeyPair
171
- * @returns {number} - the amount of valid signatures
172
- */
173
- function countNotNullSignatures(signatures) {
174
- return signatures.filter((sig) => !!sig.signature).length;
175
- }
176
- exports.countNotNullSignatures = countNotNullSignatures;
177
- /**
178
- * Check if all signatures are completed.
179
- *
180
- * @param {SignaturePubkeyPair[]} signatures - signatures
181
- * @returns {boolean}
182
- */
183
- function requiresAllSignatures(signatures) {
184
- return signatures.length > 0 && countNotNullSignatures(signatures) === signatures.length;
185
- }
186
- exports.requiresAllSignatures = requiresAllSignatures;
187
- /**
188
- * Check the transaction type matching instructions by order.
189
- *
190
- * @param {TransactionInstruction[]} instructions - the array of supported Solana instructions to be parsed
191
- * @param {Record<string, number>} instructionIndexes - the instructions indexes of the current transaction
192
- * @returns true if it matchs by order.
193
- */
194
- function matchTransactionTypeByInstructionsOrder(instructions, instructionIndexes) {
195
- const instructionsKeys = Object.keys(instructionIndexes);
196
- // Memo is optional and the last instruction added, it does not matter to match the type
197
- if (instructionsKeys[instructionsKeys.length - 1] === 'Memo') {
198
- instructionsKeys.pop();
199
- }
200
- // Check instructions by order using the index.
201
- for (const keyName of instructionsKeys) {
202
- if (getInstructionType(instructions[instructionIndexes[keyName]]) !== keyName) {
203
- return false;
204
- }
205
- }
206
- return true;
207
- }
208
- exports.matchTransactionTypeByInstructionsOrder = matchTransactionTypeByInstructionsOrder;
209
- /**
210
- * Returns the transaction Type based on the transaction instructions.
211
- * Wallet initialization, Transfer and Staking transactions are supported.
212
- *
213
- * @param {SolTransaction} transaction - the solana transaction
214
- * @returns {TransactionType} - the type of transaction
215
- */
216
- function getTransactionType(transaction) {
217
- const { instructions } = transaction;
218
- validateIntructionTypes(instructions);
219
- if (matchTransactionTypeByInstructionsOrder(instructions, constants_1.walletInitInstructionIndexes)) {
220
- return sdk_core_1.TransactionType.WalletInitialization;
221
- }
222
- else if (matchTransactionTypeByInstructionsOrder(instructions, constants_1.stakingActivateInstructionsIndexes)) {
223
- return sdk_core_1.TransactionType.StakingActivate;
224
- }
225
- else if (matchTransactionTypeByInstructionsOrder(instructions, constants_1.stakingDeactivateInstructionsIndexes)) {
226
- return sdk_core_1.TransactionType.StakingDeactivate;
227
- }
228
- else if (matchTransactionTypeByInstructionsOrder(instructions, constants_1.stakingWithdrawInstructionsIndexes)) {
229
- return sdk_core_1.TransactionType.StakingWithdraw;
230
- }
231
- else if (matchTransactionTypeByInstructionsOrder(instructions, constants_1.ataInitInstructionIndexes)) {
232
- return sdk_core_1.TransactionType.AssociatedTokenAccountInitialization;
233
- }
234
- return sdk_core_1.TransactionType.Send;
235
- }
236
- exports.getTransactionType = getTransactionType;
237
- /**
238
- * Returns the instruction Type based on the solana instructions.
239
- * Throws if the solana instruction program is not supported
240
- *
241
- * @param {TransactionInstruction} instruction - a solana instruction
242
- * @returns {ValidInstructionTypes} - a solana instruction type
243
- */
244
- function getInstructionType(instruction) {
245
- switch (instruction.programId.toString()) {
246
- case new web3_js_1.PublicKey(constants_1.MEMO_PROGRAM_PK).toString():
247
- return 'Memo';
248
- case web3_js_1.SystemProgram.programId.toString():
249
- return web3_js_1.SystemInstruction.decodeInstructionType(instruction);
250
- case spl_token_1.TOKEN_PROGRAM_ID.toString():
251
- return 'TokenTransfer';
252
- case web3_js_1.StakeProgram.programId.toString():
253
- return web3_js_1.StakeInstruction.decodeInstructionType(instruction);
254
- case spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID.toString():
255
- // TODO: change this when @spl-token supports decoding associated token instructions
256
- if (instruction.data.length === 0) {
257
- return 'InitializeAssociatedTokenAccount';
258
- }
259
- else {
260
- throw new sdk_core_1.NotSupported('Invalid transaction, instruction program id not supported: ' + instruction.programId.toString());
261
- }
262
- default:
263
- throw new sdk_core_1.NotSupported('Invalid transaction, instruction program id not supported: ' + instruction.programId.toString());
264
- }
265
- }
266
- exports.getInstructionType = getInstructionType;
267
- /**
268
- * Validate solana instructions types to see if they are supported by the builder.
269
- * Throws if the instruction type is invalid.
270
- *
271
- * @param {TransactionInstruction} instructions - a solana instruction
272
- * @returns {void}
273
- */
274
- function validateIntructionTypes(instructions) {
275
- for (const instruction of instructions) {
276
- if (!constants_1.VALID_SYSTEM_INSTRUCTION_TYPES.includes(getInstructionType(instruction))) {
277
- throw new sdk_core_1.NotSupported('Invalid transaction, instruction type not supported: ' + getInstructionType(instruction));
278
- }
279
- }
280
- }
281
- exports.validateIntructionTypes = validateIntructionTypes;
282
- /**
283
- * Check the raw transaction has a valid format in the blockchain context, throw otherwise.
284
- *
285
- * @param {string} rawTransaction - Transaction in base64 string format
286
- */
287
- function validateRawTransaction(rawTransaction) {
288
- if (!rawTransaction) {
289
- throw new sdk_core_1.ParseTransactionError('Invalid raw transaction: Undefined');
290
- }
291
- if (!isValidRawTransaction(rawTransaction)) {
292
- throw new sdk_core_1.ParseTransactionError('Invalid raw transaction');
293
- }
294
- }
295
- exports.validateRawTransaction = validateRawTransaction;
296
- /**
297
- * Validates address to check if it exists and is a valid Solana public key
298
- *
299
- * @param {string} address The address to be validated
300
- * @param {string} fieldName Name of the field to validate, its needed to return which field is failing on case of error.
301
- */
302
- function validateAddress(address, fieldName) {
303
- if (!address || !isValidPublicKey(address)) {
304
- throw new sdk_core_1.BuildTransactionError(`Invalid or missing ${fieldName}, got: ${address}`);
305
- }
306
- }
307
- exports.validateAddress = validateAddress;
308
- /**
309
- * Get the statics coin object matching a given Solana token address if it exists
310
- *
311
- * @param tokenAddress The token address to match against
312
- * @param network Solana Mainnet or Testnet
313
- * @returns statics BaseCoin object for the matching token
314
- */
315
- function getSolTokenFromAddress(tokenAddress, network) {
316
- const tokens = statics_1.coins.filter((coin) => {
317
- if (coin instanceof statics_1.SolCoin) {
318
- return coin.network.type === network.type && coin.tokenAddress.toLowerCase() === tokenAddress.toLowerCase();
319
- }
320
- return false;
321
- });
322
- const tokensArray = tokens.map((token) => token);
323
- if (tokensArray.length >= 1) {
324
- // there should never be two tokens with the same contract address, so we assert that here
325
- assert_1.default(tokensArray.length === 1);
326
- return tokensArray[0];
327
- }
328
- return undefined;
329
- }
330
- exports.getSolTokenFromAddress = getSolTokenFromAddress;
331
- /**
332
- * Get the solana token object from token name
333
- * @param tokenName The token name to match against
334
- * */
335
- function getSolTokenFromTokenName(tokenName) {
336
- try {
337
- const token = statics_1.coins.get(tokenName);
338
- if (!(token.isToken && token instanceof statics_1.SolCoin)) {
339
- return undefined;
340
- }
341
- return token;
342
- }
343
- catch (e) {
344
- if (!(e instanceof statics_1.CoinNotDefinedError)) {
345
- throw e;
346
- }
347
- return undefined;
348
- }
349
- }
350
- exports.getSolTokenFromTokenName = getSolTokenFromTokenName;
351
- /**
352
- * Get the solana associated token account address
353
- * @param tokenAddress The token address
354
- * @param ownerAddress The owner of the associated token account
355
- * */
356
- async function getAssociatedTokenAccountAddress(tokenAddress, ownerAddress) {
357
- const ataAddress = await spl_token_1.Token.getAssociatedTokenAddress(spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID, spl_token_1.TOKEN_PROGRAM_ID, new web3_js_1.PublicKey(tokenAddress), new web3_js_1.PublicKey(ownerAddress));
358
- return ataAddress.toString();
359
- }
360
- exports.getAssociatedTokenAccountAddress = getAssociatedTokenAccountAddress;
361
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29pbi9zb2wvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsNkNBVXlCO0FBQ3pCLGdEQUF3QjtBQUN4QixnRUFBcUM7QUFDckMsMkNBU3FCO0FBQ3JCLDhDQU95QjtBQUV6QiwwREFBNkI7QUFDN0IsaURBQXlGO0FBQ3pGLDRDQUE0RjtBQUM1RixvREFBNEI7QUFFNUIsTUFBTSx5QkFBeUIsR0FBRyxFQUFFLENBQUMsQ0FBQyxxRkFBcUY7QUFDM0gsTUFBTSx3QkFBd0IsR0FBRyxFQUFFLENBQUMsQ0FBQyxnREFBZ0Q7QUFDckYsTUFBTSx1QkFBdUIsR0FBRyxzQkFBc0IsQ0FBQztBQUV2RCxrQkFBa0I7QUFDbEIsU0FBZ0IsY0FBYyxDQUFDLE9BQWU7SUFDNUMsT0FBTyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUNuQyxDQUFDO0FBRkQsd0NBRUM7QUFFRCxrQkFBa0I7QUFDbEIsU0FBZ0IsY0FBYyxDQUFDLElBQVk7SUFDekMsSUFBSTtRQUNGLE9BQU8sQ0FDTCxDQUFDLENBQUMsSUFBSSxJQUFJLElBQUksTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLGNBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxLQUFLLHlCQUF5QixDQUNuSCxDQUFDO0tBQ0g7SUFBQyxPQUFPLENBQUMsRUFBRTtRQUNWLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7QUFDSCxDQUFDO0FBUkQsd0NBUUM7QUFFRCxrQkFBa0I7QUFDbEIsU0FBZ0IsaUJBQWlCLENBQUMsTUFBMkI7SUFDM0QsSUFBSTtRQUNGLE1BQU0sR0FBRyxHQUFlLE9BQU8sTUFBTSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDOUYsT0FBTyxDQUFDLENBQUMsaUJBQU8sQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7S0FDckM7SUFBQyxPQUFPLENBQUMsRUFBRTtRQUNWLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7QUFDSCxDQUFDO0FBUEQsOENBT0M7QUFFRCxrQkFBa0I7QUFDbEIsU0FBZ0IsZ0JBQWdCLENBQUMsTUFBYztJQUM3QyxJQUFJO1FBQ0YsSUFBSSxzQkFBVyxDQUFDLE1BQU0sQ0FBQztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQ3JDLElBQUksbUJBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0QixPQUFPLElBQUksQ0FBQztLQUNiO0lBQUMsTUFBTTtRQUNOLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7QUFDSCxDQUFDO0FBUkQsNENBUUM7QUFFRCxrQkFBa0I7QUFDbEIsU0FBZ0IsZ0JBQWdCLENBQUMsU0FBaUI7SUFDaEQsSUFBSTtRQUNGLE9BQU8sQ0FBQyxDQUFDLFNBQVMsSUFBSSxjQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sS0FBSyx3QkFBd0IsQ0FBQztLQUNsRjtJQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ1YsT0FBTyxLQUFLLENBQUM7S0FDZDtBQUNILENBQUM7QUFORCw0Q0FNQztBQUVELGtCQUFrQjtBQUNsQix5REFBeUQ7QUFDekQsU0FBZ0Isb0JBQW9CLENBQUMsSUFBWTtJQUMvQyxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNyQyxDQUFDO0FBRkQsb0RBRUM7QUFFRDs7Ozs7R0FLRztBQUNILFNBQWdCLGFBQWEsQ0FBQyxNQUFjO0lBQzFDLE1BQU0sZUFBZSxHQUFHLElBQUksc0JBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5QyxPQUFPLGVBQWUsQ0FBQyxTQUFTLEVBQUUsSUFBSSxlQUFlLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEYsQ0FBQztBQUhELHNDQUdDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxTQUFnQixvQkFBb0IsQ0FBQyxNQUFjO0lBQ2pELE1BQU0sZUFBZSxHQUFHLElBQUksc0JBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5QyxPQUFPLGVBQWUsQ0FBQyxTQUFTLEVBQUUsSUFBSSxlQUFlLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3pFLENBQUM7QUFIRCxvREFHQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBZ0IsV0FBVyxDQUFDLElBQVk7SUFDdEMsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sSUFBSSwyQkFBZSxDQUFDO0FBQ3JELENBQUM7QUFGRCxrQ0FFQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBZ0IscUJBQXFCLENBQUMsY0FBc0I7SUFDMUQsSUFBSTtRQUNGLE1BQU0sRUFBRSxHQUFHLHFCQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDdEUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLG9CQUFvQixFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDOUMsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ1YsT0FBTyxLQUFLLENBQUM7S0FDZDtBQUNILENBQUM7QUFSRCxzREFRQztBQUVEOzs7Ozs7O0dBT0c7QUFDSCxTQUFnQixlQUFlLENBQUMsWUFBb0IsRUFBRSxTQUFpQixFQUFFLFNBQWlCO0lBQ3hGLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLENBQUMsRUFBRTtRQUN4QyxNQUFNLElBQUkscUJBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0tBQzlDO0lBQ0QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxFQUFFO1FBQ2hDLE1BQU0sSUFBSSxxQkFBVSxDQUFDLG1CQUFtQixDQUFDLENBQUM7S0FDM0M7SUFDRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLEVBQUU7UUFDaEMsTUFBTSxJQUFJLHFCQUFVLENBQUMsbUJBQW1CLENBQUMsQ0FBQztLQUMzQztJQUNELE1BQU0sR0FBRyxHQUFHLHFCQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUN4RixNQUFNLEdBQUcsR0FBRyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMxQyxNQUFNLEdBQUcsR0FBRyxJQUFJLG1CQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDckMsT0FBTyxtQkFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7QUFDN0QsQ0FBQztBQWRELDBDQWNDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxTQUFnQixrQkFBa0IsQ0FBQyxLQUFhO0lBQzlDLE9BQU8sSUFBSSxVQUFVLENBQUMsY0FBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQzVDLENBQUM7QUFGRCxnREFFQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBZ0Isa0JBQWtCLENBQUMsS0FBaUI7SUFDbEQsT0FBTyxjQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzVCLENBQUM7QUFGRCxnREFFQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBZ0Isc0JBQXNCLENBQUMsVUFBaUM7SUFDdEUsT0FBTyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztBQUM1RCxDQUFDO0FBRkQsd0RBRUM7QUFFRDs7Ozs7R0FLRztBQUNILFNBQWdCLHFCQUFxQixDQUFDLFVBQWlDO0lBQ3JFLE9BQU8sVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksc0JBQXNCLENBQUMsVUFBVSxDQUFDLEtBQUssVUFBVSxDQUFDLE1BQU0sQ0FBQztBQUMzRixDQUFDO0FBRkQsc0RBRUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxTQUFnQix1Q0FBdUMsQ0FDckQsWUFBc0MsRUFDdEMsa0JBQTBDO0lBRTFDLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBRXpELHdGQUF3RjtJQUN4RixJQUFJLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsS0FBSyxNQUFNLEVBQUU7UUFDNUQsZ0JBQWdCLENBQUMsR0FBRyxFQUFFLENBQUM7S0FDeEI7SUFFRCwrQ0FBK0M7SUFDL0MsS0FBSyxNQUFNLE9BQU8sSUFBSSxnQkFBZ0IsRUFBRTtRQUN0QyxJQUFJLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssT0FBTyxFQUFFO1lBQzdFLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7S0FDRjtJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQWxCRCwwRkFrQkM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxTQUFnQixrQkFBa0IsQ0FBQyxXQUEyQjtJQUM1RCxNQUFNLEVBQUUsWUFBWSxFQUFFLEdBQUcsV0FBVyxDQUFDO0lBQ3JDLHVCQUF1QixDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3RDLElBQUksdUNBQXVDLENBQUMsWUFBWSxFQUFFLHdDQUE0QixDQUFDLEVBQUU7UUFDdkYsT0FBTywwQkFBZSxDQUFDLG9CQUFvQixDQUFDO0tBQzdDO1NBQU0sSUFBSSx1Q0FBdUMsQ0FBQyxZQUFZLEVBQUUsOENBQWtDLENBQUMsRUFBRTtRQUNwRyxPQUFPLDBCQUFlLENBQUMsZUFBZSxDQUFDO0tBQ3hDO1NBQU0sSUFBSSx1Q0FBdUMsQ0FBQyxZQUFZLEVBQUUsZ0RBQW9DLENBQUMsRUFBRTtRQUN0RyxPQUFPLDBCQUFlLENBQUMsaUJBQWlCLENBQUM7S0FDMUM7U0FBTSxJQUFJLHVDQUF1QyxDQUFDLFlBQVksRUFBRSw4Q0FBa0MsQ0FBQyxFQUFFO1FBQ3BHLE9BQU8sMEJBQWUsQ0FBQyxlQUFlLENBQUM7S0FDeEM7U0FBTSxJQUFJLHVDQUF1QyxDQUFDLFlBQVksRUFBRSxxQ0FBeUIsQ0FBQyxFQUFFO1FBQzNGLE9BQU8sMEJBQWUsQ0FBQyxvQ0FBb0MsQ0FBQztLQUM3RDtJQUNELE9BQU8sMEJBQWUsQ0FBQyxJQUFJLENBQUM7QUFDOUIsQ0FBQztBQWZELGdEQWVDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsU0FBZ0Isa0JBQWtCLENBQUMsV0FBbUM7SUFDcEUsUUFBUSxXQUFXLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxFQUFFO1FBQ3hDLEtBQUssSUFBSSxtQkFBUyxDQUFDLDJCQUFlLENBQUMsQ0FBQyxRQUFRLEVBQUU7WUFDNUMsT0FBTyxNQUFNLENBQUM7UUFDaEIsS0FBSyx1QkFBYSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUU7WUFDckMsT0FBTywyQkFBaUIsQ0FBQyxxQkFBcUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM5RCxLQUFLLDRCQUFnQixDQUFDLFFBQVEsRUFBRTtZQUM5QixPQUFPLGVBQWUsQ0FBQztRQUN6QixLQUFLLHNCQUFZLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRTtZQUNwQyxPQUFPLDBCQUFnQixDQUFDLHFCQUFxQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzdELEtBQUssdUNBQTJCLENBQUMsUUFBUSxFQUFFO1lBQ3pDLG9GQUFvRjtZQUNwRixJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtnQkFDakMsT0FBTyxrQ0FBa0MsQ0FBQzthQUMzQztpQkFBTTtnQkFDTCxNQUFNLElBQUksdUJBQVksQ0FDcEIsNkRBQTZELEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FDakcsQ0FBQzthQUNIO1FBQ0g7WUFDRSxNQUFNLElBQUksdUJBQVksQ0FDcEIsNkRBQTZELEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FDakcsQ0FBQztLQUNMO0FBQ0gsQ0FBQztBQXhCRCxnREF3QkM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxTQUFnQix1QkFBdUIsQ0FBQyxZQUFzQztJQUM1RSxLQUFLLE1BQU0sV0FBVyxJQUFJLFlBQVksRUFBRTtRQUN0QyxJQUFJLENBQUMsMENBQThCLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUU7WUFDN0UsTUFBTSxJQUFJLHVCQUFZLENBQUMsdURBQXVELEdBQUcsa0JBQWtCLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztTQUNuSDtLQUNGO0FBQ0gsQ0FBQztBQU5ELDBEQU1DO0FBRUQ7Ozs7R0FJRztBQUNILFNBQWdCLHNCQUFzQixDQUFDLGNBQXNCO0lBQzNELElBQUksQ0FBQyxjQUFjLEVBQUU7UUFDbkIsTUFBTSxJQUFJLGdDQUFxQixDQUFDLG9DQUFvQyxDQUFDLENBQUM7S0FDdkU7SUFDRCxJQUFJLENBQUMscUJBQXFCLENBQUMsY0FBYyxDQUFDLEVBQUU7UUFDMUMsTUFBTSxJQUFJLGdDQUFxQixDQUFDLHlCQUF5QixDQUFDLENBQUM7S0FDNUQ7QUFDSCxDQUFDO0FBUEQsd0RBT0M7QUFFRDs7Ozs7R0FLRztBQUNILFNBQWdCLGVBQWUsQ0FBQyxPQUFlLEVBQUUsU0FBaUI7SUFDaEUsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQzFDLE1BQU0sSUFBSSxnQ0FBcUIsQ0FBQyxzQkFBc0IsU0FBUyxVQUFVLE9BQU8sRUFBRSxDQUFDLENBQUM7S0FDckY7QUFDSCxDQUFDO0FBSkQsMENBSUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxTQUFnQixzQkFBc0IsQ0FBQyxZQUFvQixFQUFFLE9BQW9CO0lBQy9FLE1BQU0sTUFBTSxHQUFHLGVBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUNuQyxJQUFJLElBQUksWUFBWSxpQkFBTyxFQUFFO1lBQzNCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxLQUFLLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUM3RztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQyxDQUFDLENBQUM7SUFDSCxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqRCxJQUFJLFdBQVcsQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFO1FBQzNCLDBGQUEwRjtRQUMxRixnQkFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDakMsT0FBTyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDdkI7SUFDRCxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDO0FBZEQsd0RBY0M7QUFFRDs7O0tBR0s7QUFDTCxTQUFnQix3QkFBd0IsQ0FBQyxTQUFpQjtJQUN4RCxJQUFJO1FBQ0YsTUFBTSxLQUFLLEdBQUcsZUFBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLEtBQUssWUFBWSxpQkFBTyxDQUFDLEVBQUU7WUFDaEQsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFDRCxPQUFPLEtBQUssQ0FBQztLQUNkO0lBQUMsT0FBTyxDQUFDLEVBQUU7UUFDVixJQUFJLENBQUMsQ0FBQyxDQUFDLFlBQVksNkJBQW1CLENBQUMsRUFBRTtZQUN2QyxNQUFNLENBQUMsQ0FBQztTQUNUO1FBQ0QsT0FBTyxTQUFTLENBQUM7S0FDbEI7QUFDSCxDQUFDO0FBYkQsNERBYUM7QUFFRDs7OztLQUlLO0FBQ0UsS0FBSyxVQUFVLGdDQUFnQyxDQUFDLFlBQW9CLEVBQUUsWUFBb0I7SUFDL0YsTUFBTSxVQUFVLEdBQUcsTUFBTSxpQkFBSyxDQUFDLHlCQUF5QixDQUN0RCx1Q0FBMkIsRUFDM0IsNEJBQWdCLEVBQ2hCLElBQUksbUJBQVMsQ0FBQyxZQUFZLENBQUMsRUFDM0IsSUFBSSxtQkFBUyxDQUFDLFlBQVksQ0FBQyxDQUM1QixDQUFDO0lBQ0YsT0FBTyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7QUFDL0IsQ0FBQztBQVJELDRFQVFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgS2V5cGFpcixcbiAgUHVibGljS2V5LFxuICBTaWduYXR1cmVQdWJrZXlQYWlyLFxuICBTdGFrZUluc3RydWN0aW9uLFxuICBTdGFrZVByb2dyYW0sXG4gIFN5c3RlbUluc3RydWN0aW9uLFxuICBTeXN0ZW1Qcm9ncmFtLFxuICBUcmFuc2FjdGlvbiBhcyBTb2xUcmFuc2FjdGlvbixcbiAgVHJhbnNhY3Rpb25JbnN0cnVjdGlvbixcbn0gZnJvbSAnQHNvbGFuYS93ZWIzLmpzJztcbmltcG9ydCBiczU4IGZyb20gJ2JzNTgnO1xuaW1wb3J0IEJpZ051bWJlciBmcm9tICdiaWdudW1iZXIuanMnO1xuaW1wb3J0IHtcbiAgYXRhSW5pdEluc3RydWN0aW9uSW5kZXhlcyxcbiAgTUFYX01FTU9fTEVOR1RILFxuICBNRU1PX1BST0dSQU1fUEssXG4gIHN0YWtpbmdBY3RpdmF0ZUluc3RydWN0aW9uc0luZGV4ZXMsXG4gIHN0YWtpbmdEZWFjdGl2YXRlSW5zdHJ1Y3Rpb25zSW5kZXhlcyxcbiAgc3Rha2luZ1dpdGhkcmF3SW5zdHJ1Y3Rpb25zSW5kZXhlcyxcbiAgVkFMSURfU1lTVEVNX0lOU1RSVUNUSU9OX1RZUEVTLFxuICB3YWxsZXRJbml0SW5zdHJ1Y3Rpb25JbmRleGVzLFxufSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQge1xuICBCdWlsZFRyYW5zYWN0aW9uRXJyb3IsXG4gIGlzVmFsaWRYcHViLFxuICBOb3RTdXBwb3J0ZWQsXG4gIFBhcnNlVHJhbnNhY3Rpb25FcnJvcixcbiAgVHJhbnNhY3Rpb25UeXBlLFxuICBVdGlsc0Vycm9yLFxufSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0IHsgVmFsaWRJbnN0cnVjdGlvblR5cGVzIH0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgbmFjbCBmcm9tICd0d2VldG5hY2wnO1xuaW1wb3J0IHsgQVNTT0NJQVRFRF9UT0tFTl9QUk9HUkFNX0lELCBUb2tlbiwgVE9LRU5fUFJPR1JBTV9JRCB9IGZyb20gJ0Bzb2xhbmEvc3BsLXRva2VuJztcbmltcG9ydCB7IEJhc2VDb2luLCBCYXNlTmV0d29yaywgQ29pbk5vdERlZmluZWRFcnJvciwgY29pbnMsIFNvbENvaW4gfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5pbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5cbmNvbnN0IERFQ09ERURfQkxPQ0tfSEFTSF9MRU5HVEggPSAzMjsgLy8gaHR0cHM6Ly9kb2NzLnNvbGFuYS5jb20vZGV2ZWxvcGluZy9wcm9ncmFtbWluZy1tb2RlbC90cmFuc2FjdGlvbnMjYmxvY2toYXNoLWZvcm1hdFxuY29uc3QgREVDT0RFRF9TSUdOQVRVUkVfTEVOR1RIID0gNjQ7IC8vIGh0dHBzOi8vZG9jcy5zb2xhbmEuY29tL3Rlcm1pbm9sb2d5I3NpZ25hdHVyZVxuY29uc3QgQkFTRV81OF9FTkNPTkRJTkdfUkVHRVggPSAnWzEtOUEtSEotTlAtWmEta20tel0nO1xuXG4vKiogQGluaGVyaXRkb2MgKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkQWRkcmVzcyhhZGRyZXNzOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIGlzVmFsaWRQdWJsaWNLZXkoYWRkcmVzcyk7XG59XG5cbi8qKiBAaW5oZXJpdGRvYyAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRCbG9ja0lkKGhhc2g6IHN0cmluZyk6IGJvb2xlYW4ge1xuICB0cnkge1xuICAgIHJldHVybiAoXG4gICAgICAhIWhhc2ggJiYgbmV3IFJlZ0V4cChCQVNFXzU4X0VOQ09ORElOR19SRUdFWCkudGVzdChoYXNoKSAmJiBiczU4LmRlY29kZShoYXNoKS5sZW5ndGggPT09IERFQ09ERURfQkxPQ0tfSEFTSF9MRU5HVEhcbiAgICApO1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbi8qKiBAaW5oZXJpdGRvYyAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRQcml2YXRlS2V5KHBydktleTogc3RyaW5nIHwgVWludDhBcnJheSk6IGJvb2xlYW4ge1xuICB0cnkge1xuICAgIGNvbnN0IGtleTogVWludDhBcnJheSA9IHR5cGVvZiBwcnZLZXkgPT09ICdzdHJpbmcnID8gdGhpcy5iYXNlNThUb1VpbnQ4QXJyYXkocHJ2S2V5KSA6IHBydktleTtcbiAgICByZXR1cm4gISFLZXlwYWlyLmZyb21TZWNyZXRLZXkoa2V5KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG4vKiogQGluaGVyaXRkb2MgKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkUHVibGljS2V5KHB1YktleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHRyeSB7XG4gICAgaWYgKGlzVmFsaWRYcHViKHB1YktleSkpIHJldHVybiB0cnVlO1xuICAgIG5ldyBQdWJsaWNLZXkocHViS2V5KTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbi8qKiBAaW5oZXJpdGRvYyAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRTaWduYXR1cmUoc2lnbmF0dXJlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gISFzaWduYXR1cmUgJiYgYnM1OC5kZWNvZGUoc2lnbmF0dXJlKS5sZW5ndGggPT09IERFQ09ERURfU0lHTkFUVVJFX0xFTkdUSDtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG4vKiogQGluaGVyaXRkb2MgKi9cbi8vIFRyYW5zYWN0aW9uSWQgYXJlIHRoZSBmaXJzdCBzaWduYXR1cmUgb24gYSBUcmFuc2FjdGlvblxuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRUcmFuc2FjdGlvbklkKHR4SWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gdGhpcy5pc1ZhbGlkU2lnbmF0dXJlKHR4SWQpO1xufVxuXG4vKipcbiAqIFJldHVybnMgd2hldGhlciBvciBub3QgdGhlIHN0cmluZyBpcyBhIHZhbGlkIGFtb3VudCBvZiBsYW1wb3J0cyBudW1iZXJcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gYW1vdW50IC0gdGhlIHN0cmluZyB0byB2YWxpZGF0ZVxuICogQHJldHVybnMge2Jvb2xlYW59IC0gdGhlIHZhbGlkYXRpb24gcmVzdWx0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkQW1vdW50KGFtb3VudDogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGNvbnN0IGJpZ051bWJlckFtb3VudCA9IG5ldyBCaWdOdW1iZXIoYW1vdW50KTtcbiAgcmV0dXJuIGJpZ051bWJlckFtb3VudC5pc0ludGVnZXIoKSAmJiBiaWdOdW1iZXJBbW91bnQuaXNHcmVhdGVyVGhhbk9yRXF1YWxUbygwKTtcbn1cblxuLyoqXG4gKiBDaGVjayBpZiB0aGUgc3RyaW5nIGlzIGEgdmFsaWQgYW1vdW50IG9mIGxhbXBvcnRzIG51bWJlciBvbiBzdGFraW5nXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGFtb3VudCAtIHRoZSBzdHJpbmcgdG8gdmFsaWRhdGVcbiAqIEByZXR1cm5zIHtib29sZWFufSAtIHRoZSB2YWxpZGF0aW9uIHJlc3VsdFxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZFN0YWtpbmdBbW91bnQoYW1vdW50OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgY29uc3QgYmlnTnVtYmVyQW1vdW50ID0gbmV3IEJpZ051bWJlcihhbW91bnQpO1xuICByZXR1cm4gYmlnTnVtYmVyQW1vdW50LmlzSW50ZWdlcigpICYmIGJpZ051bWJlckFtb3VudC5pc0dyZWF0ZXJUaGFuKDApO1xufVxuXG4vKipcbiAqIENoZWNrIGlmIHRoaXMgaXMgYSB2YWxpZCBtZW1vIG9yIG5vdC5cbiAqXG4gKiBAcGFyYW0gbWVtbyAtIHRoZSBtZW1vIHN0cmluZ1xuICogQHJldHVybnMge2Jvb2xlYW59IC0gdGhlIHZhbGlkYXRpb24gcmVzdWx0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkTWVtbyhtZW1vOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIEJ1ZmZlci5mcm9tKG1lbW8pLmxlbmd0aCA8PSBNQVhfTUVNT19MRU5HVEg7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIHJhdyB0cmFuc2FjdGlvbiBjYW4gYmUgZGVzZXJpYWxpemVkXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHJhd1RyYW5zYWN0aW9uIC0gdHJhbnNhY3Rpb24gaW4gYmFzZTY0IHN0cmluZyBmb3JtYXRcbiAqIEByZXR1cm5zIHtib29sZWFufSAtIHRoZSB2YWxpZGF0aW9uIHJlc3VsdFxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZFJhd1RyYW5zYWN0aW9uKHJhd1RyYW5zYWN0aW9uOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgdHJ5IHtcbiAgICBjb25zdCB0eCA9IFNvbFRyYW5zYWN0aW9uLmZyb20oQnVmZmVyLmZyb20ocmF3VHJhbnNhY3Rpb24sICdiYXNlNjQnKSk7XG4gICAgdHguc2VyaWFsaXplKHsgcmVxdWlyZUFsbFNpZ25hdHVyZXM6IGZhbHNlIH0pO1xuICAgIHJldHVybiB0cnVlO1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbi8qKlxuICogVmVyaWZpZXMgaWYgc2lnbmF0dXJlIGZvciBtZXNzYWdlIGlzIHZhbGlkLlxuICpcbiAqIEBwYXJhbSB7QnVmZmVyfSBzZXJpYWxpemVkVHggLSB0eCBhcyBhIGJhc2U2NCBzdHJpbmdcbiAqIEBwYXJhbSB7c3RyaW5nfSBzaWduYXR1cmUgLSBzaWduYXR1cmUgYXMgYSBzdHJpbmdcbiAqIEBwYXJhbSB7c3RyaW5nfSBwdWJsaWNLZXkgLSBwdWJsaWMga2V5IGFzIGJhc2UgNThcbiAqIEByZXR1cm5zIHtCb29sZWFufSB0cnVlIGlmIHNpZ25hdHVyZSBpcyB2YWxpZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZlcmlmeVNpZ25hdHVyZShzZXJpYWxpemVkVHg6IHN0cmluZywgc2lnbmF0dXJlOiBzdHJpbmcsIHB1YmxpY0tleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGlmICghaXNWYWxpZFJhd1RyYW5zYWN0aW9uKHNlcmlhbGl6ZWRUeCkpIHtcbiAgICB0aHJvdyBuZXcgVXRpbHNFcnJvcignSW52YWxpZCBzZXJpYWxpemVkVHgnKTtcbiAgfVxuICBpZiAoIWlzVmFsaWRQdWJsaWNLZXkocHVibGljS2V5KSkge1xuICAgIHRocm93IG5ldyBVdGlsc0Vycm9yKCdJbnZhbGlkIHB1YmxpY0tleScpO1xuICB9XG4gIGlmICghaXNWYWxpZFNpZ25hdHVyZShzaWduYXR1cmUpKSB7XG4gICAgdGhyb3cgbmV3IFV0aWxzRXJyb3IoJ0ludmFsaWQgc2lnbmF0dXJlJyk7XG4gIH1cbiAgY29uc3QgbXNnID0gU29sVHJhbnNhY3Rpb24uZnJvbShCdWZmZXIuZnJvbShzZXJpYWxpemVkVHgsICdiYXNlNjQnKSkuc2VyaWFsaXplTWVzc2FnZSgpO1xuICBjb25zdCBzaWcgPSBiYXNlNThUb1VpbnQ4QXJyYXkoc2lnbmF0dXJlKTtcbiAgY29uc3QgcHViID0gbmV3IFB1YmxpY0tleShwdWJsaWNLZXkpO1xuICByZXR1cm4gbmFjbC5zaWduLmRldGFjaGVkLnZlcmlmeShtc2csIHNpZywgcHViLnRvQnVmZmVyKCkpO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGEgYmFzZTU4IHN0cmluZyBpbnRvIGEgVWludDhBcnJheS5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gaW5wdXQgLSBhIHN0cmluZyBpbiBiYXNlNThcbiAqIEByZXR1cm5zIHtVaW50OEFycmF5fSAtIGFuIFVpbnQ4QXJyYXlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJhc2U1OFRvVWludDhBcnJheShpbnB1dDogc3RyaW5nKTogVWludDhBcnJheSB7XG4gIHJldHVybiBuZXcgVWludDhBcnJheShiczU4LmRlY29kZShpbnB1dCkpO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGEgVWludDhBcnJheSB0byBhIGJhc2U1OCBzdHJpbmcuXG4gKlxuICogQHBhcmFtIHtVaW50OEFycmF5fSBpbnB1dCAtIGFuIFVpbnQ4QXJyYXlcbiAqIEByZXR1cm5zIHtzdHJpbmd9IC0gYSBzdHJpbmcgaW4gYmFzZTU4XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBVaW50OEFycmF5VG9iYXNlNTgoaW5wdXQ6IFVpbnQ4QXJyYXkpOiBzdHJpbmcge1xuICByZXR1cm4gYnM1OC5lbmNvZGUoaW5wdXQpO1xufVxuXG4vKipcbiAqIENvdW50IHRoZSBhbW91bnQgb2Ygc2lnbmF0dXJlcyBhcmUgbm90IG51bGwuXG4gKlxuICogQHBhcmFtIHtTaWduYXR1cmVQdWJrZXlQYWlyW119IHNpZ25hdHVyZXMgLSBhbiBhcnJheSBvZiBTaWduYXR1cmVQdWJrZXlQYWlyXG4gKiBAcmV0dXJucyB7bnVtYmVyfSAtIHRoZSBhbW91bnQgb2YgdmFsaWQgc2lnbmF0dXJlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gY291bnROb3ROdWxsU2lnbmF0dXJlcyhzaWduYXR1cmVzOiBTaWduYXR1cmVQdWJrZXlQYWlyW10pOiBudW1iZXIge1xuICByZXR1cm4gc2lnbmF0dXJlcy5maWx0ZXIoKHNpZykgPT4gISFzaWcuc2lnbmF0dXJlKS5sZW5ndGg7XG59XG5cbi8qKlxuICogQ2hlY2sgaWYgYWxsIHNpZ25hdHVyZXMgYXJlIGNvbXBsZXRlZC5cbiAqXG4gKiBAcGFyYW0ge1NpZ25hdHVyZVB1YmtleVBhaXJbXX0gc2lnbmF0dXJlcyAtIHNpZ25hdHVyZXNcbiAqIEByZXR1cm5zIHtib29sZWFufVxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVxdWlyZXNBbGxTaWduYXR1cmVzKHNpZ25hdHVyZXM6IFNpZ25hdHVyZVB1YmtleVBhaXJbXSk6IGJvb2xlYW4ge1xuICByZXR1cm4gc2lnbmF0dXJlcy5sZW5ndGggPiAwICYmIGNvdW50Tm90TnVsbFNpZ25hdHVyZXMoc2lnbmF0dXJlcykgPT09IHNpZ25hdHVyZXMubGVuZ3RoO1xufVxuXG4vKipcbiAqIENoZWNrIHRoZSB0cmFuc2FjdGlvbiB0eXBlIG1hdGNoaW5nIGluc3RydWN0aW9ucyBieSBvcmRlci5cbiAqXG4gKiBAcGFyYW0ge1RyYW5zYWN0aW9uSW5zdHJ1Y3Rpb25bXX0gaW5zdHJ1Y3Rpb25zIC0gdGhlIGFycmF5IG9mIHN1cHBvcnRlZCBTb2xhbmEgaW5zdHJ1Y3Rpb25zIHRvIGJlIHBhcnNlZFxuICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBudW1iZXI+fSBpbnN0cnVjdGlvbkluZGV4ZXMgLSB0aGUgaW5zdHJ1Y3Rpb25zIGluZGV4ZXMgb2YgdGhlIGN1cnJlbnQgdHJhbnNhY3Rpb25cbiAqIEByZXR1cm5zIHRydWUgaWYgaXQgbWF0Y2hzIGJ5IG9yZGVyLlxuICovXG5leHBvcnQgZnVuY3Rpb24gbWF0Y2hUcmFuc2FjdGlvblR5cGVCeUluc3RydWN0aW9uc09yZGVyKFxuICBpbnN0cnVjdGlvbnM6IFRyYW5zYWN0aW9uSW5zdHJ1Y3Rpb25bXSxcbiAgaW5zdHJ1Y3Rpb25JbmRleGVzOiBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+LFxuKTogYm9vbGVhbiB7XG4gIGNvbnN0IGluc3RydWN0aW9uc0tleXMgPSBPYmplY3Qua2V5cyhpbnN0cnVjdGlvbkluZGV4ZXMpO1xuXG4gIC8vIE1lbW8gaXMgb3B0aW9uYWwgYW5kIHRoZSBsYXN0IGluc3RydWN0aW9uIGFkZGVkLCBpdCBkb2VzIG5vdCBtYXR0ZXIgdG8gbWF0Y2ggdGhlIHR5cGVcbiAgaWYgKGluc3RydWN0aW9uc0tleXNbaW5zdHJ1Y3Rpb25zS2V5cy5sZW5ndGggLSAxXSA9PT0gJ01lbW8nKSB7XG4gICAgaW5zdHJ1Y3Rpb25zS2V5cy5wb3AoKTtcbiAgfVxuXG4gIC8vIENoZWNrIGluc3RydWN0aW9ucyBieSBvcmRlciB1c2luZyB0aGUgaW5kZXguXG4gIGZvciAoY29uc3Qga2V5TmFtZSBvZiBpbnN0cnVjdGlvbnNLZXlzKSB7XG4gICAgaWYgKGdldEluc3RydWN0aW9uVHlwZShpbnN0cnVjdGlvbnNbaW5zdHJ1Y3Rpb25JbmRleGVzW2tleU5hbWVdXSkgIT09IGtleU5hbWUpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHRydWU7XG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgdHJhbnNhY3Rpb24gVHlwZSBiYXNlZCBvbiB0aGUgIHRyYW5zYWN0aW9uIGluc3RydWN0aW9ucy5cbiAqIFdhbGxldCBpbml0aWFsaXphdGlvbiwgVHJhbnNmZXIgYW5kIFN0YWtpbmcgdHJhbnNhY3Rpb25zIGFyZSBzdXBwb3J0ZWQuXG4gKlxuICogQHBhcmFtIHtTb2xUcmFuc2FjdGlvbn0gdHJhbnNhY3Rpb24gLSB0aGUgc29sYW5hIHRyYW5zYWN0aW9uXG4gKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25UeXBlfSAtIHRoZSB0eXBlIG9mIHRyYW5zYWN0aW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRUcmFuc2FjdGlvblR5cGUodHJhbnNhY3Rpb246IFNvbFRyYW5zYWN0aW9uKTogVHJhbnNhY3Rpb25UeXBlIHtcbiAgY29uc3QgeyBpbnN0cnVjdGlvbnMgfSA9IHRyYW5zYWN0aW9uO1xuICB2YWxpZGF0ZUludHJ1Y3Rpb25UeXBlcyhpbnN0cnVjdGlvbnMpO1xuICBpZiAobWF0Y2hUcmFuc2FjdGlvblR5cGVCeUluc3RydWN0aW9uc09yZGVyKGluc3RydWN0aW9ucywgd2FsbGV0SW5pdEluc3RydWN0aW9uSW5kZXhlcykpIHtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLldhbGxldEluaXRpYWxpemF0aW9uO1xuICB9IGVsc2UgaWYgKG1hdGNoVHJhbnNhY3Rpb25UeXBlQnlJbnN0cnVjdGlvbnNPcmRlcihpbnN0cnVjdGlvbnMsIHN0YWtpbmdBY3RpdmF0ZUluc3RydWN0aW9uc0luZGV4ZXMpKSB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nQWN0aXZhdGU7XG4gIH0gZWxzZSBpZiAobWF0Y2hUcmFuc2FjdGlvblR5cGVCeUluc3RydWN0aW9uc09yZGVyKGluc3RydWN0aW9ucywgc3Rha2luZ0RlYWN0aXZhdGVJbnN0cnVjdGlvbnNJbmRleGVzKSkge1xuICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ0RlYWN0aXZhdGU7XG4gIH0gZWxzZSBpZiAobWF0Y2hUcmFuc2FjdGlvblR5cGVCeUluc3RydWN0aW9uc09yZGVyKGluc3RydWN0aW9ucywgc3Rha2luZ1dpdGhkcmF3SW5zdHJ1Y3Rpb25zSW5kZXhlcykpIHtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdXaXRoZHJhdztcbiAgfSBlbHNlIGlmIChtYXRjaFRyYW5zYWN0aW9uVHlwZUJ5SW5zdHJ1Y3Rpb25zT3JkZXIoaW5zdHJ1Y3Rpb25zLCBhdGFJbml0SW5zdHJ1Y3Rpb25JbmRleGVzKSkge1xuICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuQXNzb2NpYXRlZFRva2VuQWNjb3VudEluaXRpYWxpemF0aW9uO1xuICB9XG4gIHJldHVybiBUcmFuc2FjdGlvblR5cGUuU2VuZDtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBpbnN0cnVjdGlvbiBUeXBlIGJhc2VkIG9uIHRoZSBzb2xhbmEgaW5zdHJ1Y3Rpb25zLlxuICogVGhyb3dzIGlmIHRoZSBzb2xhbmEgaW5zdHJ1Y3Rpb24gcHJvZ3JhbSBpcyBub3Qgc3VwcG9ydGVkXG4gKlxuICogQHBhcmFtIHtUcmFuc2FjdGlvbkluc3RydWN0aW9ufSBpbnN0cnVjdGlvbiAtIGEgc29sYW5hIGluc3RydWN0aW9uXG4gKiBAcmV0dXJucyB7VmFsaWRJbnN0cnVjdGlvblR5cGVzfSAtIGEgc29sYW5hIGluc3RydWN0aW9uIHR5cGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEluc3RydWN0aW9uVHlwZShpbnN0cnVjdGlvbjogVHJhbnNhY3Rpb25JbnN0cnVjdGlvbik6IFZhbGlkSW5zdHJ1Y3Rpb25UeXBlcyB7XG4gIHN3aXRjaCAoaW5zdHJ1Y3Rpb24ucHJvZ3JhbUlkLnRvU3RyaW5nKCkpIHtcbiAgICBjYXNlIG5ldyBQdWJsaWNLZXkoTUVNT19QUk9HUkFNX1BLKS50b1N0cmluZygpOlxuICAgICAgcmV0dXJuICdNZW1vJztcbiAgICBjYXNlIFN5c3RlbVByb2dyYW0ucHJvZ3JhbUlkLnRvU3RyaW5nKCk6XG4gICAgICByZXR1cm4gU3lzdGVtSW5zdHJ1Y3Rpb24uZGVjb2RlSW5zdHJ1Y3Rpb25UeXBlKGluc3RydWN0aW9uKTtcbiAgICBjYXNlIFRPS0VOX1BST0dSQU1fSUQudG9TdHJpbmcoKTpcbiAgICAgIHJldHVybiAnVG9rZW5UcmFuc2Zlcic7XG4gICAgY2FzZSBTdGFrZVByb2dyYW0ucHJvZ3JhbUlkLnRvU3RyaW5nKCk6XG4gICAgICByZXR1cm4gU3Rha2VJbnN0cnVjdGlvbi5kZWNvZGVJbnN0cnVjdGlvblR5cGUoaW5zdHJ1Y3Rpb24pO1xuICAgIGNhc2UgQVNTT0NJQVRFRF9UT0tFTl9QUk9HUkFNX0lELnRvU3RyaW5nKCk6XG4gICAgICAvLyBUT0RPOiBjaGFuZ2UgdGhpcyB3aGVuIEBzcGwtdG9rZW4gc3VwcG9ydHMgZGVjb2RpbmcgYXNzb2NpYXRlZCB0b2tlbiBpbnN0cnVjdGlvbnNcbiAgICAgIGlmIChpbnN0cnVjdGlvbi5kYXRhLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gJ0luaXRpYWxpemVBc3NvY2lhdGVkVG9rZW5BY2NvdW50JztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBOb3RTdXBwb3J0ZWQoXG4gICAgICAgICAgJ0ludmFsaWQgdHJhbnNhY3Rpb24sIGluc3RydWN0aW9uIHByb2dyYW0gaWQgbm90IHN1cHBvcnRlZDogJyArIGluc3RydWN0aW9uLnByb2dyYW1JZC50b1N0cmluZygpLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgTm90U3VwcG9ydGVkKFxuICAgICAgICAnSW52YWxpZCB0cmFuc2FjdGlvbiwgaW5zdHJ1Y3Rpb24gcHJvZ3JhbSBpZCBub3Qgc3VwcG9ydGVkOiAnICsgaW5zdHJ1Y3Rpb24ucHJvZ3JhbUlkLnRvU3RyaW5nKCksXG4gICAgICApO1xuICB9XG59XG5cbi8qKlxuICogVmFsaWRhdGUgc29sYW5hIGluc3RydWN0aW9ucyB0eXBlcyB0byBzZWUgaWYgdGhleSBhcmUgc3VwcG9ydGVkIGJ5IHRoZSBidWlsZGVyLlxuICogVGhyb3dzIGlmIHRoZSBpbnN0cnVjdGlvbiB0eXBlIGlzIGludmFsaWQuXG4gKlxuICogQHBhcmFtIHtUcmFuc2FjdGlvbkluc3RydWN0aW9ufSBpbnN0cnVjdGlvbnMgLSBhIHNvbGFuYSBpbnN0cnVjdGlvblxuICogQHJldHVybnMge3ZvaWR9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUludHJ1Y3Rpb25UeXBlcyhpbnN0cnVjdGlvbnM6IFRyYW5zYWN0aW9uSW5zdHJ1Y3Rpb25bXSk6IHZvaWQge1xuICBmb3IgKGNvbnN0IGluc3RydWN0aW9uIG9mIGluc3RydWN0aW9ucykge1xuICAgIGlmICghVkFMSURfU1lTVEVNX0lOU1RSVUNUSU9OX1RZUEVTLmluY2x1ZGVzKGdldEluc3RydWN0aW9uVHlwZShpbnN0cnVjdGlvbikpKSB7XG4gICAgICB0aHJvdyBuZXcgTm90U3VwcG9ydGVkKCdJbnZhbGlkIHRyYW5zYWN0aW9uLCBpbnN0cnVjdGlvbiB0eXBlIG5vdCBzdXBwb3J0ZWQ6ICcgKyBnZXRJbnN0cnVjdGlvblR5cGUoaW5zdHJ1Y3Rpb24pKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBDaGVjayB0aGUgcmF3IHRyYW5zYWN0aW9uIGhhcyBhIHZhbGlkIGZvcm1hdCBpbiB0aGUgYmxvY2tjaGFpbiBjb250ZXh0LCB0aHJvdyBvdGhlcndpc2UuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHJhd1RyYW5zYWN0aW9uIC0gVHJhbnNhY3Rpb24gaW4gYmFzZTY0IHN0cmluZyAgZm9ybWF0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVJhd1RyYW5zYWN0aW9uKHJhd1RyYW5zYWN0aW9uOiBzdHJpbmcpOiB2b2lkIHtcbiAgaWYgKCFyYXdUcmFuc2FjdGlvbikge1xuICAgIHRocm93IG5ldyBQYXJzZVRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgcmF3IHRyYW5zYWN0aW9uOiBVbmRlZmluZWQnKTtcbiAgfVxuICBpZiAoIWlzVmFsaWRSYXdUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbikpIHtcbiAgICB0aHJvdyBuZXcgUGFyc2VUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIHJhdyB0cmFuc2FjdGlvbicpO1xuICB9XG59XG5cbi8qKlxuICogVmFsaWRhdGVzIGFkZHJlc3MgdG8gY2hlY2sgaWYgaXQgZXhpc3RzIGFuZCBpcyBhIHZhbGlkIFNvbGFuYSBwdWJsaWMga2V5XG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGFkZHJlc3MgVGhlIGFkZHJlc3MgdG8gYmUgdmFsaWRhdGVkXG4gKiBAcGFyYW0ge3N0cmluZ30gZmllbGROYW1lIE5hbWUgb2YgdGhlIGZpZWxkIHRvIHZhbGlkYXRlLCBpdHMgbmVlZGVkIHRvIHJldHVybiB3aGljaCBmaWVsZCBpcyBmYWlsaW5nIG9uIGNhc2Ugb2YgZXJyb3IuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUFkZHJlc3MoYWRkcmVzczogc3RyaW5nLCBmaWVsZE5hbWU6IHN0cmluZyk6IHZvaWQge1xuICBpZiAoIWFkZHJlc3MgfHwgIWlzVmFsaWRQdWJsaWNLZXkoYWRkcmVzcykpIHtcbiAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKGBJbnZhbGlkIG9yIG1pc3NpbmcgJHtmaWVsZE5hbWV9LCBnb3Q6ICR7YWRkcmVzc31gKTtcbiAgfVxufVxuXG4vKipcbiAqIEdldCB0aGUgc3RhdGljcyBjb2luIG9iamVjdCBtYXRjaGluZyBhIGdpdmVuIFNvbGFuYSB0b2tlbiBhZGRyZXNzIGlmIGl0IGV4aXN0c1xuICpcbiAqIEBwYXJhbSB0b2tlbkFkZHJlc3MgVGhlIHRva2VuIGFkZHJlc3MgdG8gbWF0Y2ggYWdhaW5zdFxuICogQHBhcmFtIG5ldHdvcmsgU29sYW5hIE1haW5uZXQgb3IgVGVzdG5ldFxuICogQHJldHVybnMgc3RhdGljcyBCYXNlQ29pbiBvYmplY3QgZm9yIHRoZSBtYXRjaGluZyB0b2tlblxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U29sVG9rZW5Gcm9tQWRkcmVzcyh0b2tlbkFkZHJlc3M6IHN0cmluZywgbmV0d29yazogQmFzZU5ldHdvcmspOiBSZWFkb25seTxCYXNlQ29pbj4gfCB1bmRlZmluZWQge1xuICBjb25zdCB0b2tlbnMgPSBjb2lucy5maWx0ZXIoKGNvaW4pID0+IHtcbiAgICBpZiAoY29pbiBpbnN0YW5jZW9mIFNvbENvaW4pIHtcbiAgICAgIHJldHVybiBjb2luLm5ldHdvcmsudHlwZSA9PT0gbmV0d29yay50eXBlICYmIGNvaW4udG9rZW5BZGRyZXNzLnRvTG93ZXJDYXNlKCkgPT09IHRva2VuQWRkcmVzcy50b0xvd2VyQ2FzZSgpO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH0pO1xuICBjb25zdCB0b2tlbnNBcnJheSA9IHRva2Vucy5tYXAoKHRva2VuKSA9PiB0b2tlbik7XG4gIGlmICh0b2tlbnNBcnJheS5sZW5ndGggPj0gMSkge1xuICAgIC8vIHRoZXJlIHNob3VsZCBuZXZlciBiZSB0d28gdG9rZW5zIHdpdGggdGhlIHNhbWUgY29udHJhY3QgYWRkcmVzcywgc28gd2UgYXNzZXJ0IHRoYXQgaGVyZVxuICAgIGFzc2VydCh0b2tlbnNBcnJheS5sZW5ndGggPT09IDEpO1xuICAgIHJldHVybiB0b2tlbnNBcnJheVswXTtcbiAgfVxuICByZXR1cm4gdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIEdldCB0aGUgc29sYW5hIHRva2VuIG9iamVjdCBmcm9tIHRva2VuIG5hbWVcbiAqIEBwYXJhbSB0b2tlbk5hbWUgVGhlIHRva2VuIG5hbWUgdG8gbWF0Y2ggYWdhaW5zdFxuICogKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRTb2xUb2tlbkZyb21Ub2tlbk5hbWUodG9rZW5OYW1lOiBzdHJpbmcpOiBSZWFkb25seTxTb2xDb2luPiB8IHVuZGVmaW5lZCB7XG4gIHRyeSB7XG4gICAgY29uc3QgdG9rZW4gPSBjb2lucy5nZXQodG9rZW5OYW1lKTtcbiAgICBpZiAoISh0b2tlbi5pc1Rva2VuICYmIHRva2VuIGluc3RhbmNlb2YgU29sQ29pbikpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHJldHVybiB0b2tlbjtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGlmICghKGUgaW5zdGFuY2VvZiBDb2luTm90RGVmaW5lZEVycm9yKSkge1xuICAgICAgdGhyb3cgZTtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufVxuXG4vKipcbiAqIEdldCB0aGUgc29sYW5hIGFzc29jaWF0ZWQgdG9rZW4gYWNjb3VudCBhZGRyZXNzXG4gKiBAcGFyYW0gdG9rZW5BZGRyZXNzIFRoZSB0b2tlbiBhZGRyZXNzXG4gKiBAcGFyYW0gb3duZXJBZGRyZXNzIFRoZSBvd25lciBvZiB0aGUgYXNzb2NpYXRlZCB0b2tlbiBhY2NvdW50XG4gKiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldEFzc29jaWF0ZWRUb2tlbkFjY291bnRBZGRyZXNzKHRva2VuQWRkcmVzczogc3RyaW5nLCBvd25lckFkZHJlc3M6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gIGNvbnN0IGF0YUFkZHJlc3MgPSBhd2FpdCBUb2tlbi5nZXRBc3NvY2lhdGVkVG9rZW5BZGRyZXNzKFxuICAgIEFTU09DSUFURURfVE9LRU5fUFJPR1JBTV9JRCxcbiAgICBUT0tFTl9QUk9HUkFNX0lELFxuICAgIG5ldyBQdWJsaWNLZXkodG9rZW5BZGRyZXNzKSxcbiAgICBuZXcgUHVibGljS2V5KG93bmVyQWRkcmVzcyksXG4gICk7XG4gIHJldHVybiBhdGFBZGRyZXNzLnRvU3RyaW5nKCk7XG59XG4iXX0=
@@ -1,26 +0,0 @@
1
- import { BaseCoin as CoinConfig } from '@bitgo/statics';
2
- import { TransactionType } from '@bitgo/sdk-core';
3
- import { Transaction } from './transaction';
4
- import { TransactionBuilder } from './transactionBuilder';
5
- export declare class WalletInitializationBuilder extends TransactionBuilder {
6
- private _nonceAddress;
7
- private _amount;
8
- constructor(_coinConfig: Readonly<CoinConfig>);
9
- protected get transactionType(): TransactionType;
10
- /** @inheritDoc */
11
- initBuilder(tx: Transaction): void;
12
- /**
13
- * Sets the amount to fund the nonce account
14
- *
15
- * @param amount amount in lamports to fund the nonce account
16
- */
17
- amount(amount: string): this;
18
- /**
19
- * Sets the address for the nonce account
20
- * @param nonceAddress address of the new nonce account
21
- */
22
- address(nonceAddress: string): this;
23
- /** @inheritdoc */
24
- protected buildImplementation(): Promise<Transaction>;
25
- }
26
- //# sourceMappingURL=walletInitializationBuilder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"walletInitializationBuilder.d.ts","sourceRoot":"","sources":["../../../../src/coin/sol/walletInitializationBuilder.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAyB,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAK1D,qBAAa,2BAA4B,SAAQ,kBAAkB;IACjE,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,OAAO,CAAS;gBAEZ,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAG7C,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED,kBAAkB;IAClB,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAclC;;;;OAIG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAS5B;;;OAGG;IACH,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAOnC,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;CAkB5D"}