@bitgo/account-lib 2.20.1-rc.2 → 2.21.0-hotfix.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (633) hide show
  1. package/CHANGELOG.md +79 -0
  2. package/README.md +5 -7
  3. package/dist/browser/bitgo-account-lib.js +2 -0
  4. package/dist/browser/bitgo-account-lib.js.LICENSE.txt +337 -0
  5. package/dist/resources/hbar/protobuf/BasicTypes.proto +424 -0
  6. package/dist/resources/hbar/protobuf/CryptoCreate.proto +47 -0
  7. package/dist/resources/hbar/protobuf/CryptoTransfer.proto +33 -0
  8. package/dist/resources/hbar/protobuf/Duration.proto +28 -0
  9. package/dist/resources/hbar/protobuf/Timestamp.proto +34 -0
  10. package/dist/resources/hbar/protobuf/Transaction.proto +35 -0
  11. package/dist/resources/hbar/protobuf/TransactionBody.proto +24 -0
  12. package/dist/resources/hbar/protobuf/TransactionContents.proto +33 -0
  13. package/dist/resources/hbar/protobuf/hedera.d.ts +4612 -0
  14. package/dist/resources/hbar/protobuf/hedera.js +12192 -0
  15. package/dist/resources/trx/protobuf/Contract.proto +256 -0
  16. package/dist/resources/trx/protobuf/Discover.proto +44 -0
  17. package/dist/resources/trx/protobuf/tron.d.ts +11024 -0
  18. package/dist/resources/trx/protobuf/tron.js +31510 -0
  19. package/dist/resources/trx/protobuf/tron.proto +677 -0
  20. package/dist/src/coin/algo/assetTransferBuilder.d.ts +42 -0
  21. package/dist/src/coin/algo/assetTransferBuilder.d.ts.map +1 -0
  22. package/dist/src/coin/algo/assetTransferBuilder.js +105 -0
  23. package/dist/src/coin/algo/errors.d.ts +11 -0
  24. package/dist/src/coin/algo/errors.d.ts.map +1 -0
  25. package/dist/src/coin/algo/errors.js +27 -0
  26. package/dist/src/coin/algo/ifaces.d.ts +46 -0
  27. package/dist/src/coin/algo/ifaces.d.ts.map +1 -0
  28. package/dist/src/coin/algo/ifaces.js +3 -0
  29. package/dist/src/coin/algo/index.d.ts +13 -0
  30. package/dist/src/coin/algo/index.d.ts.map +1 -0
  31. package/dist/src/coin/algo/index.js +47 -0
  32. package/dist/src/coin/algo/keyPair.d.ts +25 -0
  33. package/dist/src/coin/algo/keyPair.d.ts.map +1 -0
  34. package/dist/src/coin/algo/keyPair.js +77 -0
  35. package/dist/src/coin/algo/keyRegistrationBuilder.d.ts +104 -0
  36. package/dist/src/coin/algo/keyRegistrationBuilder.d.ts.map +1 -0
  37. package/dist/src/coin/algo/keyRegistrationBuilder.js +239 -0
  38. package/dist/src/coin/algo/seedEncoding.d.ts +25 -0
  39. package/dist/src/coin/algo/seedEncoding.d.ts.map +1 -0
  40. package/dist/src/coin/algo/seedEncoding.js +97 -0
  41. package/dist/src/coin/algo/transaction.d.ts +75 -0
  42. package/dist/src/coin/algo/transaction.d.ts.map +1 -0
  43. package/dist/src/coin/algo/transaction.js +251 -0
  44. package/dist/src/coin/algo/transactionBuilder.d.ts +204 -0
  45. package/dist/src/coin/algo/transactionBuilder.d.ts.map +1 -0
  46. package/dist/src/coin/algo/transactionBuilder.js +373 -0
  47. package/dist/src/coin/algo/transactionBuilderFactory.d.ts +16 -0
  48. package/dist/src/coin/algo/transactionBuilderFactory.d.ts.map +1 -0
  49. package/dist/src/coin/algo/transactionBuilderFactory.js +52 -0
  50. package/dist/src/coin/algo/transferBuilder.d.ts +40 -0
  51. package/dist/src/coin/algo/transferBuilder.d.ts.map +1 -0
  52. package/dist/src/coin/algo/transferBuilder.js +89 -0
  53. package/dist/src/coin/algo/txnSchema.d.ts +7 -0
  54. package/dist/src/coin/algo/txnSchema.d.ts.map +1 -0
  55. package/dist/src/coin/algo/txnSchema.js +68 -0
  56. package/dist/src/coin/algo/utils.d.ts +249 -0
  57. package/dist/src/coin/algo/utils.d.ts.map +1 -0
  58. package/dist/src/coin/algo/utils.js +539 -0
  59. package/dist/src/coin/avaxc/index.d.ts +8 -0
  60. package/dist/src/coin/avaxc/index.d.ts.map +1 -0
  61. package/dist/src/coin/avaxc/index.js +35 -0
  62. package/dist/src/coin/avaxc/keyPair.d.ts +26 -0
  63. package/dist/src/coin/avaxc/keyPair.d.ts.map +1 -0
  64. package/dist/src/coin/avaxc/keyPair.js +83 -0
  65. package/dist/src/coin/avaxc/resources.d.ts +12 -0
  66. package/dist/src/coin/avaxc/resources.d.ts.map +1 -0
  67. package/dist/src/coin/avaxc/resources.js +27 -0
  68. package/dist/src/coin/avaxc/transactionBuilder.d.ts +17 -0
  69. package/dist/src/coin/avaxc/transactionBuilder.d.ts.map +1 -0
  70. package/dist/src/coin/avaxc/transactionBuilder.js +45 -0
  71. package/dist/src/coin/avaxc/transferBuilder.d.ts +17 -0
  72. package/dist/src/coin/avaxc/transferBuilder.d.ts.map +1 -0
  73. package/dist/src/coin/avaxc/transferBuilder.js +25 -0
  74. package/dist/src/coin/avaxc/utils.d.ts +39 -0
  75. package/dist/src/coin/avaxc/utils.d.ts.map +1 -0
  76. package/dist/src/coin/avaxc/utils.js +70 -0
  77. package/dist/src/coin/avaxc/walletUtil.d.ts +22 -0
  78. package/dist/src/coin/avaxc/walletUtil.d.ts.map +1 -0
  79. package/dist/src/coin/avaxc/walletUtil.js +62 -0
  80. package/dist/src/coin/baseCoin/baseKeyPair.d.ts +27 -0
  81. package/dist/src/coin/baseCoin/baseKeyPair.d.ts.map +1 -0
  82. package/dist/src/coin/baseCoin/baseKeyPair.js +3 -0
  83. package/dist/src/coin/baseCoin/baseTransaction.d.ts +71 -0
  84. package/dist/src/coin/baseCoin/baseTransaction.d.ts.map +1 -0
  85. package/dist/src/coin/baseCoin/baseTransaction.js +94 -0
  86. package/dist/src/coin/baseCoin/baseTransactionBuilder.d.ts +128 -0
  87. package/dist/src/coin/baseCoin/baseTransactionBuilder.d.ts.map +1 -0
  88. package/dist/src/coin/baseCoin/baseTransactionBuilder.js +179 -0
  89. package/dist/src/coin/baseCoin/baseTransactionBuilderFactory.d.ts +30 -0
  90. package/dist/src/coin/baseCoin/baseTransactionBuilderFactory.d.ts.map +1 -0
  91. package/dist/src/coin/baseCoin/baseTransactionBuilderFactory.js +20 -0
  92. package/dist/src/coin/baseCoin/baseUtils.d.ts +45 -0
  93. package/dist/src/coin/baseCoin/baseUtils.d.ts.map +1 -0
  94. package/dist/src/coin/baseCoin/baseUtils.js +3 -0
  95. package/dist/src/coin/baseCoin/blsKeyPair.d.ts +75 -0
  96. package/dist/src/coin/baseCoin/blsKeyPair.d.ts.map +1 -0
  97. package/dist/src/coin/baseCoin/blsKeyPair.js +232 -0
  98. package/dist/src/coin/baseCoin/ed25519KeyPair.d.ts +50 -0
  99. package/dist/src/coin/baseCoin/ed25519KeyPair.d.ts.map +1 -0
  100. package/dist/src/coin/baseCoin/ed25519KeyPair.js +141 -0
  101. package/dist/src/coin/baseCoin/enum.d.ts +43 -0
  102. package/dist/src/coin/baseCoin/enum.d.ts.map +1 -0
  103. package/dist/src/coin/baseCoin/enum.js +70 -0
  104. package/dist/src/coin/baseCoin/errors.d.ts +65 -0
  105. package/dist/src/coin/baseCoin/errors.d.ts.map +1 -0
  106. package/dist/src/coin/baseCoin/errors.js +156 -0
  107. package/dist/src/coin/baseCoin/iface.d.ts +162 -0
  108. package/dist/src/coin/baseCoin/iface.d.ts.map +1 -0
  109. package/dist/src/coin/baseCoin/iface.js +38 -0
  110. package/dist/src/coin/baseCoin/index.d.ts +12 -0
  111. package/dist/src/coin/baseCoin/index.d.ts.map +1 -0
  112. package/dist/src/coin/baseCoin/index.js +41 -0
  113. package/dist/src/coin/baseCoin/secp256k1ExtendedKeyPair.d.ts +55 -0
  114. package/dist/src/coin/baseCoin/secp256k1ExtendedKeyPair.d.ts.map +1 -0
  115. package/dist/src/coin/baseCoin/secp256k1ExtendedKeyPair.js +124 -0
  116. package/dist/src/coin/celo/index.d.ts +8 -0
  117. package/dist/src/coin/celo/index.d.ts.map +1 -0
  118. package/dist/src/coin/celo/index.js +35 -0
  119. package/dist/src/coin/celo/resources.d.ts +10 -0
  120. package/dist/src/coin/celo/resources.d.ts.map +1 -0
  121. package/dist/src/coin/celo/resources.js +26 -0
  122. package/dist/src/coin/celo/stakingBuilder.d.ts +91 -0
  123. package/dist/src/coin/celo/stakingBuilder.d.ts.map +1 -0
  124. package/dist/src/coin/celo/stakingBuilder.js +277 -0
  125. package/dist/src/coin/celo/stakingCall.d.ts +7 -0
  126. package/dist/src/coin/celo/stakingCall.d.ts.map +1 -0
  127. package/dist/src/coin/celo/stakingCall.js +13 -0
  128. package/dist/src/coin/celo/stakingUtils.d.ts +15 -0
  129. package/dist/src/coin/celo/stakingUtils.d.ts.map +1 -0
  130. package/dist/src/coin/celo/stakingUtils.js +98 -0
  131. package/dist/src/coin/celo/transaction.d.ts +10 -0
  132. package/dist/src/coin/celo/transaction.d.ts.map +1 -0
  133. package/dist/src/coin/celo/transaction.js +37 -0
  134. package/dist/src/coin/celo/transactionBuilder.d.ts +86 -0
  135. package/dist/src/coin/celo/transactionBuilder.d.ts.map +1 -0
  136. package/dist/src/coin/celo/transactionBuilder.js +228 -0
  137. package/dist/src/coin/celo/transferBuilder.d.ts +19 -0
  138. package/dist/src/coin/celo/transferBuilder.d.ts.map +1 -0
  139. package/dist/src/coin/celo/transferBuilder.js +27 -0
  140. package/dist/src/coin/celo/types.d.ts +52 -0
  141. package/dist/src/coin/celo/types.d.ts.map +1 -0
  142. package/dist/src/coin/celo/types.js +222 -0
  143. package/dist/src/coin/celo/utils.d.ts +18 -0
  144. package/dist/src/coin/celo/utils.d.ts.map +1 -0
  145. package/dist/src/coin/celo/utils.js +99 -0
  146. package/dist/src/coin/cspr/constants.d.ts +19 -0
  147. package/dist/src/coin/cspr/constants.d.ts.map +1 -0
  148. package/dist/src/coin/cspr/constants.js +28 -0
  149. package/dist/src/coin/cspr/delegateBuilder.d.ts +49 -0
  150. package/dist/src/coin/cspr/delegateBuilder.d.ts.map +1 -0
  151. package/dist/src/coin/cspr/delegateBuilder.js +111 -0
  152. package/dist/src/coin/cspr/ifaces.d.ts +69 -0
  153. package/dist/src/coin/cspr/ifaces.d.ts.map +1 -0
  154. package/dist/src/coin/cspr/ifaces.js +3 -0
  155. package/dist/src/coin/cspr/index.d.ts +6 -0
  156. package/dist/src/coin/cspr/index.d.ts.map +1 -0
  157. package/dist/src/coin/cspr/index.js +31 -0
  158. package/dist/src/coin/cspr/keyPair.d.ts +18 -0
  159. package/dist/src/coin/cspr/keyPair.d.ts.map +1 -0
  160. package/dist/src/coin/cspr/keyPair.js +75 -0
  161. package/dist/src/coin/cspr/transaction.d.ts +55 -0
  162. package/dist/src/coin/cspr/transaction.d.ts.map +1 -0
  163. package/dist/src/coin/cspr/transaction.js +227 -0
  164. package/dist/src/coin/cspr/transactionBuilder.d.ts +124 -0
  165. package/dist/src/coin/cspr/transactionBuilder.d.ts.map +1 -0
  166. package/dist/src/coin/cspr/transactionBuilder.js +312 -0
  167. package/dist/src/coin/cspr/transactionBuilderFactory.d.ts +46 -0
  168. package/dist/src/coin/cspr/transactionBuilderFactory.d.ts.map +1 -0
  169. package/dist/src/coin/cspr/transactionBuilderFactory.js +98 -0
  170. package/dist/src/coin/cspr/transferBuilder.d.ts +39 -0
  171. package/dist/src/coin/cspr/transferBuilder.d.ts.map +1 -0
  172. package/dist/src/coin/cspr/transferBuilder.js +106 -0
  173. package/dist/src/coin/cspr/undelegateBuilder.d.ts +49 -0
  174. package/dist/src/coin/cspr/undelegateBuilder.d.ts.map +1 -0
  175. package/dist/src/coin/cspr/undelegateBuilder.js +111 -0
  176. package/dist/src/coin/cspr/utils.d.ts +188 -0
  177. package/dist/src/coin/cspr/utils.d.ts.map +1 -0
  178. package/dist/src/coin/cspr/utils.js +477 -0
  179. package/dist/src/coin/cspr/walletInitializationBuilder.d.ts +27 -0
  180. package/dist/src/coin/cspr/walletInitializationBuilder.d.ts.map +1 -0
  181. package/dist/src/coin/cspr/walletInitializationBuilder.js +95 -0
  182. package/dist/src/coin/dot/addressInitializationBuilder.d.ts +79 -0
  183. package/dist/src/coin/dot/addressInitializationBuilder.d.ts.map +1 -0
  184. package/dist/src/coin/dot/addressInitializationBuilder.js +182 -0
  185. package/dist/src/coin/dot/batchTransactionBuilder.d.ts +47 -0
  186. package/dist/src/coin/dot/batchTransactionBuilder.d.ts.map +1 -0
  187. package/dist/src/coin/dot/batchTransactionBuilder.js +122 -0
  188. package/dist/src/coin/dot/claimBuilder.d.ts +58 -0
  189. package/dist/src/coin/dot/claimBuilder.d.ts.map +1 -0
  190. package/dist/src/coin/dot/claimBuilder.js +119 -0
  191. package/dist/src/coin/dot/errors.d.ts +8 -0
  192. package/dist/src/coin/dot/errors.d.ts.map +1 -0
  193. package/dist/src/coin/dot/errors.js +19 -0
  194. package/dist/src/coin/dot/iface.d.ts +194 -0
  195. package/dist/src/coin/dot/iface.d.ts.map +1 -0
  196. package/dist/src/coin/dot/iface.js +39 -0
  197. package/dist/src/coin/dot/index.d.ts +17 -0
  198. package/dist/src/coin/dot/index.d.ts.map +1 -0
  199. package/dist/src/coin/dot/index.js +53 -0
  200. package/dist/src/coin/dot/keyPair.d.ts +31 -0
  201. package/dist/src/coin/dot/keyPair.d.ts.map +1 -0
  202. package/dist/src/coin/dot/keyPair.js +70 -0
  203. package/dist/src/coin/dot/singletonRegistry.d.ts +7 -0
  204. package/dist/src/coin/dot/singletonRegistry.d.ts.map +1 -0
  205. package/dist/src/coin/dot/singletonRegistry.js +20 -0
  206. package/dist/src/coin/dot/stakingBuilder.d.ts +58 -0
  207. package/dist/src/coin/dot/stakingBuilder.d.ts.map +1 -0
  208. package/dist/src/coin/dot/stakingBuilder.js +139 -0
  209. package/dist/src/coin/dot/transaction.d.ts +65 -0
  210. package/dist/src/coin/dot/transaction.d.ts.map +1 -0
  211. package/dist/src/coin/dot/transaction.js +396 -0
  212. package/dist/src/coin/dot/transactionBuilder.d.ts +131 -0
  213. package/dist/src/coin/dot/transactionBuilder.d.ts.map +1 -0
  214. package/dist/src/coin/dot/transactionBuilder.js +332 -0
  215. package/dist/src/coin/dot/transactionBuilderFactory.d.ts +26 -0
  216. package/dist/src/coin/dot/transactionBuilderFactory.d.ts.map +1 -0
  217. package/dist/src/coin/dot/transactionBuilderFactory.js +93 -0
  218. package/dist/src/coin/dot/transferBuilder.d.ts +71 -0
  219. package/dist/src/coin/dot/transferBuilder.d.ts.map +1 -0
  220. package/dist/src/coin/dot/transferBuilder.js +177 -0
  221. package/dist/src/coin/dot/txnSchema.d.ts +14 -0
  222. package/dist/src/coin/dot/txnSchema.d.ts.map +1 -0
  223. package/dist/src/coin/dot/txnSchema.js +104 -0
  224. package/dist/src/coin/dot/unnominateBuilder.d.ts +24 -0
  225. package/dist/src/coin/dot/unnominateBuilder.d.ts.map +1 -0
  226. package/dist/src/coin/dot/unnominateBuilder.js +50 -0
  227. package/dist/src/coin/dot/unstakeBuilder.d.ts +38 -0
  228. package/dist/src/coin/dot/unstakeBuilder.d.ts.map +1 -0
  229. package/dist/src/coin/dot/unstakeBuilder.js +89 -0
  230. package/dist/src/coin/dot/utils.d.ts +145 -0
  231. package/dist/src/coin/dot/utils.d.ts.map +1 -0
  232. package/dist/src/coin/dot/utils.js +283 -0
  233. package/dist/src/coin/dot/withdrawUnstakedBuilder.d.ts +38 -0
  234. package/dist/src/coin/dot/withdrawUnstakedBuilder.d.ts.map +1 -0
  235. package/dist/src/coin/dot/withdrawUnstakedBuilder.js +90 -0
  236. package/dist/src/coin/etc/index.d.ts +8 -0
  237. package/dist/src/coin/etc/index.d.ts.map +1 -0
  238. package/dist/src/coin/etc/index.js +35 -0
  239. package/dist/src/coin/etc/resources.d.ts +10 -0
  240. package/dist/src/coin/etc/resources.d.ts.map +1 -0
  241. package/dist/src/coin/etc/resources.js +26 -0
  242. package/dist/src/coin/etc/transactionBuilder.d.ts +17 -0
  243. package/dist/src/coin/etc/transactionBuilder.d.ts.map +1 -0
  244. package/dist/src/coin/etc/transactionBuilder.js +45 -0
  245. package/dist/src/coin/etc/transferBuilder.d.ts +19 -0
  246. package/dist/src/coin/etc/transferBuilder.d.ts.map +1 -0
  247. package/dist/src/coin/etc/transferBuilder.js +27 -0
  248. package/dist/src/coin/etc/utils.d.ts +18 -0
  249. package/dist/src/coin/etc/utils.d.ts.map +1 -0
  250. package/dist/src/coin/etc/utils.js +42 -0
  251. package/dist/src/coin/eth/contractCall.d.ts +8 -0
  252. package/dist/src/coin/eth/contractCall.d.ts.map +1 -0
  253. package/dist/src/coin/eth/contractCall.js +17 -0
  254. package/dist/src/coin/eth/iface.d.ts +122 -0
  255. package/dist/src/coin/eth/iface.d.ts.map +1 -0
  256. package/dist/src/coin/eth/iface.js +8 -0
  257. package/dist/src/coin/eth/index.d.ts +10 -0
  258. package/dist/src/coin/eth/index.d.ts.map +1 -0
  259. package/dist/src/coin/eth/index.js +39 -0
  260. package/dist/src/coin/eth/keyPair.d.ts +26 -0
  261. package/dist/src/coin/eth/keyPair.d.ts.map +1 -0
  262. package/dist/src/coin/eth/keyPair.js +85 -0
  263. package/dist/src/coin/eth/transaction.d.ts +64 -0
  264. package/dist/src/coin/eth/transaction.d.ts.map +1 -0
  265. package/dist/src/coin/eth/transaction.js +137 -0
  266. package/dist/src/coin/eth/transactionBuilder.d.ts +194 -0
  267. package/dist/src/coin/eth/transactionBuilder.d.ts.map +1 -0
  268. package/dist/src/coin/eth/transactionBuilder.js +624 -0
  269. package/dist/src/coin/eth/transferBuilder/baseNFTTransferBuilder.d.ts +47 -0
  270. package/dist/src/coin/eth/transferBuilder/baseNFTTransferBuilder.d.ts.map +1 -0
  271. package/dist/src/coin/eth/transferBuilder/baseNFTTransferBuilder.js +113 -0
  272. package/dist/src/coin/eth/transferBuilder/transferBuilderERC1155.d.ts +14 -0
  273. package/dist/src/coin/eth/transferBuilder/transferBuilderERC1155.d.ts.map +1 -0
  274. package/dist/src/coin/eth/transferBuilder/transferBuilderERC1155.js +83 -0
  275. package/dist/src/coin/eth/transferBuilder/transferBuilderERC721.d.ts +13 -0
  276. package/dist/src/coin/eth/transferBuilder/transferBuilderERC721.d.ts.map +1 -0
  277. package/dist/src/coin/eth/transferBuilder/transferBuilderERC721.js +68 -0
  278. package/dist/src/coin/eth/transferBuilder.d.ts +65 -0
  279. package/dist/src/coin/eth/transferBuilder.d.ts.map +1 -0
  280. package/dist/src/coin/eth/transferBuilder.js +197 -0
  281. package/dist/src/coin/eth/types.d.ts +39 -0
  282. package/dist/src/coin/eth/types.d.ts.map +1 -0
  283. package/dist/src/coin/eth/types.js +135 -0
  284. package/dist/src/coin/eth/utils.d.ts +201 -0
  285. package/dist/src/coin/eth/utils.d.ts.map +1 -0
  286. package/dist/src/coin/eth/utils.js +486 -0
  287. package/dist/src/coin/eth/walletUtil.d.ts +21 -0
  288. package/dist/src/coin/eth/walletUtil.d.ts.map +1 -0
  289. package/dist/src/coin/eth/walletUtil.js +31 -0
  290. package/dist/src/coin/eth2/index.d.ts +2 -0
  291. package/dist/src/coin/eth2/index.d.ts.map +1 -0
  292. package/dist/src/coin/eth2/index.js +6 -0
  293. package/dist/src/coin/eth2/keyPair.d.ts +33 -0
  294. package/dist/src/coin/eth2/keyPair.d.ts.map +1 -0
  295. package/dist/src/coin/eth2/keyPair.js +65 -0
  296. package/dist/src/coin/hbar/constants.d.ts +8 -0
  297. package/dist/src/coin/hbar/constants.d.ts.map +1 -0
  298. package/dist/src/coin/hbar/constants.js +12 -0
  299. package/dist/src/coin/hbar/iface.d.ts +26 -0
  300. package/dist/src/coin/hbar/iface.d.ts.map +1 -0
  301. package/dist/src/coin/hbar/iface.js +3 -0
  302. package/dist/src/coin/hbar/ifaces.d.ts +26 -0
  303. package/dist/src/coin/hbar/ifaces.d.ts.map +1 -0
  304. package/dist/src/coin/hbar/ifaces.js +3 -0
  305. package/dist/src/coin/hbar/index.d.ts +6 -0
  306. package/dist/src/coin/hbar/index.d.ts.map +1 -0
  307. package/dist/src/coin/hbar/index.js +31 -0
  308. package/dist/src/coin/hbar/keyPair.d.ts +23 -0
  309. package/dist/src/coin/hbar/keyPair.d.ts.map +1 -0
  310. package/dist/src/coin/hbar/keyPair.js +70 -0
  311. package/dist/src/coin/hbar/tokenAssociateBuilder.d.ts +35 -0
  312. package/dist/src/coin/hbar/tokenAssociateBuilder.d.ts.map +1 -0
  313. package/dist/src/coin/hbar/tokenAssociateBuilder.js +118 -0
  314. package/dist/src/coin/hbar/transaction.d.ts +97 -0
  315. package/dist/src/coin/hbar/transaction.d.ts.map +1 -0
  316. package/dist/src/coin/hbar/transaction.js +255 -0
  317. package/dist/src/coin/hbar/transactionBuilder.d.ts +111 -0
  318. package/dist/src/coin/hbar/transactionBuilder.d.ts.map +1 -0
  319. package/dist/src/coin/hbar/transactionBuilder.js +270 -0
  320. package/dist/src/coin/hbar/transactionBuilderFactory.d.ts +42 -0
  321. package/dist/src/coin/hbar/transactionBuilderFactory.d.ts.map +1 -0
  322. package/dist/src/coin/hbar/transactionBuilderFactory.js +79 -0
  323. package/dist/src/coin/hbar/transferBuilder.d.ts +43 -0
  324. package/dist/src/coin/hbar/transferBuilder.d.ts.map +1 -0
  325. package/dist/src/coin/hbar/transferBuilder.js +124 -0
  326. package/dist/src/coin/hbar/utils.d.ts +186 -0
  327. package/dist/src/coin/hbar/utils.d.ts.map +1 -0
  328. package/dist/src/coin/hbar/utils.js +400 -0
  329. package/dist/src/coin/hbar/walletInitializationBuilder.d.ts +28 -0
  330. package/dist/src/coin/hbar/walletInitializationBuilder.d.ts.map +1 -0
  331. package/dist/src/coin/hbar/walletInitializationBuilder.js +110 -0
  332. package/dist/src/coin/near/constants.d.ts +12 -0
  333. package/dist/src/coin/near/constants.d.ts.map +1 -0
  334. package/dist/src/coin/near/constants.js +15 -0
  335. package/dist/src/coin/near/contractCallWrapper.d.ts +33 -0
  336. package/dist/src/coin/near/contractCallWrapper.d.ts.map +1 -0
  337. package/dist/src/coin/near/contractCallWrapper.js +68 -0
  338. package/dist/src/coin/near/errors.d.ts +5 -0
  339. package/dist/src/coin/near/errors.d.ts.map +1 -0
  340. package/dist/src/coin/near/errors.js +12 -0
  341. package/dist/src/coin/near/iface.d.ts +40 -0
  342. package/dist/src/coin/near/iface.d.ts.map +1 -0
  343. package/dist/src/coin/near/iface.js +8 -0
  344. package/dist/src/coin/near/index.d.ts +11 -0
  345. package/dist/src/coin/near/index.d.ts.map +1 -0
  346. package/dist/src/coin/near/index.js +41 -0
  347. package/dist/src/coin/near/keyPair.d.ts +25 -0
  348. package/dist/src/coin/near/keyPair.d.ts.map +1 -0
  349. package/dist/src/coin/near/keyPair.js +73 -0
  350. package/dist/src/coin/near/stakingActivateBuilder.d.ts +32 -0
  351. package/dist/src/coin/near/stakingActivateBuilder.d.ts.map +1 -0
  352. package/dist/src/coin/near/stakingActivateBuilder.js +90 -0
  353. package/dist/src/coin/near/stakingDeactivateBuilder.d.ts +32 -0
  354. package/dist/src/coin/near/stakingDeactivateBuilder.d.ts.map +1 -0
  355. package/dist/src/coin/near/stakingDeactivateBuilder.js +89 -0
  356. package/dist/src/coin/near/stakingWithdrawBuilder.d.ts +32 -0
  357. package/dist/src/coin/near/stakingWithdrawBuilder.d.ts.map +1 -0
  358. package/dist/src/coin/near/stakingWithdrawBuilder.js +89 -0
  359. package/dist/src/coin/near/transaction.d.ts +90 -0
  360. package/dist/src/coin/near/transaction.d.ts.map +1 -0
  361. package/dist/src/coin/near/transaction.js +368 -0
  362. package/dist/src/coin/near/transactionBuilder.d.ts +89 -0
  363. package/dist/src/coin/near/transactionBuilder.d.ts.map +1 -0
  364. package/dist/src/coin/near/transactionBuilder.js +216 -0
  365. package/dist/src/coin/near/transactionBuilderFactory.d.ts +30 -0
  366. package/dist/src/coin/near/transactionBuilderFactory.d.ts.map +1 -0
  367. package/dist/src/coin/near/transactionBuilderFactory.js +71 -0
  368. package/dist/src/coin/near/transferBuilder.d.ts +26 -0
  369. package/dist/src/coin/near/transferBuilder.d.ts.map +1 -0
  370. package/dist/src/coin/near/transferBuilder.js +72 -0
  371. package/dist/src/coin/near/utils.d.ts +42 -0
  372. package/dist/src/coin/near/utils.d.ts.map +1 -0
  373. package/dist/src/coin/near/utils.js +85 -0
  374. package/dist/src/coin/near/walletInitializationBuilder.d.ts +12 -0
  375. package/dist/src/coin/near/walletInitializationBuilder.d.ts.map +1 -0
  376. package/dist/src/coin/near/walletInitializationBuilder.js +20 -0
  377. package/dist/src/coin/polygon/index.d.ts +8 -0
  378. package/dist/src/coin/polygon/index.d.ts.map +1 -0
  379. package/dist/src/coin/polygon/index.js +35 -0
  380. package/dist/src/coin/polygon/resources.d.ts +10 -0
  381. package/dist/src/coin/polygon/resources.d.ts.map +1 -0
  382. package/dist/src/coin/polygon/resources.js +25 -0
  383. package/dist/src/coin/polygon/transactionBuilder.d.ts +17 -0
  384. package/dist/src/coin/polygon/transactionBuilder.d.ts.map +1 -0
  385. package/dist/src/coin/polygon/transactionBuilder.js +44 -0
  386. package/dist/src/coin/polygon/transferBuilder.d.ts +19 -0
  387. package/dist/src/coin/polygon/transferBuilder.d.ts.map +1 -0
  388. package/dist/src/coin/polygon/transferBuilder.js +27 -0
  389. package/dist/src/coin/polygon/utils.d.ts +18 -0
  390. package/dist/src/coin/polygon/utils.d.ts.map +1 -0
  391. package/dist/src/coin/polygon/utils.js +42 -0
  392. package/dist/src/coin/polygon/walletUtil.d.ts +48 -0
  393. package/dist/src/coin/polygon/walletUtil.d.ts.map +1 -0
  394. package/dist/src/coin/polygon/walletUtil.js +632 -0
  395. package/dist/src/coin/rbtc/index.d.ts +8 -0
  396. package/dist/src/coin/rbtc/index.d.ts.map +1 -0
  397. package/dist/src/coin/rbtc/index.js +35 -0
  398. package/dist/src/coin/rbtc/resources.d.ts +10 -0
  399. package/dist/src/coin/rbtc/resources.d.ts.map +1 -0
  400. package/dist/src/coin/rbtc/resources.js +25 -0
  401. package/dist/src/coin/rbtc/transactionBuilder.d.ts +17 -0
  402. package/dist/src/coin/rbtc/transactionBuilder.d.ts.map +1 -0
  403. package/dist/src/coin/rbtc/transactionBuilder.js +44 -0
  404. package/dist/src/coin/rbtc/transferBuilder.d.ts +19 -0
  405. package/dist/src/coin/rbtc/transferBuilder.d.ts.map +1 -0
  406. package/dist/src/coin/rbtc/transferBuilder.js +27 -0
  407. package/dist/src/coin/rbtc/utils.d.ts +18 -0
  408. package/dist/src/coin/rbtc/utils.d.ts.map +1 -0
  409. package/dist/src/coin/rbtc/utils.js +42 -0
  410. package/dist/src/coin/sol/ataInitializationBuilder.d.ts +41 -0
  411. package/dist/src/coin/sol/ataInitializationBuilder.d.ts.map +1 -0
  412. package/dist/src/coin/sol/ataInitializationBuilder.js +110 -0
  413. package/dist/src/coin/sol/ataInitializationTransaction.d.ts +14 -0
  414. package/dist/src/coin/sol/ataInitializationTransaction.d.ts.map +1 -0
  415. package/dist/src/coin/sol/ataInitializationTransaction.js +81 -0
  416. package/dist/src/coin/sol/constants.d.ts +58 -0
  417. package/dist/src/coin/sol/constants.d.ts.map +1 -0
  418. package/dist/src/coin/sol/constants.js +76 -0
  419. package/dist/src/coin/sol/iface.d.ts +99 -0
  420. package/dist/src/coin/sol/iface.d.ts.map +1 -0
  421. package/dist/src/coin/sol/iface.js +3 -0
  422. package/dist/src/coin/sol/index.d.ts +11 -0
  423. package/dist/src/coin/sol/index.d.ts.map +1 -0
  424. package/dist/src/coin/sol/index.js +41 -0
  425. package/dist/src/coin/sol/instructionParamsFactory.d.ts +12 -0
  426. package/dist/src/coin/sol/instructionParamsFactory.d.ts.map +1 -0
  427. package/dist/src/coin/sol/instructionParamsFactory.js +260 -0
  428. package/dist/src/coin/sol/keyPair.d.ts +26 -0
  429. package/dist/src/coin/sol/keyPair.d.ts.map +1 -0
  430. package/dist/src/coin/sol/keyPair.js +63 -0
  431. package/dist/src/coin/sol/solInstructionFactory.d.ts +10 -0
  432. package/dist/src/coin/sol/solInstructionFactory.d.ts.map +1 -0
  433. package/dist/src/coin/sol/solInstructionFactory.js +213 -0
  434. package/dist/src/coin/sol/stakingActivateBuilder.d.ts +41 -0
  435. package/dist/src/coin/sol/stakingActivateBuilder.d.ts.map +1 -0
  436. package/dist/src/coin/sol/stakingActivateBuilder.js +94 -0
  437. package/dist/src/coin/sol/stakingDeactivateBuilder.d.ts +23 -0
  438. package/dist/src/coin/sol/stakingDeactivateBuilder.d.ts.map +1 -0
  439. package/dist/src/coin/sol/stakingDeactivateBuilder.js +62 -0
  440. package/dist/src/coin/sol/stakingWithdrawBuilder.d.ts +31 -0
  441. package/dist/src/coin/sol/stakingWithdrawBuilder.d.ts.map +1 -0
  442. package/dist/src/coin/sol/stakingWithdrawBuilder.js +78 -0
  443. package/dist/src/coin/sol/tokenEncodeDecode.d.ts +85 -0
  444. package/dist/src/coin/sol/tokenEncodeDecode.d.ts.map +1 -0
  445. package/dist/src/coin/sol/tokenEncodeDecode.js +133 -0
  446. package/dist/src/coin/sol/tokenTransferBuilder.d.ts +27 -0
  447. package/dist/src/coin/sol/tokenTransferBuilder.d.ts.map +1 -0
  448. package/dist/src/coin/sol/tokenTransferBuilder.js +73 -0
  449. package/dist/src/coin/sol/transaction.d.ts +61 -0
  450. package/dist/src/coin/sol/transaction.d.ts.map +1 -0
  451. package/dist/src/coin/sol/transaction.js +369 -0
  452. package/dist/src/coin/sol/transactionBuilder.d.ts +101 -0
  453. package/dist/src/coin/sol/transactionBuilder.d.ts.map +1 -0
  454. package/dist/src/coin/sol/transactionBuilder.js +261 -0
  455. package/dist/src/coin/sol/transactionBuilderFactory.d.ts +76 -0
  456. package/dist/src/coin/sol/transactionBuilderFactory.d.ts.map +1 -0
  457. package/dist/src/coin/sol/transactionBuilderFactory.js +136 -0
  458. package/dist/src/coin/sol/transferBuilder.d.ts +26 -0
  459. package/dist/src/coin/sol/transferBuilder.d.ts.map +1 -0
  460. package/dist/src/coin/sol/transferBuilder.js +67 -0
  461. package/dist/src/coin/sol/utils.d.ts +146 -0
  462. package/dist/src/coin/sol/utils.d.ts.map +1 -0
  463. package/dist/src/coin/sol/utils.js +361 -0
  464. package/dist/src/coin/sol/walletInitializationBuilder.d.ts +26 -0
  465. package/dist/src/coin/sol/walletInitializationBuilder.d.ts.map +1 -0
  466. package/dist/src/coin/sol/walletInitializationBuilder.js +71 -0
  467. package/dist/src/coin/stx/abstractContractBuilder.d.ts +19 -0
  468. package/dist/src/coin/stx/abstractContractBuilder.d.ts.map +1 -0
  469. package/dist/src/coin/stx/abstractContractBuilder.js +70 -0
  470. package/dist/src/coin/stx/constants.d.ts +8 -0
  471. package/dist/src/coin/stx/constants.d.ts.map +1 -0
  472. package/dist/src/coin/stx/constants.js +19 -0
  473. package/dist/src/coin/stx/contractBuilder.d.ts +33 -0
  474. package/dist/src/coin/stx/contractBuilder.d.ts.map +1 -0
  475. package/dist/src/coin/stx/contractBuilder.js +116 -0
  476. package/dist/src/coin/stx/iface.d.ts +48 -0
  477. package/dist/src/coin/stx/iface.d.ts.map +1 -0
  478. package/dist/src/coin/stx/iface.js +3 -0
  479. package/dist/src/coin/stx/index.d.ts +6 -0
  480. package/dist/src/coin/stx/index.d.ts.map +1 -0
  481. package/dist/src/coin/stx/index.js +32 -0
  482. package/dist/src/coin/stx/keyPair.d.ts +55 -0
  483. package/dist/src/coin/stx/keyPair.d.ts.map +1 -0
  484. package/dist/src/coin/stx/keyPair.js +140 -0
  485. package/dist/src/coin/stx/sendmanyBuilder.d.ts +23 -0
  486. package/dist/src/coin/stx/sendmanyBuilder.d.ts.map +1 -0
  487. package/dist/src/coin/stx/sendmanyBuilder.js +75 -0
  488. package/dist/src/coin/stx/transaction.d.ts +49 -0
  489. package/dist/src/coin/stx/transaction.d.ts.map +1 -0
  490. package/dist/src/coin/stx/transaction.js +225 -0
  491. package/dist/src/coin/stx/transactionBuilder.d.ts +86 -0
  492. package/dist/src/coin/stx/transactionBuilder.d.ts.map +1 -0
  493. package/dist/src/coin/stx/transactionBuilder.js +263 -0
  494. package/dist/src/coin/stx/transactionBuilderFactory.d.ts +30 -0
  495. package/dist/src/coin/stx/transactionBuilderFactory.d.ts.map +1 -0
  496. package/dist/src/coin/stx/transactionBuilderFactory.js +81 -0
  497. package/dist/src/coin/stx/transferBuilder.d.ts +30 -0
  498. package/dist/src/coin/stx/transferBuilder.d.ts.map +1 -0
  499. package/dist/src/coin/stx/transferBuilder.js +99 -0
  500. package/dist/src/coin/stx/utils.d.ts +207 -0
  501. package/dist/src/coin/stx/utils.d.ts.map +1 -0
  502. package/dist/src/coin/stx/utils.js +503 -0
  503. package/dist/src/coin/trx/address.d.ts +11 -0
  504. package/dist/src/coin/trx/address.d.ts.map +1 -0
  505. package/dist/src/coin/trx/address.js +13 -0
  506. package/dist/src/coin/trx/contractCallBuilder.d.ts +96 -0
  507. package/dist/src/coin/trx/contractCallBuilder.d.ts.map +1 -0
  508. package/dist/src/coin/trx/contractCallBuilder.js +281 -0
  509. package/dist/src/coin/trx/enum.d.ts +23 -0
  510. package/dist/src/coin/trx/enum.d.ts.map +1 -0
  511. package/dist/src/coin/trx/enum.js +28 -0
  512. package/dist/src/coin/trx/iface.d.ts +92 -0
  513. package/dist/src/coin/trx/iface.d.ts.map +1 -0
  514. package/dist/src/coin/trx/iface.js +3 -0
  515. package/dist/src/coin/trx/index.d.ts +10 -0
  516. package/dist/src/coin/trx/index.d.ts.map +1 -0
  517. package/dist/src/coin/trx/index.js +39 -0
  518. package/dist/src/coin/trx/keyPair.d.ts +44 -0
  519. package/dist/src/coin/trx/keyPair.d.ts.map +1 -0
  520. package/dist/src/coin/trx/keyPair.js +121 -0
  521. package/dist/src/coin/trx/transaction.d.ts +74 -0
  522. package/dist/src/coin/trx/transaction.d.ts.map +1 -0
  523. package/dist/src/coin/trx/transaction.js +205 -0
  524. package/dist/src/coin/trx/transactionBuilder.d.ts +65 -0
  525. package/dist/src/coin/trx/transactionBuilder.d.ts.map +1 -0
  526. package/dist/src/coin/trx/transactionBuilder.js +215 -0
  527. package/dist/src/coin/trx/utils.d.ts +127 -0
  528. package/dist/src/coin/trx/utils.d.ts.map +1 -0
  529. package/dist/src/coin/trx/utils.js +369 -0
  530. package/dist/src/coin/trx/wrappedBuilder.d.ts +52 -0
  531. package/dist/src/coin/trx/wrappedBuilder.d.ts.map +1 -0
  532. package/dist/src/coin/trx/wrappedBuilder.js +104 -0
  533. package/dist/src/coin/xrp/index.d.ts +5 -0
  534. package/dist/src/coin/xrp/index.d.ts.map +1 -0
  535. package/dist/src/coin/xrp/index.js +29 -0
  536. package/dist/src/coin/xrp/keyPair.d.ts +10 -0
  537. package/dist/src/coin/xrp/keyPair.d.ts.map +1 -0
  538. package/dist/src/coin/xrp/keyPair.js +16 -0
  539. package/dist/src/coin/xrp/transaction.d.ts +10 -0
  540. package/dist/src/coin/xrp/transaction.d.ts.map +1 -0
  541. package/dist/src/coin/xrp/transaction.js +20 -0
  542. package/dist/src/coin/xrp/transactionBuilder.d.ts +27 -0
  543. package/dist/src/coin/xrp/transactionBuilder.d.ts.map +1 -0
  544. package/dist/src/coin/xrp/transactionBuilder.js +46 -0
  545. package/dist/src/coin/xrp/transactionBuilderFactory.d.ts +24 -0
  546. package/dist/src/coin/xrp/transactionBuilderFactory.d.ts.map +1 -0
  547. package/dist/src/coin/xrp/transactionBuilderFactory.js +38 -0
  548. package/dist/src/coin/xrp/transferBuilder.d.ts +14 -0
  549. package/dist/src/coin/xrp/transferBuilder.d.ts.map +1 -0
  550. package/dist/src/coin/xrp/transferBuilder.js +24 -0
  551. package/dist/src/coin/xrp/utils.d.ts +16 -0
  552. package/dist/src/coin/xrp/utils.d.ts.map +1 -0
  553. package/dist/src/coin/xrp/utils.js +32 -0
  554. package/dist/src/coin/xrp/walletInitializationBuilder.d.ts +14 -0
  555. package/dist/src/coin/xrp/walletInitializationBuilder.d.ts.map +1 -0
  556. package/dist/src/coin/xrp/walletInitializationBuilder.js +24 -0
  557. package/dist/src/coin/xtz/address.d.ts +8 -0
  558. package/dist/src/coin/xtz/address.d.ts.map +1 -0
  559. package/dist/src/coin/xtz/address.js +10 -0
  560. package/dist/src/coin/xtz/iface.d.ts +81 -0
  561. package/dist/src/coin/xtz/iface.d.ts.map +1 -0
  562. package/dist/src/coin/xtz/iface.js +3 -0
  563. package/dist/src/coin/xtz/index.d.ts +8 -0
  564. package/dist/src/coin/xtz/index.d.ts.map +1 -0
  565. package/dist/src/coin/xtz/index.js +37 -0
  566. package/dist/src/coin/xtz/keyPair.d.ts +40 -0
  567. package/dist/src/coin/xtz/keyPair.d.ts.map +1 -0
  568. package/dist/src/coin/xtz/keyPair.js +136 -0
  569. package/dist/src/coin/xtz/multisigUtils.d.ts +134 -0
  570. package/dist/src/coin/xtz/multisigUtils.d.ts.map +1 -0
  571. package/dist/src/coin/xtz/multisigUtils.js +1180 -0
  572. package/dist/src/coin/xtz/transaction.d.ts +119 -0
  573. package/dist/src/coin/xtz/transaction.d.ts.map +1 -0
  574. package/dist/src/coin/xtz/transaction.js +315 -0
  575. package/dist/src/coin/xtz/transactionBuilder.d.ts +171 -0
  576. package/dist/src/coin/xtz/transactionBuilder.d.ts.map +1 -0
  577. package/dist/src/coin/xtz/transactionBuilder.js +453 -0
  578. package/dist/src/coin/xtz/transferBuilder.d.ts +24 -0
  579. package/dist/src/coin/xtz/transferBuilder.d.ts.map +1 -0
  580. package/dist/src/coin/xtz/transferBuilder.js +64 -0
  581. package/dist/src/coin/xtz/utils.d.ts +265 -0
  582. package/dist/src/coin/xtz/utils.d.ts.map +1 -0
  583. package/dist/src/coin/xtz/utils.js +460 -0
  584. package/dist/src/index.d.ts +2 -0
  585. package/dist/src/index.d.ts.map +1 -1
  586. package/dist/src/index.js +4 -2
  587. package/dist/src/mpc/curves/baseCurve.d.ts +18 -0
  588. package/dist/src/mpc/curves/baseCurve.d.ts.map +1 -0
  589. package/dist/src/mpc/curves/baseCurve.js +6 -0
  590. package/dist/src/mpc/curves/ed25519.d.ts +17 -0
  591. package/dist/src/mpc/curves/ed25519.d.ts.map +1 -0
  592. package/dist/src/mpc/curves/ed25519.js +48 -0
  593. package/dist/src/mpc/curves/index.d.ts +5 -0
  594. package/dist/src/mpc/curves/index.d.ts.map +1 -0
  595. package/dist/src/mpc/curves/index.js +6 -0
  596. package/dist/src/mpc/curves/secp256k1.d.ts +16 -0
  597. package/dist/src/mpc/curves/secp256k1.d.ts.map +1 -0
  598. package/dist/src/mpc/curves/secp256k1.js +66 -0
  599. package/dist/src/mpc/curves.d.ts +29 -0
  600. package/dist/src/mpc/curves.d.ts.map +1 -0
  601. package/dist/src/mpc/curves.js +96 -0
  602. package/dist/src/mpc/hdTree.d.ts +24 -0
  603. package/dist/src/mpc/hdTree.d.ts.map +1 -0
  604. package/dist/src/mpc/hdTree.js +143 -0
  605. package/dist/src/mpc/shamir.d.ts +26 -0
  606. package/dist/src/mpc/shamir.d.ts.map +1 -0
  607. package/dist/src/mpc/shamir.js +87 -0
  608. package/dist/src/mpc/tss/eddsa/eddsa.d.ts +29 -0
  609. package/dist/src/mpc/tss/eddsa/eddsa.d.ts.map +1 -0
  610. package/dist/src/mpc/tss/eddsa/eddsa.js +273 -0
  611. package/dist/src/mpc/tss/eddsa/index.d.ts +4 -0
  612. package/dist/src/mpc/tss/eddsa/index.d.ts.map +1 -0
  613. package/dist/src/mpc/tss/eddsa/index.js +30 -0
  614. package/dist/src/mpc/tss/eddsa/types.d.ts +70 -0
  615. package/dist/src/mpc/tss/eddsa/types.d.ts.map +1 -0
  616. package/dist/src/mpc/tss/eddsa/types.js +3 -0
  617. package/dist/src/mpc/tss/index.d.ts +5 -0
  618. package/dist/src/mpc/tss/index.d.ts.map +1 -0
  619. package/dist/src/mpc/tss/index.js +32 -0
  620. package/dist/src/mpc/tss.d.ts +98 -0
  621. package/dist/src/mpc/tss.d.ts.map +1 -0
  622. package/dist/src/mpc/tss.js +344 -0
  623. package/dist/src/mpc/util.d.ts +7 -0
  624. package/dist/src/mpc/util.d.ts.map +1 -0
  625. package/dist/src/mpc/util.js +38 -0
  626. package/dist/src/utils/crypto.d.ts +99 -0
  627. package/dist/src/utils/crypto.d.ts.map +1 -0
  628. package/dist/src/utils/crypto.js +260 -0
  629. package/dist/src/utils/ed25519KeyDeriver.d.ts +49 -0
  630. package/dist/src/utils/ed25519KeyDeriver.d.ts.map +1 -0
  631. package/dist/src/utils/ed25519KeyDeriver.js +92 -0
  632. package/dist/tsconfig.tsbuildinfo +7282 -1934
  633. package/package.json +24 -27
