@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,344 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- var __spreadArray = (this && this.__spreadArray) || function (to, from) {
39
- for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
40
- to[j] = from[i];
41
- return to;
42
- };
43
- var __importDefault = (this && this.__importDefault) || function (mod) {
44
- return (mod && mod.__esModule) ? mod : { "default": mod };
45
- };
46
- Object.defineProperty(exports, "__esModule", { value: true });
47
- /**
48
- * Module provides functions for MPC using threshold signature scheme (TSS). It contains
49
- * functions for key generation and message signing with EdDSA.
50
- *
51
- *
52
- * ======================
53
- * EdDSA Key Generation
54
- * ======================
55
- * 1. Each signer generates their own key share, which involves a private u-share and a public y-share.
56
- * 2. Signers distribute their y-share to other signers.
57
- * 3. After exchanging y-shares the next phase is to combine key shares. Each signer combines their u-share
58
- * with the y-shares received from other signers in order to generate a p-share for themselves. We
59
- * also save j-shares for other signers.
60
- * 4. At this point the players do not distribute any shares and the first phase of the
61
- * signing protocol is complete.
62
- *
63
- * ======================
64
- * EdDSA Signing
65
- * ======================
66
- * 1. The parties from key generation decide they want to sign something. They begin the signing protocol
67
- * by generating shares of an ephemeral key.
68
- *
69
- * a) Each signer uses his p-share and the j-shares stored for other players to generate his signing share.
70
- * b) This results in each signer having a private x-share and public r-shares.
71
- *
72
- * 2. Signers distribute their r-shares to other signers.
73
- * 3. After exchanging r-shares, each signer signs their share of the ephemeral key using their private
74
- * x-share with the r-shares from other signers.
75
- * 4. This results in each signer having a public g-share which they send to the other signers.
76
- * 5. After the signers broadcast their g-shares, the final signature can be re-constructed independently.
77
- */
78
- var assert = require('assert');
79
- var crypto_1 = require("crypto");
80
- var curves_1 = require("./curves");
81
- var shamir_1 = __importDefault(require("./shamir"));
82
- var util_1 = require("./util");
83
- // 2^256
84
- var base = BigInt('0x010000000000000000000000000000000000000000000000000000000000000000');
85
- var Eddsa = /** @class */ (function () {
86
- function Eddsa(hdTree) {
87
- this.hdTree = hdTree;
88
- }
89
- Eddsa.initialize = function () {
90
- return __awaiter(this, void 0, void 0, function () {
91
- return __generator(this, function (_a) {
92
- switch (_a.label) {
93
- case 0:
94
- if (!!Eddsa.initialized) return [3 /*break*/, 2];
95
- return [4 /*yield*/, curves_1.Ed25519Curve.initialize()];
96
- case 1:
97
- _a.sent();
98
- Eddsa.initialized = true;
99
- _a.label = 2;
100
- case 2: return [2 /*return*/];
101
- }
102
- });
103
- });
104
- };
105
- Eddsa.prototype.keyShare = function (index, threshold, numShares, seed) {
106
- assert(index > 0 && index <= numShares);
107
- if (seed && seed.length != 64) {
108
- throw new Error('Seed must have length 64');
109
- }
110
- var seedchain = seed !== null && seed !== void 0 ? seed : crypto_1.randomBytes(64);
111
- var actualSeed = seedchain.slice(0, 32);
112
- var chaincode = seedchain.slice(32);
113
- var h = crypto_1.createHash('sha512').update(actualSeed).digest();
114
- var u = util_1.clamp(util_1.bigIntFromBufferLE(h.slice(0, 32)));
115
- var y = Eddsa.curve.basePointMult(u);
116
- var split_u = Eddsa.shamir.split(u, threshold, numShares);
117
- var P_i = {
118
- i: index,
119
- t: threshold,
120
- n: numShares,
121
- y: util_1.bigIntToBufferLE(y, 32).toString('hex'),
122
- seed: actualSeed.toString('hex'),
123
- chaincode: chaincode.toString('hex'),
124
- };
125
- var shares = {
126
- uShare: P_i,
127
- yShares: {},
128
- };
129
- for (var ind in split_u) {
130
- var i = parseInt(ind, 10);
131
- if (i === index) {
132
- continue;
133
- }
134
- shares.yShares[i] = {
135
- i: i,
136
- j: P_i.i,
137
- y: util_1.bigIntToBufferLE(y, 32).toString('hex'),
138
- u: util_1.bigIntToBufferLE(split_u[ind], 32).toString('hex'),
139
- chaincode: chaincode.toString('hex'),
140
- };
141
- }
142
- return shares;
143
- };
144
- Eddsa.prototype.keyCombine = function (uShare, yShares) {
145
- var h = crypto_1.createHash('sha512').update(Buffer.from(uShare.seed, 'hex')).digest();
146
- var u = util_1.clamp(util_1.bigIntFromBufferLE(h.slice(0, 32)));
147
- var yValues = __spreadArray([uShare], yShares).map(function (share) { return util_1.bigIntFromBufferLE(Buffer.from(share.y, 'hex')); });
148
- var y = yValues.reduce(function (partial, share) { return Eddsa.curve.pointAdd(partial, share); });
149
- var chaincodes = __spreadArray([uShare], yShares).map(function (_a) {
150
- var chaincode = _a.chaincode;
151
- return util_1.bigIntFromBufferBE(Buffer.from(chaincode, 'hex'));
152
- });
153
- var chaincode = chaincodes.reduce(function (acc, chaincode) { return (acc + chaincode) % base; });
154
- var P_i = {
155
- i: uShare.i,
156
- t: uShare.t,
157
- n: uShare.n,
158
- y: util_1.bigIntToBufferLE(y, 32).toString('hex'),
159
- u: util_1.bigIntToBufferLE(u, 32).toString('hex'),
160
- prefix: h.slice(32).toString('hex'),
161
- chaincode: util_1.bigIntToBufferBE(chaincode, 32).toString('hex'),
162
- };
163
- var players = {
164
- pShare: P_i,
165
- jShares: {},
166
- };
167
- for (var ind = 0; ind < yShares.length; ind++) {
168
- var P_j = yShares[ind];
169
- players.jShares[P_j.j] = {
170
- i: P_j.j,
171
- j: P_i.i,
172
- };
173
- }
174
- return players;
175
- };
176
- /**
177
- * Derives a child public key from common keychain
178
- *
179
- * @param commonKeychain - common keychain as a hex string
180
- * @param path - bip32 path
181
- * @return {string} public key as a hex string
182
- */
183
- Eddsa.prototype.deriveUnhardened = function (commonKeychain, path) {
184
- if (this.hdTree === undefined) {
185
- throw new Error("Can't derive key without HDTree implementation");
186
- }
187
- var keychain = Buffer.from(commonKeychain, 'hex');
188
- var derivedPublicKeychain = this.hdTree.publicDerive({
189
- pk: util_1.bigIntFromBufferLE(keychain.slice(0, 32)),
190
- chaincode: util_1.bigIntFromBufferBE(keychain.slice(32)),
191
- }, path);
192
- return util_1.bigIntToBufferLE(derivedPublicKeychain.pk, 32).toString('hex');
193
- };
194
- Eddsa.prototype.keyDerive = function (uShare, yShares, path) {
195
- if (this.hdTree === undefined) {
196
- throw new Error("Can't derive key without HDTree implementation");
197
- }
198
- var h = crypto_1.createHash('sha512').update(Buffer.from(uShare.seed, 'hex')).digest();
199
- var yValues = __spreadArray([uShare], yShares).map(function (share) { return util_1.bigIntFromBufferLE(Buffer.from(share.y, 'hex')); });
200
- var y = yValues.reduce(function (partial, share) { return Eddsa.curve.pointAdd(partial, share); });
201
- var u = util_1.clamp(util_1.bigIntFromBufferLE(h.slice(0, 32)));
202
- var prefix = util_1.bigIntFromBufferBE(h.slice(32));
203
- var contribChaincode = util_1.bigIntFromBufferBE(Buffer.from(uShare.chaincode, 'hex'));
204
- var chaincodes = __spreadArray([
205
- contribChaincode
206
- ], yShares.map(function (_a) {
207
- var chaincode = _a.chaincode;
208
- return util_1.bigIntFromBufferBE(Buffer.from(chaincode, 'hex'));
209
- }));
210
- var chaincode = chaincodes.reduce(function (acc, chaincode) { return (acc + chaincode) % base; });
211
- // Derive subkey.
212
- var subkey = this.hdTree.privateDerive({ pk: y, sk: u, prefix: prefix, chaincode: chaincode }, path);
213
- // Calculate new public key contribution.
214
- var contribY = Eddsa.curve.basePointMult(subkey.sk);
215
- // Calculate new chaincode contribution.
216
- var chaincodeDelta = (base + subkey.chaincode - chaincode) % base;
217
- contribChaincode = (contribChaincode + chaincodeDelta) % base;
218
- // Calculate new u values.
219
- var split_u = Eddsa.shamir.split(subkey.sk, uShare.t, uShare.n);
220
- var P_i = {
221
- i: uShare.i,
222
- t: uShare.t,
223
- n: uShare.n,
224
- y: util_1.bigIntToBufferLE(subkey.pk, 32).toString('hex'),
225
- u: util_1.bigIntToBufferLE(subkey.sk, 32).toString('hex'),
226
- prefix: util_1.bigIntToBufferBE(subkey.prefix, 32).toString('hex'),
227
- chaincode: util_1.bigIntToBufferBE(subkey.chaincode, 32).toString('hex'),
228
- };
229
- var shares = {
230
- pShare: P_i,
231
- yShares: {},
232
- };
233
- for (var ind = 0; ind < yShares.length; ind++) {
234
- var P_j = yShares[ind];
235
- shares.yShares[P_j.j] = {
236
- i: P_j.j,
237
- j: P_i.i,
238
- y: util_1.bigIntToBufferLE(contribY, 32).toString('hex'),
239
- u: util_1.bigIntToBufferLE(split_u[P_j.j], 32).toString('hex'),
240
- chaincode: util_1.bigIntToBufferBE(contribChaincode, 32).toString('hex'),
241
- };
242
- }
243
- return shares;
244
- };
245
- Eddsa.prototype.signShare = function (message, pShare, jShares) {
246
- var indices = __spreadArray([pShare], jShares).map(function (_a) {
247
- var i = _a.i;
248
- return i;
249
- });
250
- var split_u = Eddsa.shamir.split(util_1.bigIntFromBufferLE(Buffer.from(pShare.u, 'hex')), pShare.t, pShare.n);
251
- // Generate nonce contribution.
252
- var prefix = Buffer.from(pShare.prefix, 'hex');
253
- var randomBuffer = crypto_1.randomBytes(32);
254
- var digest = crypto_1.createHash('sha512')
255
- .update(Buffer.concat([prefix, message, randomBuffer]))
256
- .digest();
257
- var r = Eddsa.curve.scalarReduce(util_1.bigIntFromBufferLE(digest));
258
- var R = Eddsa.curve.basePointMult(r);
259
- var split_r = Eddsa.shamir.split(r, indices.length, indices.length, indices);
260
- var P_i = {
261
- i: pShare.i,
262
- y: pShare.y,
263
- u: util_1.bigIntToBufferLE(split_u[pShare.i], 32).toString('hex'),
264
- r: util_1.bigIntToBufferLE(split_r[pShare.i], 32).toString('hex'),
265
- R: util_1.bigIntToBufferLE(R, 32).toString('hex'),
266
- };
267
- var resultShares = {
268
- xShare: P_i,
269
- rShares: {},
270
- };
271
- for (var ind = 0; ind < jShares.length; ind++) {
272
- var S_j = jShares[ind];
273
- resultShares.rShares[S_j.i] = {
274
- i: S_j.i,
275
- j: pShare.i,
276
- u: util_1.bigIntToBufferLE(split_u[S_j.i], 32).toString('hex'),
277
- r: util_1.bigIntToBufferLE(split_r[S_j.i], 32).toString('hex'),
278
- R: util_1.bigIntToBufferLE(R, 32).toString('hex'),
279
- };
280
- }
281
- return resultShares;
282
- };
283
- Eddsa.prototype.sign = function (message, playerShare, rShares, yShares) {
284
- if (yShares === void 0) { yShares = []; }
285
- var S_i = playerShare;
286
- var uValues = __spreadArray(__spreadArray([playerShare], rShares), yShares).map(function (_a) {
287
- var u = _a.u;
288
- return util_1.bigIntFromBufferLE(Buffer.from(u, 'hex'));
289
- });
290
- var x = uValues.reduce(function (acc, u) { return Eddsa.curve.scalarAdd(acc, u); });
291
- var RValues = __spreadArray([playerShare], rShares).map(function (_a) {
292
- var R = _a.R;
293
- return util_1.bigIntFromBufferLE(Buffer.from(R, 'hex'));
294
- });
295
- var R = RValues.reduce(function (partial, share) { return Eddsa.curve.pointAdd(partial, share); });
296
- var rValues = __spreadArray([playerShare], rShares).map(function (_a) {
297
- var r = _a.r;
298
- return util_1.bigIntFromBufferLE(Buffer.from(r, 'hex'));
299
- });
300
- var r = rValues.reduce(function (partial, share) { return Eddsa.curve.scalarAdd(partial, share); });
301
- var combinedBuffer = Buffer.concat([util_1.bigIntToBufferLE(R, 32), Buffer.from(S_i.y, 'hex'), message]);
302
- var digest = crypto_1.createHash('sha512').update(combinedBuffer).digest();
303
- var k = Eddsa.curve.scalarReduce(util_1.bigIntFromBufferLE(digest));
304
- var gamma = Eddsa.curve.scalarAdd(r, Eddsa.curve.scalarMult(k, x));
305
- var result = {
306
- i: playerShare.i,
307
- y: playerShare.y,
308
- gamma: util_1.bigIntToBufferLE(gamma, 32).toString('hex'),
309
- R: util_1.bigIntToBufferLE(R, 32).toString('hex'),
310
- };
311
- return result;
312
- };
313
- Eddsa.prototype.signCombine = function (shares) {
314
- var y = shares[0].y;
315
- var R = shares[0].R;
316
- var resultShares = {};
317
- for (var ind in shares) {
318
- var S_i = shares[ind];
319
- resultShares[S_i.i] = util_1.bigIntFromBufferLE(Buffer.from(S_i.gamma, 'hex'));
320
- }
321
- var sigma = Eddsa.shamir.combine(resultShares);
322
- var result = {
323
- y: y,
324
- R: R,
325
- sigma: util_1.bigIntToBufferLE(sigma, 32).toString('hex'),
326
- };
327
- return result;
328
- };
329
- Eddsa.prototype.verify = function (message, signature) {
330
- var publicKey = util_1.bigIntFromBufferLE(Buffer.from(signature.y, 'hex'));
331
- var signedMessage = Buffer.concat([
332
- Buffer.from(signature.R, 'hex'),
333
- Buffer.from(signature.sigma, 'hex'),
334
- message,
335
- ]);
336
- return Eddsa.curve.verify(publicKey, signedMessage);
337
- };
338
- Eddsa.curve = new curves_1.Ed25519Curve();
339
- Eddsa.shamir = new shamir_1.default(Eddsa.curve);
340
- Eddsa.initialized = false;
341
- return Eddsa;
342
- }());
343
- exports.default = Eddsa;
344
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21wYy90c3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E4Qkc7QUFDSCxJQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDakMsaUNBQWlEO0FBQ2pELG1DQUF3QztBQUN4QyxvREFBOEI7QUFFOUIsK0JBQTJHO0FBRTNHLFFBQVE7QUFDUixJQUFNLElBQUksR0FBRyxNQUFNLENBQUMsc0VBQXNFLENBQUMsQ0FBQztBQW1GNUY7SUFjRSxlQUFZLE1BQWU7UUFDekIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQVhZLGdCQUFVLEdBQXZCOzs7Ozs2QkFDTSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQWxCLHdCQUFrQjt3QkFDcEIscUJBQU0scUJBQVksQ0FBQyxVQUFVLEVBQUUsRUFBQTs7d0JBQS9CLFNBQStCLENBQUM7d0JBQ2hDLEtBQUssQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDOzs7Ozs7S0FFNUI7SUFRRCx3QkFBUSxHQUFSLFVBQVMsS0FBYSxFQUFFLFNBQWlCLEVBQUUsU0FBaUIsRUFBRSxJQUFhO1FBQ3pFLE1BQU0sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxJQUFJLEtBQUssSUFBSSxTQUFTLENBQUMsQ0FBQztRQUN4QyxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLEVBQUUsRUFBRTtZQUM3QixNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUM7U0FDN0M7UUFFRCxJQUFNLFNBQVMsR0FBRyxJQUFJLGFBQUosSUFBSSxjQUFKLElBQUksR0FBSSxvQkFBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzFDLElBQU0sVUFBVSxHQUFHLFNB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QUkscUJBQVksRUFBRSxDQUFDO0lBQ3pDLFlBQU0sR0FBVyxJQUFJLGdCQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pDLGlCQUFXLEdBQUcsS0FBSyxDQUFDO0lBMlE3QixZQUFDO0NBQUEsQUE5UUQsSUE4UUM7a0JBOVFvQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBNb2R1bGUgcHJvdmlkZXMgZnVuY3Rpb25zIGZvciBNUEMgdXNpbmcgdGhyZXNob2xkIHNpZ25hdHVyZSBzY2hlbWUgKFRTUykuIEl0IGNvbnRhaW5zXG4gKiBmdW5jdGlvbnMgZm9yIGtleSBnZW5lcmF0aW9uIGFuZCBtZXNzYWdlIHNpZ25pbmcgd2l0aCBFZERTQS5cbiAqXG4gKlxuICogPT09PT09PT09PT09PT09PT09PT09PVxuICogRWREU0EgS2V5IEdlbmVyYXRpb25cbiAqID09PT09PT09PT09PT09PT09PT09PT1cbiAqIDEuIEVhY2ggc2lnbmVyIGdlbmVyYXRlcyB0aGVpciBvd24ga2V5IHNoYXJlLCB3aGljaCBpbnZvbHZlcyBhIHByaXZhdGUgdS1zaGFyZSBhbmQgYSBwdWJsaWMgeS1zaGFyZS5cbiAqIDIuIFNpZ25lcnMgZGlzdHJpYnV0ZSB0aGVpciB5LXNoYXJlIHRvIG90aGVyIHNpZ25lcnMuXG4gKiAzLiBBZnRlciBleGNoYW5naW5nIHktc2hhcmVzIHRoZSBuZXh0IHBoYXNlIGlzIHRvIGNvbWJpbmUga2V5IHNoYXJlcy4gRWFjaCBzaWduZXIgY29tYmluZXMgdGhlaXIgdS1zaGFyZVxuICogICAgd2l0aCB0aGUgeS1zaGFyZXMgcmVjZWl2ZWQgZnJvbSBvdGhlciBzaWduZXJzIGluIG9yZGVyIHRvIGdlbmVyYXRlIGEgcC1zaGFyZSBmb3IgdGhlbXNlbHZlcy4gV2VcbiAqICAgIGFsc28gc2F2ZSBqLXNoYXJlcyBmb3Igb3RoZXIgc2lnbmVycy5cbiAqIDQuIEF0IHRoaXMgcG9pbnQgdGhlIHBsYXllcnMgZG8gbm90IGRpc3RyaWJ1dGUgYW55IHNoYXJlcyBhbmQgdGhlIGZpcnN0IHBoYXNlIG9mIHRoZVxuICogICAgc2lnbmluZyBwcm90b2NvbCBpcyBjb21wbGV0ZS5cbiAqXG4gKiA9PT09PT09PT09PT09PT09PT09PT09XG4gKiBFZERTQSBTaWduaW5nXG4gKiA9PT09PT09PT09PT09PT09PT09PT09XG4gKiAxLiBUaGUgcGFydGllcyBmcm9tIGtleSBnZW5lcmF0aW9uIGRlY2lkZSB0aGV5IHdhbnQgdG8gc2lnbiBzb21ldGhpbmcuIFRoZXkgYmVnaW4gdGhlIHNpZ25pbmcgcHJvdG9jb2xcbiAqICAgIGJ5IGdlbmVyYXRpbmcgc2hhcmVzIG9mIGFuIGVwaGVtZXJhbCBrZXkuXG4gKlxuICogICAgYSkgRWFjaCBzaWduZXIgdXNlcyBoaXMgcC1zaGFyZSBhbmQgdGhlIGotc2hhcmVzIHN0b3JlZCBmb3Igb3RoZXIgcGxheWVycyB0byBnZW5lcmF0ZSBoaXMgc2lnbmluZyBzaGFyZS5cbiAqICAgIGIpIFRoaXMgcmVzdWx0cyBpbiBlYWNoIHNpZ25lciBoYXZpbmcgYSBwcml2YXRlIHgtc2hhcmUgYW5kIHB1YmxpYyByLXNoYXJlcy5cbiAqXG4gKiAyLiBTaWduZXJzIGRpc3RyaWJ1dGUgdGhlaXIgci1zaGFyZXMgdG8gb3RoZXIgc2lnbmVycy5cbiAqIDMuIEFmdGVyIGV4Y2hhbmdpbmcgci1zaGFyZXMsIGVhY2ggc2lnbmVyIHNpZ25zIHRoZWlyIHNoYXJlIG9mIHRoZSBlcGhlbWVyYWwga2V5IHVzaW5nIHRoZWlyIHByaXZhdGVcbiAqICAgIHgtc2hhcmUgd2l0aCB0aGUgci1zaGFyZXMgZnJvbSBvdGhlciBzaWduZXJzLlxuICogNC4gVGhpcyByZXN1bHRzIGluIGVhY2ggc2lnbmVyIGhhdmluZyBhIHB1YmxpYyBnLXNoYXJlIHdoaWNoIHRoZXkgc2VuZCB0byB0aGUgb3RoZXIgc2lnbmVycy5cbiAqIDUuIEFmdGVyIHRoZSBzaWduZXJzIGJyb2FkY2FzdCB0aGVpciBnLXNoYXJlcywgdGhlIGZpbmFsIHNpZ25hdHVyZSBjYW4gYmUgcmUtY29uc3RydWN0ZWQgaW5kZXBlbmRlbnRseS5cbiAqL1xuY29uc3QgYXNzZXJ0ID0gcmVxdWlyZSgnYXNzZXJ0Jyk7XG5pbXBvcnQgeyByYW5kb21CeXRlcywgY3JlYXRlSGFzaCB9IGZyb20gJ2NyeXB0byc7XG5pbXBvcnQgeyBFZDI1NTE5Q3VydmUgfSBmcm9tICcuL2N1cnZlcyc7XG5pbXBvcnQgU2hhbWlyIGZyb20gJy4vc2hhbWlyJztcbmltcG9ydCBIRFRyZWUgZnJvbSAnLi9oZFRyZWUnO1xuaW1wb3J0IHsgYmlnSW50RnJvbUJ1ZmZlckxFLCBiaWdJbnRUb0J1ZmZlckxFLCBiaWdJbnRGcm9tQnVmZmVyQkUsIGJpZ0ludFRvQnVmZmVyQkUsIGNsYW1wIH0gZnJvbSAnLi91dGlsJztcblxuLy8gMl4yNTZcbmNvbnN0IGJhc2UgPSBCaWdJbnQoJzB4MDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJyk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVVNoYXJlIHtcbiAgaTogbnVtYmVyO1xuICB0OiBudW1iZXI7XG4gIG46IG51bWJlcjtcbiAgeTogc3RyaW5nO1xuICBzZWVkOiBzdHJpbmc7XG4gIGNoYWluY29kZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFlTaGFyZSB7XG4gIGk6IG51bWJlcjtcbiAgajogbnVtYmVyO1xuICB5OiBzdHJpbmc7XG4gIHU6IHN0cmluZztcbiAgY2hhaW5jb2RlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgS2V5U2hhcmUge1xuICB1U2hhcmU6IFVTaGFyZTtcbiAgeVNoYXJlczogUmVjb3JkPG51bWJlciwgWVNoYXJlPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQU2hhcmUge1xuICBpOiBudW1iZXI7XG4gIHQ6IG51bWJlcjtcbiAgbjogbnVtYmVyO1xuICB5OiBzdHJpbmc7XG4gIHU6IHN0cmluZztcbiAgcHJlZml4OiBzdHJpbmc7XG4gIGNoYWluY29kZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEpTaGFyZSB7XG4gIGk6IG51bWJlcjtcbiAgajogbnVtYmVyO1xufVxuXG5pbnRlcmZhY2UgS2V5Q29tYmluZSB7XG4gIHBTaGFyZTogUFNoYXJlO1xuICBqU2hhcmVzOiBSZWNvcmQ8bnVtYmVyLCBKU2hhcmU+O1xufVxuXG5pbnRlcmZhY2UgU3Via2V5U2hhcmUge1xuICBwU2hhcmU6IFBTaGFyZTtcbiAgeVNoYXJlczogUmVjb3JkPG51bWJlciwgWVNoYXJlPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBYU2hhcmUge1xuICBpOiBudW1iZXI7XG4gIHk6IHN0cmluZztcbiAgdTogc3RyaW5nO1xuICByOiBzdHJpbmc7XG4gIFI6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSU2hhcmUge1xuICBpOiBudW1iZXI7XG4gIGo6IG51bWJlcjtcbiAgdTogc3RyaW5nO1xuICByOiBzdHJpbmc7XG4gIFI6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTaWduU2hhcmUge1xuICB4U2hhcmU6IFhTaGFyZTtcbiAgclNoYXJlczogUmVjb3JkPG51bWJlciwgUlNoYXJlPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHU2hhcmUge1xuICBpOiBudW1iZXI7XG4gIHk6IHN0cmluZztcbiAgZ2FtbWE6IHN0cmluZztcbiAgUjogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgU2lnbmF0dXJlIHtcbiAgeTogc3RyaW5nO1xuICBSOiBzdHJpbmc7XG4gIHNpZ21hOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEVkZHNhIHtcbiAgc3RhdGljIGN1cnZlOiBFZDI1NTE5Q3VydmUgPSBuZXcgRWQyNTUxOUN1cnZlKCk7XG4gIHN0YXRpYyBzaGFtaXI6IFNoYW1pciA9IG5ldyBTaGFtaXIoRWRkc2EuY3VydmUpO1xuICBzdGF0aWMgaW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICBzdGF0aWMgYXN5bmMgaW5pdGlhbGl6ZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIUVkZHNhLmluaXRpYWxpemVkKSB7XG4gICAgICBhd2FpdCBFZDI1NTE5Q3VydmUuaW5pdGlhbGl6ZSgpO1xuICAgICAgRWRkc2EuaW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIGhkVHJlZT86IEhEVHJlZTtcblxuICBjb25zdHJ1Y3RvcihoZFRyZWU/OiBIRFRyZWUpIHtcbiAgICB0aGlzLmhkVHJlZSA9IGhkVHJlZTtcbiAgfVxuXG4gIGtleVNoYXJlKGluZGV4OiBudW1iZXIsIHRocmVzaG9sZDogbnVtYmVyLCBudW1TaGFyZXM6IG51bWJlciwgc2VlZD86IEJ1ZmZlcik6IEtleVNoYXJlIHtcbiAgICBhc3NlcnQoaW5kZXggPiAwICYmIGluZGV4IDw9IG51bVNoYXJlcyk7XG4gICAgaWYgKHNlZWQgJiYgc2VlZC5sZW5ndGggIT0gNjQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignU2VlZCBtdXN0IGhhdmUgbGVuZ3RoIDY0Jyk7XG4gICAgfVxuXG4gICAgY29uc3Qgc2VlZGNoYWluID0gc2VlZCA/PyByYW5kb21CeXRlcyg2NCk7XG4gICAgY29uc3QgYWN0dWFsU2VlZCA9IHNlZWRjaGFpbi5zbGljZSgwLCAzMik7XG4gICAgY29uc3QgY2hhaW5jb2RlID0gc2VlZGNoYWluLnNsaWNlKDMyKTtcbiAgICBjb25zdCBoID0gY3JlYXRlSGFzaCgnc2hhNTEyJykudXBkYXRlKGFjdHVhbFNlZWQpLmRpZ2VzdCgpO1xuICAgIGNvbnN0IHUgPSBjbGFtcChiaWdJbnRGcm9tQnVmZmVyTEUoaC5zbGljZSgwLCAzMikpKTtcbiAgICBjb25zdCB5ID0gRWRkc2EuY3VydmUuYmFzZVBvaW50TXVsdCh1KTtcbiAgICBjb25zdCBzcGxpdF91ID0gRWRkc2Euc2hhbWlyLnNwbGl0KHUsIHRocmVzaG9sZCwgbnVtU2hhcmVzKTtcblxuICAgIGNvbnN0IFBfaTogVVNoYXJlID0ge1xuICAgICAgaTogaW5kZXgsXG4gICAgICB0OiB0aHJlc2hvbGQsXG4gICAgICBuOiBudW1TaGFyZXMsXG4gICAgICB5OiBiaWdJbnRUb0J1ZmZlckxFKHksIDMyKS50b1N0cmluZygnaGV4JyksXG4gICAgICBzZWVkOiBhY3R1YWxTZWVkLnRvU3RyaW5nKCdoZXgnKSxcbiAgICAgIGNoYWluY29kZTogY2hhaW5jb2RlLnRvU3RyaW5nKCdoZXgnKSxcbiAgICB9O1xuICAgIGNvbnN0IHNoYXJlczogS2V5U2hhcmUgPSB7XG4gICAgICB1U2hhcmU6IFBfaSxcbiAgICAgIHlTaGFyZXM6IHt9LFxuICAgIH07XG5cbiAgICBmb3IgKGNvbnN0IGluZCBpbiBzcGxpdF91KSB7XG4gICAgICBjb25zdCBpID0gcGFyc2VJbnQoaW5kLCAxMCk7XG4gICAgICBpZiAoaSA9PT0gaW5kZXgpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBzaGFyZXMueVNoYXJlc1tpXSA9IHtcbiAgICAgICAgaSxcbiAgICAgICAgajogUF9pLmksXG4gICAgICAgIHk6IGJpZ0ludFRvQnVmZmVyTEUoeSwgMzIpLnRvU3RyaW5nKCdoZXgnKSxcbiAgICAgICAgdTogYmlnSW50VG9CdWZmZXJMRShzcGxpdF91W2luZF0sIDMyKS50b1N0cmluZygnaGV4JyksXG4gICAgICAgIGNoYWluY29kZTogY2hhaW5jb2RlLnRvU3RyaW5nKCdoZXgnKSxcbiAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiBzaGFyZXM7XG4gIH1cblxuICBrZXlDb21iaW5lKHVTaGFyZTogVVNoYXJlLCB5U2hhcmVzOiBZU2hhcmVbXSk6IEtleUNvbWJpbmUge1xuICAgIGNvbnN0IGggPSBjcmVhdGVIYXNoKCdzaGE1MTInKS51cGRhdGUoQnVmZmVyLmZyb20odVNoYXJlLnNlZWQsICdoZXgnKSkuZGlnZXN0KCk7XG4gICAgY29uc3QgdSA9IGNsYW1wKGJpZ0ludEZyb21CdWZmZXJMRShoLnNsaWNlKDAsIDMyKSkpO1xuICAgIGNvbnN0IHlWYWx1ZXMgPSBbdVNoYXJlLCAuLi55U2hhcmVzXS5tYXAoKHNoYXJlKSA9PiBiaWdJbnRGcm9tQnVmZmVyTEUoQnVmZmVyLmZyb20oc2hhcmUueSwgJ2hleCcpKSk7XG4gICAgY29uc3QgeSA9IHlWYWx1ZXMucmVkdWNlKChwYXJ0aWFsLCBzaGFyZSkgPT4gRWRkc2EuY3VydmUucG9pbnRBZGQocGFydGlhbCwgc2hhcmUpKTtcbiAgICBjb25zdCBjaGFpbmNvZGVzID0gW3VTaGFyZSwgLi4ueVNoYXJlc10ubWFwKCh7IGNoYWluY29kZSB9KSA9PiBiaWdJbnRGcm9tQnVmZmVyQkUoQnVmZmVyLmZyb20oY2hhaW5jb2RlLCAnaGV4JykpKTtcbiAgICBjb25zdCBjaGFpbmNvZGUgPSBjaGFpbmNvZGVzLnJlZHVjZSgoYWNjLCBjaGFpbmNvZGUpID0+IChhY2MgKyBjaGFpbmNvZGUpICUgYmFzZSk7XG5cbiAgICBjb25zdCBQX2k6IFBTaGFyZSA9IHtcbiAgICAgIGk6IHVTaGFyZS5pLFxuICAgICAgdDogdVNoYXJlLnQsXG4gICAgICBuOiB1U2hhcmUubixcbiAgICAgIHk6IGJpZ0ludFRvQnVmZmVyTEUoeSwgMzIpLnRvU3RyaW5nKCdoZXgnKSxcbiAgICAgIHU6IGJpZ0ludFRvQnVmZmVyTEUodSwgMzIpLnRvU3RyaW5nKCdoZXgnKSxcbiAgICAgIHByZWZpeDogaC5zbGljZSgzMikudG9TdHJpbmcoJ2hleCcpLFxuICAgICAgY2hhaW5jb2RlOiBiaWdJbnRUb0J1ZmZlckJFKGNoYWluY29kZSwgMzIpLnRvU3RyaW5nKCdoZXgnKSxcbiAgICB9O1xuICAgIGNvbnN0IHBsYXllcnM6IEtleUNvbWJpbmUgPSB7XG4gICAgICBwU2hhcmU6IFBfaSxcbiAgICAgIGpTaGFyZXM6IHt9LFxuICAgIH07XG5cbiAgICBmb3IgKGxldCBpbmQgPSAwOyBpbmQgPCB5U2hhcmVzLmxlbmd0aDsgaW5kKyspIHtcbiAgICAgIGNvbnN0IFBfaiA9IHlTaGFyZXNbaW5kXTtcbiAgICAgIHBsYXllcnMualNoYXJlc1tQX2oual0gPSB7XG4gICAgICAgIGk6IFBfai5qLFxuICAgICAgICBqOiBQX2kuaSxcbiAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiBwbGF5ZXJzO1xuICB9XG5cbiAgLyoqXG4gICAqIERlcml2ZXMgYSBjaGlsZCBwdWJsaWMga2V5IGZyb20gY29tbW9uIGtleWNoYWluXG4gICAqXG4gICAqIEBwYXJhbSBjb21tb25LZXljaGFpbiAtIGNvbW1vbiBrZXljaGFpbiBhcyBhIGhleCBzdHJpbmdcbiAgICogQHBhcmFtIHBhdGggLSBiaXAzMiBwYXRoXG4gICAqIEByZXR1cm4ge3N0cmluZ30gcHVibGljIGtleSBhcyBhIGhleCBzdHJpbmdcbiAgICovXG4gIGRlcml2ZVVuaGFyZGVuZWQoY29tbW9uS2V5Y2hhaW46IHN0cmluZywgcGF0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5oZFRyZWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQ2FuJ3QgZGVyaXZlIGtleSB3aXRob3V0IEhEVHJlZSBpbXBsZW1lbnRhdGlvblwiKTtcbiAgICB9XG5cbiAgICBjb25zdCBrZXljaGFpbiA9IEJ1ZmZlci5mcm9tKGNvbW1vbktleWNoYWluLCAnaGV4Jyk7XG5cbiAgICBjb25zdCBkZXJpdmVkUHVibGljS2V5Y2hhaW4gPSB0aGlzLmhkVHJlZS5wdWJsaWNEZXJpdmUoXG4gICAgICB7XG4gICAgICAgIHBrOiBiaWdJbnRGcm9tQnVmZmVyTEUoa2V5Y2hhaW4uc2xpY2UoMCwgMzIpKSxcbiAgICAgICAgY2hhaW5jb2RlOiBiaWdJbnRGcm9tQnVmZmVyQkUoa2V5Y2hhaW4uc2xpY2UoMzIpKSxcbiAgICAgIH0sXG4gICAgICBwYXRoLFxuICAgICk7XG5cbiAgICByZXR1cm4gYmlnSW50VG9CdWZmZXJMRShkZXJpdmVkUHVibGljS2V5Y2hhaW4ucGssIDMyKS50b1N0cmluZygnaGV4Jyk7XG4gIH1cblxuICBrZXlEZXJpdmUodVNoYXJlOiBVU2hhcmUsIHlTaGFyZXM6IFlTaGFyZVtdLCBwYXRoOiBzdHJpbmcpOiBTdWJrZXlTaGFyZSB7XG4gICAgaWYgKHRoaXMuaGRUcmVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkNhbid0IGRlcml2ZSBrZXkgd2l0aG91dCBIRFRyZWUgaW1wbGVtZW50YXRpb25cIik7XG4gICAgfVxuICAgIGNvbnN0IGggPSBjcmVhdGVIYXNoKCdzaGE1MTInKS51cGRhdGUoQnVmZmVyLmZyb20odVNoYXJlLnNlZWQsICdoZXgnKSkuZGlnZXN0KCk7XG4gICAgY29uc3QgeVZhbHVlcyA9IFt1U2hhcmUsIC4uLnlTaGFyZXNdLm1hcCgoc2hhcmUpID0+IGJpZ0ludEZyb21CdWZmZXJMRShCdWZmZXIuZnJvbShzaGFyZS55LCAnaGV4JykpKTtcbiAgICBjb25zdCB5ID0geVZhbHVlcy5yZWR1Y2UoKHBhcnRpYWwsIHNoYXJlKSA9PiBFZGRzYS5jdXJ2ZS5wb2ludEFkZChwYXJ0aWFsLCBzaGFyZSkpO1xuICAgIGNvbnN0IHUgPSBjbGFtcChiaWdJbnRGcm9tQnVmZmVyTEUoaC5zbGljZSgwLCAzMikpKTtcbiAgICBjb25zdCBwcmVmaXggPSBiaWdJbnRGcm9tQnVmZmVyQkUoaC5zbGljZSgzMikpO1xuICAgIGxldCBjb250cmliQ2hhaW5jb2RlID0gYmlnSW50RnJvbUJ1ZmZlckJFKEJ1ZmZlci5mcm9tKHVTaGFyZS5jaGFpbmNvZGUsICdoZXgnKSk7XG4gICAgY29uc3QgY2hhaW5jb2RlcyA9IFtcbiAgICAgIGNvbnRyaWJDaGFpbmNvZGUsXG4gICAgICAuLi55U2hhcmVzLm1hcCgoeyBjaGFpbmNvZGUgfSkgPT4gYmlnSW50RnJvbUJ1ZmZlckJFKEJ1ZmZlci5mcm9tKGNoYWluY29kZSwgJ2hleCcpKSksXG4gICAgXTtcbiAgICBjb25zdCBjaGFpbmNvZGUgPSBjaGFpbmNvZGVzLnJlZHVjZSgoYWNjLCBjaGFpbmNvZGUpID0+IChhY2MgKyBjaGFpbmNvZGUpICUgYmFzZSk7XG5cbiAgICAvLyBEZXJpdmUgc3Via2V5LlxuICAgIGNvbnN0IHN1YmtleSA9IHRoaXMuaGRUcmVlLnByaXZhdGVEZXJpdmUoeyBwazogeSwgc2s6IHUsIHByZWZpeCwgY2hhaW5jb2RlIH0sIHBhdGgpO1xuXG4gICAgLy8gQ2FsY3VsYXRlIG5ldyBwdWJsaWMga2V5IGNvbnRyaWJ1dGlvbi5cbiAgICBjb25zdCBjb250cmliWSA9IEVkZHNhLmN1cnZlLmJhc2VQb2ludE11bHQoc3Via2V5LnNrKTtcblxuICAgIC8vIENhbGN1bGF0ZSBuZXcgY2hhaW5jb2RlIGNvbnRyaWJ1dGlvbi5cbiAgICBjb25zdCBjaGFpbmNvZGVEZWx0YSA9IChiYXNlICsgc3Via2V5LmNoYWluY29kZSAtIGNoYWluY29kZSkgJSBiYXNlO1xuICAgIGNvbnRyaWJDaGFpbmNvZGUgPSAoY29udHJpYkNoYWluY29kZSArIGNoYWluY29kZURlbHRhKSAlIGJhc2U7XG5cbiAgICAvLyBDYWxjdWxhdGUgbmV3IHUgdmFsdWVzLlxuICAgIGNvbnN0IHNwbGl0X3UgPSBFZGRzYS5zaGFtaXIuc3BsaXQoc3Via2V5LnNrLCB1U2hhcmUudCwgdVNoYXJlLm4pO1xuXG4gICAgY29uc3QgUF9pOiBQU2hhcmUgPSB7XG4gICAgICBpOiB1U2hhcmUuaSxcbiAgICAgIHQ6IHVTaGFyZS50LFxuICAgICAgbjogdVNoYXJlLm4sXG4gICAgICB5OiBiaWdJbnRUb0J1ZmZlckxFKHN1YmtleS5waywgMzIpLnRvU3RyaW5nKCdoZXgnKSxcbiAgICAgIHU6IGJpZ0ludFRvQnVmZmVyTEUoc3Via2V5LnNrLCAzMikudG9TdHJpbmcoJ2hleCcpLFxuICAgICAgcHJlZml4OiBiaWdJbnRUb0J1ZmZlckJFKHN1YmtleS5wcmVmaXgsIDMyKS50b1N0cmluZygnaGV4JyksXG4gICAgICBjaGFpbmNvZGU6IGJpZ0ludFRvQnVmZmVyQkUoc3Via2V5LmNoYWluY29kZSwgMzIpLnRvU3RyaW5nKCdoZXgnKSxcbiAgICB9O1xuXG4gICAgY29uc3Qgc2hhcmVzOiBTdWJrZXlTaGFyZSA9IHtcbiAgICAgIHBTaGFyZTogUF9pLFxuICAgICAgeVNoYXJlczoge30sXG4gICAgfTtcblxuICAgIGZvciAobGV0IGluZCA9IDA7IGluZCA8IHlTaGFyZXMubGVuZ3RoOyBpbmQrKykge1xuICAgICAgY29uc3QgUF9qID0geVNoYXJlc1tpbmRdO1xuICAgICAgc2hhcmVzLnlTaGFyZXNbUF9qLmpdID0ge1xuICAgICAgICBpOiBQX2ouaixcbiAgICAgICAgajogUF9pLmksXG4gICAgICAgIHk6IGJpZ0ludFRvQnVmZmVyTEUoY29udHJpYlksIDMyKS50b1N0cmluZygnaGV4JyksXG4gICAgICAgIHU6IGJpZ0ludFRvQnVmZmVyTEUoc3BsaXRfdVtQX2oual0sIDMyKS50b1N0cmluZygnaGV4JyksXG4gICAgICAgIGNoYWluY29kZTogYmlnSW50VG9CdWZmZXJCRShjb250cmliQ2hhaW5jb2RlLCAzMikudG9TdHJpbmcoJ2hleCcpLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gc2hhcmVzO1xuICB9XG5cbiAgc2lnblNoYXJlKG1lc3NhZ2U6IEJ1ZmZlciwgcFNoYXJlOiBQU2hhcmUsIGpTaGFyZXM6IEpTaGFyZVtdKTogU2lnblNoYXJlIHtcbiAgICBjb25zdCBpbmRpY2VzID0gW3BTaGFyZSwgLi4ualNoYXJlc10ubWFwKCh7IGkgfSkgPT4gaSk7XG4gICAgY29uc3Qgc3BsaXRfdSA9IEVkZHNhLnNoYW1pci5zcGxpdChiaWdJbnRGcm9tQnVmZmVyTEUoQnVmZmVyLmZyb20ocFNoYXJlLnUsICdoZXgnKSksIHBTaGFyZS50LCBwU2hhcmUubik7XG5cbiAgICAvLyBHZW5lcmF0ZSBub25jZSBjb250cmlidXRpb24uXG4gICAgY29uc3QgcHJlZml4ID0gQnVmZmVyLmZyb20ocFNoYXJlLnByZWZpeCwgJ2hleCcpO1xuICAgIGNvbnN0IHJhbmRvbUJ1ZmZlciA9IHJhbmRvbUJ5dGVzKDMyKTtcbiAgICBjb25zdCBkaWdlc3QgPSBjcmVhdGVIYXNoKCdzaGE1MTInKVxuICAgICAgLnVwZGF0ZShCdWZmZXIuY29uY2F0KFtwcmVmaXgsIG1lc3NhZ2UsIHJhbmRvbUJ1ZmZlcl0pKVxuICAgICAgLmRpZ2VzdCgpO1xuXG4gICAgY29uc3QgciA9IEVkZHNhLmN1cnZlLnNjYWxhclJlZHVjZShiaWdJbnRGcm9tQnVmZmVyTEUoZGlnZXN0KSk7XG4gICAgY29uc3QgUiA9IEVkZHNhLmN1cnZlLmJhc2VQb2ludE11bHQocik7XG4gICAgY29uc3Qgc3BsaXRfciA9IEVkZHNhLnNoYW1pci5zcGxpdChyLCBpbmRpY2VzLmxlbmd0aCwgaW5kaWNlcy5sZW5ndGgsIGluZGljZXMpO1xuXG4gICAgY29uc3QgUF9pOiBYU2hhcmUgPSB7XG4gICAgICBpOiBwU2hhcmUuaSxcbiAgICAgIHk6IHBTaGFyZS55LFxuICAgICAgdTogYmlnSW50VG9CdWZmZXJMRShzcGxpdF91W3BTaGFyZS5pXSwgMzIpLnRvU3RyaW5nKCdoZXgnKSxcbiAgICAgIHI6IGJpZ0ludFRvQnVmZmVyTEUoc3BsaXRfcltwU2hhcmUuaV0sIDMyKS50b1N0cmluZygnaGV4JyksXG4gICAgICBSOiBiaWdJbnRUb0J1ZmZlckxFKFIsIDMyKS50b1N0cmluZygnaGV4JyksXG4gICAgfTtcblxuICAgIGNvbnN0IHJlc3VsdFNoYXJlczogU2lnblNoYXJlID0ge1xuICAgICAgeFNoYXJlOiBQX2ksXG4gICAgICByU2hhcmVzOiB7fSxcbiAgICB9O1xuXG4gICAgZm9yIChsZXQgaW5kID0gMDsgaW5kIDwgalNoYXJlcy5sZW5ndGg7IGluZCsrKSB7XG4gICAgICBjb25zdCBTX2ogPSBqU2hhcmVzW2luZF07XG4gICAgICByZXN1bHRTaGFyZXMuclNoYXJlc1tTX2ouaV0gPSB7XG4gICAgICAgIGk6IFNfai5pLFxuICAgICAgICBqOiBwU2hhcmUuaSxcbiAgICAgICAgdTogYmlnSW50VG9CdWZmZXJMRShzcGxpdF91W1Nfai5pXSwgMzIpLnRvU3RyaW5nKCdoZXgnKSxcbiAgICAgICAgcjogYmlnSW50VG9CdWZmZXJMRShzcGxpdF9yW1Nfai5pXSwgMzIpLnRvU3RyaW5nKCdoZXgnKSxcbiAgICAgICAgUjogYmlnSW50VG9CdWZmZXJMRShSLCAzMikudG9TdHJpbmcoJ2hleCcpLFxuICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdFNoYXJlcztcbiAgfVxuXG4gIHNpZ24obWVzc2FnZTogQnVmZmVyLCBwbGF5ZXJTaGFyZTogWFNoYXJlLCByU2hhcmVzOiBSU2hhcmVbXSwgeVNoYXJlczogWVNoYXJlW10gPSBbXSk6IEdTaGFyZSB7XG4gICAgY29uc3QgU19pID0gcGxheWVyU2hhcmU7XG5cbiAgICBjb25zdCB1VmFsdWVzID0gW3BsYXllclNoYXJlLCAuLi5yU2hhcmVzLCAuLi55U2hhcmVzXS5tYXAoKHsgdSB9KSA9PiBiaWdJbnRGcm9tQnVmZmVyTEUoQnVmZmVyLmZyb20odSwgJ2hleCcpKSk7XG4gICAgY29uc3QgeCA9IHVWYWx1ZXMucmVkdWNlKChhY2MsIHUpID0+IEVkZHNhLmN1cnZlLnNjYWxhckFkZChhY2MsIHUpKTtcblxuICAgIGNvbnN0IFJWYWx1ZXMgPSBbcGxheWVyU2hhcmUsIC4uLnJTaGFyZXNdLm1hcCgoeyBSIH0pID0+IGJpZ0ludEZyb21CdWZmZXJMRShCdWZmZXIuZnJvbShSLCAnaGV4JykpKTtcbiAgICBjb25zdCBSID0gUlZhbHVlcy5yZWR1Y2UoKHBhcnRpYWwsIHNoYXJlKSA9PiBFZGRzYS5jdXJ2ZS5wb2ludEFkZChwYXJ0aWFsLCBzaGFyZSkpO1xuXG4gICAgY29uc3QgclZhbHVlcyA9IFtwbGF5ZXJTaGFyZSwgLi4uclNoYXJlc10ubWFwKCh7IHIgfSkgPT4gYmlnSW50RnJvbUJ1ZmZlckxFKEJ1ZmZlci5mcm9tKHIsICdoZXgnKSkpO1xuICAgIGNvbnN0IHIgPSByVmFsdWVzLnJlZHVjZSgocGFydGlhbCwgc2hhcmUpID0+IEVkZHNhLmN1cnZlLnNjYWxhckFkZChwYXJ0aWFsLCBzaGFyZSkpO1xuXG4gICAgY29uc3QgY29tYmluZWRCdWZmZXIgPSBCdWZmZXIuY29uY2F0KFtiaWdJbnRUb0J1ZmZlckxFKFIsIDMyKSwgQnVmZmVyLmZyb20oU19pLnksICdoZXgnKSwgbWVzc2FnZV0pO1xuICAgIGNvbnN0IGRpZ2VzdCA9IGNyZWF0ZUhhc2goJ3NoYTUxMicpLnVwZGF0ZShjb21iaW5lZEJ1ZmZlcikuZGlnZXN0KCk7XG4gICAgY29uc3QgayA9IEVkZHNhLmN1cnZlLnNjYWxhclJlZHVjZShiaWdJbnRGcm9tQnVmZmVyTEUoZGlnZXN0KSk7XG5cbiAgICBjb25zdCBnYW1tYSA9IEVkZHNhLmN1cnZlLnNjYWxhckFkZChyLCBFZGRzYS5jdXJ2ZS5zY2FsYXJNdWx0KGssIHgpKTtcbiAgICBjb25zdCByZXN1bHQgPSB7XG4gICAgICBpOiBwbGF5ZXJTaGFyZS5pLFxuICAgICAgeTogcGxheWVyU2hhcmUueSxcbiAgICAgIGdhbW1hOiBiaWdJbnRUb0J1ZmZlckxFKGdhbW1hLCAzMikudG9TdHJpbmcoJ2hleCcpLFxuICAgICAgUjogYmlnSW50VG9CdWZmZXJMRShSLCAzMikudG9TdHJpbmcoJ2hleCcpLFxuICAgIH07XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHNpZ25Db21iaW5lKHNoYXJlczogR1NoYXJlW10pOiBTaWduYXR1cmUge1xuICAgIGNvbnN0IHkgPSBzaGFyZXNbMF0ueTtcbiAgICBjb25zdCBSID0gc2hhcmVzWzBdLlI7XG5cbiAgICBjb25zdCByZXN1bHRTaGFyZXMgPSB7fTtcbiAgICBmb3IgKGNvbnN0IGluZCBpbiBzaGFyZXMpIHtcbiAgICAgIGNvbnN0IFNfaSA9IHNoYXJlc1tpbmRdO1xuICAgICAgcmVzdWx0U2hhcmVzW1NfaS5pXSA9IGJpZ0ludEZyb21CdWZmZXJMRShCdWZmZXIuZnJvbShTX2kuZ2FtbWEsICdoZXgnKSk7XG4gICAgfVxuICAgIGNvbnN0IHNpZ21hOiBiaWdpbnQgPSBFZGRzYS5zaGFtaXIuY29tYmluZShyZXN1bHRTaGFyZXMpO1xuICAgIGNvbnN0IHJlc3VsdCA9IHtcbiAgICAgIHksXG4gICAgICBSLFxuICAgICAgc2lnbWE6IGJpZ0ludFRvQnVmZmVyTEUoc2lnbWEsIDMyKS50b1N0cmluZygnaGV4JyksXG4gICAgfTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgdmVyaWZ5KG1lc3NhZ2U6IEJ1ZmZlciwgc2lnbmF0dXJlOiBTaWduYXR1cmUpOiBCdWZmZXIge1xuICAgIGNvbnN0IHB1YmxpY0tleSA9IGJpZ0ludEZyb21CdWZmZXJMRShCdWZmZXIuZnJvbShzaWduYXR1cmUueSwgJ2hleCcpKTtcbiAgICBjb25zdCBzaWduZWRNZXNzYWdlID0gQnVmZmVyLmNvbmNhdChbXG4gICAgICBCdWZmZXIuZnJvbShzaWduYXR1cmUuUiwgJ2hleCcpLFxuICAgICAgQnVmZmVyLmZyb20oc2lnbmF0dXJlLnNpZ21hLCAnaGV4JyksXG4gICAgICBtZXNzYWdlLFxuICAgIF0pO1xuICAgIHJldHVybiBFZGRzYS5jdXJ2ZS52ZXJpZnkocHVibGljS2V5LCBzaWduZWRNZXNzYWdlKTtcbiAgfVxufVxuIl19
@@ -1,7 +0,0 @@
1
- /// <reference types="node" />
2
- export declare function bigIntFromBufferLE(buf: Buffer): bigint;
3
- export declare function bigIntToBufferLE(n: bigint, bytes?: number): Buffer;
4
- export declare function bigIntFromBufferBE(buf: Buffer): bigint;
5
- export declare function bigIntToBufferBE(n: bigint, bytes?: number): Buffer;
6
- export declare function clamp(u: bigint): bigint;
7
- //# sourceMappingURL=util.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/mpc/util.ts"],"names":[],"mappings":";AAAA,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAQlE;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAQlE;AAED,wBAAgB,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAIvC"}
@@ -1,38 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.clamp = exports.bigIntToBufferBE = exports.bigIntFromBufferBE = exports.bigIntToBufferLE = exports.bigIntFromBufferLE = void 0;
4
- function bigIntFromBufferLE(buf) {
5
- return BigInt('0x' + Buffer.from(buf).reverse().toString('hex'));
6
- }
7
- exports.bigIntFromBufferLE = bigIntFromBufferLE;
8
- function bigIntToBufferLE(n, bytes) {
9
- var v = n.toString(16);
10
- v = '0'.slice(0, v.length % 2) + v;
11
- var buf = Buffer.from(v, 'hex').reverse();
12
- if (bytes && buf.length < bytes) {
13
- return Buffer.concat([buf, Buffer.alloc(bytes - buf.length)]);
14
- }
15
- return buf;
16
- }
17
- exports.bigIntToBufferLE = bigIntToBufferLE;
18
- function bigIntFromBufferBE(buf) {
19
- return BigInt('0x' + buf.toString('hex'));
20
- }
21
- exports.bigIntFromBufferBE = bigIntFromBufferBE;
22
- function bigIntToBufferBE(n, bytes) {
23
- var v = n.toString(16);
24
- v = '0'.slice(0, v.length % 2) + v;
25
- var buf = Buffer.from(v, 'hex');
26
- if (bytes && buf.length < bytes) {
27
- return Buffer.concat([Buffer.alloc(bytes - buf.length), buf]);
28
- }
29
- return buf;
30
- }
31
- exports.bigIntToBufferBE = bigIntToBufferBE;
32
- function clamp(u) {
33
- u &= BigInt('0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8');
34
- u |= BigInt('0x4000000000000000000000000000000000000000000000000000000000000000');
35
- return u;
36
- }
37
- exports.clamp = clamp;
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tcGMvdXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxTQUFnQixrQkFBa0IsQ0FBQyxHQUFXO0lBQzVDLE9BQU8sTUFBTSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQ25FLENBQUM7QUFGRCxnREFFQztBQUVELFNBQWdCLGdCQUFnQixDQUFDLENBQVMsRUFBRSxLQUFjO0lBQ3hELElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDdkIsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25DLElBQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzVDLElBQUksS0FBSyxJQUFJLEdBQUcsQ0FBQyxNQUFNLEdBQUcsS0FBSyxFQUFFO1FBQy9CLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQy9EO0lBQ0QsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDO0FBUkQsNENBUUM7QUFFRCxTQUFnQixrQkFBa0IsQ0FBQyxHQUFXO0lBQzVDLE9BQU8sTUFBTSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDNUMsQ0FBQztBQUZELGdEQUVDO0FBRUQsU0FBZ0IsZ0JBQWdCLENBQUMsQ0FBUyxFQUFFLEtBQWM7SUFDeEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN2QixDQUFDLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbkMsSUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbEMsSUFBSSxLQUFLLElBQUksR0FBRyxDQUFDLE1BQU0sR0FBRyxLQUFLLEVBQUU7UUFDL0IsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7S0FDL0Q7SUFDRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUFSRCw0Q0FRQztBQUVELFNBQWdCLEtBQUssQ0FBQyxDQUFTO0lBQzdCLENBQUMsSUFBSSxNQUFNLENBQUMsb0VBQW9FLENBQUMsQ0FBQztJQUNsRixDQUFDLElBQUksTUFBTSxDQUFDLG9FQUFvRSxDQUFDLENBQUM7SUFDbEYsT0FBTyxDQUFDLENBQUM7QUFDWCxDQUFDO0FBSkQsc0JBSUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gYmlnSW50RnJvbUJ1ZmZlckxFKGJ1ZjogQnVmZmVyKTogYmlnaW50IHtcbiAgcmV0dXJuIEJpZ0ludCgnMHgnICsgQnVmZmVyLmZyb20oYnVmKS5yZXZlcnNlKCkudG9TdHJpbmcoJ2hleCcpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJpZ0ludFRvQnVmZmVyTEUobjogYmlnaW50LCBieXRlcz86IG51bWJlcik6IEJ1ZmZlciB7XG4gIGxldCB2ID0gbi50b1N0cmluZygxNik7XG4gIHYgPSAnMCcuc2xpY2UoMCwgdi5sZW5ndGggJSAyKSArIHY7XG4gIGNvbnN0IGJ1ZiA9IEJ1ZmZlci5mcm9tKHYsICdoZXgnKS5yZXZlcnNlKCk7XG4gIGlmIChieXRlcyAmJiBidWYubGVuZ3RoIDwgYnl0ZXMpIHtcbiAgICByZXR1cm4gQnVmZmVyLmNvbmNhdChbYnVmLCBCdWZmZXIuYWxsb2MoYnl0ZXMgLSBidWYubGVuZ3RoKV0pO1xuICB9XG4gIHJldHVybiBidWY7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBiaWdJbnRGcm9tQnVmZmVyQkUoYnVmOiBCdWZmZXIpOiBiaWdpbnQge1xuICByZXR1cm4gQmlnSW50KCcweCcgKyBidWYudG9TdHJpbmcoJ2hleCcpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJpZ0ludFRvQnVmZmVyQkUobjogYmlnaW50LCBieXRlcz86IG51bWJlcik6IEJ1ZmZlciB7XG4gIGxldCB2ID0gbi50b1N0cmluZygxNik7XG4gIHYgPSAnMCcuc2xpY2UoMCwgdi5sZW5ndGggJSAyKSArIHY7XG4gIGNvbnN0IGJ1ZiA9IEJ1ZmZlci5mcm9tKHYsICdoZXgnKTtcbiAgaWYgKGJ5dGVzICYmIGJ1Zi5sZW5ndGggPCBieXRlcykge1xuICAgIHJldHVybiBCdWZmZXIuY29uY2F0KFtCdWZmZXIuYWxsb2MoYnl0ZXMgLSBidWYubGVuZ3RoKSwgYnVmXSk7XG4gIH1cbiAgcmV0dXJuIGJ1Zjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNsYW1wKHU6IGJpZ2ludCk6IGJpZ2ludCB7XG4gIHUgJj0gQmlnSW50KCcweDdmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjgnKTtcbiAgdSB8PSBCaWdJbnQoJzB4NDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCcpO1xuICByZXR1cm4gdTtcbn1cbiJdfQ==
@@ -1,99 +0,0 @@
1
- /// <reference types="node" />
2
- import { ExtendedKeys } from '../coin/baseCoin/iface';
3
- /**
4
- * @param {string} xpub - a base-58 encoded extended public key (BIP32)
5
- * @returns {string} the uncompressed public key in hexadecimal
6
- */
7
- export declare function xpubToUncompressedPub(xpub: string): string;
8
- /**
9
- * @param {string} xprv - base58-encoded extended private key (BIP32)
10
- * @returns {string} the hex-encoded raw private key
11
- */
12
- export declare function xprvToRawPrv(xprv: string): string;
13
- /**
14
- * @param {string} prv - Private key in hex format to get the extended keys for
15
- * @returns {ExtendedKeys} xprv and xpub in string format
16
- */
17
- export declare function rawPrvToExtendedKeys(prv: string): ExtendedKeys;
18
- /**
19
- * Whether the input is a valid BIP32 xpub or not
20
- *
21
- * @param xpub
22
- */
23
- export declare function isValidXpub(xpub: string): boolean;
24
- /**
25
- * Whether the input is a valid BIP32 xprv or not
26
- *
27
- * @param xprv
28
- */
29
- export declare function isValidXprv(xprv: string): boolean;
30
- /**
31
- * Whether the input is a valid secp256k1 public key
32
- *
33
- * @param pub
34
- */
35
- export declare function isValidPub(pub: string): boolean;
36
- /**
37
- * Whether the input is a valid secp256k1 private key
38
- *
39
- * @param prv
40
- */
41
- export declare function isValidPrv(prv: string): boolean;
42
- /**
43
- * Whether the input is a valid ed25519 private key
44
- *
45
- * @param {string} prv A hexadecimal private key to validate
46
- * @returns {boolean} Whether the input is a valid public key or not
47
- */
48
- export declare function isValidEd25519Seed(prv: string): boolean;
49
- /**
50
- * Whether the input is a valid ed25519 private key
51
- *
52
- * @param {string} prv A hexadecimal private key to validate
53
- * @returns {boolean} Whether the input is a valid public key or not
54
- */
55
- export declare function isValidEd25519SecretKey(prv: string): boolean;
56
- /**
57
- * Whether the input is a valid ed25519 public key
58
- *
59
- * @param {string} pub A hexadecimal public key to validate
60
- * @returns {boolean} Whether the input is a valid public key or not
61
- */
62
- export declare function isValidEd25519PublicKey(pub: string): boolean;
63
- /**
64
- * Whether the input is a valid BLS private key
65
- *
66
- * @param {string} prv a private key to validate
67
- * @returns {boolean} Whether the input is a valid private key or not
68
- */
69
- export declare function isValidBLSPrivateKey(prv: string): boolean;
70
- /**
71
- * Whether input is a valid BLS public key
72
- *
73
- * @param {string} pub the public key to validate
74
- * @returns {boolean} Whether input is a valid public key or not
75
- */
76
- export declare function isValidBLSPublicKey(pub: string): boolean;
77
- /**
78
- * Returns an hex string of the given buffer
79
- *
80
- * @param {Buffer | Uint8Array} buffer - the buffer to be converted to hex
81
- * @returns {string} - the hex value
82
- */
83
- export declare function toHex(buffer: Buffer | Uint8Array): string;
84
- /**
85
- * Returns an hex string of the given bigint
86
- *
87
- * @param {bigint} bigint - the bigint to be converted to hex
88
- * @returns {string} - the hex value
89
- */
90
- export declare function bigIntToHex(bigint: bigint): string;
91
- /**
92
- * Check if base58 decoded string is equale to length
93
- *
94
- * @param {string} value - string to be checked
95
- * @param {number} length - expected decoded length
96
- * @return {boolean} if the string can decoded as base58 and match the expected length
97
- */
98
- export declare function isBase58(value: string, length: number): boolean;
99
- //# sourceMappingURL=crypto.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../../src/utils/crypto.ts"],"names":[],"mappings":";AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAItD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAO1D;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAUjD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAM9D;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAYjD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAYjD;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAO/C;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAO/C;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAOvD;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAO5D;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAO5D;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAMzD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAOxD;AAED;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,CAEzD;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAGlD;AAED;;;;;;GAMG;AAEH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAM/D"}