@ledgerhq/coin-kaspa 1.1.0-nightly.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 (640) hide show
  1. package/.eslintrc.js +20 -0
  2. package/.turbo/turbo-build.log +4 -0
  3. package/.unimportedrc.json +87 -0
  4. package/CHANGELOG.md +978 -0
  5. package/LICENSE.txt +21 -0
  6. package/jest-global-setup.js +9 -0
  7. package/jest.config.js +21 -0
  8. package/jest.integ.config.js +8 -0
  9. package/lib/bridge/broadcast.d.ts +8 -0
  10. package/lib/bridge/broadcast.d.ts.map +1 -0
  11. package/lib/bridge/broadcast.js +16 -0
  12. package/lib/bridge/broadcast.js.map +1 -0
  13. package/lib/bridge/buildInitialOperation.d.ts +5 -0
  14. package/lib/bridge/buildInitialOperation.d.ts.map +1 -0
  15. package/lib/bridge/buildInitialOperation.js +31 -0
  16. package/lib/bridge/buildInitialOperation.js.map +1 -0
  17. package/lib/bridge/buildTransaction.d.ts +16 -0
  18. package/lib/bridge/buildTransaction.d.ts.map +1 -0
  19. package/lib/bridge/buildTransaction.js +63 -0
  20. package/lib/bridge/buildTransaction.js.map +1 -0
  21. package/lib/bridge/createTransaction.d.ts +4 -0
  22. package/lib/bridge/createTransaction.d.ts.map +1 -0
  23. package/lib/bridge/createTransaction.js +15 -0
  24. package/lib/bridge/createTransaction.js.map +1 -0
  25. package/lib/bridge/estimateMaxSpendable.d.ts +4 -0
  26. package/lib/bridge/estimateMaxSpendable.d.ts.map +1 -0
  27. package/lib/bridge/estimateMaxSpendable.js +19 -0
  28. package/lib/bridge/estimateMaxSpendable.js.map +1 -0
  29. package/lib/bridge/getTransactionStatus.d.ts +4 -0
  30. package/lib/bridge/getTransactionStatus.d.ts.map +1 -0
  31. package/lib/bridge/getTransactionStatus.js +68 -0
  32. package/lib/bridge/getTransactionStatus.js.map +1 -0
  33. package/lib/bridge/index.d.ts +9 -0
  34. package/lib/bridge/index.d.ts.map +1 -0
  35. package/lib/bridge/index.js +75 -0
  36. package/lib/bridge/index.js.map +1 -0
  37. package/lib/bridge/initAccount.d.ts +2 -0
  38. package/lib/bridge/initAccount.d.ts.map +1 -0
  39. package/lib/bridge/initAccount.js +6 -0
  40. package/lib/bridge/initAccount.js.map +1 -0
  41. package/lib/bridge/prepareTransaction.d.ts +14 -0
  42. package/lib/bridge/prepareTransaction.d.ts.map +1 -0
  43. package/lib/bridge/prepareTransaction.js +46 -0
  44. package/lib/bridge/prepareTransaction.js.map +1 -0
  45. package/lib/bridge/signOperation.d.ts +8 -0
  46. package/lib/bridge/signOperation.d.ts.map +1 -0
  47. package/lib/bridge/signOperation.js +34 -0
  48. package/lib/bridge/signOperation.js.map +1 -0
  49. package/lib/bridge/synchronization.d.ts +4 -0
  50. package/lib/bridge/synchronization.d.ts.map +1 -0
  51. package/lib/bridge/synchronization.js +66 -0
  52. package/lib/bridge/synchronization.js.map +1 -0
  53. package/lib/config.d.ts +8 -0
  54. package/lib/config.d.ts.map +1 -0
  55. package/lib/config.js +9 -0
  56. package/lib/config.js.map +1 -0
  57. package/lib/deviceTransactionConfig.d.ts +11 -0
  58. package/lib/deviceTransactionConfig.d.ts.map +1 -0
  59. package/lib/deviceTransactionConfig.js +32 -0
  60. package/lib/deviceTransactionConfig.js.map +1 -0
  61. package/lib/errors.d.ts +8 -0
  62. package/lib/errors.d.ts.map +1 -0
  63. package/lib/errors.js +8 -0
  64. package/lib/errors.js.map +1 -0
  65. package/lib/hw-getAddress.d.ts +6 -0
  66. package/lib/hw-getAddress.d.ts.map +1 -0
  67. package/lib/hw-getAddress.js +14 -0
  68. package/lib/hw-getAddress.js.map +1 -0
  69. package/lib/index.d.ts +2 -0
  70. package/lib/index.d.ts.map +1 -0
  71. package/lib/index.js +18 -0
  72. package/lib/index.js.map +1 -0
  73. package/lib/logic/base32.d.ts +30 -0
  74. package/lib/logic/base32.d.ts.map +1 -0
  75. package/lib/logic/base32.js +99 -0
  76. package/lib/logic/base32.js.map +1 -0
  77. package/lib/logic/bip32.d.ts +9 -0
  78. package/lib/logic/bip32.d.ts.map +1 -0
  79. package/lib/logic/bip32.js +23 -0
  80. package/lib/logic/bip32.js.map +1 -0
  81. package/lib/logic/getAllTransactions.d.ts +3 -0
  82. package/lib/logic/getAllTransactions.d.ts.map +1 -0
  83. package/lib/logic/getAllTransactions.js +19 -0
  84. package/lib/logic/getAllTransactions.js.map +1 -0
  85. package/lib/logic/getFeeRate.d.ts +4 -0
  86. package/lib/logic/getFeeRate.d.ts.map +1 -0
  87. package/lib/logic/getFeeRate.js +19 -0
  88. package/lib/logic/getFeeRate.js.map +1 -0
  89. package/lib/logic/index.d.ts +11 -0
  90. package/lib/logic/index.d.ts.map +1 -0
  91. package/lib/logic/index.js +27 -0
  92. package/lib/logic/index.js.map +1 -0
  93. package/lib/logic/kaspaAddresses.d.ts +30 -0
  94. package/lib/logic/kaspaAddresses.d.ts.map +1 -0
  95. package/lib/logic/kaspaAddresses.js +231 -0
  96. package/lib/logic/kaspaAddresses.js.map +1 -0
  97. package/lib/logic/massCalcluation.d.ts +4 -0
  98. package/lib/logic/massCalcluation.d.ts.map +1 -0
  99. package/lib/logic/massCalcluation.js +40 -0
  100. package/lib/logic/massCalcluation.js.map +1 -0
  101. package/lib/logic/scanAddresses.d.ts +13 -0
  102. package/lib/logic/scanAddresses.d.ts.map +1 -0
  103. package/lib/logic/scanAddresses.js +147 -0
  104. package/lib/logic/scanAddresses.js.map +1 -0
  105. package/lib/logic/scanOperations.d.ts +3 -0
  106. package/lib/logic/scanOperations.d.ts.map +1 -0
  107. package/lib/logic/scanOperations.js +43 -0
  108. package/lib/logic/scanOperations.js.map +1 -0
  109. package/lib/logic/scanUtxos.d.ts +8 -0
  110. package/lib/logic/scanUtxos.d.ts.map +1 -0
  111. package/lib/logic/scanUtxos.js +39 -0
  112. package/lib/logic/scanUtxos.js.map +1 -0
  113. package/lib/logic/tests/bip32.test.d.ts +2 -0
  114. package/lib/logic/tests/bip32.test.d.ts.map +1 -0
  115. package/lib/logic/tests/bip32.test.js +64 -0
  116. package/lib/logic/tests/bip32.test.js.map +1 -0
  117. package/lib/logic/tests/getFeeRate.test.d.ts +2 -0
  118. package/lib/logic/tests/getFeeRate.test.d.ts.map +1 -0
  119. package/lib/logic/tests/getFeeRate.test.js +57 -0
  120. package/lib/logic/tests/getFeeRate.test.js.map +1 -0
  121. package/lib/logic/tests/kaspaAddresses.test.d.ts +2 -0
  122. package/lib/logic/tests/kaspaAddresses.test.d.ts.map +1 -0
  123. package/lib/logic/tests/kaspaAddresses.test.js +172 -0
  124. package/lib/logic/tests/kaspaAddresses.test.js.map +1 -0
  125. package/lib/logic/tests/massCalcluation.test.d.ts +2 -0
  126. package/lib/logic/tests/massCalcluation.test.d.ts.map +1 -0
  127. package/lib/logic/tests/massCalcluation.test.js +27 -0
  128. package/lib/logic/tests/massCalcluation.test.js.map +1 -0
  129. package/lib/logic/tests/scanAddresses.integ.test.d.ts +2 -0
  130. package/lib/logic/tests/scanAddresses.integ.test.d.ts.map +1 -0
  131. package/lib/logic/tests/scanAddresses.integ.test.js +18 -0
  132. package/lib/logic/tests/scanAddresses.integ.test.js.map +1 -0
  133. package/lib/logic/tests/scanOperations.integ.test.d.ts +2 -0
  134. package/lib/logic/tests/scanOperations.integ.test.d.ts.map +1 -0
  135. package/lib/logic/tests/scanOperations.integ.test.js +254 -0
  136. package/lib/logic/tests/scanOperations.integ.test.js.map +1 -0
  137. package/lib/logic/tests/scanOperations.test.d.ts +2 -0
  138. package/lib/logic/tests/scanOperations.test.d.ts.map +1 -0
  139. package/lib/logic/tests/scanOperations.test.js +184 -0
  140. package/lib/logic/tests/scanOperations.test.js.map +1 -0
  141. package/lib/logic/tests/scanUtxos.integ.test.d.ts +2 -0
  142. package/lib/logic/tests/scanUtxos.integ.test.d.ts.map +1 -0
  143. package/lib/logic/tests/scanUtxos.integ.test.js +13 -0
  144. package/lib/logic/tests/scanUtxos.integ.test.js.map +1 -0
  145. package/lib/logic/tests/scanUtxos.test.d.ts +2 -0
  146. package/lib/logic/tests/scanUtxos.test.d.ts.map +1 -0
  147. package/lib/logic/tests/scanUtxos.test.js +167 -0
  148. package/lib/logic/tests/scanUtxos.test.js.map +1 -0
  149. package/lib/logic/tests/utxoLib.test.d.ts +2 -0
  150. package/lib/logic/tests/utxoLib.test.d.ts.map +1 -0
  151. package/lib/logic/tests/utxoLib.test.js +26 -0
  152. package/lib/logic/tests/utxoLib.test.js.map +1 -0
  153. package/lib/logic/tests/utxoSelection.test.d.ts +10 -0
  154. package/lib/logic/tests/utxoSelection.test.d.ts.map +1 -0
  155. package/lib/logic/tests/utxoSelection.test.js +256 -0
  156. package/lib/logic/tests/utxoSelection.test.js.map +1 -0
  157. package/lib/logic/tests/validAddress.test.d.ts +2 -0
  158. package/lib/logic/tests/validAddress.test.d.ts.map +1 -0
  159. package/lib/logic/tests/validAddress.test.js +56 -0
  160. package/lib/logic/tests/validAddress.test.js.map +1 -0
  161. package/lib/logic/utxos/lib.d.ts +6 -0
  162. package/lib/logic/utxos/lib.d.ts.map +1 -0
  163. package/lib/logic/utxos/lib.js +27 -0
  164. package/lib/logic/utxos/lib.js.map +1 -0
  165. package/lib/logic/utxos/selection.d.ts +8 -0
  166. package/lib/logic/utxos/selection.d.ts.map +1 -0
  167. package/lib/logic/utxos/selection.js +80 -0
  168. package/lib/logic/utxos/selection.js.map +1 -0
  169. package/lib/network/config.d.ts +3 -0
  170. package/lib/network/config.d.ts.map +1 -0
  171. package/lib/network/config.js +8 -0
  172. package/lib/network/config.js.map +1 -0
  173. package/lib/network/getAddressesActive.d.ts +3 -0
  174. package/lib/network/getAddressesActive.d.ts.map +1 -0
  175. package/lib/network/getAddressesActive.js +25 -0
  176. package/lib/network/getAddressesActive.js.map +1 -0
  177. package/lib/network/getBalancesForAddresses.d.ts +3 -0
  178. package/lib/network/getBalancesForAddresses.d.ts.map +1 -0
  179. package/lib/network/getBalancesForAddresses.js +25 -0
  180. package/lib/network/getBalancesForAddresses.js.map +1 -0
  181. package/lib/network/getBlockDagInfo.d.ts +3 -0
  182. package/lib/network/getBlockDagInfo.d.ts.map +1 -0
  183. package/lib/network/getBlockDagInfo.js +24 -0
  184. package/lib/network/getBlockDagInfo.js.map +1 -0
  185. package/lib/network/getFeeEstimate.d.ts +3 -0
  186. package/lib/network/getFeeEstimate.d.ts.map +1 -0
  187. package/lib/network/getFeeEstimate.js +23 -0
  188. package/lib/network/getFeeEstimate.js.map +1 -0
  189. package/lib/network/getTransactions.d.ts +6 -0
  190. package/lib/network/getTransactions.d.ts.map +1 -0
  191. package/lib/network/getTransactions.js +19 -0
  192. package/lib/network/getTransactions.js.map +1 -0
  193. package/lib/network/getUtxosForAddresses.d.ts +3 -0
  194. package/lib/network/getUtxosForAddresses.d.ts.map +1 -0
  195. package/lib/network/getUtxosForAddresses.js +25 -0
  196. package/lib/network/getUtxosForAddresses.js.map +1 -0
  197. package/lib/network/getVirtualChainBlueScore.d.ts +2 -0
  198. package/lib/network/getVirtualChainBlueScore.d.ts.map +1 -0
  199. package/lib/network/getVirtualChainBlueScore.js +24 -0
  200. package/lib/network/getVirtualChainBlueScore.js.map +1 -0
  201. package/lib/network/index.d.ts +9 -0
  202. package/lib/network/index.d.ts.map +1 -0
  203. package/lib/network/index.js +20 -0
  204. package/lib/network/index.js.map +1 -0
  205. package/lib/network/submitTransaction.d.ts +3 -0
  206. package/lib/network/submitTransaction.d.ts.map +1 -0
  207. package/lib/network/submitTransaction.js +27 -0
  208. package/lib/network/submitTransaction.js.map +1 -0
  209. package/lib/network/tests/getAddressesActive.test.d.ts +2 -0
  210. package/lib/network/tests/getAddressesActive.test.d.ts.map +1 -0
  211. package/lib/network/tests/getAddressesActive.test.js +65 -0
  212. package/lib/network/tests/getAddressesActive.test.js.map +1 -0
  213. package/lib/network/tests/getBalancesForAddresss.test.d.ts +2 -0
  214. package/lib/network/tests/getBalancesForAddresss.test.d.ts.map +1 -0
  215. package/lib/network/tests/getBalancesForAddresss.test.js +40 -0
  216. package/lib/network/tests/getBalancesForAddresss.test.js.map +1 -0
  217. package/lib/network/tests/getBlockDagInfo.test.d.ts +2 -0
  218. package/lib/network/tests/getBlockDagInfo.test.d.ts.map +1 -0
  219. package/lib/network/tests/getBlockDagInfo.test.js +36 -0
  220. package/lib/network/tests/getBlockDagInfo.test.js.map +1 -0
  221. package/lib/network/tests/getFeeEstimate.test.d.ts +2 -0
  222. package/lib/network/tests/getFeeEstimate.test.d.ts.map +1 -0
  223. package/lib/network/tests/getFeeEstimate.test.js +54 -0
  224. package/lib/network/tests/getFeeEstimate.test.js.map +1 -0
  225. package/lib/network/tests/getTransactions.test.d.ts +2 -0
  226. package/lib/network/tests/getTransactions.test.d.ts.map +1 -0
  227. package/lib/network/tests/getTransactions.test.js +157 -0
  228. package/lib/network/tests/getTransactions.test.js.map +1 -0
  229. package/lib/network/tests/getUtxosForAddress.test.d.ts +2 -0
  230. package/lib/network/tests/getUtxosForAddress.test.d.ts.map +1 -0
  231. package/lib/network/tests/getUtxosForAddress.test.js +142 -0
  232. package/lib/network/tests/getUtxosForAddress.test.js.map +1 -0
  233. package/lib/network/tests/getVirtualChainBlueScore.test.d.ts +2 -0
  234. package/lib/network/tests/getVirtualChainBlueScore.test.d.ts.map +1 -0
  235. package/lib/network/tests/getVirtualChainBlueScore.test.js +27 -0
  236. package/lib/network/tests/getVirtualChainBlueScore.test.js.map +1 -0
  237. package/lib/network/tests/submitTransaction.test.d.ts +2 -0
  238. package/lib/network/tests/submitTransaction.test.d.ts.map +1 -0
  239. package/lib/network/tests/submitTransaction.test.js +43 -0
  240. package/lib/network/tests/submitTransaction.test.js.map +1 -0
  241. package/lib/test/bridgeDatasetTest.d.ts +4 -0
  242. package/lib/test/bridgeDatasetTest.d.ts.map +1 -0
  243. package/lib/test/bridgeDatasetTest.js +46 -0
  244. package/lib/test/bridgeDatasetTest.js.map +1 -0
  245. package/lib/test/cli.d.ts +16 -0
  246. package/lib/test/cli.d.ts.map +1 -0
  247. package/lib/test/cli.js +30 -0
  248. package/lib/test/cli.js.map +1 -0
  249. package/lib/test/index.d.ts +2 -0
  250. package/lib/test/index.d.ts.map +1 -0
  251. package/lib/test/index.js +18 -0
  252. package/lib/test/index.js.map +1 -0
  253. package/lib/transaction.d.ts +16 -0
  254. package/lib/transaction.d.ts.map +1 -0
  255. package/lib/transaction.js +66 -0
  256. package/lib/transaction.js.map +1 -0
  257. package/lib/types/addresses.d.ts +18 -0
  258. package/lib/types/addresses.d.ts.map +1 -0
  259. package/lib/types/addresses.js +3 -0
  260. package/lib/types/addresses.js.map +1 -0
  261. package/lib/types/bridge.d.ts +34 -0
  262. package/lib/types/bridge.d.ts.map +1 -0
  263. package/lib/types/bridge.js +3 -0
  264. package/lib/types/bridge.js.map +1 -0
  265. package/lib/types/errors.d.ts +10 -0
  266. package/lib/types/errors.d.ts.map +1 -0
  267. package/lib/types/errors.js +8 -0
  268. package/lib/types/errors.js.map +1 -0
  269. package/lib/types/index.d.ts +8 -0
  270. package/lib/types/index.d.ts.map +1 -0
  271. package/lib/types/index.js +18 -0
  272. package/lib/types/index.js.map +1 -0
  273. package/lib/types/kaspaHwTransaction.d.ts +89 -0
  274. package/lib/types/kaspaHwTransaction.d.ts.map +1 -0
  275. package/lib/types/kaspaHwTransaction.js +167 -0
  276. package/lib/types/kaspaHwTransaction.js.map +1 -0
  277. package/lib/types/kaspaNetwork.d.ts +22 -0
  278. package/lib/types/kaspaNetwork.d.ts.map +1 -0
  279. package/lib/types/kaspaNetwork.js +3 -0
  280. package/lib/types/kaspaNetwork.js.map +1 -0
  281. package/lib/types/network.d.ts +91 -0
  282. package/lib/types/network.d.ts.map +1 -0
  283. package/lib/types/network.js +3 -0
  284. package/lib/types/network.js.map +1 -0
  285. package/lib/types/signer.d.ts +14 -0
  286. package/lib/types/signer.d.ts.map +1 -0
  287. package/lib/types/signer.js +3 -0
  288. package/lib/types/signer.js.map +1 -0
  289. package/lib-es/bridge/broadcast.d.ts +8 -0
  290. package/lib-es/bridge/broadcast.d.ts.map +1 -0
  291. package/lib-es/bridge/broadcast.js +12 -0
  292. package/lib-es/bridge/broadcast.js.map +1 -0
  293. package/lib-es/bridge/buildInitialOperation.d.ts +5 -0
  294. package/lib-es/bridge/buildInitialOperation.d.ts.map +1 -0
  295. package/lib-es/bridge/buildInitialOperation.js +27 -0
  296. package/lib-es/bridge/buildInitialOperation.js.map +1 -0
  297. package/lib-es/bridge/buildTransaction.d.ts +16 -0
  298. package/lib-es/bridge/buildTransaction.d.ts.map +1 -0
  299. package/lib-es/bridge/buildTransaction.js +59 -0
  300. package/lib-es/bridge/buildTransaction.js.map +1 -0
  301. package/lib-es/bridge/createTransaction.d.ts +4 -0
  302. package/lib-es/bridge/createTransaction.d.ts.map +1 -0
  303. package/lib-es/bridge/createTransaction.js +11 -0
  304. package/lib-es/bridge/createTransaction.js.map +1 -0
  305. package/lib-es/bridge/estimateMaxSpendable.d.ts +4 -0
  306. package/lib-es/bridge/estimateMaxSpendable.d.ts.map +1 -0
  307. package/lib-es/bridge/estimateMaxSpendable.js +15 -0
  308. package/lib-es/bridge/estimateMaxSpendable.js.map +1 -0
  309. package/lib-es/bridge/getTransactionStatus.d.ts +4 -0
  310. package/lib-es/bridge/getTransactionStatus.d.ts.map +1 -0
  311. package/lib-es/bridge/getTransactionStatus.js +66 -0
  312. package/lib-es/bridge/getTransactionStatus.js.map +1 -0
  313. package/lib-es/bridge/index.d.ts +9 -0
  314. package/lib-es/bridge/index.d.ts.map +1 -0
  315. package/lib-es/bridge/index.js +68 -0
  316. package/lib-es/bridge/index.js.map +1 -0
  317. package/lib-es/bridge/initAccount.d.ts +2 -0
  318. package/lib-es/bridge/initAccount.d.ts.map +1 -0
  319. package/lib-es/bridge/initAccount.js +2 -0
  320. package/lib-es/bridge/initAccount.js.map +1 -0
  321. package/lib-es/bridge/prepareTransaction.d.ts +14 -0
  322. package/lib-es/bridge/prepareTransaction.d.ts.map +1 -0
  323. package/lib-es/bridge/prepareTransaction.js +39 -0
  324. package/lib-es/bridge/prepareTransaction.js.map +1 -0
  325. package/lib-es/bridge/signOperation.d.ts +8 -0
  326. package/lib-es/bridge/signOperation.d.ts.map +1 -0
  327. package/lib-es/bridge/signOperation.js +27 -0
  328. package/lib-es/bridge/signOperation.js.map +1 -0
  329. package/lib-es/bridge/synchronization.d.ts +4 -0
  330. package/lib-es/bridge/synchronization.d.ts.map +1 -0
  331. package/lib-es/bridge/synchronization.js +62 -0
  332. package/lib-es/bridge/synchronization.js.map +1 -0
  333. package/lib-es/config.d.ts +8 -0
  334. package/lib-es/config.d.ts.map +1 -0
  335. package/lib-es/config.js +4 -0
  336. package/lib-es/config.js.map +1 -0
  337. package/lib-es/deviceTransactionConfig.d.ts +11 -0
  338. package/lib-es/deviceTransactionConfig.d.ts.map +1 -0
  339. package/lib-es/deviceTransactionConfig.js +30 -0
  340. package/lib-es/deviceTransactionConfig.js.map +1 -0
  341. package/lib-es/errors.d.ts +8 -0
  342. package/lib-es/errors.d.ts.map +1 -0
  343. package/lib-es/errors.js +5 -0
  344. package/lib-es/errors.js.map +1 -0
  345. package/lib-es/hw-getAddress.d.ts +6 -0
  346. package/lib-es/hw-getAddress.d.ts.map +1 -0
  347. package/lib-es/hw-getAddress.js +12 -0
  348. package/lib-es/hw-getAddress.js.map +1 -0
  349. package/lib-es/index.d.ts +2 -0
  350. package/lib-es/index.d.ts.map +1 -0
  351. package/lib-es/index.js +2 -0
  352. package/lib-es/index.js.map +1 -0
  353. package/lib-es/logic/base32.d.ts +30 -0
  354. package/lib-es/logic/base32.d.ts.map +1 -0
  355. package/lib-es/logic/base32.js +95 -0
  356. package/lib-es/logic/base32.js.map +1 -0
  357. package/lib-es/logic/bip32.d.ts +9 -0
  358. package/lib-es/logic/bip32.d.ts.map +1 -0
  359. package/lib-es/logic/bip32.js +17 -0
  360. package/lib-es/logic/bip32.js.map +1 -0
  361. package/lib-es/logic/getAllTransactions.d.ts +3 -0
  362. package/lib-es/logic/getAllTransactions.d.ts.map +1 -0
  363. package/lib-es/logic/getAllTransactions.js +15 -0
  364. package/lib-es/logic/getAllTransactions.js.map +1 -0
  365. package/lib-es/logic/getFeeRate.d.ts +4 -0
  366. package/lib-es/logic/getFeeRate.d.ts.map +1 -0
  367. package/lib-es/logic/getFeeRate.js +15 -0
  368. package/lib-es/logic/getFeeRate.js.map +1 -0
  369. package/lib-es/logic/index.d.ts +11 -0
  370. package/lib-es/logic/index.d.ts.map +1 -0
  371. package/lib-es/logic/index.js +11 -0
  372. package/lib-es/logic/index.js.map +1 -0
  373. package/lib-es/logic/kaspaAddresses.d.ts +30 -0
  374. package/lib-es/logic/kaspaAddresses.d.ts.map +1 -0
  375. package/lib-es/logic/kaspaAddresses.js +219 -0
  376. package/lib-es/logic/kaspaAddresses.js.map +1 -0
  377. package/lib-es/logic/massCalcluation.d.ts +4 -0
  378. package/lib-es/logic/massCalcluation.d.ts.map +1 -0
  379. package/lib-es/logic/massCalcluation.js +35 -0
  380. package/lib-es/logic/massCalcluation.js.map +1 -0
  381. package/lib-es/logic/scanAddresses.d.ts +13 -0
  382. package/lib-es/logic/scanAddresses.d.ts.map +1 -0
  383. package/lib-es/logic/scanAddresses.js +140 -0
  384. package/lib-es/logic/scanAddresses.js.map +1 -0
  385. package/lib-es/logic/scanOperations.d.ts +3 -0
  386. package/lib-es/logic/scanOperations.d.ts.map +1 -0
  387. package/lib-es/logic/scanOperations.js +39 -0
  388. package/lib-es/logic/scanOperations.js.map +1 -0
  389. package/lib-es/logic/scanUtxos.d.ts +8 -0
  390. package/lib-es/logic/scanUtxos.d.ts.map +1 -0
  391. package/lib-es/logic/scanUtxos.js +35 -0
  392. package/lib-es/logic/scanUtxos.js.map +1 -0
  393. package/lib-es/logic/tests/bip32.test.d.ts +2 -0
  394. package/lib-es/logic/tests/bip32.test.d.ts.map +1 -0
  395. package/lib-es/logic/tests/bip32.test.js +59 -0
  396. package/lib-es/logic/tests/bip32.test.js.map +1 -0
  397. package/lib-es/logic/tests/getFeeRate.test.d.ts +2 -0
  398. package/lib-es/logic/tests/getFeeRate.test.d.ts.map +1 -0
  399. package/lib-es/logic/tests/getFeeRate.test.js +55 -0
  400. package/lib-es/logic/tests/getFeeRate.test.js.map +1 -0
  401. package/lib-es/logic/tests/kaspaAddresses.test.d.ts +2 -0
  402. package/lib-es/logic/tests/kaspaAddresses.test.d.ts.map +1 -0
  403. package/lib-es/logic/tests/kaspaAddresses.test.js +170 -0
  404. package/lib-es/logic/tests/kaspaAddresses.test.js.map +1 -0
  405. package/lib-es/logic/tests/massCalcluation.test.d.ts +2 -0
  406. package/lib-es/logic/tests/massCalcluation.test.d.ts.map +1 -0
  407. package/lib-es/logic/tests/massCalcluation.test.js +22 -0
  408. package/lib-es/logic/tests/massCalcluation.test.js.map +1 -0
  409. package/lib-es/logic/tests/scanAddresses.integ.test.d.ts +2 -0
  410. package/lib-es/logic/tests/scanAddresses.integ.test.d.ts.map +1 -0
  411. package/lib-es/logic/tests/scanAddresses.integ.test.js +16 -0
  412. package/lib-es/logic/tests/scanAddresses.integ.test.js.map +1 -0
  413. package/lib-es/logic/tests/scanOperations.integ.test.d.ts +2 -0
  414. package/lib-es/logic/tests/scanOperations.integ.test.d.ts.map +1 -0
  415. package/lib-es/logic/tests/scanOperations.integ.test.js +249 -0
  416. package/lib-es/logic/tests/scanOperations.integ.test.js.map +1 -0
  417. package/lib-es/logic/tests/scanOperations.test.d.ts +2 -0
  418. package/lib-es/logic/tests/scanOperations.test.d.ts.map +1 -0
  419. package/lib-es/logic/tests/scanOperations.test.js +156 -0
  420. package/lib-es/logic/tests/scanOperations.test.js.map +1 -0
  421. package/lib-es/logic/tests/scanUtxos.integ.test.d.ts +2 -0
  422. package/lib-es/logic/tests/scanUtxos.integ.test.d.ts.map +1 -0
  423. package/lib-es/logic/tests/scanUtxos.integ.test.js +11 -0
  424. package/lib-es/logic/tests/scanUtxos.integ.test.js.map +1 -0
  425. package/lib-es/logic/tests/scanUtxos.test.d.ts +2 -0
  426. package/lib-es/logic/tests/scanUtxos.test.d.ts.map +1 -0
  427. package/lib-es/logic/tests/scanUtxos.test.js +139 -0
  428. package/lib-es/logic/tests/scanUtxos.test.js.map +1 -0
  429. package/lib-es/logic/tests/utxoLib.test.d.ts +2 -0
  430. package/lib-es/logic/tests/utxoLib.test.d.ts.map +1 -0
  431. package/lib-es/logic/tests/utxoLib.test.js +24 -0
  432. package/lib-es/logic/tests/utxoLib.test.js.map +1 -0
  433. package/lib-es/logic/tests/utxoSelection.test.d.ts +10 -0
  434. package/lib-es/logic/tests/utxoSelection.test.d.ts.map +1 -0
  435. package/lib-es/logic/tests/utxoSelection.test.js +229 -0
  436. package/lib-es/logic/tests/utxoSelection.test.js.map +1 -0
  437. package/lib-es/logic/tests/validAddress.test.d.ts +2 -0
  438. package/lib-es/logic/tests/validAddress.test.d.ts.map +1 -0
  439. package/lib-es/logic/tests/validAddress.test.js +54 -0
  440. package/lib-es/logic/tests/validAddress.test.js.map +1 -0
  441. package/lib-es/logic/utxos/lib.d.ts +6 -0
  442. package/lib-es/logic/utxos/lib.d.ts.map +1 -0
  443. package/lib-es/logic/utxos/lib.js +21 -0
  444. package/lib-es/logic/utxos/lib.js.map +1 -0
  445. package/lib-es/logic/utxos/selection.d.ts +8 -0
  446. package/lib-es/logic/utxos/selection.d.ts.map +1 -0
  447. package/lib-es/logic/utxos/selection.js +76 -0
  448. package/lib-es/logic/utxos/selection.js.map +1 -0
  449. package/lib-es/network/config.d.ts +3 -0
  450. package/lib-es/network/config.d.ts.map +1 -0
  451. package/lib-es/network/config.js +5 -0
  452. package/lib-es/network/config.js.map +1 -0
  453. package/lib-es/network/getAddressesActive.d.ts +3 -0
  454. package/lib-es/network/getAddressesActive.d.ts.map +1 -0
  455. package/lib-es/network/getAddressesActive.js +21 -0
  456. package/lib-es/network/getAddressesActive.js.map +1 -0
  457. package/lib-es/network/getBalancesForAddresses.d.ts +3 -0
  458. package/lib-es/network/getBalancesForAddresses.d.ts.map +1 -0
  459. package/lib-es/network/getBalancesForAddresses.js +21 -0
  460. package/lib-es/network/getBalancesForAddresses.js.map +1 -0
  461. package/lib-es/network/getBlockDagInfo.d.ts +3 -0
  462. package/lib-es/network/getBlockDagInfo.d.ts.map +1 -0
  463. package/lib-es/network/getBlockDagInfo.js +20 -0
  464. package/lib-es/network/getBlockDagInfo.js.map +1 -0
  465. package/lib-es/network/getFeeEstimate.d.ts +3 -0
  466. package/lib-es/network/getFeeEstimate.d.ts.map +1 -0
  467. package/lib-es/network/getFeeEstimate.js +19 -0
  468. package/lib-es/network/getFeeEstimate.js.map +1 -0
  469. package/lib-es/network/getTransactions.d.ts +6 -0
  470. package/lib-es/network/getTransactions.d.ts.map +1 -0
  471. package/lib-es/network/getTransactions.js +15 -0
  472. package/lib-es/network/getTransactions.js.map +1 -0
  473. package/lib-es/network/getUtxosForAddresses.d.ts +3 -0
  474. package/lib-es/network/getUtxosForAddresses.d.ts.map +1 -0
  475. package/lib-es/network/getUtxosForAddresses.js +21 -0
  476. package/lib-es/network/getUtxosForAddresses.js.map +1 -0
  477. package/lib-es/network/getVirtualChainBlueScore.d.ts +2 -0
  478. package/lib-es/network/getVirtualChainBlueScore.d.ts.map +1 -0
  479. package/lib-es/network/getVirtualChainBlueScore.js +20 -0
  480. package/lib-es/network/getVirtualChainBlueScore.js.map +1 -0
  481. package/lib-es/network/index.d.ts +9 -0
  482. package/lib-es/network/index.d.ts.map +1 -0
  483. package/lib-es/network/index.js +9 -0
  484. package/lib-es/network/index.js.map +1 -0
  485. package/lib-es/network/submitTransaction.d.ts +3 -0
  486. package/lib-es/network/submitTransaction.d.ts.map +1 -0
  487. package/lib-es/network/submitTransaction.js +23 -0
  488. package/lib-es/network/submitTransaction.js.map +1 -0
  489. package/lib-es/network/tests/getAddressesActive.test.d.ts +2 -0
  490. package/lib-es/network/tests/getAddressesActive.test.d.ts.map +1 -0
  491. package/lib-es/network/tests/getAddressesActive.test.js +63 -0
  492. package/lib-es/network/tests/getAddressesActive.test.js.map +1 -0
  493. package/lib-es/network/tests/getBalancesForAddresss.test.d.ts +2 -0
  494. package/lib-es/network/tests/getBalancesForAddresss.test.d.ts.map +1 -0
  495. package/lib-es/network/tests/getBalancesForAddresss.test.js +38 -0
  496. package/lib-es/network/tests/getBalancesForAddresss.test.js.map +1 -0
  497. package/lib-es/network/tests/getBlockDagInfo.test.d.ts +2 -0
  498. package/lib-es/network/tests/getBlockDagInfo.test.d.ts.map +1 -0
  499. package/lib-es/network/tests/getBlockDagInfo.test.js +34 -0
  500. package/lib-es/network/tests/getBlockDagInfo.test.js.map +1 -0
  501. package/lib-es/network/tests/getFeeEstimate.test.d.ts +2 -0
  502. package/lib-es/network/tests/getFeeEstimate.test.d.ts.map +1 -0
  503. package/lib-es/network/tests/getFeeEstimate.test.js +52 -0
  504. package/lib-es/network/tests/getFeeEstimate.test.js.map +1 -0
  505. package/lib-es/network/tests/getTransactions.test.d.ts +2 -0
  506. package/lib-es/network/tests/getTransactions.test.d.ts.map +1 -0
  507. package/lib-es/network/tests/getTransactions.test.js +155 -0
  508. package/lib-es/network/tests/getTransactions.test.js.map +1 -0
  509. package/lib-es/network/tests/getUtxosForAddress.test.d.ts +2 -0
  510. package/lib-es/network/tests/getUtxosForAddress.test.d.ts.map +1 -0
  511. package/lib-es/network/tests/getUtxosForAddress.test.js +140 -0
  512. package/lib-es/network/tests/getUtxosForAddress.test.js.map +1 -0
  513. package/lib-es/network/tests/getVirtualChainBlueScore.test.d.ts +2 -0
  514. package/lib-es/network/tests/getVirtualChainBlueScore.test.d.ts.map +1 -0
  515. package/lib-es/network/tests/getVirtualChainBlueScore.test.js +25 -0
  516. package/lib-es/network/tests/getVirtualChainBlueScore.test.js.map +1 -0
  517. package/lib-es/network/tests/submitTransaction.test.d.ts +2 -0
  518. package/lib-es/network/tests/submitTransaction.test.d.ts.map +1 -0
  519. package/lib-es/network/tests/submitTransaction.test.js +41 -0
  520. package/lib-es/network/tests/submitTransaction.test.js.map +1 -0
  521. package/lib-es/test/bridgeDatasetTest.d.ts +4 -0
  522. package/lib-es/test/bridgeDatasetTest.d.ts.map +1 -0
  523. package/lib-es/test/bridgeDatasetTest.js +43 -0
  524. package/lib-es/test/bridgeDatasetTest.js.map +1 -0
  525. package/lib-es/test/cli.d.ts +16 -0
  526. package/lib-es/test/cli.d.ts.map +1 -0
  527. package/lib-es/test/cli.js +25 -0
  528. package/lib-es/test/cli.js.map +1 -0
  529. package/lib-es/test/index.d.ts +2 -0
  530. package/lib-es/test/index.d.ts.map +1 -0
  531. package/lib-es/test/index.js +2 -0
  532. package/lib-es/test/index.js.map +1 -0
  533. package/lib-es/transaction.d.ts +16 -0
  534. package/lib-es/transaction.d.ts.map +1 -0
  535. package/lib-es/transaction.js +59 -0
  536. package/lib-es/transaction.js.map +1 -0
  537. package/lib-es/types/addresses.d.ts +18 -0
  538. package/lib-es/types/addresses.d.ts.map +1 -0
  539. package/lib-es/types/addresses.js +2 -0
  540. package/lib-es/types/addresses.js.map +1 -0
  541. package/lib-es/types/bridge.d.ts +34 -0
  542. package/lib-es/types/bridge.d.ts.map +1 -0
  543. package/lib-es/types/bridge.js +2 -0
  544. package/lib-es/types/bridge.js.map +1 -0
  545. package/lib-es/types/errors.d.ts +10 -0
  546. package/lib-es/types/errors.d.ts.map +1 -0
  547. package/lib-es/types/errors.js +5 -0
  548. package/lib-es/types/errors.js.map +1 -0
  549. package/lib-es/types/index.d.ts +8 -0
  550. package/lib-es/types/index.d.ts.map +1 -0
  551. package/lib-es/types/index.js +2 -0
  552. package/lib-es/types/index.js.map +1 -0
  553. package/lib-es/types/kaspaHwTransaction.d.ts +89 -0
  554. package/lib-es/types/kaspaHwTransaction.d.ts.map +1 -0
  555. package/lib-es/types/kaspaHwTransaction.js +160 -0
  556. package/lib-es/types/kaspaHwTransaction.js.map +1 -0
  557. package/lib-es/types/kaspaNetwork.d.ts +22 -0
  558. package/lib-es/types/kaspaNetwork.d.ts.map +1 -0
  559. package/lib-es/types/kaspaNetwork.js +2 -0
  560. package/lib-es/types/kaspaNetwork.js.map +1 -0
  561. package/lib-es/types/network.d.ts +91 -0
  562. package/lib-es/types/network.d.ts.map +1 -0
  563. package/lib-es/types/network.js +2 -0
  564. package/lib-es/types/network.js.map +1 -0
  565. package/lib-es/types/signer.d.ts +14 -0
  566. package/lib-es/types/signer.d.ts.map +1 -0
  567. package/lib-es/types/signer.js +2 -0
  568. package/lib-es/types/signer.js.map +1 -0
  569. package/package.json +138 -0
  570. package/src/bridge/broadcast.ts +14 -0
  571. package/src/bridge/buildInitialOperation.ts +38 -0
  572. package/src/bridge/buildTransaction.ts +80 -0
  573. package/src/bridge/createTransaction.ts +13 -0
  574. package/src/bridge/estimateMaxSpendable.ts +23 -0
  575. package/src/bridge/getTransactionStatus.ts +116 -0
  576. package/src/bridge/index.ts +106 -0
  577. package/src/bridge/initAccount.ts +1 -0
  578. package/src/bridge/prepareTransaction.ts +48 -0
  579. package/src/bridge/signOperation.ts +43 -0
  580. package/src/bridge/synchronization.ts +80 -0
  581. package/src/config.ts +7 -0
  582. package/src/deviceTransactionConfig.ts +44 -0
  583. package/src/errors.ts +6 -0
  584. package/src/hw-getAddress.ts +17 -0
  585. package/src/index.ts +1 -0
  586. package/src/logic/base32.ts +100 -0
  587. package/src/logic/bip32.ts +21 -0
  588. package/src/logic/getAllTransactions.ts +22 -0
  589. package/src/logic/getFeeRate.ts +20 -0
  590. package/src/logic/index.ts +10 -0
  591. package/src/logic/kaspaAddresses.ts +274 -0
  592. package/src/logic/massCalcluation.ts +50 -0
  593. package/src/logic/scanAddresses.ts +173 -0
  594. package/src/logic/scanOperations.ts +59 -0
  595. package/src/logic/scanUtxos.ts +44 -0
  596. package/src/logic/tests/bip32.test.ts +78 -0
  597. package/src/logic/tests/getFeeRate.test.ts +64 -0
  598. package/src/logic/tests/kaspaAddresses.test.ts +278 -0
  599. package/src/logic/tests/massCalcluation.test.ts +37 -0
  600. package/src/logic/tests/scanAddresses.integ.test.ts +27 -0
  601. package/src/logic/tests/scanOperations.integ.test.ts +271 -0
  602. package/src/logic/tests/scanOperations.test.ts +191 -0
  603. package/src/logic/tests/scanUtxos.integ.test.ts +14 -0
  604. package/src/logic/tests/scanUtxos.test.ts +153 -0
  605. package/src/logic/tests/utxoLib.test.ts +29 -0
  606. package/src/logic/tests/utxoSelection.test.ts +290 -0
  607. package/src/logic/tests/validAddress.test.ts +55 -0
  608. package/src/logic/utxos/lib.ts +40 -0
  609. package/src/logic/utxos/selection.ts +100 -0
  610. package/src/network/config.ts +6 -0
  611. package/src/network/getAddressesActive.ts +27 -0
  612. package/src/network/getBalancesForAddresses.ts +27 -0
  613. package/src/network/getBlockDagInfo.ts +22 -0
  614. package/src/network/getFeeEstimate.ts +21 -0
  615. package/src/network/getTransactions.ts +25 -0
  616. package/src/network/getUtxosForAddresses.ts +23 -0
  617. package/src/network/getVirtualChainBlueScore.ts +21 -0
  618. package/src/network/index.ts +8 -0
  619. package/src/network/submitTransaction.ts +27 -0
  620. package/src/network/tests/getAddressesActive.test.ts +77 -0
  621. package/src/network/tests/getBalancesForAddresss.test.ts +44 -0
  622. package/src/network/tests/getBlockDagInfo.test.ts +40 -0
  623. package/src/network/tests/getFeeEstimate.test.ts +57 -0
  624. package/src/network/tests/getTransactions.test.ts +173 -0
  625. package/src/network/tests/getUtxosForAddress.test.ts +159 -0
  626. package/src/network/tests/getVirtualChainBlueScore.test.ts +29 -0
  627. package/src/network/tests/submitTransaction.test.ts +53 -0
  628. package/src/test/bridgeDatasetTest.ts +47 -0
  629. package/src/test/cli.ts +33 -0
  630. package/src/test/index.ts +1 -0
  631. package/src/transaction.ts +84 -0
  632. package/src/types/addresses.ts +19 -0
  633. package/src/types/bridge.ts +43 -0
  634. package/src/types/errors.ts +7 -0
  635. package/src/types/index.ts +7 -0
  636. package/src/types/kaspaHwTransaction.ts +234 -0
  637. package/src/types/kaspaNetwork.ts +21 -0
  638. package/src/types/network.ts +101 -0
  639. package/src/types/signer.ts +22 -0
  640. package/tsconfig.json +13 -0