@@ -0,0 +1,251 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Transaction = void 0;
7
+ const algosdk_1 = __importDefault(require("algosdk"));
8
+ const sdk_core_1 = require("@bitgo/sdk-core");
9
+ const utils_1 = __importDefault(require("./utils"));
10
+ const keyPair_1 = require("./keyPair");
11
+ class Transaction extends sdk_core_1.BaseTransaction {
12
+ constructor(coinConfig) {
13
+ super(coinConfig);
14
+ this._numberOfRequiredSigners = 0;
15
+ this._signers = [];
16
+ }
17
+ /** @inheritdoc */
18
+ canSign({ key }) {
19
+ if (this._numberOfRequiredSigners === 0) {
20
+ return false;
21
+ }
22
+ if (this._numberOfRequiredSigners === 1) {
23
+ const kp = new keyPair_1.KeyPair({ prv: key });
24
+ const addr = kp.getAddress();
25
+ if (addr === this._sender) {
26
+ return true;
27
+ }
28
+ else {
29
+ return false;
30
+ }
31
+ }
32
+ else {
33
+ return true;
34
+ }
35
+ }
36
+ sender(address) {
37
+ this._sender = address;
38
+ }
39
+ /**
40
+ * Signs transaction.
41
+ *
42
+ * @param {KeyPair} keyPair Signer keys.
43
+ */
44
+ sign(keyPair) {
45
+ if (!this._algoTransaction) {
46
+ throw new sdk_core_1.InvalidTransactionError('Empty transaction');
47
+ }
48
+ if (this._numberOfRequiredSigners === 1) {
49
+ this.signSingle(keyPair[0]);
50
+ }
51
+ else if (this._numberOfRequiredSigners > 1) {
52
+ this.signMultiSig(keyPair);
53
+ }
54
+ }
55
+ /**
56
+ * Signs transaction.
57
+ *
58
+ * @param {KeyPair} keyPair Signer keys.
59
+ */
60
+ signSingle(keyPair) {
61
+ if (!this._algoTransaction) {
62
+ throw new sdk_core_1.InvalidTransactionError('Empty transaction');
63
+ }
64
+ const signKey = Buffer.from(keyPair.getSigningKey()).toString('hex');
65
+ if (signKey) {
66
+ this._signedTransaction = algosdk_1.default.signTransaction(this._algoTransaction, utils_1.default.toUint8Array(signKey)).blob;
67
+ }
68
+ else {
69
+ throw new sdk_core_1.InvalidKey('Private key undefined');
70
+ }
71
+ }
72
+ /**
73
+ * Signs multisig transaction.
74
+ *
75
+ * @param {KeyPair} keyPair Signers keys.
76
+ */
77
+ signMultiSig(keyPair) {
78
+ if (!this._algoTransaction) {
79
+ throw new sdk_core_1.InvalidTransactionError('Empty transaction');
80
+ }
81
+ if (this._signers.length === 0) {
82
+ throw new sdk_core_1.SigningError('Signers not specified for multisig');
83
+ }
84
+ if (keyPair.length === 0) {
85
+ throw new sdk_core_1.SigningError('Keypair not specified for multisig');
86
+ }
87
+ const multiSigOptions = {
88
+ version: 1,
89
+ threshold: this._numberOfRequiredSigners,
90
+ addrs: this._signers,
91
+ };
92
+ const msigAddress = algosdk_1.default.multisigAddress(multiSigOptions);
93
+ this._algoTransaction.from = algosdk_1.default.decodeAddress(msigAddress);
94
+ // Check if it is a signed or unsigned tx.
95
+ // If unsigned, sign it using first keypair and then append next signatures.
96
+ // If signed, appending next signatures.
97
+ let signedTx = this._signedTransaction
98
+ ? this._signedTransaction
99
+ : algosdk_1.default.signMultisigTransaction(this._algoTransaction, multiSigOptions, keyPair.shift().getSigningKey()).blob;
100
+ keyPair.forEach((kp) => {
101
+ signedTx = algosdk_1.default.appendSignMultisigTransaction(signedTx, multiSigOptions, kp.getSigningKey()).blob;
102
+ });
103
+ this._signedTransaction = signedTx;
104
+ }
105
+ set signedTransaction(txn) {
106
+ this._signedTransaction = txn;
107
+ }
108
+ get numberOfRequiredSigners() {
109
+ return this._numberOfRequiredSigners;
110
+ }
111
+ /**
112
+ * Sets the number of signers required for signing this transaction.
113
+ *
114
+ * @param {number} num Threshold number of signers.
115
+ */
116
+ setNumberOfRequiredSigners(num) {
117
+ this._numberOfRequiredSigners = num;
118
+ }
119
+ set signers(addrs) {
120
+ this._signers = addrs;
121
+ }
122
+ get signers() {
123
+ return this._signers;
124
+ }
125
+ set signedBy(signer) {
126
+ this._signedBy = signer;
127
+ }
128
+ get signedBy() {
129
+ return this._signedBy;
130
+ }
131
+ /**
132
+ * Sets algo transaction.
133
+ *
134
+ * @param {algosdk.Transaction} tx
135
+ */
136
+ setAlgoTransaction(tx) {
137
+ this._algoTransaction = tx;
138
+ }
139
+ /**
140
+ * Get underlaying algo transaction.
141
+ *
142
+ * @returns {algosdk.Transaction}
143
+ */
144
+ getAlgoTransaction() {
145
+ return this._algoTransaction;
146
+ }
147
+ /**
148
+ * Set the transaction type.
149
+ *
150
+ * @param {TransactionType} transactionType The transaction type to be set.
151
+ */
152
+ setTransactionType(transactionType) {
153
+ this._type = transactionType;
154
+ }
155
+ estimateSize() {
156
+ if (!this._algoTransaction) {
157
+ throw new sdk_core_1.InvalidTransactionError('Empty transaction');
158
+ }
159
+ return this._algoTransaction.estimateSize();
160
+ }
161
+ /** @inheritdoc */
162
+ toBroadcastFormat() {
163
+ if (!this._algoTransaction) {
164
+ throw new sdk_core_1.InvalidTransactionError('Empty transaction');
165
+ }
166
+ if (this._signedTransaction && this._signedTransaction.length > 0) {
167
+ return this._signedTransaction;
168
+ }
169
+ else {
170
+ return algosdk_1.default.encodeUnsignedTransaction(this._algoTransaction);
171
+ }
172
+ }
173
+ /** @inheritdoc */
174
+ toJson() {
175
+ var _a, _b;
176
+ if (!this._algoTransaction) {
177
+ throw new sdk_core_1.InvalidTransactionError('Empty transaction');
178
+ }
179
+ const result = {
180
+ id: this._algoTransaction.txID(),
181
+ type: (_a = this._algoTransaction.type) === null || _a === void 0 ? void 0 : _a.toString(),
182
+ from: algosdk_1.default.encodeAddress(this._algoTransaction.from.publicKey),
183
+ fee: this._algoTransaction.fee,
184
+ firstRound: this._algoTransaction.firstRound,
185
+ lastRound: this._algoTransaction.lastRound,
186
+ note: this._algoTransaction.note,
187
+ tokenId: (_b = this._algoTransaction) === null || _b === void 0 ? void 0 : _b.assetIndex,
188
+ genesisID: this._algoTransaction.genesisID,
189
+ genesisHash: this._algoTransaction.genesisHash.toString('base64'),
190
+ };
191
+ if (this._algoTransaction.closeRemainderTo) {
192
+ result.closeRemainderTo = algosdk_1.default.encodeAddress(this._algoTransaction.closeRemainderTo.publicKey);
193
+ }
194
+ if (this.type === sdk_core_1.TransactionType.Send) {
195
+ result.to = algosdk_1.default.encodeAddress(this._algoTransaction.to.publicKey);
196
+ result.amount = this._algoTransaction.amount.toString();
197
+ }
198
+ if (this.type === sdk_core_1.TransactionType.WalletInitialization) {
199
+ if (!this._algoTransaction.nonParticipation) {
200
+ if (this._algoTransaction.voteKey &&
201
+ this._algoTransaction.selectionKey &&
202
+ this._algoTransaction.voteFirst &&
203
+ this._algoTransaction.voteLast &&
204
+ this._algoTransaction.voteKeyDilution) {
205
+ result.voteKey = this._algoTransaction.voteKey.toString('base64');
206
+ result.selectionKey = this._algoTransaction.selectionKey.toString('base64');
207
+ result.voteFirst = this._algoTransaction.voteFirst;
208
+ result.voteLast = this._algoTransaction.voteLast;
209
+ result.voteKeyDilution = this._algoTransaction.voteKeyDilution;
210
+ if (this._algoTransaction.stateProofKey) {
211
+ result.stateProofKey = this._algoTransaction.stateProofKey.toString('base64');
212
+ }
213
+ }
214
+ }
215
+ else {
216
+ result.nonParticipation = this._algoTransaction.nonParticipation;
217
+ }
218
+ }
219
+ if (result.type === 'axfer' && result.to && result.amount) {
220
+ result.txType = utils_1.default.getTokenTxType(result.amount, result.from, result.to, result.closeRemainderTo);
221
+ result.tokenName = this._coinConfig.suffix;
222
+ }
223
+ return result;
224
+ }
225
+ /**
226
+ * Load the input and output data on this transaction.
227
+ */
228
+ loadInputsAndOutputs() {
229
+ if (!this._algoTransaction) {
230
+ return;
231
+ }
232
+ if (this.type === sdk_core_1.TransactionType.Send) {
233
+ this._outputs = [
234
+ {
235
+ address: algosdk_1.default.encodeAddress(this._algoTransaction.to.publicKey),
236
+ value: this._algoTransaction.amount.toString(),
237
+ coin: this._coinConfig.name,
238
+ },
239
+ ];
240
+ this._inputs = [
241
+ {
242
+ address: algosdk_1.default.encodeAddress(this._algoTransaction.from.publicKey),
243
+ value: this._algoTransaction.amount.toString(),
244
+ coin: this._coinConfig.name,
245
+ },
246
+ ];
247
+ }
248
+ }
249
+ }
250
+ exports.Transaction = Transaction;
251
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29pbi9hbGdvL3RyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLHNEQUE4QjtBQUM5Qiw4Q0FPeUI7QUFDekIsb0RBQTRCO0FBQzVCLHVDQUFvQztBQUdwQyxNQUFhLFdBQVksU0FBUSwwQkFBZTtJQVE5QyxZQUFZLFVBQWdDO1FBQzFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNsQixJQUFJLENBQUMsd0JBQXdCLEdBQUcsQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsT0FBTyxDQUFDLEVBQUUsR0FBRyxFQUFXO1FBQ3RCLElBQUksSUFBSSxDQUFDLHdCQUF3QixLQUFLLENBQUMsRUFBRTtZQUN2QyxPQUFPLEtBQUssQ0FBQztTQUNkO1FBQ0QsSUFBSSxJQUFJLENBQUMsd0JBQXdCLEtBQUssQ0FBQyxFQUFFO1lBQ3ZDLE1BQU0sRUFBRSxHQUFHLElBQUksaUJBQU8sQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ3JDLE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUM3QixJQUFJLElBQUksS0FBSyxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUN6QixPQUFPLElBQUksQ0FBQzthQUNiO2lCQUFNO2dCQUNMLE9BQU8sS0FBSyxDQUFDO2FBQ2Q7U0FDRjthQUFNO1lBQ0wsT0FBTyxJQUFJLENBQUM7U0FDYjtJQUNILENBQUM7SUFFRCxNQUFNLENBQUMsT0FBZTtRQUNwQixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUN6QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILElBQUksQ0FBQyxPQUFrQjtRQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQzFCLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1NBQ3hEO1FBQ0QsSUFBSSxJQUFJLENBQUMsd0JBQXdCLEtBQUssQ0FBQyxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDN0I7YUFBTSxJQUFJLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxDQUFDLEVBQUU7WUFDNUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUM1QjtJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssVUFBVSxDQUFDLE9BQWdCO1FBQ2pDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDMUIsTUFBTSxJQUFJLGtDQUF1QixDQUFDLG1CQUFtQixDQUFDLENBQUM7U0FDeEQ7UUFDRCxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyRSxJQUFJLE9BQU8sRUFBRTtZQUNYLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxpQkFBTyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsZUFBSyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztTQUM1RzthQUFNO1lBQ0wsTUFBTSxJQUFJLHFCQUFVLENBQUMsdUJBQXVCLENBQUMsQ0FBQztTQUMvQztJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssWUFBWSxDQUFDLE9BQWtCO1FBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDMUIsTUFBTSxJQUFJLGtDQUF1QixDQUFDLG1CQUFtQixDQUFDLENBQUM7U0FDeEQ7UUFDRCxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUM5QixNQUFNLElBQUksdUJBQVksQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO1NBQzlEO1FBQ0QsSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUN4QixNQUFNLElBQUksdUJBQVksQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO1NBQzlEO1FBQ0QsTUFBTSxlQUFlLEdBQUc7WUFDdEIsT0FBTyxFQUFFLENBQUM7WUFDVixTQUFTLEVBQUUsSUFBSSxDQUFDLHdCQUF3QjtZQUN4QyxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVE7U0FDckIsQ0FBQztRQUNGLE1BQU0sV0FBVyxHQUFHLGlCQUFPLENBQUMsZUFBZSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzdELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEdBQUcsaUJBQU8sQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFaEUsMENBQTBDO1FBQzFDLDRFQUE0RTtRQUM1RSx3Q0FBd0M7UUFDeEMsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLGtCQUFrQjtZQUNwQyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQjtZQUN6QixDQUFDLENBQUMsaUJBQU8sQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLE9BQU8sQ0FBQyxLQUFLLEVBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUVuSCxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUU7WUFDckIsUUFBUSxHQUFHLGlCQUFPLENBQUMsNkJBQTZCLENBQUMsUUFBUSxFQUFFLGVBQWUsRUFBRSxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDdkcsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsUUFBUSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFJLGlCQUFpQixDQUFDLEdBQWU7UUFDbkMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEdBQUcsQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBSSx1QkFBdUI7UUFDekIsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUM7SUFDdkMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCwwQkFBMEIsQ0FBQyxHQUFXO1FBQ3BDLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxHQUFHLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQUksT0FBTyxDQUFDLEtBQWU7UUFDekIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBSSxRQUFRLENBQUMsTUFBZ0I7UUFDM0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUVILGtCQUFrQixDQUFDLEVBQXVCO1FBQ3hDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVEOzs7O09BSUc7SUFFSCxrQkFBa0I7UUFDaEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDL0IsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxrQkFBa0IsQ0FBQyxlQUFnQztRQUNqRCxJQUFJLENBQUMsS0FBSyxHQUFHLGVBQWUsQ0FBQztJQUMvQixDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDMUIsTUFBTSxJQUFJLGtDQUF1QixDQUFDLG1CQUFtQixDQUFDLENBQUM7U0FDeEQ7UUFFRCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM5QyxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLGlCQUFpQjtRQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDMUIsTUFBTSxJQUFJLGtDQUF1QixDQUFDLG1CQUFtQixDQUFDLENBQUM7U0FDeEQ7UUFDRCxJQUFJLElBQUksQ0FBQyxrQkFBa0IsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNqRSxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztTQUNoQzthQUFNO1lBQ0wsT0FBTyxpQkFBTyxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1NBQ2pFO0lBQ0gsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixNQUFNOztRQUNKLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDMUIsTUFBTSxJQUFJLGtDQUF1QixDQUFDLG1CQUFtQixDQUFDLENBQUM7U0FDeEQ7UUFDRCxNQUFNLE1BQU0sR0FBVztZQUNyQixFQUFFLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRTtZQUNoQyxJQUFJLEVBQUUsTUFBQSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSwwQ0FBRSxRQUFRLEVBQUU7WUFDNUMsSUFBSSxFQUFFLGlCQUFPLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ2pFLEdBQUcsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRztZQUM5QixVQUFVLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVU7WUFDNUMsU0FBUyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTO1lBQzFDLElBQUksRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSTtZQUNoQyxPQUFPLEVBQUUsTUFBQSxJQUFJLENBQUMsZ0JBQWdCLDBDQUFFLFVBQVU7WUFDMUMsU0FBUyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTO1lBQzFDLFdBQVcsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7U0FDbEUsQ0FBQztRQUNGLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixFQUFFO1lBQzFDLE1BQU0sQ0FBQyxnQkFBZ0IsR0FBRyxpQkFBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDbkc7UUFDRCxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssMEJBQWUsQ0FBQyxJQUFJLEVBQUU7WUFDdEMsTUFBTSxDQUFDLEVBQUUsR0FBRyxpQkFBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3RFLE1BQU0sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUN6RDtRQUNELElBQUksSUFBSSxDQUFDLElBQUksS0FBSywwQkFBZSxDQUFDLG9CQUFvQixFQUFFO1lBQ3RELElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZ0JBQWdCLEVBQUU7Z0JBQzNDLElBQ0UsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU87b0JBQzdCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZO29CQUNsQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUztvQkFDL0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVE7b0JBQzlCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLEVBQ3JDO29CQUNBLE1BQU0sQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7b0JBQ2xFLE1BQU0sQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7b0JBQzVFLE1BQU0sQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQztvQkFDbkQsTUFBTSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDO29CQUNqRCxNQUFNLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUM7b0JBQy9ELElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsRUFBRTt3QkFDdkMsTUFBTSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztxQkFDL0U7aUJBQ0Y7YUFDRjtpQkFBTTtnQkFDTCxNQUFNLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDO2FBQ2xFO1NBQ0Y7UUFDRCxJQUFJLE1BQU0sQ0FBQyxJQUFJLEtBQUssT0FBTyxJQUFJLE1BQU0sQ0FBQyxFQUFFLElBQUksTUFBTSxDQUFDLE1BQU0sRUFBRTtZQUN6RCxNQUFNLENBQUMsTUFBTSxHQUFHLGVBQUssQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFDckcsTUFBTSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQztTQUM1QztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7T0FFRztJQUNILG9CQUFvQjtRQUNsQixJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQzFCLE9BQU87U0FDUjtRQUNELElBQUksSUFBSSxDQUFDLElBQUksS0FBSywwQkFBZSxDQUFDLElBQUksRUFBRTtZQUN0QyxJQUFJLENBQUMsUUFBUSxHQUFHO2dCQUNkO29CQUNFLE9BQU8sRUFBRSxpQkFBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQztvQkFDbEUsS0FBSyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFO29CQUM5QyxJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJO2lCQUM1QjthQUNGLENBQUM7WUFFRixJQUFJLENBQUMsT0FBTyxHQUFHO2dCQUNiO29CQUNFLE9BQU8sRUFBRSxpQkFBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztvQkFDcEUsS0FBSyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFO29CQUM5QyxJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJO2lCQUM1QjthQUNGLENBQUM7U0FDSDtJQUNILENBQUM7Q0FDRjtBQXpRRCxrQ0F5UUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IGFsZ29zZGsgZnJvbSAnYWxnb3Nkayc7XG5pbXBvcnQge1xuICBCYXNlVHJhbnNhY3Rpb24sXG4gIFRyYW5zYWN0aW9uVHlwZSxcbiAgQmFzZUtleSxcbiAgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IsXG4gIEludmFsaWRLZXksXG4gIFNpZ25pbmdFcnJvcixcbn0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB1dGlscyBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IEtleVBhaXIgfSBmcm9tICcuL2tleVBhaXInO1xuaW1wb3J0IHsgVHhEYXRhIH0gZnJvbSAnLi9pZmFjZXMnO1xuXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb24gZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb24ge1xuICBwcml2YXRlIF9hbGdvVHJhbnNhY3Rpb24/OiBhbGdvc2RrLlRyYW5zYWN0aW9uO1xuICBwcml2YXRlIF9zaWduZWRUcmFuc2FjdGlvbj86IFVpbnQ4QXJyYXk7XG4gIHByaXZhdGUgX251bWJlck9mUmVxdWlyZWRTaWduZXJzOiBudW1iZXI7XG4gIHByaXZhdGUgX3NlbmRlcjogc3RyaW5nO1xuICBwcml2YXRlIF9zaWduZXJzOiBzdHJpbmdbXTtcbiAgcHJpdmF0ZSBfc2lnbmVkQnk6IHN0cmluZ1tdO1xuXG4gIGNvbnN0cnVjdG9yKGNvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoY29pbkNvbmZpZyk7XG4gICAgdGhpcy5fbnVtYmVyT2ZSZXF1aXJlZFNpZ25lcnMgPSAwO1xuICAgIHRoaXMuX3NpZ25lcnMgPSBbXTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBjYW5TaWduKHsga2V5IH06IEJhc2VLZXkpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5fbnVtYmVyT2ZSZXF1aXJlZFNpZ25lcnMgPT09IDApIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX251bWJlck9mUmVxdWlyZWRTaWduZXJzID09PSAxKSB7XG4gICAgICBjb25zdCBrcCA9IG5ldyBLZXlQYWlyKHsgcHJ2OiBrZXkgfSk7XG4gICAgICBjb25zdCBhZGRyID0ga3AuZ2V0QWRkcmVzcygpO1xuICAgICAgaWYgKGFkZHIgPT09IHRoaXMuX3NlbmRlcikge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgc2VuZGVyKGFkZHJlc3M6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuX3NlbmRlciA9IGFkZHJlc3M7XG4gIH1cblxuICAvKipcbiAgICogU2lnbnMgdHJhbnNhY3Rpb24uXG4gICAqXG4gICAqIEBwYXJhbSB7S2V5UGFpcn0ga2V5UGFpciBTaWduZXIga2V5cy5cbiAgICovXG4gIHNpZ24oa2V5UGFpcjogS2V5UGFpcltdKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9hbGdvVHJhbnNhY3Rpb24pIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignRW1wdHkgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX251bWJlck9mUmVxdWlyZWRTaWduZXJzID09PSAxKSB7XG4gICAgICB0aGlzLnNpZ25TaW5nbGUoa2V5UGFpclswXSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLl9udW1iZXJPZlJlcXVpcmVkU2lnbmVycyA+IDEpIHtcbiAgICAgIHRoaXMuc2lnbk11bHRpU2lnKGtleVBhaXIpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTaWducyB0cmFuc2FjdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHtLZXlQYWlyfSBrZXlQYWlyIFNpZ25lciBrZXlzLlxuICAgKi9cbiAgcHJpdmF0ZSBzaWduU2luZ2xlKGtleVBhaXI6IEtleVBhaXIpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2FsZ29UcmFuc2FjdGlvbikge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdFbXB0eSB0cmFuc2FjdGlvbicpO1xuICAgIH1cbiAgICBjb25zdCBzaWduS2V5ID0gQnVmZmVyLmZyb20oa2V5UGFpci5nZXRTaWduaW5nS2V5KCkpLnRvU3RyaW5nKCdoZXgnKTtcbiAgICBpZiAoc2lnbktleSkge1xuICAgICAgdGhpcy5fc2lnbmVkVHJhbnNhY3Rpb24gPSBhbGdvc2RrLnNpZ25UcmFuc2FjdGlvbih0aGlzLl9hbGdvVHJhbnNhY3Rpb24sIHV0aWxzLnRvVWludDhBcnJheShzaWduS2V5KSkuYmxvYjtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRLZXkoJ1ByaXZhdGUga2V5IHVuZGVmaW5lZCcpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTaWducyBtdWx0aXNpZyB0cmFuc2FjdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHtLZXlQYWlyfSBrZXlQYWlyIFNpZ25lcnMga2V5cy5cbiAgICovXG4gIHByaXZhdGUgc2lnbk11bHRpU2lnKGtleVBhaXI6IEtleVBhaXJbXSk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fYWxnb1RyYW5zYWN0aW9uKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0VtcHR5IHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICAgIGlmICh0aGlzLl9zaWduZXJzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IFNpZ25pbmdFcnJvcignU2lnbmVycyBub3Qgc3BlY2lmaWVkIGZvciBtdWx0aXNpZycpO1xuICAgIH1cbiAgICBpZiAoa2V5UGFpci5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBTaWduaW5nRXJyb3IoJ0tleXBhaXIgbm90IHNwZWNpZmllZCBmb3IgbXVsdGlzaWcnKTtcbiAgICB9XG4gICAgY29uc3QgbXVsdGlTaWdPcHRpb25zID0ge1xuICAgICAgdmVyc2lvbjogMSxcbiAgICAgIHRocmVzaG9sZDogdGhpcy5fbnVtYmVyT2ZSZXF1aXJlZFNpZ25lcnMsXG4gICAgICBhZGRyczogdGhpcy5fc2lnbmVycyxcbiAgICB9O1xuICAgIGNvbnN0IG1zaWdBZGRyZXNzID0gYWxnb3Nkay5tdWx0aXNpZ0FkZHJlc3MobXVsdGlTaWdPcHRpb25zKTtcbiAgICB0aGlzLl9hbGdvVHJhbnNhY3Rpb24uZnJvbSA9IGFsZ29zZGsuZGVjb2RlQWRkcmVzcyhtc2lnQWRkcmVzcyk7XG5cbiAgICAvLyBDaGVjayBpZiBpdCBpcyBhIHNpZ25lZCBvciB1bnNpZ25lZCB0eC5cbiAgICAvLyBJZiB1bnNpZ25lZCwgc2lnbiBpdCB1c2luZyBmaXJzdCBrZXlwYWlyIGFuZCB0aGVuIGFwcGVuZCBuZXh0IHNpZ25hdHVyZXMuXG4gICAgLy8gSWYgc2lnbmVkLCBhcHBlbmRpbmcgbmV4dCBzaWduYXR1cmVzLlxuICAgIGxldCBzaWduZWRUeCA9IHRoaXMuX3NpZ25lZFRyYW5zYWN0aW9uXG4gICAgICA/IHRoaXMuX3NpZ25lZFRyYW5zYWN0aW9uXG4gICAgICA6IGFsZ29zZGsuc2lnbk11bHRpc2lnVHJhbnNhY3Rpb24odGhpcy5fYWxnb1RyYW5zYWN0aW9uLCBtdWx0aVNpZ09wdGlvbnMsIGtleVBhaXIuc2hpZnQoKSEuZ2V0U2lnbmluZ0tleSgpKS5ibG9iO1xuXG4gICAga2V5UGFpci5mb3JFYWNoKChrcCkgPT4ge1xuICAgICAgc2lnbmVkVHggPSBhbGdvc2RrLmFwcGVuZFNpZ25NdWx0aXNpZ1RyYW5zYWN0aW9uKHNpZ25lZFR4LCBtdWx0aVNpZ09wdGlvbnMsIGtwLmdldFNpZ25pbmdLZXkoKSkuYmxvYjtcbiAgICB9KTtcbiAgICB0aGlzLl9zaWduZWRUcmFuc2FjdGlvbiA9IHNpZ25lZFR4O1xuICB9XG5cbiAgc2V0IHNpZ25lZFRyYW5zYWN0aW9uKHR4bjogVWludDhBcnJheSkge1xuICAgIHRoaXMuX3NpZ25lZFRyYW5zYWN0aW9uID0gdHhuO1xuICB9XG5cbiAgZ2V0IG51bWJlck9mUmVxdWlyZWRTaWduZXJzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX251bWJlck9mUmVxdWlyZWRTaWduZXJzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIG51bWJlciBvZiBzaWduZXJzIHJlcXVpcmVkIGZvciBzaWduaW5nIHRoaXMgdHJhbnNhY3Rpb24uXG4gICAqXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBudW0gVGhyZXNob2xkIG51bWJlciBvZiBzaWduZXJzLlxuICAgKi9cbiAgc2V0TnVtYmVyT2ZSZXF1aXJlZFNpZ25lcnMobnVtOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLl9udW1iZXJPZlJlcXVpcmVkU2lnbmVycyA9IG51bTtcbiAgfVxuXG4gIHNldCBzaWduZXJzKGFkZHJzOiBzdHJpbmdbXSkge1xuICAgIHRoaXMuX3NpZ25lcnMgPSBhZGRycztcbiAgfVxuXG4gIGdldCBzaWduZXJzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5fc2lnbmVycztcbiAgfVxuXG4gIHNldCBzaWduZWRCeShzaWduZXI6IHN0cmluZ1tdKSB7XG4gICAgdGhpcy5fc2lnbmVkQnkgPSBzaWduZXI7XG4gIH1cblxuICBnZXQgc2lnbmVkQnkoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLl9zaWduZWRCeTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIGFsZ28gdHJhbnNhY3Rpb24uXG4gICAqXG4gICAqIEBwYXJhbSB7YWxnb3Nkay5UcmFuc2FjdGlvbn0gdHhcbiAgICovXG5cbiAgc2V0QWxnb1RyYW5zYWN0aW9uKHR4OiBhbGdvc2RrLlRyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgdGhpcy5fYWxnb1RyYW5zYWN0aW9uID0gdHg7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHVuZGVybGF5aW5nIGFsZ28gdHJhbnNhY3Rpb24uXG4gICAqXG4gICAqIEByZXR1cm5zIHthbGdvc2RrLlRyYW5zYWN0aW9ufVxuICAgKi9cblxuICBnZXRBbGdvVHJhbnNhY3Rpb24oKTogYWxnb3Nkay5UcmFuc2FjdGlvbiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX2FsZ29UcmFuc2FjdGlvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIHRyYW5zYWN0aW9uIHR5cGUuXG4gICAqXG4gICAqIEBwYXJhbSB7VHJhbnNhY3Rpb25UeXBlfSB0cmFuc2FjdGlvblR5cGUgVGhlIHRyYW5zYWN0aW9uIHR5cGUgdG8gYmUgc2V0LlxuICAgKi9cbiAgc2V0VHJhbnNhY3Rpb25UeXBlKHRyYW5zYWN0aW9uVHlwZTogVHJhbnNhY3Rpb25UeXBlKTogdm9pZCB7XG4gICAgdGhpcy5fdHlwZSA9IHRyYW5zYWN0aW9uVHlwZTtcbiAgfVxuXG4gIGVzdGltYXRlU2l6ZSgpOiBudW1iZXIge1xuICAgIGlmICghdGhpcy5fYWxnb1RyYW5zYWN0aW9uKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0VtcHR5IHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX2FsZ29UcmFuc2FjdGlvbi5lc3RpbWF0ZVNpemUoKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB0b0Jyb2FkY2FzdEZvcm1hdCgpOiBVaW50OEFycmF5IHtcbiAgICBpZiAoIXRoaXMuX2FsZ29UcmFuc2FjdGlvbikge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdFbXB0eSB0cmFuc2FjdGlvbicpO1xuICAgIH1cbiAgICBpZiAodGhpcy5fc2lnbmVkVHJhbnNhY3Rpb24gJiYgdGhpcy5fc2lnbmVkVHJhbnNhY3Rpb24ubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIHRoaXMuX3NpZ25lZFRyYW5zYWN0aW9uO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gYWxnb3Nkay5lbmNvZGVVbnNpZ25lZFRyYW5zYWN0aW9uKHRoaXMuX2FsZ29UcmFuc2FjdGlvbik7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHRvSnNvbigpOiBUeERhdGEge1xuICAgIGlmICghdGhpcy5fYWxnb1RyYW5zYWN0aW9uKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0VtcHR5IHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICAgIGNvbnN0IHJlc3VsdDogVHhEYXRhID0ge1xuICAgICAgaWQ6IHRoaXMuX2FsZ29UcmFuc2FjdGlvbi50eElEKCksXG4gICAgICB0eXBlOiB0aGlzLl9hbGdvVHJhbnNhY3Rpb24udHlwZT8udG9TdHJpbmcoKSxcbiAgICAgIGZyb206IGFsZ29zZGsuZW5jb2RlQWRkcmVzcyh0aGlzLl9hbGdvVHJhbnNhY3Rpb24uZnJvbS5wdWJsaWNLZXkpLFxuICAgICAgZmVlOiB0aGlzLl9hbGdvVHJhbnNhY3Rpb24uZmVlLFxuICAgICAgZmlyc3RSb3VuZDogdGhpcy5fYWxnb1RyYW5zYWN0aW9uLmZpcnN0Um91bmQsXG4gICAgICBsYXN0Um91bmQ6IHRoaXMuX2FsZ29UcmFuc2FjdGlvbi5sYXN0Um91bmQsXG4gICAgICBub3RlOiB0aGlzLl9hbGdvVHJhbnNhY3Rpb24ubm90ZSxcbiAgICAgIHRva2VuSWQ6IHRoaXMuX2FsZ29UcmFuc2FjdGlvbj8uYXNzZXRJbmRleCxcbiAgICAgIGdlbmVzaXNJRDogdGhpcy5fYWxnb1RyYW5zYWN0aW9uLmdlbmVzaXNJRCxcbiAgICAgIGdlbmVzaXNIYXNoOiB0aGlzLl9hbGdvVHJhbnNhY3Rpb24uZ2VuZXNpc0hhc2gudG9TdHJpbmcoJ2Jhc2U2NCcpLFxuICAgIH07XG4gICAgaWYgKHRoaXMuX2FsZ29UcmFuc2FjdGlvbi5jbG9zZVJlbWFpbmRlclRvKSB7XG4gICAgICByZXN1bHQuY2xvc2VSZW1haW5kZXJUbyA9IGFsZ29zZGsuZW5jb2RlQWRkcmVzcyh0aGlzLl9hbGdvVHJhbnNhY3Rpb24uY2xvc2VSZW1haW5kZXJUby5wdWJsaWNLZXkpO1xuICAgIH1cbiAgICBpZiAodGhpcy50eXBlID09PSBUcmFuc2FjdGlvblR5cGUuU2VuZCkge1xuICAgICAgcmVzdWx0LnRvID0gYWxnb3Nkay5lbmNvZGVBZGRyZXNzKHRoaXMuX2FsZ29UcmFuc2FjdGlvbi50by5wdWJsaWNLZXkpO1xuICAgICAgcmVzdWx0LmFtb3VudCA9IHRoaXMuX2FsZ29UcmFuc2FjdGlvbi5hbW91bnQudG9TdHJpbmcoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMudHlwZSA9PT0gVHJhbnNhY3Rpb25UeXBlLldhbGxldEluaXRpYWxpemF0aW9uKSB7XG4gICAgICBpZiAoIXRoaXMuX2FsZ29UcmFuc2FjdGlvbi5ub25QYXJ0aWNpcGF0aW9uKSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICB0aGlzLl9hbGdvVHJhbnNhY3Rpb24udm90ZUtleSAmJlxuICAgICAgICAgIHRoaXMuX2FsZ29UcmFuc2FjdGlvbi5zZWxlY3Rpb25LZXkgJiZcbiAgICAgICAgICB0aGlzLl9hbGdvVHJhbnNhY3Rpb24udm90ZUZpcnN0ICYmXG4gICAgICAgICAgdGhpcy5fYWxnb1RyYW5zYWN0aW9uLnZvdGVMYXN0ICYmXG4gICAgICAgICAgdGhpcy5fYWxnb1RyYW5zYWN0aW9uLnZvdGVLZXlEaWx1dGlvblxuICAgICAgICApIHtcbiAgICAgICAgICByZXN1bHQudm90ZUtleSA9IHRoaXMuX2FsZ29UcmFuc2FjdGlvbi52b3RlS2V5LnRvU3RyaW5nKCdiYXNlNjQnKTtcbiAgICAgICAgICByZXN1bHQuc2VsZWN0aW9uS2V5ID0gdGhpcy5fYWxnb1RyYW5zYWN0aW9uLnNlbGVjdGlvbktleS50b1N0cmluZygnYmFzZTY0Jyk7XG4gICAgICAgICAgcmVzdWx0LnZvdGVGaXJzdCA9IHRoaXMuX2FsZ29UcmFuc2FjdGlvbi52b3RlRmlyc3Q7XG4gICAgICAgICAgcmVzdWx0LnZvdGVMYXN0ID0gdGhpcy5fYWxnb1RyYW5zYWN0aW9uLnZvdGVMYXN0O1xuICAgICAgICAgIHJlc3VsdC52b3RlS2V5RGlsdXRpb24gPSB0aGlzLl9hbGdvVHJhbnNhY3Rpb24udm90ZUtleURpbHV0aW9uO1xuICAgICAgICAgIGlmICh0aGlzLl9hbGdvVHJhbnNhY3Rpb24uc3RhdGVQcm9vZktleSkge1xuICAgICAgICAgICAgcmVzdWx0LnN0YXRlUHJvb2ZLZXkgPSB0aGlzLl9hbGdvVHJhbnNhY3Rpb24uc3RhdGVQcm9vZktleS50b1N0cmluZygnYmFzZTY0Jyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXN1bHQubm9uUGFydGljaXBhdGlvbiA9IHRoaXMuX2FsZ29UcmFuc2FjdGlvbi5ub25QYXJ0aWNpcGF0aW9uO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAocmVzdWx0LnR5cGUgPT09ICdheGZlcicgJiYgcmVzdWx0LnRvICYmIHJlc3VsdC5hbW91bnQpIHtcbiAgICAgIHJlc3VsdC50eFR5cGUgPSB1dGlscy5nZXRUb2tlblR4VHlwZShyZXN1bHQuYW1vdW50LCByZXN1bHQuZnJvbSwgcmVzdWx0LnRvLCByZXN1bHQuY2xvc2VSZW1haW5kZXJUbyk7XG4gICAgICByZXN1bHQudG9rZW5OYW1lID0gdGhpcy5fY29pbkNvbmZpZy5zdWZmaXg7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKipcbiAgICogTG9hZCB0aGUgaW5wdXQgYW5kIG91dHB1dCBkYXRhIG9uIHRoaXMgdHJhbnNhY3Rpb24uXG4gICAqL1xuICBsb2FkSW5wdXRzQW5kT3V0cHV0cygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2FsZ29UcmFuc2FjdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy50eXBlID09PSBUcmFuc2FjdGlvblR5cGUuU2VuZCkge1xuICAgICAgdGhpcy5fb3V0cHV0cyA9IFtcbiAgICAgICAge1xuICAgICAgICAgIGFkZHJlc3M6IGFsZ29zZGsuZW5jb2RlQWRkcmVzcyh0aGlzLl9hbGdvVHJhbnNhY3Rpb24udG8ucHVibGljS2V5KSxcbiAgICAgICAgICB2YWx1ZTogdGhpcy5fYWxnb1RyYW5zYWN0aW9uLmFtb3VudC50b1N0cmluZygpLFxuICAgICAgICAgIGNvaW46IHRoaXMuX2NvaW5Db25maWcubmFtZSxcbiAgICAgICAgfSxcbiAgICAgIF07XG5cbiAgICAgIHRoaXMuX2lucHV0cyA9IFtcbiAgICAgICAge1xuICAgICAgICAgIGFkZHJlc3M6IGFsZ29zZGsuZW5jb2RlQWRkcmVzcyh0aGlzLl9hbGdvVHJhbnNhY3Rpb24uZnJvbS5wdWJsaWNLZXkpLFxuICAgICAgICAgIHZhbHVlOiB0aGlzLl9hbGdvVHJhbnNhY3Rpb24uYW1vdW50LnRvU3RyaW5nKCksXG4gICAgICAgICAgY29pbjogdGhpcy5fY29pbkNvbmZpZy5uYW1lLFxuICAgICAgICB9LFxuICAgICAgXTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,204 @@
1
+ import { BaseCoin as CoinConfig } from '@bitgo/statics';
2
+ import BigNumber from 'bignumber.js';
3
+ import algosdk from 'algosdk';
4
+ import { Transaction } from './transaction';
5
+ import { KeyPair } from './keyPair';
6
+ import { BaseAddress, BaseFee, BaseKey, BaseTransactionBuilder, TransactionType } from '@bitgo/sdk-core';
7
+ export declare abstract class TransactionBuilder extends BaseTransactionBuilder {
8
+ protected _transaction: Transaction;
9
+ protected _keyPairs: KeyPair[];
10
+ protected _fee: number;
11
+ protected _isFlatFee: boolean;
12
+ protected _sender: string;
13
+ protected _genesisHash: string;
14
+ protected _genesisId: string;
15
+ protected _firstRound: number;
16
+ protected _lastRound: number;
17
+ protected _lease?: Uint8Array;
18
+ protected _note?: Uint8Array;
19
+ protected _reKeyTo?: string;
20
+ protected _suggestedParams: algosdk.SuggestedParams;
21
+ constructor(coinConfig: Readonly<CoinConfig>);
22
+ /**
23
+ * Sets the fee.
24
+ *
25
+ * The minimum fee is 1000 microalgos.
26
+ *
27
+ * @param {BaseFee} feeObj The amount to pay to the fee sink denoted in microalgos
28
+ * @returns {TransactionBuilder} This transaction builder.
29
+ *
30
+ * @see https://developer.algorand.org/docs/reference/transactions/
31
+ */
32
+ fee(feeObj: BaseFee): this;
33
+ /**
34
+ * Sets whether the fee is a flat fee.
35
+ *
36
+ * A flat fee is the fee for the entire transaction whereas a normal fee
37
+ * is a fee for every byte in the transaction.
38
+ *
39
+ * @param {boolean} isFlatFee Whether the fee should be specified as a flat fee.
40
+ * @returns {TransactionBuilder} This transaction builder.
41
+ */
42
+ isFlatFee(isFlatFee: boolean): this;
43
+ /**
44
+ * Sets the transaction sender.
45
+ *
46
+ * @param {BaseAddress} sender The sender account
47
+ * @returns {TransactionBuilder} This transaction builder.
48
+ *
49
+ * @see https://developer.algorand.org/docs/reference/transactions/
50
+ */
51
+ sender(sender: BaseAddress): this;
52
+ /**
53
+ * Sets the genesis id.
54
+ *
55
+ * @param {string} genesisId The genesis id.
56
+ * @example "mainnet-v1.0"
57
+ *
58
+ * @returns {TransactionBuilder} This transaction builder.
59
+ *
60
+ * @see https://developer.algorand.org/docs/reference/transactions/
61
+ */
62
+ genesisId(genesisId: string): this;
63
+ /**
64
+ * Sets the genesis hash.
65
+ *
66
+ * The genesis hash must be base64 encoded.
67
+ *
68
+ * @param {string} genesisHash The genesis hash.
69
+ * @example "wGHE2Pwdvd7S12BL5FaOP20EGYesN73ktiC1qzkkit8="
70
+ *
71
+ * @returns {TransactionBuilder} This transaction builder.
72
+ *
73
+ * @see https://developer.algorand.org/docs/reference/transactions/
74
+ */
75
+ genesisHash(genesisHash: string): this;
76
+ /**
77
+ * Sets the genesis id and hash to mainnet.
78
+ *
79
+ * @returns {TransactionBuilder} This transaction builder.
80
+ *
81
+ * @see https://developer.algorand.org/docs/reference/algorand-networks/mainnet/#genesis-id
82
+ * @see https://developer.algorand.org/docs/reference/algorand-networks/mainnet/#genesis-hash
83
+ */
84
+ mainnet(): this;
85
+ /**
86
+ * Sets the genesis id and hash to testnet.
87
+ *
88
+ * @returns {TransactionBuilder} This transaction builder.
89
+ *
90
+ * @see https://developer.algorand.org/docs/reference/algorand-networks/testnet/#genesis-id
91
+ * @see https://developer.algorand.org/docs/reference/algorand-networks/testnet/#genesis-hash
92
+ */
93
+ testnet(): this;
94
+ /**
95
+ * Sets the genesis id and hash to betanet.
96
+ *
97
+ * @returns {TransactionBuilder} This transaction builder.
98
+ *
99
+ * @see https://developer.algorand.org/docs/reference/algorand-networks/betanet/#genesis-id
100
+ * @see https://developer.algorand.org/docs/reference/algorand-networks/betanet/#genesis-hash
101
+ */
102
+ betanet(): this;
103
+ /**
104
+ * Sets the first round.
105
+ *
106
+ * @param {number} round The first protocol round on which this txn is valid.
107
+ * @returns {TransactionBuilder} This transaction builder.
108
+ *
109
+ * @see https://developer.algorand.org/docs/reference/transactions/
110
+ */
111
+ firstRound(round: number): this;
112
+ /**
113
+ * Sets the last round.
114
+ *
115
+ * @param {number} round The first protocol round on which this txn is valid.
116
+ * @returns {TransactionBuilder} This transaction builder.
117
+ *
118
+ * @see https://developer.algorand.org/docs/reference/transactions/
119
+ */
120
+ lastRound(round: number): this;
121
+ /**
122
+ * Sets the lease on the transaction.
123
+ *
124
+ * A lease is a mutex on the transaction that prevents any other transaction
125
+ * from being sent with the same lease until the prior transaction's last
126
+ * round has passed.
127
+ *
128
+ * @param {Uint8Array} lease The lease to put the transaction.
129
+ * @returns {TransactionBuilder} This transaction builder.
130
+ *
131
+ * @see https://developer.algorand.org/docs/reference/transactions/
132
+ */
133
+ lease(lease: Uint8Array): this;
134
+ /**
135
+ * Sets the note for the transaction.
136
+ *
137
+ * @param {Uint8Array} note Arbitrary data for sender to store.
138
+ * @returns {TransactionBuilder} This transaction builder.
139
+ *
140
+ * @see https://developer.algorand.org/docs/reference/transactions/
141
+ */
142
+ note(note: Uint8Array): this;
143
+ /**
144
+ * Sets the authorized address.
145
+ *
146
+ * The authorized asset will be used to authorize all future transactions.
147
+ *
148
+ * @param {BaseAddress} authorizer The address to delegate authorization authority to.
149
+ * @returns {TransactionBuilder} This transaction builder.
150
+ *
151
+ * @see https://developer.algorand.org/docs/reference/transactions/
152
+ */
153
+ reKeyTo(authorizer: BaseAddress): this;
154
+ /** @inheritdoc */
155
+ validateAddress({ address }: BaseAddress): void;
156
+ /** @inheritdoc */
157
+ protected buildImplementation(): Promise<Transaction>;
158
+ /**
159
+ * Builds the algorand transaction.
160
+ */
161
+ protected abstract buildAlgoTxn(): algosdk.Transaction;
162
+ /**
163
+ * The transaction type.
164
+ */
165
+ protected abstract get transactionType(): TransactionType;
166
+ /** @inheritdoc */
167
+ protected fromImplementation(rawTransaction: Uint8Array | string): Transaction;
168
+ /** @inheritdoc */
169
+ protected signImplementation({ key }: BaseKey): Transaction;
170
+ numberOfSigners(num: number): this;
171
+ setSigners(addrs: string | string[]): this;
172
+ /**
173
+ * Sets the number of signers required to sign the transaction.
174
+ *
175
+ * The number of signers cannot be set to a negative value.
176
+ *
177
+ * @param {number} n The number of signers.
178
+ * @returns {TransactionBuilder} This transaction builder.
179
+ */
180
+ numberOfRequiredSigners(n: number): this;
181
+ /**
182
+ * @inheritdoc
183
+ * @see https://developer.algorand.org/docs/features/accounts/#transformation-private-key-to-base64-private-key
184
+ */
185
+ validateKey({ key }: BaseKey): void;
186
+ /** @inheritdoc */
187
+ validateRawTransaction(rawTransaction: Uint8Array | string): void;
188
+ /** @inheritdoc */
189
+ validateTransaction(_: Transaction): void;
190
+ private validateBaseFields;
191
+ /** @inheritdoc */
192
+ validateValue(value: BigNumber): void;
193
+ /** @inheritdoc */
194
+ protected get transaction(): Transaction;
195
+ /** @inheritdoc */
196
+ protected set transaction(transaction: Transaction);
197
+ /**
198
+ * Convenience method to retrieve the algosdk suggested parameters.
199
+ *
200
+ * @returns {algosdk.SuggestedParams} The algosdk suggested parameters.
201
+ */
202
+ protected get suggestedParams(): algosdk.SuggestedParams;
203
+ }
204
+ //# sourceMappingURL=transactionBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transactionBuilder.d.ts","sourceRoot":"","sources":["../../../../src/coin/algo/transactionBuilder.ts"],"names":[],"mappings":"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"}