@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,262 +0,0 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- var __importDefault = (this && this.__importDefault) || function (mod) {
18
- return (mod && mod.__esModule) ? mod : { "default": mod };
19
- };
20
- Object.defineProperty(exports, "__esModule", { value: true });
21
- exports.KeyRegistrationBuilder = void 0;
22
- var bignumber_js_1 = __importDefault(require("bignumber.js"));
23
- var algosdk_1 = __importDefault(require("algosdk"));
24
- var baseCoin_1 = require("../baseCoin");
25
- var errors_1 = require("../baseCoin/errors");
26
- var transactionBuilder_1 = require("./transactionBuilder");
27
- var txnSchema_1 = require("./txnSchema");
28
- var utils_1 = __importDefault(require("./utils"));
29
- var KeyRegistrationBuilder = /** @class */ (function (_super) {
30
- __extends(KeyRegistrationBuilder, _super);
31
- function KeyRegistrationBuilder(coinConfig) {
32
- return _super.call(this, coinConfig) || this;
33
- }
34
- /**
35
- * Sets the vote key
36
- *
37
- * @returns {KeyRegistrationBuilder} This Key Registration builder.
38
- *
39
- * @param {string} key The root participation public key. See Generate a Participation Key to learn more.
40
- * https://developer.algorand.org/docs/reference/transactions/#key-registration-transaction
41
- */
42
- KeyRegistrationBuilder.prototype.voteKey = function (key) {
43
- this._voteKey = key;
44
- return this;
45
- };
46
- /**
47
- * Sets the selection key
48
- *
49
- * @returns {KeyRegistrationBuilder} This Key Registration builder.
50
- *
51
- * @param {string} key The VRF public key for the account.
52
- * https://developer.algorand.org/docs/reference/transactions/#key-registration-transaction
53
- */
54
- KeyRegistrationBuilder.prototype.selectionKey = function (key) {
55
- this._selectionKey = key;
56
- return this;
57
- };
58
- /**
59
- * Sets the stateProof key
60
- *
61
- * @returns {KeyRegistrationBuilder} This Key Registration builder.
62
- *
63
- * @param {string} key The stateproof key. See consensus for more information.
64
- * https://developer.algorand.org/docs/get-details/algorand_consensus/?from_query=state#state-proof-keys
65
- */
66
- KeyRegistrationBuilder.prototype.stateProofKey = function (key) {
67
- utils_1.default.validateBase64(key);
68
- this._stateProofKey = key;
69
- return this;
70
- };
71
- /**
72
- *Sets the vote first round
73
- *
74
- * @returns {KeyRegistrationBuilder} This Key Registration builder.
75
- *
76
- * @param {number} round The first round that the participation key is valid. Not to be confused with the FirstValid round of the keyreg transaction.
77
- * https://developer.algorand.org/docs/reference/transactions/#key-registration-transaction
78
- */
79
- KeyRegistrationBuilder.prototype.voteFirst = function (round) {
80
- this.validateValue(new bignumber_js_1.default(round));
81
- this._voteFirst = round;
82
- return this;
83
- };
84
- /**
85
- * Sets the vote last round
86
- *
87
- * @returns {KeyRegistrationBuilder} This Key Registration builder.
88
- *
89
- * A recommended range is 3,000,000 rounds.
90
- *
91
- * @param {number} round No theoretical limit.
92
- * https://developer.algorand.org/docs/run-a-node/participate/generate_keys/
93
- */
94
- KeyRegistrationBuilder.prototype.voteLast = function (round) {
95
- this.validateValue(new bignumber_js_1.default(round));
96
- this._voteLast = round;
97
- return this;
98
- };
99
- /**
100
- * Sets the vote key dilution
101
- *
102
- * @returns {KeyRegistrationBuilder} This Key Registration builder.
103
- *
104
- * Defaults to 10,000
105
- *
106
- * @param {number} size [10000]. To reduce the size of the participation key, set the key dilution value to roughly the square root of the range that the partkey is valid for.
107
- * https://developer.algorand.org/docs/run-a-node/participate/generate_keys/#generate-the-participation-key-with-goal
108
- * @param size
109
- */
110
- KeyRegistrationBuilder.prototype.voteKeyDilution = function (size) {
111
- if (size === void 0) { size = 10000; }
112
- this.validateValue(new bignumber_js_1.default(size));
113
- this._voteKeyDilution = size;
114
- return this;
115
- };
116
- /**
117
- * Sets the non participation flag
118
- *
119
- * @returns {KeyRegistrationBuilder} This Key Registration builder.
120
- *
121
- * @param {boolean} nonParticipation All new Algorand accounts are participating by default.
122
- * This means that they earn rewards. Mark an account nonparticipating by setting this value to true and this account
123
- * will no longer earn rewards NEVER.
124
- * https://developer.algorand.org/docs/reference/transactions/#key-registration-transaction
125
- */
126
- KeyRegistrationBuilder.prototype.nonParticipation = function (nonParticipation) {
127
- this._nonParticipation = nonParticipation;
128
- return this;
129
- };
130
- KeyRegistrationBuilder.prototype.buildAlgoTxn = function () {
131
- return this.isOfflineKeyRegAccountLibTransaction()
132
- ? this.buildOfflineKeyRegTransaction()
133
- : this.isNonParticipationKeyRegAccountLibTransaction()
134
- ? this.buildNonParticipationKeyRegTransaction()
135
- : this.buildOnlineKeyRegTransaction();
136
- };
137
- KeyRegistrationBuilder.prototype.buildOfflineKeyRegTransaction = function () {
138
- return algosdk_1.default.makeKeyRegistrationTxnWithSuggestedParams(this._sender, this._note, undefined, // voteKey param
139
- undefined, // selectionKey param
140
- undefined, // voteFirst param
141
- undefined, // voteLast param
142
- undefined, // voteKeyDilution param
143
- this.suggestedParams);
144
- };
145
- KeyRegistrationBuilder.prototype.buildOnlineKeyRegTransaction = function () {
146
- return algosdk_1.default.makeKeyRegistrationTxnWithSuggestedParams(this._sender, this._note, this._voteKey, this._selectionKey, this._voteFirst, this._voteLast, this._voteKeyDilution, this.suggestedParams, undefined, // reKeyTo param
147
- undefined, // nonParticipation param
148
- this._stateProofKey);
149
- };
150
- KeyRegistrationBuilder.prototype.buildNonParticipationKeyRegTransaction = function () {
151
- return algosdk_1.default.makeKeyRegistrationTxnWithSuggestedParams(this._sender, this._note, undefined, // voteKey param
152
- undefined, // selectionKey param
153
- undefined, // voteFirst param
154
- undefined, // voteLast param
155
- undefined, // voteKeyDilution param
156
- this.suggestedParams, this._reKeyTo, true);
157
- };
158
- Object.defineProperty(KeyRegistrationBuilder.prototype, "transactionType", {
159
- get: function () {
160
- return baseCoin_1.TransactionType.WalletInitialization;
161
- },
162
- enumerable: false,
163
- configurable: true
164
- });
165
- /** @inheritdoc */
166
- KeyRegistrationBuilder.prototype.fromImplementation = function (rawTransaction) {
167
- var tx = _super.prototype.fromImplementation.call(this, rawTransaction);
168
- var algoTxn = tx.getAlgoTransaction();
169
- if (algoTxn) {
170
- if (this.isNonParticipationKeyRegAlgoSDKTransaction(algoTxn)) {
171
- this.nonParticipation(!!algoTxn.nonParticipation);
172
- }
173
- else if (this.isOnlineKeyRegAlgoSDKTransaction(algoTxn)) {
174
- this.voteKey(algoTxn.voteKey.toString('base64'));
175
- this.selectionKey(algoTxn.selectionKey.toString('base64'));
176
- this.voteFirst(algoTxn.voteFirst);
177
- this.voteLast(algoTxn.voteLast);
178
- this.voteKeyDilution(algoTxn.voteKeyDilution);
179
- if (algoTxn.stateProofKey) {
180
- this.stateProofKey(algoTxn.stateProofKey.toString('base64'));
181
- }
182
- }
183
- }
184
- return tx;
185
- };
186
- /** @inheritdoc */
187
- KeyRegistrationBuilder.prototype.validateRawTransaction = function (rawTransaction) {
188
- var decodeTxn = utils_1.default.decodeAlgoTxn(rawTransaction);
189
- var algoTxn = decodeTxn.txn;
190
- if (algoTxn.type !== algosdk_1.default.TransactionType.keyreg) {
191
- throw new errors_1.InvalidTransactionError("Invalid Transaction Type: " + algoTxn.type + ". Expected " + algosdk_1.default.TransactionType.keyreg);
192
- }
193
- if (this.isOnlineKeyRegAlgoSDKTransaction(algoTxn)) {
194
- this.validateFields(algoTxn.voteKey.toString('base64'), algoTxn.selectionKey.toString('base64'), algoTxn.voteFirst, algoTxn.voteLast, algoTxn.voteKeyDilution, algoTxn.stateProofKey && algoTxn.stateProofKey.toString('base64'));
195
- }
196
- };
197
- KeyRegistrationBuilder.prototype.isNonParticipationKeyRegAlgoSDKTransaction = function (algoTxn) {
198
- return !!algoTxn.nonParticipation;
199
- };
200
- KeyRegistrationBuilder.prototype.isNonParticipationKeyRegAccountLibTransaction = function () {
201
- return !!this._nonParticipation;
202
- };
203
- KeyRegistrationBuilder.prototype.isOnlineKeyRegAlgoSDKTransaction = function (algoTxn) {
204
- return !(this.isOfflineKeyRegAlgoSDKTransaction(algoTxn) || this.isNonParticipationKeyRegAlgoSDKTransaction(algoTxn));
205
- };
206
- KeyRegistrationBuilder.prototype.isOnlineKeyRegAccountLibTransaction = function () {
207
- return !(this.isOfflineKeyRegAccountLibTransaction() || this.isNonParticipationKeyRegAccountLibTransaction());
208
- };
209
- KeyRegistrationBuilder.prototype.isOfflineKeyRegAlgoSDKTransaction = function (algoTxn) {
210
- return (!algoTxn.voteKey &&
211
- !algoTxn.selectionKey &&
212
- !algoTxn.voteFirst &&
213
- !algoTxn.voteLast &&
214
- !algoTxn.voteKeyDilution &&
215
- !algoTxn.stateProofKey &&
216
- !algoTxn.nonParticipation);
217
- };
218
- KeyRegistrationBuilder.prototype.isOfflineKeyRegAccountLibTransaction = function () {
219
- return (!this._voteKey &&
220
- !this._selectionKey &&
221
- !this._voteFirst &&
222
- !this._voteLast &&
223
- !this._voteKeyDilution &&
224
- !this._stateProofKey &&
225
- !this._nonParticipation);
226
- };
227
- /** @inheritdoc */
228
- KeyRegistrationBuilder.prototype.validateTransaction = function (transaction) {
229
- _super.prototype.validateTransaction.call(this, transaction);
230
- if (this.isOnlineKeyRegAccountLibTransaction()) {
231
- // invalid offline will reach here
232
- this.validateFields(this._voteKey, this._selectionKey, this._voteFirst, this._voteLast, this._voteKeyDilution, this._stateProofKey);
233
- }
234
- else {
235
- // offline or nonparticipation transaction
236
- if (this._voteKey ||
237
- this._selectionKey ||
238
- this._voteFirst ||
239
- this._voteLast ||
240
- this._voteKeyDilution ||
241
- this._stateProofKey) {
242
- throw new errors_1.InvalidTransactionError('VoteKey, SelectionKey, VoteFirst, VoteLast, VoteKeyDilution, StateProofKey fields cannot be set when offline or nonparticipation is set');
243
- }
244
- }
245
- };
246
- KeyRegistrationBuilder.prototype.validateFields = function (voteKey, selectionKey, voteFirst, voteLast, voteKeyDilution, stateProofKey) {
247
- var validationResult = txnSchema_1.KeyRegTxnSchema.validate({
248
- voteKey: voteKey,
249
- selectionKey: selectionKey,
250
- voteFirst: voteFirst,
251
- voteLast: voteLast,
252
- voteKeyDilution: voteKeyDilution,
253
- stateProofKey: stateProofKey,
254
- });
255
- if (validationResult.error) {
256
- throw new errors_1.InvalidTransactionError("Transaction validation failed: " + validationResult.error.message);
257
- }
258
- };
259
- return KeyRegistrationBuilder;
260
- }(transactionBuilder_1.TransactionBuilder));
261
- exports.KeyRegistrationBuilder = KeyRegistrationBuilder;
262
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5UmVnaXN0cmF0aW9uQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb2luL2FsZ28va2V5UmVnaXN0cmF0aW9uQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw4REFBcUM7QUFDckMsb0RBQThCO0FBRTlCLHdDQUE4QztBQUM5Qyw2Q0FBNkQ7QUFDN0QsMkRBQTBEO0FBRTFELHlDQUE4QztBQUM5QyxrREFBNEI7QUFFNUI7SUFBNEMsMENBQWtCO0lBUzVELGdDQUFZLFVBQWdDO2VBQzFDLGtCQUFNLFVBQVUsQ0FBQztJQUNuQixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILHdDQUFPLEdBQVAsVUFBUSxHQUFXO1FBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDO1FBQ3BCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCw2Q0FBWSxHQUFaLFVBQWEsR0FBVztRQUN0QixJQUFJLENBQUMsYUFBYSxHQUFHLEdBQUcsQ0FBQztRQUN6QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsOENBQWEsR0FBYixVQUFjLEdBQVc7UUFDdkIsZUFBSyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsY0FBYyxHQUFHLEdBQUcsQ0FBQztRQUMxQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsMENBQVMsR0FBVCxVQUFVLEtBQWE7UUFDckIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLHNCQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUV4QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSCx5Q0FB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ZSxDQUFDLFFBQVEsQ0FBQztZQUNoRCxPQUFPLFNBQUE7WUFDUCxZQUFZLGNBQUE7WUFDWixTQUFTLFdBQUE7WUFDVCxRQUFRLFVBQUE7WUFDUixlQUFlLGlCQUFBO1lBQ2YsYUFBYSxlQUFBO1NBQ2QsQ0FBQyxDQUFDO1FBRUgsSUFBSSxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUU7WUFDMUIsTUFBTSxJQUFJLGdDQUF1QixDQUFDLG9DQUFrQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsT0FBUyxDQUFDLENBQUM7U0FDdkc7SUFDSCxDQUFDO0lBQ0gsNkJBQUM7QUFBRCxDQUFDLEFBeFRELENBQTRDLHVDQUFrQixHQXdUN0Q7QUF4VFksd0RBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEJpZ051bWJlciBmcm9tICdiaWdudW1iZXIuanMnO1xuaW1wb3J0IGFsZ29zZGsgZnJvbSAnYWxnb3Nkayc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnLi4vYmFzZUNvaW4nO1xuaW1wb3J0IHsgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IgfSBmcm9tICcuLi9iYXNlQ29pbi9lcnJvcnMnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IEtleVJlZ1R4blNjaGVtYSB9IGZyb20gJy4vdHhuU2NoZW1hJztcbmltcG9ydCBVdGlscyBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGNsYXNzIEtleVJlZ2lzdHJhdGlvbkJ1aWxkZXIgZXh0ZW5kcyBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICBwcm90ZWN0ZWQgX3ZvdGVLZXk6IHN0cmluZztcbiAgcHJvdGVjdGVkIF9zZWxlY3Rpb25LZXk6IHN0cmluZztcbiAgcHJvdGVjdGVkIF92b3RlRmlyc3Q6IG51bWJlcjtcbiAgcHJvdGVjdGVkIF92b3RlTGFzdDogbnVtYmVyO1xuICBwcm90ZWN0ZWQgX3ZvdGVLZXlEaWx1dGlvbjogbnVtYmVyO1xuICBwcm90ZWN0ZWQgX25vblBhcnRpY2lwYXRpb246IGJvb2xlYW47XG4gIHByb3RlY3RlZCBfc3RhdGVQcm9vZktleTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKGNvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoY29pbkNvbmZpZyk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgdm90ZSBrZXlcbiAgICpcbiAgICogQHJldHVybnMge0tleVJlZ2lzdHJhdGlvbkJ1aWxkZXJ9IFRoaXMgS2V5IFJlZ2lzdHJhdGlvbiBidWlsZGVyLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSByb290IHBhcnRpY2lwYXRpb24gcHVibGljIGtleS4gU2VlIEdlbmVyYXRlIGEgUGFydGljaXBhdGlvbiBLZXkgdG8gbGVhcm4gbW9yZS5cbiAgICogaHR0cHM6Ly9kZXZlbG9wZXIuYWxnb3JhbmQub3JnL2RvY3MvcmVmZXJlbmNlL3RyYW5zYWN0aW9ucy8ja2V5LXJlZ2lzdHJhdGlvbi10cmFuc2FjdGlvblxuICAgKi9cbiAgdm90ZUtleShrZXk6IHN0cmluZyk6IEtleVJlZ2lzdHJhdGlvbkJ1aWxkZXIge1xuICAgIHRoaXMuX3ZvdGVLZXkgPSBrZXk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgc2VsZWN0aW9uIGtleVxuICAgKlxuICAgKiBAcmV0dXJucyB7S2V5UmVnaXN0cmF0aW9uQnVpbGRlcn0gVGhpcyBLZXkgUmVnaXN0cmF0aW9uIGJ1aWxkZXIuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIFZSRiBwdWJsaWMga2V5IGZvciB0aGUgYWNjb3VudC5cbiAgICogaHR0cHM6Ly9kZXZlbG9wZXIuYWxnb3JhbmQub3JnL2RvY3MvcmVmZXJlbmNlL3RyYW5zYWN0aW9ucy8ja2V5LXJlZ2lzdHJhdGlvbi10cmFuc2FjdGlvblxuICAgKi9cbiAgc2VsZWN0aW9uS2V5KGtleTogc3RyaW5nKTogS2V5UmVnaXN0cmF0aW9uQnVpbGRlciB7XG4gICAgdGhpcy5fc2VsZWN0aW9uS2V5ID0ga2V5O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHN0YXRlUHJvb2Yga2V5XG4gICAqXG4gICAqIEByZXR1cm5zIHtLZXlSZWdpc3RyYXRpb25CdWlsZGVyfSBUaGlzIEtleSBSZWdpc3RyYXRpb24gYnVpbGRlci5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUgc3RhdGVwcm9vZiBrZXkuIFNlZSBjb25zZW5zdXMgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4gICAqIGh0dHBzOi8vZGV2ZWxvcGVyLmFsZ29yYW5kLm9yZy9kb2NzL2dldC1kZXRhaWxzL2FsZ29yYW5kX2NvbnNlbnN1cy8/ZnJvbV9xdWVyeT1zdGF0ZSNzdGF0ZS1wcm9vZi1rZXlzXG4gICAqL1xuICBzdGF0ZVByb29mS2V5KGtleTogc3RyaW5nKTogS2V5UmVnaXN0cmF0aW9uQnVpbGRlciB7XG4gICAgVXRpbHMudmFsaWRhdGVCYXNlNjQoa2V5KTtcbiAgICB0aGlzLl9zdGF0ZVByb29mS2V5ID0ga2V5O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqU2V0cyB0aGUgdm90ZSBmaXJzdCByb3VuZFxuICAgKlxuICAgKiBAcmV0dXJucyB7S2V5UmVnaXN0cmF0aW9uQnVpbGRlcn0gVGhpcyBLZXkgUmVnaXN0cmF0aW9uIGJ1aWxkZXIuXG4gICAqXG4gICAqIEBwYXJhbSB7bnVtYmVyfSByb3VuZCBUaGUgZmlyc3Qgcm91bmQgdGhhdCB0aGUgcGFydGljaXBhdGlvbiBrZXkgaXMgdmFsaWQuIE5vdCB0byBiZSBjb25mdXNlZCB3aXRoIHRoZSBGaXJzdFZhbGlkIHJvdW5kIG9mIHRoZSBrZXlyZWcgdHJhbnNhY3Rpb24uXG4gICAqIGh0dHBzOi8vZGV2ZWxvcGVyLmFsZ29yYW5kLm9yZy9kb2NzL3JlZmVyZW5jZS90cmFuc2FjdGlvbnMvI2tleS1yZWdpc3RyYXRpb24tdHJhbnNhY3Rpb25cbiAgICovXG4gIHZvdGVGaXJzdChyb3VuZDogbnVtYmVyKTogS2V5UmVnaXN0cmF0aW9uQnVpbGRlciB7XG4gICAgdGhpcy52YWxpZGF0ZVZhbHVlKG5ldyBCaWdOdW1iZXIocm91bmQpKTtcbiAgICB0aGlzLl92b3RlRmlyc3QgPSByb3VuZDtcblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHZvdGUgbGFzdCByb3VuZFxuICAgKlxuICAgKiBAcmV0dXJucyB7S2V5UmVnaXN0cmF0aW9uQnVpbGRlcn0gVGhpcyBLZXkgUmVnaXN0cmF0aW9uIGJ1aWxkZXIuXG4gICAqXG4gICAqIEEgcmVjb21tZW5kZWQgcmFuZ2UgaXMgMywwMDAsMDAwIHJvdW5kcy5cbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IHJvdW5kIE5vIHRoZW9yZXRpY2FsIGxpbWl0LlxuICAgKiBodHRwczovL2RldmVsb3Blci5hbGdvcmFuZC5vcmcvZG9jcy9ydW4tYS1ub2RlL3BhcnRpY2lwYXRlL2dlbmVyYXRlX2tleXMvXG4gICAqL1xuICB2b3RlTGFzdChyb3VuZDogbnVtYmVyKTogS2V5UmVnaXN0cmF0aW9uQnVpbGRlciB7XG4gICAgdGhpcy52YWxpZGF0ZVZhbHVlKG5ldyBCaWdOdW1iZXIocm91bmQpKTtcbiAgICB0aGlzLl92b3RlTGFzdCA9IHJvdW5kO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgdm90ZSBrZXkgZGlsdXRpb25cbiAgICpcbiAgICogQHJldHVybnMge0tleVJlZ2lzdHJhdGlvbkJ1aWxkZXJ9IFRoaXMgS2V5IFJlZ2lzdHJhdGlvbiBidWlsZGVyLlxuICAgKlxuICAgKiBEZWZhdWx0cyB0byAxMCwwMDBcbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IHNpemUgWzEwMDAwXS4gVG8gcmVkdWNlIHRoZSBzaXplIG9mIHRoZSBwYXJ0aWNpcGF0aW9uIGtleSwgc2V0IHRoZSBrZXkgZGlsdXRpb24gdmFsdWUgdG8gcm91Z2hseSB0aGUgc3F1YXJlIHJvb3Qgb2YgdGhlIHJhbmdlIHRoYXQgdGhlIHBhcnRrZXkgaXMgdmFsaWQgZm9yLlxuICAgKiBodHRwczovL2RldmVsb3Blci5hbGdvcmFuZC5vcmcvZG9jcy9ydW4tYS1ub2RlL3BhcnRpY2lwYXRlL2dlbmVyYXRlX2tleXMvI2dlbmVyYXRlLXRoZS1wYXJ0aWNpcGF0aW9uLWtleS13aXRoLWdvYWxcbiAgICogQHBhcmFtIHNpemVcbiAgICovXG4gIHZvdGVLZXlEaWx1dGlvbihzaXplID0gMTAwMDApOiBLZXlSZWdpc3RyYXRpb25CdWlsZGVyIHtcbiAgICB0aGlzLnZhbGlkYXRlVmFsdWUobmV3IEJpZ051bWJlcihzaXplKSk7XG4gICAgdGhpcy5fdm90ZUtleURpbHV0aW9uID0gc2l6ZTtcblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIG5vbiBwYXJ0aWNpcGF0aW9uIGZsYWdcbiAgICpcbiAgICogQHJldHVybnMge0tleVJlZ2lzdHJhdGlvbkJ1aWxkZXJ9IFRoaXMgS2V5IFJlZ2lzdHJhdGlvbiBidWlsZGVyLlxuICAgKlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IG5vblBhcnRpY2lwYXRpb24gQWxsIG5ldyBBbGdvcmFuZCBhY2NvdW50cyBhcmUgcGFydGljaXBhdGluZyBieSBkZWZhdWx0LlxuICAgKiBUaGlzIG1lYW5zIHRoYXQgdGhleSBlYXJuIHJld2FyZHMuIE1hcmsgYW4gYWNjb3VudCBub25wYXJ0aWNpcGF0aW5nIGJ5IHNldHRpbmcgdGhpcyB2YWx1ZSB0byB0cnVlIGFuZCB0aGlzIGFjY291bnRcbiAgICogd2lsbCBubyBsb25nZXIgZWFybiByZXdhcmRzIE5FVkVSLlxuICAgKiBodHRwczovL2RldmVsb3Blci5hbGdvcmFuZC5vcmcvZG9jcy9yZWZlcmVuY2UvdHJhbnNhY3Rpb25zLyNrZXktcmVnaXN0cmF0aW9uLXRyYW5zYWN0aW9uXG4gICAqL1xuICBub25QYXJ0aWNpcGF0aW9uKG5vblBhcnRpY2lwYXRpb246IGJvb2xlYW4pOiBLZXlSZWdpc3RyYXRpb25CdWlsZGVyIHtcbiAgICB0aGlzLl9ub25QYXJ0aWNpcGF0aW9uID0gbm9uUGFydGljaXBhdGlvbjtcblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHJvdGVjdGVkIGJ1aWxkQWxnb1R4bigpOiBhbGdvc2RrLlRyYW5zYWN0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5pc09mZmxpbmVLZXlSZWdBY2NvdW50TGliVHJhbnNhY3Rpb24oKVxuICAgICAgPyB0aGlzLmJ1aWxkT2ZmbGluZUtleVJlZ1RyYW5zYWN0aW9uKClcbiAgICAgIDogdGhpcy5pc05vblBhcnRpY2lwYXRpb25LZXlSZWdBY2NvdW50TGliVHJhbnNhY3Rpb24oKVxuICAgICAgPyB0aGlzLmJ1aWxkTm9uUGFydGljaXBhdGlvbktleVJlZ1RyYW5zYWN0aW9uKClcbiAgICAgIDogdGhpcy5idWlsZE9ubGluZUtleVJlZ1RyYW5zYWN0aW9uKCk7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkT2ZmbGluZUtleVJlZ1RyYW5zYWN0aW9uKCk6IGFsZ29zZGsuVHJhbnNhY3Rpb24ge1xuICAgIHJldHVybiBhbGdvc2RrLm1ha2VLZXlSZWdpc3RyYXRpb25UeG5XaXRoU3VnZ2VzdGVkUGFyYW1zKFxuICAgICAgdGhpcy5fc2VuZGVyLFxuICAgICAgdGhpcy5fbm90ZSxcbiAgICAgIHVuZGVmaW5lZCwgLy8gdm90ZUtleSBwYXJhbVxuICAgICAgdW5kZWZpbmVkLCAvLyBzZWxlY3Rpb25LZXkgcGFyYW1cbiAgICAgIHVuZGVmaW5lZCwgLy8gdm90ZUZpcnN0IHBhcmFtXG4gICAgICB1bmRlZmluZWQsIC8vIHZvdGVMYXN0IHBhcmFtXG4gICAgICB1bmRlZmluZWQsIC8vIHZvdGVLZXlEaWx1dGlvbiBwYXJhbVxuICAgICAgdGhpcy5zdWdnZXN0ZWRQYXJhbXMsXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRPbmxpbmVLZXlSZWdUcmFuc2FjdGlvbigpOiBhbGdvc2RrLlRyYW5zYWN0aW9uIHtcbiAgICByZXR1cm4gYWxnb3Nkay5tYWtlS2V5UmVnaXN0cmF0aW9uVHhuV2l0aFN1Z2dlc3RlZFBhcmFtcyhcbiAgICAgIHRoaXMuX3NlbmRlcixcbiAgICAgIHRoaXMuX25vdGUsXG4gICAgICB0aGlzLl92b3RlS2V5LFxuICAgICAgdGhpcy5fc2VsZWN0aW9uS2V5LFxuICAgICAgdGhpcy5fdm90ZUZpcnN0LFxuICAgICAgdGhpcy5fdm90ZUxhc3QsXG4gICAgICB0aGlzLl92b3RlS2V5RGlsdXRpb24sXG4gICAgICB0aGlzLnN1Z2dlc3RlZFBhcmFtcyxcbiAgICAgIHVuZGVmaW5lZCwgLy8gcmVLZXlUbyBwYXJhbVxuICAgICAgdW5kZWZpbmVkLCAvLyBub25QYXJ0aWNpcGF0aW9uIHBhcmFtXG4gICAgICB0aGlzLl9zdGF0ZVByb29mS2V5LFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkTm9uUGFydGljaXBhdGlvbktleVJlZ1RyYW5zYWN0aW9uKCk6IGFsZ29zZGsuVHJhbnNhY3Rpb24ge1xuICAgIHJldHVybiBhbGdvc2RrLm1ha2VLZXlSZWdpc3RyYXRpb25UeG5XaXRoU3VnZ2VzdGVkUGFyYW1zKFxuICAgICAgdGhpcy5fc2VuZGVyLFxuICAgICAgdGhpcy5fbm90ZSxcbiAgICAgIHVuZGVmaW5lZCwgLy8gdm90ZUtleSBwYXJhbVxuICAgICAgdW5kZWZpbmVkLCAvLyBzZWxlY3Rpb25LZXkgcGFyYW1cbiAgICAgIHVuZGVmaW5lZCwgLy8gdm90ZUZpcnN0IHBhcmFtXG4gICAgICB1bmRlZmluZWQsIC8vIHZvdGVMYXN0IHBhcmFtXG4gICAgICB1bmRlZmluZWQsIC8vIHZvdGVLZXlEaWx1dGlvbiBwYXJhbVxuICAgICAgdGhpcy5zdWdnZXN0ZWRQYXJhbXMsXG4gICAgICB0aGlzLl9yZUtleVRvLFxuICAgICAgdHJ1ZSwgLy8gbm9uUGFydGljaXBhdGlvbiBwYXJhbVxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IHRyYW5zYWN0aW9uVHlwZSgpOiBUcmFuc2FjdGlvblR5cGUge1xuICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuV2FsbGV0SW5pdGlhbGl6YXRpb247XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbjogVWludDhBcnJheSB8IHN0cmluZyk6IFRyYW5zYWN0aW9uIHtcbiAgICBjb25zdCB0eCA9IHN1cGVyLmZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbik7XG4gICAgY29uc3QgYWxnb1R4biA9IHR4LmdldEFsZ29UcmFuc2FjdGlvbigpO1xuXG4gICAgaWYgKGFsZ29UeG4pIHtcbiAgICAgIGlmICh0aGlzLmlzTm9uUGFydGljaXBhdGlvbktleVJlZ0FsZ29TREtUcmFuc2FjdGlvbihhbGdvVHhuKSkge1xuICAgICAgICB0aGlzLm5vblBhcnRpY2lwYXRpb24oISFhbGdvVHhuLm5vblBhcnRpY2lwYXRpb24pO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmlzT25saW5lS2V5UmVnQWxnb1NES1RyYW5zYWN0aW9uKGFsZ29UeG4pKSB7XG4gICAgICAgIHRoaXMudm90ZUtleShhbGdvVHhuLnZvdGVLZXkudG9TdHJpbmcoJ2Jhc2U2NCcpKTtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb25LZXkoYWxnb1R4bi5zZWxlY3Rpb25LZXkudG9TdHJpbmcoJ2Jhc2U2NCcpKTtcbiAgICAgICAgdGhpcy52b3RlRmlyc3QoYWxnb1R4bi52b3RlRmlyc3QpO1xuICAgICAgICB0aGlzLnZvdGVMYXN0KGFsZ29UeG4udm90ZUxhc3QpO1xuICAgICAgICB0aGlzLnZvdGVLZXlEaWx1dGlvbihhbGdvVHhuLnZvdGVLZXlEaWx1dGlvbik7XG4gICAgICAgIGlmIChhbGdvVHhuLnN0YXRlUHJvb2ZLZXkpIHtcbiAgICAgICAgICB0aGlzLnN0YXRlUHJvb2ZLZXkoYWxnb1R4bi5zdGF0ZVByb29mS2V5LnRvU3RyaW5nKCdiYXNlNjQnKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHR4O1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb246IFVpbnQ4QXJyYXkgfCBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBkZWNvZGVUeG4gPSBVdGlscy5kZWNvZGVBbGdvVHhuKHJhd1RyYW5zYWN0aW9uKTtcbiAgICBjb25zdCBhbGdvVHhuID0gZGVjb2RlVHhuLnR4bjtcbiAgICBpZiAoYWxnb1R4bi50eXBlICE9PSBhbGdvc2RrLlRyYW5zYWN0aW9uVHlwZS5rZXlyZWcpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihcbiAgICAgICAgYEludmFsaWQgVHJhbnNhY3Rpb24gVHlwZTogJHthbGdvVHhuLnR5cGV9LiBFeHBlY3RlZCAke2FsZ29zZGsuVHJhbnNhY3Rpb25UeXBlLmtleXJlZ31gLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pc09ubGluZUtleVJlZ0FsZ29TREtUcmFuc2FjdGlvbihhbGdvVHhuKSkge1xuICAgICAgdGhpcy52YWxpZGF0ZUZpZWxkcyhcbiAgICAgICAgYWxnb1R4bi52b3RlS2V5LnRvU3RyaW5nKCdiYXNlNjQnKSxcbiAgICAgICAgYWxnb1R4bi5zZWxlY3Rpb25LZXkudG9TdHJpbmcoJ2Jhc2U2NCcpLFxuICAgICAgICBhbGdvVHhuLnZvdGVGaXJzdCxcbiAgICAgICAgYWxnb1R4bi52b3RlTGFzdCxcbiAgICAgICAgYWxnb1R4bi52b3RlS2V5RGlsdXRpb24sXG4gICAgICAgIGFsZ29UeG4uc3RhdGVQcm9vZktleSAmJiBhbGdvVHhuLnN0YXRlUHJvb2ZLZXkudG9TdHJpbmcoJ2Jhc2U2NCcpLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGlzTm9uUGFydGljaXBhdGlvbktleVJlZ0FsZ29TREtUcmFuc2FjdGlvbihhbGdvVHhuOiBhbGdvc2RrLlRyYW5zYWN0aW9uKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhYWxnb1R4bi5ub25QYXJ0aWNpcGF0aW9uO1xuICB9XG5cbiAgcHJpdmF0ZSBpc05vblBhcnRpY2lwYXRpb25LZXlSZWdBY2NvdW50TGliVHJhbnNhY3Rpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5fbm9uUGFydGljaXBhdGlvbjtcbiAgfVxuXG4gIHByaXZhdGUgaXNPbmxpbmVLZXlSZWdBbGdvU0RLVHJhbnNhY3Rpb24oYWxnb1R4bjogYWxnb3Nkay5UcmFuc2FjdGlvbik6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhKFxuICAgICAgdGhpcy5pc09mZmxpbmVLZXlSZWdBbGdvU0RLVHJhbnNhY3Rpb24oYWxnb1R4bikgfHwgdGhpcy5pc05vblBhcnRpY2lwYXRpb25LZXlSZWdBbGdvU0RLVHJhbnNhY3Rpb24oYWxnb1R4bilcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBpc09ubGluZUtleVJlZ0FjY291bnRMaWJUcmFuc2FjdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISh0aGlzLmlzT2ZmbGluZUtleVJlZ0FjY291bnRMaWJUcmFuc2FjdGlvbigpIHx8IHRoaXMuaXNOb25QYXJ0aWNpcGF0aW9uS2V5UmVnQWNjb3VudExpYlRyYW5zYWN0aW9uKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc09mZmxpbmVLZXlSZWdBbGdvU0RLVHJhbnNhY3Rpb24oYWxnb1R4bjogYWxnb3Nkay5UcmFuc2FjdGlvbik6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICAhYWxnb1R4bi52b3RlS2V5ICYmXG4gICAgICAhYWxnb1R4bi5zZWxlY3Rpb25LZXkgJiZcbiAgICAgICFhbGdvVHhuLnZvdGVGaXJzdCAmJlxuICAgICAgIWFsZ29UeG4udm90ZUxhc3QgJiZcbiAgICAgICFhbGdvVHhuLnZvdGVLZXlEaWx1dGlvbiAmJlxuICAgICAgIWFsZ29UeG4uc3RhdGVQcm9vZktleSAmJlxuICAgICAgIWFsZ29UeG4ubm9uUGFydGljaXBhdGlvblxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGlzT2ZmbGluZUtleVJlZ0FjY291bnRMaWJUcmFuc2FjdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgIXRoaXMuX3ZvdGVLZXkgJiZcbiAgICAgICF0aGlzLl9zZWxlY3Rpb25LZXkgJiZcbiAgICAgICF0aGlzLl92b3RlRmlyc3QgJiZcbiAgICAgICF0aGlzLl92b3RlTGFzdCAmJlxuICAgICAgIXRoaXMuX3ZvdGVLZXlEaWx1dGlvbiAmJlxuICAgICAgIXRoaXMuX3N0YXRlUHJvb2ZLZXkgJiZcbiAgICAgICF0aGlzLl9ub25QYXJ0aWNpcGF0aW9uXG4gICAgKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZVRyYW5zYWN0aW9uKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIHN1cGVyLnZhbGlkYXRlVHJhbnNhY3Rpb24odHJhbnNhY3Rpb24pO1xuICAgIGlmICh0aGlzLmlzT25saW5lS2V5UmVnQWNjb3VudExpYlRyYW5zYWN0aW9uKCkpIHtcbiAgICAgIC8vIGludmFsaWQgb2ZmbGluZSB3aWxsIHJlYWNoIGhlcmVcbiAgICAgIHRoaXMudmFsaWRhdGVGaWVsZHMoXG4gICAgICAgIHRoaXMuX3ZvdGVLZXksXG4gICAgICAgIHRoaXMuX3NlbGVjdGlvbktleSxcbiAgICAgICAgdGhpcy5fdm90ZUZpcnN0LFxuICAgICAgICB0aGlzLl92b3RlTGFzdCxcbiAgICAgICAgdGhpcy5fdm90ZUtleURpbHV0aW9uLFxuICAgICAgICB0aGlzLl9zdGF0ZVByb29mS2V5LFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gb2ZmbGluZSBvciBub25wYXJ0aWNpcGF0aW9uIHRyYW5zYWN0aW9uXG4gICAgICBpZiAoXG4gICAgICAgIHRoaXMuX3ZvdGVLZXkgfHxcbiAgICAgICAgdGhpcy5fc2VsZWN0aW9uS2V5IHx8XG4gICAgICAgIHRoaXMuX3ZvdGVGaXJzdCB8fFxuICAgICAgICB0aGlzLl92b3RlTGFzdCB8fFxuICAgICAgICB0aGlzLl92b3RlS2V5RGlsdXRpb24gfHxcbiAgICAgICAgdGhpcy5fc3RhdGVQcm9vZktleVxuICAgICAgKSB7XG4gICAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihcbiAgICAgICAgICAnVm90ZUtleSwgU2VsZWN0aW9uS2V5LCBWb3RlRmlyc3QsIFZvdGVMYXN0LCBWb3RlS2V5RGlsdXRpb24sIFN0YXRlUHJvb2ZLZXkgZmllbGRzIGNhbm5vdCBiZSBzZXQgd2hlbiBvZmZsaW5lIG9yIG5vbnBhcnRpY2lwYXRpb24gaXMgc2V0JyxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlRmllbGRzKFxuICAgIHZvdGVLZXk6IHN0cmluZyxcbiAgICBzZWxlY3Rpb25LZXk6IHN0cmluZyxcbiAgICB2b3RlRmlyc3Q6IG51bWJlcixcbiAgICB2b3RlTGFzdDogbnVtYmVyLFxuICAgIHZvdGVLZXlEaWx1dGlvbjogbnVtYmVyLFxuICAgIHN0YXRlUHJvb2ZLZXk/OiBzdHJpbmcsXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IHZhbGlkYXRpb25SZXN1bHQgPSBLZXlSZWdUeG5TY2hlbWEudmFsaWRhdGUoe1xuICAgICAgdm90ZUtleSxcbiAgICAgIHNlbGVjdGlvbktleSxcbiAgICAgIHZvdGVGaXJzdCxcbiAgICAgIHZvdGVMYXN0LFxuICAgICAgdm90ZUtleURpbHV0aW9uLFxuICAgICAgc3RhdGVQcm9vZktleSxcbiAgICB9KTtcblxuICAgIGlmICh2YWxpZGF0aW9uUmVzdWx0LmVycm9yKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoYFRyYW5zYWN0aW9uIHZhbGlkYXRpb24gZmFpbGVkOiAke3ZhbGlkYXRpb25SZXN1bHQuZXJyb3IubWVzc2FnZX1gKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,25 +0,0 @@
1
- import { Seed } from './ifaces';
2
- export declare class SeedEncoding {
3
- private static genericHash;
4
- /**
5
- * Checks if a seed is valid
6
- * @param {String} seed - encoded Algorand seed
7
- * @returns {Boolean} true if valid, false otherwise
8
- */
9
- static isValidSeed(seed: string): boolean;
10
- /**
11
- * Decode a seed
12
- *
13
- * @param seed
14
- * @return {{checksum: Uint8Array, seed: Uint8Array}}
15
- */
16
- static decode(seed: string): Seed;
17
- /**
18
- * Encode a secret key into a seed
19
- *
20
- * @param secretKey
21
- * @return {String} encoded seed
22
- */
23
- static encode(secretKey: Uint8Array): string;
24
- }
25
- //# sourceMappingURL=seedEncoding.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"seedEncoding.d.ts","sourceRoot":"","sources":["../../../../src/coin/algo/seedEncoding.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAOhC,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAC,WAAW;IAI1B;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IA0BzC;;;;;OAKG;IACH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAajC;;;;;OAKG;IACH,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,GAAG,MAAM;CAe7C"}
@@ -1,100 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- var __importDefault = (this && this.__importDefault) || function (mod) {
22
- return (mod && mod.__esModule) ? mod : { "default": mod };
23
- };
24
- Object.defineProperty(exports, "__esModule", { value: true });
25
- exports.SeedEncoding = void 0;
26
- var base32 = __importStar(require("hi-base32"));
27
- var js_sha512_1 = __importDefault(require("js-sha512"));
28
- var SEED_BYTES_LENGTH = 32;
29
- var ALGORAND_SEED_BYTE_LENGTH = 36;
30
- var ALGORAND_CHECKSUM_BYTE_LENGTH = 4;
31
- var ALGORAND_SEED_LENGTH = 58;
32
- var SeedEncoding = /** @class */ (function () {
33
- function SeedEncoding() {
34
- }
35
- SeedEncoding.genericHash = function (arr) {
36
- return js_sha512_1.default.sha512_256.array(arr);
37
- };
38
- /**
39
- * Checks if a seed is valid
40
- * @param {String} seed - encoded Algorand seed
41
- * @returns {Boolean} true if valid, false otherwise
42
- */
43
- SeedEncoding.isValidSeed = function (seed) {
44
- if (seed.length !== ALGORAND_SEED_LENGTH) {
45
- return false;
46
- }
47
- // Try to decode
48
- var decoded;
49
- try {
50
- decoded = SeedEncoding.decode(seed);
51
- }
52
- catch (e) {
53
- return false;
54
- }
55
- // Compute checksum
56
- var checksum = SeedEncoding.genericHash(decoded.seed).slice(SEED_BYTES_LENGTH - ALGORAND_CHECKSUM_BYTE_LENGTH, SEED_BYTES_LENGTH);
57
- // Check if the checksum and the seed are equal
58
- if (checksum.length !== decoded.checksum.length) {
59
- return false;
60
- }
61
- return checksum.every(function (val, i) { return val === decoded.checksum[i]; });
62
- };
63
- /**
64
- * Decode a seed
65
- *
66
- * @param seed
67
- * @return {{checksum: Uint8Array, seed: Uint8Array}}
68
- */
69
- SeedEncoding.decode = function (seed) {
70
- // try to decode
71
- var decoded = base32.decode.asBytes(seed);
72
- // Sanity check
73
- if (decoded.length !== ALGORAND_SEED_BYTE_LENGTH)
74
- throw new Error('seed seems to be malformed');
75
- return {
76
- seed: new Uint8Array(decoded.slice(0, ALGORAND_SEED_BYTE_LENGTH - ALGORAND_CHECKSUM_BYTE_LENGTH)),
77
- checksum: new Uint8Array(decoded.slice(SEED_BYTES_LENGTH, ALGORAND_SEED_BYTE_LENGTH)),
78
- };
79
- };
80
- /**
81
- * Encode a secret key into a seed
82
- *
83
- * @param secretKey
84
- * @return {String} encoded seed
85
- */
86
- SeedEncoding.encode = function (secretKey) {
87
- // get seed
88
- var seed = secretKey.slice(0, SEED_BYTES_LENGTH);
89
- // compute checksum
90
- var checksum = SeedEncoding.genericHash(seed).slice(SEED_BYTES_LENGTH - ALGORAND_CHECKSUM_BYTE_LENGTH, SEED_BYTES_LENGTH);
91
- var arraySeed = new Uint8Array(seed.length + checksum.length);
92
- arraySeed.set(seed);
93
- arraySeed.set(checksum, seed.length);
94
- var encodedSeed = base32.encode(arraySeed);
95
- return encodedSeed.toString().slice(0, ALGORAND_SEED_LENGTH); // removing the extra '===='
96
- };
97
- return SeedEncoding;
98
- }());
99
- exports.SeedEncoding = SeedEncoding;
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VlZEVuY29kaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvaW4vYWxnby9zZWVkRW5jb2RpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGdEQUFvQztBQUNwQyx3REFBK0I7QUFHL0IsSUFBTSxpQkFBaUIsR0FBRyxFQUFFLENBQUM7QUFDN0IsSUFBTSx5QkFBeUIsR0FBRyxFQUFFLENBQUM7QUFDckMsSUFBTSw2QkFBNkIsR0FBRyxDQUFDLENBQUM7QUFDeEMsSUFBTSxvQkFBb0IsR0FBRyxFQUFFLENBQUM7QUFFaEM7SUFBQTtJQTRFQSxDQUFDO0lBM0VnQix3QkFBVyxHQUExQixVQUEyQixHQUFlO1FBQ3hDLE9BQU8sbUJBQU0sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksd0JBQVcsR0FBbEIsVUFBbUIsSUFBWTtRQUM3QixJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssb0JBQW9CLEVBQUU7WUFDeEMsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUVELGdCQUFnQjtRQUNoQixJQUFJLE9BQWEsQ0FBQztRQUNsQixJQUFJO1lBQ0YsT0FBTyxHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDckM7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCxtQkFBbUI7UUFDbkIsSUFBTSxRQUFRLEdBQUcsWUFBWSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUMzRCxpQkFBaUIsR0FBRyw2QkFBNkIsRUFDakQsaUJBQWlCLENBQ2xCLENBQUM7UUFFRiwrQ0FBK0M7UUFDL0MsSUFBSSxRQUFRLENBQUMsTUFBTSxLQUFLLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFO1lBQy9DLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFDRCxPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsVUFBQyxHQUFHLEVBQUUsQ0FBQyxJQUFLLE9BQUEsR0FBRyxLQUFLLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQTNCLENBQTJCLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxtQkFBTSxHQUFiLFVBQWMsSUFBWTtRQUN4QixnQkFBZ0I7UUFDaEIsSUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFNUMsZUFBZTtRQUNmLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyx5QkFBeUI7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixDQUFDLENBQUM7UUFFaEcsT0FBTztZQUNMLElBQUksRUFBRSxJQUFJLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSx5QkFBeUIsR0FBRyw2QkFBNkIsQ0FBQyxDQUFDO1lBQ2pHLFFBQVEsRUFBRSxJQUFJLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLGlCQUFpQixFQUFFLHlCQUF5QixDQUFDLENBQUM7U0FDdEYsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLG1CQUFNLEdBQWIsVUFBYyxTQUFxQjtRQUNqQyxXQUFXO1FBQ1gsSUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQUNuRCxtQkFBbUI7UUFDbkIsSUFBTSxRQUFRLEdBQUcsWUFBWSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQ25ELGlCQUFpQixHQUFHLDZCQUE2QixFQUNqRCxpQkFBaUIsQ0FDbEIsQ0FBQztRQUNGLElBQU0sU0FBUyxHQUFHLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2hFLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEIsU0FBUyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3JDLElBQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFN0MsT0FBTyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsNEJBQTRCO0lBQzVGLENBQUM7SUFDSCxtQkFBQztBQUFELENBQUMsQUE1RUQsSUE0RUM7QUE1RVksb0NBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBiYXNlMzIgZnJvbSAnaGktYmFzZTMyJztcbmltcG9ydCBzaGE1MTIgZnJvbSAnanMtc2hhNTEyJztcbmltcG9ydCB7IFNlZWQgfSBmcm9tICcuL2lmYWNlcyc7XG5cbmNvbnN0IFNFRURfQllURVNfTEVOR1RIID0gMzI7XG5jb25zdCBBTEdPUkFORF9TRUVEX0JZVEVfTEVOR1RIID0gMzY7XG5jb25zdCBBTEdPUkFORF9DSEVDS1NVTV9CWVRFX0xFTkdUSCA9IDQ7XG5jb25zdCBBTEdPUkFORF9TRUVEX0xFTkdUSCA9IDU4O1xuXG5leHBvcnQgY2xhc3MgU2VlZEVuY29kaW5nIHtcbiAgcHJpdmF0ZSBzdGF0aWMgZ2VuZXJpY0hhc2goYXJyOiBVaW50OEFycmF5KTogbnVtYmVyW10ge1xuICAgIHJldHVybiBzaGE1MTIuc2hhNTEyXzI1Ni5hcnJheShhcnIpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiBhIHNlZWQgaXMgdmFsaWRcbiAgICogQHBhcmFtIHtTdHJpbmd9IHNlZWQgLSBlbmNvZGVkIEFsZ29yYW5kIHNlZWRcbiAgICogQHJldHVybnMge0Jvb2xlYW59IHRydWUgaWYgdmFsaWQsIGZhbHNlIG90aGVyd2lzZVxuICAgKi9cbiAgc3RhdGljIGlzVmFsaWRTZWVkKHNlZWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGlmIChzZWVkLmxlbmd0aCAhPT0gQUxHT1JBTkRfU0VFRF9MRU5HVEgpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvLyBUcnkgdG8gZGVjb2RlXG4gICAgbGV0IGRlY29kZWQ6IFNlZWQ7XG4gICAgdHJ5IHtcbiAgICAgIGRlY29kZWQgPSBTZWVkRW5jb2RpbmcuZGVjb2RlKHNlZWQpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvLyBDb21wdXRlIGNoZWNrc3VtXG4gICAgY29uc3QgY2hlY2tzdW0gPSBTZWVkRW5jb2RpbmcuZ2VuZXJpY0hhc2goZGVjb2RlZC5zZWVkKS5zbGljZShcbiAgICAgIFNFRURfQllURVNfTEVOR1RIIC0gQUxHT1JBTkRfQ0hFQ0tTVU1fQllURV9MRU5HVEgsXG4gICAgICBTRUVEX0JZVEVTX0xFTkdUSCxcbiAgICApO1xuXG4gICAgLy8gQ2hlY2sgaWYgdGhlIGNoZWNrc3VtIGFuZCB0aGUgc2VlZCBhcmUgZXF1YWxcbiAgICBpZiAoY2hlY2tzdW0ubGVuZ3RoICE9PSBkZWNvZGVkLmNoZWNrc3VtLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gY2hlY2tzdW0uZXZlcnkoKHZhbCwgaSkgPT4gdmFsID09PSBkZWNvZGVkLmNoZWNrc3VtW2ldKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWNvZGUgYSBzZWVkXG4gICAqXG4gICAqIEBwYXJhbSBzZWVkXG4gICAqIEByZXR1cm4ge3tjaGVja3N1bTogVWludDhBcnJheSwgc2VlZDogVWludDhBcnJheX19XG4gICAqL1xuICBzdGF0aWMgZGVjb2RlKHNlZWQ6IHN0cmluZyk6IFNlZWQge1xuICAgIC8vIHRyeSB0byBkZWNvZGVcbiAgICBjb25zdCBkZWNvZGVkID0gYmFzZTMyLmRlY29kZS5hc0J5dGVzKHNlZWQpO1xuXG4gICAgLy8gU2FuaXR5IGNoZWNrXG4gICAgaWYgKGRlY29kZWQubGVuZ3RoICE9PSBBTEdPUkFORF9TRUVEX0JZVEVfTEVOR1RIKSB0aHJvdyBuZXcgRXJyb3IoJ3NlZWQgc2VlbXMgdG8gYmUgbWFsZm9ybWVkJyk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgc2VlZDogbmV3IFVpbnQ4QXJyYXkoZGVjb2RlZC5zbGljZSgwLCBBTEdPUkFORF9TRUVEX0JZVEVfTEVOR1RIIC0gQUxHT1JBTkRfQ0hFQ0tTVU1fQllURV9MRU5HVEgpKSxcbiAgICAgIGNoZWNrc3VtOiBuZXcgVWludDhBcnJheShkZWNvZGVkLnNsaWNlKFNFRURfQllURVNfTEVOR1RILCBBTEdPUkFORF9TRUVEX0JZVEVfTEVOR1RIKSksXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbmNvZGUgYSBzZWNyZXQga2V5IGludG8gYSBzZWVkXG4gICAqXG4gICAqIEBwYXJhbSBzZWNyZXRLZXlcbiAgICogQHJldHVybiB7U3RyaW5nfSBlbmNvZGVkIHNlZWRcbiAgICovXG4gIHN0YXRpYyBlbmNvZGUoc2VjcmV0S2V5OiBVaW50OEFycmF5KTogc3RyaW5nIHtcbiAgICAvLyBnZXQgc2VlZFxuICAgIGNvbnN0IHNlZWQgPSBzZWNyZXRLZXkuc2xpY2UoMCwgU0VFRF9CWVRFU19MRU5HVEgpO1xuICAgIC8vIGNvbXB1dGUgY2hlY2tzdW1cbiAgICBjb25zdCBjaGVja3N1bSA9IFNlZWRFbmNvZGluZy5nZW5lcmljSGFzaChzZWVkKS5zbGljZShcbiAgICAgIFNFRURfQllURVNfTEVOR1RIIC0gQUxHT1JBTkRfQ0hFQ0tTVU1fQllURV9MRU5HVEgsXG4gICAgICBTRUVEX0JZVEVTX0xFTkdUSCxcbiAgICApO1xuICAgIGNvbnN0IGFycmF5U2VlZCA9IG5ldyBVaW50OEFycmF5KHNlZWQubGVuZ3RoICsgY2hlY2tzdW0ubGVuZ3RoKTtcbiAgICBhcnJheVNlZWQuc2V0KHNlZWQpO1xuICAgIGFycmF5U2VlZC5zZXQoY2hlY2tzdW0sIHNlZWQubGVuZ3RoKTtcbiAgICBjb25zdCBlbmNvZGVkU2VlZCA9IGJhc2UzMi5lbmNvZGUoYXJyYXlTZWVkKTtcblxuICAgIHJldHVybiBlbmNvZGVkU2VlZC50b1N0cmluZygpLnNsaWNlKDAsIEFMR09SQU5EX1NFRURfTEVOR1RIKTsgLy8gcmVtb3ZpbmcgdGhlIGV4dHJhICc9PT09J1xuICB9XG59XG4iXX0=
@@ -1,76 +0,0 @@
1
- import { BaseCoin as CoinConfig } from '@bitgo/statics';
2
- import algosdk from 'algosdk';
3
- import { BaseTransaction, TransactionType } from '../baseCoin';
4
- import { BaseKey } from '../baseCoin/iface';
5
- import { KeyPair } from './keyPair';
6
- import { TxData } from './ifaces';
7
- export declare class Transaction extends BaseTransaction {
8
- private _algoTransaction?;
9
- private _signedTransaction?;
10
- private _numberOfRequiredSigners;
11
- private _sender;
12
- private _signers;
13
- private _signedBy;
14
- constructor(coinConfig: Readonly<CoinConfig>);
15
- /** @inheritdoc */
16
- canSign({ key }: BaseKey): boolean;
17
- sender(address: string): void;
18
- /**
19
- * Signs transaction.
20
- *
21
- * @param {KeyPair} keyPair Signer keys.
22
- */
23
- sign(keyPair: KeyPair[]): void;
24
- /**
25
- * Signs transaction.
26
- *
27
- * @param {KeyPair} keyPair Signer keys.
28
- */
29
- private signSingle;
30
- /**
31
- * Signs multisig transaction.
32
- *
33
- * @param {KeyPair} keyPair Signers keys.
34
- */
35
- private signMultiSig;
36
- set signedTransaction(txn: Uint8Array);
37
- get numberOfRequiredSigners(): number;
38
- /**
39
- * Sets the number of signers required for signing this transaction.
40
- *
41
- * @param {number} num Threshold number of signers.
42
- */
43
- setNumberOfRequiredSigners(num: number): void;
44
- set signers(addrs: string[]);
45
- get signers(): string[];
46
- set signedBy(signer: string[]);
47
- get signedBy(): string[];
48
- /**
49
- * Sets algo transaction.
50
- *
51
- * @param {algosdk.Transaction} tx
52
- */
53
- setAlgoTransaction(tx: algosdk.Transaction): void;
54
- /**
55
- * Get underlaying algo transaction.
56
- *
57
- * @returns {algosdk.Transaction}
58
- */
59
- getAlgoTransaction(): algosdk.Transaction | undefined;
60
- /**
61
- * Set the transaction type.
62
- *
63
- * @param {TransactionType} transactionType The transaction type to be set.
64
- */
65
- setTransactionType(transactionType: TransactionType): void;
66
- estimateSize(): number;
67
- /** @inheritdoc */
68
- toBroadcastFormat(): Uint8Array;
69
- /** @inheritdoc */
70
- toJson(): TxData;
71
- /**
72
- * Load the input and output data on this transaction.
73
- */
74
- loadInputsAndOutputs(): void;
75
- }
76
- //# sourceMappingURL=transaction.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../../src/coin/algo/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAG5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,qBAAa,WAAY,SAAQ,eAAe;IAC9C,OAAO,CAAC,gBAAgB,CAAC,CAAsB;IAC/C,OAAO,CAAC,kBAAkB,CAAC,CAAa;IACxC,OAAO,CAAC,wBAAwB,CAAS;IACzC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,SAAS,CAAW;gBAEhB,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;IAM5C,kBAAkB;IAClB,OAAO,CAAC,EAAE,GAAG,EAAE,EAAE,OAAO,GAAG,OAAO;IAiBlC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI7B;;;;OAIG;IACH,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI;IAW9B;;;;OAIG;IACH,OAAO,CAAC,UAAU;IAYlB;;;;OAIG;IACH,OAAO,CAAC,YAAY;IA+BpB,IAAI,iBAAiB,CAAC,GAAG,EAAE,UAAU,EAEpC;IAED,IAAI,uBAAuB,IAAI,MAAM,CAEpC;IAED;;;;OAIG;IACH,0BAA0B,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI7C,IAAI,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,EAE1B;IAED,IAAI,OAAO,IAAI,MAAM,EAAE,CAEtB;IAED,IAAI,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,EAE5B;IAED,IAAI,QAAQ,IAAI,MAAM,EAAE,CAEvB;IAED;;;;OAIG;IAEH,kBAAkB,CAAC,EAAE,EAAE,OAAO,CAAC,WAAW,GAAG,IAAI;IAIjD;;;;OAIG;IAEH,kBAAkB,IAAI,OAAO,CAAC,WAAW,GAAG,SAAS;IAIrD;;;;OAIG;IACH,kBAAkB,CAAC,eAAe,EAAE,eAAe,GAAG,IAAI;IAI1D,YAAY,IAAI,MAAM;IAQtB,kBAAkB;IAClB,iBAAiB,IAAI,UAAU;IAW/B,kBAAkB;IAClB,MAAM,IAAI,MAAM;IAoDhB;;OAEG;IACH,oBAAoB,IAAI,IAAI;CAsB7B"}