@bitgo/account-lib 2.21.0-hotfix.1 → 2.21.0-rc.10

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 (629) hide show
  1. package/CHANGELOG.md +2 -2
  2. package/dist/tsconfig.tsbuildinfo +1092 -4480
  3. package/package.json +22 -22
  4. package/dist/browser/bitgo-account-lib.js +0 -2
  5. package/dist/browser/bitgo-account-lib.js.LICENSE.txt +0 -337
  6. package/dist/resources/hbar/protobuf/BasicTypes.proto +0 -424
  7. package/dist/resources/hbar/protobuf/CryptoCreate.proto +0 -47
  8. package/dist/resources/hbar/protobuf/CryptoTransfer.proto +0 -33
  9. package/dist/resources/hbar/protobuf/Duration.proto +0 -28
  10. package/dist/resources/hbar/protobuf/Timestamp.proto +0 -34
  11. package/dist/resources/hbar/protobuf/Transaction.proto +0 -35
  12. package/dist/resources/hbar/protobuf/TransactionBody.proto +0 -24
  13. package/dist/resources/hbar/protobuf/TransactionContents.proto +0 -33
  14. package/dist/resources/hbar/protobuf/hedera.d.ts +0 -4612
  15. package/dist/resources/hbar/protobuf/hedera.js +0 -12192
  16. package/dist/resources/trx/protobuf/Contract.proto +0 -256
  17. package/dist/resources/trx/protobuf/Discover.proto +0 -44
  18. package/dist/resources/trx/protobuf/tron.d.ts +0 -11024
  19. package/dist/resources/trx/protobuf/tron.js +0 -31510
  20. package/dist/resources/trx/protobuf/tron.proto +0 -677
  21. package/dist/src/coin/algo/assetTransferBuilder.d.ts +0 -42
  22. package/dist/src/coin/algo/assetTransferBuilder.d.ts.map +0 -1
  23. package/dist/src/coin/algo/assetTransferBuilder.js +0 -105
  24. package/dist/src/coin/algo/errors.d.ts +0 -11
  25. package/dist/src/coin/algo/errors.d.ts.map +0 -1
  26. package/dist/src/coin/algo/errors.js +0 -27
  27. package/dist/src/coin/algo/ifaces.d.ts +0 -46
  28. package/dist/src/coin/algo/ifaces.d.ts.map +0 -1
  29. package/dist/src/coin/algo/ifaces.js +0 -3
  30. package/dist/src/coin/algo/index.d.ts +0 -13
  31. package/dist/src/coin/algo/index.d.ts.map +0 -1
  32. package/dist/src/coin/algo/index.js +0 -47
  33. package/dist/src/coin/algo/keyPair.d.ts +0 -25
  34. package/dist/src/coin/algo/keyPair.d.ts.map +0 -1
  35. package/dist/src/coin/algo/keyPair.js +0 -77
  36. package/dist/src/coin/algo/keyRegistrationBuilder.d.ts +0 -104
  37. package/dist/src/coin/algo/keyRegistrationBuilder.d.ts.map +0 -1
  38. package/dist/src/coin/algo/keyRegistrationBuilder.js +0 -239
  39. package/dist/src/coin/algo/seedEncoding.d.ts +0 -25
  40. package/dist/src/coin/algo/seedEncoding.d.ts.map +0 -1
  41. package/dist/src/coin/algo/seedEncoding.js +0 -97
  42. package/dist/src/coin/algo/transaction.d.ts +0 -75
  43. package/dist/src/coin/algo/transaction.d.ts.map +0 -1
  44. package/dist/src/coin/algo/transaction.js +0 -251
  45. package/dist/src/coin/algo/transactionBuilder.d.ts +0 -204
  46. package/dist/src/coin/algo/transactionBuilder.d.ts.map +0 -1
  47. package/dist/src/coin/algo/transactionBuilder.js +0 -373
  48. package/dist/src/coin/algo/transactionBuilderFactory.d.ts +0 -16
  49. package/dist/src/coin/algo/transactionBuilderFactory.d.ts.map +0 -1
  50. package/dist/src/coin/algo/transactionBuilderFactory.js +0 -52
  51. package/dist/src/coin/algo/transferBuilder.d.ts +0 -40
  52. package/dist/src/coin/algo/transferBuilder.d.ts.map +0 -1
  53. package/dist/src/coin/algo/transferBuilder.js +0 -89
  54. package/dist/src/coin/algo/txnSchema.d.ts +0 -7
  55. package/dist/src/coin/algo/txnSchema.d.ts.map +0 -1
  56. package/dist/src/coin/algo/txnSchema.js +0 -68
  57. package/dist/src/coin/algo/utils.d.ts +0 -249
  58. package/dist/src/coin/algo/utils.d.ts.map +0 -1
  59. package/dist/src/coin/algo/utils.js +0 -539
  60. package/dist/src/coin/avaxc/index.d.ts +0 -8
  61. package/dist/src/coin/avaxc/index.d.ts.map +0 -1
  62. package/dist/src/coin/avaxc/index.js +0 -35
  63. package/dist/src/coin/avaxc/keyPair.d.ts +0 -26
  64. package/dist/src/coin/avaxc/keyPair.d.ts.map +0 -1
  65. package/dist/src/coin/avaxc/keyPair.js +0 -83
  66. package/dist/src/coin/avaxc/resources.d.ts +0 -12
  67. package/dist/src/coin/avaxc/resources.d.ts.map +0 -1
  68. package/dist/src/coin/avaxc/resources.js +0 -27
  69. package/dist/src/coin/avaxc/transactionBuilder.d.ts +0 -17
  70. package/dist/src/coin/avaxc/transactionBuilder.d.ts.map +0 -1
  71. package/dist/src/coin/avaxc/transactionBuilder.js +0 -45
  72. package/dist/src/coin/avaxc/transferBuilder.d.ts +0 -17
  73. package/dist/src/coin/avaxc/transferBuilder.d.ts.map +0 -1
  74. package/dist/src/coin/avaxc/transferBuilder.js +0 -25
  75. package/dist/src/coin/avaxc/utils.d.ts +0 -39
  76. package/dist/src/coin/avaxc/utils.d.ts.map +0 -1
  77. package/dist/src/coin/avaxc/utils.js +0 -70
  78. package/dist/src/coin/avaxc/walletUtil.d.ts +0 -22
  79. package/dist/src/coin/avaxc/walletUtil.d.ts.map +0 -1
  80. package/dist/src/coin/avaxc/walletUtil.js +0 -62
  81. package/dist/src/coin/baseCoin/baseKeyPair.d.ts +0 -27
  82. package/dist/src/coin/baseCoin/baseKeyPair.d.ts.map +0 -1
  83. package/dist/src/coin/baseCoin/baseKeyPair.js +0 -3
  84. package/dist/src/coin/baseCoin/baseTransaction.d.ts +0 -71
  85. package/dist/src/coin/baseCoin/baseTransaction.d.ts.map +0 -1
  86. package/dist/src/coin/baseCoin/baseTransaction.js +0 -94
  87. package/dist/src/coin/baseCoin/baseTransactionBuilder.d.ts +0 -128
  88. package/dist/src/coin/baseCoin/baseTransactionBuilder.d.ts.map +0 -1
  89. package/dist/src/coin/baseCoin/baseTransactionBuilder.js +0 -179
  90. package/dist/src/coin/baseCoin/baseTransactionBuilderFactory.d.ts +0 -30
  91. package/dist/src/coin/baseCoin/baseTransactionBuilderFactory.d.ts.map +0 -1
  92. package/dist/src/coin/baseCoin/baseTransactionBuilderFactory.js +0 -20
  93. package/dist/src/coin/baseCoin/baseUtils.d.ts +0 -45
  94. package/dist/src/coin/baseCoin/baseUtils.d.ts.map +0 -1
  95. package/dist/src/coin/baseCoin/baseUtils.js +0 -3
  96. package/dist/src/coin/baseCoin/blsKeyPair.d.ts +0 -75
  97. package/dist/src/coin/baseCoin/blsKeyPair.d.ts.map +0 -1
  98. package/dist/src/coin/baseCoin/blsKeyPair.js +0 -232
  99. package/dist/src/coin/baseCoin/ed25519KeyPair.d.ts +0 -50
  100. package/dist/src/coin/baseCoin/ed25519KeyPair.d.ts.map +0 -1
  101. package/dist/src/coin/baseCoin/ed25519KeyPair.js +0 -141
  102. package/dist/src/coin/baseCoin/enum.d.ts +0 -43
  103. package/dist/src/coin/baseCoin/enum.d.ts.map +0 -1
  104. package/dist/src/coin/baseCoin/enum.js +0 -70
  105. package/dist/src/coin/baseCoin/errors.d.ts +0 -65
  106. package/dist/src/coin/baseCoin/errors.d.ts.map +0 -1
  107. package/dist/src/coin/baseCoin/errors.js +0 -156
  108. package/dist/src/coin/baseCoin/iface.d.ts +0 -162
  109. package/dist/src/coin/baseCoin/iface.d.ts.map +0 -1
  110. package/dist/src/coin/baseCoin/iface.js +0 -38
  111. package/dist/src/coin/baseCoin/index.d.ts +0 -12
  112. package/dist/src/coin/baseCoin/index.d.ts.map +0 -1
  113. package/dist/src/coin/baseCoin/index.js +0 -41
  114. package/dist/src/coin/baseCoin/secp256k1ExtendedKeyPair.d.ts +0 -55
  115. package/dist/src/coin/baseCoin/secp256k1ExtendedKeyPair.d.ts.map +0 -1
  116. package/dist/src/coin/baseCoin/secp256k1ExtendedKeyPair.js +0 -124
  117. package/dist/src/coin/celo/index.d.ts +0 -8
  118. package/dist/src/coin/celo/index.d.ts.map +0 -1
  119. package/dist/src/coin/celo/index.js +0 -35
  120. package/dist/src/coin/celo/resources.d.ts +0 -10
  121. package/dist/src/coin/celo/resources.d.ts.map +0 -1
  122. package/dist/src/coin/celo/resources.js +0 -26
  123. package/dist/src/coin/celo/stakingBuilder.d.ts +0 -91
  124. package/dist/src/coin/celo/stakingBuilder.d.ts.map +0 -1
  125. package/dist/src/coin/celo/stakingBuilder.js +0 -277
  126. package/dist/src/coin/celo/stakingCall.d.ts +0 -7
  127. package/dist/src/coin/celo/stakingCall.d.ts.map +0 -1
  128. package/dist/src/coin/celo/stakingCall.js +0 -13
  129. package/dist/src/coin/celo/stakingUtils.d.ts +0 -15
  130. package/dist/src/coin/celo/stakingUtils.d.ts.map +0 -1
  131. package/dist/src/coin/celo/stakingUtils.js +0 -98
  132. package/dist/src/coin/celo/transaction.d.ts +0 -10
  133. package/dist/src/coin/celo/transaction.d.ts.map +0 -1
  134. package/dist/src/coin/celo/transaction.js +0 -37
  135. package/dist/src/coin/celo/transactionBuilder.d.ts +0 -86
  136. package/dist/src/coin/celo/transactionBuilder.d.ts.map +0 -1
  137. package/dist/src/coin/celo/transactionBuilder.js +0 -228
  138. package/dist/src/coin/celo/transferBuilder.d.ts +0 -19
  139. package/dist/src/coin/celo/transferBuilder.d.ts.map +0 -1
  140. package/dist/src/coin/celo/transferBuilder.js +0 -27
  141. package/dist/src/coin/celo/types.d.ts +0 -52
  142. package/dist/src/coin/celo/types.d.ts.map +0 -1
  143. package/dist/src/coin/celo/types.js +0 -222
  144. package/dist/src/coin/celo/utils.d.ts +0 -18
  145. package/dist/src/coin/celo/utils.d.ts.map +0 -1
  146. package/dist/src/coin/celo/utils.js +0 -99
  147. package/dist/src/coin/cspr/constants.d.ts +0 -19
  148. package/dist/src/coin/cspr/constants.d.ts.map +0 -1
  149. package/dist/src/coin/cspr/constants.js +0 -28
  150. package/dist/src/coin/cspr/delegateBuilder.d.ts +0 -49
  151. package/dist/src/coin/cspr/delegateBuilder.d.ts.map +0 -1
  152. package/dist/src/coin/cspr/delegateBuilder.js +0 -111
  153. package/dist/src/coin/cspr/ifaces.d.ts +0 -69
  154. package/dist/src/coin/cspr/ifaces.d.ts.map +0 -1
  155. package/dist/src/coin/cspr/ifaces.js +0 -3
  156. package/dist/src/coin/cspr/index.d.ts +0 -6
  157. package/dist/src/coin/cspr/index.d.ts.map +0 -1
  158. package/dist/src/coin/cspr/index.js +0 -31
  159. package/dist/src/coin/cspr/keyPair.d.ts +0 -18
  160. package/dist/src/coin/cspr/keyPair.d.ts.map +0 -1
  161. package/dist/src/coin/cspr/keyPair.js +0 -75
  162. package/dist/src/coin/cspr/transaction.d.ts +0 -55
  163. package/dist/src/coin/cspr/transaction.d.ts.map +0 -1
  164. package/dist/src/coin/cspr/transaction.js +0 -227
  165. package/dist/src/coin/cspr/transactionBuilder.d.ts +0 -124
  166. package/dist/src/coin/cspr/transactionBuilder.d.ts.map +0 -1
  167. package/dist/src/coin/cspr/transactionBuilder.js +0 -312
  168. package/dist/src/coin/cspr/transactionBuilderFactory.d.ts +0 -46
  169. package/dist/src/coin/cspr/transactionBuilderFactory.d.ts.map +0 -1
  170. package/dist/src/coin/cspr/transactionBuilderFactory.js +0 -98
  171. package/dist/src/coin/cspr/transferBuilder.d.ts +0 -39
  172. package/dist/src/coin/cspr/transferBuilder.d.ts.map +0 -1
  173. package/dist/src/coin/cspr/transferBuilder.js +0 -106
  174. package/dist/src/coin/cspr/undelegateBuilder.d.ts +0 -49
  175. package/dist/src/coin/cspr/undelegateBuilder.d.ts.map +0 -1
  176. package/dist/src/coin/cspr/undelegateBuilder.js +0 -111
  177. package/dist/src/coin/cspr/utils.d.ts +0 -188
  178. package/dist/src/coin/cspr/utils.d.ts.map +0 -1
  179. package/dist/src/coin/cspr/utils.js +0 -477
  180. package/dist/src/coin/cspr/walletInitializationBuilder.d.ts +0 -27
  181. package/dist/src/coin/cspr/walletInitializationBuilder.d.ts.map +0 -1
  182. package/dist/src/coin/cspr/walletInitializationBuilder.js +0 -95
  183. package/dist/src/coin/dot/addressInitializationBuilder.d.ts +0 -79
  184. package/dist/src/coin/dot/addressInitializationBuilder.d.ts.map +0 -1
  185. package/dist/src/coin/dot/addressInitializationBuilder.js +0 -182
  186. package/dist/src/coin/dot/batchTransactionBuilder.d.ts +0 -47
  187. package/dist/src/coin/dot/batchTransactionBuilder.d.ts.map +0 -1
  188. package/dist/src/coin/dot/batchTransactionBuilder.js +0 -122
  189. package/dist/src/coin/dot/claimBuilder.d.ts +0 -58
  190. package/dist/src/coin/dot/claimBuilder.d.ts.map +0 -1
  191. package/dist/src/coin/dot/claimBuilder.js +0 -119
  192. package/dist/src/coin/dot/errors.d.ts +0 -8
  193. package/dist/src/coin/dot/errors.d.ts.map +0 -1
  194. package/dist/src/coin/dot/errors.js +0 -19
  195. package/dist/src/coin/dot/iface.d.ts +0 -194
  196. package/dist/src/coin/dot/iface.d.ts.map +0 -1
  197. package/dist/src/coin/dot/iface.js +0 -39
  198. package/dist/src/coin/dot/index.d.ts +0 -17
  199. package/dist/src/coin/dot/index.d.ts.map +0 -1
  200. package/dist/src/coin/dot/index.js +0 -53
  201. package/dist/src/coin/dot/keyPair.d.ts +0 -31
  202. package/dist/src/coin/dot/keyPair.d.ts.map +0 -1
  203. package/dist/src/coin/dot/keyPair.js +0 -70
  204. package/dist/src/coin/dot/singletonRegistry.d.ts +0 -7
  205. package/dist/src/coin/dot/singletonRegistry.d.ts.map +0 -1
  206. package/dist/src/coin/dot/singletonRegistry.js +0 -20
  207. package/dist/src/coin/dot/stakingBuilder.d.ts +0 -58
  208. package/dist/src/coin/dot/stakingBuilder.d.ts.map +0 -1
  209. package/dist/src/coin/dot/stakingBuilder.js +0 -139
  210. package/dist/src/coin/dot/transaction.d.ts +0 -65
  211. package/dist/src/coin/dot/transaction.d.ts.map +0 -1
  212. package/dist/src/coin/dot/transaction.js +0 -396
  213. package/dist/src/coin/dot/transactionBuilder.d.ts +0 -131
  214. package/dist/src/coin/dot/transactionBuilder.d.ts.map +0 -1
  215. package/dist/src/coin/dot/transactionBuilder.js +0 -332
  216. package/dist/src/coin/dot/transactionBuilderFactory.d.ts +0 -26
  217. package/dist/src/coin/dot/transactionBuilderFactory.d.ts.map +0 -1
  218. package/dist/src/coin/dot/transactionBuilderFactory.js +0 -93
  219. package/dist/src/coin/dot/transferBuilder.d.ts +0 -71
  220. package/dist/src/coin/dot/transferBuilder.d.ts.map +0 -1
  221. package/dist/src/coin/dot/transferBuilder.js +0 -177
  222. package/dist/src/coin/dot/txnSchema.d.ts +0 -14
  223. package/dist/src/coin/dot/txnSchema.d.ts.map +0 -1
  224. package/dist/src/coin/dot/txnSchema.js +0 -104
  225. package/dist/src/coin/dot/unnominateBuilder.d.ts +0 -24
  226. package/dist/src/coin/dot/unnominateBuilder.d.ts.map +0 -1
  227. package/dist/src/coin/dot/unnominateBuilder.js +0 -50
  228. package/dist/src/coin/dot/unstakeBuilder.d.ts +0 -38
  229. package/dist/src/coin/dot/unstakeBuilder.d.ts.map +0 -1
  230. package/dist/src/coin/dot/unstakeBuilder.js +0 -89
  231. package/dist/src/coin/dot/utils.d.ts +0 -145
  232. package/dist/src/coin/dot/utils.d.ts.map +0 -1
  233. package/dist/src/coin/dot/utils.js +0 -283
  234. package/dist/src/coin/dot/withdrawUnstakedBuilder.d.ts +0 -38
  235. package/dist/src/coin/dot/withdrawUnstakedBuilder.d.ts.map +0 -1
  236. package/dist/src/coin/dot/withdrawUnstakedBuilder.js +0 -90
  237. package/dist/src/coin/etc/index.d.ts +0 -8
  238. package/dist/src/coin/etc/index.d.ts.map +0 -1
  239. package/dist/src/coin/etc/index.js +0 -35
  240. package/dist/src/coin/etc/resources.d.ts +0 -10
  241. package/dist/src/coin/etc/resources.d.ts.map +0 -1
  242. package/dist/src/coin/etc/resources.js +0 -26
  243. package/dist/src/coin/etc/transactionBuilder.d.ts +0 -17
  244. package/dist/src/coin/etc/transactionBuilder.d.ts.map +0 -1
  245. package/dist/src/coin/etc/transactionBuilder.js +0 -45
  246. package/dist/src/coin/etc/transferBuilder.d.ts +0 -19
  247. package/dist/src/coin/etc/transferBuilder.d.ts.map +0 -1
  248. package/dist/src/coin/etc/transferBuilder.js +0 -27
  249. package/dist/src/coin/etc/utils.d.ts +0 -18
  250. package/dist/src/coin/etc/utils.d.ts.map +0 -1
  251. package/dist/src/coin/etc/utils.js +0 -42
  252. package/dist/src/coin/eth/contractCall.d.ts +0 -8
  253. package/dist/src/coin/eth/contractCall.d.ts.map +0 -1
  254. package/dist/src/coin/eth/contractCall.js +0 -17
  255. package/dist/src/coin/eth/iface.d.ts +0 -122
  256. package/dist/src/coin/eth/iface.d.ts.map +0 -1
  257. package/dist/src/coin/eth/iface.js +0 -8
  258. package/dist/src/coin/eth/index.d.ts +0 -10
  259. package/dist/src/coin/eth/index.d.ts.map +0 -1
  260. package/dist/src/coin/eth/index.js +0 -39
  261. package/dist/src/coin/eth/keyPair.d.ts +0 -26
  262. package/dist/src/coin/eth/keyPair.d.ts.map +0 -1
  263. package/dist/src/coin/eth/keyPair.js +0 -85
  264. package/dist/src/coin/eth/transaction.d.ts +0 -64
  265. package/dist/src/coin/eth/transaction.d.ts.map +0 -1
  266. package/dist/src/coin/eth/transaction.js +0 -137
  267. package/dist/src/coin/eth/transactionBuilder.d.ts +0 -194
  268. package/dist/src/coin/eth/transactionBuilder.d.ts.map +0 -1
  269. package/dist/src/coin/eth/transactionBuilder.js +0 -624
  270. package/dist/src/coin/eth/transferBuilder/baseNFTTransferBuilder.d.ts +0 -47
  271. package/dist/src/coin/eth/transferBuilder/baseNFTTransferBuilder.d.ts.map +0 -1
  272. package/dist/src/coin/eth/transferBuilder/baseNFTTransferBuilder.js +0 -113
  273. package/dist/src/coin/eth/transferBuilder/transferBuilderERC1155.d.ts +0 -14
  274. package/dist/src/coin/eth/transferBuilder/transferBuilderERC1155.d.ts.map +0 -1
  275. package/dist/src/coin/eth/transferBuilder/transferBuilderERC1155.js +0 -83
  276. package/dist/src/coin/eth/transferBuilder/transferBuilderERC721.d.ts +0 -13
  277. package/dist/src/coin/eth/transferBuilder/transferBuilderERC721.d.ts.map +0 -1
  278. package/dist/src/coin/eth/transferBuilder/transferBuilderERC721.js +0 -68
  279. package/dist/src/coin/eth/transferBuilder.d.ts +0 -65
  280. package/dist/src/coin/eth/transferBuilder.d.ts.map +0 -1
  281. package/dist/src/coin/eth/transferBuilder.js +0 -197
  282. package/dist/src/coin/eth/types.d.ts +0 -39
  283. package/dist/src/coin/eth/types.d.ts.map +0 -1
  284. package/dist/src/coin/eth/types.js +0 -135
  285. package/dist/src/coin/eth/utils.d.ts +0 -201
  286. package/dist/src/coin/eth/utils.d.ts.map +0 -1
  287. package/dist/src/coin/eth/utils.js +0 -486
  288. package/dist/src/coin/eth/walletUtil.d.ts +0 -21
  289. package/dist/src/coin/eth/walletUtil.d.ts.map +0 -1
  290. package/dist/src/coin/eth/walletUtil.js +0 -31
  291. package/dist/src/coin/eth2/index.d.ts +0 -2
  292. package/dist/src/coin/eth2/index.d.ts.map +0 -1
  293. package/dist/src/coin/eth2/index.js +0 -6
  294. package/dist/src/coin/eth2/keyPair.d.ts +0 -33
  295. package/dist/src/coin/eth2/keyPair.d.ts.map +0 -1
  296. package/dist/src/coin/eth2/keyPair.js +0 -65
  297. package/dist/src/coin/hbar/constants.d.ts +0 -8
  298. package/dist/src/coin/hbar/constants.d.ts.map +0 -1
  299. package/dist/src/coin/hbar/constants.js +0 -12
  300. package/dist/src/coin/hbar/iface.d.ts +0 -26
  301. package/dist/src/coin/hbar/iface.d.ts.map +0 -1
  302. package/dist/src/coin/hbar/iface.js +0 -3
  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/tokenAssociateBuilder.d.ts +0 -35
  313. package/dist/src/coin/hbar/tokenAssociateBuilder.d.ts.map +0 -1
  314. package/dist/src/coin/hbar/tokenAssociateBuilder.js +0 -118
  315. package/dist/src/coin/hbar/transaction.d.ts +0 -97
  316. package/dist/src/coin/hbar/transaction.d.ts.map +0 -1
  317. package/dist/src/coin/hbar/transaction.js +0 -255
  318. package/dist/src/coin/hbar/transactionBuilder.d.ts +0 -111
  319. package/dist/src/coin/hbar/transactionBuilder.d.ts.map +0 -1
  320. package/dist/src/coin/hbar/transactionBuilder.js +0 -270
  321. package/dist/src/coin/hbar/transactionBuilderFactory.d.ts +0 -42
  322. package/dist/src/coin/hbar/transactionBuilderFactory.d.ts.map +0 -1
  323. package/dist/src/coin/hbar/transactionBuilderFactory.js +0 -79
  324. package/dist/src/coin/hbar/transferBuilder.d.ts +0 -43
  325. package/dist/src/coin/hbar/transferBuilder.d.ts.map +0 -1
  326. package/dist/src/coin/hbar/transferBuilder.js +0 -124
  327. package/dist/src/coin/hbar/utils.d.ts +0 -186
  328. package/dist/src/coin/hbar/utils.d.ts.map +0 -1
  329. package/dist/src/coin/hbar/utils.js +0 -400
  330. package/dist/src/coin/hbar/walletInitializationBuilder.d.ts +0 -28
  331. package/dist/src/coin/hbar/walletInitializationBuilder.d.ts.map +0 -1
  332. package/dist/src/coin/hbar/walletInitializationBuilder.js +0 -110
  333. package/dist/src/coin/near/constants.d.ts +0 -12
  334. package/dist/src/coin/near/constants.d.ts.map +0 -1
  335. package/dist/src/coin/near/constants.js +0 -15
  336. package/dist/src/coin/near/contractCallWrapper.d.ts +0 -33
  337. package/dist/src/coin/near/contractCallWrapper.d.ts.map +0 -1
  338. package/dist/src/coin/near/contractCallWrapper.js +0 -68
  339. package/dist/src/coin/near/errors.d.ts +0 -5
  340. package/dist/src/coin/near/errors.d.ts.map +0 -1
  341. package/dist/src/coin/near/errors.js +0 -12
  342. package/dist/src/coin/near/iface.d.ts +0 -40
  343. package/dist/src/coin/near/iface.d.ts.map +0 -1
  344. package/dist/src/coin/near/iface.js +0 -8
  345. package/dist/src/coin/near/index.d.ts +0 -11
  346. package/dist/src/coin/near/index.d.ts.map +0 -1
  347. package/dist/src/coin/near/index.js +0 -41
  348. package/dist/src/coin/near/keyPair.d.ts +0 -25
  349. package/dist/src/coin/near/keyPair.d.ts.map +0 -1
  350. package/dist/src/coin/near/keyPair.js +0 -73
  351. package/dist/src/coin/near/stakingActivateBuilder.d.ts +0 -32
  352. package/dist/src/coin/near/stakingActivateBuilder.d.ts.map +0 -1
  353. package/dist/src/coin/near/stakingActivateBuilder.js +0 -90
  354. package/dist/src/coin/near/stakingDeactivateBuilder.d.ts +0 -32
  355. package/dist/src/coin/near/stakingDeactivateBuilder.d.ts.map +0 -1
  356. package/dist/src/coin/near/stakingDeactivateBuilder.js +0 -89
  357. package/dist/src/coin/near/stakingWithdrawBuilder.d.ts +0 -32
  358. package/dist/src/coin/near/stakingWithdrawBuilder.d.ts.map +0 -1
  359. package/dist/src/coin/near/stakingWithdrawBuilder.js +0 -89
  360. package/dist/src/coin/near/transaction.d.ts +0 -90
  361. package/dist/src/coin/near/transaction.d.ts.map +0 -1
  362. package/dist/src/coin/near/transaction.js +0 -368
  363. package/dist/src/coin/near/transactionBuilder.d.ts +0 -89
  364. package/dist/src/coin/near/transactionBuilder.d.ts.map +0 -1
  365. package/dist/src/coin/near/transactionBuilder.js +0 -216
  366. package/dist/src/coin/near/transactionBuilderFactory.d.ts +0 -30
  367. package/dist/src/coin/near/transactionBuilderFactory.d.ts.map +0 -1
  368. package/dist/src/coin/near/transactionBuilderFactory.js +0 -71
  369. package/dist/src/coin/near/transferBuilder.d.ts +0 -26
  370. package/dist/src/coin/near/transferBuilder.d.ts.map +0 -1
  371. package/dist/src/coin/near/transferBuilder.js +0 -72
  372. package/dist/src/coin/near/utils.d.ts +0 -42
  373. package/dist/src/coin/near/utils.d.ts.map +0 -1
  374. package/dist/src/coin/near/utils.js +0 -85
  375. package/dist/src/coin/near/walletInitializationBuilder.d.ts +0 -12
  376. package/dist/src/coin/near/walletInitializationBuilder.d.ts.map +0 -1
  377. package/dist/src/coin/near/walletInitializationBuilder.js +0 -20
  378. package/dist/src/coin/polygon/index.d.ts +0 -8
  379. package/dist/src/coin/polygon/index.d.ts.map +0 -1
  380. package/dist/src/coin/polygon/index.js +0 -35
  381. package/dist/src/coin/polygon/resources.d.ts +0 -10
  382. package/dist/src/coin/polygon/resources.d.ts.map +0 -1
  383. package/dist/src/coin/polygon/resources.js +0 -25
  384. package/dist/src/coin/polygon/transactionBuilder.d.ts +0 -17
  385. package/dist/src/coin/polygon/transactionBuilder.d.ts.map +0 -1
  386. package/dist/src/coin/polygon/transactionBuilder.js +0 -44
  387. package/dist/src/coin/polygon/transferBuilder.d.ts +0 -19
  388. package/dist/src/coin/polygon/transferBuilder.d.ts.map +0 -1
  389. package/dist/src/coin/polygon/transferBuilder.js +0 -27
  390. package/dist/src/coin/polygon/utils.d.ts +0 -18
  391. package/dist/src/coin/polygon/utils.d.ts.map +0 -1
  392. package/dist/src/coin/polygon/utils.js +0 -42
  393. package/dist/src/coin/polygon/walletUtil.d.ts +0 -48
  394. package/dist/src/coin/polygon/walletUtil.d.ts.map +0 -1
  395. package/dist/src/coin/polygon/walletUtil.js +0 -632
  396. package/dist/src/coin/rbtc/index.d.ts +0 -8
  397. package/dist/src/coin/rbtc/index.d.ts.map +0 -1
  398. package/dist/src/coin/rbtc/index.js +0 -35
  399. package/dist/src/coin/rbtc/resources.d.ts +0 -10
  400. package/dist/src/coin/rbtc/resources.d.ts.map +0 -1
  401. package/dist/src/coin/rbtc/resources.js +0 -25
  402. package/dist/src/coin/rbtc/transactionBuilder.d.ts +0 -17
  403. package/dist/src/coin/rbtc/transactionBuilder.d.ts.map +0 -1
  404. package/dist/src/coin/rbtc/transactionBuilder.js +0 -44
  405. package/dist/src/coin/rbtc/transferBuilder.d.ts +0 -19
  406. package/dist/src/coin/rbtc/transferBuilder.d.ts.map +0 -1
  407. package/dist/src/coin/rbtc/transferBuilder.js +0 -27
  408. package/dist/src/coin/rbtc/utils.d.ts +0 -18
  409. package/dist/src/coin/rbtc/utils.d.ts.map +0 -1
  410. package/dist/src/coin/rbtc/utils.js +0 -42
  411. package/dist/src/coin/sol/ataInitializationBuilder.d.ts +0 -41
  412. package/dist/src/coin/sol/ataInitializationBuilder.d.ts.map +0 -1
  413. package/dist/src/coin/sol/ataInitializationBuilder.js +0 -110
  414. package/dist/src/coin/sol/ataInitializationTransaction.d.ts +0 -14
  415. package/dist/src/coin/sol/ataInitializationTransaction.d.ts.map +0 -1
  416. package/dist/src/coin/sol/ataInitializationTransaction.js +0 -81
  417. package/dist/src/coin/sol/constants.d.ts +0 -58
  418. package/dist/src/coin/sol/constants.d.ts.map +0 -1
  419. package/dist/src/coin/sol/constants.js +0 -76
  420. package/dist/src/coin/sol/iface.d.ts +0 -99
  421. package/dist/src/coin/sol/iface.d.ts.map +0 -1
  422. package/dist/src/coin/sol/iface.js +0 -3
  423. package/dist/src/coin/sol/index.d.ts +0 -11
  424. package/dist/src/coin/sol/index.d.ts.map +0 -1
  425. package/dist/src/coin/sol/index.js +0 -41
  426. package/dist/src/coin/sol/instructionParamsFactory.d.ts +0 -12
  427. package/dist/src/coin/sol/instructionParamsFactory.d.ts.map +0 -1
  428. package/dist/src/coin/sol/instructionParamsFactory.js +0 -260
  429. package/dist/src/coin/sol/keyPair.d.ts +0 -26
  430. package/dist/src/coin/sol/keyPair.d.ts.map +0 -1
  431. package/dist/src/coin/sol/keyPair.js +0 -63
  432. package/dist/src/coin/sol/solInstructionFactory.d.ts +0 -10
  433. package/dist/src/coin/sol/solInstructionFactory.d.ts.map +0 -1
  434. package/dist/src/coin/sol/solInstructionFactory.js +0 -213
  435. package/dist/src/coin/sol/stakingActivateBuilder.d.ts +0 -41
  436. package/dist/src/coin/sol/stakingActivateBuilder.d.ts.map +0 -1
  437. package/dist/src/coin/sol/stakingActivateBuilder.js +0 -94
  438. package/dist/src/coin/sol/stakingDeactivateBuilder.d.ts +0 -23
  439. package/dist/src/coin/sol/stakingDeactivateBuilder.d.ts.map +0 -1
  440. package/dist/src/coin/sol/stakingDeactivateBuilder.js +0 -62
  441. package/dist/src/coin/sol/stakingWithdrawBuilder.d.ts +0 -31
  442. package/dist/src/coin/sol/stakingWithdrawBuilder.d.ts.map +0 -1
  443. package/dist/src/coin/sol/stakingWithdrawBuilder.js +0 -78
  444. package/dist/src/coin/sol/tokenEncodeDecode.d.ts +0 -85
  445. package/dist/src/coin/sol/tokenEncodeDecode.d.ts.map +0 -1
  446. package/dist/src/coin/sol/tokenEncodeDecode.js +0 -133
  447. package/dist/src/coin/sol/tokenTransferBuilder.d.ts +0 -27
  448. package/dist/src/coin/sol/tokenTransferBuilder.d.ts.map +0 -1
  449. package/dist/src/coin/sol/tokenTransferBuilder.js +0 -73
  450. package/dist/src/coin/sol/transaction.d.ts +0 -61
  451. package/dist/src/coin/sol/transaction.d.ts.map +0 -1
  452. package/dist/src/coin/sol/transaction.js +0 -369
  453. package/dist/src/coin/sol/transactionBuilder.d.ts +0 -101
  454. package/dist/src/coin/sol/transactionBuilder.d.ts.map +0 -1
  455. package/dist/src/coin/sol/transactionBuilder.js +0 -261
  456. package/dist/src/coin/sol/transactionBuilderFactory.d.ts +0 -76
  457. package/dist/src/coin/sol/transactionBuilderFactory.d.ts.map +0 -1
  458. package/dist/src/coin/sol/transactionBuilderFactory.js +0 -136
  459. package/dist/src/coin/sol/transferBuilder.d.ts +0 -26
  460. package/dist/src/coin/sol/transferBuilder.d.ts.map +0 -1
  461. package/dist/src/coin/sol/transferBuilder.js +0 -67
  462. package/dist/src/coin/sol/utils.d.ts +0 -146
  463. package/dist/src/coin/sol/utils.d.ts.map +0 -1
  464. package/dist/src/coin/sol/utils.js +0 -361
  465. package/dist/src/coin/sol/walletInitializationBuilder.d.ts +0 -26
  466. package/dist/src/coin/sol/walletInitializationBuilder.d.ts.map +0 -1
  467. package/dist/src/coin/sol/walletInitializationBuilder.js +0 -71
  468. package/dist/src/coin/stx/abstractContractBuilder.d.ts +0 -19
  469. package/dist/src/coin/stx/abstractContractBuilder.d.ts.map +0 -1
  470. package/dist/src/coin/stx/abstractContractBuilder.js +0 -70
  471. package/dist/src/coin/stx/constants.d.ts +0 -8
  472. package/dist/src/coin/stx/constants.d.ts.map +0 -1
  473. package/dist/src/coin/stx/constants.js +0 -19
  474. package/dist/src/coin/stx/contractBuilder.d.ts +0 -33
  475. package/dist/src/coin/stx/contractBuilder.d.ts.map +0 -1
  476. package/dist/src/coin/stx/contractBuilder.js +0 -116
  477. package/dist/src/coin/stx/iface.d.ts +0 -48
  478. package/dist/src/coin/stx/iface.d.ts.map +0 -1
  479. package/dist/src/coin/stx/iface.js +0 -3
  480. package/dist/src/coin/stx/index.d.ts +0 -6
  481. package/dist/src/coin/stx/index.d.ts.map +0 -1
  482. package/dist/src/coin/stx/index.js +0 -32
  483. package/dist/src/coin/stx/keyPair.d.ts +0 -55
  484. package/dist/src/coin/stx/keyPair.d.ts.map +0 -1
  485. package/dist/src/coin/stx/keyPair.js +0 -140
  486. package/dist/src/coin/stx/sendmanyBuilder.d.ts +0 -23
  487. package/dist/src/coin/stx/sendmanyBuilder.d.ts.map +0 -1
  488. package/dist/src/coin/stx/sendmanyBuilder.js +0 -75
  489. package/dist/src/coin/stx/transaction.d.ts +0 -49
  490. package/dist/src/coin/stx/transaction.d.ts.map +0 -1
  491. package/dist/src/coin/stx/transaction.js +0 -225
  492. package/dist/src/coin/stx/transactionBuilder.d.ts +0 -86
  493. package/dist/src/coin/stx/transactionBuilder.d.ts.map +0 -1
  494. package/dist/src/coin/stx/transactionBuilder.js +0 -263
  495. package/dist/src/coin/stx/transactionBuilderFactory.d.ts +0 -30
  496. package/dist/src/coin/stx/transactionBuilderFactory.d.ts.map +0 -1
  497. package/dist/src/coin/stx/transactionBuilderFactory.js +0 -81
  498. package/dist/src/coin/stx/transferBuilder.d.ts +0 -30
  499. package/dist/src/coin/stx/transferBuilder.d.ts.map +0 -1
  500. package/dist/src/coin/stx/transferBuilder.js +0 -99
  501. package/dist/src/coin/stx/utils.d.ts +0 -207
  502. package/dist/src/coin/stx/utils.d.ts.map +0 -1
  503. package/dist/src/coin/stx/utils.js +0 -503
  504. package/dist/src/coin/trx/address.d.ts +0 -11
  505. package/dist/src/coin/trx/address.d.ts.map +0 -1
  506. package/dist/src/coin/trx/address.js +0 -13
  507. package/dist/src/coin/trx/contractCallBuilder.d.ts +0 -96
  508. package/dist/src/coin/trx/contractCallBuilder.d.ts.map +0 -1
  509. package/dist/src/coin/trx/contractCallBuilder.js +0 -281
  510. package/dist/src/coin/trx/enum.d.ts +0 -23
  511. package/dist/src/coin/trx/enum.d.ts.map +0 -1
  512. package/dist/src/coin/trx/enum.js +0 -28
  513. package/dist/src/coin/trx/iface.d.ts +0 -92
  514. package/dist/src/coin/trx/iface.d.ts.map +0 -1
  515. package/dist/src/coin/trx/iface.js +0 -3
  516. package/dist/src/coin/trx/index.d.ts +0 -10
  517. package/dist/src/coin/trx/index.d.ts.map +0 -1
  518. package/dist/src/coin/trx/index.js +0 -39
  519. package/dist/src/coin/trx/keyPair.d.ts +0 -44
  520. package/dist/src/coin/trx/keyPair.d.ts.map +0 -1
  521. package/dist/src/coin/trx/keyPair.js +0 -121
  522. package/dist/src/coin/trx/transaction.d.ts +0 -74
  523. package/dist/src/coin/trx/transaction.d.ts.map +0 -1
  524. package/dist/src/coin/trx/transaction.js +0 -205
  525. package/dist/src/coin/trx/transactionBuilder.d.ts +0 -65
  526. package/dist/src/coin/trx/transactionBuilder.d.ts.map +0 -1
  527. package/dist/src/coin/trx/transactionBuilder.js +0 -215
  528. package/dist/src/coin/trx/utils.d.ts +0 -127
  529. package/dist/src/coin/trx/utils.d.ts.map +0 -1
  530. package/dist/src/coin/trx/utils.js +0 -369
  531. package/dist/src/coin/trx/wrappedBuilder.d.ts +0 -52
  532. package/dist/src/coin/trx/wrappedBuilder.d.ts.map +0 -1
  533. package/dist/src/coin/trx/wrappedBuilder.js +0 -104
  534. package/dist/src/coin/xrp/index.d.ts +0 -5
  535. package/dist/src/coin/xrp/index.d.ts.map +0 -1
  536. package/dist/src/coin/xrp/index.js +0 -29
  537. package/dist/src/coin/xrp/keyPair.d.ts +0 -10
  538. package/dist/src/coin/xrp/keyPair.d.ts.map +0 -1
  539. package/dist/src/coin/xrp/keyPair.js +0 -16
  540. package/dist/src/coin/xrp/transaction.d.ts +0 -10
  541. package/dist/src/coin/xrp/transaction.d.ts.map +0 -1
  542. package/dist/src/coin/xrp/transaction.js +0 -20
  543. package/dist/src/coin/xrp/transactionBuilder.d.ts +0 -27
  544. package/dist/src/coin/xrp/transactionBuilder.d.ts.map +0 -1
  545. package/dist/src/coin/xrp/transactionBuilder.js +0 -46
  546. package/dist/src/coin/xrp/transactionBuilderFactory.d.ts +0 -24
  547. package/dist/src/coin/xrp/transactionBuilderFactory.d.ts.map +0 -1
  548. package/dist/src/coin/xrp/transactionBuilderFactory.js +0 -38
  549. package/dist/src/coin/xrp/transferBuilder.d.ts +0 -14
  550. package/dist/src/coin/xrp/transferBuilder.d.ts.map +0 -1
  551. package/dist/src/coin/xrp/transferBuilder.js +0 -24
  552. package/dist/src/coin/xrp/utils.d.ts +0 -16
  553. package/dist/src/coin/xrp/utils.d.ts.map +0 -1
  554. package/dist/src/coin/xrp/utils.js +0 -32
  555. package/dist/src/coin/xrp/walletInitializationBuilder.d.ts +0 -14
  556. package/dist/src/coin/xrp/walletInitializationBuilder.d.ts.map +0 -1
  557. package/dist/src/coin/xrp/walletInitializationBuilder.js +0 -24
  558. package/dist/src/coin/xtz/address.d.ts +0 -8
  559. package/dist/src/coin/xtz/address.d.ts.map +0 -1
  560. package/dist/src/coin/xtz/address.js +0 -10
  561. package/dist/src/coin/xtz/iface.d.ts +0 -81
  562. package/dist/src/coin/xtz/iface.d.ts.map +0 -1
  563. package/dist/src/coin/xtz/iface.js +0 -3
  564. package/dist/src/coin/xtz/index.d.ts +0 -8
  565. package/dist/src/coin/xtz/index.d.ts.map +0 -1
  566. package/dist/src/coin/xtz/index.js +0 -37
  567. package/dist/src/coin/xtz/keyPair.d.ts +0 -40
  568. package/dist/src/coin/xtz/keyPair.d.ts.map +0 -1
  569. package/dist/src/coin/xtz/keyPair.js +0 -136
  570. package/dist/src/coin/xtz/multisigUtils.d.ts +0 -134
  571. package/dist/src/coin/xtz/multisigUtils.d.ts.map +0 -1
  572. package/dist/src/coin/xtz/multisigUtils.js +0 -1180
  573. package/dist/src/coin/xtz/transaction.d.ts +0 -119
  574. package/dist/src/coin/xtz/transaction.d.ts.map +0 -1
  575. package/dist/src/coin/xtz/transaction.js +0 -315
  576. package/dist/src/coin/xtz/transactionBuilder.d.ts +0 -171
  577. package/dist/src/coin/xtz/transactionBuilder.d.ts.map +0 -1
  578. package/dist/src/coin/xtz/transactionBuilder.js +0 -453
  579. package/dist/src/coin/xtz/transferBuilder.d.ts +0 -24
  580. package/dist/src/coin/xtz/transferBuilder.d.ts.map +0 -1
  581. package/dist/src/coin/xtz/transferBuilder.js +0 -64
  582. package/dist/src/coin/xtz/utils.d.ts +0 -265
  583. package/dist/src/coin/xtz/utils.d.ts.map +0 -1
  584. package/dist/src/coin/xtz/utils.js +0 -460
  585. package/dist/src/mpc/curves/baseCurve.d.ts +0 -18
  586. package/dist/src/mpc/curves/baseCurve.d.ts.map +0 -1
  587. package/dist/src/mpc/curves/baseCurve.js +0 -6
  588. package/dist/src/mpc/curves/ed25519.d.ts +0 -17
  589. package/dist/src/mpc/curves/ed25519.d.ts.map +0 -1
  590. package/dist/src/mpc/curves/ed25519.js +0 -48
  591. package/dist/src/mpc/curves/index.d.ts +0 -5
  592. package/dist/src/mpc/curves/index.d.ts.map +0 -1
  593. package/dist/src/mpc/curves/index.js +0 -6
  594. package/dist/src/mpc/curves/secp256k1.d.ts +0 -16
  595. package/dist/src/mpc/curves/secp256k1.d.ts.map +0 -1
  596. package/dist/src/mpc/curves/secp256k1.js +0 -66
  597. package/dist/src/mpc/curves.d.ts +0 -29
  598. package/dist/src/mpc/curves.d.ts.map +0 -1
  599. package/dist/src/mpc/curves.js +0 -96
  600. package/dist/src/mpc/hdTree.d.ts +0 -24
  601. package/dist/src/mpc/hdTree.d.ts.map +0 -1
  602. package/dist/src/mpc/hdTree.js +0 -143
  603. package/dist/src/mpc/shamir.d.ts +0 -26
  604. package/dist/src/mpc/shamir.d.ts.map +0 -1
  605. package/dist/src/mpc/shamir.js +0 -87
  606. package/dist/src/mpc/tss/eddsa/eddsa.d.ts +0 -29
  607. package/dist/src/mpc/tss/eddsa/eddsa.d.ts.map +0 -1
  608. package/dist/src/mpc/tss/eddsa/eddsa.js +0 -273
  609. package/dist/src/mpc/tss/eddsa/index.d.ts +0 -4
  610. package/dist/src/mpc/tss/eddsa/index.d.ts.map +0 -1
  611. package/dist/src/mpc/tss/eddsa/index.js +0 -30
  612. package/dist/src/mpc/tss/eddsa/types.d.ts +0 -70
  613. package/dist/src/mpc/tss/eddsa/types.d.ts.map +0 -1
  614. package/dist/src/mpc/tss/eddsa/types.js +0 -3
  615. package/dist/src/mpc/tss/index.d.ts +0 -5
  616. package/dist/src/mpc/tss/index.d.ts.map +0 -1
  617. package/dist/src/mpc/tss/index.js +0 -32
  618. package/dist/src/mpc/tss.d.ts +0 -98
  619. package/dist/src/mpc/tss.d.ts.map +0 -1
  620. package/dist/src/mpc/tss.js +0 -344
  621. package/dist/src/mpc/util.d.ts +0 -7
  622. package/dist/src/mpc/util.d.ts.map +0 -1
  623. package/dist/src/mpc/util.js +0 -38
  624. package/dist/src/utils/crypto.d.ts +0 -99
  625. package/dist/src/utils/crypto.d.ts.map +0 -1
  626. package/dist/src/utils/crypto.js +0 -260
  627. package/dist/src/utils/ed25519KeyDeriver.d.ts +0 -49
  628. package/dist/src/utils/ed25519KeyDeriver.d.ts.map +0 -1
  629. package/dist/src/utils/ed25519KeyDeriver.js +0 -92
