@trezor/connect 9.0.0-beta.1

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 (495) hide show
  1. package/LICENSE.md +50 -0
  2. package/README.md +38 -0
  3. package/lib/api/applyFlags.d.ts +8 -0
  4. package/lib/api/applyFlags.js +37 -0
  5. package/lib/api/applySettings.d.ts +8 -0
  6. package/lib/api/applySettings.js +57 -0
  7. package/lib/api/authorizeCoinJoin.d.ts +7 -0
  8. package/lib/api/authorizeCoinJoin.js +45 -0
  9. package/lib/api/backupDevice.d.ts +7 -0
  10. package/lib/api/backupDevice.js +31 -0
  11. package/lib/api/binance/binanceSignTx.d.ts +6 -0
  12. package/lib/api/binance/binanceSignTx.js +91 -0
  13. package/lib/api/binanceGetAddress.d.ts +22 -0
  14. package/lib/api/binanceGetAddress.js +126 -0
  15. package/lib/api/binanceGetPublicKey.d.ts +10 -0
  16. package/lib/api/binanceGetPublicKey.js +72 -0
  17. package/lib/api/binanceSignTransaction.d.ts +12 -0
  18. package/lib/api/binanceSignTransaction.js +31 -0
  19. package/lib/api/bitcoin/Fees.d.ts +15 -0
  20. package/lib/api/bitcoin/Fees.js +175 -0
  21. package/lib/api/bitcoin/TransactionComposer.d.ts +36 -0
  22. package/lib/api/bitcoin/TransactionComposer.js +150 -0
  23. package/lib/api/bitcoin/__fixtures__/inputs.d.ts +112 -0
  24. package/lib/api/bitcoin/__fixtures__/inputs.js +102 -0
  25. package/lib/api/bitcoin/__fixtures__/signtxVerify.d.ts +147 -0
  26. package/lib/api/bitcoin/__fixtures__/signtxVerify.js +216 -0
  27. package/lib/api/bitcoin/enhanceSignTx.d.ts +4 -0
  28. package/lib/api/bitcoin/enhanceSignTx.js +63 -0
  29. package/lib/api/bitcoin/index.d.ts +10 -0
  30. package/lib/api/bitcoin/index.js +13 -0
  31. package/lib/api/bitcoin/inputs.d.ts +8 -0
  32. package/lib/api/bitcoin/inputs.js +60 -0
  33. package/lib/api/bitcoin/outputs.d.ts +8 -0
  34. package/lib/api/bitcoin/outputs.js +115 -0
  35. package/lib/api/bitcoin/refTx.d.ts +11 -0
  36. package/lib/api/bitcoin/refTx.js +220 -0
  37. package/lib/api/bitcoin/signtx.d.ts +25 -0
  38. package/lib/api/bitcoin/signtx.js +164 -0
  39. package/lib/api/bitcoin/signtxLegacy.d.ts +4 -0
  40. package/lib/api/bitcoin/signtxLegacy.js +136 -0
  41. package/lib/api/bitcoin/signtxVerify.d.ts +8 -0
  42. package/lib/api/bitcoin/signtxVerify.js +130 -0
  43. package/lib/api/blockchainDisconnect.d.ts +13 -0
  44. package/lib/api/blockchainDisconnect.js +34 -0
  45. package/lib/api/blockchainEstimateFee.d.ts +12 -0
  46. package/lib/api/blockchainEstimateFee.js +70 -0
  47. package/lib/api/blockchainGetAccountBalanceHistory.d.ts +12 -0
  48. package/lib/api/blockchainGetAccountBalanceHistory.js +41 -0
  49. package/lib/api/blockchainGetCurrentFiatRates.d.ts +15 -0
  50. package/lib/api/blockchainGetCurrentFiatRates.js +33 -0
  51. package/lib/api/blockchainGetFiatRatesForTimestamps.d.ts +17 -0
  52. package/lib/api/blockchainGetFiatRatesForTimestamps.js +33 -0
  53. package/lib/api/blockchainGetTransactions.d.ts +12 -0
  54. package/lib/api/blockchainGetTransactions.js +33 -0
  55. package/lib/api/blockchainSetCustomBackend.d.ts +11 -0
  56. package/lib/api/blockchainSetCustomBackend.js +38 -0
  57. package/lib/api/blockchainSubscribe.d.ts +14 -0
  58. package/lib/api/blockchainSubscribe.js +38 -0
  59. package/lib/api/blockchainSubscribeFiatRates.d.ts +14 -0
  60. package/lib/api/blockchainSubscribeFiatRates.js +33 -0
  61. package/lib/api/blockchainUnsubscribe.d.ts +14 -0
  62. package/lib/api/blockchainUnsubscribe.js +38 -0
  63. package/lib/api/blockchainUnsubscribeFiatRates.d.ts +13 -0
  64. package/lib/api/blockchainUnsubscribeFiatRates.js +29 -0
  65. package/lib/api/cardano/cardanoAddressParameters.d.ts +8 -0
  66. package/lib/api/cardano/cardanoAddressParameters.js +100 -0
  67. package/lib/api/cardano/cardanoAuxiliaryData.d.ts +6 -0
  68. package/lib/api/cardano/cardanoAuxiliaryData.js +51 -0
  69. package/lib/api/cardano/cardanoCertificate.d.ts +14 -0
  70. package/lib/api/cardano/cardanoCertificate.js +149 -0
  71. package/lib/api/cardano/cardanoInputs.d.ts +13 -0
  72. package/lib/api/cardano/cardanoInputs.js +34 -0
  73. package/lib/api/cardano/cardanoOutputs.d.ts +8 -0
  74. package/lib/api/cardano/cardanoOutputs.js +38 -0
  75. package/lib/api/cardano/cardanoTokenBundle.d.ts +8 -0
  76. package/lib/api/cardano/cardanoTokenBundle.js +36 -0
  77. package/lib/api/cardano/cardanoWitnesses.d.ts +5 -0
  78. package/lib/api/cardano/cardanoWitnesses.js +48 -0
  79. package/lib/api/cardanoGetAddress.d.ts +23 -0
  80. package/lib/api/cardanoGetAddress.js +158 -0
  81. package/lib/api/cardanoGetNativeScriptHash.d.ts +12 -0
  82. package/lib/api/cardanoGetNativeScriptHash.js +79 -0
  83. package/lib/api/cardanoGetPublicKey.d.ts +10 -0
  84. package/lib/api/cardanoGetPublicKey.js +78 -0
  85. package/lib/api/cardanoSignTransaction.d.ts +48 -0
  86. package/lib/api/cardanoSignTransaction.js +283 -0
  87. package/lib/api/changePin.d.ts +7 -0
  88. package/lib/api/changePin.js +22 -0
  89. package/lib/api/cipherKeyValue.d.ts +8 -0
  90. package/lib/api/cipherKeyValue.js +56 -0
  91. package/lib/api/common/Discovery.d.ts +35 -0
  92. package/lib/api/common/Discovery.js +113 -0
  93. package/lib/api/common/__fixtures__/paramsValidator.d.ts +596 -0
  94. package/lib/api/common/__fixtures__/paramsValidator.js +355 -0
  95. package/lib/api/common/paramsValidator.d.ts +14 -0
  96. package/lib/api/common/paramsValidator.js +140 -0
  97. package/lib/api/composeTransaction.d.ts +33 -0
  98. package/lib/api/composeTransaction.js +270 -0
  99. package/lib/api/customMessage.d.ts +13 -0
  100. package/lib/api/customMessage.js +56 -0
  101. package/lib/api/eos/eosSignTx.d.ts +17 -0
  102. package/lib/api/eos/eosSignTx.js +347 -0
  103. package/lib/api/eosGetPublicKey.d.ts +10 -0
  104. package/lib/api/eosGetPublicKey.js +73 -0
  105. package/lib/api/eosSignTransaction.d.ts +16 -0
  106. package/lib/api/eosSignTransaction.js +36 -0
  107. package/lib/api/ethereum/__fixtures__/ethereumSignTypedData.d.ts +225 -0
  108. package/lib/api/ethereum/__fixtures__/ethereumSignTypedData.js +341 -0
  109. package/lib/api/ethereum/ethereumSignTx.d.ts +13 -0
  110. package/lib/api/ethereum/ethereumSignTx.js +92 -0
  111. package/lib/api/ethereum/ethereumSignTypedData.d.ts +9 -0
  112. package/lib/api/ethereum/ethereumSignTypedData.js +120 -0
  113. package/lib/api/ethereumGetAddress.d.ts +28 -0
  114. package/lib/api/ethereumGetAddress.js +133 -0
  115. package/lib/api/ethereumGetPublicKey.d.ts +15 -0
  116. package/lib/api/ethereumGetPublicKey.js +79 -0
  117. package/lib/api/ethereumSignMessage.d.ts +7 -0
  118. package/lib/api/ethereumSignMessage.js +41 -0
  119. package/lib/api/ethereumSignTransaction.d.ts +20 -0
  120. package/lib/api/ethereumSignTransaction.js +82 -0
  121. package/lib/api/ethereumSignTypedData.d.ts +14 -0
  122. package/lib/api/ethereumSignTypedData.js +151 -0
  123. package/lib/api/ethereumVerifyMessage.d.ts +7 -0
  124. package/lib/api/ethereumVerifyMessage.js +34 -0
  125. package/lib/api/firmware/getBinary.d.ts +20 -0
  126. package/lib/api/firmware/getBinary.js +37 -0
  127. package/lib/api/firmware/modifyFirmware.d.ts +6 -0
  128. package/lib/api/firmware/modifyFirmware.js +18 -0
  129. package/lib/api/firmwareUpdate.d.ts +15 -0
  130. package/lib/api/firmwareUpdate.js +89 -0
  131. package/lib/api/getAccountInfo.d.ts +98 -0
  132. package/lib/api/getAccountInfo.js +326 -0
  133. package/lib/api/getAddress.d.ts +28 -0
  134. package/lib/api/getAddress.js +152 -0
  135. package/lib/api/getCoinInfo.d.ts +11 -0
  136. package/lib/api/getCoinInfo.js +27 -0
  137. package/lib/api/getDeviceState.d.ts +8 -0
  138. package/lib/api/getDeviceState.js +15 -0
  139. package/lib/api/getFeatures.d.ts +6 -0
  140. package/lib/api/getFeatures.js +18 -0
  141. package/lib/api/getOwnershipId.d.ts +10 -0
  142. package/lib/api/getOwnershipId.js +75 -0
  143. package/lib/api/getOwnershipProof.d.ts +14 -0
  144. package/lib/api/getOwnershipProof.js +86 -0
  145. package/lib/api/getPublicKey.d.ts +15 -0
  146. package/lib/api/getPublicKey.js +84 -0
  147. package/lib/api/getSettings.d.ts +6 -0
  148. package/lib/api/getSettings.js +16 -0
  149. package/lib/api/index.d.ts +64 -0
  150. package/lib/api/index.js +134 -0
  151. package/lib/api/management/uploadFirmware.d.ts +6 -0
  152. package/lib/api/management/uploadFirmware.js +49 -0
  153. package/lib/api/nem/nemSignTx.d.ts +4 -0
  154. package/lib/api/nem/nemSignTx.js +139 -0
  155. package/lib/api/nemGetAddress.d.ts +22 -0
  156. package/lib/api/nemGetAddress.js +144 -0
  157. package/lib/api/nemSignTransaction.d.ts +7 -0
  158. package/lib/api/nemSignTransaction.js +29 -0
  159. package/lib/api/pushTransaction.d.ts +14 -0
  160. package/lib/api/pushTransaction.js +40 -0
  161. package/lib/api/rebootToBootloader.d.ts +8 -0
  162. package/lib/api/rebootToBootloader.js +43 -0
  163. package/lib/api/recoveryDevice.d.ts +8 -0
  164. package/lib/api/recoveryDevice.js +57 -0
  165. package/lib/api/requestLogin.d.ts +12 -0
  166. package/lib/api/requestLogin.js +63 -0
  167. package/lib/api/resetDevice.d.ts +9 -0
  168. package/lib/api/resetDevice.js +59 -0
  169. package/lib/api/rippleGetAddress.d.ts +22 -0
  170. package/lib/api/rippleGetAddress.js +126 -0
  171. package/lib/api/rippleSignTransaction.d.ts +10 -0
  172. package/lib/api/rippleSignTransaction.js +54 -0
  173. package/lib/api/setProxy.d.ts +8 -0
  174. package/lib/api/setProxy.js +26 -0
  175. package/lib/api/signMessage.d.ts +7 -0
  176. package/lib/api/signMessage.js +51 -0
  177. package/lib/api/signTransaction.d.ts +21 -0
  178. package/lib/api/signTransaction.js +146 -0
  179. package/lib/api/stellar/stellarSignTx.d.ts +5 -0
  180. package/lib/api/stellar/stellarSignTx.js +198 -0
  181. package/lib/api/stellarGetAddress.d.ts +22 -0
  182. package/lib/api/stellarGetAddress.js +126 -0
  183. package/lib/api/stellarSignTransaction.d.ts +23 -0
  184. package/lib/api/stellarSignTransaction.js +62 -0
  185. package/lib/api/tezos/tezosSignTx.d.ts +4 -0
  186. package/lib/api/tezos/tezosSignTx.js +237 -0
  187. package/lib/api/tezosGetAddress.d.ts +22 -0
  188. package/lib/api/tezosGetAddress.js +126 -0
  189. package/lib/api/tezosGetPublicKey.d.ts +10 -0
  190. package/lib/api/tezosGetPublicKey.js +72 -0
  191. package/lib/api/tezosSignTransaction.d.ts +7 -0
  192. package/lib/api/tezosSignTransaction.js +30 -0
  193. package/lib/api/verifyMessage.d.ts +7 -0
  194. package/lib/api/verifyMessage.js +47 -0
  195. package/lib/api/wipeDevice.d.ts +8 -0
  196. package/lib/api/wipeDevice.js +41 -0
  197. package/lib/backend/BlockchainLink.d.ts +75 -0
  198. package/lib/backend/BlockchainLink.js +298 -0
  199. package/lib/constants/cardano.d.ts +9 -0
  200. package/lib/constants/cardano.js +14 -0
  201. package/lib/constants/errors.d.ts +49 -0
  202. package/lib/constants/errors.js +62 -0
  203. package/lib/constants/index.d.ts +6 -0
  204. package/lib/constants/index.js +10 -0
  205. package/lib/constants/nem.d.ts +22 -0
  206. package/lib/constants/nem.js +28 -0
  207. package/lib/constants/network.d.ts +13 -0
  208. package/lib/constants/network.js +15 -0
  209. package/lib/core/AbstractMethod.d.ts +59 -0
  210. package/lib/core/AbstractMethod.js +159 -0
  211. package/lib/core/index.d.ts +16 -0
  212. package/lib/core/index.js +671 -0
  213. package/lib/core/method.d.ts +6 -0
  214. package/lib/core/method.js +19 -0
  215. package/lib/data/DataManager.d.ts +31 -0
  216. package/lib/data/DataManager.js +98 -0
  217. package/lib/data/coinInfo.d.ts +37 -0
  218. package/lib/data/coinInfo.js +278 -0
  219. package/lib/data/config.d.ts +98 -0
  220. package/lib/data/config.js +201 -0
  221. package/lib/data/connectSettings.d.ts +6 -0
  222. package/lib/data/connectSettings.js +150 -0
  223. package/lib/data/firmwareInfo.d.ts +11 -0
  224. package/lib/data/firmwareInfo.js +148 -0
  225. package/lib/data/transportInfo.d.ts +4 -0
  226. package/lib/data/transportInfo.js +29 -0
  227. package/lib/data/udevInfo.d.ts +3 -0
  228. package/lib/data/udevInfo.js +21 -0
  229. package/lib/data/version.d.ts +3 -0
  230. package/lib/data/version.js +7 -0
  231. package/lib/device/AbortController.d.ts +21 -0
  232. package/lib/device/AbortController.js +40 -0
  233. package/lib/device/DescriptorStream.d.ts +28 -0
  234. package/lib/device/DescriptorStream.js +139 -0
  235. package/lib/device/Device.d.ts +105 -0
  236. package/lib/device/Device.js +527 -0
  237. package/lib/device/DeviceCommands.d.ts +63 -0
  238. package/lib/device/DeviceCommands.js +465 -0
  239. package/lib/device/DeviceList.d.ts +76 -0
  240. package/lib/device/DeviceList.js +411 -0
  241. package/lib/events/blockchain.d.ts +56 -0
  242. package/lib/events/blockchain.js +18 -0
  243. package/lib/events/call.d.ts +41 -0
  244. package/lib/events/call.js +14 -0
  245. package/lib/events/core.d.ts +20 -0
  246. package/lib/events/core.js +28 -0
  247. package/lib/events/device.d.ts +40 -0
  248. package/lib/events/device.js +28 -0
  249. package/lib/events/iframe.d.ts +39 -0
  250. package/lib/events/iframe.js +18 -0
  251. package/lib/events/index.d.ts +62 -0
  252. package/lib/events/index.js +21 -0
  253. package/lib/events/popup.d.ts +51 -0
  254. package/lib/events/popup.js +22 -0
  255. package/lib/events/transport.d.ts +62 -0
  256. package/lib/events/transport.js +21 -0
  257. package/lib/events/ui-promise.d.ts +12 -0
  258. package/lib/events/ui-promise.js +3 -0
  259. package/lib/events/ui-request.d.ts +180 -0
  260. package/lib/events/ui-request.js +50 -0
  261. package/lib/events/ui-response.d.ts +97 -0
  262. package/lib/events/ui-response.js +25 -0
  263. package/lib/exports.d.ts +5 -0
  264. package/lib/exports.js +10 -0
  265. package/lib/factory.d.ts +20 -0
  266. package/lib/factory.js +122 -0
  267. package/lib/index-browser.d.ts +4 -0
  268. package/lib/index-browser.js +29 -0
  269. package/lib/index.d.ts +11 -0
  270. package/lib/index.js +236 -0
  271. package/lib/types/account.d.ts +37 -0
  272. package/lib/types/account.js +3 -0
  273. package/lib/types/api/applyFlags.d.ts +4 -0
  274. package/lib/types/api/applyFlags.js +3 -0
  275. package/lib/types/api/applySettings.d.ts +4 -0
  276. package/lib/types/api/applySettings.js +3 -0
  277. package/lib/types/api/authorizeCoinJoin.d.ts +14 -0
  278. package/lib/types/api/authorizeCoinJoin.js +3 -0
  279. package/lib/types/api/backupDevice.d.ts +4 -0
  280. package/lib/types/api/backupDevice.js +3 -0
  281. package/lib/types/api/binanceGetAddress.d.ts +4 -0
  282. package/lib/types/api/binanceGetAddress.js +3 -0
  283. package/lib/types/api/binanceGetPublicKey.d.ts +4 -0
  284. package/lib/types/api/binanceGetPublicKey.js +3 -0
  285. package/lib/types/api/binanceSignTransaction.d.ts +31 -0
  286. package/lib/types/api/binanceSignTransaction.js +3 -0
  287. package/lib/types/api/blockchainDisconnect.d.ts +5 -0
  288. package/lib/types/api/blockchainDisconnect.js +3 -0
  289. package/lib/types/api/blockchainEstimateFee.d.ts +29 -0
  290. package/lib/types/api/blockchainEstimateFee.js +3 -0
  291. package/lib/types/api/blockchainGetAccountBalanceHistory.d.ts +4 -0
  292. package/lib/types/api/blockchainGetAccountBalanceHistory.js +3 -0
  293. package/lib/types/api/blockchainGetCurrentFiatRates.d.ts +4 -0
  294. package/lib/types/api/blockchainGetCurrentFiatRates.js +3 -0
  295. package/lib/types/api/blockchainGetFiatRatesForTimestamps.d.ts +4 -0
  296. package/lib/types/api/blockchainGetFiatRatesForTimestamps.js +3 -0
  297. package/lib/types/api/blockchainGetTransactions.d.ts +7 -0
  298. package/lib/types/api/blockchainGetTransactions.js +3 -0
  299. package/lib/types/api/blockchainSetCustomBackend.d.ts +7 -0
  300. package/lib/types/api/blockchainSetCustomBackend.js +3 -0
  301. package/lib/types/api/blockchainSubscribe.d.ts +7 -0
  302. package/lib/types/api/blockchainSubscribe.js +3 -0
  303. package/lib/types/api/blockchainSubscribeFiatRates.d.ts +7 -0
  304. package/lib/types/api/blockchainSubscribeFiatRates.js +3 -0
  305. package/lib/types/api/blockchainUnsubscribe.d.ts +5 -0
  306. package/lib/types/api/blockchainUnsubscribe.js +3 -0
  307. package/lib/types/api/blockchainUnsubscribeFiatRates.d.ts +5 -0
  308. package/lib/types/api/blockchainUnsubscribeFiatRates.js +3 -0
  309. package/lib/types/api/cancel.d.ts +2 -0
  310. package/lib/types/api/cancel.js +3 -0
  311. package/lib/types/api/cardanoGetAddress.d.ts +35 -0
  312. package/lib/types/api/cardanoGetAddress.js +3 -0
  313. package/lib/types/api/cardanoGetNativeScriptHash.d.ts +21 -0
  314. package/lib/types/api/cardanoGetNativeScriptHash.js +3 -0
  315. package/lib/types/api/cardanoGetPublicKey.d.ts +16 -0
  316. package/lib/types/api/cardanoGetPublicKey.js +3 -0
  317. package/lib/types/api/cardanoSignTransaction.d.ts +130 -0
  318. package/lib/types/api/cardanoSignTransaction.js +3 -0
  319. package/lib/types/api/changePin.d.ts +4 -0
  320. package/lib/types/api/changePin.js +3 -0
  321. package/lib/types/api/cipherKeyValue.d.ts +17 -0
  322. package/lib/types/api/cipherKeyValue.js +3 -0
  323. package/lib/types/api/composeTransaction.d.ts +92 -0
  324. package/lib/types/api/composeTransaction.js +3 -0
  325. package/lib/types/api/customMessage.d.ts +12 -0
  326. package/lib/types/api/customMessage.js +3 -0
  327. package/lib/types/api/disableWebUSB.d.ts +2 -0
  328. package/lib/types/api/disableWebUSB.js +3 -0
  329. package/lib/types/api/dispose.d.ts +2 -0
  330. package/lib/types/api/dispose.js +3 -0
  331. package/lib/types/api/eosGetPublicKey.d.ts +14 -0
  332. package/lib/types/api/eosGetPublicKey.js +3 -0
  333. package/lib/types/api/eosSignTransaction.d.ts +111 -0
  334. package/lib/types/api/eosSignTransaction.js +3 -0
  335. package/lib/types/api/ethereumGetAddress.d.ts +4 -0
  336. package/lib/types/api/ethereumGetAddress.js +3 -0
  337. package/lib/types/api/ethereumGetPublicKey.d.ts +5 -0
  338. package/lib/types/api/ethereumGetPublicKey.js +3 -0
  339. package/lib/types/api/ethereumSignMessage.d.ts +9 -0
  340. package/lib/types/api/ethereumSignMessage.js +3 -0
  341. package/lib/types/api/ethereumSignTransaction.d.ts +40 -0
  342. package/lib/types/api/ethereumSignTransaction.js +3 -0
  343. package/lib/types/api/ethereumSignTypedData.d.ts +42 -0
  344. package/lib/types/api/ethereumSignTypedData.js +3 -0
  345. package/lib/types/api/ethereumVerifyMessage.d.ts +10 -0
  346. package/lib/types/api/ethereumVerifyMessage.js +3 -0
  347. package/lib/types/api/firmwareUpdate.d.ts +14 -0
  348. package/lib/types/api/firmwareUpdate.js +3 -0
  349. package/lib/types/api/getAccountInfo.d.ts +14 -0
  350. package/lib/types/api/getAccountInfo.js +3 -0
  351. package/lib/types/api/getAddress.d.ts +13 -0
  352. package/lib/types/api/getAddress.js +3 -0
  353. package/lib/types/api/getCoinInfo.d.ts +4 -0
  354. package/lib/types/api/getCoinInfo.js +3 -0
  355. package/lib/types/api/getDeviceState.d.ts +6 -0
  356. package/lib/types/api/getDeviceState.js +3 -0
  357. package/lib/types/api/getFeatures.d.ts +4 -0
  358. package/lib/types/api/getFeatures.js +3 -0
  359. package/lib/types/api/getOwnershipId.d.ts +15 -0
  360. package/lib/types/api/getOwnershipId.js +3 -0
  361. package/lib/types/api/getOwnershipProof.d.ts +19 -0
  362. package/lib/types/api/getOwnershipProof.js +3 -0
  363. package/lib/types/api/getPublicKey.d.ts +19 -0
  364. package/lib/types/api/getPublicKey.js +3 -0
  365. package/lib/types/api/getSettings.d.ts +4 -0
  366. package/lib/types/api/getSettings.js +3 -0
  367. package/lib/types/api/index.d.ts +149 -0
  368. package/lib/types/api/index.js +3 -0
  369. package/lib/types/api/init.d.ts +5 -0
  370. package/lib/types/api/init.js +3 -0
  371. package/lib/types/api/manifest.d.ts +3 -0
  372. package/lib/types/api/manifest.js +3 -0
  373. package/lib/types/api/nemGetAddress.d.ts +7 -0
  374. package/lib/types/api/nemGetAddress.js +3 -0
  375. package/lib/types/api/nemSignTransaction.d.ts +92 -0
  376. package/lib/types/api/nemSignTransaction.js +3 -0
  377. package/lib/types/api/off.d.ts +11 -0
  378. package/lib/types/api/off.js +3 -0
  379. package/lib/types/api/on.d.ts +14 -0
  380. package/lib/types/api/on.js +3 -0
  381. package/lib/types/api/pushTransaction.d.ts +10 -0
  382. package/lib/types/api/pushTransaction.js +3 -0
  383. package/lib/types/api/rebootToBootloader.d.ts +4 -0
  384. package/lib/types/api/rebootToBootloader.js +3 -0
  385. package/lib/types/api/recoveryDevice.d.ts +7 -0
  386. package/lib/types/api/recoveryDevice.js +3 -0
  387. package/lib/types/api/removeAllListeners.d.ts +3 -0
  388. package/lib/types/api/removeAllListeners.js +3 -0
  389. package/lib/types/api/renderWebUSBButton.d.ts +2 -0
  390. package/lib/types/api/renderWebUSBButton.js +3 -0
  391. package/lib/types/api/requestLogin.d.ts +20 -0
  392. package/lib/types/api/requestLogin.js +3 -0
  393. package/lib/types/api/resetDevice.d.ts +16 -0
  394. package/lib/types/api/resetDevice.js +3 -0
  395. package/lib/types/api/rippleGetAddress.d.ts +4 -0
  396. package/lib/types/api/rippleGetAddress.js +3 -0
  397. package/lib/types/api/rippleSignTransaction.d.ts +23 -0
  398. package/lib/types/api/rippleSignTransaction.js +3 -0
  399. package/lib/types/api/setProxy.d.ts +9 -0
  400. package/lib/types/api/setProxy.js +3 -0
  401. package/lib/types/api/signMessage.d.ts +11 -0
  402. package/lib/types/api/signMessage.js +3 -0
  403. package/lib/types/api/signTransaction.d.ts +70 -0
  404. package/lib/types/api/signTransaction.js +3 -0
  405. package/lib/types/api/stellarGetAddress.d.ts +4 -0
  406. package/lib/types/api/stellarGetAddress.js +3 -0
  407. package/lib/types/api/stellarSignTransaction.d.ts +182 -0
  408. package/lib/types/api/stellarSignTransaction.js +3 -0
  409. package/lib/types/api/tezosGetAddress.d.ts +4 -0
  410. package/lib/types/api/tezosGetAddress.js +3 -0
  411. package/lib/types/api/tezosGetPublicKey.d.ts +4 -0
  412. package/lib/types/api/tezosGetPublicKey.js +3 -0
  413. package/lib/types/api/tezosSignTransaction.d.ts +61 -0
  414. package/lib/types/api/tezosSignTransaction.js +3 -0
  415. package/lib/types/api/uiResponse.d.ts +3 -0
  416. package/lib/types/api/uiResponse.js +3 -0
  417. package/lib/types/api/verifyMessage.d.ts +11 -0
  418. package/lib/types/api/verifyMessage.js +3 -0
  419. package/lib/types/api/wipeDevice.d.ts +4 -0
  420. package/lib/types/api/wipeDevice.js +3 -0
  421. package/lib/types/coinInfo.d.ts +79 -0
  422. package/lib/types/coinInfo.js +3 -0
  423. package/lib/types/device.d.ts +92 -0
  424. package/lib/types/device.js +3 -0
  425. package/lib/types/firmware.d.ts +36 -0
  426. package/lib/types/firmware.js +3 -0
  427. package/lib/types/index.d.ts +15 -0
  428. package/lib/types/index.js +11 -0
  429. package/lib/types/params.d.ts +56 -0
  430. package/lib/types/params.js +3 -0
  431. package/lib/types/settings.d.ts +34 -0
  432. package/lib/types/settings.js +3 -0
  433. package/lib/types/utils.d.ts +15 -0
  434. package/lib/types/utils.js +3 -0
  435. package/lib/utils/__fixtures__/accountUtils.d.ts +4 -0
  436. package/lib/utils/__fixtures__/accountUtils.js +32 -0
  437. package/lib/utils/__fixtures__/addressUtils.d.ts +10 -0
  438. package/lib/utils/__fixtures__/addressUtils.js +214 -0
  439. package/lib/utils/__fixtures__/ethereumUtils.d.ts +3 -0
  440. package/lib/utils/__fixtures__/ethereumUtils.js +20 -0
  441. package/lib/utils/__fixtures__/formatUtils.d.ts +3 -0
  442. package/lib/utils/__fixtures__/formatUtils.js +15 -0
  443. package/lib/utils/__fixtures__/hdnodeUtils.d.ts +186 -0
  444. package/lib/utils/__fixtures__/hdnodeUtils.js +206 -0
  445. package/lib/utils/accountUtils.d.ts +11 -0
  446. package/lib/utils/accountUtils.js +99 -0
  447. package/lib/utils/addressUtils.d.ts +3 -0
  448. package/lib/utils/addressUtils.js +32 -0
  449. package/lib/utils/assets-browser.d.ts +2 -0
  450. package/lib/utils/assets-browser.js +21 -0
  451. package/lib/utils/assets.d.ts +2 -0
  452. package/lib/utils/assets.js +28 -0
  453. package/lib/utils/bip39.d.ts +3 -0
  454. package/lib/utils/bip39.js +2053 -0
  455. package/lib/utils/browserUtils.d.ts +21 -0
  456. package/lib/utils/browserUtils.js +100 -0
  457. package/lib/utils/bufferUtils.d.ts +3 -0
  458. package/lib/utils/bufferUtils.js +11 -0
  459. package/lib/utils/debug.d.ts +24 -0
  460. package/lib/utils/debug.js +90 -0
  461. package/lib/utils/deferred.d.ts +18 -0
  462. package/lib/utils/deferred.js +66 -0
  463. package/lib/utils/deviceFeaturesUtils.d.ts +6 -0
  464. package/lib/utils/deviceFeaturesUtils.js +115 -0
  465. package/lib/utils/ethereumUtils.d.ts +3 -0
  466. package/lib/utils/ethereumUtils.js +12 -0
  467. package/lib/utils/firmwareUtils.d.ts +7 -0
  468. package/lib/utils/firmwareUtils.js +28 -0
  469. package/lib/utils/formatUtils.d.ts +8 -0
  470. package/lib/utils/formatUtils.js +57 -0
  471. package/lib/utils/hdnodeUtils.d.ts +8 -0
  472. package/lib/utils/hdnodeUtils.js +80 -0
  473. package/lib/utils/interactionTimeout.d.ts +10 -0
  474. package/lib/utils/interactionTimeout.js +34 -0
  475. package/lib/utils/objectUtils.d.ts +10 -0
  476. package/lib/utils/objectUtils.js +37 -0
  477. package/lib/utils/pathUtils.d.ts +20 -0
  478. package/lib/utils/pathUtils.js +159 -0
  479. package/lib/utils/promiseUtils.d.ts +2 -0
  480. package/lib/utils/promiseUtils.js +8 -0
  481. package/lib/utils/urlUtils.d.ts +5 -0
  482. package/lib/utils/urlUtils.js +27 -0
  483. package/lib/utils/versionUtils.d.ts +6 -0
  484. package/lib/utils/versionUtils.js +72 -0
  485. package/lib/utils/windowsUtils.d.ts +2 -0
  486. package/lib/utils/windowsUtils.js +6 -0
  487. package/lib/workers/RNUsbPlugin.d.ts +31 -0
  488. package/lib/workers/RNUsbPlugin.js +65 -0
  489. package/lib/workers/workers-browser.d.ts +8 -0
  490. package/lib/workers/workers-browser.js +19 -0
  491. package/lib/workers/workers-react-native.d.ts +8 -0
  492. package/lib/workers/workers-react-native.js +19 -0
  493. package/lib/workers/workers.d.ts +10 -0
  494. package/lib/workers/workers.js +17 -0
  495. package/package.json +62 -0
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.convertMultisigPubKey = exports.xpubToHDNodeType = exports.xpubDerive = exports.convertBitcoinXpub = exports.convertXpub = void 0;
4
+ const utxo_lib_1 = require("@trezor/utxo-lib");
5
+ const constants_1 = require("../constants");
6
+ const pubNode2bjsNode = (node, network) => {
7
+ const chainCode = Buffer.from(node.chain_code, 'hex');
8
+ const publicKey = Buffer.from(node.public_key, 'hex');
9
+ const res = utxo_lib_1.bip32.fromPublicKey(publicKey, chainCode, network);
10
+ res.__DEPTH = node.depth;
11
+ res.__INDEX = node.child_num;
12
+ res.__PARENT_FINGERPRINT = node.fingerprint;
13
+ return res;
14
+ };
15
+ const convertXpub = (xpub, originalNetwork, requestedNetwork) => {
16
+ const node = utxo_lib_1.bip32.fromBase58(xpub, originalNetwork);
17
+ if (requestedNetwork) {
18
+ node.network = requestedNetwork;
19
+ }
20
+ return node.toBase58();
21
+ };
22
+ exports.convertXpub = convertXpub;
23
+ const convertBitcoinXpub = (xpub, network) => {
24
+ if (network.bip32.public === 0x0488b21e) {
25
+ return xpub;
26
+ }
27
+ const node = utxo_lib_1.bip32.fromBase58(xpub);
28
+ node.network = network;
29
+ return node.toBase58();
30
+ };
31
+ exports.convertBitcoinXpub = convertBitcoinXpub;
32
+ const pubKey2bjsNode = (key, network) => {
33
+ const keyNode = key.node;
34
+ const bjsNode = pubNode2bjsNode(keyNode, network);
35
+ const bjsXpub = bjsNode.toBase58();
36
+ const keyXpub = (0, exports.convertXpub)(key.xpub, network);
37
+ if (bjsXpub !== keyXpub) {
38
+ throw constants_1.ERRORS.TypedError('Runtime', `pubKey2bjsNode: Invalid public key transmission detected. Key: ${bjsXpub}, Received: ${keyXpub}`);
39
+ }
40
+ return bjsNode;
41
+ };
42
+ const checkDerivation = (parBjsNode, childBjsNode, suffix) => {
43
+ const derivedChildBjsNode = parBjsNode.derive(suffix);
44
+ const derivedXpub = derivedChildBjsNode.toBase58();
45
+ const compXpub = childBjsNode.toBase58();
46
+ if (derivedXpub !== compXpub) {
47
+ throw constants_1.ERRORS.TypedError('Runtime', `checkDerivation: Invalid child cross-check public key. Derived: ${derivedXpub}, Received: ${compXpub}`);
48
+ }
49
+ };
50
+ function xpubDerive(xpub, childXPub, suffix, network, _requestedNetwork) {
51
+ const resNode = pubKey2bjsNode(xpub, network);
52
+ const childNode = pubKey2bjsNode(childXPub, network);
53
+ checkDerivation(resNode, childNode, suffix);
54
+ return xpub;
55
+ }
56
+ exports.xpubDerive = xpubDerive;
57
+ const xpubToHDNodeType = (xpub, network) => {
58
+ const hd = utxo_lib_1.bip32.fromBase58(xpub, network);
59
+ return {
60
+ depth: hd.depth,
61
+ child_num: hd.index,
62
+ fingerprint: hd.parentFingerprint,
63
+ public_key: hd.publicKey.toString('hex'),
64
+ chain_code: hd.chainCode.toString('hex'),
65
+ };
66
+ };
67
+ exports.xpubToHDNodeType = xpubToHDNodeType;
68
+ const convertMultisigPubKey = (network, utxo) => {
69
+ var _a;
70
+ if ('multisig' in utxo && ((_a = utxo.multisig) === null || _a === void 0 ? void 0 : _a.pubkeys)) {
71
+ utxo.multisig.pubkeys.forEach(pk => {
72
+ if (typeof pk.node === 'string') {
73
+ pk.node = (0, exports.xpubToHDNodeType)(pk.node, network);
74
+ }
75
+ });
76
+ }
77
+ return utxo;
78
+ };
79
+ exports.convertMultisigPubKey = convertMultisigPubKey;
80
+ //# sourceMappingURL=hdnodeUtils.js.map
@@ -0,0 +1,10 @@
1
+ declare type TimeoutID = any;
2
+ export declare class InteractionTimeout {
3
+ timeout?: TimeoutID | null;
4
+ seconds: number;
5
+ constructor(seconds?: number);
6
+ start(cancelFn: () => void, seconds?: number): void;
7
+ stop(): void;
8
+ }
9
+ export {};
10
+ //# sourceMappingURL=interactionTimeout.d.ts.map
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InteractionTimeout = void 0;
4
+ const debug_1 = require("./debug");
5
+ const _log = (0, debug_1.initLog)('InteractionTimeout');
6
+ class InteractionTimeout {
7
+ constructor(seconds) {
8
+ this.timeout = null;
9
+ this.seconds = 0;
10
+ if (seconds) {
11
+ this.seconds = seconds;
12
+ }
13
+ }
14
+ start(cancelFn, seconds) {
15
+ const time = seconds || this.seconds;
16
+ if (time < 1) {
17
+ return;
18
+ }
19
+ this.stop();
20
+ _log.debug(`starting interaction timeout for ${time} seconds`);
21
+ this.timeout = setTimeout(() => {
22
+ _log.debug('interaction timed out');
23
+ cancelFn();
24
+ }, 1000 * time);
25
+ }
26
+ stop() {
27
+ if (this.timeout) {
28
+ _log.debug('clearing interaction timeout');
29
+ clearTimeout(this.timeout);
30
+ }
31
+ }
32
+ }
33
+ exports.InteractionTimeout = InteractionTimeout;
34
+ //# sourceMappingURL=interactionTimeout.js.map
@@ -0,0 +1,10 @@
1
+ export declare function clone<T>(obj: T): T;
2
+ export declare function entries<T>(obj: {
3
+ [key: string]: T;
4
+ }): Array<[string, T]>;
5
+ export declare function deepClone(_obj: any, _hash?: any): void;
6
+ export declare function snapshot(obj: any): any;
7
+ export declare function objectValues<X>(object: {
8
+ [key: string]: X;
9
+ }): X[];
10
+ //# sourceMappingURL=objectUtils.d.ts.map
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.objectValues = exports.snapshot = exports.deepClone = exports.entries = exports.clone = void 0;
4
+ function clone(obj) {
5
+ const jsonString = JSON.stringify(obj);
6
+ if (jsonString === undefined) {
7
+ return obj;
8
+ }
9
+ return JSON.parse(jsonString);
10
+ }
11
+ exports.clone = clone;
12
+ function entries(obj) {
13
+ const keys = Object.keys(obj);
14
+ return keys.map(key => [key, obj[key]]);
15
+ }
16
+ exports.entries = entries;
17
+ function deepClone(_obj, _hash = new WeakMap()) {
18
+ }
19
+ exports.deepClone = deepClone;
20
+ function snapshot(obj) {
21
+ if (obj == null || typeof obj !== 'object') {
22
+ return obj;
23
+ }
24
+ const temp = new obj.constructor();
25
+ Object.keys(temp).forEach(key => {
26
+ if (Object.prototype.hasOwnProperty.call(obj, key)) {
27
+ temp[key] = snapshot(obj[key]);
28
+ }
29
+ });
30
+ return temp;
31
+ }
32
+ exports.snapshot = snapshot;
33
+ function objectValues(object) {
34
+ return Object.keys(object).map(key => object[key]);
35
+ }
36
+ exports.objectValues = objectValues;
37
+ //# sourceMappingURL=objectUtils.js.map
@@ -0,0 +1,20 @@
1
+ import { PROTO } from '../constants';
2
+ import type { CoinInfo } from '../types';
3
+ export declare const HD_HARDENED = 2147483648;
4
+ export declare const toHardened: (n: number) => number;
5
+ export declare const fromHardened: (n: number) => number;
6
+ export declare const getHDPath: (path: string) => number[];
7
+ export declare const isMultisigPath: (path: number[] | undefined) => boolean;
8
+ export declare const isSegwitPath: (path: number[] | undefined) => boolean;
9
+ export declare const isBech32Path: (path: number[] | undefined) => boolean;
10
+ export declare const isTaprootPath: (path: number[] | undefined) => boolean;
11
+ export declare const getAccountType: (path: number[] | undefined) => "p2pkh" | "p2sh" | "p2tr" | "p2wpkh";
12
+ export declare const getScriptType: (path: number[] | undefined) => PROTO.InternalInputScriptType;
13
+ export declare const getOutputScriptType: (path?: number[] | undefined) => PROTO.ChangeOutputScriptType;
14
+ export declare const validatePath: (path: string | number[], length?: number, base?: boolean) => number[];
15
+ export declare const getSerializedPath: (path: number[]) => string;
16
+ export declare const getPathFromIndex: (bip44purpose: number, bip44cointype: number, index: number) => number[];
17
+ export declare const getIndexFromPath: (path: number[]) => number;
18
+ export declare const fixPath: <T extends PROTO.TxInputType | PROTO.TxOutputType>(utxo: T) => T;
19
+ export declare const getLabel: (label: string, coinInfo?: CoinInfo | undefined) => string;
20
+ //# sourceMappingURL=pathUtils.d.ts.map
@@ -0,0 +1,159 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getLabel = exports.fixPath = exports.getIndexFromPath = exports.getPathFromIndex = exports.getSerializedPath = exports.validatePath = exports.getOutputScriptType = exports.getScriptType = exports.getAccountType = exports.isTaprootPath = exports.isBech32Path = exports.isSegwitPath = exports.isMultisigPath = exports.getHDPath = exports.fromHardened = exports.toHardened = exports.HD_HARDENED = void 0;
4
+ const constants_1 = require("../constants");
5
+ exports.HD_HARDENED = 0x80000000;
6
+ const toHardened = (n) => (n | exports.HD_HARDENED) >>> 0;
7
+ exports.toHardened = toHardened;
8
+ const fromHardened = (n) => (n & ~exports.HD_HARDENED) >>> 0;
9
+ exports.fromHardened = fromHardened;
10
+ const PATH_NOT_VALID = constants_1.ERRORS.TypedError('Method_InvalidParameter', 'Not a valid path');
11
+ const PATH_NEGATIVE_VALUES = constants_1.ERRORS.TypedError('Method_InvalidParameter', 'Path cannot contain negative values');
12
+ const getHDPath = (path) => {
13
+ const parts = path.toLowerCase().split('/');
14
+ if (parts[0] !== 'm')
15
+ throw PATH_NOT_VALID;
16
+ return parts
17
+ .filter(p => p !== 'm' && p !== '')
18
+ .map(p => {
19
+ let hardened = false;
20
+ if (p.endsWith("'")) {
21
+ hardened = true;
22
+ p = p.substring(0, p.length - 1);
23
+ }
24
+ let n = parseInt(p, 10);
25
+ if (Number.isNaN(n)) {
26
+ throw PATH_NOT_VALID;
27
+ }
28
+ else if (n < 0) {
29
+ throw PATH_NEGATIVE_VALUES;
30
+ }
31
+ if (hardened) {
32
+ n = (0, exports.toHardened)(n);
33
+ }
34
+ return n;
35
+ });
36
+ };
37
+ exports.getHDPath = getHDPath;
38
+ const isMultisigPath = (path) => Array.isArray(path) && path[0] === (0, exports.toHardened)(48);
39
+ exports.isMultisigPath = isMultisigPath;
40
+ const isSegwitPath = (path) => Array.isArray(path) && path[0] === (0, exports.toHardened)(49);
41
+ exports.isSegwitPath = isSegwitPath;
42
+ const isBech32Path = (path) => Array.isArray(path) && path[0] === (0, exports.toHardened)(84);
43
+ exports.isBech32Path = isBech32Path;
44
+ const isTaprootPath = (path) => Array.isArray(path) && path[0] === (0, exports.toHardened)(86);
45
+ exports.isTaprootPath = isTaprootPath;
46
+ const getAccountType = (path) => {
47
+ if ((0, exports.isTaprootPath)(path))
48
+ return 'p2tr';
49
+ if ((0, exports.isBech32Path)(path))
50
+ return 'p2wpkh';
51
+ if ((0, exports.isSegwitPath)(path))
52
+ return 'p2sh';
53
+ return 'p2pkh';
54
+ };
55
+ exports.getAccountType = getAccountType;
56
+ const getScriptType = (path) => {
57
+ if (!Array.isArray(path) || path.length < 1)
58
+ return 'SPENDADDRESS';
59
+ const p1 = (0, exports.fromHardened)(path[0]);
60
+ switch (p1) {
61
+ case 48:
62
+ return 'SPENDMULTISIG';
63
+ case 49:
64
+ return 'SPENDP2SHWITNESS';
65
+ case 84:
66
+ return 'SPENDWITNESS';
67
+ case 86:
68
+ return 'SPENDTAPROOT';
69
+ default:
70
+ return 'SPENDADDRESS';
71
+ }
72
+ };
73
+ exports.getScriptType = getScriptType;
74
+ const getOutputScriptType = (path) => {
75
+ if (!Array.isArray(path) || path.length < 1)
76
+ return 'PAYTOADDRESS';
77
+ if (path[0] === 49) {
78
+ return 'PAYTOP2SHWITNESS';
79
+ }
80
+ const p = (0, exports.fromHardened)(path[0]);
81
+ switch (p) {
82
+ case 48:
83
+ return 'PAYTOMULTISIG';
84
+ case 49:
85
+ return 'PAYTOP2SHWITNESS';
86
+ case 84:
87
+ return 'PAYTOWITNESS';
88
+ case 86:
89
+ return 'PAYTOTAPROOT';
90
+ default:
91
+ return 'PAYTOADDRESS';
92
+ }
93
+ };
94
+ exports.getOutputScriptType = getOutputScriptType;
95
+ const validatePath = (path, length = 0, base = false) => {
96
+ let valid;
97
+ if (typeof path === 'string') {
98
+ valid = (0, exports.getHDPath)(path);
99
+ }
100
+ else if (Array.isArray(path)) {
101
+ valid = path.map((p) => {
102
+ const n = parseInt(p, 10);
103
+ if (Number.isNaN(n)) {
104
+ throw PATH_NOT_VALID;
105
+ }
106
+ else if (n < 0) {
107
+ throw PATH_NEGATIVE_VALUES;
108
+ }
109
+ return n;
110
+ });
111
+ }
112
+ if (!valid)
113
+ throw PATH_NOT_VALID;
114
+ if (length > 0 && valid.length < length)
115
+ throw PATH_NOT_VALID;
116
+ return base ? valid.splice(0, 3) : valid;
117
+ };
118
+ exports.validatePath = validatePath;
119
+ const getSerializedPath = (path) => `m/${path
120
+ .map(i => {
121
+ const s = (i & ~exports.HD_HARDENED).toString();
122
+ if (i & exports.HD_HARDENED) {
123
+ return `${s}'`;
124
+ }
125
+ return s;
126
+ })
127
+ .join('/')}`;
128
+ exports.getSerializedPath = getSerializedPath;
129
+ const getPathFromIndex = (bip44purpose, bip44cointype, index) => [
130
+ (0, exports.toHardened)(bip44purpose),
131
+ (0, exports.toHardened)(bip44cointype),
132
+ (0, exports.toHardened)(index),
133
+ ];
134
+ exports.getPathFromIndex = getPathFromIndex;
135
+ const getIndexFromPath = (path) => {
136
+ if (path.length < 3) {
137
+ throw constants_1.ERRORS.TypedError('Method_InvalidParameter', `getIndexFromPath: invalid path length ${path.toString()}`);
138
+ }
139
+ return (0, exports.fromHardened)(path[2]);
140
+ };
141
+ exports.getIndexFromPath = getIndexFromPath;
142
+ const fixPath = (utxo) => {
143
+ if (utxo.address_n && Array.isArray(utxo.address_n)) {
144
+ utxo.address_n = utxo.address_n.map(i => i >>> 0);
145
+ }
146
+ if (utxo.address_n && typeof utxo.address_n === 'string') {
147
+ utxo.address_n = (0, exports.getHDPath)(utxo.address_n);
148
+ }
149
+ return utxo;
150
+ };
151
+ exports.fixPath = fixPath;
152
+ const getLabel = (label, coinInfo) => {
153
+ if (coinInfo) {
154
+ return label.replace('#NETWORK', coinInfo.label);
155
+ }
156
+ return label.replace('#NETWORK', '');
157
+ };
158
+ exports.getLabel = getLabel;
159
+ //# sourceMappingURL=pathUtils.js.map
@@ -0,0 +1,2 @@
1
+ export declare const resolveAfter: (msec: number, value?: any) => Promise<any>;
2
+ //# sourceMappingURL=promiseUtils.d.ts.map
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveAfter = void 0;
4
+ const resolveAfter = (msec, value) => new Promise(resolve => {
5
+ setTimeout(resolve, msec, value);
6
+ });
7
+ exports.resolveAfter = resolveAfter;
8
+ //# sourceMappingURL=promiseUtils.js.map
@@ -0,0 +1,5 @@
1
+ export declare const getOrigin: (url: string) => string;
2
+ export declare const getOnionDomain: <T extends string | string[]>(url: T, dict: {
3
+ [domain: string]: string;
4
+ }) => T;
5
+ //# sourceMappingURL=urlUtils.d.ts.map
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getOnionDomain = exports.getOrigin = void 0;
4
+ const getOrigin = (url) => {
5
+ if (typeof url !== 'string')
6
+ return 'unknown';
7
+ if (url.indexOf('file://') === 0)
8
+ return 'file://';
9
+ const parts = url.match(/^.+\:\/\/[^\/]+/);
10
+ return Array.isArray(parts) && parts.length > 0 ? parts[0] : 'unknown';
11
+ };
12
+ exports.getOrigin = getOrigin;
13
+ const getOnionDomain = (url, dict) => {
14
+ var _a;
15
+ if (Array.isArray(url)) {
16
+ return url.map(u => (0, exports.getOnionDomain)(u, dict));
17
+ }
18
+ if (typeof url === 'string') {
19
+ const [, protocol, subdomain, domain, rest] = (_a = url.match(/^(http|ws)s?:\/\/([^:/]+\.)?([^/.]+\.[^/.]+)(\/.*)?$/i)) !== null && _a !== void 0 ? _a : [];
20
+ if (!domain || !dict[domain])
21
+ return url;
22
+ return `${protocol}://${subdomain || ''}${dict[domain]}${rest || ''}`;
23
+ }
24
+ return url;
25
+ };
26
+ exports.getOnionDomain = getOnionDomain;
27
+ //# sourceMappingURL=urlUtils.js.map
@@ -0,0 +1,6 @@
1
+ export declare const isValidVersionString: (version: string) => boolean;
2
+ export declare const isValidVersionArray: (version: number[]) => boolean;
3
+ export declare const normalizeVersionArray: (version: number[]) => number[];
4
+ export declare const versionSplit: (version: string) => number[];
5
+ export declare const versionCompare: (a: string | number[], b: string | number[]) => 1 | 0 | -1;
6
+ //# sourceMappingURL=versionUtils.d.ts.map
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.versionCompare = exports.versionSplit = exports.normalizeVersionArray = exports.isValidVersionArray = exports.isValidVersionString = void 0;
4
+ const VER_NUMS = 3;
5
+ const versionRegex = new RegExp(/^[0-9]{1,3}(\.[0-9]{1,3}){0,2}$/);
6
+ const isValidVersionString = (version) => versionRegex.test(version);
7
+ exports.isValidVersionString = isValidVersionString;
8
+ const isValidVersionArray = (version) => {
9
+ if (!Array.isArray(version)) {
10
+ return false;
11
+ }
12
+ if (version.length === 0 || version.length > VER_NUMS) {
13
+ return false;
14
+ }
15
+ if (version[0] === 0) {
16
+ return false;
17
+ }
18
+ for (let i = 0; i < version.length; i++) {
19
+ if (typeof version[i] !== 'number' || version[i] < 0) {
20
+ return false;
21
+ }
22
+ }
23
+ return true;
24
+ };
25
+ exports.isValidVersionArray = isValidVersionArray;
26
+ const normalizeVersionArray = (version) => {
27
+ if (version.length === VER_NUMS) {
28
+ return version;
29
+ }
30
+ const partialVersion = [...version];
31
+ for (let i = version.length; i < VER_NUMS; i++) {
32
+ partialVersion.push(0);
33
+ }
34
+ return partialVersion;
35
+ };
36
+ exports.normalizeVersionArray = normalizeVersionArray;
37
+ const versionSplit = (version) => {
38
+ if (!(0, exports.isValidVersionString)(version)) {
39
+ return [0, 0, 0];
40
+ }
41
+ return version.split('.').map(v => Number(v));
42
+ };
43
+ exports.versionSplit = versionSplit;
44
+ const versionCompare = (a, b) => {
45
+ if (typeof a === 'string' && typeof b === 'string' && a === b) {
46
+ return 0;
47
+ }
48
+ const pa = typeof a === 'string' ? (0, exports.versionSplit)(a) : a;
49
+ const pb = typeof b === 'string' ? (0, exports.versionSplit)(b) : b;
50
+ const vpa = (0, exports.isValidVersionArray)(pa);
51
+ const vpb = (0, exports.isValidVersionArray)(pb);
52
+ if (!vpa && !vpb) {
53
+ return 0;
54
+ }
55
+ if (!vpa && vpb) {
56
+ return -1;
57
+ }
58
+ if (vpa && !vpb) {
59
+ return 1;
60
+ }
61
+ const npa = (0, exports.normalizeVersionArray)(pa);
62
+ const npb = (0, exports.normalizeVersionArray)(pb);
63
+ for (let i = 0; i < VER_NUMS; i++) {
64
+ if (npa[i] > npb[i])
65
+ return 1;
66
+ if (npb[i] > npa[i])
67
+ return -1;
68
+ }
69
+ return 0;
70
+ };
71
+ exports.versionCompare = versionCompare;
72
+ //# sourceMappingURL=versionUtils.js.map
@@ -0,0 +1,2 @@
1
+ export declare const sendMessage: (message: any, origin: string) => void;
2
+ //# sourceMappingURL=windowsUtils.d.ts.map
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sendMessage = void 0;
4
+ const sendMessage = (message, origin) => window.parent.postMessage(message, origin);
5
+ exports.sendMessage = sendMessage;
6
+ //# sourceMappingURL=windowsUtils.js.map
@@ -0,0 +1,31 @@
1
+ declare type TrezorDeviceInfoDebug = {
2
+ path: string;
3
+ debug: boolean;
4
+ };
5
+ interface TrezorTransport {
6
+ enumerate(): Promise<TrezorDeviceInfoDebug[]>;
7
+ acquire(path: string, debugLink: boolean): Promise<void>;
8
+ release(path: string, debugLink: boolean, closePort: boolean): Promise<void>;
9
+ write(path: string, debugLink: boolean, data: string): Promise<void>;
10
+ read(path: string, debugLink: boolean): Promise<{
11
+ data: string;
12
+ }>;
13
+ }
14
+ export declare class ReactNativePlugin {
15
+ name: string;
16
+ version: string;
17
+ debug: boolean;
18
+ allowsWriteAndEnumerate: boolean;
19
+ requestNeeded: boolean;
20
+ usb: TrezorTransport;
21
+ constructor();
22
+ init(debug?: boolean): Promise<void>;
23
+ enumerate(): Promise<TrezorDeviceInfoDebug[]>;
24
+ send(path: string, data: ArrayBuffer, debugLink: boolean): Promise<void>;
25
+ receive(path: string, debugLink: boolean): Promise<ArrayBuffer>;
26
+ connect(path: string, debugLink: boolean): Promise<void>;
27
+ disconnect(path: string, debugLink: boolean, last: boolean): Promise<void>;
28
+ requestDevice(): any;
29
+ }
30
+ export {};
31
+ //# sourceMappingURL=RNUsbPlugin.d.ts.map
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ReactNativePlugin = void 0;
4
+ const react_native_1 = require("react-native");
5
+ const bufferToHex = (buffer) => Array.prototype.map.call(new Uint8Array(buffer), x => `00${x.toString(16)}`.slice(-2)).join('');
6
+ const toArrayBuffer = (buffer) => {
7
+ const ab = new ArrayBuffer(buffer.length);
8
+ const view = new Uint8Array(ab);
9
+ const len = buffer.length;
10
+ for (let i = 0; i < len; ++i) {
11
+ view[i] = buffer[i];
12
+ }
13
+ return ab;
14
+ };
15
+ class ReactNativePlugin {
16
+ constructor() {
17
+ this.name = 'ReactNativePlugin';
18
+ this.version = '1.0.0';
19
+ this.debug = false;
20
+ this.allowsWriteAndEnumerate = true;
21
+ this.requestNeeded = false;
22
+ this.usb = react_native_1.NativeModules.TrezorTransport;
23
+ }
24
+ init(debug) {
25
+ this.debug = !!debug;
26
+ if (!this.usb) {
27
+ throw new Error('ReactNative plugin is not available');
28
+ }
29
+ return Promise.resolve();
30
+ }
31
+ enumerate() {
32
+ return this.usb.enumerate();
33
+ }
34
+ send(path, data, debugLink) {
35
+ const dataHex = bufferToHex(data);
36
+ return this.usb.write(path, debugLink, dataHex);
37
+ }
38
+ async receive(path, debugLink) {
39
+ const { data } = await this.usb.read(path, debugLink);
40
+ return toArrayBuffer(Buffer.from(data, 'hex'));
41
+ }
42
+ async connect(path, debugLink) {
43
+ for (let i = 0; i < 5; i++) {
44
+ if (i > 0) {
45
+ await new Promise(resolve => setTimeout(resolve, i * 200));
46
+ }
47
+ try {
48
+ await this.usb.acquire(path, debugLink);
49
+ return;
50
+ }
51
+ catch (e) {
52
+ if (i === 4) {
53
+ throw e;
54
+ }
55
+ }
56
+ }
57
+ }
58
+ disconnect(path, debugLink, last) {
59
+ return this.usb.release(path, debugLink, last);
60
+ }
61
+ requestDevice() {
62
+ }
63
+ }
64
+ exports.ReactNativePlugin = ReactNativePlugin;
65
+ //# sourceMappingURL=RNUsbPlugin.js.map
@@ -0,0 +1,8 @@
1
+ import BlockbookWorker from '@trezor/blockchain-link/lib/workers/blockbook';
2
+ import RippleWorker from '@trezor/blockchain-link/lib/workers/ripple';
3
+ import BlockfrostWorker from '@trezor/blockchain-link/lib/workers/blockfrost';
4
+ declare const WebUsbPlugin: () => import("packages/transport/lib/lowlevel/withSharedConnections").default;
5
+ declare const ReactNativeUsbPlugin: undefined;
6
+ declare const ElectrumWorker: undefined;
7
+ export { WebUsbPlugin, ReactNativeUsbPlugin, BlockbookWorker, RippleWorker, BlockfrostWorker, ElectrumWorker, };
8
+ //# sourceMappingURL=workers-browser.d.ts.map
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ElectrumWorker = exports.BlockfrostWorker = exports.RippleWorker = exports.BlockbookWorker = exports.ReactNativeUsbPlugin = exports.WebUsbPlugin = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const sharedConnectionWorker_1 = (0, tslib_1.__importDefault)(require("@trezor/transport/lib/lowlevel/sharedConnectionWorker"));
6
+ const blockbook_1 = (0, tslib_1.__importDefault)(require("@trezor/blockchain-link/lib/workers/blockbook"));
7
+ exports.BlockbookWorker = blockbook_1.default;
8
+ const ripple_1 = (0, tslib_1.__importDefault)(require("@trezor/blockchain-link/lib/workers/ripple"));
9
+ exports.RippleWorker = ripple_1.default;
10
+ const blockfrost_1 = (0, tslib_1.__importDefault)(require("@trezor/blockchain-link/lib/workers/blockfrost"));
11
+ exports.BlockfrostWorker = blockfrost_1.default;
12
+ const transport_1 = (0, tslib_1.__importDefault)(require("@trezor/transport"));
13
+ const WebUsbPlugin = () => new transport_1.default.Lowlevel(new transport_1.default.WebUsb(), typeof SharedWorker !== 'undefined' ? () => new sharedConnectionWorker_1.default() : null);
14
+ exports.WebUsbPlugin = WebUsbPlugin;
15
+ const ReactNativeUsbPlugin = undefined;
16
+ exports.ReactNativeUsbPlugin = ReactNativeUsbPlugin;
17
+ const ElectrumWorker = undefined;
18
+ exports.ElectrumWorker = ElectrumWorker;
19
+ //# sourceMappingURL=workers-browser.js.map
@@ -0,0 +1,8 @@
1
+ import BlockbookWorker from '@trezor/blockchain-link/lib/workers/blockbook';
2
+ import RippleWorker from '@trezor/blockchain-link/lib/workers/ripple';
3
+ import BlockfrostWorker from '@trezor/blockchain-link/lib/workers/blockfrost';
4
+ declare const WebUsbPlugin: undefined;
5
+ declare const ElectrumWorker: undefined;
6
+ declare const ReactNativeUsbPlugin: () => import("packages/transport/lib/lowlevel/withSharedConnections").default;
7
+ export { WebUsbPlugin, ReactNativeUsbPlugin, BlockbookWorker, RippleWorker, BlockfrostWorker, ElectrumWorker, };
8
+ //# sourceMappingURL=workers-react-native.d.ts.map
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ElectrumWorker = exports.BlockfrostWorker = exports.RippleWorker = exports.BlockbookWorker = exports.ReactNativeUsbPlugin = exports.WebUsbPlugin = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const blockbook_1 = (0, tslib_1.__importDefault)(require("@trezor/blockchain-link/lib/workers/blockbook"));
6
+ exports.BlockbookWorker = blockbook_1.default;
7
+ const ripple_1 = (0, tslib_1.__importDefault)(require("@trezor/blockchain-link/lib/workers/ripple"));
8
+ exports.RippleWorker = ripple_1.default;
9
+ const blockfrost_1 = (0, tslib_1.__importDefault)(require("@trezor/blockchain-link/lib/workers/blockfrost"));
10
+ exports.BlockfrostWorker = blockfrost_1.default;
11
+ const transport_1 = (0, tslib_1.__importDefault)(require("@trezor/transport"));
12
+ const RNUsbPlugin_1 = require("./RNUsbPlugin");
13
+ const WebUsbPlugin = undefined;
14
+ exports.WebUsbPlugin = WebUsbPlugin;
15
+ const ElectrumWorker = undefined;
16
+ exports.ElectrumWorker = ElectrumWorker;
17
+ const ReactNativeUsbPlugin = () => new transport_1.default.Lowlevel(new RNUsbPlugin_1.ReactNativePlugin(), undefined);
18
+ exports.ReactNativeUsbPlugin = ReactNativeUsbPlugin;
19
+ //# sourceMappingURL=workers-react-native.js.map
@@ -0,0 +1,10 @@
1
+ import BlockbookWorker from '@trezor/blockchain-link/lib/workers/blockbook';
2
+ import RippleWorker from '@trezor/blockchain-link/lib/workers/ripple';
3
+ import BlockfrostWorker from '@trezor/blockchain-link/lib/workers/blockfrost';
4
+ import ElectrumWorker from '@trezor/blockchain-link/lib/workers/electrum';
5
+ import type { Transport } from '@trezor/transport';
6
+ declare type TransportWrapper = () => Transport;
7
+ declare const WebUsbPlugin: TransportWrapper | typeof undefined;
8
+ declare const ReactNativeUsbPlugin: TransportWrapper | typeof undefined;
9
+ export { WebUsbPlugin, ReactNativeUsbPlugin, BlockbookWorker, RippleWorker, BlockfrostWorker, ElectrumWorker, };
10
+ //# sourceMappingURL=workers.d.ts.map