@bitgo/account-lib 2.20.0-rc.3 → 2.20.0-rc.32

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 (592) hide show
  1. package/.mocharc.js +1 -1
  2. package/CHANGELOG.md +311 -0
  3. package/dist/resources/README.md +8 -2
  4. package/dist/resources/trx/protobuf/tron.js +5 -1
  5. package/dist/src/coin/dot/addressInitializationBuilder.d.ts +1 -2
  6. package/dist/src/coin/dot/addressInitializationBuilder.d.ts.map +1 -1
  7. package/dist/src/coin/dot/addressInitializationBuilder.js +60 -83
  8. package/dist/src/coin/dot/batchTransactionBuilder.d.ts +1 -1
  9. package/dist/src/coin/dot/batchTransactionBuilder.d.ts.map +1 -1
  10. package/dist/src/coin/dot/batchTransactionBuilder.js +55 -78
  11. package/dist/src/coin/dot/claimBuilder.d.ts +1 -2
  12. package/dist/src/coin/dot/claimBuilder.d.ts.map +1 -1
  13. package/dist/src/coin/dot/claimBuilder.js +49 -69
  14. package/dist/src/coin/dot/errors.d.ts +1 -1
  15. package/dist/src/coin/dot/errors.d.ts.map +1 -1
  16. package/dist/src/coin/dot/errors.js +12 -33
  17. package/dist/src/coin/dot/iface.d.ts +1 -2
  18. package/dist/src/coin/dot/iface.d.ts.map +1 -1
  19. package/dist/src/coin/dot/iface.js +1 -1
  20. package/dist/src/coin/dot/index.js +3 -3
  21. package/dist/src/coin/dot/keyPair.d.ts +2 -3
  22. package/dist/src/coin/dot/keyPair.d.ts.map +1 -1
  23. package/dist/src/coin/dot/keyPair.js +34 -56
  24. package/dist/src/coin/dot/singletonRegistry.js +6 -9
  25. package/dist/src/coin/dot/stakingBuilder.d.ts +1 -2
  26. package/dist/src/coin/dot/stakingBuilder.d.ts.map +1 -1
  27. package/dist/src/coin/dot/stakingBuilder.js +55 -73
  28. package/dist/src/coin/dot/transaction.d.ts +1 -2
  29. package/dist/src/coin/dot/transaction.d.ts.map +1 -1
  30. package/dist/src/coin/dot/transaction.js +154 -170
  31. package/dist/src/coin/dot/transactionBuilder.d.ts +2 -3
  32. package/dist/src/coin/dot/transactionBuilder.d.ts.map +1 -1
  33. package/dist/src/coin/dot/transactionBuilder.js +133 -205
  34. package/dist/src/coin/dot/transactionBuilderFactory.d.ts +1 -1
  35. package/dist/src/coin/dot/transactionBuilderFactory.d.ts.map +1 -1
  36. package/dist/src/coin/dot/transactionBuilderFactory.js +46 -65
  37. package/dist/src/coin/dot/transferBuilder.d.ts +1 -2
  38. package/dist/src/coin/dot/transferBuilder.d.ts.map +1 -1
  39. package/dist/src/coin/dot/transferBuilder.js +71 -88
  40. package/dist/src/coin/dot/txnSchema.js +17 -15
  41. package/dist/src/coin/dot/unnominateBuilder.d.ts +1 -1
  42. package/dist/src/coin/dot/unnominateBuilder.d.ts.map +1 -1
  43. package/dist/src/coin/dot/unnominateBuilder.js +24 -46
  44. package/dist/src/coin/dot/unstakeBuilder.d.ts +1 -1
  45. package/dist/src/coin/dot/unstakeBuilder.d.ts.map +1 -1
  46. package/dist/src/coin/dot/unstakeBuilder.js +38 -60
  47. package/dist/src/coin/dot/utils.d.ts +9 -3
  48. package/dist/src/coin/dot/utils.d.ts.map +1 -1
  49. package/dist/src/coin/dot/utils.js +112 -102
  50. package/dist/src/coin/dot/withdrawUnstakedBuilder.d.ts +1 -1
  51. package/dist/src/coin/dot/withdrawUnstakedBuilder.d.ts.map +1 -1
  52. package/dist/src/coin/dot/withdrawUnstakedBuilder.js +38 -60
  53. package/dist/src/coin/etc/index.d.ts +2 -4
  54. package/dist/src/coin/etc/index.d.ts.map +1 -1
  55. package/dist/src/coin/etc/index.js +7 -9
  56. package/dist/src/coin/etc/resources.js +3 -3
  57. package/dist/src/coin/etc/transactionBuilder.d.ts.map +1 -1
  58. package/dist/src/coin/etc/transactionBuilder.js +22 -41
  59. package/dist/src/coin/etc/transferBuilder.d.ts +1 -1
  60. package/dist/src/coin/etc/transferBuilder.d.ts.map +1 -1
  61. package/dist/src/coin/etc/transferBuilder.js +8 -28
  62. package/dist/src/coin/etc/utils.d.ts +1 -2
  63. package/dist/src/coin/etc/utils.d.ts.map +1 -1
  64. package/dist/src/coin/etc/utils.js +10 -50
  65. package/dist/src/coin/eth2/keyPair.d.ts +1 -2
  66. package/dist/src/coin/eth2/keyPair.d.ts.map +1 -1
  67. package/dist/src/coin/eth2/keyPair.js +19 -37
  68. package/dist/src/coin/hbar/coinTransferBuilder.d.ts +46 -0
  69. package/dist/src/coin/hbar/coinTransferBuilder.d.ts.map +1 -0
  70. package/dist/src/coin/hbar/coinTransferBuilder.js +143 -0
  71. package/dist/src/coin/hbar/constants.d.ts +8 -0
  72. package/dist/src/coin/hbar/constants.d.ts.map +1 -0
  73. package/dist/src/coin/hbar/constants.js +12 -0
  74. package/dist/src/coin/hbar/iface.d.ts +49 -0
  75. package/dist/src/coin/hbar/iface.d.ts.map +1 -0
  76. package/dist/src/coin/hbar/iface.js +3 -0
  77. package/dist/src/coin/hbar/index.d.ts +3 -0
  78. package/dist/src/coin/hbar/index.d.ts.map +1 -1
  79. package/dist/src/coin/hbar/index.js +9 -3
  80. package/dist/src/coin/hbar/keyPair.d.ts +2 -3
  81. package/dist/src/coin/hbar/keyPair.d.ts.map +1 -1
  82. package/dist/src/coin/hbar/keyPair.js +31 -50
  83. package/dist/src/coin/hbar/tokenAssociateBuilder.d.ts +38 -0
  84. package/dist/src/coin/hbar/tokenAssociateBuilder.d.ts.map +1 -0
  85. package/dist/src/coin/hbar/tokenAssociateBuilder.js +126 -0
  86. package/dist/src/coin/hbar/tokenTransferBuilder.d.ts +25 -0
  87. package/dist/src/coin/hbar/tokenTransferBuilder.d.ts.map +1 -0
  88. package/dist/src/coin/hbar/tokenTransferBuilder.js +115 -0
  89. package/dist/src/coin/hbar/transaction.d.ts +30 -23
  90. package/dist/src/coin/hbar/transaction.d.ts.map +1 -1
  91. package/dist/src/coin/hbar/transaction.js +197 -193
  92. package/dist/src/coin/hbar/transactionBuilder.d.ts +23 -25
  93. package/dist/src/coin/hbar/transactionBuilder.d.ts.map +1 -1
  94. package/dist/src/coin/hbar/transactionBuilder.js +146 -223
  95. package/dist/src/coin/hbar/transactionBuilderFactory.d.ts +14 -4
  96. package/dist/src/coin/hbar/transactionBuilderFactory.d.ts.map +1 -1
  97. package/dist/src/coin/hbar/transactionBuilderFactory.js +50 -57
  98. package/dist/src/coin/hbar/transferBuilder.d.ts +9 -29
  99. package/dist/src/coin/hbar/transferBuilder.d.ts.map +1 -1
  100. package/dist/src/coin/hbar/transferBuilder.js +37 -157
  101. package/dist/src/coin/hbar/utils.d.ts +99 -58
  102. package/dist/src/coin/hbar/utils.d.ts.map +1 -1
  103. package/dist/src/coin/hbar/utils.js +183 -105
  104. package/dist/src/coin/hbar/walletInitializationBuilder.d.ts +5 -5
  105. package/dist/src/coin/hbar/walletInitializationBuilder.d.ts.map +1 -1
  106. package/dist/src/coin/hbar/walletInitializationBuilder.js +68 -113
  107. package/dist/src/coin/near/contractCallWrapper.js +46 -65
  108. package/dist/src/coin/near/errors.d.ts +1 -1
  109. package/dist/src/coin/near/errors.d.ts.map +1 -1
  110. package/dist/src/coin/near/errors.js +7 -25
  111. package/dist/src/coin/near/iface.d.ts +1 -2
  112. package/dist/src/coin/near/iface.d.ts.map +1 -1
  113. package/dist/src/coin/near/iface.js +1 -1
  114. package/dist/src/coin/near/index.js +2 -2
  115. package/dist/src/coin/near/keyPair.d.ts +1 -2
  116. package/dist/src/coin/near/keyPair.d.ts.map +1 -1
  117. package/dist/src/coin/near/keyPair.js +23 -40
  118. package/dist/src/coin/near/stakingActivateBuilder.d.ts +1 -1
  119. package/dist/src/coin/near/stakingActivateBuilder.d.ts.map +1 -1
  120. package/dist/src/coin/near/stakingActivateBuilder.js +36 -105
  121. package/dist/src/coin/near/stakingDeactivateBuilder.d.ts +1 -1
  122. package/dist/src/coin/near/stakingDeactivateBuilder.d.ts.map +1 -1
  123. package/dist/src/coin/near/stakingDeactivateBuilder.js +36 -105
  124. package/dist/src/coin/near/stakingWithdrawBuilder.d.ts +1 -1
  125. package/dist/src/coin/near/stakingWithdrawBuilder.d.ts.map +1 -1
  126. package/dist/src/coin/near/stakingWithdrawBuilder.js +36 -105
  127. package/dist/src/coin/near/transaction.d.ts +1 -2
  128. package/dist/src/coin/near/transaction.d.ts.map +1 -1
  129. package/dist/src/coin/near/transaction.js +125 -154
  130. package/dist/src/coin/near/transactionBuilder.d.ts +1 -2
  131. package/dist/src/coin/near/transactionBuilder.d.ts.map +1 -1
  132. package/dist/src/coin/near/transactionBuilder.js +81 -144
  133. package/dist/src/coin/near/transactionBuilderFactory.d.ts +1 -1
  134. package/dist/src/coin/near/transactionBuilderFactory.d.ts.map +1 -1
  135. package/dist/src/coin/near/transactionBuilderFactory.js +33 -51
  136. package/dist/src/coin/near/transferBuilder.d.ts +1 -1
  137. package/dist/src/coin/near/transferBuilder.d.ts.map +1 -1
  138. package/dist/src/coin/near/transferBuilder.js +27 -91
  139. package/dist/src/coin/near/utils.d.ts +1 -1
  140. package/dist/src/coin/near/utils.d.ts.map +1 -1
  141. package/dist/src/coin/near/utils.js +35 -45
  142. package/dist/src/coin/near/walletInitializationBuilder.d.ts +1 -1
  143. package/dist/src/coin/near/walletInitializationBuilder.d.ts.map +1 -1
  144. package/dist/src/coin/near/walletInitializationBuilder.js +13 -70
  145. package/dist/src/coin/polygon/index.d.ts +6 -0
  146. package/dist/src/coin/polygon/index.d.ts.map +1 -0
  147. package/dist/src/coin/{celo → polygon}/index.js +7 -9
  148. package/dist/src/coin/polygon/resources.d.ts +10 -0
  149. package/dist/src/coin/polygon/resources.d.ts.map +1 -0
  150. package/dist/src/coin/polygon/resources.js +25 -0
  151. package/dist/src/coin/{avaxc → polygon}/transactionBuilder.d.ts +1 -1
  152. package/dist/src/coin/polygon/transactionBuilder.d.ts.map +1 -0
  153. package/dist/src/coin/polygon/transactionBuilder.js +44 -0
  154. package/dist/src/coin/{avaxc → polygon}/transferBuilder.d.ts +4 -2
  155. package/dist/src/coin/polygon/transferBuilder.d.ts.map +1 -0
  156. package/dist/src/coin/polygon/transferBuilder.js +27 -0
  157. package/dist/src/coin/polygon/utils.d.ts +17 -0
  158. package/dist/src/coin/polygon/utils.d.ts.map +1 -0
  159. package/dist/src/coin/polygon/utils.js +42 -0
  160. package/dist/src/coin/polygon/walletUtil.d.ts +48 -0
  161. package/dist/src/coin/polygon/walletUtil.d.ts.map +1 -0
  162. package/dist/src/coin/polygon/walletUtil.js +632 -0
  163. package/dist/src/coin/rbtc/index.d.ts +2 -4
  164. package/dist/src/coin/rbtc/index.d.ts.map +1 -1
  165. package/dist/src/coin/rbtc/index.js +7 -9
  166. package/dist/src/coin/rbtc/resources.js +3 -3
  167. package/dist/src/coin/rbtc/transactionBuilder.d.ts.map +1 -1
  168. package/dist/src/coin/rbtc/transactionBuilder.js +21 -40
  169. package/dist/src/coin/rbtc/transferBuilder.d.ts +1 -1
  170. package/dist/src/coin/rbtc/transferBuilder.d.ts.map +1 -1
  171. package/dist/src/coin/rbtc/transferBuilder.js +8 -28
  172. package/dist/src/coin/rbtc/utils.d.ts +1 -2
  173. package/dist/src/coin/rbtc/utils.d.ts.map +1 -1
  174. package/dist/src/coin/rbtc/utils.js +10 -50
  175. package/dist/src/coin/sol/ataInitializationBuilder.d.ts +12 -3
  176. package/dist/src/coin/sol/ataInitializationBuilder.d.ts.map +1 -1
  177. package/dist/src/coin/sol/ataInitializationBuilder.js +74 -126
  178. package/dist/src/coin/sol/ataInitializationTransaction.d.ts.map +1 -1
  179. package/dist/src/coin/sol/ataInitializationTransaction.js +36 -59
  180. package/dist/src/coin/sol/iface.d.ts +2 -1
  181. package/dist/src/coin/sol/iface.d.ts.map +1 -1
  182. package/dist/src/coin/sol/iface.js +1 -1
  183. package/dist/src/coin/sol/index.js +3 -3
  184. package/dist/src/coin/sol/instructionParamsFactory.d.ts +1 -1
  185. package/dist/src/coin/sol/instructionParamsFactory.d.ts.map +1 -1
  186. package/dist/src/coin/sol/instructionParamsFactory.js +72 -70
  187. package/dist/src/coin/sol/keyPair.d.ts +1 -2
  188. package/dist/src/coin/sol/keyPair.d.ts.map +1 -1
  189. package/dist/src/coin/sol/keyPair.js +24 -42
  190. package/dist/src/coin/sol/solInstructionFactory.js +33 -33
  191. package/dist/src/coin/sol/stakingActivateBuilder.d.ts +1 -1
  192. package/dist/src/coin/sol/stakingActivateBuilder.d.ts.map +1 -1
  193. package/dist/src/coin/sol/stakingActivateBuilder.js +45 -113
  194. package/dist/src/coin/sol/stakingDeactivateBuilder.d.ts +1 -1
  195. package/dist/src/coin/sol/stakingDeactivateBuilder.d.ts.map +1 -1
  196. package/dist/src/coin/sol/stakingDeactivateBuilder.js +36 -104
  197. package/dist/src/coin/sol/stakingWithdrawBuilder.d.ts +1 -1
  198. package/dist/src/coin/sol/stakingWithdrawBuilder.d.ts.map +1 -1
  199. package/dist/src/coin/sol/stakingWithdrawBuilder.js +41 -109
  200. package/dist/src/coin/sol/tokenEncodeDecode.js +46 -75
  201. package/dist/src/coin/sol/tokenTransferBuilder.d.ts +1 -1
  202. package/dist/src/coin/sol/tokenTransferBuilder.d.ts.map +1 -1
  203. package/dist/src/coin/sol/tokenTransferBuilder.js +42 -115
  204. package/dist/src/coin/sol/transaction.d.ts +1 -2
  205. package/dist/src/coin/sol/transaction.d.ts.map +1 -1
  206. package/dist/src/coin/sol/transaction.js +130 -221
  207. package/dist/src/coin/sol/transactionBuilder.d.ts +1 -2
  208. package/dist/src/coin/sol/transactionBuilder.d.ts.map +1 -1
  209. package/dist/src/coin/sol/transactionBuilder.js +104 -171
  210. package/dist/src/coin/sol/transactionBuilderFactory.d.ts +1 -1
  211. package/dist/src/coin/sol/transactionBuilderFactory.d.ts.map +1 -1
  212. package/dist/src/coin/sol/transactionBuilderFactory.js +46 -64
  213. package/dist/src/coin/sol/transferBuilder.d.ts +1 -1
  214. package/dist/src/coin/sol/transferBuilder.d.ts.map +1 -1
  215. package/dist/src/coin/sol/transferBuilder.js +37 -108
  216. package/dist/src/coin/sol/utils.d.ts +1 -1
  217. package/dist/src/coin/sol/utils.d.ts.map +1 -1
  218. package/dist/src/coin/sol/utils.js +49 -117
  219. package/dist/src/coin/sol/walletInitializationBuilder.d.ts +1 -1
  220. package/dist/src/coin/sol/walletInitializationBuilder.d.ts.map +1 -1
  221. package/dist/src/coin/sol/walletInitializationBuilder.js +39 -107
  222. package/dist/src/coin/trx/address.d.ts +1 -1
  223. package/dist/src/coin/trx/address.d.ts.map +1 -1
  224. package/dist/src/coin/trx/address.js +3 -6
  225. package/dist/src/coin/trx/contractCallBuilder.d.ts +1 -1
  226. package/dist/src/coin/trx/contractCallBuilder.d.ts.map +1 -1
  227. package/dist/src/coin/trx/contractCallBuilder.js +100 -160
  228. package/dist/src/coin/trx/iface.d.ts +1 -1
  229. package/dist/src/coin/trx/iface.d.ts.map +1 -1
  230. package/dist/src/coin/trx/iface.js +1 -1
  231. package/dist/src/coin/trx/index.js +4 -4
  232. package/dist/src/coin/trx/keyPair.d.ts +1 -3
  233. package/dist/src/coin/trx/keyPair.d.ts.map +1 -1
  234. package/dist/src/coin/trx/keyPair.js +37 -57
  235. package/dist/src/coin/trx/transaction.d.ts +1 -3
  236. package/dist/src/coin/trx/transaction.d.ts.map +1 -1
  237. package/dist/src/coin/trx/transaction.js +84 -124
  238. package/dist/src/coin/trx/transactionBuilder.d.ts +1 -2
  239. package/dist/src/coin/trx/transactionBuilder.d.ts.map +1 -1
  240. package/dist/src/coin/trx/transactionBuilder.js +72 -134
  241. package/dist/src/coin/trx/utils.js +57 -59
  242. package/dist/src/coin/trx/wrappedBuilder.d.ts +1 -2
  243. package/dist/src/coin/trx/wrappedBuilder.d.ts.map +1 -1
  244. package/dist/src/coin/trx/wrappedBuilder.js +43 -101
  245. package/dist/src/coin/xrp/index.js +2 -2
  246. package/dist/src/coin/xrp/keyPair.d.ts +1 -2
  247. package/dist/src/coin/xrp/keyPair.d.ts.map +1 -1
  248. package/dist/src/coin/xrp/keyPair.js +6 -23
  249. package/dist/src/coin/xrp/transaction.d.ts +1 -2
  250. package/dist/src/coin/xrp/transaction.d.ts.map +1 -1
  251. package/dist/src/coin/xrp/transaction.js +13 -34
  252. package/dist/src/coin/xrp/transactionBuilder.d.ts +1 -2
  253. package/dist/src/coin/xrp/transactionBuilder.d.ts.map +1 -1
  254. package/dist/src/coin/xrp/transactionBuilder.js +29 -51
  255. package/dist/src/coin/xrp/transactionBuilderFactory.d.ts +1 -1
  256. package/dist/src/coin/xrp/transactionBuilderFactory.d.ts.map +1 -1
  257. package/dist/src/coin/xrp/transactionBuilderFactory.js +17 -35
  258. package/dist/src/coin/xrp/transferBuilder.d.ts +1 -1
  259. package/dist/src/coin/xrp/transferBuilder.d.ts.map +1 -1
  260. package/dist/src/coin/xrp/transferBuilder.js +16 -73
  261. package/dist/src/coin/xrp/utils.d.ts +1 -1
  262. package/dist/src/coin/xrp/utils.d.ts.map +1 -1
  263. package/dist/src/coin/xrp/utils.js +22 -25
  264. package/dist/src/coin/xrp/walletInitializationBuilder.d.ts +1 -1
  265. package/dist/src/coin/xrp/walletInitializationBuilder.d.ts.map +1 -1
  266. package/dist/src/coin/xrp/walletInitializationBuilder.js +16 -73
  267. package/dist/src/index.d.ts +24 -16
  268. package/dist/src/index.d.ts.map +1 -1
  269. package/dist/src/index.js +58 -50
  270. package/dist/src/keyPair/index.d.ts +1 -2
  271. package/dist/src/keyPair/index.d.ts.map +1 -1
  272. package/dist/src/keyPair/index.js +9 -9
  273. package/dist/src/utils/index.d.ts +1 -1
  274. package/dist/src/utils/index.d.ts.map +1 -1
  275. package/dist/src/utils/index.js +9 -9
  276. package/dist/tsconfig.tsbuildinfo +29398 -22560
  277. package/package.json +25 -58
  278. package/resources/README.md +8 -2
  279. package/resources/trx/protobuf/tron.js +5 -1
  280. package/dist/browser/bitgo-account-lib.js +0 -2
  281. package/dist/browser/bitgo-account-lib.js.LICENSE.txt +0 -335
  282. package/dist/resources/hbar/protobuf/BasicTypes.proto +0 -424
  283. package/dist/resources/hbar/protobuf/CryptoCreate.proto +0 -47
  284. package/dist/resources/hbar/protobuf/CryptoTransfer.proto +0 -33
  285. package/dist/resources/hbar/protobuf/Duration.proto +0 -28
  286. package/dist/resources/hbar/protobuf/Timestamp.proto +0 -34
  287. package/dist/resources/hbar/protobuf/Transaction.proto +0 -35
  288. package/dist/resources/hbar/protobuf/TransactionBody.proto +0 -24
  289. package/dist/resources/hbar/protobuf/TransactionContents.proto +0 -33
  290. package/dist/resources/hbar/protobuf/hedera.d.ts +0 -4612
  291. package/dist/resources/hbar/protobuf/hedera.js +0 -12192
  292. package/dist/src/coin/algo/assetTransferBuilder.d.ts +0 -43
  293. package/dist/src/coin/algo/assetTransferBuilder.d.ts.map +0 -1
  294. package/dist/src/coin/algo/assetTransferBuilder.js +0 -127
  295. package/dist/src/coin/algo/errors.d.ts +0 -11
  296. package/dist/src/coin/algo/errors.d.ts.map +0 -1
  297. package/dist/src/coin/algo/errors.js +0 -51
  298. package/dist/src/coin/algo/ifaces.d.ts +0 -46
  299. package/dist/src/coin/algo/ifaces.d.ts.map +0 -1
  300. package/dist/src/coin/algo/ifaces.js +0 -3
  301. package/dist/src/coin/algo/index.d.ts +0 -13
  302. package/dist/src/coin/algo/index.d.ts.map +0 -1
  303. package/dist/src/coin/algo/index.js +0 -47
  304. package/dist/src/coin/algo/keyPair.d.ts +0 -26
  305. package/dist/src/coin/algo/keyPair.d.ts.map +0 -1
  306. package/dist/src/coin/algo/keyPair.js +0 -95
  307. package/dist/src/coin/algo/keyRegistrationBuilder.d.ts +0 -104
  308. package/dist/src/coin/algo/keyRegistrationBuilder.d.ts.map +0 -1
  309. package/dist/src/coin/algo/keyRegistrationBuilder.js +0 -262
  310. package/dist/src/coin/algo/seedEncoding.d.ts +0 -25
  311. package/dist/src/coin/algo/seedEncoding.d.ts.map +0 -1
  312. package/dist/src/coin/algo/seedEncoding.js +0 -100
  313. package/dist/src/coin/algo/transaction.d.ts +0 -76
  314. package/dist/src/coin/algo/transaction.d.ts.map +0 -1
  315. package/dist/src/coin/algo/transaction.js +0 -287
  316. package/dist/src/coin/algo/transactionBuilder.d.ts +0 -205
  317. package/dist/src/coin/algo/transactionBuilder.d.ts.map +0 -1
  318. package/dist/src/coin/algo/transactionBuilder.js +0 -445
  319. package/dist/src/coin/algo/transactionBuilderFactory.d.ts +0 -16
  320. package/dist/src/coin/algo/transactionBuilderFactory.d.ts.map +0 -1
  321. package/dist/src/coin/algo/transactionBuilderFactory.js +0 -70
  322. package/dist/src/coin/algo/transferBuilder.d.ts +0 -41
  323. package/dist/src/coin/algo/transferBuilder.d.ts.map +0 -1
  324. package/dist/src/coin/algo/transferBuilder.js +0 -111
  325. package/dist/src/coin/algo/txnSchema.d.ts +0 -7
  326. package/dist/src/coin/algo/txnSchema.d.ts.map +0 -1
  327. package/dist/src/coin/algo/txnSchema.js +0 -68
  328. package/dist/src/coin/algo/utils.d.ts +0 -249
  329. package/dist/src/coin/algo/utils.d.ts.map +0 -1
  330. package/dist/src/coin/algo/utils.js +0 -544
  331. package/dist/src/coin/avaxc/index.d.ts +0 -8
  332. package/dist/src/coin/avaxc/index.d.ts.map +0 -1
  333. package/dist/src/coin/avaxc/index.js +0 -35
  334. package/dist/src/coin/avaxc/keyPair.d.ts +0 -27
  335. package/dist/src/coin/avaxc/keyPair.d.ts.map +0 -1
  336. package/dist/src/coin/avaxc/keyPair.js +0 -102
  337. package/dist/src/coin/avaxc/resources.d.ts +0 -12
  338. package/dist/src/coin/avaxc/resources.d.ts.map +0 -1
  339. package/dist/src/coin/avaxc/resources.js +0 -27
  340. package/dist/src/coin/avaxc/transactionBuilder.d.ts.map +0 -1
  341. package/dist/src/coin/avaxc/transactionBuilder.js +0 -64
  342. package/dist/src/coin/avaxc/transferBuilder.d.ts.map +0 -1
  343. package/dist/src/coin/avaxc/transferBuilder.js +0 -45
  344. package/dist/src/coin/avaxc/utils.d.ts +0 -39
  345. package/dist/src/coin/avaxc/utils.d.ts.map +0 -1
  346. package/dist/src/coin/avaxc/utils.js +0 -110
  347. package/dist/src/coin/avaxc/walletUtil.d.ts +0 -22
  348. package/dist/src/coin/avaxc/walletUtil.d.ts.map +0 -1
  349. package/dist/src/coin/avaxc/walletUtil.js +0 -62
  350. package/dist/src/coin/baseCoin/baseKeyPair.d.ts +0 -27
  351. package/dist/src/coin/baseCoin/baseKeyPair.d.ts.map +0 -1
  352. package/dist/src/coin/baseCoin/baseKeyPair.js +0 -3
  353. package/dist/src/coin/baseCoin/baseTransaction.d.ts +0 -71
  354. package/dist/src/coin/baseCoin/baseTransaction.d.ts.map +0 -1
  355. package/dist/src/coin/baseCoin/baseTransaction.js +0 -94
  356. package/dist/src/coin/baseCoin/baseTransactionBuilder.d.ts +0 -128
  357. package/dist/src/coin/baseCoin/baseTransactionBuilder.d.ts.map +0 -1
  358. package/dist/src/coin/baseCoin/baseTransactionBuilder.js +0 -179
  359. package/dist/src/coin/baseCoin/baseTransactionBuilderFactory.d.ts +0 -30
  360. package/dist/src/coin/baseCoin/baseTransactionBuilderFactory.d.ts.map +0 -1
  361. package/dist/src/coin/baseCoin/baseTransactionBuilderFactory.js +0 -20
  362. package/dist/src/coin/baseCoin/baseUtils.d.ts +0 -45
  363. package/dist/src/coin/baseCoin/baseUtils.d.ts.map +0 -1
  364. package/dist/src/coin/baseCoin/baseUtils.js +0 -3
  365. package/dist/src/coin/baseCoin/blsKeyPair.d.ts +0 -75
  366. package/dist/src/coin/baseCoin/blsKeyPair.d.ts.map +0 -1
  367. package/dist/src/coin/baseCoin/blsKeyPair.js +0 -232
  368. package/dist/src/coin/baseCoin/ed25519KeyPair.d.ts +0 -50
  369. package/dist/src/coin/baseCoin/ed25519KeyPair.d.ts.map +0 -1
  370. package/dist/src/coin/baseCoin/ed25519KeyPair.js +0 -141
  371. package/dist/src/coin/baseCoin/enum.d.ts +0 -43
  372. package/dist/src/coin/baseCoin/enum.d.ts.map +0 -1
  373. package/dist/src/coin/baseCoin/enum.js +0 -70
  374. package/dist/src/coin/baseCoin/errors.d.ts +0 -65
  375. package/dist/src/coin/baseCoin/errors.d.ts.map +0 -1
  376. package/dist/src/coin/baseCoin/errors.js +0 -156
  377. package/dist/src/coin/baseCoin/iface.d.ts +0 -162
  378. package/dist/src/coin/baseCoin/iface.d.ts.map +0 -1
  379. package/dist/src/coin/baseCoin/iface.js +0 -38
  380. package/dist/src/coin/baseCoin/index.d.ts +0 -12
  381. package/dist/src/coin/baseCoin/index.d.ts.map +0 -1
  382. package/dist/src/coin/baseCoin/index.js +0 -41
  383. package/dist/src/coin/baseCoin/secp256k1ExtendedKeyPair.d.ts +0 -55
  384. package/dist/src/coin/baseCoin/secp256k1ExtendedKeyPair.d.ts.map +0 -1
  385. package/dist/src/coin/baseCoin/secp256k1ExtendedKeyPair.js +0 -124
  386. package/dist/src/coin/celo/index.d.ts +0 -8
  387. package/dist/src/coin/celo/index.d.ts.map +0 -1
  388. package/dist/src/coin/celo/resources.d.ts +0 -10
  389. package/dist/src/coin/celo/resources.d.ts.map +0 -1
  390. package/dist/src/coin/celo/resources.js +0 -26
  391. package/dist/src/coin/celo/stakingBuilder.d.ts +0 -91
  392. package/dist/src/coin/celo/stakingBuilder.d.ts.map +0 -1
  393. package/dist/src/coin/celo/stakingBuilder.js +0 -279
  394. package/dist/src/coin/celo/stakingCall.d.ts +0 -7
  395. package/dist/src/coin/celo/stakingCall.d.ts.map +0 -1
  396. package/dist/src/coin/celo/stakingCall.js +0 -31
  397. package/dist/src/coin/celo/stakingUtils.d.ts +0 -15
  398. package/dist/src/coin/celo/stakingUtils.d.ts.map +0 -1
  399. package/dist/src/coin/celo/stakingUtils.js +0 -99
  400. package/dist/src/coin/celo/transaction.d.ts +0 -10
  401. package/dist/src/coin/celo/transaction.d.ts.map +0 -1
  402. package/dist/src/coin/celo/transaction.js +0 -57
  403. package/dist/src/coin/celo/transactionBuilder.d.ts +0 -86
  404. package/dist/src/coin/celo/transactionBuilder.d.ts.map +0 -1
  405. package/dist/src/coin/celo/transactionBuilder.js +0 -247
  406. package/dist/src/coin/celo/transferBuilder.d.ts +0 -19
  407. package/dist/src/coin/celo/transferBuilder.d.ts.map +0 -1
  408. package/dist/src/coin/celo/transferBuilder.js +0 -47
  409. package/dist/src/coin/celo/types.d.ts +0 -52
  410. package/dist/src/coin/celo/types.d.ts.map +0 -1
  411. package/dist/src/coin/celo/types.js +0 -276
  412. package/dist/src/coin/celo/utils.d.ts +0 -18
  413. package/dist/src/coin/celo/utils.d.ts.map +0 -1
  414. package/dist/src/coin/celo/utils.js +0 -99
  415. package/dist/src/coin/cspr/constants.d.ts +0 -19
  416. package/dist/src/coin/cspr/constants.d.ts.map +0 -1
  417. package/dist/src/coin/cspr/constants.js +0 -28
  418. package/dist/src/coin/cspr/delegateBuilder.d.ts +0 -49
  419. package/dist/src/coin/cspr/delegateBuilder.d.ts.map +0 -1
  420. package/dist/src/coin/cspr/delegateBuilder.js +0 -175
  421. package/dist/src/coin/cspr/ifaces.d.ts +0 -69
  422. package/dist/src/coin/cspr/ifaces.d.ts.map +0 -1
  423. package/dist/src/coin/cspr/ifaces.js +0 -3
  424. package/dist/src/coin/cspr/index.d.ts +0 -5
  425. package/dist/src/coin/cspr/index.d.ts.map +0 -1
  426. package/dist/src/coin/cspr/index.js +0 -29
  427. package/dist/src/coin/cspr/keyPair.d.ts +0 -19
  428. package/dist/src/coin/cspr/keyPair.d.ts.map +0 -1
  429. package/dist/src/coin/cspr/keyPair.js +0 -94
  430. package/dist/src/coin/cspr/transaction.d.ts +0 -56
  431. package/dist/src/coin/cspr/transaction.d.ts.map +0 -1
  432. package/dist/src/coin/cspr/transaction.js +0 -251
  433. package/dist/src/coin/cspr/transactionBuilder.d.ts +0 -125
  434. package/dist/src/coin/cspr/transactionBuilder.d.ts.map +0 -1
  435. package/dist/src/coin/cspr/transactionBuilder.js +0 -383
  436. package/dist/src/coin/cspr/transactionBuilderFactory.d.ts +0 -46
  437. package/dist/src/coin/cspr/transactionBuilderFactory.d.ts.map +0 -1
  438. package/dist/src/coin/cspr/transactionBuilderFactory.js +0 -116
  439. package/dist/src/coin/cspr/transferBuilder.d.ts +0 -39
  440. package/dist/src/coin/cspr/transferBuilder.d.ts.map +0 -1
  441. package/dist/src/coin/cspr/transferBuilder.js +0 -169
  442. package/dist/src/coin/cspr/undelegateBuilder.d.ts +0 -49
  443. package/dist/src/coin/cspr/undelegateBuilder.d.ts.map +0 -1
  444. package/dist/src/coin/cspr/undelegateBuilder.js +0 -175
  445. package/dist/src/coin/cspr/utils.d.ts +0 -189
  446. package/dist/src/coin/cspr/utils.d.ts.map +0 -1
  447. package/dist/src/coin/cspr/utils.js +0 -483
  448. package/dist/src/coin/cspr/walletInitializationBuilder.d.ts +0 -27
  449. package/dist/src/coin/cspr/walletInitializationBuilder.d.ts.map +0 -1
  450. package/dist/src/coin/cspr/walletInitializationBuilder.js +0 -160
  451. package/dist/src/coin/eth/contractCall.d.ts +0 -8
  452. package/dist/src/coin/eth/contractCall.d.ts.map +0 -1
  453. package/dist/src/coin/eth/contractCall.js +0 -18
  454. package/dist/src/coin/eth/iface.d.ts +0 -122
  455. package/dist/src/coin/eth/iface.d.ts.map +0 -1
  456. package/dist/src/coin/eth/iface.js +0 -8
  457. package/dist/src/coin/eth/index.d.ts +0 -10
  458. package/dist/src/coin/eth/index.d.ts.map +0 -1
  459. package/dist/src/coin/eth/index.js +0 -39
  460. package/dist/src/coin/eth/keyPair.d.ts +0 -27
  461. package/dist/src/coin/eth/keyPair.d.ts.map +0 -1
  462. package/dist/src/coin/eth/keyPair.js +0 -104
  463. package/dist/src/coin/eth/transaction.d.ts +0 -65
  464. package/dist/src/coin/eth/transaction.d.ts.map +0 -1
  465. package/dist/src/coin/eth/transaction.js +0 -203
  466. package/dist/src/coin/eth/transactionBuilder.d.ts +0 -195
  467. package/dist/src/coin/eth/transactionBuilder.d.ts.map +0 -1
  468. package/dist/src/coin/eth/transactionBuilder.js +0 -695
  469. package/dist/src/coin/eth/transferBuilder/baseNFTTransferBuilder.d.ts +0 -47
  470. package/dist/src/coin/eth/transferBuilder/baseNFTTransferBuilder.d.ts.map +0 -1
  471. package/dist/src/coin/eth/transferBuilder/baseNFTTransferBuilder.js +0 -114
  472. package/dist/src/coin/eth/transferBuilder/transferBuilderERC1155.d.ts +0 -14
  473. package/dist/src/coin/eth/transferBuilder/transferBuilderERC1155.d.ts.map +0 -1
  474. package/dist/src/coin/eth/transferBuilder/transferBuilderERC1155.js +0 -100
  475. package/dist/src/coin/eth/transferBuilder/transferBuilderERC721.d.ts +0 -13
  476. package/dist/src/coin/eth/transferBuilder/transferBuilderERC721.d.ts.map +0 -1
  477. package/dist/src/coin/eth/transferBuilder/transferBuilderERC721.js +0 -85
  478. package/dist/src/coin/eth/transferBuilder.d.ts +0 -65
  479. package/dist/src/coin/eth/transferBuilder.d.ts.map +0 -1
  480. package/dist/src/coin/eth/transferBuilder.js +0 -198
  481. package/dist/src/coin/eth/types.d.ts +0 -39
  482. package/dist/src/coin/eth/types.d.ts.map +0 -1
  483. package/dist/src/coin/eth/types.js +0 -139
  484. package/dist/src/coin/eth/utils.d.ts +0 -201
  485. package/dist/src/coin/eth/utils.d.ts.map +0 -1
  486. package/dist/src/coin/eth/utils.js +0 -533
  487. package/dist/src/coin/eth/walletUtil.d.ts +0 -19
  488. package/dist/src/coin/eth/walletUtil.d.ts.map +0 -1
  489. package/dist/src/coin/eth/walletUtil.js +0 -29
  490. package/dist/src/coin/hbar/ifaces.d.ts +0 -26
  491. package/dist/src/coin/hbar/ifaces.d.ts.map +0 -1
  492. package/dist/src/coin/hbar/ifaces.js +0 -3
  493. package/dist/src/coin/stx/abstractContractBuilder.d.ts +0 -19
  494. package/dist/src/coin/stx/abstractContractBuilder.d.ts.map +0 -1
  495. package/dist/src/coin/stx/abstractContractBuilder.js +0 -140
  496. package/dist/src/coin/stx/constants.d.ts +0 -8
  497. package/dist/src/coin/stx/constants.d.ts.map +0 -1
  498. package/dist/src/coin/stx/constants.js +0 -19
  499. package/dist/src/coin/stx/contractBuilder.d.ts +0 -33
  500. package/dist/src/coin/stx/contractBuilder.d.ts.map +0 -1
  501. package/dist/src/coin/stx/contractBuilder.js +0 -135
  502. package/dist/src/coin/stx/iface.d.ts +0 -48
  503. package/dist/src/coin/stx/iface.d.ts.map +0 -1
  504. package/dist/src/coin/stx/iface.js +0 -3
  505. package/dist/src/coin/stx/index.d.ts +0 -6
  506. package/dist/src/coin/stx/index.d.ts.map +0 -1
  507. package/dist/src/coin/stx/index.js +0 -32
  508. package/dist/src/coin/stx/keyPair.d.ts +0 -56
  509. package/dist/src/coin/stx/keyPair.d.ts.map +0 -1
  510. package/dist/src/coin/stx/keyPair.js +0 -163
  511. package/dist/src/coin/stx/sendmanyBuilder.d.ts +0 -23
  512. package/dist/src/coin/stx/sendmanyBuilder.d.ts.map +0 -1
  513. package/dist/src/coin/stx/sendmanyBuilder.js +0 -140
  514. package/dist/src/coin/stx/transaction.d.ts +0 -50
  515. package/dist/src/coin/stx/transaction.d.ts.map +0 -1
  516. package/dist/src/coin/stx/transaction.js +0 -306
  517. package/dist/src/coin/stx/transactionBuilder.d.ts +0 -87
  518. package/dist/src/coin/stx/transactionBuilder.d.ts.map +0 -1
  519. package/dist/src/coin/stx/transactionBuilder.js +0 -360
  520. package/dist/src/coin/stx/transactionBuilderFactory.d.ts +0 -30
  521. package/dist/src/coin/stx/transactionBuilderFactory.d.ts.map +0 -1
  522. package/dist/src/coin/stx/transactionBuilderFactory.js +0 -99
  523. package/dist/src/coin/stx/transferBuilder.d.ts +0 -30
  524. package/dist/src/coin/stx/transferBuilder.d.ts.map +0 -1
  525. package/dist/src/coin/stx/transferBuilder.js +0 -169
  526. package/dist/src/coin/stx/utils.d.ts +0 -207
  527. package/dist/src/coin/stx/utils.d.ts.map +0 -1
  528. package/dist/src/coin/stx/utils.js +0 -510
  529. package/dist/src/coin/xtz/address.d.ts +0 -8
  530. package/dist/src/coin/xtz/address.d.ts.map +0 -1
  531. package/dist/src/coin/xtz/address.js +0 -13
  532. package/dist/src/coin/xtz/iface.d.ts +0 -81
  533. package/dist/src/coin/xtz/iface.d.ts.map +0 -1
  534. package/dist/src/coin/xtz/iface.js +0 -3
  535. package/dist/src/coin/xtz/index.d.ts +0 -8
  536. package/dist/src/coin/xtz/index.d.ts.map +0 -1
  537. package/dist/src/coin/xtz/index.js +0 -37
  538. package/dist/src/coin/xtz/keyPair.d.ts +0 -41
  539. package/dist/src/coin/xtz/keyPair.d.ts.map +0 -1
  540. package/dist/src/coin/xtz/keyPair.js +0 -156
  541. package/dist/src/coin/xtz/multisigUtils.d.ts +0 -134
  542. package/dist/src/coin/xtz/multisigUtils.d.ts.map +0 -1
  543. package/dist/src/coin/xtz/multisigUtils.js +0 -1193
  544. package/dist/src/coin/xtz/transaction.d.ts +0 -120
  545. package/dist/src/coin/xtz/transaction.d.ts.map +0 -1
  546. package/dist/src/coin/xtz/transaction.js +0 -485
  547. package/dist/src/coin/xtz/transactionBuilder.d.ts +0 -172
  548. package/dist/src/coin/xtz/transactionBuilder.d.ts.map +0 -1
  549. package/dist/src/coin/xtz/transactionBuilder.js +0 -588
  550. package/dist/src/coin/xtz/transferBuilder.d.ts +0 -24
  551. package/dist/src/coin/xtz/transferBuilder.d.ts.map +0 -1
  552. package/dist/src/coin/xtz/transferBuilder.js +0 -67
  553. package/dist/src/coin/xtz/utils.d.ts +0 -265
  554. package/dist/src/coin/xtz/utils.d.ts.map +0 -1
  555. package/dist/src/coin/xtz/utils.js +0 -531
  556. package/dist/src/mpc/curves/baseCurve.d.ts +0 -18
  557. package/dist/src/mpc/curves/baseCurve.d.ts.map +0 -1
  558. package/dist/src/mpc/curves/baseCurve.js +0 -6
  559. package/dist/src/mpc/curves/ed25519.d.ts +0 -17
  560. package/dist/src/mpc/curves/ed25519.d.ts.map +0 -1
  561. package/dist/src/mpc/curves/ed25519.js +0 -96
  562. package/dist/src/mpc/curves/index.d.ts +0 -5
  563. package/dist/src/mpc/curves/index.d.ts.map +0 -1
  564. package/dist/src/mpc/curves/index.js +0 -6
  565. package/dist/src/mpc/hdTree.d.ts +0 -24
  566. package/dist/src/mpc/hdTree.d.ts.map +0 -1
  567. package/dist/src/mpc/hdTree.js +0 -143
  568. package/dist/src/mpc/shamir.d.ts +0 -26
  569. package/dist/src/mpc/shamir.d.ts.map +0 -1
  570. package/dist/src/mpc/shamir.js +0 -87
  571. package/dist/src/mpc/tss.d.ts +0 -98
  572. package/dist/src/mpc/tss.d.ts.map +0 -1
  573. package/dist/src/mpc/tss.js +0 -346
  574. package/dist/src/mpc/util.d.ts +0 -7
  575. package/dist/src/mpc/util.d.ts.map +0 -1
  576. package/dist/src/mpc/util.js +0 -38
  577. package/dist/src/utils/crypto.d.ts +0 -99
  578. package/dist/src/utils/crypto.d.ts.map +0 -1
  579. package/dist/src/utils/crypto.js +0 -260
  580. package/dist/src/utils/ed25519KeyDeriver.d.ts +0 -49
  581. package/dist/src/utils/ed25519KeyDeriver.d.ts.map +0 -1
  582. package/dist/src/utils/ed25519KeyDeriver.js +0 -92
  583. package/resources/hbar/protobuf/BasicTypes.proto +0 -424
  584. package/resources/hbar/protobuf/CryptoCreate.proto +0 -47
  585. package/resources/hbar/protobuf/CryptoTransfer.proto +0 -33
  586. package/resources/hbar/protobuf/Duration.proto +0 -28
  587. package/resources/hbar/protobuf/Timestamp.proto +0 -34
  588. package/resources/hbar/protobuf/Transaction.proto +0 -35
  589. package/resources/hbar/protobuf/TransactionBody.proto +0 -24
  590. package/resources/hbar/protobuf/TransactionContents.proto +0 -33
  591. package/resources/hbar/protobuf/hedera.d.ts +0 -4612
  592. package/resources/hbar/protobuf/hedera.js +0 -12192