@@ -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' ? 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 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29pbi9zb2wvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsNkNBVXlCO0FBQ3pCLGdEQUF3QjtBQUN4QixnRUFBcUM7QUFDckMsMkNBU3FCO0FBQ3JCLDhDQU95QjtBQUV6QiwwREFBNkI7QUFDN0IsaURBQXlGO0FBQ3pGLDRDQUE0RjtBQUM1RixvREFBNEI7QUFFNUIsTUFBTSx5QkFBeUIsR0FBRyxFQUFFLENBQUMsQ0FBQyxxRkFBcUY7QUFDM0gsTUFBTSx3QkFBd0IsR0FBRyxFQUFFLENBQUMsQ0FBQyxnREFBZ0Q7QUFDckYsTUFBTSx1QkFBdUIsR0FBRyxzQkFBc0IsQ0FBQztBQUV2RCxrQkFBa0I7QUFDbEIsU0FBZ0IsY0FBYyxDQUFDLE9BQWU7SUFDNUMsT0FBTyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUNuQyxDQUFDO0FBRkQsd0NBRUM7QUFFRCxrQkFBa0I7QUFDbEIsU0FBZ0IsY0FBYyxDQUFDLElBQVk7SUFDekMsSUFBSTtRQUNGLE9BQU8sQ0FDTCxDQUFDLENBQUMsSUFBSSxJQUFJLElBQUksTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLGNBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxLQUFLLHlCQUF5QixDQUNuSCxDQUFDO0tBQ0g7SUFBQyxPQUFPLENBQUMsRUFBRTtRQUNWLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7QUFDSCxDQUFDO0FBUkQsd0NBUUM7QUFFRCxrQkFBa0I7QUFDbEIsU0FBZ0IsaUJBQWlCLENBQUMsTUFBMkI7SUFDM0QsSUFBSTtRQUNGLE1BQU0sR0FBRyxHQUFlLE9BQU8sTUFBTSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUN6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QzNCLElBQUksbUJBQVMsQ0FBQyxZQUFZLENBQUMsQ0FDNUIsQ0FBQztJQUNGLE9BQU8sVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO0FBQy9CLENBQUM7QUFSRCw0RUFRQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEtleXBhaXIsXG4gIFB1YmxpY0tleSxcbiAgU2lnbmF0dXJlUHVia2V5UGFpcixcbiAgU3Rha2VJbnN0cnVjdGlvbixcbiAgU3Rha2VQcm9ncmFtLFxuICBTeXN0ZW1JbnN0cnVjdGlvbixcbiAgU3lzdGVtUHJvZ3JhbSxcbiAgVHJhbnNhY3Rpb24gYXMgU29sVHJhbnNhY3Rpb24sXG4gIFRyYW5zYWN0aW9uSW5zdHJ1Y3Rpb24sXG59IGZyb20gJ0Bzb2xhbmEvd2ViMy5qcyc7XG5pbXBvcnQgYnM1OCBmcm9tICdiczU4JztcbmltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcbmltcG9ydCB7XG4gIGF0YUluaXRJbnN0cnVjdGlvbkluZGV4ZXMsXG4gIE1BWF9NRU1PX0xFTkdUSCxcbiAgTUVNT19QUk9HUkFNX1BLLFxuICBzdGFraW5nQWN0aXZhdGVJbnN0cnVjdGlvbnNJbmRleGVzLFxuICBzdGFraW5nRGVhY3RpdmF0ZUluc3RydWN0aW9uc0luZGV4ZXMsXG4gIHN0YWtpbmdXaXRoZHJhd0luc3RydWN0aW9uc0luZGV4ZXMsXG4gIFZBTElEX1NZU1RFTV9JTlNUUlVDVElPTl9UWVBFUyxcbiAgd2FsbGV0SW5pdEluc3RydWN0aW9uSW5kZXhlcyxcbn0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHtcbiAgQnVpbGRUcmFuc2FjdGlvbkVycm9yLFxuICBpc1ZhbGlkWHB1YixcbiAgTm90U3VwcG9ydGVkLFxuICBQYXJzZVRyYW5zYWN0aW9uRXJyb3IsXG4gIFRyYW5zYWN0aW9uVHlwZSxcbiAgVXRpbHNFcnJvcixcbn0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IFZhbGlkSW5zdHJ1Y3Rpb25UeXBlcyB9IGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0IG5hY2wgZnJvbSAndHdlZXRuYWNsJztcbmltcG9ydCB7IEFTU09DSUFURURfVE9LRU5fUFJPR1JBTV9JRCwgVG9rZW4sIFRPS0VOX1BST0dSQU1fSUQgfSBmcm9tICdAc29sYW5hL3NwbC10b2tlbic7XG5pbXBvcnQgeyBCYXNlQ29pbiwgQmFzZU5ldHdvcmssIENvaW5Ob3REZWZpbmVkRXJyb3IsIGNvaW5zLCBTb2xDb2luIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuXG5jb25zdCBERUNPREVEX0JMT0NLX0hBU0hfTEVOR1RIID0gMzI7IC8vIGh0dHBzOi8vZG9jcy5zb2xhbmEuY29tL2RldmVsb3BpbmcvcHJvZ3JhbW1pbmctbW9kZWwvdHJhbnNhY3Rpb25zI2Jsb2NraGFzaC1mb3JtYXRcbmNvbnN0IERFQ09ERURfU0lHTkFUVVJFX0xFTkdUSCA9IDY0OyAvLyBodHRwczovL2RvY3Muc29sYW5hLmNvbS90ZXJtaW5vbG9neSNzaWduYXR1cmVcbmNvbnN0IEJBU0VfNThfRU5DT05ESU5HX1JFR0VYID0gJ1sxLTlBLUhKLU5QLVphLWttLXpdJztcblxuLyoqIEBpbmhlcml0ZG9jICovXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZEFkZHJlc3MoYWRkcmVzczogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiBpc1ZhbGlkUHVibGljS2V5KGFkZHJlc3MpO1xufVxuXG4vKiogQGluaGVyaXRkb2MgKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkQmxvY2tJZChoYXNoOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gKFxuICAgICAgISFoYXNoICYmIG5ldyBSZWdFeHAoQkFTRV81OF9FTkNPTkRJTkdfUkVHRVgpLnRlc3QoaGFzaCkgJiYgYnM1OC5kZWNvZGUoaGFzaCkubGVuZ3RoID09PSBERUNPREVEX0JMT0NLX0hBU0hfTEVOR1RIXG4gICAgKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG4vKiogQGluaGVyaXRkb2MgKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkUHJpdmF0ZUtleShwcnZLZXk6IHN0cmluZyB8IFVpbnQ4QXJyYXkpOiBib29sZWFuIHtcbiAgdHJ5IHtcbiAgICBjb25zdCBrZXk6IFVpbnQ4QXJyYXkgPSB0eXBlb2YgcHJ2S2V5ID09PSAnc3RyaW5nJyA/IGJhc2U1OFRvVWludDhBcnJheShwcnZLZXkpIDogcHJ2S2V5O1xuICAgIHJldHVybiAhIUtleXBhaXIuZnJvbVNlY3JldEtleShrZXkpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbi8qKiBAaW5oZXJpdGRvYyAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRQdWJsaWNLZXkocHViS2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgdHJ5IHtcbiAgICBpZiAoaXNWYWxpZFhwdWIocHViS2V5KSkgcmV0dXJuIHRydWU7XG4gICAgbmV3IFB1YmxpY0tleShwdWJLZXkpO1xuICAgIHJldHVybiB0cnVlO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuLyoqIEBpbmhlcml0ZG9jICovXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZFNpZ25hdHVyZShzaWduYXR1cmU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICB0cnkge1xuICAgIHJldHVybiAhIXNpZ25hdHVyZSAmJiBiczU4LmRlY29kZShzaWduYXR1cmUpLmxlbmd0aCA9PT0gREVDT0RFRF9TSUdOQVRVUkVfTEVOR1RIO1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbi8qKiBAaW5oZXJpdGRvYyAqL1xuLy8gVHJhbnNhY3Rpb25JZCBhcmUgdGhlIGZpcnN0IHNpZ25hdHVyZSBvbiBhIFRyYW5zYWN0aW9uXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZFRyYW5zYWN0aW9uSWQodHhJZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiBpc1ZhbGlkU2lnbmF0dXJlKHR4SWQpO1xufVxuXG4vKipcbiAqIFJldHVybnMgd2hldGhlciBvciBub3QgdGhlIHN0cmluZyBpcyBhIHZhbGlkIGFtb3VudCBvZiBsYW1wb3J0cyBudW1iZXJcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gYW1vdW50IC0gdGhlIHN0cmluZyB0byB2YWxpZGF0ZVxuICogQHJldHVybnMge2Jvb2xlYW59IC0gdGhlIHZhbGlkYXRpb24gcmVzdWx0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkQW1vdW50KGFtb3VudDogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGNvbnN0IGJpZ051bWJlckFtb3VudCA9IG5ldyBCaWdOdW1iZXIoYW1vdW50KTtcbiAgcmV0dXJuIGJpZ051bWJlckFtb3VudC5pc0ludGVnZXIoKSAmJiBiaWdOdW1iZXJBbW91bnQuaXNHcmVhdGVyVGhhbk9yRXF1YWxUbygwKTtcbn1cblxuLyoqXG4gKiBDaGVjayBpZiB0aGUgc3RyaW5nIGlzIGEgdmFsaWQgYW1vdW50IG9mIGxhbXBvcnRzIG51bWJlciBvbiBzdGFraW5nXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGFtb3VudCAtIHRoZSBzdHJpbmcgdG8gdmFsaWRhdGVcbiAqIEByZXR1cm5zIHtib29sZWFufSAtIHRoZSB2YWxpZGF0aW9uIHJlc3VsdFxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZFN0YWtpbmdBbW91bnQoYW1vdW50OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgY29uc3QgYmlnTnVtYmVyQW1vdW50ID0gbmV3IEJpZ051bWJlcihhbW91bnQpO1xuICByZXR1cm4gYmlnTnVtYmVyQW1vdW50LmlzSW50ZWdlcigpICYmIGJpZ051bWJlckFtb3VudC5pc0dyZWF0ZXJUaGFuKDApO1xufVxuXG4vKipcbiAqIENoZWNrIGlmIHRoaXMgaXMgYSB2YWxpZCBtZW1vIG9yIG5vdC5cbiAqXG4gKiBAcGFyYW0gbWVtbyAtIHRoZSBtZW1vIHN0cmluZ1xuICogQHJldHVybnMge2Jvb2xlYW59IC0gdGhlIHZhbGlkYXRpb24gcmVzdWx0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkTWVtbyhtZW1vOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIEJ1ZmZlci5mcm9tKG1lbW8pLmxlbmd0aCA8PSBNQVhfTUVNT19MRU5HVEg7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIHJhdyB0cmFuc2FjdGlvbiBjYW4gYmUgZGVzZXJpYWxpemVkXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHJhd1RyYW5zYWN0aW9uIC0gdHJhbnNhY3Rpb24gaW4gYmFzZTY0IHN0cmluZyBmb3JtYXRcbiAqIEByZXR1cm5zIHtib29sZWFufSAtIHRoZSB2YWxpZGF0aW9uIHJlc3VsdFxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZFJhd1RyYW5zYWN0aW9uKHJhd1RyYW5zYWN0aW9uOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgdHJ5IHtcbiAgICBjb25zdCB0eCA9IFNvbFRyYW5zYWN0aW9uLmZyb20oQnVmZmVyLmZyb20ocmF3VHJhbnNhY3Rpb24sICdiYXNlNjQnKSk7XG4gICAgdHguc2VyaWFsaXplKHsgcmVxdWlyZUFsbFNpZ25hdHVyZXM6IGZhbHNlIH0pO1xuICAgIHJldHVybiB0cnVlO1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbi8qKlxuICogVmVyaWZpZXMgaWYgc2lnbmF0dXJlIGZvciBtZXNzYWdlIGlzIHZhbGlkLlxuICpcbiAqIEBwYXJhbSB7QnVmZmVyfSBzZXJpYWxpemVkVHggLSB0eCBhcyBhIGJhc2U2NCBzdHJpbmdcbiAqIEBwYXJhbSB7c3RyaW5nfSBzaWduYXR1cmUgLSBzaWduYXR1cmUgYXMgYSBzdHJpbmdcbiAqIEBwYXJhbSB7c3RyaW5nfSBwdWJsaWNLZXkgLSBwdWJsaWMga2V5IGFzIGJhc2UgNThcbiAqIEByZXR1cm5zIHtCb29sZWFufSB0cnVlIGlmIHNpZ25hdHVyZSBpcyB2YWxpZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZlcmlmeVNpZ25hdHVyZShzZXJpYWxpemVkVHg6IHN0cmluZywgc2lnbmF0dXJlOiBzdHJpbmcsIHB1YmxpY0tleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGlmICghaXNWYWxpZFJhd1RyYW5zYWN0aW9uKHNlcmlhbGl6ZWRUeCkpIHtcbiAgICB0aHJvdyBuZXcgVXRpbHNFcnJvcignSW52YWxpZCBzZXJpYWxpemVkVHgnKTtcbiAgfVxuICBpZiAoIWlzVmFsaWRQdWJsaWNLZXkocHVibGljS2V5KSkge1xuICAgIHRocm93IG5ldyBVdGlsc0Vycm9yKCdJbnZhbGlkIHB1YmxpY0tleScpO1xuICB9XG4gIGlmICghaXNWYWxpZFNpZ25hdHVyZShzaWduYXR1cmUpKSB7XG4gICAgdGhyb3cgbmV3IFV0aWxzRXJyb3IoJ0ludmFsaWQgc2lnbmF0dXJlJyk7XG4gIH1cbiAgY29uc3QgbXNnID0gU29sVHJhbnNhY3Rpb24uZnJvbShCdWZmZXIuZnJvbShzZXJpYWxpemVkVHgsICdiYXNlNjQnKSkuc2VyaWFsaXplTWVzc2FnZSgpO1xuICBjb25zdCBzaWcgPSBiYXNlNThUb1VpbnQ4QXJyYXkoc2lnbmF0dXJlKTtcbiAgY29uc3QgcHViID0gbmV3IFB1YmxpY0tleShwdWJsaWNLZXkpO1xuICByZXR1cm4gbmFjbC5zaWduLmRldGFjaGVkLnZlcmlmeShtc2csIHNpZywgcHViLnRvQnVmZmVyKCkpO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGEgYmFzZTU4IHN0cmluZyBpbnRvIGEgVWludDhBcnJheS5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gaW5wdXQgLSBhIHN0cmluZyBpbiBiYXNlNThcbiAqIEByZXR1cm5zIHtVaW50OEFycmF5fSAtIGFuIFVpbnQ4QXJyYXlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJhc2U1OFRvVWludDhBcnJheShpbnB1dDogc3RyaW5nKTogVWludDhBcnJheSB7XG4gIHJldHVybiBuZXcgVWludDhBcnJheShiczU4LmRlY29kZShpbnB1dCkpO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGEgVWludDhBcnJheSB0byBhIGJhc2U1OCBzdHJpbmcuXG4gKlxuICogQHBhcmFtIHtVaW50OEFycmF5fSBpbnB1dCAtIGFuIFVpbnQ4QXJyYXlcbiAqIEByZXR1cm5zIHtzdHJpbmd9IC0gYSBzdHJpbmcgaW4gYmFzZTU4XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBVaW50OEFycmF5VG9iYXNlNTgoaW5wdXQ6IFVpbnQ4QXJyYXkpOiBzdHJpbmcge1xuICByZXR1cm4gYnM1OC5lbmNvZGUoaW5wdXQpO1xufVxuXG4vKipcbiAqIENvdW50IHRoZSBhbW91bnQgb2Ygc2lnbmF0dXJlcyBhcmUgbm90IG51bGwuXG4gKlxuICogQHBhcmFtIHtTaWduYXR1cmVQdWJrZXlQYWlyW119IHNpZ25hdHVyZXMgLSBhbiBhcnJheSBvZiBTaWduYXR1cmVQdWJrZXlQYWlyXG4gKiBAcmV0dXJucyB7bnVtYmVyfSAtIHRoZSBhbW91bnQgb2YgdmFsaWQgc2lnbmF0dXJlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gY291bnROb3ROdWxsU2lnbmF0dXJlcyhzaWduYXR1cmVzOiBTaWduYXR1cmVQdWJrZXlQYWlyW10pOiBudW1iZXIge1xuICByZXR1cm4gc2lnbmF0dXJlcy5maWx0ZXIoKHNpZykgPT4gISFzaWcuc2lnbmF0dXJlKS5sZW5ndGg7XG59XG5cbi8qKlxuICogQ2hlY2sgaWYgYWxsIHNpZ25hdHVyZXMgYXJlIGNvbXBsZXRlZC5cbiAqXG4gKiBAcGFyYW0ge1NpZ25hdHVyZVB1YmtleVBhaXJbXX0gc2lnbmF0dXJlcyAtIHNpZ25hdHVyZXNcbiAqIEByZXR1cm5zIHtib29sZWFufVxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVxdWlyZXNBbGxTaWduYXR1cmVzKHNpZ25hdHVyZXM6IFNpZ25hdHVyZVB1YmtleVBhaXJbXSk6IGJvb2xlYW4ge1xuICByZXR1cm4gc2lnbmF0dXJlcy5sZW5ndGggPiAwICYmIGNvdW50Tm90TnVsbFNpZ25hdHVyZXMoc2lnbmF0dXJlcykgPT09IHNpZ25hdHVyZXMubGVuZ3RoO1xufVxuXG4vKipcbiAqIENoZWNrIHRoZSB0cmFuc2FjdGlvbiB0eXBlIG1hdGNoaW5nIGluc3RydWN0aW9ucyBieSBvcmRlci5cbiAqXG4gKiBAcGFyYW0ge1RyYW5zYWN0aW9uSW5zdHJ1Y3Rpb25bXX0gaW5zdHJ1Y3Rpb25zIC0gdGhlIGFycmF5IG9mIHN1cHBvcnRlZCBTb2xhbmEgaW5zdHJ1Y3Rpb25zIHRvIGJlIHBhcnNlZFxuICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBudW1iZXI+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"}