@@ -0,0 +1,27 @@
1
+ import { Observable } from "rxjs";
2
+ import { buildTransaction } from "./buildTransaction";
3
+ import buildInitialOperation from "./buildInitialOperation";
4
+ /**
5
+ * Sign Transaction with Ledger hardware
6
+ */
7
+ export const buildSignOperation = (signerContext) => ({ account, deviceId, transaction }) => new Observable(o => {
8
+ async function main() {
9
+ o.next({
10
+ type: "device-signature-requested",
11
+ });
12
+ const tx = await buildTransaction(account, transaction);
13
+ // Sign by device
14
+ await signerContext(deviceId, signer => signer.signTransaction(tx));
15
+ o.next({ type: "device-signature-granted" });
16
+ const operation = buildInitialOperation(account, tx);
17
+ o.next({
18
+ type: "signed",
19
+ signedOperation: {
20
+ operation,
21
+ signature: JSON.stringify(tx.toApiJSON()),
22
+ },
23
+ });
24
+ }
25
+ main().then(() => o.complete(), e => o.error(e));
26
+ });
27
+ //# sourceMappingURL=signOperation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signOperation.js","sourceRoot":"","sources":["../../src/bridge/signOperation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAGlC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAE5D;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAC7B,CACE,aAAyC,EACkB,EAAE,CAC/D,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAkC,EAAE,CACrE,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE;IACjB,KAAK,UAAU,IAAI;QACjB,CAAC,CAAC,IAAI,CAAC;YACL,IAAI,EAAE,4BAA4B;SACnC,CAAC,CAAC;QAEH,MAAM,EAAE,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAExD,iBAAiB;QACjB,MAAM,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC;QAEpE,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,0BAA0B,EAAE,CAAC,CAAC;QAC7C,MAAM,SAAS,GAAG,qBAAqB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACrD,CAAC,CAAC,IAAI,CAAC;YACL,IAAI,EAAE,QAAQ;YACd,eAAe,EAAE;gBACf,SAAS;gBACT,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC;aAC1C;SACF,CAAC,CAAC;IACL,CAAC;IAED,IAAI,EAAE,CAAC,IAAI,CACT,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,EAClB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAChB,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { GetAccountShape } from "@ledgerhq/coin-framework/bridge/jsHelpers";
2
+ import { KaspaAccount } from "../types";
3
+ export declare const getAccountShape: GetAccountShape<KaspaAccount>;
4
+ //# sourceMappingURL=synchronization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"synchronization.d.ts","sourceRoot":"","sources":["../../src/bridge/synchronization.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAY,MAAM,2CAA2C,CAAC;AACtF,OAAO,EAAoB,YAAY,EAAE,MAAM,UAAU,CAAC;AAK1D,eAAO,MAAM,eAAe,EAAE,eAAe,CAAC,YAAY,CAwEzD,CAAC"}
@@ -0,0 +1,62 @@
1
+ import { decodeAccountId, encodeAccountId } from "@ledgerhq/coin-framework/account/index";
2
+ import { mergeOps } from "@ledgerhq/coin-framework/bridge/jsHelpers";
3
+ import { parseExtendedPublicKey, scanAddresses, scanOperations } from "../logic";
4
+ import { getBlockDagInfo, getVirtualChainBlueScore } from "../network";
5
+ export const getAccountShape = async (info) => {
6
+ const { initialAccount, index, rest } = info;
7
+ const xpub = rest?.publicKey || (initialAccount && decodeAccountId(initialAccount.id).xpubOrAddress);
8
+ // // Needed for incremental synchronisation
9
+ const accountId = encodeAccountId({
10
+ type: "js",
11
+ version: "2",
12
+ currencyId: "kaspa",
13
+ xpubOrAddress: xpub,
14
+ derivationMode: "",
15
+ });
16
+ const { compressedPublicKey, chainCode } = parseExtendedPublicKey(Buffer.from(xpub, "hex"));
17
+ const accountAddresses = await scanAddresses(compressedPublicKey, chainCode, 0);
18
+ const oldOperations = initialAccount?.operations || [];
19
+ // Fetch new operations
20
+ // Timestamp with 60s buffer to make sure there's no gap
21
+ let scanOperationsAfter = 1; // begin with after=1 for correct TX fetching
22
+ if (initialAccount?.lastSyncTimestamp) {
23
+ // as older blocks with valid transactions can be added into the BlockDAG up to an hour later,
24
+ // we have to set the rescan timestamp to around 2 hours earlier than the last tip's timestamp.
25
+ scanOperationsAfter = initialAccount.lastSyncTimestamp - 60 * 60 * 2 * 1000; // milliseconds timestamp
26
+ scanOperationsAfter = Math.max(scanOperationsAfter, 1); // actually it can't really be lower than 1.
27
+ }
28
+ const usedAddresses = [
29
+ ...accountAddresses.usedReceiveAddresses
30
+ .filter(addr => addr.timestamp > scanOperationsAfter)
31
+ .map(addr => addr.address),
32
+ ...accountAddresses.usedChangeAddresses
33
+ .filter(addr => addr.timestamp > scanOperationsAfter)
34
+ .map(addr => addr.address),
35
+ ];
36
+ const allOperations = await scanOperations(usedAddresses, accountId, scanOperationsAfter);
37
+ const operations = mergeOps(oldOperations, allOperations);
38
+ const activeAddressCount = accountAddresses.usedReceiveAddresses.filter(address => address.balance.gt(0)).length +
39
+ accountAddresses.usedChangeAddresses.filter(address => address.balance.gt(0)).length;
40
+ return {
41
+ id: accountId,
42
+ xpub: xpub,
43
+ lastSyncTimestamp: Number.parseInt((await getBlockDagInfo()).pastMedianTime || "1"),
44
+ index,
45
+ blockHeight: await getVirtualChainBlueScore(),
46
+ balance: accountAddresses.totalBalance,
47
+ spendableBalance: accountAddresses.spendableBalance,
48
+ operations,
49
+ operationsCount: operations.length,
50
+ nextChangeAddressIndex: accountAddresses.nextChangeAddress.index,
51
+ nextChangeAddressType: accountAddresses.nextChangeAddress.type,
52
+ nextChangeAddress: accountAddresses.nextChangeAddress.address,
53
+ nextReceiveAddressIndex: accountAddresses.nextReceiveAddress.index,
54
+ nextReceiveAddressType: accountAddresses.nextReceiveAddress.type,
55
+ nextReceiveAddress: accountAddresses.nextReceiveAddress.address,
56
+ activeAddressCount: activeAddressCount,
57
+ freshAddress: accountAddresses.nextReceiveAddress.address,
58
+ freshAddressPath: `44'/111111'/${index}'/${accountAddresses.nextReceiveAddress.type}/${accountAddresses.nextReceiveAddress.index}`,
59
+ used: operations.length > 0,
60
+ };
61
+ };
62
+ //# sourceMappingURL=synchronization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"synchronization.js","sourceRoot":"","sources":["../../src/bridge/synchronization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AAC1F,OAAO,EAAmB,QAAQ,EAAE,MAAM,2CAA2C,CAAC;AAGtF,OAAO,EAAE,sBAAsB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAEvE,MAAM,CAAC,MAAM,eAAe,GAAkC,KAAK,EAAC,IAAI,EAAC,EAAE;IACzE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IAE7C,MAAM,IAAI,GACR,IAAI,EAAE,SAAS,IAAI,CAAC,cAAc,IAAI,eAAe,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC;IAE1F,4CAA4C;IAC5C,MAAM,SAAS,GAAG,eAAe,CAAC;QAChC,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,GAAG;QACZ,UAAU,EAAE,OAAO;QACnB,aAAa,EAAE,IAAI;QACnB,cAAc,EAAE,EAAE;KACnB,CAAC,CAAC;IAEH,MAAM,EAAE,mBAAmB,EAAE,SAAS,EAAE,GAAG,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAE5F,MAAM,gBAAgB,GAAqB,MAAM,aAAa,CAAC,mBAAmB,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;IAElG,MAAM,aAAa,GAAG,cAAc,EAAE,UAAU,IAAI,EAAE,CAAC;IAEvD,uBAAuB;IACvB,wDAAwD;IACxD,IAAI,mBAAmB,GAAW,CAAC,CAAC,CAAC,6CAA6C;IAClF,IAAI,cAAc,EAAE,iBAAiB,EAAE,CAAC;QACtC,8FAA8F;QAC9F,+FAA+F;QAC/F,mBAAmB,GAAG,cAAc,CAAC,iBAAiB,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,yBAAyB;QACtG,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,CAAC,4CAA4C;IACtG,CAAC;IAED,MAAM,aAAa,GAAa;QAC9B,GAAG,gBAAgB,CAAC,oBAAoB;aACrC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAU,GAAG,mBAAmB,CAAC;aACrD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;QAC5B,GAAG,gBAAgB,CAAC,mBAAmB;aACpC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAU,GAAG,mBAAmB,CAAC;aACrD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;KAC7B,CAAC;IAEF,MAAM,aAAa,GAAgB,MAAM,cAAc,CACrD,aAAa,EACb,SAAS,EACT,mBAAmB,CACpB,CAAC;IACF,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;IAE1D,MAAM,kBAAkB,GACtB,gBAAgB,CAAC,oBAAoB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM;QACrF,gBAAgB,CAAC,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAEvF,OAAO;QACL,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,IAAI;QACV,iBAAiB,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,eAAe,EAAE,CAAC,CAAC,cAAc,IAAI,GAAG,CAAC;QACnF,KAAK;QACL,WAAW,EAAE,MAAM,wBAAwB,EAAE;QAC7C,OAAO,EAAE,gBAAgB,CAAC,YAAY;QACtC,gBAAgB,EAAE,gBAAgB,CAAC,gBAAgB;QACnD,UAAU;QACV,eAAe,EAAE,UAAU,CAAC,MAAM;QAClC,sBAAsB,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,KAAK;QAChE,qBAAqB,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,IAAI;QAC9D,iBAAiB,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,OAAO;QAC7D,uBAAuB,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,KAAK;QAClE,sBAAsB,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,IAAI;QAChE,kBAAkB,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,OAAO;QAC/D,kBAAkB,EAAE,kBAAkB;QACtC,YAAY,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,OAAO;QACzD,gBAAgB,EAAE,eAAe,KAAK,KAAK,gBAAgB,CAAC,kBAAkB,CAAC,IAAI,IAAI,gBAAgB,CAAC,kBAAkB,CAAC,KAAK,EAAE;QAClI,IAAI,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC;KAC5B,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { type CurrencyConfig } from "@ledgerhq/coin-framework/config";
2
+ export type KaspaCoinConfig = CurrencyConfig;
3
+ declare const coinConfig: {
4
+ setCoinConfig: (config: import("@ledgerhq/coin-framework/config").CoinConfig<CurrencyConfig>) => void;
5
+ getCoinConfig: (currency?: import("@ledgerhq/types-cryptoassets").CryptoCurrency | undefined) => CurrencyConfig;
6
+ };
7
+ export default coinConfig;
8
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAuB,EAAE,KAAK,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEtF,MAAM,MAAM,eAAe,GAAG,cAAc,CAAC;AAE7C,QAAA,MAAM,UAAU;;;CAAoC,CAAC;AAErD,eAAe,UAAU,CAAC"}
@@ -0,0 +1,4 @@
1
+ import buildConConfig from "@ledgerhq/coin-framework/config";
2
+ const coinConfig = buildConConfig();
3
+ export default coinConfig;
4
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,cAAuC,MAAM,iCAAiC,CAAC;AAItF,MAAM,UAAU,GAAG,cAAc,EAAmB,CAAC;AAErD,eAAe,UAAU,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { Account, AccountLike } from "@ledgerhq/types-live";
2
+ import type { Transaction, TransactionStatus } from "./types";
3
+ import type { CommonDeviceTransactionField as DeviceTransactionField } from "@ledgerhq/coin-framework/transaction/common";
4
+ declare function getDeviceTransactionConfig({ transaction, status: { estimatedFees }, }: {
5
+ account: AccountLike;
6
+ parentAccount?: Account;
7
+ transaction: Transaction;
8
+ status: TransactionStatus;
9
+ }): Array<DeviceTransactionField>;
10
+ export default getDeviceTransactionConfig;
11
+ //# sourceMappingURL=deviceTransactionConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deviceTransactionConfig.d.ts","sourceRoot":"","sources":["../src/deviceTransactionConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,KAAK,EAAE,4BAA4B,IAAI,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAE1H,iBAAS,0BAA0B,CAAC,EAClC,WAAW,EACX,MAAM,EAAE,EAAE,aAAa,EAAE,GAC1B,EAAE;IACD,OAAO,EAAE,WAAW,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,EAAE,WAAW,CAAC;IACzB,MAAM,EAAE,iBAAiB,CAAC;CAC3B,GAAG,KAAK,CAAC,sBAAsB,CAAC,CA6BhC;AAED,eAAe,0BAA0B,CAAC"}
@@ -0,0 +1,30 @@
1
+ function getDeviceTransactionConfig({ transaction, status: { estimatedFees }, }) {
2
+ const fields = [];
3
+ if (transaction.useAllAmount) {
4
+ fields.push({
5
+ type: "text",
6
+ label: "Method",
7
+ value: "Transfer All",
8
+ });
9
+ }
10
+ else {
11
+ fields.push({
12
+ type: "text",
13
+ label: "Method",
14
+ value: "Transfer",
15
+ });
16
+ fields.push({
17
+ type: "amount",
18
+ label: "Amount",
19
+ });
20
+ }
21
+ if (!estimatedFees.isZero()) {
22
+ fields.push({
23
+ type: "fees",
24
+ label: "Fees",
25
+ });
26
+ }
27
+ return fields;
28
+ }
29
+ export default getDeviceTransactionConfig;
30
+ //# sourceMappingURL=deviceTransactionConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deviceTransactionConfig.js","sourceRoot":"","sources":["../src/deviceTransactionConfig.ts"],"names":[],"mappings":"AAIA,SAAS,0BAA0B,CAAC,EAClC,WAAW,EACX,MAAM,EAAE,EAAE,aAAa,EAAE,GAM1B;IACC,MAAM,MAAM,GAAkC,EAAE,CAAC;IAEjD,IAAI,WAAW,CAAC,YAAY,EAAE,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE,cAAc;SACtB,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE,UAAU;SAClB,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,QAAQ;SAChB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,MAAM;SACd,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,eAAe,0BAA0B,CAAC"}
@@ -0,0 +1,8 @@
1
+ export declare const UnsupportedDerivation: import("@ledgerhq/errors/lib/helpers").LedgerErrorConstructor<{
2
+ [key: string]: unknown;
3
+ }>;
4
+ /** When a coin-module has no CoinConfig setted */
5
+ export declare const MissingCoinConfig: import("@ledgerhq/errors/lib/helpers").LedgerErrorConstructor<{
6
+ [key: string]: unknown;
7
+ }>;
8
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,qBAAqB;;EAAkD,CAAC;AAErF,kDAAkD;AAClD,eAAO,MAAM,iBAAiB;;EAA8C,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { createCustomErrorClass } from "@ledgerhq/errors";
2
+ export const UnsupportedDerivation = createCustomErrorClass("UnsupportedDerivation");
3
+ /** When a coin-module has no CoinConfig setted */
4
+ export const MissingCoinConfig = createCustomErrorClass("MissingCoinConfig");
5
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,MAAM,CAAC,MAAM,qBAAqB,GAAG,sBAAsB,CAAC,uBAAuB,CAAC,CAAC;AAErF,kDAAkD;AAClD,MAAM,CAAC,MAAM,iBAAiB,GAAG,sBAAsB,CAAC,mBAAmB,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { GetAddressFn } from "@ledgerhq/coin-framework/bridge/getAddressWrapper";
2
+ import { SignerContext } from "@ledgerhq/coin-framework/signer";
3
+ import { KaspaSigner } from "./types";
4
+ declare const resolver: (signerContext: SignerContext<KaspaSigner>) => GetAddressFn;
5
+ export default resolver;
6
+ //# sourceMappingURL=hw-getAddress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hw-getAddress.d.ts","sourceRoot":"","sources":["../src/hw-getAddress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mDAAmD,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEhE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,QAAA,MAAM,QAAQ,kBAAmB,cAAc,WAAW,CAAC,KAAG,YAS7D,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,12 @@
1
+ const resolver = (signerContext) => {
2
+ return async (deviceId, { path, verify }) => {
3
+ const r = await signerContext(deviceId, signer => signer.getAddress(path, verify || false));
4
+ return {
5
+ address: r.address,
6
+ publicKey: r.publicKey,
7
+ path,
8
+ };
9
+ };
10
+ };
11
+ export default resolver;
12
+ //# sourceMappingURL=hw-getAddress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hw-getAddress.js","sourceRoot":"","sources":["../src/hw-getAddress.ts"],"names":[],"mappings":"AAKA,MAAM,QAAQ,GAAG,CAAC,aAAyC,EAAgB,EAAE;IAC3E,OAAO,KAAK,EAAE,QAAgB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAqB,EAAE,EAAE;QACrE,MAAM,CAAC,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC;QAC5F,OAAO;YACL,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,IAAI;SACL,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./types";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./types";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
@@ -0,0 +1,30 @@
1
+ /***
2
+ * https://github.com/bitcoincashjs/cashaddr
3
+ * Copyright (c) 2018 Matias Alejo Garcia
4
+ * Copyright (c) 2017 Emilio Almansi
5
+ * Distributed under the MIT software license, see the accompanying
6
+ * file LICENSE or http://www.opensource.org/licenses/mit-license.php.
7
+ */
8
+ /***
9
+ * Charset containing the 32 symbols used in the base32 encoding.
10
+ */
11
+ export declare const CHARSET = "qpzry9x8gf2tvdw0s3jn54khce6mua7l";
12
+ /***
13
+ * Encodes the given array of 5-bit integers as a base32-encoded string.
14
+ *
15
+ * @param {Array} data Array of integers between 0 and 31 inclusive.
16
+ */
17
+ export declare function encode(data: number[]): string;
18
+ /***
19
+ * Decodes the given base32-encoded string into an array of 5-bit integers.
20
+ *
21
+ * @param {string} base32
22
+ */
23
+ export declare function decode(base32: string): any[];
24
+ declare const base32: {
25
+ encode: typeof encode;
26
+ decode: typeof decode;
27
+ CHARSET: string;
28
+ };
29
+ export default base32;
30
+ //# sourceMappingURL=base32.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base32.d.ts","sourceRoot":"","sources":["../../src/logic/base32.ts"],"names":[],"mappings":"AACA;;;;;;GAMG;AAEH;;GAEG;AACH,eAAO,MAAM,OAAO,qCAAqC,CAAC;AAwC1D;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,UAapC;AAED;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,SAcpC;AAED,QAAA,MAAM,MAAM;;;;CAIX,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ /***
3
+ * https://github.com/bitcoincashjs/cashaddr
4
+ * Copyright (c) 2018 Matias Alejo Garcia
5
+ * Copyright (c) 2017 Emilio Almansi
6
+ * Distributed under the MIT software license, see the accompanying
7
+ * file LICENSE or http://www.opensource.org/licenses/mit-license.php.
8
+ */
9
+ /***
10
+ * Charset containing the 32 symbols used in the base32 encoding.
11
+ */
12
+ export const CHARSET = "qpzry9x8gf2tvdw0s3jn54khce6mua7l";
13
+ /***
14
+ * Inverted index mapping each symbol into its index within the charset.
15
+ */
16
+ const CHARSET_INVERSE_INDEX = {
17
+ q: 0,
18
+ p: 1,
19
+ z: 2,
20
+ r: 3,
21
+ y: 4,
22
+ 9: 5,
23
+ x: 6,
24
+ 8: 7,
25
+ g: 8,
26
+ f: 9,
27
+ 2: 10,
28
+ t: 11,
29
+ v: 12,
30
+ d: 13,
31
+ w: 14,
32
+ 0: 15,
33
+ s: 16,
34
+ 3: 17,
35
+ j: 18,
36
+ n: 19,
37
+ 5: 20,
38
+ 4: 21,
39
+ k: 22,
40
+ h: 23,
41
+ c: 24,
42
+ e: 25,
43
+ 6: 26,
44
+ m: 27,
45
+ u: 28,
46
+ a: 29,
47
+ 7: 30,
48
+ l: 31,
49
+ };
50
+ /***
51
+ * Encodes the given array of 5-bit integers as a base32-encoded string.
52
+ *
53
+ * @param {Array} data Array of integers between 0 and 31 inclusive.
54
+ */
55
+ export function encode(data) {
56
+ if (!(data instanceof Array)) {
57
+ throw new Error("Must be Array");
58
+ }
59
+ let base32 = "";
60
+ for (let i = 0; i < data.length; i++) {
61
+ const value = data[i];
62
+ if (!(0 <= value && value < 32)) {
63
+ throw new Error("value " + value);
64
+ }
65
+ base32 += CHARSET[value];
66
+ }
67
+ return base32;
68
+ }
69
+ /***
70
+ * Decodes the given base32-encoded string into an array of 5-bit integers.
71
+ *
72
+ * @param {string} base32
73
+ */
74
+ export function decode(base32) {
75
+ if (typeof base32 !== "string") {
76
+ throw new Error("Must be base32-encoded string");
77
+ }
78
+ const data = [];
79
+ for (let i = 0; i < base32.length; i++) {
80
+ const value = base32[i];
81
+ if (!(value in CHARSET_INVERSE_INDEX)) {
82
+ throw new Error("value " + value);
83
+ }
84
+ // @ts-expect-error: ignore array of any
85
+ data.push(CHARSET_INVERSE_INDEX[value]);
86
+ }
87
+ return data;
88
+ }
89
+ const base32 = {
90
+ encode,
91
+ decode,
92
+ CHARSET,
93
+ };
94
+ export default base32;
95
+ //# sourceMappingURL=base32.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base32.js","sourceRoot":"","sources":["../../src/logic/base32.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb;;;;;;GAMG;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,kCAAkC,CAAC;AAE1D;;GAEG;AACH,MAAM,qBAAqB,GAAG;IAC5B,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;CACN,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,MAAM,CAAC,IAAc;IACnC,IAAI,CAAC,CAAC,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;IACnC,CAAC;IACD,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;QACpC,CAAC;QACD,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,MAAM,CAAC,MAAc;IACnC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IACD,MAAM,IAAI,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,CAAC,KAAK,IAAI,qBAAqB,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;QACpC,CAAC;QACD,wCAAwC;QACxC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,MAAM,GAAG;IACb,MAAM;IACN,MAAM;IACN,OAAO;CACR,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -0,0 +1,9 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ import { BIP32Interface } from "bip32";
4
+ export default class KaspaBIP32 {
5
+ rootNode: BIP32Interface;
6
+ constructor(compressedPublicKey: Buffer, chainCode: Buffer);
7
+ getAddress(type?: number, index?: number): string;
8
+ }
9
+ //# sourceMappingURL=bip32.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bip32.d.ts","sourceRoot":"","sources":["../../src/logic/bip32.ts"],"names":[],"mappings":";;AACA,OAAqB,EAAY,cAAc,EAAE,MAAM,OAAO,CAAC;AAK/D,MAAM,CAAC,OAAO,OAAO,UAAU;IAC7B,QAAQ,EAAE,cAAc,CAAC;gBAEb,mBAAmB,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAI1D,UAAU,CAAC,IAAI,GAAE,MAAU,EAAE,KAAK,GAAE,MAAU;CAO/C"}
@@ -0,0 +1,17 @@
1
+ import ecc from "@bitcoinerlab/secp256k1";
2
+ import BIP32Factory from "bip32";
3
+ import { publicKeyToAddress } from "./kaspaAddresses";
4
+ const bip32 = BIP32Factory(ecc);
5
+ export default class KaspaBIP32 {
6
+ rootNode;
7
+ constructor(compressedPublicKey, chainCode) {
8
+ this.rootNode = bip32.fromPublicKey(compressedPublicKey, chainCode);
9
+ }
10
+ getAddress(type = 0, index = 0) {
11
+ const child = this.rootNode.derivePath(`${type}/${index}`);
12
+ // child.publicKey is a compressed public key
13
+ const publicKeyBuffer = Buffer.from(child.publicKey.subarray(1, 33));
14
+ return publicKeyToAddress(publicKeyBuffer, false);
15
+ }
16
+ }
17
+ //# sourceMappingURL=bip32.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bip32.js","sourceRoot":"","sources":["../../src/logic/bip32.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,yBAAyB,CAAC;AAC1C,OAAO,YAA0C,MAAM,OAAO,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,MAAM,KAAK,GAAa,YAAY,CAAC,GAAG,CAAC,CAAC;AAE1C,MAAM,CAAC,OAAO,OAAO,UAAU;IAC7B,QAAQ,CAAiB;IAEzB,YAAY,mBAA2B,EAAE,SAAiB;QACxD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,aAAa,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC;IACtE,CAAC;IAED,UAAU,CAAC,OAAe,CAAC,EAAE,QAAgB,CAAC;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC;QAE3D,6CAA6C;QAC7C,MAAM,eAAe,GAAW,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC7E,OAAO,kBAAkB,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IACpD,CAAC;CACF"}
@@ -0,0 +1,3 @@
1
+ import { ApiResponseTransaction } from "../types";
2
+ export declare const getAllTransactions: (addr: string, afterValue: number) => Promise<ApiResponseTransaction[]>;
3
+ //# sourceMappingURL=getAllTransactions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAllTransactions.d.ts","sourceRoot":"","sources":["../../src/logic/getAllTransactions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAElD,eAAO,MAAM,kBAAkB,SACvB,MAAM,cACA,MAAM,KACjB,QAAQ,sBAAsB,EAAE,CAelC,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { getTransactions } from "../network";
2
+ export const getAllTransactions = async (addr, afterValue) => {
3
+ if (afterValue === 0) {
4
+ afterValue = 1;
5
+ }
6
+ let allTransactions = [];
7
+ let nextPageAfter = afterValue.toString();
8
+ while (nextPageAfter) {
9
+ const response = await getTransactions(addr, parseInt(nextPageAfter));
10
+ allTransactions = allTransactions.concat(response.transactions);
11
+ nextPageAfter = response.nextPageAfter;
12
+ }
13
+ return allTransactions;
14
+ };
15
+ //# sourceMappingURL=getAllTransactions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAllTransactions.js","sourceRoot":"","sources":["../../src/logic/getAllTransactions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAG7C,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EACrC,IAAY,EACZ,UAAkB,EACiB,EAAE;IACrC,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;QACrB,UAAU,GAAG,CAAC,CAAC;IACjB,CAAC;IAED,IAAI,eAAe,GAA6B,EAAE,CAAC;IAEnD,IAAI,aAAa,GAAkB,UAAU,CAAC,QAAQ,EAAE,CAAC;IACzD,OAAO,aAAa,EAAE,CAAC;QACrB,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;QACtE,eAAe,GAAG,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAChE,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC;IACzC,CAAC;IAED,OAAO,eAAe,CAAC;AACzB,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { Transaction } from "../types";
2
+ import { BigNumber } from "bignumber.js";
3
+ export declare const getFeeRate: (transaction: Transaction | null | undefined) => BigNumber;
4
+ //# sourceMappingURL=getFeeRate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getFeeRate.d.ts","sourceRoot":"","sources":["../../src/logic/getFeeRate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,eAAO,MAAM,UAAU,gBAAiB,WAAW,GAAG,IAAI,GAAG,SAAS,KAAG,SAgBxE,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { BigNumber } from "bignumber.js";
2
+ export const getFeeRate = (transaction) => {
3
+ if (!transaction) {
4
+ return BigNumber(0);
5
+ }
6
+ if (transaction.feesStrategy === "custom") {
7
+ return transaction.customFeeRate || BigNumber(0);
8
+ }
9
+ const filteredNetworkInfo = transaction.networkInfo.filter(ni => ni.label === transaction.feesStrategy);
10
+ if (filteredNetworkInfo.length === 0) {
11
+ throw new Error("Invalid fee strategy provided");
12
+ }
13
+ return filteredNetworkInfo[0].amount;
14
+ };
15
+ //# sourceMappingURL=getFeeRate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getFeeRate.js","sourceRoot":"","sources":["../../src/logic/getFeeRate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,WAA2C,EAAa,EAAE;IACnF,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IACD,IAAI,WAAW,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;QAC1C,OAAO,WAAW,CAAC,aAAa,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC;IACD,MAAM,mBAAmB,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,CACxD,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,KAAK,WAAW,CAAC,YAAY,CAC5C,CAAC;IAEF,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,mBAAmB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACvC,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ export * from "./scanAddresses";
2
+ export * from "./scanUtxos";
3
+ export * from "./scanOperations";
4
+ export * from "./kaspaAddresses";
5
+ export * from "./massCalcluation";
6
+ export * from "./base32";
7
+ export * from "./bip32";
8
+ export * from "./utxos/lib";
9
+ export * from "./utxos/selection";
10
+ export * from "./getFeeRate";
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/logic/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC"}
@@ -0,0 +1,11 @@
1
+ export * from "./scanAddresses";
2
+ export * from "./scanUtxos";
3
+ export * from "./scanOperations";
4
+ export * from "./kaspaAddresses";
5
+ export * from "./massCalcluation";
6
+ export * from "./base32";
7
+ export * from "./bip32";
8
+ export * from "./utxos/lib";
9
+ export * from "./utxos/selection";
10
+ export * from "./getFeeRate";
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/logic/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC"}
@@ -0,0 +1,30 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ export declare enum ScriptTypeVersion {
4
+ SCHNORR = 0,
5
+ ECDSA = 1,
6
+ P2SH = 8
7
+ }
8
+ type ParsedExtendedPublicKey = {
9
+ chainCode: Buffer;
10
+ compressedPublicKey: Buffer;
11
+ uncompressedPublicKey: Buffer;
12
+ };
13
+ export declare function addressToPublicKey(address: string): {
14
+ version: number;
15
+ publicKey: number[];
16
+ };
17
+ export declare function publicKeyToAddress(hashBuffer: Buffer, stripPrefix?: boolean, scriptTypeVersion?: ScriptTypeVersion): string;
18
+ export declare function addressToScriptPublicKey(address: string): string;
19
+ /**
20
+ * Converts a script public key to a corresponding address.
21
+ *
22
+ * @param {string} scriptPublicKey - The script public key to be converted.
23
+ * @param {boolean} [stripPrefix=false] - Optional flag to determine if the prefix should be stripped from the resulting address.
24
+ * @return {string} The address derived from the provided script public key.
25
+ */
26
+ export declare function scriptPublicKeyToAddress(scriptPublicKey: string, stripPrefix?: boolean): string;
27
+ export declare function isValidKaspaAddress(address: string): boolean;
28
+ export declare function parseExtendedPublicKey(extendedPublicKey: Buffer): ParsedExtendedPublicKey;
29
+ export {};
30
+ //# sourceMappingURL=kaspaAddresses.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kaspaAddresses.d.ts","sourceRoot":"","sources":["../../src/logic/kaspaAddresses.ts"],"names":[],"mappings":";;AAEA,oBAAY,iBAAiB;IAC3B,OAAO,IAAI;IACX,KAAK,IAAI;IACT,IAAI,IAAI;CACT;AAED,KAAK,uBAAuB,GAAG;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,qBAAqB,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,CAe5F;AAED,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,MAAM,EAClB,WAAW,GAAE,OAAe,EAC5B,iBAAiB,GAAE,iBAA6C,GAC/D,MAAM,CAeR;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAahE;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,eAAe,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,CAQ/F;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CA4B5D;AAED,wBAAgB,sBAAsB,CAAC,iBAAiB,EAAE,MAAM,GAAG,uBAAuB,CAyBzF"}