@@ -1,531 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
22
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
23
- return new (P || (P = Promise))(function (resolve, reject) {
24
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
25
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
26
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
27
- step((generator = generator.apply(thisArg, _arguments || [])).next());
28
- });
29
- };
30
- var __generator = (this && this.__generator) || function (thisArg, body) {
31
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
32
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
33
- function verb(n) { return function (v) { return step([n, v]); }; }
34
- function step(op) {
35
- if (f) throw new TypeError("Generator is already executing.");
36
- while (_) try {
37
- 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;
38
- if (y = 0, t) op = [op[0] & 2, t.value];
39
- switch (op[0]) {
40
- case 0: case 1: t = op; break;
41
- case 4: _.label++; return { value: op[1], done: false };
42
- case 5: _.label++; y = op[1]; op = [0]; continue;
43
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
44
- default:
45
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
46
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
47
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
48
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
49
- if (t[2]) _.ops.pop();
50
- _.trys.pop(); continue;
51
- }
52
- op = body.call(thisArg, _);
53
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
54
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
55
- }
56
- };
57
- var __importDefault = (this && this.__importDefault) || function (mod) {
58
- return (mod && mod.__esModule) ? mod : { "default": mod };
59
- };
60
- Object.defineProperty(exports, "__esModule", { value: true });
61
- exports.DEFAULT_STORAGE_LIMIT = exports.DEFAULT_FEE = exports.DEFAULT_GAS_LIMIT = exports.hashTypes = exports.decodeSignature = exports.decodeKey = exports.isValidKey = exports.isValidTransactionHash = exports.isValidBlockHash = exports.isValidPrivateKey = exports.isValidPublicKey = exports.isValidSignature = exports.isValidOriginatedAddress = exports.isValidImplicitAddress = exports.isValidAddress = exports.isValidHash = exports.generateDataToSign = exports.verifySignature = exports.sign = exports.calculateOriginatedAddress = exports.calculateTransactionId = exports.base58encode = exports.DEFAULT_WATERMARK = void 0;
62
- var base58check = __importStar(require("bs58check"));
63
- var libsodium_wrappers_1 = __importDefault(require("libsodium-wrappers"));
64
- var signer_1 = require("@taquito/signer");
65
- var elliptic_1 = require("elliptic");
66
- var errors_1 = require("../baseCoin/errors");
67
- var multisigUtils_1 = require("./multisigUtils");
68
- var Crypto = __importStar(require("./../../utils/crypto"));
69
- // By default, use the transactions prefix
70
- exports.DEFAULT_WATERMARK = new Uint8Array([3]);
71
- /**
72
- * Encode the payload to base58 with a specific Tezos prefix.
73
- *
74
- * @param {Buffer} prefix to add to the encoded payload
75
- * @param {Buffer} payload to encode
76
- * @returns {any} base58 payload with a Tezos prefix
77
- */
78
- function base58encode(prefix, payload) {
79
- var n = Buffer.alloc(prefix.length + payload.length);
80
- n.set(prefix);
81
- n.set(payload, prefix.length);
82
- return base58check.encode(n);
83
- }
84
- exports.base58encode = base58encode;
85
- /**
86
- * Calculate the transaction id for a for a signed transaction.
87
- *
88
- * @param {string} encodedTransaction Signed transaction in hexadecimal
89
- * @returns {Promise<string>} The transaction id
90
- */
91
- function calculateTransactionId(encodedTransaction) {
92
- return __awaiter(this, void 0, void 0, function () {
93
- var encodedTransactionBuffer, operationHashPayload;
94
- return __generator(this, function (_a) {
95
- switch (_a.label) {
96
- case 0: return [4 /*yield*/, libsodium_wrappers_1.default.ready];
97
- case 1:
98
- _a.sent();
99
- encodedTransactionBuffer = Uint8Array.from(Buffer.from(encodedTransaction, 'hex'));
100
- operationHashPayload = libsodium_wrappers_1.default.crypto_generichash(32, encodedTransactionBuffer);
101
- return [2 /*return*/, base58encode(exports.hashTypes.o.prefix, Buffer.from(operationHashPayload))];
102
- }
103
- });
104
- });
105
- }
106
- exports.calculateTransactionId = calculateTransactionId;
107
- /**
108
- * Calculate the address of a new originated account.
109
- *
110
- * @param {string} transactionId The transaction id
111
- * @param {number} index The index of the origination operation inside the transaction (starts at 0)
112
- * @returns {Promise<string>} An originated address with the KT prefix
113
- */
114
- function calculateOriginatedAddress(transactionId, index) {
115
- return __awaiter(this, void 0, void 0, function () {
116
- var ob, tt, i, payload;
117
- return __generator(this, function (_a) {
118
- switch (_a.label) {
119
- case 0:
120
- ob = base58check.decode(transactionId).slice(exports.hashTypes.o.prefix.length);
121
- tt = [];
122
- for (i = 0; i < ob.length; i++) {
123
- tt.push(ob[i]);
124
- }
125
- tt = tt.concat([
126
- (index & 0xff000000) >> 24,
127
- (index & 0x00ff0000) >> 16,
128
- (index & 0x0000ff00) >> 8,
129
- index & 0x000000ff,
130
- ]);
131
- return [4 /*yield*/, libsodium_wrappers_1.default.ready];
132
- case 1:
133
- _a.sent();
134
- payload = libsodium_wrappers_1.default.crypto_generichash(20, new Uint8Array(tt));
135
- return [2 /*return*/, base58encode(exports.hashTypes.KT.prefix, Buffer.from(payload))];
136
- }
137
- });
138
- });
139
- }
140
- exports.calculateOriginatedAddress = calculateOriginatedAddress;
141
- /**
142
- * Generic data signing using Tezos library.
143
- *
144
- * @param {KeyPair} keyPair A Key Pair with a private key set
145
- * @param {string} data The data in hexadecimal to sign
146
- * @param {Uint8Array} watermark Magic byte: 1 for block, 2 for endorsement, 3 for generic
147
- * @returns {Promise<SignResponse>}
148
- */
149
- function sign(keyPair, data, watermark) {
150
- if (watermark === void 0) { watermark = exports.DEFAULT_WATERMARK; }
151
- return __awaiter(this, void 0, void 0, function () {
152
- var signer;
153
- return __generator(this, function (_a) {
154
- if (!keyPair.getKeys().prv) {
155
- throw new errors_1.SigningError('Missing private key');
156
- }
157
- signer = new signer_1.InMemorySigner(keyPair.getKeys().prv);
158
- return [2 /*return*/, signer.sign(data, watermark)];
159
- });
160
- });
161
- }
162
- exports.sign = sign;
163
- /**
164
- * Verifies the signature produced for a given message belongs to a secp256k1 public key.
165
- *
166
- * @param {string} message Message in hex format to verify
167
- * @param {string} publicKey secp256k1 public key with "sppk" prefix to verify the signature with
168
- * @param {string} signature Tezos signature with "sig" prefix
169
- * @param {Uint8Array} watermark Optional watermark used to generate the signature
170
- * @returns {Promise<boolean>}
171
- */
172
- function verifySignature(message, publicKey, signature, watermark) {
173
- if (watermark === void 0) { watermark = exports.DEFAULT_WATERMARK; }
174
- return __awaiter(this, void 0, void 0, function () {
175
- var rawPublicKey, ec, key, messageBuffer, messageWithWatermark, bytesHash, rawSignature;
176
- return __generator(this, function (_a) {
177
- switch (_a.label) {
178
- case 0:
179
- rawPublicKey = decodeKey(publicKey, exports.hashTypes.sppk);
180
- ec = new elliptic_1.ec('secp256k1');
181
- key = ec.keyFromPublic(rawPublicKey);
182
- messageBuffer = Uint8Array.from(Buffer.from(message, 'hex'));
183
- messageWithWatermark = new Uint8Array(watermark.length + messageBuffer.length);
184
- messageWithWatermark.set(watermark);
185
- messageWithWatermark.set(messageBuffer, watermark.length);
186
- return [4 /*yield*/, libsodium_wrappers_1.default.ready];
187
- case 1:
188
- _a.sent();
189
- bytesHash = Buffer.from(libsodium_wrappers_1.default.crypto_generichash(32, messageWithWatermark));
190
- rawSignature = decodeSignature(signature, exports.hashTypes.sig);
191
- return [2 /*return*/, key.verify(bytesHash, { r: rawSignature.slice(0, 32), s: rawSignature.slice(32, 64) })];
192
- }
193
- });
194
- });
195
- }
196
- exports.verifySignature = verifySignature;
197
- /**
198
- * Useful wrapper to create the generic multisig contract data to sign when moving funds.
199
- *
200
- * @param {string} contractAddress The wallet contract address with the funds to withdraw
201
- * @param {string} destinationAddress The address to transfer the funds to
202
- * @param {number} amount Number mutez to transfer
203
- * @param {string} contractCounter Wallet counter to use in the transaction
204
- * @returns {any} A JSON representation of the Michelson script to sign and approve a transfer
205
- */
206
- function generateDataToSign(contractAddress, destinationAddress, amount, contractCounter) {
207
- if (!isValidOriginatedAddress(contractAddress)) {
208
- throw new Error('Invalid contract address ' + contractAddress + '. An originated account address was expected');
209
- }
210
- if (!isValidAddress(destinationAddress)) {
211
- throw new Error('Invalid destination address ' + destinationAddress);
212
- }
213
- return multisigUtils_1.genericMultisigDataToSign(contractAddress, destinationAddress, amount, contractCounter);
214
- }
215
- exports.generateDataToSign = generateDataToSign;
216
- /**
217
- * Returns whether or not the string is a valid Tezos hash of the given type
218
- *
219
- * @param {string} hash - the string to validate
220
- * @param {HashType} hashType - the type of the provided hash
221
- * @returns {boolean}
222
- */
223
- function isValidHash(hash, hashType) {
224
- // Validate encoding
225
- var decodedHash;
226
- try {
227
- decodedHash = base58check.decode(hash);
228
- }
229
- catch (e) {
230
- return false;
231
- }
232
- var hashPrefix = decodedHash.slice(0, hashType.prefix.length);
233
- // Check prefix
234
- if (!hashPrefix.equals(Buffer.from(hashType.prefix))) {
235
- return false;
236
- }
237
- // Check length
238
- var hashLength = decodedHash.length - hashPrefix.length;
239
- return hashLength === hashType.byteLength;
240
- }
241
- exports.isValidHash = isValidHash;
242
- /**
243
- * Returns whether or not the string is a valid Tezos address
244
- *
245
- * @param {string} hash - the address to validate
246
- * @returns {boolean}
247
- */
248
- function isValidAddress(hash) {
249
- return isValidImplicitAddress(hash) || isValidHash(hash, exports.hashTypes.KT);
250
- }
251
- exports.isValidAddress = isValidAddress;
252
- /**
253
- * Returns whether or not the string is a valid Tezos implicit account address
254
- *
255
- * @param {string} hash - the address to validate
256
- * @returns {boolean}
257
- */
258
- function isValidImplicitAddress(hash) {
259
- return isValidHash(hash, exports.hashTypes.tz1) || isValidHash(hash, exports.hashTypes.tz2) || isValidHash(hash, exports.hashTypes.tz3);
260
- }
261
- exports.isValidImplicitAddress = isValidImplicitAddress;
262
- /**
263
- * Returns whether or not the string is a valid Tezos originated account address
264
- *
265
- * @param {string} hash - the address to validate
266
- * @returns {boolean}
267
- */
268
- function isValidOriginatedAddress(hash) {
269
- return isValidHash(hash, exports.hashTypes.KT);
270
- }
271
- exports.isValidOriginatedAddress = isValidOriginatedAddress;
272
- /**
273
- * Returns whether or not the string is a valid Tezos signature
274
- *
275
- * @param {string} hash - the signature to validate
276
- * @returns {boolean}
277
- */
278
- function isValidSignature(hash) {
279
- return (isValidHash(hash, exports.hashTypes.edsig) ||
280
- isValidHash(hash, exports.hashTypes.spsig1) ||
281
- isValidHash(hash, exports.hashTypes.p2sig) ||
282
- isValidHash(hash, exports.hashTypes.sig));
283
- }
284
- exports.isValidSignature = isValidSignature;
285
- /**
286
- * Returns whether or not the string is a valid Tezos public key
287
- *
288
- * @param {string} publicKey The public key to validate
289
- * @returns {boolean}
290
- */
291
- function isValidPublicKey(publicKey) {
292
- return (isValidHash(publicKey, exports.hashTypes.sppk) ||
293
- isValidHash(publicKey, exports.hashTypes.p2pk) ||
294
- isValidHash(publicKey, exports.hashTypes.edpk) ||
295
- Crypto.isValidXpub(publicKey) // xpubs are valid too.
296
- );
297
- }
298
- exports.isValidPublicKey = isValidPublicKey;
299
- /**
300
- * Returns whether or not the string is a valid Tezos private key
301
- *
302
- * @param {string} privateKey The private key to validate
303
- * @returns {boolean}
304
- */
305
- function isValidPrivateKey(privateKey) {
306
- return (isValidHash(privateKey, exports.hashTypes.edesk) ||
307
- isValidHash(privateKey, exports.hashTypes.edsk) ||
308
- isValidHash(privateKey, exports.hashTypes.spsk) ||
309
- isValidHash(privateKey, exports.hashTypes.p2sk));
310
- }
311
- exports.isValidPrivateKey = isValidPrivateKey;
312
- /**
313
- * Returns whether or not the string is a valid Tezos block hash
314
- *
315
- * @param {string} hash - the address to validate
316
- * @returns {boolean}
317
- */
318
- function isValidBlockHash(hash) {
319
- return isValidHash(hash, exports.hashTypes.b);
320
- }
321
- exports.isValidBlockHash = isValidBlockHash;
322
- /**
323
- * Returns whether or not the string is a valid Tezos transaction hash
324
- *
325
- * @param {string} hash - the address to validate
326
- * @returns {boolean}
327
- */
328
- function isValidTransactionHash(hash) {
329
- return isValidHash(hash, exports.hashTypes.o);
330
- }
331
- exports.isValidTransactionHash = isValidTransactionHash;
332
- /**
333
- * Returns whether or not the string is a valid Tezos key given a prefix
334
- *
335
- * @param {string} hash - the key to validate
336
- * @param {HashType} hashType - the type of the provided hash
337
- * @returns {boolean}
338
- */
339
- function isValidKey(hash, hashType) {
340
- return isValidHash(hash, hashType);
341
- }
342
- exports.isValidKey = isValidKey;
343
- /**
344
- * Get the original key form the text without the given prefix.
345
- *
346
- * @param {string} hash - base58 encoded key with a Tezos prefix
347
- * @param {HashType} hashType - the type of the provided hash
348
- * @returns {Buffer} the original decoded key
349
- */
350
- function decodeKey(hash, hashType) {
351
- if (!isValidKey(hash, hashType)) {
352
- throw new Error('Unsupported private key');
353
- }
354
- var decodedPrv = base58check.decode(hash);
355
- return Buffer.from(decodedPrv.slice(hashType.prefix.length, decodedPrv.length));
356
- }
357
- exports.decodeKey = decodeKey;
358
- /**
359
- * Get the raw signature from a Tezos encoded one.
360
- *
361
- * @param {string} signature Tezos signatures prefixed with sig, edsig, p2sig or spsig
362
- * @param {HashType} hashType The prefix of remove
363
- * @returns {Buffer} The decoded signature without prefix
364
- */
365
- function decodeSignature(signature, hashType) {
366
- if (!isValidSignature(signature)) {
367
- throw new Error('Unsupported signature');
368
- }
369
- var decodedPrv = base58check.decode(signature);
370
- return Buffer.from(decodedPrv.slice(hashType.prefix.length, decodedPrv.length));
371
- }
372
- exports.decodeSignature = decodeSignature;
373
- // Base58Check is used for encoding
374
- // hashedTypes is used to validate hashes by type, by checking their prefix and
375
- // the length of the Buffer obtained by decoding the hash (excluding the prefix)
376
- exports.hashTypes = {
377
- /* 20 bytes long */
378
- // ed25519 public key hash
379
- tz1: {
380
- prefix: Buffer.from([6, 161, 159]),
381
- byteLength: 20,
382
- },
383
- // secp256k1 public key hash
384
- tz2: {
385
- prefix: Buffer.from([6, 161, 161]),
386
- byteLength: 20,
387
- },
388
- // p256 public key hash
389
- tz3: {
390
- prefix: Buffer.from([6, 161, 164]),
391
- byteLength: 20,
392
- },
393
- KT: {
394
- prefix: Buffer.from([2, 90, 121]),
395
- byteLength: 20,
396
- },
397
- /* 32 bytes long */
398
- // ed25519 public key
399
- edpk: {
400
- prefix: Buffer.from([13, 15, 37, 217]),
401
- byteLength: 32,
402
- },
403
- // ed25519 secret key
404
- edsk2: {
405
- prefix: Buffer.from([13, 15, 58, 7]),
406
- byteLength: 32,
407
- },
408
- // secp256k1 secret key
409
- spsk: {
410
- prefix: Buffer.from([17, 162, 224, 201]),
411
- byteLength: 32,
412
- },
413
- // p256 secret key
414
- p2sk: {
415
- prefix: Buffer.from([16, 81, 238, 189]),
416
- byteLength: 32,
417
- },
418
- // block hash
419
- b: {
420
- prefix: Buffer.from([1, 52]),
421
- byteLength: 32,
422
- },
423
- // operation hash
424
- o: {
425
- prefix: Buffer.from([5, 116]),
426
- byteLength: 32,
427
- },
428
- // operation list hash
429
- Lo: {
430
- prefix: Buffer.from([133, 233]),
431
- byteLength: 32,
432
- },
433
- // operation list list hash
434
- LLo: {
435
- prefix: Buffer.from([29, 159, 109]),
436
- byteLength: 32,
437
- },
438
- // protocol hash
439
- P: {
440
- prefix: Buffer.from([2, 170]),
441
- byteLength: 32,
442
- },
443
- // context hash
444
- Co: {
445
- prefix: Buffer.from([79, 179]),
446
- byteLength: 32,
447
- },
448
- /* 33 bytes long */
449
- // secp256k1 public key
450
- sppk: {
451
- prefix: Buffer.from([3, 254, 226, 86]),
452
- byteLength: 33,
453
- },
454
- // p256 public key
455
- p2pk: {
456
- prefix: Buffer.from([3, 178, 139, 127]),
457
- byteLength: 33,
458
- },
459
- /* 56 bytes long */
460
- // ed25519 encrypted seed
461
- edesk: {
462
- prefix: Buffer.from([7, 90, 60, 179, 41]),
463
- byteLength: 56,
464
- },
465
- /* 63 bytes long */
466
- // ed25519 secret key
467
- edsk: {
468
- prefix: Buffer.from([43, 246, 78, 7]),
469
- byteLength: 64,
470
- },
471
- // ed25519 signature
472
- edsig: {
473
- prefix: Buffer.from([9, 245, 205, 134, 18]),
474
- byteLength: 64,
475
- },
476
- // secp256k1 signature
477
- spsig1: {
478
- prefix: Buffer.from([13, 115, 101, 19, 63]),
479
- byteLength: 64,
480
- },
481
- // p256_signature
482
- p2sig: {
483
- prefix: Buffer.from([54, 240, 44, 52]),
484
- byteLength: 64,
485
- },
486
- // generic signature
487
- sig: {
488
- prefix: Buffer.from([4, 130, 43]),
489
- byteLength: 64,
490
- },
491
- /* 15 bytes long */
492
- // network hash
493
- Net: {
494
- prefix: Buffer.from([87, 82, 0]),
495
- byteLength: 15,
496
- },
497
- // nonce hash
498
- nce: {
499
- prefix: Buffer.from([69, 220, 169]),
500
- byteLength: 15,
501
- },
502
- /* 4 bytes long */
503
- // chain id
504
- id: {
505
- prefix: Buffer.from([153, 103]),
506
- byteLength: 4,
507
- },
508
- };
509
- // From https://github.com/ecadlabs/taquito/blob/master/packages/taquito/src/constants.ts
510
- var DEFAULT_GAS_LIMIT;
511
- (function (DEFAULT_GAS_LIMIT) {
512
- DEFAULT_GAS_LIMIT[DEFAULT_GAS_LIMIT["DELEGATION"] = 10600] = "DELEGATION";
513
- DEFAULT_GAS_LIMIT[DEFAULT_GAS_LIMIT["ORIGINATION"] = 10600] = "ORIGINATION";
514
- DEFAULT_GAS_LIMIT[DEFAULT_GAS_LIMIT["TRANSFER"] = 10600] = "TRANSFER";
515
- DEFAULT_GAS_LIMIT[DEFAULT_GAS_LIMIT["REVEAL"] = 10600] = "REVEAL";
516
- })(DEFAULT_GAS_LIMIT = exports.DEFAULT_GAS_LIMIT || (exports.DEFAULT_GAS_LIMIT = {}));
517
- var DEFAULT_FEE;
518
- (function (DEFAULT_FEE) {
519
- DEFAULT_FEE[DEFAULT_FEE["DELEGATION"] = 1257] = "DELEGATION";
520
- DEFAULT_FEE[DEFAULT_FEE["ORIGINATION"] = 10000] = "ORIGINATION";
521
- DEFAULT_FEE[DEFAULT_FEE["TRANSFER"] = 10000] = "TRANSFER";
522
- DEFAULT_FEE[DEFAULT_FEE["REVEAL"] = 1420] = "REVEAL";
523
- })(DEFAULT_FEE = exports.DEFAULT_FEE || (exports.DEFAULT_FEE = {}));
524
- var DEFAULT_STORAGE_LIMIT;
525
- (function (DEFAULT_STORAGE_LIMIT) {
526
- DEFAULT_STORAGE_LIMIT[DEFAULT_STORAGE_LIMIT["DELEGATION"] = 0] = "DELEGATION";
527
- DEFAULT_STORAGE_LIMIT[DEFAULT_STORAGE_LIMIT["ORIGINATION"] = 257] = "ORIGINATION";
528
- DEFAULT_STORAGE_LIMIT[DEFAULT_STORAGE_LIMIT["TRANSFER"] = 257] = "TRANSFER";
529
- DEFAULT_STORAGE_LIMIT[DEFAULT_STORAGE_LIMIT["REVEAL"] = 0] = "REVEAL";
530
- })(DEFAULT_STORAGE_LIMIT = exports.DEFAULT_STORAGE_LIMIT || (exports.DEFAULT_STORAGE_LIMIT = {}));
531
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29pbi94dHovdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHFEQUF5QztBQUN6QywwRUFBd0M7QUFDeEMsMENBQWlEO0FBQ2pELHFDQUFvQztBQUNwQyw2Q0FBa0Q7QUFDbEQsaURBQTREO0FBRzVELDJEQUErQztBQUUvQywwQ0FBMEM7QUFDN0IsUUFBQSxpQkFBaUIsR0FBRyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFFckQ7Ozs7OztHQU1HO0FBQ0gsU0FBZ0IsWUFBWSxDQUFDLE1BQWMsRUFBRSxPQUFlO0lBQzFELElBQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkQsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNkLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUU5QixPQUFPLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDL0IsQ0FBQztBQU5ELG9DQU1DO0FBRUQ7Ozs7O0dBS0c7QUFDSCxTQUFzQixzQkFBc0IsQ0FBQyxrQkFBMEI7Ozs7O3dCQUNyRSxxQkFBTSw0QkFBTSxDQUFDLEtBQUssRUFBQTs7b0JBQWxCLFNBQWtCLENBQUM7b0JBQ2Isd0JBQXdCLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7b0JBQ25GLG9CQUFvQixHQUFHLDRCQUFNLENBQUMsa0JBQWtCLENBQUMsRUFBRSxFQUFFLHdCQUF3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cUVBQWdCLENBQUE7SUFDaEIsaUVBQWMsQ0FBQTtBQUNoQixDQUFDLEVBTFcsaUJBQWlCLEdBQWpCLHlCQUFpQixLQUFqQix5QkFBaUIsUUFLNUI7QUFFRCxJQUFZLFdBS1g7QUFMRCxXQUFZLFdBQVc7SUFDckIsNERBQWlCLENBQUE7SUFDakIsK0RBQW1CLENBQUE7SUFDbkIseURBQWdCLENBQUE7SUFDaEIsb0RBQWEsQ0FBQTtBQUNmLENBQUMsRUFMVyxXQUFXLEdBQVgsbUJBQVcsS0FBWCxtQkFBVyxRQUt0QjtBQUVELElBQVkscUJBS1g7QUFMRCxXQUFZLHFCQUFxQjtJQUMvQiw2RUFBYyxDQUFBO0lBQ2QsaUZBQWlCLENBQUE7SUFDakIsMkVBQWMsQ0FBQTtJQUNkLHFFQUFVLENBQUE7QUFDWixDQUFDLEVBTFcscUJBQXFCLEdBQXJCLDZCQUFxQixLQUFyQiw2QkFBcUIsUUFLaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBiYXNlNThjaGVjayBmcm9tICdiczU4Y2hlY2snO1xuaW1wb3J0IHNvZGl1bSBmcm9tICdsaWJzb2RpdW0td3JhcHBlcnMnO1xuaW1wb3J0IHsgSW5NZW1vcnlTaWduZXIgfSBmcm9tICdAdGFxdWl0by9zaWduZXInO1xuaW1wb3J0IHsgZWMgYXMgRUMgfSBmcm9tICdlbGxpcHRpYyc7XG5pbXBvcnQgeyBTaWduaW5nRXJyb3IgfSBmcm9tICcuLi9iYXNlQ29pbi9lcnJvcnMnO1xuaW1wb3J0IHsgZ2VuZXJpY011bHRpc2lnRGF0YVRvU2lnbiB9IGZyb20gJy4vbXVsdGlzaWdVdGlscyc7XG5pbXBvcnQgeyBIYXNoVHlwZSwgU2lnblJlc3BvbnNlIH0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBLZXlQYWlyIH0gZnJvbSAnLi9rZXlQYWlyJztcbmltcG9ydCAqIGFzIENyeXB0byBmcm9tICcuLy4uLy4uL3V0aWxzL2NyeXB0byc7XG5cbi8vIEJ5IGRlZmF1bHQsIHVzZSB0aGUgdHJhbnNhY3Rpb25zIHByZWZpeFxuZXhwb3J0IGNvbnN0IERFRkFVTFRfV0FURVJNQVJLID0gbmV3IFVpbnQ4QXJyYXkoWzNdKTtcblxuLyoqXG4gKiBFbmNvZGUgdGhlIHBheWxvYWQgdG8gYmFzZTU4IHdpdGggYSBzcGVjaWZpYyBUZXpvcyBwcmVmaXguXG4gKlxuICogQHBhcmFtIHtCdWZmZXJ9IHByZWZpeCB0byBhZGQgdG8gdGhlIGVuY29kZWQgcGF5bG9hZFxuICogQHBhcmFtIHtCdWZmZXJ9IHBheWxvYWQgdG8gZW5jb2RlXG4gKiBAcmV0dXJucyB7YW55fSBiYXNlNTggcGF5bG9hZCB3aXRoIGEgVGV6b3MgcHJlZml4XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBiYXNlNThlbmNvZGUocHJlZml4OiBCdWZmZXIsIHBheWxvYWQ6IEJ1ZmZlcik6IHN0cmluZyB7XG4gIGNvbnN0IG4gPSBCdWZmZXIuYWxsb2MocHJlZml4Lmxlbmd0aCArIHBheWxvYWQubGVuZ3RoKTtcbiAgbi5zZXQocHJlZml4KTtcbiAgbi5zZXQocGF5bG9hZCwgcHJlZml4Lmxlbmd0aCk7XG5cbiAgcmV0dXJuIGJhc2U1OGNoZWNrLmVuY29kZShuKTtcbn1cblxuLyoqXG4gKiBDYWxjdWxhdGUgdGhlIHRyYW5zYWN0aW9uIGlkIGZvciBhIGZvciBhIHNpZ25lZCB0cmFuc2FjdGlvbi5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gZW5jb2RlZFRyYW5zYWN0aW9uIFNpZ25lZCB0cmFuc2FjdGlvbiBpbiBoZXhhZGVjaW1hbFxuICogQHJldHVybnMge1Byb21pc2U8c3RyaW5nPn0gVGhlIHRyYW5zYWN0aW9uIGlkXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjYWxjdWxhdGVUcmFuc2FjdGlvbklkKGVuY29kZWRUcmFuc2FjdGlvbjogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgYXdhaXQgc29kaXVtLnJlYWR5O1xuICBjb25zdCBlbmNvZGVkVHJhbnNhY3Rpb25CdWZmZXIgPSBVaW50OEFycmF5LmZyb20oQnVmZmVyLmZyb20oZW5jb2RlZFRyYW5zYWN0aW9uLCAnaGV4JykpO1xuICBjb25zdCBvcGVyYXRpb25IYXNoUGF5bG9hZCA9IHNvZGl1bS5jcnlwdG9fZ2VuZXJpY2hhc2goMzIsIGVuY29kZWRUcmFuc2FjdGlvbkJ1ZmZlcik7XG4gIHJldHVybiBiYXNlNThlbmNvZGUoaGFzaFR5cGVzLm8ucHJlZml4LCBCdWZmZXIuZnJvbShvcGVyYXRpb25IYXNoUGF5bG9hZCkpO1xufVxuXG4vKipcbiAqIENhbGN1bGF0ZSB0aGUgYWRkcmVzcyBvZiBhIG5ldyBvcmlnaW5hdGVkIGFjY291bnQuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHRyYW5zYWN0aW9uSWQgVGhlIHRyYW5zYWN0aW9uIGlkXG4gKiBAcGFyYW0ge251bWJlcn0gaW5kZXggVGhlIGluZGV4IG9mIHRoZSBvcmlnaW5hdGlvbiBvcGVyYXRpb24gaW5zaWRlIHRoZSB0cmFuc2FjdGlvbiAoc3RhcnRzIGF0IDApXG4gKiBAcmV0dXJucyB7UHJvbWlzZTxzdHJpbmc+fSBBbiBvcmlnaW5hdGVkIGFkZHJlc3Mgd2l0aCB0aGUgS1QgcHJlZml4XG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjYWxjdWxhdGVPcmlnaW5hdGVkQWRkcmVzcyh0cmFuc2FjdGlvbklkOiBzdHJpbmcsIGluZGV4OiBudW1iZXIpOiBQcm9taXNlPHN0cmluZz4ge1xuICAvLyBGcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9UZXpUZWNoL2V6dHovYmxvYi9jZmRjNGZjZmM4OTFmNGY0ZjA3N2MzMDU2ZjQxNDQ3NmRkZTM2MTBiL3NyYy9tYWluLmpzI0w3NjhcbiAgY29uc3Qgb2IgPSBiYXNlNThjaGVjay5kZWNvZGUodHJhbnNhY3Rpb25JZCkuc2xpY2UoaGFzaFR5cGVzLm8ucHJlZml4Lmxlbmd0aCk7XG5cbiAgbGV0IHR0OiBudW1iZXJbXSA9IFtdO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IG9iLmxlbmd0aDsgaSsrKSB7XG4gICAgdHQucHVzaChvYltpXSk7XG4gIH1cblxuICB0dCA9IHR0LmNvbmNhdChbXG4gICAgKGluZGV4ICYgMHhmZjAwMDAwMCkgPj4gMjQsXG4gICAgKGluZGV4ICYgMHgwMGZmMDAwMCkgPj4gMTYsXG4gICAgKGluZGV4ICYgMHgwMDAwZmYwMCkgPj4gOCxcbiAgICBpbmRleCAmIDB4MDAwMDAwZmYsXG4gIF0pO1xuXG4gIGF3YWl0IHNvZGl1bS5yZWFkeTtcbiAgY29uc3QgcGF5bG9hZCA9IHNvZGl1bS5jcnlwdG9fZ2VuZXJpY2hhc2goMjAsIG5ldyBVaW50OEFycmF5KHR0KSk7XG4gIHJldHVybiBiYXNlNThlbmNvZGUoaGFzaFR5cGVzLktULnByZWZpeCwgQnVmZmVyLmZyb20ocGF5bG9hZCkpO1xufVxuXG4vKipcbiAqIEdlbmVyaWMgZGF0YSBzaWduaW5nIHVzaW5nIFRlem9zIGxpYnJhcnkuXG4gKlxuICogQHBhcmFtIHtLZXlQYWlyfSBrZXlQYWlyIEEgS2V5IFBhaXIgd2l0aCBhIHByaXZhdGUga2V5IHNldFxuICogQHBhcmFtIHtzdHJpbmd9IGRhdGEgVGhlIGRhdGEgaW4gaGV4YWRlY2ltYWwgdG8gc2lnblxuICogQHBhcmFtIHtVaW50OEFycmF5fSB3YXRlcm1hcmsgTWFnaWMgYnl0ZTogMSBmb3IgYmxvY2ssIDIgZm9yIGVuZG9yc2VtZW50LCAzIGZvciBnZW5lcmljXG4gKiBAcmV0dXJucyB7UHJvbWlzZTxTaWduUmVzcG9uc2U+fVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2lnbihcbiAga2V5UGFpcjogS2V5UGFpcixcbiAgZGF0YTogc3RyaW5nLFxuICB3YXRlcm1hcms6IFVpbnQ4QXJyYXkgPSBERUZBVUxUX1dBVEVSTUFSSyxcbik6IFByb21pc2U8U2lnblJlc3BvbnNlPiB7XG4gIGlmICgha2V5UGFpci5nZXRLZXlzKCkucHJ2KSB7XG4gICAgdGhyb3cgbmV3IFNpZ25pbmdFcnJvcignTWlzc2luZyBwcml2YXRlIGtleScpO1xuICB9XG4gIGNvbnN0IHNpZ25lciA9IG5ldyBJbk1lbW9yeVNpZ25lcihrZXlQYWlyLmdldEtleXMoKS5wcnYhKTtcbiAgcmV0dXJuIHNpZ25lci5zaWduKGRhdGEsIHdhdGVybWFyayk7XG59XG5cbi8qKlxuICogVmVyaWZpZXMgdGhlIHNpZ25hdHVyZSBwcm9kdWNlZCBmb3IgYSBnaXZlbiBtZXNzYWdlIGJlbG9uZ3MgdG8gYSBzZWNwMjU2azEgcHVibGljIGtleS5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZSBNZXNzYWdlIGluIGhleCBmb3JtYXQgdG8gdmVyaWZ5XG4gKiBAcGFyYW0ge3N0cmluZ30gcHVibGljS2V5IHNlY3AyNTZrMSBwdWJsaWMga2V5IHdpdGggXCJzcHBrXCIgcHJlZml4IHRvIHZlcmlmeSB0aGUgc2lnbmF0dXJlIHdpdGhcbiAqIEBwYXJhbSB7c3RyaW5nfSBzaWduYXR1cmUgVGV6b3Mgc2lnbmF0dXJlIHdpdGggXCJzaWdcIiBwcmVmaXhcbiAqIEBwYXJhbSB7VWludDhBcnJheX0gd2F0ZXJtYXJrIE9wdGlvbmFsIHdhdGVybWFyayB1c2VkIHRvIGdlbmVyYXRlIHRoZSBzaWduYXR1cmVcbiAqIEByZXR1cm5zIHtQcm9taXNlPGJvb2xlYW4+fVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdmVyaWZ5U2lnbmF0dXJlKFxuICBtZXNzYWdlOiBzdHJpbmcsXG4gIHB1YmxpY0tleTogc3RyaW5nLFxuICBzaWduYXR1cmU6IHN0cmluZyxcbiAgd2F0ZXJtYXJrOiBVaW50OEFycmF5ID0gREVGQVVMVF9XQVRFUk1BUkssXG4pOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgY29uc3QgcmF3UHVibGljS2V5ID0gZGVjb2RlS2V5KHB1YmxpY0tleSwgaGFzaFR5cGVzLnNwcGspO1xuICBjb25zdCBlYyA9IG5ldyBFQygnc2VjcDI1NmsxJyk7XG4gIGNvbnN0IGtleSA9IGVjLmtleUZyb21QdWJsaWMocmF3UHVibGljS2V5KTtcblxuICBjb25zdCBtZXNzYWdlQnVmZmVyID0gVWludDhBcnJheS5mcm9tKEJ1ZmZlci5mcm9tKG1lc3NhZ2UsICdoZXgnKSk7XG4gIC8vIFRlem9zIHNpZ25hdHVyZXMgYWx3YXlzIGhhdmUgYSB3YXRlcm1hcmtcbiAgY29uc3QgbWVzc2FnZVdpdGhXYXRlcm1hcmsgPSBuZXcgVWludDhBcnJheSh3YXRlcm1hcmsubGVuZ3RoICsgbWVzc2FnZUJ1ZmZlci5sZW5ndGgpO1xuICBtZXNzYWdlV2l0aFdhdGVybWFyay5zZXQod2F0ZXJtYXJrKTtcbiAgbWVzc2FnZVdpdGhXYXRlcm1hcmsuc2V0KG1lc3NhZ2VCdWZmZXIsIHdhdGVybWFyay5sZW5ndGgpO1xuXG4gIGF3YWl0IHNvZGl1bS5yZWFkeTtcbiAgY29uc3QgYnl0ZXNIYXNoID0gQnVmZmVyLmZyb20oc29kaXVtLmNyeXB0b19nZW5lcmljaGFzaCgzMiwgbWVzc2FnZVdpdGhXYXRlcm1hcmspKTtcblxuICBjb25zdCByYXdTaWduYXR1cmUgPSBkZWNvZGVTaWduYXR1cmUoc2lnbmF0dXJlLCBoYXNoVHlwZXMuc2lnKTtcbiAgcmV0dXJuIGtleS52ZXJpZnkoYnl0ZXNIYXNoLCB7IHI6IHJhd1NpZ25hdHVyZS5zbGljZSgwLCAzMiksIHM6IHJhd1NpZ25hdHVyZS5zbGljZSgzMiwgNjQpIH0pO1xufVxuXG4vKipcbiAqIFVzZWZ1bCB3cmFwcGVyIHRvIGNyZWF0ZSB0aGUgZ2VuZXJpYyBtdWx0aXNpZyBjb250cmFjdCBkYXRhIHRvIHNpZ24gd2hlbiBtb3ZpbmcgZnVuZHMuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGNvbnRyYWN0QWRkcmVzcyBUaGUgd2FsbGV0IGNvbnRyYWN0IGFkZHJlc3Mgd2l0aCB0aGUgZnVuZHMgdG8gd2l0aGRyYXdcbiAqIEBwYXJhbSB7c3RyaW5nfSBkZXN0aW5hdGlvbkFkZHJlc3MgVGhlIGFkZHJlc3MgdG8gdHJhbnNmZXIgdGhlIGZ1bmRzIHRvXG4gKiBAcGFyYW0ge251bWJlcn0gYW1vdW50IE51bWJlciBtdXRleiB0byB0cmFuc2ZlclxuICogQHBhcmFtIHtzdHJpbmd9IGNvbnRyYWN0Q291bnRlciBXYWxsZXQgY291bnRlciB0byB1c2UgaW4gdGhlIHRyYW5zYWN0aW9uXG4gKiBAcmV0dXJucyB7YW55fSBBIEpTT04gcmVwcmVzZW50YXRpb24gb2YgdGhlIE1pY2hlbHNvbiBzY3JpcHQgdG8gc2lnbiBhbmQgYXBwcm92ZSBhIHRyYW5zZmVyXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZURhdGFUb1NpZ24oXG4gIGNvbnRyYWN0QWRkcmVzczogc3RyaW5nLFxuICBkZXN0aW5hdGlvbkFkZHJlc3M6IHN0cmluZyxcbiAgYW1vdW50OiBzdHJpbmcsXG4gIGNvbnRyYWN0Q291bnRlcjogc3RyaW5nLFxuKTogYW55IHtcbiAgaWYgKCFpc1ZhbGlkT3JpZ2luYXRlZEFkZHJlc3MoY29udHJhY3RBZGRyZXNzKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBjb250cmFjdCBhZGRyZXNzICcgKyBjb250cmFjdEFkZHJlc3MgKyAnLiBBbiBvcmlnaW5hdGVkIGFjY291bnQgYWRkcmVzcyB3YXMgZXhwZWN0ZWQnKTtcbiAgfVxuICBpZiAoIWlzVmFsaWRBZGRyZXNzKGRlc3RpbmF0aW9uQWRkcmVzcykpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgZGVzdGluYXRpb24gYWRkcmVzcyAnICsgZGVzdGluYXRpb25BZGRyZXNzKTtcbiAgfVxuICByZXR1cm4gZ2VuZXJpY011bHRpc2lnRGF0YVRvU2lnbihjb250cmFjdEFkZHJlc3MsIGRlc3RpbmF0aW9uQWRkcmVzcywgYW1vdW50LCBjb250cmFjdENvdW50ZXIpO1xufVxuXG4vKipcbiAqIFJldHVybnMgd2hldGhlciBvciBub3QgdGhlIHN0cmluZyBpcyBhIHZhbGlkIFRlem9zIGhhc2ggb2YgdGhlIGdpdmVuIHR5cGVcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gaGFzaCAtIHRoZSBzdHJpbmcgdG8gdmFsaWRhdGVcbiAqIEBwYXJhbSB7SGFzaFR5cGV9IGhhc2hUeXBlIC0gdGhlIHR5cGUgb2YgdGhlIHByb3ZpZGVkIGhhc2hcbiAqIEByZXR1cm5zIHtib29sZWFufVxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZEhhc2goaGFzaDogc3RyaW5nLCBoYXNoVHlwZTogSGFzaFR5cGUpOiBib29sZWFuIHtcbiAgLy8gVmFsaWRhdGUgZW5jb2RpbmdcbiAgbGV0IGRlY29kZWRIYXNoO1xuICB0cnkge1xuICAgIGRlY29kZWRIYXNoID0gYmFzZTU4Y2hlY2suZGVjb2RlKGhhc2gpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGNvbnN0IGhhc2hQcmVmaXggPSBkZWNvZGVkSGFzaC5zbGljZSgwLCBoYXNoVHlwZS5wcmVmaXgubGVuZ3RoKTtcblxuICAvLyBDaGVjayBwcmVmaXhcbiAgaWYgKCFoYXNoUHJlZml4LmVxdWFscyhCdWZmZXIuZnJvbShoYXNoVHlwZS5wcmVmaXgpKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8vIENoZWNrIGxlbmd0aFxuICBjb25zdCBoYXNoTGVuZ3RoID0gZGVjb2RlZEhhc2gubGVuZ3RoIC0gaGFzaFByZWZpeC5sZW5ndGg7XG4gIHJldHVybiBoYXNoTGVuZ3RoID09PSBoYXNoVHlwZS5ieXRlTGVuZ3RoO1xufVxuXG4vKipcbiAqIFJldHVybnMgd2hldGhlciBvciBub3QgdGhlIHN0cmluZyBpcyBhIHZhbGlkIFRlem9zIGFkZHJlc3NcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gaGFzaCAtIHRoZSBhZGRyZXNzIHRvIHZhbGlkYXRlXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRBZGRyZXNzKGhhc2g6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gaXNWYWxpZEltcGxpY2l0QWRkcmVzcyhoYXNoKSB8fCBpc1ZhbGlkSGFzaChoYXNoLCBoYXNoVHlwZXMuS1QpO1xufVxuXG4vKipcbiAqIFJldHVybnMgd2hldGhlciBvciBub3QgdGhlIHN0cmluZyBpcyBhIHZhbGlkIFRlem9zIGltcGxpY2l0IGFjY291bnQgYWRkcmVzc1xuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBoYXNoIC0gdGhlIGFkZHJlc3MgdG8gdmFsaWRhdGVcbiAqIEByZXR1cm5zIHtib29sZWFufVxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZEltcGxpY2l0QWRkcmVzcyhoYXNoOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIGlzVmFsaWRIYXNoKGhhc2gsIGhhc2hUeXBlcy50ejEpIHx8IGlzVmFsaWRIYXNoKGhhc2gsIGhhc2hUeXBlcy50ejIpIHx8IGlzVmFsaWRIYXNoKGhhc2gsIGhhc2hUeXBlcy50ejMpO1xufVxuXG4vKipcbiAqIFJldHVybnMgd2hldGhlciBvciBub3QgdGhlIHN0cmluZyBpcyBhIHZhbGlkIFRlem9zIG9yaWdpbmF0ZWQgYWNjb3VudCBhZGRyZXNzXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGhhc2ggLSB0aGUgYWRkcmVzcyB0byB2YWxpZGF0ZVxuICogQHJldHVybnMge2Jvb2xlYW59XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkT3JpZ2luYXRlZEFkZHJlc3MoaGFzaDogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiBpc1ZhbGlkSGFzaChoYXNoLCBoYXNoVHlwZXMuS1QpO1xufVxuXG4vKipcbiAqIFJldHVybnMgd2hldGhlciBvciBub3QgdGhlIHN0cmluZyBpcyBhIHZhbGlkIFRlem9zIHNpZ25hdHVyZVxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBoYXNoIC0gdGhlIHNpZ25hdHVyZSB0byB2YWxpZGF0ZVxuICogQHJldHVybnMge2Jvb2xlYW59XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkU2lnbmF0dXJlKGhhc2g6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gKFxuICAgIGlzVmFsaWRIYXNoKGhhc2gsIGhhc2hUeXBlcy5lZHNpZykgfHxcbiAgICBpc1ZhbGlkSGFzaChoYXNoLCBoYXNoVHlwZXMuc3BzaWcxKSB8fFxuICAgIGlzVmFsaWRIYXNoKGhhc2gsIGhhc2hUeXBlcy5wMnNpZykgfHxcbiAgICBpc1ZhbGlkSGFzaChoYXNoLCBoYXNoVHlwZXMuc2lnKVxuICApO1xufVxuXG4vKipcbiAqIFJldHVybnMgd2hldGhlciBvciBub3QgdGhlIHN0cmluZyBpcyBhIHZhbGlkIFRlem9zIHB1YmxpYyBrZXlcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gcHVibGljS2V5IFRoZSBwdWJsaWMga2V5IHRvIHZhbGlkYXRlXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRQdWJsaWNLZXkocHVibGljS2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIChcbiAgICBpc1ZhbGlkSGFzaChwdWJsaWNLZXksIGhhc2hUeXBlcy5zcHBrKSB8fFxuICAgIGlzVmFsaWRIYXNoKHB1YmxpY0tleSwgaGFzaFR5cGVzLnAycGspIHx8XG4gICAgaXNWYWxpZEhhc2gocHVibGljS2V5LCBoYXNoVHlwZXMuZWRwaykgfHxcbiAgICBDcnlwdG8uaXNWYWxpZFhwdWIocHVibGljS2V5KSAvLyB4cHVicyBhcmUgdmFsaWQgdG9vLlxuICApO1xufVxuXG4vKipcbiAqIFJldHVybnMgd2hldGhlciBvciBub3QgdGhlIHN0cmluZyBpcyBhIHZhbGlkIFRlem9zIHByaXZhdGUga2V5XG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHByaXZhdGVLZXkgVGhlIHByaXZhdGUga2V5IHRvIHZhbGlkYXRlXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRQcml2YXRlS2V5KHByaXZhdGVLZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gKFxuICAgIGlzVmFsaWRIYXNoKHByaXZhdGVLZXksIGhhc2hUeXBlcy5lZGVzaykgfHxcbiAgICBpc1ZhbGlkSGFzaChwcml2YXRlS2V5LCBoYXNoVHlwZXMuZWRzaykgfHxcbiAgICBpc1ZhbGlkSGFzaChwcml2YXRlS2V5LCBoYXNoVHlwZXMuc3BzaykgfHxcbiAgICBpc1ZhbGlkSGFzaChwcml2YXRlS2V5LCBoYXNoVHlwZXMucDJzaylcbiAgKTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHdoZXRoZXIgb3Igbm90IHRoZSBzdHJpbmcgaXMgYSB2YWxpZCBUZXpvcyBibG9jayBoYXNoXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGhhc2ggLSB0aGUgYWRkcmVzcyB0byB2YWxpZGF0ZVxuICogQHJldHVybnMge2Jvb2xlYW59XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkQmxvY2tIYXNoKGhhc2g6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gaXNWYWxpZEhhc2goaGFzaCwgaGFzaFR5cGVzLmIpO1xufVxuXG4vKipcbiAqIFJldHVybnMgd2hldGhlciBvciBub3QgdGhlIHN0cmluZyBpcyBhIHZhbGlkIFRlem9zIHRyYW5zYWN0aW9uIGhhc2hcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gaGFzaCAtIHRoZSBhZGRyZXNzIHRvIHZhbGlkYXRlXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRUcmFuc2FjdGlvbkhhc2goaGFzaDogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiBpc1ZhbGlkSGFzaChoYXNoLCBoYXNoVHlwZXMubyk7XG59XG5cbi8qKlxuICogUmV0dXJucyB3aGV0aGVyIG9yIG5vdCB0aGUgc3RyaW5nIGlzIGEgdmFsaWQgVGV6b3Mga2V5IGdpdmVuIGEgcHJlZml4XG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGhhc2ggLSB0aGUga2V5IHRvIHZhbGlkYXRlXG4gKiBAcGFyYW0ge0hhc2hUeXBlfSBoYXNoVHlwZSAtIHRoZSB0eXBlIG9mIHRoZSBwcm92aWRlZCBoYXNoXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRLZXkoaGFzaDogc3RyaW5nLCBoYXNoVHlwZTogSGFzaFR5cGUpOiBib29sZWFuIHtcbiAgcmV0dXJuIGlzVmFsaWRIYXNoKGhhc2gsIGhhc2hUeXBlKTtcbn1cblxuLyoqXG4gKiBHZXQgdGhlIG9yaWdpbmFsIGtleSBmb3JtIHRoZSB0ZXh0IHdpdGhvdXQgdGhlIGdpdmVuIHByZWZpeC5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gaGFzaCAtIGJhc2U1OCBlbmNvZGVkIGtleSB3aXRoIGEgVGV6b3MgcHJlZml4XG4gKiBAcGFyYW0ge0hhc2hUeXBlfSBoYXNoVHlwZSAtIHRoZSB0eXBlIG9mIHRoZSBwcm92aWRlZCBoYXNoXG4gKiBAcmV0dXJucyB7QnVmZmVyfSB0aGUgb3JpZ2luYWwgZGVjb2RlZCBrZXlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlY29kZUtleShoYXNoOiBzdHJpbmcsIGhhc2hUeXBlOiBIYXNoVHlwZSk6IEJ1ZmZlciB7XG4gIGlmICghaXNWYWxpZEtleShoYXNoLCBoYXNoVHlwZSkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1Vuc3VwcG9ydGVkIHByaXZhdGUga2V5Jyk7XG4gIH1cbiAgY29uc3QgZGVjb2RlZFBydiA9IGJhc2U1OGNoZWNrLmRlY29kZShoYXNoKTtcbiAgcmV0dXJuIEJ1ZmZlci5mcm9tKGRlY29kZWRQcnYuc2xpY2UoaGFzaFR5cGUucHJlZml4Lmxlbmd0aCwgZGVjb2RlZFBydi5sZW5ndGgpKTtcbn1cblxuLyoqXG4gKiBHZXQgdGhlIHJhdyBzaWduYXR1cmUgZnJvbSBhIFRlem9zIGVuY29kZWQgb25lLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBzaWduYXR1cmUgVGV6b3Mgc2lnbmF0dXJlcyBwcmVmaXhlZCB3aXRoIHNpZywgZWRzaWcsIHAyc2lnIG9yIHNwc2lnXG4gKiBAcGFyYW0ge0hhc2hUeXBlfSBoYXNoVHlwZSBUaGUgcHJlZml4IG9mIHJlbW92ZVxuICogQHJldHVybnMge0J1ZmZlcn0gVGhlIGRlY29kZWQgc2lnbmF0dXJlIHdpdGhvdXQgcHJlZml4XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWNvZGVTaWduYXR1cmUoc2lnbmF0dXJlOiBzdHJpbmcsIGhhc2hUeXBlOiBIYXNoVHlwZSk6IEJ1ZmZlciB7XG4gIGlmICghaXNWYWxpZFNpZ25hdHVyZShzaWduYXR1cmUpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdVbnN1cHBvcnRlZCBzaWduYXR1cmUnKTtcbiAgfVxuICBjb25zdCBkZWNvZGVkUHJ2ID0gYmFzZTU4Y2hlY2suZGVjb2RlKHNpZ25hdHVyZSk7XG4gIHJldHVybiBCdWZmZXIuZnJvbShkZWNvZGVkUHJ2LnNsaWNlKGhhc2hUeXBlLnByZWZpeC5sZW5ndGgsIGRlY29kZWRQcnYubGVuZ3RoKSk7XG59XG5cbi8vIEJhc2U1OENoZWNrIGlzIHVzZWQgZm9yIGVuY29kaW5nXG4vLyBoYXNoZWRUeXBlcyBpcyB1c2VkIHRvIHZhbGlkYXRlIGhhc2hlcyBieSB0eXBlLCBieSBjaGVja2luZyB0aGVpciBwcmVmaXggYW5kXG4vLyB0aGUgbGVuZ3RoIG9mIHRoZSBCdWZmZXIgb2J0YWluZWQgYnkgZGVjb2RpbmcgdGhlIGhhc2ggKGV4Y2x1ZGluZyB0aGUgcHJlZml4KVxuZXhwb3J0IGNvbnN0IGhhc2hUeXBlcyA9IHtcbiAgLyogMjAgYnl0ZXMgbG9uZyAqL1xuICAvLyBlZDI1NTE5IHB1YmxpYyBrZXkgaGFzaFxuICB0ejE6IHtcbiAgICBwcmVmaXg6IEJ1ZmZlci5mcm9tKFs2LCAxNjEsIDE1OV0pLFxuICAgIGJ5dGVMZW5ndGg6IDIwLFxuICB9LFxuICAvLyBzZWNwMjU2azEgcHVibGljIGtleSBoYXNoXG4gIHR6Mjoge1xuICAgIHByZWZpeDogQnVmZmVyLmZyb20oWzYsIDE2MSwgMTYxXSksXG4gICAgYnl0ZUxlbmd0aDogMjAsXG4gIH0sXG4gIC8vIHAyNTYgcHVibGljIGtleSBoYXNoXG4gIHR6Mzoge1xuICAgIHByZWZpeDogQnVmZmVyLmZyb20oWzYsIDE2MSwgMTY0XSksXG4gICAgYnl0ZUxlbmd0aDogMjAsXG4gIH0sXG4gIEtUOiB7XG4gICAgcHJlZml4OiBCdWZmZXIuZnJvbShbMiwgOTAsIDEyMV0pLFxuICAgIGJ5dGVMZW5ndGg6IDIwLFxuICB9LFxuICAvKiAzMiBieXRlcyBsb25nICovXG4gIC8vIGVkMjU1MTkgcHVibGljIGtleVxuICBlZHBrOiB7XG4gICAgcHJlZml4OiBCdWZmZXIuZnJvbShbMTMsIDE1LCAzNywgMjE3XSksXG4gICAgYnl0ZUxlbmd0aDogMzIsXG4gIH0sXG4gIC8vIGVkMjU1MTkgc2VjcmV0IGtleVxuICBlZHNrMjoge1xuICAgIHByZWZpeDogQnVmZmVyLmZyb20oWzEzLCAxNSwgNTgsIDddKSxcbiAgICBieXRlTGVuZ3RoOiAzMixcbiAgfSxcbiAgLy8gc2VjcDI1NmsxIHNlY3JldCBrZXlcbiAgc3Bzazoge1xuICAgIHByZWZpeDogQnVmZmVyLmZyb20oWzE3LCAxNjIsIDIyNCwgMjAxXSksXG4gICAgYnl0ZUxlbmd0aDogMzIsXG4gIH0sXG4gIC8vIHAyNTYgc2VjcmV0IGtleVxuICBwMnNrOiB7XG4gICAgcHJlZml4OiBCdWZmZXIuZnJvbShbMTYsIDgxLCAyMzgsIDE4OV0pLFxuICAgIGJ5dGVMZW5ndGg6IDMyLFxuICB9LFxuICAvLyBibG9jayBoYXNoXG4gIGI6IHtcbiAgICBwcmVmaXg6IEJ1ZmZlci5mcm9tKFsxLCA1Ml0pLFxuICAgIGJ5dGVMZW5ndGg6IDMyLFxuICB9LFxuICAvLyBvcGVyYXRpb24gaGFzaFxuICBvOiB7XG4gICAgcHJlZml4OiBCdWZmZXIuZnJvbShbNSwgMTE2XSksXG4gICAgYnl0ZUxlbmd0aDogMzIsXG4gIH0sXG4gIC8vIG9wZXJhdGlvbiBsaXN0IGhhc2hcbiAgTG86IHtcbiAgICBwcmVmaXg6IEJ1ZmZlci5mcm9tKFsxMzMsIDIzM10pLFxuICAgIGJ5dGVMZW5ndGg6IDMyLFxuICB9LFxuICAvLyBvcGVyYXRpb24gbGlzdCBsaXN0IGhhc2hcbiAgTExvOiB7XG4gICAgcHJlZml4OiBCdWZmZXIuZnJvbShbMjksIDE1OSwgMTA5XSksXG4gICAgYnl0ZUxlbmd0aDogMzIsXG4gIH0sXG4gIC8vIHByb3RvY29sIGhhc2hcbiAgUDoge1xuICAgIHByZWZpeDogQnVmZmVyLmZyb20oWzIsIDE3MF0pLFxuICAgIGJ5dGVMZW5ndGg6IDMyLFxuICB9LFxuICAvLyBjb250ZXh0IGhhc2hcbiAgQ286IHtcbiAgICBwcmVmaXg6IEJ1ZmZlci5mcm9tKFs3OSwgMTc5XSksXG4gICAgYnl0ZUxlbmd0aDogMzIsXG4gIH0sXG4gIC8qIDMzIGJ5dGVzIGxvbmcgKi9cbiAgLy8gc2VjcDI1NmsxIHB1YmxpYyBrZXlcbiAgc3Bwazoge1xuICAgIHByZWZpeDogQnVmZmVyLmZyb20oWzMsIDI1NCwgMjI2LCA4Nl0pLFxuICAgIGJ5dGVMZW5ndGg6IDMzLFxuICB9LFxuICAvLyBwMjU2IHB1YmxpYyBrZXlcbiAgcDJwazoge1xuICAgIHByZWZpeDogQnVmZmVyLmZyb20oWzMsIDE3OCwgMTM5LCAxMjddKSxcbiAgICBieXRlTGVuZ3RoOiAzMyxcbiAgfSxcbiAgLyogNTYgYnl0ZXMgbG9uZyAqL1xuICAvLyBlZDI1NTE5IGVuY3J5cHRlZCBzZWVkXG4gIGVkZXNrOiB7XG4gICAgcHJlZml4OiBCdWZmZXIuZnJvbShbNywgOTAsIDYwLCAxNzksIDQxXSksXG4gICAgYnl0ZUxlbmd0aDogNTYsXG4gIH0sXG4gIC8qIDYzIGJ5dGVzIGxvbmcgKi9cbiAgLy8gZWQyNTUxOSBzZWNyZXQga2V5XG4gIGVkc2s6IHtcbiAgICBwcmVmaXg6IEJ1ZmZlci5mcm9tKFs0MywgMjQ2LCA3OCwgN10pLFxuICAgIGJ5dGVMZW5ndGg6IDY0LFxuICB9LFxuICAvLyBlZDI1NTE5IHNpZ25hdHVyZVxuICBlZHNpZzoge1xuICAgIHByZWZpeDogQnVmZmVyLmZyb20oWzksIDI0NSwgMjA1LCAxMzQsIDE4XSksXG4gICAgYnl0ZUxlbmd0aDogNjQsXG4gIH0sXG4gIC8vIHNlY3AyNTZrMSBzaWduYXR1cmVcbiAgc3BzaWcxOiB7XG4gICAgcHJlZml4OiBCdWZmZXIuZnJvbShbMTMsIDExNSwgMTAxLCAxOSwgNjNdKSxcbiAgICBieXRlTGVuZ3RoOiA2NCxcbiAgfSxcbiAgLy8gcDI1Nl9zaWduYXR1cmVcbiAgcDJzaWc6IHtcbiAgICBwcmVmaXg6IEJ1ZmZlci5mcm9tKFs1NCwgMjQwLCA0NCwgNTJdKSxcbiAgICBieXRlTGVuZ3RoOiA2NCxcbiAgfSxcbiAgLy8gZ2VuZXJpYyBzaWduYXR1cmVcbiAgc2lnOiB7XG4gICAgcHJlZml4OiBCdWZmZXIuZnJvbShbNCwgMTMwLCA0M10pLFxuICAgIGJ5dGVMZW5ndGg6IDY0LFxuICB9LFxuICAvKiAxNSBieXRlcyBsb25nICovXG4gIC8vIG5ldHdvcmsgaGFzaFxuICBOZXQ6IHtcbiAgICBwcmVmaXg6IEJ1ZmZlci5mcm9tKFs4NywgODIsIDBdKSxcbiAgICBieXRlTGVuZ3RoOiAxNSxcbiAgfSxcbiAgLy8gbm9uY2UgaGFzaFxuICBuY2U6IHtcbiAgICBwcmVmaXg6IEJ1ZmZlci5mcm9tKFs2OSwgMjIwLCAxNjldKSxcbiAgICBieXRlTGVuZ3RoOiAxNSxcbiAgfSxcbiAgLyogNCBieXRlcyBsb25nICovXG4gIC8vIGNoYWluIGlkXG4gIGlkOiB7XG4gICAgcHJlZml4OiBCdWZmZXIuZnJvbShbMTUzLCAxMDNdKSxcbiAgICBieXRlTGVuZ3RoOiA0LFxuICB9LFxufTtcblxuLy8gRnJvbSBodHRwczovL2dpdGh1Yi5jb20vZWNhZGxhYnMvdGFxdWl0by9ibG9iL21hc3Rlci9wYWNrYWdlcy90YXF1aXRvL3NyYy9jb25zdGFudHMudHNcblxuZXhwb3J0IGVudW0gREVGQVVMVF9HQVNfTElNSVQge1xuICBERUxFR0FUSU9OID0gMTA2MDAsXG4gIE9SSUdJTkFUSU9OID0gMTA2MDAsXG4gIFRSQU5TRkVSID0gMTA2MDAsXG4gIFJFVkVBTCA9IDEwNjAwLFxufVxuXG5leHBvcnQgZW51bSBERUZBVUxUX0ZFRSB7XG4gIERFTEVHQVRJT04gPSAxMjU3LFxuICBPUklHSU5BVElPTiA9IDEwMDAwLFxuICBUUkFOU0ZFUiA9IDEwMDAwLFxuICBSRVZFQUwgPSAxNDIwLFxufVxuXG5leHBvcnQgZW51bSBERUZBVUxUX1NUT1JBR0VfTElNSVQge1xuICBERUxFR0FUSU9OID0gMCxcbiAgT1JJR0lOQVRJT04gPSAyNTcsXG4gIFRSQU5TRkVSID0gMjU3LFxuICBSRVZFQUwgPSAwLFxufVxuIl19
@@ -1,18 +0,0 @@
1
- /**
2
- * Base Interface for supporting elliptic curve parameters
3
- */
4
- /// <reference types="node" />
5
- interface BaseCurve {
6
- scalarReduce(s: bigint): bigint;
7
- scalarNegate(s: bigint): bigint;
8
- scalarInvert(s: bigint): bigint;
9
- scalarRandom(): bigint;
10
- scalarAdd(x: bigint, y: bigint): bigint;
11
- scalarSub(x: bigint, y: bigint): bigint;
12
- scalarMult(x: bigint, y: bigint): bigint;
13
- basePointMult(n: bigint): bigint;
14
- pointAdd(p: bigint, q: bigint): bigint;
15
- verify(y: bigint, signedMessage: Buffer): Buffer;
16
- }
17
- export default BaseCurve;
18
- //# sourceMappingURL=baseCurve.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"baseCurve.d.ts","sourceRoot":"","sources":["../../../../src/mpc/curves/baseCurve.ts"],"names":[],"mappings":"AAAA;;GAEG;;AAEH,UAAU,SAAS;IAGjB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAGhC,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAGhC,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAEhC,YAAY,IAAI,MAAM,CAAC;IAGvB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAGxC,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAGxC,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAEzC,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAEjC,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAEvC,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAAC;CAClD;AAED,eAAe,SAAS,CAAC"}
@@ -1,6 +0,0 @@
1
- "use strict";
2
- /**
3
- * Base Interface for supporting elliptic curve parameters
4
- */
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZUN1cnZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL21wYy9jdXJ2ZXMvYmFzZUN1cnZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7R0FFRyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQmFzZSBJbnRlcmZhY2UgZm9yIHN1cHBvcnRpbmcgZWxsaXB0aWMgY3VydmUgcGFyYW1ldGVyc1xuICovXG5cbmludGVyZmFjZSBCYXNlQ3VydmUge1xuICAvLyBGdW5jdGlvbiB0aGF0IHJlZHVjZXMgYSBzY2FsYXIgbW9kdWxvIHRoZSBvcmRlciBvZiB0aGVcbiAgLy8gY3VydmUuXG4gIHNjYWxhclJlZHVjZShzOiBiaWdpbnQpOiBiaWdpbnQ7XG4gIC8vIEZ1bmN0aW9uIHRoYXQgcmV0dXJucyB0aGUgbmVnYXRlZCBmaWVsZCBlbGVtZW50IG1vZHVsb1xuICAvLyB0aGUgb3JkZXIgb2YgdGhlIGN1cnZlLlxuICBzY2FsYXJOZWdhdGUoczogYmlnaW50KTogYmlnaW50O1xuICAvLyBGdW5jdGlvbiB0aGF0IHJldHVybnMgdGhlIG1vZHVsYXIgbXVsdGlwbGljYXRpdmUgaW52ZXJzZVxuICAvLyBvZiBhIGZpZWxkIGVsZW1lbnQuXG4gIHNjYWxhckludmVydChzOiBiaWdpbnQpOiBiaWdpbnQ7XG4gIC8vIEZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIHJhbmRvbSBmaWVsZCBlbGVtZW50LlxuICBzY2FsYXJSYW5kb20oKTogYmlnaW50O1xuICAvLyAgRnVuY3Rpb24gdGhhdCByZXR1cm5zIHRoZSBzdW0gb2YgdHdvIGZpZWxkIGVsZW1lbnRzIG1vZHVsb1xuICAvLyAgdGhlIG9yZGVyIG9mIHRoZSBjdXJ2ZS5cbiAgc2NhbGFyQWRkKHg6IGJpZ2ludCwgeTogYmlnaW50KTogYmlnaW50O1xuICAvLyBGdW5jdGlvbiB0aGF0IHJldHVybnMgdGhlIGRpZmZlcmVuY2Ugb2YgdHdvIGZpZWxkIGVsZW1lbnRzXG4gIC8vIG1vZHVsbyB0aGUgb3JkZXIgb2YgdGhlIGN1cnZlLlxuICBzY2FsYXJTdWIoeDogYmlnaW50LCB5OiBiaWdpbnQpOiBiaWdpbnQ7XG4gIC8vIEZ1bmN0aW9uIHRoYXQgcmV0dXJucyB0aGUgcHJvZHVjdCBvZiB0d28gZmllbGQgZWxlbWVudHNcbiAgLy8gbW9kdWxvIHRoZSBvcmRlciBvZiB0aGUgY3VydmUuXG4gIHNjYWxhck11bHQoeDogYmlnaW50LCB5OiBiaWdpbnQpOiBiaWdpbnQ7XG4gIC8vIEZ1bmN0aW9uIHRoYXQgbXVsdGlwbGllcyBhIGdyb3VwIGVsZW1lbnQgYnkgYSBmaWVsZCBlbGVtZW50LlxuICBiYXNlUG9pbnRNdWx0KG46IGJpZ2ludCk6IGJpZ2ludDtcbiAgLy8gRnVuY3Rpb24gdGhhdCBhZGRzIHR3byBncm91cCBlbGVtZW50cy5cbiAgcG9pbnRBZGQocDogYmlnaW50LCBxOiBiaWdpbnQpOiBiaWdpbnQ7XG4gIC8vIEZ1bmN0aW9uIHRoYXQgdmVyaWZpZXMgYSBzaWduYXR1cmUuXG4gIHZlcmlmeSh5OiBiaWdpbnQsIHNpZ25lZE1lc3NhZ2U6IEJ1ZmZlcik6IEJ1ZmZlcjtcbn1cblxuZXhwb3J0IGRlZmF1bHQgQmFzZUN1cnZlO1xuIl19
@@ -1,17 +0,0 @@
1
- /// <reference types="node" />
2
- import BaseCurve from './baseCurve';
3
- export declare class Ed25519Curve implements BaseCurve {
4
- static initialized: boolean;
5
- static initialize(): Promise<Ed25519Curve>;
6
- scalarRandom(): bigint;
7
- scalarReduce(s: bigint): bigint;
8
- scalarNegate(s: bigint): bigint;
9
- scalarInvert(s: bigint): bigint;
10
- scalarAdd(x: bigint, y: bigint): bigint;
11
- scalarSub(x: bigint, y: bigint): bigint;
12
- scalarMult(x: bigint, y: bigint): bigint;
13
- basePointMult(n: bigint): bigint;
14
- pointAdd(p: bigint, q: bigint): bigint;
15
- verify(y: bigint, signedMessage: Buffer): Buffer;
16
- }
17
- //# sourceMappingURL=ed25519.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ed25519.d.ts","sourceRoot":"","sources":["../../../../src/mpc/curves/ed25519.ts"],"names":[],"mappings":";AAGA,OAAO,SAAS,MAAM,aAAa,CAAC;AAEpC,qBAAa,YAAa,YAAW,SAAS;IAC5C,MAAM,CAAC,WAAW,UAAS;WAEd,UAAU,IAAI,OAAO,CAAC,YAAY,CAAC;IAShD,YAAY,IAAI,MAAM;IAMtB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAI/B,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAI/B,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAI/B,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAMvC,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAMvC,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAMxC,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAIhC,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAMtC,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM;CAGjD"}