@bitgo/account-lib 2.20.0-rc.2 → 2.20.0-rc.22

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 (481) hide show
  1. package/CHANGELOG.md +195 -0
  2. package/dist/resources/README.md +8 -2
  3. package/dist/resources/trx/protobuf/tron.js +5 -1
  4. package/dist/src/coin/avaxc/index.js +3 -3
  5. package/dist/src/coin/avaxc/keyPair.d.ts +1 -2
  6. package/dist/src/coin/avaxc/keyPair.d.ts.map +1 -1
  7. package/dist/src/coin/avaxc/keyPair.js +25 -44
  8. package/dist/src/coin/avaxc/resources.js +3 -3
  9. package/dist/src/coin/avaxc/transactionBuilder.d.ts.map +1 -1
  10. package/dist/src/coin/avaxc/transactionBuilder.js +22 -41
  11. package/dist/src/coin/avaxc/transferBuilder.js +8 -28
  12. package/dist/src/coin/avaxc/utils.js +14 -54
  13. package/dist/src/coin/celo/index.js +3 -3
  14. package/dist/src/coin/celo/resources.js +3 -3
  15. package/dist/src/coin/celo/stakingBuilder.d.ts +1 -1
  16. package/dist/src/coin/celo/stakingBuilder.d.ts.map +1 -1
  17. package/dist/src/coin/celo/stakingBuilder.js +102 -104
  18. package/dist/src/coin/celo/stakingCall.js +8 -26
  19. package/dist/src/coin/celo/stakingUtils.d.ts +1 -1
  20. package/dist/src/coin/celo/stakingUtils.d.ts.map +1 -1
  21. package/dist/src/coin/celo/stakingUtils.js +33 -34
  22. package/dist/src/coin/celo/transaction.js +10 -30
  23. package/dist/src/coin/celo/transactionBuilder.d.ts +1 -1
  24. package/dist/src/coin/celo/transactionBuilder.d.ts.map +1 -1
  25. package/dist/src/coin/celo/transactionBuilder.js +96 -115
  26. package/dist/src/coin/celo/transferBuilder.js +8 -28
  27. package/dist/src/coin/celo/types.js +71 -125
  28. package/dist/src/coin/celo/utils.js +25 -25
  29. package/dist/src/coin/dot/addressInitializationBuilder.d.ts +1 -2
  30. package/dist/src/coin/dot/addressInitializationBuilder.d.ts.map +1 -1
  31. package/dist/src/coin/dot/addressInitializationBuilder.js +60 -83
  32. package/dist/src/coin/dot/batchTransactionBuilder.d.ts +1 -1
  33. package/dist/src/coin/dot/batchTransactionBuilder.d.ts.map +1 -1
  34. package/dist/src/coin/dot/batchTransactionBuilder.js +55 -78
  35. package/dist/src/coin/dot/claimBuilder.d.ts +1 -2
  36. package/dist/src/coin/dot/claimBuilder.d.ts.map +1 -1
  37. package/dist/src/coin/dot/claimBuilder.js +46 -68
  38. package/dist/src/coin/dot/errors.d.ts +1 -1
  39. package/dist/src/coin/dot/errors.d.ts.map +1 -1
  40. package/dist/src/coin/dot/errors.js +12 -33
  41. package/dist/src/coin/dot/iface.d.ts +1 -2
  42. package/dist/src/coin/dot/iface.d.ts.map +1 -1
  43. package/dist/src/coin/dot/iface.js +1 -1
  44. package/dist/src/coin/dot/index.js +3 -3
  45. package/dist/src/coin/dot/keyPair.d.ts +1 -2
  46. package/dist/src/coin/dot/keyPair.d.ts.map +1 -1
  47. package/dist/src/coin/dot/keyPair.js +34 -52
  48. package/dist/src/coin/dot/singletonRegistry.js +6 -9
  49. package/dist/src/coin/dot/stakingBuilder.d.ts +1 -2
  50. package/dist/src/coin/dot/stakingBuilder.d.ts.map +1 -1
  51. package/dist/src/coin/dot/stakingBuilder.js +49 -71
  52. package/dist/src/coin/dot/transaction.d.ts +1 -2
  53. package/dist/src/coin/dot/transaction.d.ts.map +1 -1
  54. package/dist/src/coin/dot/transaction.js +146 -162
  55. package/dist/src/coin/dot/transactionBuilder.d.ts +2 -3
  56. package/dist/src/coin/dot/transactionBuilder.d.ts.map +1 -1
  57. package/dist/src/coin/dot/transactionBuilder.js +132 -204
  58. package/dist/src/coin/dot/transactionBuilderFactory.d.ts +1 -1
  59. package/dist/src/coin/dot/transactionBuilderFactory.d.ts.map +1 -1
  60. package/dist/src/coin/dot/transactionBuilderFactory.js +46 -65
  61. package/dist/src/coin/dot/transferBuilder.d.ts +1 -2
  62. package/dist/src/coin/dot/transferBuilder.d.ts.map +1 -1
  63. package/dist/src/coin/dot/transferBuilder.js +62 -85
  64. package/dist/src/coin/dot/txnSchema.js +17 -15
  65. package/dist/src/coin/dot/unnominateBuilder.d.ts +1 -1
  66. package/dist/src/coin/dot/unnominateBuilder.d.ts.map +1 -1
  67. package/dist/src/coin/dot/unnominateBuilder.js +24 -46
  68. package/dist/src/coin/dot/unstakeBuilder.d.ts +1 -1
  69. package/dist/src/coin/dot/unstakeBuilder.d.ts.map +1 -1
  70. package/dist/src/coin/dot/unstakeBuilder.js +38 -60
  71. package/dist/src/coin/dot/utils.d.ts +1 -2
  72. package/dist/src/coin/dot/utils.d.ts.map +1 -1
  73. package/dist/src/coin/dot/utils.js +97 -101
  74. package/dist/src/coin/dot/withdrawUnstakedBuilder.d.ts +1 -1
  75. package/dist/src/coin/dot/withdrawUnstakedBuilder.d.ts.map +1 -1
  76. package/dist/src/coin/dot/withdrawUnstakedBuilder.js +38 -60
  77. package/dist/src/coin/etc/index.js +3 -3
  78. package/dist/src/coin/etc/resources.js +3 -3
  79. package/dist/src/coin/etc/transactionBuilder.d.ts.map +1 -1
  80. package/dist/src/coin/etc/transactionBuilder.js +22 -41
  81. package/dist/src/coin/etc/transferBuilder.js +8 -28
  82. package/dist/src/coin/etc/utils.js +10 -50
  83. package/dist/src/coin/eth/contractCall.js +8 -9
  84. package/dist/src/coin/eth/iface.d.ts +1 -1
  85. package/dist/src/coin/eth/iface.d.ts.map +1 -1
  86. package/dist/src/coin/eth/iface.js +1 -1
  87. package/dist/src/coin/eth/index.js +3 -3
  88. package/dist/src/coin/eth/keyPair.d.ts +1 -2
  89. package/dist/src/coin/eth/keyPair.d.ts.map +1 -1
  90. package/dist/src/coin/eth/keyPair.js +25 -44
  91. package/dist/src/coin/eth/transaction.d.ts +1 -2
  92. package/dist/src/coin/eth/transaction.d.ts.map +1 -1
  93. package/dist/src/coin/eth/transaction.js +48 -114
  94. package/dist/src/coin/eth/transactionBuilder.d.ts +1 -2
  95. package/dist/src/coin/eth/transactionBuilder.d.ts.map +1 -1
  96. package/dist/src/coin/eth/transactionBuilder.js +232 -303
  97. package/dist/src/coin/eth/transferBuilder/baseNFTTransferBuilder.js +37 -38
  98. package/dist/src/coin/eth/transferBuilder/transferBuilderERC1155.js +36 -53
  99. package/dist/src/coin/eth/transferBuilder/transferBuilderERC721.js +32 -49
  100. package/dist/src/coin/eth/transferBuilder.js +58 -59
  101. package/dist/src/coin/eth/types.js +52 -56
  102. package/dist/src/coin/eth/utils.d.ts +1 -1
  103. package/dist/src/coin/eth/utils.d.ts.map +1 -1
  104. package/dist/src/coin/eth/utils.js +100 -147
  105. package/dist/src/coin/eth/walletUtil.d.ts +2 -0
  106. package/dist/src/coin/eth/walletUtil.d.ts.map +1 -1
  107. package/dist/src/coin/eth/walletUtil.js +4 -2
  108. package/dist/src/coin/eth2/keyPair.d.ts +1 -2
  109. package/dist/src/coin/eth2/keyPair.d.ts.map +1 -1
  110. package/dist/src/coin/eth2/keyPair.js +19 -37
  111. package/dist/src/coin/hbar/index.js +2 -2
  112. package/dist/src/coin/hbar/keyPair.d.ts +1 -2
  113. package/dist/src/coin/hbar/keyPair.d.ts.map +1 -1
  114. package/dist/src/coin/hbar/keyPair.js +30 -49
  115. package/dist/src/coin/hbar/transaction.d.ts +1 -2
  116. package/dist/src/coin/hbar/transaction.d.ts.map +1 -1
  117. package/dist/src/coin/hbar/transaction.js +77 -146
  118. package/dist/src/coin/hbar/transactionBuilder.d.ts +1 -2
  119. package/dist/src/coin/hbar/transactionBuilder.d.ts.map +1 -1
  120. package/dist/src/coin/hbar/transactionBuilder.js +110 -193
  121. package/dist/src/coin/hbar/transactionBuilderFactory.d.ts +1 -1
  122. package/dist/src/coin/hbar/transactionBuilderFactory.d.ts.map +1 -1
  123. package/dist/src/coin/hbar/transactionBuilderFactory.js +27 -45
  124. package/dist/src/coin/hbar/transferBuilder.d.ts +1 -1
  125. package/dist/src/coin/hbar/transferBuilder.d.ts.map +1 -1
  126. package/dist/src/coin/hbar/transferBuilder.js +49 -113
  127. package/dist/src/coin/hbar/utils.d.ts +2 -15
  128. package/dist/src/coin/hbar/utils.d.ts.map +1 -1
  129. package/dist/src/coin/hbar/utils.js +38 -57
  130. package/dist/src/coin/hbar/walletInitializationBuilder.d.ts.map +1 -1
  131. package/dist/src/coin/hbar/walletInitializationBuilder.js +42 -107
  132. package/dist/src/coin/near/contractCallWrapper.js +46 -65
  133. package/dist/src/coin/near/errors.d.ts +1 -1
  134. package/dist/src/coin/near/errors.d.ts.map +1 -1
  135. package/dist/src/coin/near/errors.js +7 -25
  136. package/dist/src/coin/near/iface.d.ts +1 -2
  137. package/dist/src/coin/near/iface.d.ts.map +1 -1
  138. package/dist/src/coin/near/iface.js +1 -1
  139. package/dist/src/coin/near/index.d.ts +3 -0
  140. package/dist/src/coin/near/index.d.ts.map +1 -1
  141. package/dist/src/coin/near/index.js +9 -3
  142. package/dist/src/coin/near/keyPair.d.ts +1 -2
  143. package/dist/src/coin/near/keyPair.d.ts.map +1 -1
  144. package/dist/src/coin/near/keyPair.js +23 -40
  145. package/dist/src/coin/near/stakingActivateBuilder.d.ts +1 -1
  146. package/dist/src/coin/near/stakingActivateBuilder.d.ts.map +1 -1
  147. package/dist/src/coin/near/stakingActivateBuilder.js +36 -105
  148. package/dist/src/coin/near/stakingDeactivateBuilder.d.ts +1 -1
  149. package/dist/src/coin/near/stakingDeactivateBuilder.d.ts.map +1 -1
  150. package/dist/src/coin/near/stakingDeactivateBuilder.js +36 -105
  151. package/dist/src/coin/near/stakingWithdrawBuilder.d.ts +1 -1
  152. package/dist/src/coin/near/stakingWithdrawBuilder.d.ts.map +1 -1
  153. package/dist/src/coin/near/stakingWithdrawBuilder.js +36 -105
  154. package/dist/src/coin/near/transaction.d.ts +1 -2
  155. package/dist/src/coin/near/transaction.d.ts.map +1 -1
  156. package/dist/src/coin/near/transaction.js +125 -154
  157. package/dist/src/coin/near/transactionBuilder.d.ts +1 -2
  158. package/dist/src/coin/near/transactionBuilder.d.ts.map +1 -1
  159. package/dist/src/coin/near/transactionBuilder.js +81 -144
  160. package/dist/src/coin/near/transactionBuilderFactory.d.ts +1 -1
  161. package/dist/src/coin/near/transactionBuilderFactory.d.ts.map +1 -1
  162. package/dist/src/coin/near/transactionBuilderFactory.js +33 -51
  163. package/dist/src/coin/near/transferBuilder.d.ts +1 -1
  164. package/dist/src/coin/near/transferBuilder.d.ts.map +1 -1
  165. package/dist/src/coin/near/transferBuilder.js +27 -91
  166. package/dist/src/coin/near/utils.d.ts +1 -1
  167. package/dist/src/coin/near/utils.d.ts.map +1 -1
  168. package/dist/src/coin/near/utils.js +35 -45
  169. package/dist/src/coin/near/walletInitializationBuilder.d.ts +1 -1
  170. package/dist/src/coin/near/walletInitializationBuilder.d.ts.map +1 -1
  171. package/dist/src/coin/near/walletInitializationBuilder.js +13 -70
  172. package/dist/src/coin/polygon/index.d.ts +8 -0
  173. package/dist/src/coin/polygon/index.d.ts.map +1 -0
  174. package/dist/src/coin/polygon/index.js +35 -0
  175. package/dist/src/coin/polygon/resources.d.ts +10 -0
  176. package/dist/src/coin/polygon/resources.d.ts.map +1 -0
  177. package/dist/src/coin/polygon/resources.js +25 -0
  178. package/dist/src/coin/polygon/transactionBuilder.d.ts +17 -0
  179. package/dist/src/coin/polygon/transactionBuilder.d.ts.map +1 -0
  180. package/dist/src/coin/polygon/transactionBuilder.js +44 -0
  181. package/dist/src/coin/polygon/transferBuilder.d.ts +19 -0
  182. package/dist/src/coin/polygon/transferBuilder.d.ts.map +1 -0
  183. package/dist/src/coin/polygon/transferBuilder.js +27 -0
  184. package/dist/src/coin/polygon/utils.d.ts +18 -0
  185. package/dist/src/coin/polygon/utils.d.ts.map +1 -0
  186. package/dist/src/coin/polygon/utils.js +42 -0
  187. package/dist/src/coin/polygon/walletUtil.d.ts +48 -0
  188. package/dist/src/coin/polygon/walletUtil.d.ts.map +1 -0
  189. package/dist/src/coin/polygon/walletUtil.js +632 -0
  190. package/dist/src/coin/rbtc/index.js +3 -3
  191. package/dist/src/coin/rbtc/resources.js +3 -3
  192. package/dist/src/coin/rbtc/transactionBuilder.d.ts.map +1 -1
  193. package/dist/src/coin/rbtc/transactionBuilder.js +21 -40
  194. package/dist/src/coin/rbtc/transferBuilder.js +8 -28
  195. package/dist/src/coin/rbtc/utils.js +10 -50
  196. package/dist/src/coin/sol/ataInitializationBuilder.d.ts +1 -1
  197. package/dist/src/coin/sol/ataInitializationBuilder.d.ts.map +1 -1
  198. package/dist/src/coin/sol/ataInitializationBuilder.js +52 -123
  199. package/dist/src/coin/sol/ataInitializationTransaction.d.ts.map +1 -1
  200. package/dist/src/coin/sol/ataInitializationTransaction.js +34 -57
  201. package/dist/src/coin/sol/iface.d.ts +1 -1
  202. package/dist/src/coin/sol/iface.d.ts.map +1 -1
  203. package/dist/src/coin/sol/iface.js +1 -1
  204. package/dist/src/coin/sol/index.js +3 -3
  205. package/dist/src/coin/sol/instructionParamsFactory.d.ts +1 -1
  206. package/dist/src/coin/sol/instructionParamsFactory.d.ts.map +1 -1
  207. package/dist/src/coin/sol/instructionParamsFactory.js +62 -67
  208. package/dist/src/coin/sol/keyPair.d.ts +1 -2
  209. package/dist/src/coin/sol/keyPair.d.ts.map +1 -1
  210. package/dist/src/coin/sol/keyPair.js +24 -42
  211. package/dist/src/coin/sol/solInstructionFactory.js +33 -33
  212. package/dist/src/coin/sol/stakingActivateBuilder.d.ts +1 -1
  213. package/dist/src/coin/sol/stakingActivateBuilder.d.ts.map +1 -1
  214. package/dist/src/coin/sol/stakingActivateBuilder.js +45 -113
  215. package/dist/src/coin/sol/stakingDeactivateBuilder.d.ts +1 -1
  216. package/dist/src/coin/sol/stakingDeactivateBuilder.d.ts.map +1 -1
  217. package/dist/src/coin/sol/stakingDeactivateBuilder.js +36 -104
  218. package/dist/src/coin/sol/stakingWithdrawBuilder.d.ts +1 -1
  219. package/dist/src/coin/sol/stakingWithdrawBuilder.d.ts.map +1 -1
  220. package/dist/src/coin/sol/stakingWithdrawBuilder.js +41 -109
  221. package/dist/src/coin/sol/tokenEncodeDecode.js +46 -75
  222. package/dist/src/coin/sol/tokenTransferBuilder.d.ts +1 -1
  223. package/dist/src/coin/sol/tokenTransferBuilder.d.ts.map +1 -1
  224. package/dist/src/coin/sol/tokenTransferBuilder.js +42 -115
  225. package/dist/src/coin/sol/transaction.d.ts +1 -2
  226. package/dist/src/coin/sol/transaction.d.ts.map +1 -1
  227. package/dist/src/coin/sol/transaction.js +130 -221
  228. package/dist/src/coin/sol/transactionBuilder.d.ts +1 -2
  229. package/dist/src/coin/sol/transactionBuilder.d.ts.map +1 -1
  230. package/dist/src/coin/sol/transactionBuilder.js +104 -171
  231. package/dist/src/coin/sol/transactionBuilderFactory.d.ts +1 -1
  232. package/dist/src/coin/sol/transactionBuilderFactory.d.ts.map +1 -1
  233. package/dist/src/coin/sol/transactionBuilderFactory.js +46 -64
  234. package/dist/src/coin/sol/transferBuilder.d.ts +1 -1
  235. package/dist/src/coin/sol/transferBuilder.d.ts.map +1 -1
  236. package/dist/src/coin/sol/transferBuilder.js +37 -108
  237. package/dist/src/coin/sol/utils.d.ts +1 -1
  238. package/dist/src/coin/sol/utils.d.ts.map +1 -1
  239. package/dist/src/coin/sol/utils.js +49 -117
  240. package/dist/src/coin/sol/walletInitializationBuilder.d.ts +1 -1
  241. package/dist/src/coin/sol/walletInitializationBuilder.d.ts.map +1 -1
  242. package/dist/src/coin/sol/walletInitializationBuilder.js +39 -107
  243. package/dist/src/coin/stx/abstractContractBuilder.d.ts.map +1 -1
  244. package/dist/src/coin/stx/abstractContractBuilder.js +34 -104
  245. package/dist/src/coin/stx/contractBuilder.js +38 -57
  246. package/dist/src/coin/stx/index.js +2 -2
  247. package/dist/src/coin/stx/keyPair.d.ts +1 -2
  248. package/dist/src/coin/stx/keyPair.d.ts.map +1 -1
  249. package/dist/src/coin/stx/keyPair.js +39 -62
  250. package/dist/src/coin/stx/sendmanyBuilder.js +43 -108
  251. package/dist/src/coin/stx/transaction.d.ts +1 -2
  252. package/dist/src/coin/stx/transaction.d.ts.map +1 -1
  253. package/dist/src/coin/stx/transaction.js +102 -183
  254. package/dist/src/coin/stx/transactionBuilder.d.ts +1 -2
  255. package/dist/src/coin/stx/transactionBuilder.d.ts.map +1 -1
  256. package/dist/src/coin/stx/transactionBuilder.js +121 -218
  257. package/dist/src/coin/stx/transactionBuilderFactory.d.ts +1 -1
  258. package/dist/src/coin/stx/transactionBuilderFactory.d.ts.map +1 -1
  259. package/dist/src/coin/stx/transactionBuilderFactory.js +36 -54
  260. package/dist/src/coin/stx/transferBuilder.d.ts.map +1 -1
  261. package/dist/src/coin/stx/transferBuilder.js +41 -111
  262. package/dist/src/coin/stx/utils.d.ts.map +1 -1
  263. package/dist/src/coin/stx/utils.js +58 -65
  264. package/dist/src/coin/trx/address.d.ts +1 -1
  265. package/dist/src/coin/trx/address.d.ts.map +1 -1
  266. package/dist/src/coin/trx/address.js +3 -6
  267. package/dist/src/coin/trx/contractCallBuilder.d.ts +1 -1
  268. package/dist/src/coin/trx/contractCallBuilder.d.ts.map +1 -1
  269. package/dist/src/coin/trx/contractCallBuilder.js +100 -160
  270. package/dist/src/coin/trx/iface.d.ts +1 -1
  271. package/dist/src/coin/trx/iface.d.ts.map +1 -1
  272. package/dist/src/coin/trx/iface.js +1 -1
  273. package/dist/src/coin/trx/index.js +4 -4
  274. package/dist/src/coin/trx/keyPair.d.ts +1 -3
  275. package/dist/src/coin/trx/keyPair.d.ts.map +1 -1
  276. package/dist/src/coin/trx/keyPair.js +37 -57
  277. package/dist/src/coin/trx/transaction.d.ts +1 -3
  278. package/dist/src/coin/trx/transaction.d.ts.map +1 -1
  279. package/dist/src/coin/trx/transaction.js +84 -124
  280. package/dist/src/coin/trx/transactionBuilder.d.ts +1 -2
  281. package/dist/src/coin/trx/transactionBuilder.d.ts.map +1 -1
  282. package/dist/src/coin/trx/transactionBuilder.js +72 -134
  283. package/dist/src/coin/trx/utils.js +57 -59
  284. package/dist/src/coin/trx/wrappedBuilder.d.ts +1 -2
  285. package/dist/src/coin/trx/wrappedBuilder.d.ts.map +1 -1
  286. package/dist/src/coin/trx/wrappedBuilder.js +43 -101
  287. package/dist/src/coin/xrp/index.js +2 -2
  288. package/dist/src/coin/xrp/keyPair.d.ts +1 -2
  289. package/dist/src/coin/xrp/keyPair.d.ts.map +1 -1
  290. package/dist/src/coin/xrp/keyPair.js +6 -23
  291. package/dist/src/coin/xrp/transaction.d.ts +1 -2
  292. package/dist/src/coin/xrp/transaction.d.ts.map +1 -1
  293. package/dist/src/coin/xrp/transaction.js +13 -34
  294. package/dist/src/coin/xrp/transactionBuilder.d.ts +1 -2
  295. package/dist/src/coin/xrp/transactionBuilder.d.ts.map +1 -1
  296. package/dist/src/coin/xrp/transactionBuilder.js +29 -51
  297. package/dist/src/coin/xrp/transactionBuilderFactory.d.ts +1 -1
  298. package/dist/src/coin/xrp/transactionBuilderFactory.d.ts.map +1 -1
  299. package/dist/src/coin/xrp/transactionBuilderFactory.js +17 -35
  300. package/dist/src/coin/xrp/transferBuilder.d.ts +1 -1
  301. package/dist/src/coin/xrp/transferBuilder.d.ts.map +1 -1
  302. package/dist/src/coin/xrp/transferBuilder.js +16 -73
  303. package/dist/src/coin/xrp/utils.d.ts +1 -1
  304. package/dist/src/coin/xrp/utils.d.ts.map +1 -1
  305. package/dist/src/coin/xrp/utils.js +22 -25
  306. package/dist/src/coin/xrp/walletInitializationBuilder.d.ts +1 -1
  307. package/dist/src/coin/xrp/walletInitializationBuilder.d.ts.map +1 -1
  308. package/dist/src/coin/xrp/walletInitializationBuilder.js +16 -73
  309. package/dist/src/coin/xtz/address.d.ts +1 -1
  310. package/dist/src/coin/xtz/address.d.ts.map +1 -1
  311. package/dist/src/coin/xtz/address.js +3 -6
  312. package/dist/src/coin/xtz/iface.d.ts +1 -1
  313. package/dist/src/coin/xtz/iface.d.ts.map +1 -1
  314. package/dist/src/coin/xtz/iface.js +1 -1
  315. package/dist/src/coin/xtz/index.js +4 -4
  316. package/dist/src/coin/xtz/keyPair.d.ts +1 -2
  317. package/dist/src/coin/xtz/keyPair.d.ts.map +1 -1
  318. package/dist/src/coin/xtz/keyPair.js +39 -59
  319. package/dist/src/coin/xtz/multisigUtils.js +64 -77
  320. package/dist/src/coin/xtz/transaction.d.ts +1 -2
  321. package/dist/src/coin/xtz/transaction.d.ts.map +1 -1
  322. package/dist/src/coin/xtz/transaction.js +175 -345
  323. package/dist/src/coin/xtz/transactionBuilder.d.ts +1 -2
  324. package/dist/src/coin/xtz/transactionBuilder.d.ts.map +1 -1
  325. package/dist/src/coin/xtz/transactionBuilder.js +212 -347
  326. package/dist/src/coin/xtz/transferBuilder.js +25 -28
  327. package/dist/src/coin/xtz/utils.d.ts.map +1 -1
  328. package/dist/src/coin/xtz/utils.js +54 -125
  329. package/dist/src/index.d.ts +7 -11
  330. package/dist/src/index.d.ts.map +1 -1
  331. package/dist/src/index.js +38 -44
  332. package/dist/src/keyPair/index.d.ts +1 -2
  333. package/dist/src/keyPair/index.d.ts.map +1 -1
  334. package/dist/src/keyPair/index.js +9 -9
  335. package/dist/src/utils/index.d.ts +1 -1
  336. package/dist/src/utils/index.d.ts.map +1 -1
  337. package/dist/src/utils/index.js +9 -9
  338. package/dist/tsconfig.tsbuildinfo +21131 -16701
  339. package/package.json +21 -43
  340. package/resources/README.md +8 -2
  341. package/resources/trx/protobuf/tron.js +5 -1
  342. package/dist/browser/bitgo-account-lib.js +0 -2
  343. package/dist/browser/bitgo-account-lib.js.LICENSE.txt +0 -335
  344. package/dist/src/coin/algo/assetTransferBuilder.d.ts +0 -43
  345. package/dist/src/coin/algo/assetTransferBuilder.d.ts.map +0 -1
  346. package/dist/src/coin/algo/assetTransferBuilder.js +0 -127
  347. package/dist/src/coin/algo/errors.d.ts +0 -11
  348. package/dist/src/coin/algo/errors.d.ts.map +0 -1
  349. package/dist/src/coin/algo/errors.js +0 -51
  350. package/dist/src/coin/algo/ifaces.d.ts +0 -46
  351. package/dist/src/coin/algo/ifaces.d.ts.map +0 -1
  352. package/dist/src/coin/algo/ifaces.js +0 -3
  353. package/dist/src/coin/algo/index.d.ts +0 -13
  354. package/dist/src/coin/algo/index.d.ts.map +0 -1
  355. package/dist/src/coin/algo/index.js +0 -47
  356. package/dist/src/coin/algo/keyPair.d.ts +0 -26
  357. package/dist/src/coin/algo/keyPair.d.ts.map +0 -1
  358. package/dist/src/coin/algo/keyPair.js +0 -95
  359. package/dist/src/coin/algo/keyRegistrationBuilder.d.ts +0 -104
  360. package/dist/src/coin/algo/keyRegistrationBuilder.d.ts.map +0 -1
  361. package/dist/src/coin/algo/keyRegistrationBuilder.js +0 -262
  362. package/dist/src/coin/algo/seedEncoding.d.ts +0 -25
  363. package/dist/src/coin/algo/seedEncoding.d.ts.map +0 -1
  364. package/dist/src/coin/algo/seedEncoding.js +0 -100
  365. package/dist/src/coin/algo/transaction.d.ts +0 -76
  366. package/dist/src/coin/algo/transaction.d.ts.map +0 -1
  367. package/dist/src/coin/algo/transaction.js +0 -287
  368. package/dist/src/coin/algo/transactionBuilder.d.ts +0 -205
  369. package/dist/src/coin/algo/transactionBuilder.d.ts.map +0 -1
  370. package/dist/src/coin/algo/transactionBuilder.js +0 -445
  371. package/dist/src/coin/algo/transactionBuilderFactory.d.ts +0 -16
  372. package/dist/src/coin/algo/transactionBuilderFactory.d.ts.map +0 -1
  373. package/dist/src/coin/algo/transactionBuilderFactory.js +0 -70
  374. package/dist/src/coin/algo/transferBuilder.d.ts +0 -41
  375. package/dist/src/coin/algo/transferBuilder.d.ts.map +0 -1
  376. package/dist/src/coin/algo/transferBuilder.js +0 -111
  377. package/dist/src/coin/algo/txnSchema.d.ts +0 -7
  378. package/dist/src/coin/algo/txnSchema.d.ts.map +0 -1
  379. package/dist/src/coin/algo/txnSchema.js +0 -68
  380. package/dist/src/coin/algo/utils.d.ts +0 -249
  381. package/dist/src/coin/algo/utils.d.ts.map +0 -1
  382. package/dist/src/coin/algo/utils.js +0 -544
  383. package/dist/src/coin/baseCoin/baseKeyPair.d.ts +0 -27
  384. package/dist/src/coin/baseCoin/baseKeyPair.d.ts.map +0 -1
  385. package/dist/src/coin/baseCoin/baseKeyPair.js +0 -3
  386. package/dist/src/coin/baseCoin/baseTransaction.d.ts +0 -71
  387. package/dist/src/coin/baseCoin/baseTransaction.d.ts.map +0 -1
  388. package/dist/src/coin/baseCoin/baseTransaction.js +0 -94
  389. package/dist/src/coin/baseCoin/baseTransactionBuilder.d.ts +0 -128
  390. package/dist/src/coin/baseCoin/baseTransactionBuilder.d.ts.map +0 -1
  391. package/dist/src/coin/baseCoin/baseTransactionBuilder.js +0 -179
  392. package/dist/src/coin/baseCoin/baseTransactionBuilderFactory.d.ts +0 -30
  393. package/dist/src/coin/baseCoin/baseTransactionBuilderFactory.d.ts.map +0 -1
  394. package/dist/src/coin/baseCoin/baseTransactionBuilderFactory.js +0 -20
  395. package/dist/src/coin/baseCoin/baseUtils.d.ts +0 -45
  396. package/dist/src/coin/baseCoin/baseUtils.d.ts.map +0 -1
  397. package/dist/src/coin/baseCoin/baseUtils.js +0 -3
  398. package/dist/src/coin/baseCoin/blsKeyPair.d.ts +0 -75
  399. package/dist/src/coin/baseCoin/blsKeyPair.d.ts.map +0 -1
  400. package/dist/src/coin/baseCoin/blsKeyPair.js +0 -232
  401. package/dist/src/coin/baseCoin/ed25519KeyPair.d.ts +0 -50
  402. package/dist/src/coin/baseCoin/ed25519KeyPair.d.ts.map +0 -1
  403. package/dist/src/coin/baseCoin/ed25519KeyPair.js +0 -141
  404. package/dist/src/coin/baseCoin/enum.d.ts +0 -43
  405. package/dist/src/coin/baseCoin/enum.d.ts.map +0 -1
  406. package/dist/src/coin/baseCoin/enum.js +0 -70
  407. package/dist/src/coin/baseCoin/errors.d.ts +0 -65
  408. package/dist/src/coin/baseCoin/errors.d.ts.map +0 -1
  409. package/dist/src/coin/baseCoin/errors.js +0 -156
  410. package/dist/src/coin/baseCoin/iface.d.ts +0 -162
  411. package/dist/src/coin/baseCoin/iface.d.ts.map +0 -1
  412. package/dist/src/coin/baseCoin/iface.js +0 -38
  413. package/dist/src/coin/baseCoin/index.d.ts +0 -12
  414. package/dist/src/coin/baseCoin/index.d.ts.map +0 -1
  415. package/dist/src/coin/baseCoin/index.js +0 -41
  416. package/dist/src/coin/baseCoin/secp256k1ExtendedKeyPair.d.ts +0 -55
  417. package/dist/src/coin/baseCoin/secp256k1ExtendedKeyPair.d.ts.map +0 -1
  418. package/dist/src/coin/baseCoin/secp256k1ExtendedKeyPair.js +0 -124
  419. package/dist/src/coin/cspr/constants.d.ts +0 -19
  420. package/dist/src/coin/cspr/constants.d.ts.map +0 -1
  421. package/dist/src/coin/cspr/constants.js +0 -28
  422. package/dist/src/coin/cspr/delegateBuilder.d.ts +0 -49
  423. package/dist/src/coin/cspr/delegateBuilder.d.ts.map +0 -1
  424. package/dist/src/coin/cspr/delegateBuilder.js +0 -175
  425. package/dist/src/coin/cspr/ifaces.d.ts +0 -69
  426. package/dist/src/coin/cspr/ifaces.d.ts.map +0 -1
  427. package/dist/src/coin/cspr/ifaces.js +0 -3
  428. package/dist/src/coin/cspr/index.d.ts +0 -5
  429. package/dist/src/coin/cspr/index.d.ts.map +0 -1
  430. package/dist/src/coin/cspr/index.js +0 -29
  431. package/dist/src/coin/cspr/keyPair.d.ts +0 -19
  432. package/dist/src/coin/cspr/keyPair.d.ts.map +0 -1
  433. package/dist/src/coin/cspr/keyPair.js +0 -94
  434. package/dist/src/coin/cspr/transaction.d.ts +0 -56
  435. package/dist/src/coin/cspr/transaction.d.ts.map +0 -1
  436. package/dist/src/coin/cspr/transaction.js +0 -251
  437. package/dist/src/coin/cspr/transactionBuilder.d.ts +0 -125
  438. package/dist/src/coin/cspr/transactionBuilder.d.ts.map +0 -1
  439. package/dist/src/coin/cspr/transactionBuilder.js +0 -383
  440. package/dist/src/coin/cspr/transactionBuilderFactory.d.ts +0 -46
  441. package/dist/src/coin/cspr/transactionBuilderFactory.d.ts.map +0 -1
  442. package/dist/src/coin/cspr/transactionBuilderFactory.js +0 -116
  443. package/dist/src/coin/cspr/transferBuilder.d.ts +0 -39
  444. package/dist/src/coin/cspr/transferBuilder.d.ts.map +0 -1
  445. package/dist/src/coin/cspr/transferBuilder.js +0 -169
  446. package/dist/src/coin/cspr/undelegateBuilder.d.ts +0 -49
  447. package/dist/src/coin/cspr/undelegateBuilder.d.ts.map +0 -1
  448. package/dist/src/coin/cspr/undelegateBuilder.js +0 -175
  449. package/dist/src/coin/cspr/utils.d.ts +0 -189
  450. package/dist/src/coin/cspr/utils.d.ts.map +0 -1
  451. package/dist/src/coin/cspr/utils.js +0 -483
  452. package/dist/src/coin/cspr/walletInitializationBuilder.d.ts +0 -27
  453. package/dist/src/coin/cspr/walletInitializationBuilder.d.ts.map +0 -1
  454. package/dist/src/coin/cspr/walletInitializationBuilder.js +0 -160
  455. package/dist/src/mpc/curves/baseCurve.d.ts +0 -18
  456. package/dist/src/mpc/curves/baseCurve.d.ts.map +0 -1
  457. package/dist/src/mpc/curves/baseCurve.js +0 -6
  458. package/dist/src/mpc/curves/ed25519.d.ts +0 -17
  459. package/dist/src/mpc/curves/ed25519.d.ts.map +0 -1
  460. package/dist/src/mpc/curves/ed25519.js +0 -96
  461. package/dist/src/mpc/curves/index.d.ts +0 -5
  462. package/dist/src/mpc/curves/index.d.ts.map +0 -1
  463. package/dist/src/mpc/curves/index.js +0 -6
  464. package/dist/src/mpc/hdTree.d.ts +0 -24
  465. package/dist/src/mpc/hdTree.d.ts.map +0 -1
  466. package/dist/src/mpc/hdTree.js +0 -143
  467. package/dist/src/mpc/shamir.d.ts +0 -26
  468. package/dist/src/mpc/shamir.d.ts.map +0 -1
  469. package/dist/src/mpc/shamir.js +0 -87
  470. package/dist/src/mpc/tss.d.ts +0 -98
  471. package/dist/src/mpc/tss.d.ts.map +0 -1
  472. package/dist/src/mpc/tss.js +0 -346
  473. package/dist/src/mpc/util.d.ts +0 -7
  474. package/dist/src/mpc/util.d.ts.map +0 -1
  475. package/dist/src/mpc/util.js +0 -38
  476. package/dist/src/utils/crypto.d.ts +0 -99
  477. package/dist/src/utils/crypto.d.ts.map +0 -1
  478. package/dist/src/utils/crypto.js +0 -260
  479. package/dist/src/utils/ed25519KeyDeriver.d.ts +0 -49
  480. package/dist/src/utils/ed25519KeyDeriver.d.ts.map +0 -1
  481. package/dist/src/utils/ed25519KeyDeriver.js +0 -92
