@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,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZUtleVBhaXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29pbi9iYXNlQ29pbi9iYXNlS2V5UGFpci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWRkcmVzc0Zvcm1hdCB9IGZyb20gJy4vZW51bSc7XG5cbi8qKlxuICogQmFzZSBrZXlzIGFuZCBhZGRyZXNzIG1hbmFnZW1lbnQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmFzZUtleVBhaXIge1xuICAvKipcbiAgICogQnVpbGQgYSBzZXQgb2Yga2V5cyBmcm9tIGEgcHJ2XG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwcnYgQSByYXcgcHJpdmF0ZSBrZXlcbiAgICovXG4gIHJlY29yZEtleXNGcm9tUHJpdmF0ZUtleShwcnY6IHN0cmluZyk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIEJ1aWxkIGEgc2V0IG9mIGtleXMgZnJvbSBhIHB1YlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gcHViIEEgcmF3IHB1YiBrZXlcbiAgICovXG4gIHJlY29yZEtleXNGcm9tUHVibGljS2V5KHB1Yjogc3RyaW5nKTogdm9pZDtcblxuICAvKipcbiAgICogUmV0dXJucyB0aGUga2V5cyBpbiB0aGUgcHJvdG9jb2wgZGVmYXVsdCBrZXkgZm9ybWF0XG4gICAqL1xuICBnZXRLZXlzKCk6IGFueTtcblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgYWRkcmVzcyBpbiB0aGUgcHJvdG9jb2wgZGVmYXVsdCBmb3JtYXRcbiAgICovXG4gIGdldEFkZHJlc3MoZm9ybWF0PzogQWRkcmVzc0Zvcm1hdCk6IHN0cmluZztcbn1cbiJdfQ==
@@ -0,0 +1,71 @@
1
+ /// <reference types="node" />
2
+ import { BaseCoin as CoinConfig } from '@bitgo/statics';
3
+ import { BaseKey, Entry } from './iface';
4
+ import { TransactionType } from './enum';
5
+ /**
6
+ * Generic transaction to be extended with coin specific logic.
7
+ */
8
+ export declare abstract class BaseTransaction {
9
+ protected _id: string | undefined;
10
+ protected _inputs: Entry[];
11
+ protected _outputs: Entry[];
12
+ protected _type: TransactionType | undefined;
13
+ protected _signatures: string[];
14
+ protected _coinConfig: Readonly<CoinConfig>;
15
+ /**
16
+ * Base constructor.
17
+ *
18
+ * @param _coinConfig BaseCoin from statics library
19
+ */
20
+ protected constructor(_coinConfig: Readonly<CoinConfig>);
21
+ /**
22
+ * Get the transaction id as seen in the blockchain. Transactions computed offline may not have an
23
+ * id, however, this is left to the coin implementation.
24
+ */
25
+ get id(): string;
26
+ /**
27
+ * One of {@link TransactionType}
28
+ */
29
+ get type(): TransactionType;
30
+ /**
31
+ * Get the list of outputs. Amounts are expressed in absolute value.
32
+ */
33
+ get outputs(): Entry[];
34
+ /**
35
+ * Get the list of inputs. Amounts are expressed in absolute value.
36
+ */
37
+ get inputs(): Entry[];
38
+ /**
39
+ * Get the list of signatures (if any) produced for this transaction.
40
+ */
41
+ get signature(): string[];
42
+ /**
43
+ * Whether the private key can sign this transaction in its current state or not. it is possible
44
+ * some transactions can only enforce this check after some other fields have been filled already
45
+ * or even during build time.
46
+ *
47
+ * @param {BaseKey} key Private key to verify permissions on
48
+ * @returns {boolean} false if the key cannot sign the transaction without a doubt, true otherwise
49
+ */
50
+ abstract canSign(key: BaseKey): boolean;
51
+ /**
52
+ * Return the transaction in a coin specific JSON format.
53
+ */
54
+ abstract toJson(): any;
55
+ /**
56
+ * Return the transaction in a format it can be broadcasted to the blockchain.
57
+ */
58
+ abstract toBroadcastFormat(): any;
59
+ /**
60
+ * Returns the portion of the transaction that needs to be signed in Buffer format.
61
+ * Only needed for coins that support adding signatures directly (e.g. TSS).
62
+ */
63
+ get signablePayload(): Buffer;
64
+ /**
65
+ * Explain/parse a given coin transaction
66
+ * TODO: Move all previous explainTransactions from 'core' to 'account-lib' for other coins,
67
+ * TODO: convert to abstract
68
+ */
69
+ explainTransaction(): any;
70
+ }
71
+ //# sourceMappingURL=baseTransaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseTransaction.d.ts","sourceRoot":"","sources":["../../../../src/coin/baseCoin/baseTransaction.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAGzC;;GAEG;AACH,8BAAsB,eAAe;IACnC,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;IAC3B,SAAS,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC5B,SAAS,CAAC,KAAK,EAAE,eAAe,GAAG,SAAS,CAAC;IAC7C,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;IAChC,SAAS,CAAC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC5C;;;;OAIG;IACH,SAAS,aAAa,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IASvD;;;OAGG;IACH,IAAI,EAAE,IAAI,MAAM,CAEf;IAED;;OAEG;IACH,IAAI,IAAI,IAAI,eAAe,CAE1B;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,KAAK,EAAE,CAErB;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,KAAK,EAAE,CAEpB;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,MAAM,EAAE,CAExB;IAED;;;;;;;OAOG;IACH,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO;IAEvC;;OAEG;IACH,QAAQ,CAAC,MAAM,IAAI,GAAG;IAEtB;;OAEG;IACH,QAAQ,CAAC,iBAAiB,IAAI,GAAG;IAEjC;;;OAGG;IACH,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED;;;;OAIG;IAEH,kBAAkB,IAAI,GAAG;CAC1B"}
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseTransaction = void 0;
4
+ var errors_1 = require("./errors");
5
+ /**
6
+ * Generic transaction to be extended with coin specific logic.
7
+ */
8
+ var BaseTransaction = /** @class */ (function () {
9
+ /**
10
+ * Base constructor.
11
+ *
12
+ * @param _coinConfig BaseCoin from statics library
13
+ */
14
+ function BaseTransaction(_coinConfig) {
15
+ this._coinConfig = _coinConfig;
16
+ this._inputs = [];
17
+ this._outputs = [];
18
+ this._signatures = [];
19
+ this._id = undefined;
20
+ this._type = undefined;
21
+ }
22
+ Object.defineProperty(BaseTransaction.prototype, "id", {
23
+ /**
24
+ * Get the transaction id as seen in the blockchain. Transactions computed offline may not have an
25
+ * id, however, this is left to the coin implementation.
26
+ */
27
+ get: function () {
28
+ return this._id;
29
+ },
30
+ enumerable: false,
31
+ configurable: true
32
+ });
33
+ Object.defineProperty(BaseTransaction.prototype, "type", {
34
+ /**
35
+ * One of {@link TransactionType}
36
+ */
37
+ get: function () {
38
+ return this._type;
39
+ },
40
+ enumerable: false,
41
+ configurable: true
42
+ });
43
+ Object.defineProperty(BaseTransaction.prototype, "outputs", {
44
+ /**
45
+ * Get the list of outputs. Amounts are expressed in absolute value.
46
+ */
47
+ get: function () {
48
+ return this._outputs;
49
+ },
50
+ enumerable: false,
51
+ configurable: true
52
+ });
53
+ Object.defineProperty(BaseTransaction.prototype, "inputs", {
54
+ /**
55
+ * Get the list of inputs. Amounts are expressed in absolute value.
56
+ */
57
+ get: function () {
58
+ return this._inputs;
59
+ },
60
+ enumerable: false,
61
+ configurable: true
62
+ });
63
+ Object.defineProperty(BaseTransaction.prototype, "signature", {
64
+ /**
65
+ * Get the list of signatures (if any) produced for this transaction.
66
+ */
67
+ get: function () {
68
+ return this._signatures;
69
+ },
70
+ enumerable: false,
71
+ configurable: true
72
+ });
73
+ Object.defineProperty(BaseTransaction.prototype, "signablePayload", {
74
+ /**
75
+ * Returns the portion of the transaction that needs to be signed in Buffer format.
76
+ * Only needed for coins that support adding signatures directly (e.g. TSS).
77
+ */
78
+ get: function () {
79
+ throw new errors_1.NotImplementedError('signablePayload not implemented');
80
+ },
81
+ enumerable: false,
82
+ configurable: true
83
+ });
84
+ /**
85
+ * Explain/parse a given coin transaction
86
+ * TODO: Move all previous explainTransactions from 'core' to 'account-lib' for other coins,
87
+ * TODO: convert to abstract
88
+ */
89
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
90
+ BaseTransaction.prototype.explainTransaction = function () { };
91
+ return BaseTransaction;
92
+ }());
93
+ exports.BaseTransaction = BaseTransaction;
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZVRyYW5zYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvaW4vYmFzZUNvaW4vYmFzZVRyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdBLG1DQUErQztBQUUvQzs7R0FFRztBQUNIO0lBT0U7Ozs7T0FJRztJQUNILHlCQUFzQixXQUFpQztRQUNyRCxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsR0FBRyxHQUFHLFNBQVMsQ0FBQztRQUNyQixJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQztJQUN6QixDQUFDO0lBTUQsc0JBQUksK0JBQUU7UUFKTjs7O1dBR0c7YUFDSDtZQUNFLE9BQU8sSUFBSSxDQUFDLEdBQWEsQ0FBQztRQUM1QixDQUFDOzs7T0FBQTtJQUtELHNCQUFJLGlDQUFJO1FBSFI7O1dBRUc7YUFDSDtZQUNFLE9BQU8sSUFBSSxDQUFDLEtBQXdCLENBQUM7UUFDdkMsQ0FBQzs7O09BQUE7SUFLRCxzQkFBSSxvQ0FBTztRQUhYOztXQUVHO2FBQ0g7WUFDRSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDdkIsQ0FBQzs7O09BQUE7SUFLRCxzQkFBSSxtQ0FBTTtRQUhWOztXQUVHO2FBQ0g7WUFDRSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDdEIsQ0FBQzs7O09BQUE7SUFLRCxzQkFBSSxzQ0FBUztRQUhiOztXQUVHO2FBQ0g7WUFDRSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDMUIsQ0FBQzs7O09BQUE7SUEwQkQsc0JBQUksNENBQWU7UUFKbkI7OztXQUdHO2FBQ0g7WUFDRSxNQUFNLElBQUksNEJBQW1CLENBQUMsaUNBQWlDLENBQUMsQ0FBQztRQUNuRSxDQUFDOzs7T0FBQTtJQUVEOzs7O09BSUc7SUFDSCxnRUFBZ0U7SUFDaEUsNENBQWtCLEdBQWxCLGNBQTJCLENBQUM7SUFDOUIsc0JBQUM7QUFBRCxDQUFDLEFBNUZELElBNEZDO0FBNUZxQiwwQ0FBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5pbXBvcnQgeyBCYXNlS2V5LCBFbnRyeSB9IGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnLi9lbnVtJztcbmltcG9ydCB7IE5vdEltcGxlbWVudGVkRXJyb3IgfSBmcm9tICcuL2Vycm9ycyc7XG5cbi8qKlxuICogR2VuZXJpYyB0cmFuc2FjdGlvbiB0byBiZSBleHRlbmRlZCB3aXRoIGNvaW4gc3BlY2lmaWMgbG9naWMuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlVHJhbnNhY3Rpb24ge1xuICBwcm90ZWN0ZWQgX2lkOiBzdHJpbmcgfCB1bmRlZmluZWQ7IC8vIFRoZSB0cmFuc2FjdGlvbiBpZCBhcyBzZWVuIGluIHRoZSBibG9ja2NoYWluXG4gIHByb3RlY3RlZCBfaW5wdXRzOiBFbnRyeVtdO1xuICBwcm90ZWN0ZWQgX291dHB1dHM6IEVudHJ5W107XG4gIHByb3RlY3RlZCBfdHlwZTogVHJhbnNhY3Rpb25UeXBlIHwgdW5kZWZpbmVkO1xuICBwcm90ZWN0ZWQgX3NpZ25hdHVyZXM6IHN0cmluZ1tdO1xuICBwcm90ZWN0ZWQgX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+O1xuICAvKipcbiAgICogQmFzZSBjb25zdHJ1Y3Rvci5cbiAgICpcbiAgICogQHBhcmFtIF9jb2luQ29uZmlnIEJhc2VDb2luIGZyb20gc3RhdGljcyBsaWJyYXJ5XG4gICAqL1xuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgdGhpcy5fY29pbkNvbmZpZyA9IF9jb2luQ29uZmlnO1xuICAgIHRoaXMuX2lucHV0cyA9IFtdO1xuICAgIHRoaXMuX291dHB1dHMgPSBbXTtcbiAgICB0aGlzLl9zaWduYXR1cmVzID0gW107XG4gICAgdGhpcy5faWQgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5fdHlwZSA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHRyYW5zYWN0aW9uIGlkIGFzIHNlZW4gaW4gdGhlIGJsb2NrY2hhaW4uIFRyYW5zYWN0aW9ucyBjb21wdXRlZCBvZmZsaW5lIG1heSBub3QgaGF2ZSBhblxuICAgKiBpZCwgaG93ZXZlciwgdGhpcyBpcyBsZWZ0IHRvIHRoZSBjb2luIGltcGxlbWVudGF0aW9uLlxuICAgKi9cbiAgZ2V0IGlkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2lkIGFzIHN0cmluZztcbiAgfVxuXG4gIC8qKlxuICAgKiBPbmUgb2Yge0BsaW5rIFRyYW5zYWN0aW9uVHlwZX1cbiAgICovXG4gIGdldCB0eXBlKCk6IFRyYW5zYWN0aW9uVHlwZSB7XG4gICAgcmV0dXJuIHRoaXMuX3R5cGUgYXMgVHJhbnNhY3Rpb25UeXBlO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgbGlzdCBvZiBvdXRwdXRzLiBBbW91bnRzIGFyZSBleHByZXNzZWQgaW4gYWJzb2x1dGUgdmFsdWUuXG4gICAqL1xuICBnZXQgb3V0cHV0cygpOiBFbnRyeVtdIHtcbiAgICByZXR1cm4gdGhpcy5fb3V0cHV0cztcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGxpc3Qgb2YgaW5wdXRzLiBBbW91bnRzIGFyZSBleHByZXNzZWQgaW4gYWJzb2x1dGUgdmFsdWUuXG4gICAqL1xuICBnZXQgaW5wdXRzKCk6IEVudHJ5W10ge1xuICAgIHJldHVybiB0aGlzLl9pbnB1dHM7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBsaXN0IG9mIHNpZ25hdHVyZXMgKGlmIGFueSkgcHJvZHVjZWQgZm9yIHRoaXMgdHJhbnNhY3Rpb24uXG4gICAqL1xuICBnZXQgc2lnbmF0dXJlKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5fc2lnbmF0dXJlcztcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBwcml2YXRlIGtleSBjYW4gc2lnbiB0aGlzIHRyYW5zYWN0aW9uIGluIGl0cyBjdXJyZW50IHN0YXRlIG9yIG5vdC4gaXQgaXMgcG9zc2libGVcbiAgICogc29tZSB0cmFuc2FjdGlvbnMgY2FuIG9ubHkgZW5mb3JjZSB0aGlzIGNoZWNrIGFmdGVyIHNvbWUgb3RoZXIgZmllbGRzIGhhdmUgYmVlbiBmaWxsZWQgYWxyZWFkeVxuICAgKiBvciBldmVuIGR1cmluZyBidWlsZCB0aW1lLlxuICAgKlxuICAgKiBAcGFyYW0ge0Jhc2VLZXl9IGtleSBQcml2YXRlIGtleSB0byB2ZXJpZnkgcGVybWlzc2lvbnMgb25cbiAgICogQHJldHVybnMge2Jvb2xlYW59IGZhbHNlIGlmIHRoZSBrZXkgY2Fubm90IHNpZ24gdGhlIHRyYW5zYWN0aW9uIHdpdGhvdXQgYSBkb3VidCwgdHJ1ZSBvdGhlcndpc2VcbiAgICovXG4gIGFic3RyYWN0IGNhblNpZ24oa2V5OiBCYXNlS2V5KTogYm9vbGVhbjtcblxuICAvKipcbiAgICogUmV0dXJuIHRoZSB0cmFuc2FjdGlvbiBpbiBhIGNvaW4gc3BlY2lmaWMgSlNPTiBmb3JtYXQuXG4gICAqL1xuICBhYnN0cmFjdCB0b0pzb24oKTogYW55O1xuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIHRyYW5zYWN0aW9uIGluIGEgZm9ybWF0IGl0IGNhbiBiZSBicm9hZGNhc3RlZCB0byB0aGUgYmxvY2tjaGFpbi5cbiAgICovXG4gIGFic3RyYWN0IHRvQnJvYWRjYXN0Rm9ybWF0KCk6IGFueTtcblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgcG9ydGlvbiBvZiB0aGUgdHJhbnNhY3Rpb24gdGhhdCBuZWVkcyB0byBiZSBzaWduZWQgaW4gQnVmZmVyIGZvcm1hdC5cbiAgICogT25seSBuZWVkZWQgZm9yIGNvaW5zIHRoYXQgc3VwcG9ydCBhZGRpbmcgc2lnbmF0dXJlcyBkaXJlY3RseSAoZS5nLiBUU1MpLlxuICAgKi9cbiAgZ2V0IHNpZ25hYmxlUGF5bG9hZCgpOiBCdWZmZXIge1xuICAgIHRocm93IG5ldyBOb3RJbXBsZW1lbnRlZEVycm9yKCdzaWduYWJsZVBheWxvYWQgbm90IGltcGxlbWVudGVkJyk7XG4gIH1cblxuICAvKipcbiAgICogRXhwbGFpbi9wYXJzZSBhIGdpdmVuIGNvaW4gdHJhbnNhY3Rpb25cbiAgICogVE9ETzogTW92ZSBhbGwgcHJldmlvdXMgZXhwbGFpblRyYW5zYWN0aW9ucyBmcm9tICdjb3JlJyB0byAnYWNjb3VudC1saWInIGZvciBvdGhlciBjb2lucyxcbiAgICogVE9ETzogY29udmVydCB0byBhYnN0cmFjdFxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICBleHBsYWluVHJhbnNhY3Rpb24oKTogYW55IHt9XG59XG4iXX0=
@@ -0,0 +1,128 @@
1
+ /// <reference types="node" />
2
+ import BigNumber from 'bignumber.js';
3
+ import { BaseCoin as CoinConfig } from '@bitgo/statics';
4
+ import { BaseAddress, BaseKey, PublicKey, ValidityWindow } from './iface';
5
+ import { BaseTransaction } from './baseTransaction';
6
+ /**
7
+ * Generic transaction builder to be extended with coin specific logic.
8
+ * Provide a set of default steps (i.e. from, sign, build) and enforces mandatory validations.
9
+ */
10
+ export declare abstract class BaseTransactionBuilder {
11
+ protected _coinConfig: Readonly<CoinConfig>;
12
+ /**
13
+ * Base constructor.
14
+ *
15
+ * @param _coinConfig BaseCoin from statics library
16
+ */
17
+ protected constructor(_coinConfig: Readonly<CoinConfig>);
18
+ /**
19
+ * Parse a transaction based on existing data. The input format is determined by the coin
20
+ * extending this class. Some examples are hex, base64, or JSON.
21
+ *
22
+ * @param rawTransaction A raw transaction to be parsed
23
+ */
24
+ from(rawTransaction: any): void;
25
+ /**
26
+ * Coin specific implementation of {@code from}.
27
+ *
28
+ * @see {@link from}
29
+ * @returns the parsed coin specific transaction object
30
+ */
31
+ protected abstract fromImplementation(rawTransaction: any): BaseTransaction;
32
+ /**
33
+ * Validate keys and sign the transaction.
34
+ *
35
+ * @param key One of the keys associated with this transaction
36
+ */
37
+ sign(key: BaseKey): void;
38
+ /**
39
+ * Adds a signature to the transaction.
40
+ *
41
+ * @param publicKey public key that produced the signature
42
+ * @param signature raw signature as a hex encoded Buffer
43
+ */
44
+ addSignature(publicKey: PublicKey, signature: Buffer): void;
45
+ /**
46
+ * Coin specific implementation of {@code sign}.
47
+ *
48
+ * @see {@link sign}
49
+ * @returns coin specific transaction with signature data
50
+ */
51
+ protected abstract signImplementation(key: BaseKey): BaseTransaction;
52
+ /**
53
+ * Finalize the transaction by performing any extra step like calculating hashes, verifying
54
+ * integrity, or adding default values.
55
+ *
56
+ * @returns valid coin specific transaction (signed or unsigned)
57
+ */
58
+ build(): Promise<BaseTransaction>;
59
+ /**
60
+ * Coin specific implementation of {@code build}.
61
+ *
62
+ * @see {@link build}
63
+ * @returns valid coin specific transaction (signed or unsigned)
64
+ */
65
+ protected abstract buildImplementation(): Promise<BaseTransaction>;
66
+ /**
67
+ * Check the private key is present and is valid in the blockchain context, throw otherwise.
68
+ *
69
+ * @param {BaseKey} key Private key to validate
70
+ */
71
+ abstract validateKey(key: BaseKey): void;
72
+ /**
73
+ * Check the address provided is valid in the blockchain context, throw otherwise.
74
+ *
75
+ * @param address Address data to be validated
76
+ * @param addressFormat The format the address should be in if more than one is supported
77
+ */
78
+ abstract validateAddress(address: BaseAddress, addressFormat?: string): void;
79
+ /**
80
+ * Check the amount provided is valid in the blockchain context, throw otherwise.
81
+ *
82
+ * @param {BigNumber} value Transaction amount
83
+ */
84
+ abstract validateValue(value: BigNumber): void;
85
+ /**
86
+ * Check the raw transaction has a valid format in the blockchain context, throw otherwise.
87
+ *
88
+ * @param rawTransaction Transaction in any format
89
+ */
90
+ abstract validateRawTransaction(rawTransaction: any): void;
91
+ /**
92
+ * Check the transaction mandatory fields per transaction type and ensures it is valid, throw
93
+ * otherwise.
94
+ *
95
+ * @param {BaseTransaction} transaction
96
+ */
97
+ abstract validateTransaction(transaction?: BaseTransaction): void;
98
+ /**
99
+ * Get the underlying coin full name as specified in the statics library.
100
+ */
101
+ displayName(): string;
102
+ /**
103
+ * Get the underlying coin full name as specified in the statics library.
104
+ */
105
+ coinName(): string;
106
+ /**
107
+ * Verified validity windows params if them exist and return a valid validity windows.
108
+ * Unit param must be specified
109
+ * If params are not consistent, default params will be return based on firstValid and minDuration
110
+ * @param {ValidityWindow} params validity windows parameters to validate.
111
+ * @param {String} params.unit Parameter that could be 'blockheight' or 'timestamp'
112
+ * @param {Number} [params.minDuration] Optional - Minimum duration of the window
113
+ * @param {Number} [params.maxDuration] Optional - Maximum duration of the window
114
+ * @param {Number} [params.firstValid] Optional - First valid value
115
+ * @param {Number} [params.lastValid] Optional - Last valid value
116
+ * @returns {ValidityWindow} verified validity windows or default values
117
+ */
118
+ getValidityWindow(params: ValidityWindow): ValidityWindow;
119
+ /**
120
+ * Get the transaction being built.
121
+ */
122
+ protected abstract get transaction(): BaseTransaction;
123
+ /**
124
+ * Set the transaction being built.
125
+ */
126
+ protected abstract set transaction(transaction: BaseTransaction);
127
+ }
128
+ //# sourceMappingURL=baseTransactionBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseTransactionBuilder.d.ts","sourceRoot":"","sources":["../../../../src/coin/baseCoin/baseTransactionBuilder.ts"],"names":[],"mappings":";AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD;;;GAGG;AACH,8BAAsB,sBAAsB;IAC1C,SAAS,CAAC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC5C;;;;OAIG;IACH,SAAS,aAAa,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAIvD;;;;;OAKG;IACH,IAAI,CAAC,cAAc,EAAE,GAAG,GAAG,IAAI;IAK/B;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,cAAc,EAAE,GAAG,GAAG,eAAe;IAE3E;;;;OAIG;IACH,IAAI,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IASxB;;;;;OAKG;IACH,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAI3D;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,eAAe;IAEpE;;;;;OAKG;IACG,KAAK,IAAI,OAAO,CAAC,eAAe,CAAC;IAKvC;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,CAAC,mBAAmB,IAAI,OAAO,CAAC,eAAe,CAAC;IAElE;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAExC;;;;;OAKG;IACH,QAAQ,CAAC,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI;IAE5E;;;;OAIG;IACH,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAE9C;;;;OAIG;IACH,QAAQ,CAAC,sBAAsB,CAAC,cAAc,EAAE,GAAG,GAAG,IAAI;IAE1D;;;;;OAKG;IACH,QAAQ,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE,eAAe,GAAG,IAAI;IAEjE;;OAEG;IACH,WAAW,IAAI,MAAM;IAIrB;;OAEG;IACH,QAAQ,IAAI,MAAM;IAIlB;;;;;;;;;;;OAWG;IACH,iBAAiB,CAAC,MAAM,EAAE,cAAc,GAAG,cAAc;IAyDzD;;OAEG;IACH,SAAS,CAAC,QAAQ,KAAK,WAAW,IAAI,eAAe,CAAC;IAEtD;;OAEG;IACH,SAAS,CAAC,QAAQ,KAAK,WAAW,CAAC,WAAW,EAAE,eAAe,EAAE;CAClE"}
@@ -0,0 +1,179 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.BaseTransactionBuilder = void 0;
40
+ var errors_1 = require("./errors");
41
+ /**
42
+ * Generic transaction builder to be extended with coin specific logic.
43
+ * Provide a set of default steps (i.e. from, sign, build) and enforces mandatory validations.
44
+ */
45
+ var BaseTransactionBuilder = /** @class */ (function () {
46
+ /**
47
+ * Base constructor.
48
+ *
49
+ * @param _coinConfig BaseCoin from statics library
50
+ */
51
+ function BaseTransactionBuilder(_coinConfig) {
52
+ this._coinConfig = _coinConfig;
53
+ }
54
+ /**
55
+ * Parse a transaction based on existing data. The input format is determined by the coin
56
+ * extending this class. Some examples are hex, base64, or JSON.
57
+ *
58
+ * @param rawTransaction A raw transaction to be parsed
59
+ */
60
+ BaseTransactionBuilder.prototype.from = function (rawTransaction) {
61
+ this.validateRawTransaction(rawTransaction);
62
+ this.transaction = this.fromImplementation(rawTransaction);
63
+ };
64
+ /**
65
+ * Validate keys and sign the transaction.
66
+ *
67
+ * @param key One of the keys associated with this transaction
68
+ */
69
+ BaseTransactionBuilder.prototype.sign = function (key) {
70
+ this.validateKey(key);
71
+ if (!this.transaction.canSign(key)) {
72
+ throw new errors_1.SigningError('Private key cannot sign the transaction');
73
+ }
74
+ this.transaction = this.signImplementation(key);
75
+ };
76
+ /**
77
+ * Adds a signature to the transaction.
78
+ *
79
+ * @param publicKey public key that produced the signature
80
+ * @param signature raw signature as a hex encoded Buffer
81
+ */
82
+ BaseTransactionBuilder.prototype.addSignature = function (publicKey, signature) {
83
+ throw new errors_1.SigningError(this.coinName() + " does not support adding signatures directly.");
84
+ };
85
+ /**
86
+ * Finalize the transaction by performing any extra step like calculating hashes, verifying
87
+ * integrity, or adding default values.
88
+ *
89
+ * @returns valid coin specific transaction (signed or unsigned)
90
+ */
91
+ BaseTransactionBuilder.prototype.build = function () {
92
+ return __awaiter(this, void 0, void 0, function () {
93
+ return __generator(this, function (_a) {
94
+ this.validateTransaction(this.transaction);
95
+ return [2 /*return*/, this.buildImplementation()];
96
+ });
97
+ });
98
+ };
99
+ /**
100
+ * Get the underlying coin full name as specified in the statics library.
101
+ */
102
+ BaseTransactionBuilder.prototype.displayName = function () {
103
+ return this._coinConfig.fullName;
104
+ };
105
+ /**
106
+ * Get the underlying coin full name as specified in the statics library.
107
+ */
108
+ BaseTransactionBuilder.prototype.coinName = function () {
109
+ return this._coinConfig.name;
110
+ };
111
+ /**
112
+ * Verified validity windows params if them exist and return a valid validity windows.
113
+ * Unit param must be specified
114
+ * If params are not consistent, default params will be return based on firstValid and minDuration
115
+ * @param {ValidityWindow} params validity windows parameters to validate.
116
+ * @param {String} params.unit Parameter that could be 'blockheight' or 'timestamp'
117
+ * @param {Number} [params.minDuration] Optional - Minimum duration of the window
118
+ * @param {Number} [params.maxDuration] Optional - Maximum duration of the window
119
+ * @param {Number} [params.firstValid] Optional - First valid value
120
+ * @param {Number} [params.lastValid] Optional - Last valid value
121
+ * @returns {ValidityWindow} verified validity windows or default values
122
+ */
123
+ BaseTransactionBuilder.prototype.getValidityWindow = function (params) {
124
+ if (!params.unit || (params.unit !== 'timestamp' && params.unit !== 'blockheight')) {
125
+ throw new Error('Unit parameter must be specified as blockheight or timestamp');
126
+ }
127
+ var unit = params.unit;
128
+ var defaultMinDuration;
129
+ var defaultMaxDuration;
130
+ var defaultFirstValid;
131
+ var defaultLastValid;
132
+ /* Set Default Params
133
+ minimum duration is set as 1 hr (3600000 msec) if unit is timestamp or 20 blocks if it is blockheight
134
+ maximum duration is set as 1 year (31536000000 msec) if unit is timestamp or 1000000 blocks if it is blockheight.
135
+ */
136
+ if (unit === 'timestamp') {
137
+ defaultMinDuration = 0;
138
+ defaultMaxDuration = 31536000000;
139
+ defaultFirstValid = Date.now();
140
+ defaultLastValid = defaultFirstValid + defaultMaxDuration;
141
+ }
142
+ else {
143
+ defaultMinDuration = 0;
144
+ defaultMaxDuration = 1000000;
145
+ defaultFirstValid = 0;
146
+ defaultLastValid = defaultFirstValid + defaultMaxDuration;
147
+ }
148
+ // If any params exist, they will be used, otherwise it will be used default params.
149
+ var firstValid = params.firstValid || defaultFirstValid;
150
+ var lastValid = params.lastValid || defaultLastValid;
151
+ var minDuration = params.minDuration || defaultMinDuration;
152
+ var maxDuration = params.maxDuration || defaultMaxDuration;
153
+ /* Validate Params:
154
+ minDuration < maxDuration
155
+ firstValid < lastValid
156
+ firstValid + minDuration <= lastValid <= firstValid + maxDuration
157
+ */
158
+ if (minDuration >= maxDuration) {
159
+ throw new Error("Expected maxDuration (" + maxDuration + ") to be grather than minDuration (" + minDuration + ")");
160
+ }
161
+ firstValid = firstValid >= 0 ? firstValid : defaultFirstValid;
162
+ minDuration = minDuration >= 0 ? minDuration : defaultMinDuration;
163
+ maxDuration = maxDuration > minDuration ? maxDuration : defaultMaxDuration;
164
+ lastValid =
165
+ lastValid >= firstValid + minDuration && lastValid <= firstValid + maxDuration
166
+ ? lastValid
167
+ : firstValid + maxDuration;
168
+ return {
169
+ firstValid: firstValid,
170
+ lastValid: lastValid,
171
+ minDuration: minDuration,
172
+ maxDuration: maxDuration,
173
+ unit: unit,
174
+ };
175
+ };
176
+ return BaseTransactionBuilder;
177
+ }());
178
+ exports.BaseTransactionBuilder = BaseTransactionBuilder;
179
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZVRyYW5zYWN0aW9uQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb2luL2Jhc2VDb2luL2Jhc2VUcmFuc2FjdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBSUEsbUNBQXdDO0FBRXhDOzs7R0FHRztBQUNIO0lBRUU7Ozs7T0FJRztJQUNILGdDQUFzQixXQUFpQztRQUNyRCxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxxQ0FBSSxHQUFKLFVBQUssY0FBbUI7UUFDdEIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFVRDs7OztPQUlHO0lBQ0gscUNBQUksR0FBSixVQUFLLEdBQVk7UUFDZixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNsQyxNQUFNLElBQUkscUJBQVksQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO1NBQ25FO1FBRUQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsNkNBQVksR0FBWixVQUFhLFNBQW9CLEVBQUUsU0FBaUI7UUFDbEQsTUFBTSxJQUFJLHFCQUFZLENBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxrREFBK0MsQ0FBQyxDQUFDO0lBQzVGLENBQUM7SUFVRDs7Ozs7T0FLRztJQUNHLHNDQUFLLEdBQVg7OztnQkFDRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUMzQyxzQkFBTyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsRUFBQzs7O0tBQ25DO0lBK0NEOztPQUVHO0lBQ0gsNENBQVcsR0FBWDtRQUNFLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUM7SUFDbkMsQ0FBQztJQUVEOztPQUVHO0lBQ0gseUNBQVEsR0FBUjtRQUNFLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7SUFDL0IsQ0FBQztJQUVEOzs7Ozs7Ozs7OztPQVdHO0lBQ0gsa0RBQWlCLEdBQWpCLFVBQWtCLE1BQXNCO1FBQ3RDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxXQUFXLElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxhQUFhLENBQUMsRUFBRTtZQUNsRixNQUFNLElBQUksS0FBSyxDQUFDLDhEQUE4RCxDQUFDLENBQUM7U0FDakY7UUFDRCxJQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ3pCLElBQUksa0JBQTBCLENBQUM7UUFDL0IsSUFBSSxrQkFBMEIsQ0FBQztRQUMvQixJQUFJLGlCQUF5QixDQUFDO1FBQzlCLElBQUksZ0JBQXdCLENBQUM7UUFFN0I7OztXQUdHO1FBQ0gsSUFBSSxJQUFJLEtBQUssV0FBVyxFQUFFO1lBQ3hCLGtCQUFrQixHQUFHLENBQUMsQ0FBQztZQUN2QixrQkFBa0IsR0FBRyxXQUFXLENBQUM7WUFDakMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQy9CLGdCQUFnQixHQUFHLGlCQUFpQixHQUFHLGtCQUFrQixDQUFDO1NBQzNEO2FBQU07WUFDTCxrQkFBa0IsR0FBRyxDQUFDLENBQUM7WUFDdkIsa0JBQWtCLEdBQUcsT0FBTyxDQUFDO1lBQzdCLGlCQUFpQixHQUFHLENBQUMsQ0FBQztZQUN0QixnQkFBZ0IsR0FBRyxpQkFBaUIsR0FBRyxrQkFBa0IsQ0FBQztTQUMzRDtRQUVELG9GQUFvRjtRQUNwRixJQUFJLFVBQVUsR0FBVyxNQUFNLENBQUMsVUFBVSxJQUFJLGlCQUFpQixDQUFDO1FBQ2hFLElBQUksU0FBUyxHQUFXLE1BQU0sQ0FBQyxTQUFTLElBQUksZ0JBQWdCLENBQUM7UUFDN0QsSUFBSSxXQUFXLEdBQVcsTUFBTSxDQUFDLFdBQVcsSUFBSSxrQkFBa0IsQ0FBQztRQUNuRSxJQUFJLFdBQVcsR0FBVyxNQUFNLENBQUMsV0FBVyxJQUFJLGtCQUFrQixDQUFDO1FBRW5FOzs7O1dBSUc7UUFDSCxJQUFJLFdBQVcsSUFBSSxXQUFXLEVBQUU7WUFDOUIsTUFBTSxJQUFJLEtBQUssQ0FBQywyQkFBeUIsV0FBVywwQ0FBcUMsV0FBVyxNQUFHLENBQUMsQ0FBQztTQUMxRztRQUNELFVBQVUsR0FBRyxVQUFVLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDO1FBQzlELFdBQVcsR0FBRyxXQUFXLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDO1FBQ2xFLFdBQVcsR0FBRyxXQUFXLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDO1FBQzNFLFNBQVM7WUFDUCxTQUFTLElBQUksVUFBVSxHQUFHLFdBQVcsSUFBSSxTQUFTLElBQUksVUFBVSxHQUFHLFdBQVc7Z0JBQzVFLENBQUMsQ0FBQyxTQUFTO2dCQUNYLENBQUMsQ0FBQyxVQUFVLEdBQUcsV0FBVyxDQUFDO1FBRS9CLE9BQU87WUFDTCxVQUFVLFlBQUE7WUFDVixTQUFTLFdBQUE7WUFDVCxXQUFXLGFBQUE7WUFDWCxXQUFXLGFBQUE7WUFDWCxJQUFJLE1BQUE7U0FDTCxDQUFDO0lBQ0osQ0FBQztJQVdILDZCQUFDO0FBQUQsQ0FBQyxBQWxORCxJQWtOQztBQWxOcUIsd0RBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEJpZ051bWJlciBmcm9tICdiaWdudW1iZXIuanMnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcbmltcG9ydCB7IEJhc2VBZGRyZXNzLCBCYXNlS2V5LCBQdWJsaWNLZXksIFZhbGlkaXR5V2luZG93IH0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBCYXNlVHJhbnNhY3Rpb24gfSBmcm9tICcuL2Jhc2VUcmFuc2FjdGlvbic7XG5pbXBvcnQgeyBTaWduaW5nRXJyb3IgfSBmcm9tICcuL2Vycm9ycyc7XG5cbi8qKlxuICogR2VuZXJpYyB0cmFuc2FjdGlvbiBidWlsZGVyIHRvIGJlIGV4dGVuZGVkIHdpdGggY29pbiBzcGVjaWZpYyBsb2dpYy5cbiAqIFByb3ZpZGUgYSBzZXQgb2YgZGVmYXVsdCBzdGVwcyAoaS5lLiBmcm9tLCBzaWduLCBidWlsZCkgYW5kIGVuZm9yY2VzIG1hbmRhdG9yeSB2YWxpZGF0aW9ucy5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICBwcm90ZWN0ZWQgX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+O1xuICAvKipcbiAgICogQmFzZSBjb25zdHJ1Y3Rvci5cbiAgICpcbiAgICogQHBhcmFtIF9jb2luQ29uZmlnIEJhc2VDb2luIGZyb20gc3RhdGljcyBsaWJyYXJ5XG4gICAqL1xuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgdGhpcy5fY29pbkNvbmZpZyA9IF9jb2luQ29uZmlnO1xuICB9XG5cbiAgLyoqXG4gICAqIFBhcnNlIGEgdHJhbnNhY3Rpb24gYmFzZWQgb24gZXhpc3RpbmcgZGF0YS4gVGhlIGlucHV0IGZvcm1hdCBpcyBkZXRlcm1pbmVkIGJ5IHRoZSBjb2luXG4gICAqIGV4dGVuZGluZyB0aGlzIGNsYXNzLiBTb21lIGV4YW1wbGVzIGFyZSBoZXgsIGJhc2U2NCwgb3IgSlNPTi5cbiAgICpcbiAgICogQHBhcmFtIHJhd1RyYW5zYWN0aW9uIEEgcmF3IHRyYW5zYWN0aW9uIHRvIGJlIHBhcnNlZFxuICAgKi9cbiAgZnJvbShyYXdUcmFuc2FjdGlvbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy52YWxpZGF0ZVJhd1RyYW5zYWN0aW9uKHJhd1RyYW5zYWN0aW9uKTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uID0gdGhpcy5mcm9tSW1wbGVtZW50YXRpb24ocmF3VHJhbnNhY3Rpb24pO1xuICB9XG5cbiAgLyoqXG4gICAqIENvaW4gc3BlY2lmaWMgaW1wbGVtZW50YXRpb24gb2Yge0Bjb2RlIGZyb219LlxuICAgKlxuICAgKiBAc2VlIHtAbGluayBmcm9tfVxuICAgKiBAcmV0dXJucyB0aGUgcGFyc2VkIGNvaW4gc3BlY2lmaWMgdHJhbnNhY3Rpb24gb2JqZWN0XG4gICAqL1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZnJvbUltcGxlbWVudGF0aW9uKHJhd1RyYW5zYWN0aW9uOiBhbnkpOiBCYXNlVHJhbnNhY3Rpb247XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlIGtleXMgYW5kIHNpZ24gdGhlIHRyYW5zYWN0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0ga2V5IE9uZSBvZiB0aGUga2V5cyBhc3NvY2lhdGVkIHdpdGggdGhpcyB0cmFuc2FjdGlvblxuICAgKi9cbiAgc2lnbihrZXk6IEJhc2VLZXkpOiB2b2lkIHtcbiAgICB0aGlzLnZhbGlkYXRlS2V5KGtleSk7XG4gICAgaWYgKCF0aGlzLnRyYW5zYWN0aW9uLmNhblNpZ24oa2V5KSkge1xuICAgICAgdGhyb3cgbmV3IFNpZ25pbmdFcnJvcignUHJpdmF0ZSBrZXkgY2Fubm90IHNpZ24gdGhlIHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuXG4gICAgdGhpcy50cmFuc2FjdGlvbiA9IHRoaXMuc2lnbkltcGxlbWVudGF0aW9uKGtleSk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHNpZ25hdHVyZSB0byB0aGUgdHJhbnNhY3Rpb24uXG4gICAqXG4gICAqIEBwYXJhbSBwdWJsaWNLZXkgcHVibGljIGtleSB0aGF0IHByb2R1Y2VkIHRoZSBzaWduYXR1cmVcbiAgICogQHBhcmFtIHNpZ25hdHVyZSByYXcgc2lnbmF0dXJlIGFzIGEgaGV4IGVuY29kZWQgQnVmZmVyXG4gICAqL1xuICBhZGRTaWduYXR1cmUocHVibGljS2V5OiBQdWJsaWNLZXksIHNpZ25hdHVyZTogQnVmZmVyKTogdm9pZCB7XG4gICAgdGhyb3cgbmV3IFNpZ25pbmdFcnJvcihgJHt0aGlzLmNvaW5OYW1lKCl9IGRvZXMgbm90IHN1cHBvcnQgYWRkaW5nIHNpZ25hdHVyZXMgZGlyZWN0bHkuYCk7XG4gIH1cblxuICAvKipcbiAgICogQ29pbiBzcGVjaWZpYyBpbXBsZW1lbnRhdGlvbiBvZiB7QGNvZGUgc2lnbn0uXG4gICAqXG4gICAqIEBzZWUge0BsaW5rIHNpZ259XG4gICAqIEByZXR1cm5zIGNvaW4gc3BlY2lmaWMgdHJhbnNhY3Rpb24gd2l0aCBzaWduYXR1cmUgZGF0YVxuICAgKi9cbiAgcHJvdGVjdGVkIGFic3RyYWN0IHNpZ25JbXBsZW1lbnRhdGlvbihrZXk6IEJhc2VLZXkpOiBCYXNlVHJhbnNhY3Rpb247XG5cbiAgLyoqXG4gICAqIEZpbmFsaXplIHRoZSB0cmFuc2FjdGlvbiBieSBwZXJmb3JtaW5nIGFueSBleHRyYSBzdGVwIGxpa2UgY2FsY3VsYXRpbmcgaGFzaGVzLCB2ZXJpZnlpbmdcbiAgICogaW50ZWdyaXR5LCBvciBhZGRpbmcgZGVmYXVsdCB2YWx1ZXMuXG4gICAqXG4gICAqIEByZXR1cm5zIHZhbGlkIGNvaW4gc3BlY2lmaWMgdHJhbnNhY3Rpb24gKHNpZ25lZCBvciB1bnNpZ25lZClcbiAgICovXG4gIGFzeW5jIGJ1aWxkKCk6IFByb21pc2U8QmFzZVRyYW5zYWN0aW9uPiB7XG4gICAgdGhpcy52YWxpZGF0ZVRyYW5zYWN0aW9uKHRoaXMudHJhbnNhY3Rpb24pO1xuICAgIHJldHVybiB0aGlzLmJ1aWxkSW1wbGVtZW50YXRpb24oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb2luIHNwZWNpZmljIGltcGxlbWVudGF0aW9uIG9mIHtAY29kZSBidWlsZH0uXG4gICAqXG4gICAqIEBzZWUge0BsaW5rIGJ1aWxkfVxuICAgKiBAcmV0dXJucyB2YWxpZCBjb2luIHNwZWNpZmljIHRyYW5zYWN0aW9uIChzaWduZWQgb3IgdW5zaWduZWQpXG4gICAqL1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgYnVpbGRJbXBsZW1lbnRhdGlvbigpOiBQcm9taXNlPEJhc2VUcmFuc2FjdGlvbj47XG5cbiAgLyoqXG4gICAqIENoZWNrIHRoZSBwcml2YXRlIGtleSBpcyBwcmVzZW50IGFuZCBpcyB2YWxpZCBpbiB0aGUgYmxvY2tjaGFpbiBjb250ZXh0LCB0aHJvdyBvdGhlcndpc2UuXG4gICAqXG4gICAqIEBwYXJhbSB7QmFzZUtleX0ga2V5IFByaXZhdGUga2V5IHRvIHZhbGlkYXRlXG4gICAqL1xuICBhYnN0cmFjdCB2YWxpZGF0ZUtleShrZXk6IEJhc2VLZXkpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBDaGVjayB0aGUgYWRkcmVzcyBwcm92aWRlZCBpcyB2YWxpZCBpbiB0aGUgYmxvY2tjaGFpbiBjb250ZXh0LCB0aHJvdyBvdGhlcndpc2UuXG4gICAqXG4gICAqIEBwYXJhbSBhZGRyZXNzIEFkZHJlc3MgZGF0YSB0byBiZSB2YWxpZGF0ZWRcbiAgICogQHBhcmFtIGFkZHJlc3NGb3JtYXQgVGhlIGZvcm1hdCB0aGUgYWRkcmVzcyBzaG91bGQgYmUgaW4gaWYgbW9yZSB0aGFuIG9uZSBpcyBzdXBwb3J0ZWRcbiAgICovXG4gIGFic3RyYWN0IHZhbGlkYXRlQWRkcmVzcyhhZGRyZXNzOiBCYXNlQWRkcmVzcywgYWRkcmVzc0Zvcm1hdD86IHN0cmluZyk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIENoZWNrIHRoZSBhbW91bnQgcHJvdmlkZWQgaXMgdmFsaWQgaW4gdGhlIGJsb2NrY2hhaW4gY29udGV4dCwgdGhyb3cgb3RoZXJ3aXNlLlxuICAgKlxuICAgKiBAcGFyYW0ge0JpZ051bWJlcn0gdmFsdWUgVHJhbnNhY3Rpb24gYW1vdW50XG4gICAqL1xuICBhYnN0cmFjdCB2YWxpZGF0ZVZhbHVlKHZhbHVlOiBCaWdOdW1iZXIpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBDaGVjayB0aGUgcmF3IHRyYW5zYWN0aW9uIGhhcyBhIHZhbGlkIGZvcm1hdCBpbiB0aGUgYmxvY2tjaGFpbiBjb250ZXh0LCB0aHJvdyBvdGhlcndpc2UuXG4gICAqXG4gICAqIEBwYXJhbSByYXdUcmFuc2FjdGlvbiBUcmFuc2FjdGlvbiBpbiBhbnkgZm9ybWF0XG4gICAqL1xuICBhYnN0cmFjdCB2YWxpZGF0ZVJhd1RyYW5zYWN0aW9uKHJhd1RyYW5zYWN0aW9uOiBhbnkpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBDaGVjayB0aGUgdHJhbnNhY3Rpb24gbWFuZGF0b3J5IGZpZWxkcyBwZXIgdHJhbnNhY3Rpb24gdHlwZSBhbmQgZW5zdXJlcyBpdCBpcyB2YWxpZCwgdGhyb3dcbiAgICogb3RoZXJ3aXNlLlxuICAgKlxuICAgKiBAcGFyYW0ge0Jhc2VUcmFuc2FjdGlvbn0gdHJhbnNhY3Rpb25cbiAgICovXG4gIGFic3RyYWN0IHZhbGlkYXRlVHJhbnNhY3Rpb24odHJhbnNhY3Rpb24/OiBCYXNlVHJhbnNhY3Rpb24pOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHVuZGVybHlpbmcgY29pbiBmdWxsIG5hbWUgYXMgc3BlY2lmaWVkIGluIHRoZSBzdGF0aWNzIGxpYnJhcnkuXG4gICAqL1xuICBkaXNwbGF5TmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9jb2luQ29uZmlnLmZ1bGxOYW1lO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgdW5kZXJseWluZyBjb2luIGZ1bGwgbmFtZSBhcyBzcGVjaWZpZWQgaW4gdGhlIHN0YXRpY3MgbGlicmFyeS5cbiAgICovXG4gIGNvaW5OYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2NvaW5Db25maWcubmFtZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWZXJpZmllZCB2YWxpZGl0eSB3aW5kb3dzIHBhcmFtcyBpZiB0aGVtIGV4aXN0IGFuZCByZXR1cm4gYSB2YWxpZCB2YWxpZGl0eSB3aW5kb3dzLlxuICAgKiBVbml0IHBhcmFtIG11c3QgYmUgc3BlY2lmaWVkXG4gICAqIElmIHBhcmFtcyBhcmUgbm90IGNvbnNpc3RlbnQsIGRlZmF1bHQgcGFyYW1zIHdpbGwgYmUgcmV0dXJuIGJhc2VkIG9uIGZpcnN0VmFsaWQgYW5kIG1pbkR1cmF0aW9uXG4gICAqIEBwYXJhbSB7VmFsaWRpdHlXaW5kb3d9IHBhcmFtcyB2YWxpZGl0eSB3aW5kb3dzIHBhcmFtZXRlcnMgdG8gdmFsaWRhdGUuXG4gICAqIEBwYXJhbSB7U3RyaW5nfSBwYXJhbXMudW5pdCBQYXJhbWV0ZXIgdGhhdCBjb3VsZCBiZSAnYmxvY2toZWlnaHQnIG9yICd0aW1lc3RhbXAnXG4gICAqIEBwYXJhbSB7TnVtYmVyfSBbcGFyYW1zLm1pbkR1cmF0aW9uXSBPcHRpb25hbCAtIE1pbmltdW0gZHVyYXRpb24gb2YgdGhlIHdpbmRvd1xuICAgKiBAcGFyYW0ge051bWJlcn0gW3BhcmFtcy5tYXhEdXJhdGlvbl0gT3B0aW9uYWwgLSBNYXhpbXVtIGR1cmF0aW9uIG9mIHRoZSB3aW5kb3dcbiAgICogQHBhcmFtIHtOdW1iZXJ9IFtwYXJhbXMuZmlyc3RWYWxpZF0gT3B0aW9uYWwgLSBGaXJzdCB2YWxpZCB2YWx1ZVxuICAgKiBAcGFyYW0ge051bWJlcn0gW3BhcmFtcy5sYXN0VmFsaWRdIE9wdGlvbmFsIC0gTGFzdCB2YWxpZCB2YWx1ZVxuICAgKiBAcmV0dXJucyB7VmFsaWRpdHlXaW5kb3d9IHZlcmlmaWVkIHZhbGlkaXR5IHdpbmRvd3Mgb3IgZGVmYXVsdCB2YWx1ZXNcbiAgICovXG4gIGdldFZhbGlkaXR5V2luZG93KHBhcmFtczogVmFsaWRpdHlXaW5kb3cpOiBWYWxpZGl0eVdpbmRvdyB7XG4gICAgaWYgKCFwYXJhbXMudW5pdCB8fCAocGFyYW1zLnVuaXQgIT09ICd0aW1lc3RhbXAnICYmIHBhcmFtcy51bml0ICE9PSAnYmxvY2toZWlnaHQnKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbml0IHBhcmFtZXRlciBtdXN0IGJlIHNwZWNpZmllZCBhcyBibG9ja2hlaWdodCBvciB0aW1lc3RhbXAnKTtcbiAgICB9XG4gICAgY29uc3QgdW5pdCA9IHBhcmFtcy51bml0O1xuICAgIGxldCBkZWZhdWx0TWluRHVyYXRpb246IG51bWJlcjtcbiAgICBsZXQgZGVmYXVsdE1heER1cmF0aW9uOiBudW1iZXI7XG4gICAgbGV0IGRlZmF1bHRGaXJzdFZhbGlkOiBudW1iZXI7XG4gICAgbGV0IGRlZmF1bHRMYXN0VmFsaWQ6IG51bWJlcjtcblxuICAgIC8qIFNldCBEZWZhdWx0IFBhcmFtc1xuICAgICAgbWluaW11bSBkdXJhdGlvbiBpcyBzZXQgYXMgMSBociAoMzYwMDAwMCBtc2VjKSBpZiB1bml0IGlzIHRpbWVzdGFtcCBvciAyMCBibG9ja3MgaWYgaXQgaXMgYmxvY2toZWlnaHRcbiAgICAgIG1heGltdW0gZHVyYXRpb24gaXMgc2V0IGFzIDEgeWVhciAoMzE1MzYwMDAwMDAgbXNlYykgaWYgdW5pdCBpcyB0aW1lc3RhbXAgb3IgMTAwMDAwMCBibG9ja3MgaWYgaXQgaXMgYmxvY2toZWlnaHQuXG4gICAgICovXG4gICAgaWYgKHVuaXQgPT09ICd0aW1lc3RhbXAnKSB7XG4gICAgICBkZWZhdWx0TWluRHVyYXRpb24gPSAwO1xuICAgICAgZGVmYXVsdE1heER1cmF0aW9uID0gMzE1MzYwMDAwMDA7XG4gICAgICBkZWZhdWx0Rmlyc3RWYWxpZCA9IERhdGUubm93KCk7XG4gICAgICBkZWZhdWx0TGFzdFZhbGlkID0gZGVmYXVsdEZpcnN0VmFsaWQgKyBkZWZhdWx0TWF4RHVyYXRpb247XG4gICAgfSBlbHNlIHtcbiAgICAgIGRlZmF1bHRNaW5EdXJhdGlvbiA9IDA7XG4gICAgICBkZWZhdWx0TWF4RHVyYXRpb24gPSAxMDAwMDAwO1xuICAgICAgZGVmYXVsdEZpcnN0VmFsaWQgPSAwO1xuICAgICAgZGVmYXVsdExhc3RWYWxpZCA9IGRlZmF1bHRGaXJzdFZhbGlkICsgZGVmYXVsdE1heER1cmF0aW9uO1xuICAgIH1cblxuICAgIC8vIElmIGFueSBwYXJhbXMgZXhpc3QsIHRoZXkgd2lsbCBiZSB1c2VkLCBvdGhlcndpc2UgaXQgd2lsbCBiZSB1c2VkIGRlZmF1bHQgcGFyYW1zLlxuICAgIGxldCBmaXJzdFZhbGlkOiBudW1iZXIgPSBwYXJhbXMuZmlyc3RWYWxpZCB8fCBkZWZhdWx0Rmlyc3RWYWxpZDtcbiAgICBsZXQgbGFzdFZhbGlkOiBudW1iZXIgPSBwYXJhbXMubGFzdFZhbGlkIHx8IGRlZmF1bHRMYXN0VmFsaWQ7XG4gICAgbGV0IG1pbkR1cmF0aW9uOiBudW1iZXIgPSBwYXJhbXMubWluRHVyYXRpb24gfHwgZGVmYXVsdE1pbkR1cmF0aW9uO1xuICAgIGxldCBtYXhEdXJhdGlvbjogbnVtYmVyID0gcGFyYW1zLm1heER1cmF0aW9uIHx8IGRlZmF1bHRNYXhEdXJhdGlvbjtcblxuICAgIC8qIFZhbGlkYXRlIFBhcmFtczpcbiAgICAgIG1pbkR1cmF0aW9uIDwgbWF4RHVyYXRpb25cbiAgICAgIGZpcnN0VmFsaWQgPCBsYXN0VmFsaWRcbiAgICAgIGZpcnN0VmFsaWQgKyBtaW5EdXJhdGlvbiA8PSBsYXN0VmFsaWQgPD0gZmlyc3RWYWxpZCArIG1heER1cmF0aW9uXG4gICAgICovXG4gICAgaWYgKG1pbkR1cmF0aW9uID49IG1heER1cmF0aW9uKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEV4cGVjdGVkIG1heER1cmF0aW9uICgke21heER1cmF0aW9ufSkgdG8gYmUgZ3JhdGhlciB0aGFuIG1pbkR1cmF0aW9uICgke21pbkR1cmF0aW9ufSlgKTtcbiAgICB9XG4gICAgZmlyc3RWYWxpZCA9IGZpcnN0VmFsaWQgPj0gMCA/IGZpcnN0VmFsaWQgOiBkZWZhdWx0Rmlyc3RWYWxpZDtcbiAgICBtaW5EdXJhdGlvbiA9IG1pbkR1cmF0aW9uID49IDAgPyBtaW5EdXJhdGlvbiA6IGRlZmF1bHRNaW5EdXJhdGlvbjtcbiAgICBtYXhEdXJhdGlvbiA9IG1heER1cmF0aW9uID4gbWluRHVyYXRpb24gPyBtYXhEdXJhdGlvbiA6IGRlZmF1bHRNYXhEdXJhdGlvbjtcbiAgICBsYXN0VmFsaWQgPVxuICAgICAgbGFzdFZhbGlkID49IGZpcnN0VmFsaWQgKyBtaW5EdXJhdGlvbiAmJiBsYXN0VmFsaWQgPD0gZmlyc3RWYWxpZCArIG1heER1cmF0aW9uXG4gICAgICAgID8gbGFzdFZhbGlkXG4gICAgICAgIDogZmlyc3RWYWxpZCArIG1heER1cmF0aW9uO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGZpcnN0VmFsaWQsXG4gICAgICBsYXN0VmFsaWQsXG4gICAgICBtaW5EdXJhdGlvbixcbiAgICAgIG1heER1cmF0aW9uLFxuICAgICAgdW5pdCxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgdHJhbnNhY3Rpb24gYmVpbmcgYnVpbHQuXG4gICAqL1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IHRyYW5zYWN0aW9uKCk6IEJhc2VUcmFuc2FjdGlvbjtcblxuICAvKipcbiAgICogU2V0IHRoZSB0cmFuc2FjdGlvbiBiZWluZyBidWlsdC5cbiAgICovXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBzZXQgdHJhbnNhY3Rpb24odHJhbnNhY3Rpb246IEJhc2VUcmFuc2FjdGlvbik7XG59XG4iXX0=
@@ -0,0 +1,30 @@
1
+ import { BaseCoin as CoinConfig } from '@bitgo/statics';
2
+ import { DeployUtil } from 'casper-js-sdk';
3
+ /**
4
+ * Generic transaction builder factory to be extended with coin specific logic.
5
+ * Provide a set of transaction builders to create each transaction type.
6
+ */
7
+ export declare abstract class BaseTransactionBuilderFactory {
8
+ protected _coinConfig: Readonly<CoinConfig>;
9
+ /**
10
+ * Base constructor.
11
+ *
12
+ * @param {CoinConfig} _coinConfig BaseCoin from statics library
13
+ */
14
+ protected constructor(_coinConfig: Readonly<CoinConfig>);
15
+ /**
16
+ * Returns an specific builder to create a wallet initialization transaction
17
+ */
18
+ abstract getWalletInitializationBuilder(): any;
19
+ /**
20
+ * Returns a specific builder to create a funds transfer transaction
21
+ */
22
+ abstract getTransferBuilder(): any;
23
+ /**
24
+ * Returns a proper builder for the given encoded transaction
25
+ *
26
+ * @param {Uint8Array | string | DeployUtil.Deploy} raw - Encoded transaction in hex string or Uint8Array format
27
+ */
28
+ abstract from(raw: Uint8Array | string | DeployUtil.Deploy): any;
29
+ }
30
+ //# sourceMappingURL=baseTransactionBuilderFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseTransactionBuilderFactory.d.ts","sourceRoot":"","sources":["../../../../src/coin/baseCoin/baseTransactionBuilderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C;;;GAGG;AACH,8BAAsB,6BAA6B;IACjD,SAAS,CAAC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC5C;;;;OAIG;IACH,SAAS,aAAa,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAIvD;;OAEG;aACa,8BAA8B;IAE9C;;OAEG;aACa,kBAAkB;IAElC;;;;OAIG;aACa,IAAI,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,GAAG,UAAU,CAAC,MAAM;CAClE"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseTransactionBuilderFactory = void 0;
4
+ /**
5
+ * Generic transaction builder factory to be extended with coin specific logic.
6
+ * Provide a set of transaction builders to create each transaction type.
7
+ */
8
+ var BaseTransactionBuilderFactory = /** @class */ (function () {
9
+ /**
10
+ * Base constructor.
11
+ *
12
+ * @param {CoinConfig} _coinConfig BaseCoin from statics library
13
+ */
14
+ function BaseTransactionBuilderFactory(_coinConfig) {
15
+ this._coinConfig = _coinConfig;
16
+ }
17
+ return BaseTransactionBuilderFactory;
18
+ }());
19
+ exports.BaseTransactionBuilderFactory = BaseTransactionBuilderFactory;
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZVRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29pbi9iYXNlQ29pbi9iYXNlVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFHQTs7O0dBR0c7QUFDSDtJQUVFOzs7O09BSUc7SUFDSCx1Q0FBc0IsV0FBaUM7UUFDckQsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7SUFDakMsQ0FBQztJQWtCSCxvQ0FBQztBQUFELENBQUMsQUEzQkQsSUEyQkM7QUEzQnFCLHNFQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5pbXBvcnQgeyBEZXBsb3lVdGlsIH0gZnJvbSAnY2FzcGVyLWpzLXNkayc7XG5cbi8qKlxuICogR2VuZXJpYyB0cmFuc2FjdGlvbiBidWlsZGVyIGZhY3RvcnkgdG8gYmUgZXh0ZW5kZWQgd2l0aCBjb2luIHNwZWNpZmljIGxvZ2ljLlxuICogUHJvdmlkZSBhIHNldCBvZiB0cmFuc2FjdGlvbiBidWlsZGVycyB0byBjcmVhdGUgZWFjaCB0cmFuc2FjdGlvbiB0eXBlLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZVRyYW5zYWN0aW9uQnVpbGRlckZhY3Rvcnkge1xuICBwcm90ZWN0ZWQgX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+O1xuICAvKipcbiAgICogQmFzZSBjb25zdHJ1Y3Rvci5cbiAgICpcbiAgICogQHBhcmFtIHtDb2luQ29uZmlnfSBfY29pbkNvbmZpZyBCYXNlQ29pbiBmcm9tIHN0YXRpY3MgbGlicmFyeVxuICAgKi9cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHRoaXMuX2NvaW5Db25maWcgPSBfY29pbkNvbmZpZztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIHNwZWNpZmljIGJ1aWxkZXIgdG8gY3JlYXRlIGEgd2FsbGV0IGluaXRpYWxpemF0aW9uIHRyYW5zYWN0aW9uXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgZ2V0V2FsbGV0SW5pdGlhbGl6YXRpb25CdWlsZGVyKCk7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBzcGVjaWZpYyBidWlsZGVyIHRvIGNyZWF0ZSBhIGZ1bmRzIHRyYW5zZmVyIHRyYW5zYWN0aW9uXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgZ2V0VHJhbnNmZXJCdWlsZGVyKCk7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBwcm9wZXIgYnVpbGRlciBmb3IgdGhlIGdpdmVuIGVuY29kZWQgdHJhbnNhY3Rpb25cbiAgICpcbiAgICogQHBhcmFtIHtVaW50OEFycmF5IHwgc3RyaW5nIHwgRGVwbG95VXRpbC5EZXBsb3l9IHJhdyAtIEVuY29kZWQgdHJhbnNhY3Rpb24gaW4gaGV4IHN0cmluZyBvciBVaW50OEFycmF5IGZvcm1hdFxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGZyb20ocmF3OiBVaW50OEFycmF5IHwgc3RyaW5nIHwgRGVwbG95VXRpbC5EZXBsb3kpO1xufVxuIl19
@@ -0,0 +1,45 @@
1
+ export interface BaseUtils {
2
+ /**
3
+ * Returns whether or not the string is a valid protocol address
4
+ *
5
+ * @param {string} address - the address to be validated
6
+ * @returns {boolean} - the validation result
7
+ */
8
+ isValidAddress(address: string): boolean;
9
+ /**
10
+ * Returns whether or not the string is a valid protocol transaction id or not
11
+ *
12
+ * @param {string} txId - the transaction id to be validated
13
+ * @returns {boolean} - the validation result
14
+ */
15
+ isValidTransactionId(txId: string): boolean;
16
+ /**
17
+ * Returns whether or not the string is a valid protocol public key
18
+ *
19
+ * @param {string} key - the public key to be validated
20
+ * @returns {boolean} - the validation result
21
+ */
22
+ isValidPublicKey(key: string): boolean;
23
+ /**
24
+ * Returns whether or not the string is a valid protocol private key
25
+ *
26
+ * @param {string} key - the private key to be validated
27
+ * @returns {boolean} - the validation result
28
+ */
29
+ isValidPrivateKey(key: string): boolean;
30
+ /**
31
+ * Returns whether or not the string is a valid protocol signature
32
+ *
33
+ * @param {string} signature - the signature to validate
34
+ * @returns {boolean} - the validation result
35
+ */
36
+ isValidSignature(signature: string): boolean;
37
+ /**
38
+ * Returns whether or not the string is a valid protocol block hash
39
+ *
40
+ * @param {string} hash - the address to validate
41
+ * @returns {boolean} - the validation result
42
+ */
43
+ isValidBlockId(hash: string): boolean;
44
+ }
45
+ //# sourceMappingURL=baseUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseUtils.d.ts","sourceRoot":"","sources":["../../../../src/coin/baseCoin/baseUtils.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB;;;;;OAKG;IACH,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IAEzC;;;;;OAKG;IACH,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAE5C;;;;;OAKG;IACH,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAEvC;;;;;OAKG;IACH,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAExC;;;;;OAKG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAE7C;;;;;OAKG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;CACvC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZVV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvaW4vYmFzZUNvaW4vYmFzZVV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEJhc2VVdGlscyB7XG4gIC8qKlxuICAgKiBSZXR1cm5zIHdoZXRoZXIgb3Igbm90IHRoZSBzdHJpbmcgaXMgYSB2YWxpZCBwcm90b2NvbCBhZGRyZXNzXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhZGRyZXNzIC0gdGhlIGFkZHJlc3MgdG8gYmUgdmFsaWRhdGVkXG4gICAqIEByZXR1cm5zIHtib29sZWFufSAtIHRoZSB2YWxpZGF0aW9uIHJlc3VsdFxuICAgKi9cbiAgaXNWYWxpZEFkZHJlc3MoYWRkcmVzczogc3RyaW5nKTogYm9vbGVhbjtcblxuICAvKipcbiAgICogUmV0dXJucyB3aGV0aGVyIG9yIG5vdCB0aGUgc3RyaW5nIGlzIGEgdmFsaWQgcHJvdG9jb2wgdHJhbnNhY3Rpb24gaWQgb3Igbm90XG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0eElkIC0gdGhlIHRyYW5zYWN0aW9uIGlkIHRvIGJlIHZhbGlkYXRlZFxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gLSB0aGUgdmFsaWRhdGlvbiByZXN1bHRcbiAgICovXG4gIGlzVmFsaWRUcmFuc2FjdGlvbklkKHR4SWQ6IHN0cmluZyk6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFJldHVybnMgd2hldGhlciBvciBub3QgdGhlIHN0cmluZyBpcyBhIHZhbGlkIHByb3RvY29sIHB1YmxpYyBrZXlcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGtleSAtIHRoZSAgcHVibGljIGtleSB0byBiZSB2YWxpZGF0ZWRcbiAgICogQHJldHVybnMge2Jvb2xlYW59IC0gdGhlIHZhbGlkYXRpb24gcmVzdWx0XG4gICAqL1xuICBpc1ZhbGlkUHVibGljS2V5KGtleTogc3RyaW5nKTogYm9vbGVhbjtcblxuICAvKipcbiAgICogUmV0dXJucyB3aGV0aGVyIG9yIG5vdCB0aGUgc3RyaW5nIGlzIGEgdmFsaWQgcHJvdG9jb2wgcHJpdmF0ZSBrZXlcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGtleSAtIHRoZSAgcHJpdmF0ZSBrZXkgdG8gYmUgdmFsaWRhdGVkXG4gICAqIEByZXR1cm5zIHtib29sZWFufSAtIHRoZSB2YWxpZGF0aW9uIHJlc3VsdFxuICAgKi9cbiAgaXNWYWxpZFByaXZhdGVLZXkoa2V5OiBzdHJpbmcpOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHdoZXRoZXIgb3Igbm90IHRoZSBzdHJpbmcgaXMgYSB2YWxpZCBwcm90b2NvbCBzaWduYXR1cmVcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHNpZ25hdHVyZSAtIHRoZSBzaWduYXR1cmUgdG8gdmFsaWRhdGVcbiAgICogQHJldHVybnMge2Jvb2xlYW59IC0gdGhlIHZhbGlkYXRpb24gcmVzdWx0XG4gICAqL1xuICBpc1ZhbGlkU2lnbmF0dXJlKHNpZ25hdHVyZTogc3RyaW5nKTogYm9vbGVhbjtcblxuICAvKipcbiAgICogUmV0dXJucyB3aGV0aGVyIG9yIG5vdCB0aGUgc3RyaW5nIGlzIGEgdmFsaWQgcHJvdG9jb2wgYmxvY2sgaGFzaFxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gaGFzaCAtIHRoZSBhZGRyZXNzIHRvIHZhbGlkYXRlXG4gICAqIEByZXR1cm5zIHtib29sZWFufSAtIHRoZSB2YWxpZGF0aW9uIHJlc3VsdFxuICAgKi9cbiAgaXNWYWxpZEJsb2NrSWQoaGFzaDogc3RyaW5nKTogYm9vbGVhbjtcbn1cbiJdfQ==