@@ -1,71 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,94 +0,0 @@
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=
@@ -1,128 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,179 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- 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=
@@ -1,30 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,20 +0,0 @@
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
@@ -1,45 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZVV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvaW4vYmFzZUNvaW4vYmFzZVV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEJhc2VVdGlscyB7XG4gIC8qKlxuICAgKiBSZXR1cm5zIHdoZXRoZXIgb3Igbm90IHRoZSBzdHJpbmcgaXMgYSB2YWxpZCBwcm90b2NvbCBhZGRyZXNzXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhZGRyZXNzIC0gdGhlIGFkZHJlc3MgdG8gYmUgdmFsaWRhdGVkXG4gICAqIEByZXR1cm5zIHtib29sZWFufSAtIHRoZSB2YWxpZGF0aW9uIHJlc3VsdFxuICAgKi9cbiAgaXNWYWxpZEFkZHJlc3MoYWRkcmVzczogc3RyaW5nKTogYm9vbGVhbjtcblxuICAvKipcbiAgICogUmV0dXJucyB3aGV0aGVyIG9yIG5vdCB0aGUgc3RyaW5nIGlzIGEgdmFsaWQgcHJvdG9jb2wgdHJhbnNhY3Rpb24gaWQgb3Igbm90XG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0eElkIC0gdGhlIHRyYW5zYWN0aW9uIGlkIHRvIGJlIHZhbGlkYXRlZFxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gLSB0aGUgdmFsaWRhdGlvbiByZXN1bHRcbiAgICovXG4gIGlzVmFsaWRUcmFuc2FjdGlvbklkKHR4SWQ6IHN0cmluZyk6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFJldHVybnMgd2hldGhlciBvciBub3QgdGhlIHN0cmluZyBpcyBhIHZhbGlkIHByb3RvY29sIHB1YmxpYyBrZXlcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGtleSAtIHRoZSAgcHVibGljIGtleSB0byBiZSB2YWxpZGF0ZWRcbiAgICogQHJldHVybnMge2Jvb2xlYW59IC0gdGhlIHZhbGlkYXRpb24gcmVzdWx0XG4gICAqL1xuICBpc1ZhbGlkUHVibGljS2V5KGtleTogc3RyaW5nKTogYm9vbGVhbjtcblxuICAvKipcbiAgICogUmV0dXJucyB3aGV0aGVyIG9yIG5vdCB0aGUgc3RyaW5nIGlzIGEgdmFsaWQgcHJvdG9jb2wgcHJpdmF0ZSBrZXlcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGtleSAtIHRoZSAgcHJpdmF0ZSBrZXkgdG8gYmUgdmFsaWRhdGVkXG4gICAqIEByZXR1cm5zIHtib29sZWFufSAtIHRoZSB2YWxpZGF0aW9uIHJlc3VsdFxuICAgKi9cbiAgaXNWYWxpZFByaXZhdGVLZXkoa2V5OiBzdHJpbmcpOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHdoZXRoZXIgb3Igbm90IHRoZSBzdHJpbmcgaXMgYSB2YWxpZCBwcm90b2NvbCBzaWduYXR1cmVcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHNpZ25hdHVyZSAtIHRoZSBzaWduYXR1cmUgdG8gdmFsaWRhdGVcbiAgICogQHJldHVybnMge2Jvb2xlYW59IC0gdGhlIHZhbGlkYXRpb24gcmVzdWx0XG4gICAqL1xuICBpc1ZhbGlkU2lnbmF0dXJlKHNpZ25hdHVyZTogc3RyaW5nKTogYm9vbGVhbjtcblxuICAvKipcbiAgICogUmV0dXJucyB3aGV0aGVyIG9yIG5vdCB0aGUgc3RyaW5nIGlzIGEgdmFsaWQgcHJvdG9jb2wgYmxvY2sgaGFzaFxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gaGFzaCAtIHRoZSBhZGRyZXNzIHRvIHZhbGlkYXRlXG4gICAqIEByZXR1cm5zIHtib29sZWFufSAtIHRoZSB2YWxpZGF0aW9uIHJlc3VsdFxuICAgKi9cbiAgaXNWYWxpZEJsb2NrSWQoaGFzaDogc3RyaW5nKTogYm9vbGVhbjtcbn1cbiJdfQ==