@trezor/connect 9.6.5-beta.2 → 9.7.0-beta.2

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 (415) hide show
  1. package/CHANGELOG.md +43 -15
  2. package/README.md +1 -1
  3. package/lib/api/applyFlags.js +31 -26
  4. package/lib/api/applySettings.js +43 -40
  5. package/lib/api/authenticateDevice.js +82 -54
  6. package/lib/api/authorizeCoinjoin.js +35 -28
  7. package/lib/api/backupDevice.js +32 -27
  8. package/lib/api/bitcoin/TransactionComposer.js +131 -123
  9. package/lib/api/bitcoin/createPendingTx.js +55 -52
  10. package/lib/api/bitcoin/enhanceSignTx.js +57 -55
  11. package/lib/api/bitcoin/index.js +4 -1
  12. package/lib/api/bitcoin/inputs.js +71 -46
  13. package/lib/api/bitcoin/outputs.js +108 -85
  14. package/lib/api/bitcoin/refTx.d.ts +1 -1
  15. package/lib/api/bitcoin/refTx.js +233 -201
  16. package/lib/api/bitcoin/signtx.js +208 -152
  17. package/lib/api/bitcoin/signtxLegacy.js +169 -119
  18. package/lib/api/bitcoin/signtxVerify.js +80 -67
  19. package/lib/api/bitcoin/transactionBytes.js +61 -59
  20. package/lib/api/bleUnpair.js +28 -25
  21. package/lib/api/blockchainDisconnect.js +31 -24
  22. package/lib/api/blockchainEstimateFee.js +94 -61
  23. package/lib/api/blockchainEvmRpcCall.js +51 -34
  24. package/lib/api/blockchainGetAccountBalanceHistory.d.ts +1 -1
  25. package/lib/api/blockchainGetAccountBalanceHistory.js +50 -32
  26. package/lib/api/blockchainGetCurrentFiatRates.d.ts +1 -1
  27. package/lib/api/blockchainGetCurrentFiatRates.js +43 -29
  28. package/lib/api/blockchainGetFiatRatesForTimestamps.d.ts +1 -1
  29. package/lib/api/blockchainGetFiatRatesForTimestamps.js +49 -32
  30. package/lib/api/blockchainGetInfo.js +31 -22
  31. package/lib/api/blockchainGetTransactions.d.ts +1 -1
  32. package/lib/api/blockchainGetTransactions.js +36 -24
  33. package/lib/api/blockchainSetCustomBackend.js +34 -25
  34. package/lib/api/blockchainSubscribe.js +57 -36
  35. package/lib/api/blockchainSubscribeFiatRates.js +36 -24
  36. package/lib/api/blockchainUnsubscribe.js +57 -37
  37. package/lib/api/blockchainUnsubscribeFiatRates.js +31 -22
  38. package/lib/api/cancelCoinjoinAuthorization.js +26 -20
  39. package/lib/api/cardano/api/cardanoComposeTransaction.js +75 -50
  40. package/lib/api/cardano/api/cardanoGetAddress.js +105 -102
  41. package/lib/api/cardano/api/cardanoGetNativeScriptHash.js +59 -56
  42. package/lib/api/cardano/api/cardanoGetPublicKey.js +58 -58
  43. package/lib/api/cardano/api/cardanoSignMessage.js +81 -78
  44. package/lib/api/cardano/api/cardanoSignTransaction.js +269 -240
  45. package/lib/api/cardano/api/index.js +40 -7
  46. package/lib/api/cardano/cardanoAddressParameters.js +71 -65
  47. package/lib/api/cardano/cardanoAuxiliaryData.js +68 -63
  48. package/lib/api/cardano/cardanoCertificate.js +124 -119
  49. package/lib/api/cardano/cardanoInputs.js +33 -33
  50. package/lib/api/cardano/cardanoOutputs.d.ts +1 -1
  51. package/lib/api/cardano/cardanoOutputs.js +63 -61
  52. package/lib/api/cardano/cardanoTokenBundle.d.ts +2 -2
  53. package/lib/api/cardano/cardanoTokenBundle.js +18 -13
  54. package/lib/api/cardano/cardanoUtils.js +94 -89
  55. package/lib/api/cardano/cardanoWitnesses.js +46 -42
  56. package/lib/api/changeLanguage.js +40 -29
  57. package/lib/api/changePin.js +21 -16
  58. package/lib/api/changeWipeCode.js +24 -16
  59. package/lib/api/cipherKeyValue.js +42 -41
  60. package/lib/api/common/Discovery.js +114 -112
  61. package/lib/api/common/paramsValidator.js +110 -116
  62. package/lib/api/composeTransaction.d.ts +1 -1
  63. package/lib/api/composeTransaction.js +307 -256
  64. package/lib/api/discoverAccounts.js +291 -191
  65. package/lib/api/eos/api/eosGetPublicKey.js +56 -52
  66. package/lib/api/eos/api/eosSignTransaction.js +35 -26
  67. package/lib/api/eos/api/index.js +16 -3
  68. package/lib/api/eos/eosSignTx.js +308 -312
  69. package/lib/api/ethereum/api/ethereumGetAddress.js +106 -107
  70. package/lib/api/ethereum/api/ethereumGetPublicKey.js +72 -62
  71. package/lib/api/ethereum/api/ethereumSignMessage.js +55 -48
  72. package/lib/api/ethereum/api/ethereumSignTransaction.d.ts +33 -0
  73. package/lib/api/ethereum/api/ethereumSignTransaction.js +137 -132
  74. package/lib/api/ethereum/api/ethereumSignTypedData.d.ts +6 -4
  75. package/lib/api/ethereum/api/ethereumSignTypedData.js +183 -171
  76. package/lib/api/ethereum/api/ethereumVerifyMessage.js +27 -24
  77. package/lib/api/ethereum/api/index.js +40 -7
  78. package/lib/api/ethereum/ethereumDefinitions.js +94 -87
  79. package/lib/api/ethereum/ethereumSignTx.js +116 -111
  80. package/lib/api/ethereum/ethereumSignTypedData.js +98 -95
  81. package/lib/api/evoluGetDelegatedIdentityKey.d.ts +11 -0
  82. package/lib/api/evoluGetDelegatedIdentityKey.js +41 -0
  83. package/lib/api/evoluGetNode.js +24 -17
  84. package/lib/api/evoluSignRegistrationRequest.d.ts +12 -0
  85. package/lib/api/evoluSignRegistrationRequest.js +35 -0
  86. package/lib/api/firmware/calculateFirmwareHash.js +44 -32
  87. package/lib/api/firmware/getBinary.js +30 -22
  88. package/lib/api/firmware/index.js +46 -8
  89. package/lib/api/firmware/modifyFirmware.js +13 -12
  90. package/lib/api/firmware/parseFirmwareHeaders.js +29 -30
  91. package/lib/api/firmware/uploadFirmware.js +84 -67
  92. package/lib/api/firmware/verifyEntropy.js +88 -83
  93. package/lib/api/getAccountDescriptor.js +118 -120
  94. package/lib/api/getAccountInfo.d.ts +14 -14
  95. package/lib/api/getAccountInfo.js +316 -287
  96. package/lib/api/getAddress.js +128 -118
  97. package/lib/api/getCoinInfo.js +22 -17
  98. package/lib/api/getDeviceState.js +16 -10
  99. package/lib/api/getFeatures.d.ts +5 -1
  100. package/lib/api/getFeatures.js +15 -12
  101. package/lib/api/getFirmwareHash.js +23 -18
  102. package/lib/api/getNonce.js +12 -9
  103. package/lib/api/getOwnershipId.js +57 -51
  104. package/lib/api/getOwnershipProof.js +66 -60
  105. package/lib/api/getPublicKey.js +72 -66
  106. package/lib/api/getSettings.js +12 -9
  107. package/lib/api/index.d.ts +2 -0
  108. package/lib/api/index.js +350 -58
  109. package/lib/api/loadDevice.js +40 -35
  110. package/lib/api/monero/api/index.js +28 -5
  111. package/lib/api/monero/api/moneroGetAddress.js +108 -82
  112. package/lib/api/monero/api/moneroGetWatchKey.js +37 -32
  113. package/lib/api/monero/api/moneroKeyImageSync.js +111 -107
  114. package/lib/api/monero/api/moneroSignTransaction.js +173 -185
  115. package/lib/api/nem/api/index.js +16 -3
  116. package/lib/api/nem/api/nemGetAddress.js +107 -102
  117. package/lib/api/nem/api/nemSignTransaction.js +25 -20
  118. package/lib/api/nem/nemSignTx.js +128 -125
  119. package/lib/api/pushTransaction.js +31 -27
  120. package/lib/api/recoveryDevice.js +44 -39
  121. package/lib/api/requestLogin.d.ts +0 -1
  122. package/lib/api/requestLogin.js +47 -52
  123. package/lib/api/resetDevice.js +100 -90
  124. package/lib/api/ripple/api/index.js +16 -3
  125. package/lib/api/ripple/api/rippleGetAddress.js +92 -88
  126. package/lib/api/ripple/api/rippleSignTransaction.js +44 -34
  127. package/lib/api/setBrightness.js +21 -16
  128. package/lib/api/setBusy.js +27 -20
  129. package/lib/api/setProxy.js +22 -15
  130. package/lib/api/showDeviceTutorial.js +18 -15
  131. package/lib/api/signMessage.js +50 -46
  132. package/lib/api/signTransaction.js +325 -238
  133. package/lib/api/solana/additionalInfo.js +17 -14
  134. package/lib/api/solana/api/index.js +28 -5
  135. package/lib/api/solana/api/solanaComposeTransaction.js +46 -50
  136. package/lib/api/solana/api/solanaGetAddress.js +92 -90
  137. package/lib/api/solana/api/solanaGetPublicKey.js +56 -52
  138. package/lib/api/solana/api/solanaSignTransaction.js +175 -168
  139. package/lib/api/solana/solanaDefinitions.js +32 -25
  140. package/lib/api/solana/solanaUtils.d.ts +2 -2
  141. package/lib/api/solana/solanaUtils.js +231 -177
  142. package/lib/api/stellar/api/index.js +16 -3
  143. package/lib/api/stellar/api/stellarGetAddress.js +92 -88
  144. package/lib/api/stellar/api/stellarSignTransaction.js +51 -44
  145. package/lib/api/stellar/stellarSignTx.js +184 -179
  146. package/lib/api/tezos/api/index.js +22 -4
  147. package/lib/api/tezos/api/tezosGetAddress.js +92 -88
  148. package/lib/api/tezos/api/tezosGetPublicKey.js +55 -51
  149. package/lib/api/tezos/api/tezosSignTransaction.js +23 -18
  150. package/lib/api/tezos/tezosSignTx.js +183 -169
  151. package/lib/api/thpGetCredentials.js +23 -20
  152. package/lib/api/thpRemoveCredentials.js +28 -21
  153. package/lib/api/unlockPath.js +28 -21
  154. package/lib/api/verifyMessage.js +35 -33
  155. package/lib/api/wipeDevice.js +39 -34
  156. package/lib/backend/BackendManager.js +127 -107
  157. package/lib/backend/Blockchain.d.ts +1 -1
  158. package/lib/backend/Blockchain.js +220 -205
  159. package/lib/backend/BlockchainLink.js +17 -5
  160. package/lib/backend/fees/BitcoinFeeLevels.js +41 -34
  161. package/lib/backend/fees/EthereumFeeLevels.js +51 -51
  162. package/lib/backend/fees/MiscFeeLevels.js +25 -24
  163. package/lib/backend/fees/index.js +28 -21
  164. package/lib/constants/cardano.js +11 -8
  165. package/lib/constants/errors.js +72 -65
  166. package/lib/constants/firmware.js +5 -5
  167. package/lib/constants/index.js +16 -3
  168. package/lib/constants/nem.js +19 -16
  169. package/lib/constants/network.js +15 -22
  170. package/lib/constants/utxo.js +4 -1
  171. package/lib/core/AbstractMethod.d.ts +1 -1
  172. package/lib/core/AbstractMethod.js +248 -224
  173. package/lib/core/index.js +936 -775
  174. package/lib/core/method.js +19 -16
  175. package/lib/core/method.native.js +28 -23
  176. package/lib/core/onCallFirmwareUpdate.js +368 -299
  177. package/lib/data/DataManager.js +85 -77
  178. package/lib/data/analyticsInfo.js +35 -29
  179. package/lib/data/coinInfo.js +154 -156
  180. package/lib/data/config.d.ts +1 -1
  181. package/lib/data/config.js +362 -326
  182. package/lib/data/connectSettings.js +131 -144
  183. package/lib/data/defaultFeeLevels.js +154 -108
  184. package/lib/data/firmwareInfo.d.ts +1 -0
  185. package/lib/data/firmwareInfo.js +407 -377
  186. package/lib/data/thpSettings.js +36 -35
  187. package/lib/data/udevInfo.js +24 -24
  188. package/lib/data/version.d.ts +1 -1
  189. package/lib/data/version.js +6 -5
  190. package/lib/device/Device.d.ts +10 -7
  191. package/lib/device/Device.js +731 -749
  192. package/lib/device/DeviceCommands.js +226 -194
  193. package/lib/device/DeviceCurrentSession.d.ts +427 -337
  194. package/lib/device/DeviceCurrentSession.js +235 -236
  195. package/lib/device/DeviceList.d.ts +2 -0
  196. package/lib/device/DeviceList.js +219 -181
  197. package/lib/device/StateStorage.js +32 -29
  198. package/lib/device/TransportList.d.ts +1 -1
  199. package/lib/device/TransportList.js +37 -36
  200. package/lib/device/TransportManager.js +136 -140
  201. package/lib/device/calculateRevisionForDevice.js +20 -14
  202. package/lib/device/checkFirmwareRevision.js +66 -53
  203. package/lib/device/resolveDescriptorForTaproot.js +26 -16
  204. package/lib/device/thp/handshake.js +95 -82
  205. package/lib/device/thp/index.js +53 -38
  206. package/lib/device/thp/pairing.js +209 -199
  207. package/lib/device/thp/session.js +27 -19
  208. package/lib/device/thp/thpCall.js +53 -43
  209. package/lib/device/workflow/checkFirmwareHash.js +77 -67
  210. package/lib/device/workflow/checkFirmwareHashWithRetries.js +32 -29
  211. package/lib/device/workflow/handshake.js +50 -41
  212. package/lib/device/workflow/index.js +10 -2
  213. package/lib/device/workflow/trezorPushNotification.js +68 -63
  214. package/lib/device/workflow/validateState.js +156 -123
  215. package/lib/events/blockchain.js +13 -10
  216. package/lib/events/call.d.ts +6 -4
  217. package/lib/events/call.js +14 -13
  218. package/lib/events/core.js +24 -21
  219. package/lib/events/device.d.ts +2 -2
  220. package/lib/events/device.js +32 -19
  221. package/lib/events/iframe.js +13 -10
  222. package/lib/events/index.d.ts +0 -1
  223. package/lib/events/index.js +6 -3
  224. package/lib/events/popup.js +20 -17
  225. package/lib/events/transport.d.ts +2 -2
  226. package/lib/events/transport.js +16 -11
  227. package/lib/events/ui-promise.js +4 -1
  228. package/lib/events/ui-request.d.ts +0 -4
  229. package/lib/events/ui-request.js +48 -46
  230. package/lib/events/ui-response.d.ts +2 -2
  231. package/lib/events/ui-response.js +20 -17
  232. package/lib/events/webextension.js +9 -6
  233. package/lib/exports.js +10 -2
  234. package/lib/factory.d.ts +3 -2
  235. package/lib/factory.js +34 -141
  236. package/lib/impl/core-in-module.d.ts +1 -8
  237. package/lib/impl/core-in-module.js +186 -211
  238. package/lib/impl/dynamic.d.ts +0 -1
  239. package/lib/impl/dynamic.js +108 -97
  240. package/lib/index-browser.d.ts +1 -0
  241. package/lib/index-browser.js +18 -16
  242. package/lib/index.d.ts +2 -0
  243. package/lib/index.js +144 -148
  244. package/lib/tsconfig.lib.tsbuildinfo +1 -1
  245. package/lib/types/account.js +4 -1
  246. package/lib/types/api/applyFlags.js +4 -1
  247. package/lib/types/api/applySettings.d.ts +3 -3
  248. package/lib/types/api/applySettings.js +7 -7
  249. package/lib/types/api/authenticateDevice.js +7 -4
  250. package/lib/types/api/authorizeCoinjoin.js +13 -10
  251. package/lib/types/api/backupDevice.js +4 -1
  252. package/lib/types/api/bitcoin/index.d.ts +5 -2
  253. package/lib/types/api/bitcoin/index.js +14 -11
  254. package/lib/types/api/bleUnpair.js +4 -1
  255. package/lib/types/api/blockchainDisconnect.js +4 -1
  256. package/lib/types/api/blockchainEstimateFee.js +4 -1
  257. package/lib/types/api/blockchainEvmRpcCall.js +4 -1
  258. package/lib/types/api/blockchainGetAccountBalanceHistory.js +4 -1
  259. package/lib/types/api/blockchainGetCurrentFiatRates.js +4 -1
  260. package/lib/types/api/blockchainGetFiatRatesForTimestamps.js +4 -1
  261. package/lib/types/api/blockchainGetInfo.js +4 -1
  262. package/lib/types/api/blockchainGetTransactions.js +4 -1
  263. package/lib/types/api/blockchainSetCustomBackend.js +4 -1
  264. package/lib/types/api/blockchainSubscribe.js +4 -1
  265. package/lib/types/api/blockchainSubscribeFiatRates.js +4 -1
  266. package/lib/types/api/blockchainUnsubscribe.js +4 -1
  267. package/lib/types/api/blockchainUnsubscribeFiatRates.js +4 -1
  268. package/lib/types/api/cancel.js +4 -1
  269. package/lib/types/api/cancelCoinjoinAuthorization.js +5 -2
  270. package/lib/types/api/cardano/index.d.ts +4 -4
  271. package/lib/types/api/cardano/index.js +173 -180
  272. package/lib/types/api/cardanoComposeTransaction.js +76 -65
  273. package/lib/types/api/cardanoGetAddress.js +4 -1
  274. package/lib/types/api/cardanoGetNativeScriptHash.js +4 -1
  275. package/lib/types/api/cardanoGetPublicKey.js +4 -1
  276. package/lib/types/api/cardanoSignMessage.js +4 -1
  277. package/lib/types/api/cardanoSignTransaction.js +4 -1
  278. package/lib/types/api/changeLanguage.d.ts +1 -1
  279. package/lib/types/api/changeLanguage.js +13 -13
  280. package/lib/types/api/changePin.js +4 -1
  281. package/lib/types/api/changeWipeCode.js +4 -1
  282. package/lib/types/api/cipherKeyValue.d.ts +2 -2
  283. package/lib/types/api/cipherKeyValue.js +11 -8
  284. package/lib/types/api/composeTransaction.js +4 -1
  285. package/lib/types/api/device.js +1 -2
  286. package/lib/types/api/disableWebUSB.js +4 -1
  287. package/lib/types/api/discoverAccounts.js +204 -55
  288. package/lib/types/api/dispose.js +4 -1
  289. package/lib/types/api/eos/index.d.ts +3 -3
  290. package/lib/types/api/eos/index.js +106 -162
  291. package/lib/types/api/eosGetPublicKey.js +4 -1
  292. package/lib/types/api/eosSignTransaction.js +4 -1
  293. package/lib/types/api/ethereum/index.d.ts +11 -7
  294. package/lib/types/api/ethereum/index.js +70 -65
  295. package/lib/types/api/ethereumGetAddress.js +4 -1
  296. package/lib/types/api/ethereumGetPublicKey.js +4 -1
  297. package/lib/types/api/ethereumSignMessage.js +4 -1
  298. package/lib/types/api/ethereumSignTransaction.js +4 -1
  299. package/lib/types/api/ethereumSignTypedData.js +4 -1
  300. package/lib/types/api/ethereumVerifyMessage.js +4 -1
  301. package/lib/types/api/evoluGetDelegatedIdentityKey.d.ts +9 -0
  302. package/lib/types/api/evoluGetDelegatedIdentityKey.js +6 -0
  303. package/lib/types/api/evoluGetNode.js +4 -1
  304. package/lib/types/api/evoluSignRegistrationRequest.d.ts +4 -0
  305. package/lib/types/api/evoluSignRegistrationRequest.js +6 -0
  306. package/lib/types/api/firmwareUpdate.d.ts +1 -1
  307. package/lib/types/api/firmwareUpdate.js +12 -12
  308. package/lib/types/api/getAccountDescriptor.js +8 -5
  309. package/lib/types/api/getAccountInfo.js +4 -1
  310. package/lib/types/api/getAddress.js +11 -11
  311. package/lib/types/api/getCoinInfo.js +4 -1
  312. package/lib/types/api/getDeviceState.js +4 -1
  313. package/lib/types/api/getFeatures.js +4 -1
  314. package/lib/types/api/getFirmwareHash.js +4 -1
  315. package/lib/types/api/getNonce.d.ts +1 -1
  316. package/lib/types/api/getNonce.js +4 -1
  317. package/lib/types/api/getOwnershipId.js +8 -5
  318. package/lib/types/api/getOwnershipProof.js +14 -9
  319. package/lib/types/api/getPublicKey.js +25 -28
  320. package/lib/types/api/getSettings.js +4 -1
  321. package/lib/types/api/index.d.ts +4 -0
  322. package/lib/types/api/index.js +4 -1
  323. package/lib/types/api/init.js +4 -1
  324. package/lib/types/api/loadDevice.js +4 -1
  325. package/lib/types/api/manifest.js +4 -1
  326. package/lib/types/api/monero/index.js +117 -114
  327. package/lib/types/api/moneroGetAddress.js +4 -1
  328. package/lib/types/api/moneroGetWatchKey.js +4 -1
  329. package/lib/types/api/moneroKeyImageSync.js +4 -1
  330. package/lib/types/api/moneroSignTransaction.js +4 -1
  331. package/lib/types/api/nem/index.d.ts +7 -7
  332. package/lib/types/api/nem/index.js +78 -112
  333. package/lib/types/api/nemGetAddress.js +7 -7
  334. package/lib/types/api/nemSignTransaction.js +4 -1
  335. package/lib/types/api/off.js +4 -1
  336. package/lib/types/api/on.js +4 -1
  337. package/lib/types/api/pushTransaction.js +10 -10
  338. package/lib/types/api/recoveryDevice.d.ts +1 -1
  339. package/lib/types/api/recoveryDevice.js +7 -7
  340. package/lib/types/api/removeAllListeners.js +4 -1
  341. package/lib/types/api/renderWebUSBButton.js +4 -1
  342. package/lib/types/api/requestLogin.d.ts +4 -24
  343. package/lib/types/api/requestLogin.js +11 -13
  344. package/lib/types/api/requestWebUSBDevice.js +4 -1
  345. package/lib/types/api/resetDevice.js +4 -1
  346. package/lib/types/api/ripple/index.js +17 -14
  347. package/lib/types/api/rippleGetAddress.js +4 -1
  348. package/lib/types/api/rippleSignTransaction.js +4 -1
  349. package/lib/types/api/setBrightness.js +4 -1
  350. package/lib/types/api/setBusy.js +4 -1
  351. package/lib/types/api/setProxy.js +4 -1
  352. package/lib/types/api/setTransports.js +4 -1
  353. package/lib/types/api/showDeviceTutorial.js +4 -1
  354. package/lib/types/api/signMessage.js +4 -1
  355. package/lib/types/api/signTransaction.js +4 -1
  356. package/lib/types/api/solana/index.js +55 -56
  357. package/lib/types/api/solanaComposeTransaction.js +4 -1
  358. package/lib/types/api/solanaGetAddress.js +4 -1
  359. package/lib/types/api/solanaGetPublicKey.js +4 -1
  360. package/lib/types/api/solanaSignTransaction.js +4 -1
  361. package/lib/types/api/stellar/index.d.ts +146 -146
  362. package/lib/types/api/stellar/index.js +151 -221
  363. package/lib/types/api/stellarGetAddress.js +4 -1
  364. package/lib/types/api/stellarSignTransaction.js +4 -1
  365. package/lib/types/api/tezos/index.js +46 -43
  366. package/lib/types/api/tezosGetAddress.js +4 -1
  367. package/lib/types/api/tezosGetPublicKey.js +4 -1
  368. package/lib/types/api/tezosSignTransaction.js +4 -1
  369. package/lib/types/api/thpGetCredentials.js +4 -1
  370. package/lib/types/api/thpRemoveCredentials.js +4 -1
  371. package/lib/types/api/uiResponse.js +4 -1
  372. package/lib/types/api/unlockPath.js +6 -3
  373. package/lib/types/api/verifyMessage.js +4 -1
  374. package/lib/types/api/wipeDevice.js +4 -1
  375. package/lib/types/coinInfo.js +62 -77
  376. package/lib/types/device.d.ts +11 -2
  377. package/lib/types/device.js +9 -4
  378. package/lib/types/fees.js +31 -37
  379. package/lib/types/firmware.js +4 -1
  380. package/lib/types/index.d.ts +1 -0
  381. package/lib/types/index.js +18 -3
  382. package/lib/types/params.js +25 -16
  383. package/lib/types/settings.js +4 -1
  384. package/lib/types/utils.js +4 -1
  385. package/lib/types/workflow.js +4 -1
  386. package/lib/utils/accountUtils.js +76 -81
  387. package/lib/utils/addressUtils.js +21 -21
  388. package/lib/utils/assetUtils.js +29 -26
  389. package/lib/utils/assets-browser.js +19 -13
  390. package/lib/utils/assets.js +10 -9
  391. package/lib/utils/assets.native.js +24 -23
  392. package/lib/utils/assetsTypes.js +4 -1
  393. package/lib/utils/debug.js +18 -13
  394. package/lib/utils/deviceFeaturesUtils.js +105 -127
  395. package/lib/utils/ethereumUtils.js +9 -6
  396. package/lib/utils/firmwareReleaseConfigUtils.js +69 -57
  397. package/lib/utils/firmwareUtils.js +45 -57
  398. package/lib/utils/formatUtils.d.ts +0 -1
  399. package/lib/utils/formatUtils.js +63 -62
  400. package/lib/utils/hdnodeUtils.d.ts +0 -1
  401. package/lib/utils/hdnodeUtils.js +51 -57
  402. package/lib/utils/interactionTimeout.js +26 -23
  403. package/lib/utils/pathUtils.js +132 -148
  404. package/lib/utils/popupPromiseManager.js +23 -14
  405. package/lib/utils/proxy-event-emitter.js +63 -60
  406. package/lib/utils/uiPromiseManager.js +55 -43
  407. package/lib/utils/urlUtils.js +20 -26
  408. package/lib/utils/versionCheck.js +10 -10
  409. package/lib/workers/workers-browser.d.ts +5 -5
  410. package/lib/workers/workers-browser.js +5 -2
  411. package/lib/workers/workers.d.ts +1 -1
  412. package/lib/workers/workers.js +49 -38
  413. package/lib/workers/workers.native.d.ts +5 -5
  414. package/lib/workers/workers.native.js +4 -1
  415. package/package.json +26 -23
@@ -1,5 +1,8 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
3
6
  exports.DataManager = void 0;
4
7
  const tslib_1 = require("tslib");
5
8
  const coins_eth_json_1 = tslib_1.__importDefault(require("@trezor/connect-common/files/coins-eth.json"));
@@ -9,84 +12,89 @@ const coinInfo_1 = require("./coinInfo");
9
12
  const firmwareInfo_1 = require("./firmwareInfo");
10
13
  const firmwareReleaseConfigUtils_1 = require("../utils/firmwareReleaseConfigUtils");
11
14
  class DataManager {
12
- static assets = {};
13
- static settings;
14
- static messages = messages_json_1.default;
15
- static localFirmwares = { firmwareDir: '', firmwareList: [] };
16
- static firmwareReleasesConfig = {};
17
- static firmwareIntermediaryReleasesConfig;
18
- static localFirmwareReleaseConfig;
19
- static async load(settings, withAssets = true, onlyLocalFirmwareConfig = false) {
20
- this.settings = settings;
21
- if (!withAssets)
22
- return;
23
- const assetsMap = {
24
- coins: coins_json_1.default,
25
- coinsEth: coins_eth_json_1.default,
26
- };
27
- Object.assign(this.assets, assetsMap);
28
- (0, coinInfo_1.parseCoinsJson)({
29
- ...this.assets.coins,
30
- ...this.assets.coinsEth,
31
- });
32
- this.prepareLocalFirmwareReleaseData();
33
- await this.loadFirmwareRelaseConfig(onlyLocalFirmwareConfig);
15
+ static assets = {};
16
+ static settings;
17
+ static messages = messages_json_1.default;
18
+ static localFirmwares = {
19
+ firmwareDir: '',
20
+ firmwareList: []
21
+ };
22
+ static firmwareReleasesConfig = {};
23
+ static firmwareIntermediaryReleasesConfig;
24
+ static localFirmwareReleaseConfig;
25
+ static async load(settings, withAssets = true, onlyLocalFirmwareConfig = false) {
26
+ this.settings = settings;
27
+ if (!withAssets) return;
28
+ const assetsMap = {
29
+ coins: coins_json_1.default,
30
+ coinsEth: coins_eth_json_1.default
31
+ };
32
+ Object.assign(this.assets, assetsMap);
33
+ (0, coinInfo_1.parseCoinsJson)({
34
+ ...this.assets.coins,
35
+ ...this.assets.coinsEth
36
+ });
37
+ this.prepareLocalFirmwareReleaseData();
38
+ await this.loadFirmwareRelaseConfig(onlyLocalFirmwareConfig);
39
+ }
40
+ static prepareLocalFirmwareReleaseData() {
41
+ const {
42
+ config
43
+ } = (0, firmwareReleaseConfigUtils_1.getOnlyLocalFirmwareReleaseConfig)();
44
+ this.setLocalFirmwareReleaseConfig(config);
45
+ }
46
+ static async loadFirmwareRelaseConfig(onlyLocal) {
47
+ let firmwareRelaseConfig;
48
+ if (onlyLocal) {
49
+ firmwareRelaseConfig = {
50
+ config: this.getLocalFirmwareReleaseConfig(),
51
+ isRemote: false
52
+ };
53
+ } else {
54
+ firmwareRelaseConfig = await (0, firmwareReleaseConfigUtils_1.getFirmwareReleaseConfig)();
34
55
  }
35
- static prepareLocalFirmwareReleaseData() {
36
- const { config } = (0, firmwareReleaseConfigUtils_1.getOnlyLocalFirmwareReleaseConfig)();
37
- this.setLocalFirmwareReleaseConfig(config);
38
- }
39
- static async loadFirmwareRelaseConfig(onlyLocal) {
40
- let firmwareRelaseConfig;
41
- if (onlyLocal) {
42
- firmwareRelaseConfig = {
43
- config: this.getLocalFirmwareReleaseConfig(),
44
- isRemote: false,
45
- };
46
- }
47
- else {
48
- firmwareRelaseConfig = await (0, firmwareReleaseConfigUtils_1.getFirmwareReleaseConfig)();
49
- }
50
- const { config, isRemote } = firmwareRelaseConfig;
51
- const firmwareconfig = await (0, firmwareInfo_1.initializeFirmwareConfig)(config, isRemote);
52
- this.setFirmwareReleaseConfig(firmwareconfig.releases);
53
- this.setFirmwareIntermediaryReleaseConfig(firmwareconfig.intermediaries);
54
- }
55
- static getProtobufMessages() {
56
- return this.messages;
57
- }
58
- static getSettings(key) {
59
- if (!this.settings)
60
- return null;
61
- if (typeof key === 'string') {
62
- return this.settings[key];
63
- }
64
- return this.settings;
65
- }
66
- static setLocalFirmwares(firmwares) {
67
- this.localFirmwares = firmwares;
68
- }
69
- static getLocalFirmwares() {
70
- return this.localFirmwares;
71
- }
72
- static setLocalFirmwareReleaseConfig(localFirmwareReleaseConfig) {
73
- this.localFirmwareReleaseConfig = localFirmwareReleaseConfig;
74
- }
75
- static getLocalFirmwareReleaseConfig() {
76
- return this.localFirmwareReleaseConfig;
77
- }
78
- static setFirmwareReleaseConfig(releaseConfig) {
79
- this.firmwareReleasesConfig = releaseConfig;
80
- }
81
- static getFirmwareReleaseConfig() {
82
- return this.firmwareReleasesConfig;
83
- }
84
- static setFirmwareIntermediaryReleaseConfig(intermediariesConfig) {
85
- this.firmwareIntermediaryReleasesConfig = intermediariesConfig;
86
- }
87
- static getFirmwareIntermediaryReleaseConfig() {
88
- return this.firmwareIntermediaryReleasesConfig;
56
+ const {
57
+ config,
58
+ isRemote
59
+ } = firmwareRelaseConfig;
60
+ const firmwareconfig = await (0, firmwareInfo_1.initializeFirmwareConfig)(config, isRemote);
61
+ this.setFirmwareReleaseConfig(firmwareconfig.releases);
62
+ this.setFirmwareIntermediaryReleaseConfig(firmwareconfig.intermediaries);
63
+ }
64
+ static getProtobufMessages() {
65
+ return this.messages;
66
+ }
67
+ static getSettings(key) {
68
+ if (!this.settings) return null;
69
+ if (typeof key === 'string') {
70
+ return this.settings[key];
89
71
  }
72
+ return this.settings;
73
+ }
74
+ static setLocalFirmwares(firmwares) {
75
+ this.localFirmwares = firmwares;
76
+ }
77
+ static getLocalFirmwares() {
78
+ return this.localFirmwares;
79
+ }
80
+ static setLocalFirmwareReleaseConfig(localFirmwareReleaseConfig) {
81
+ this.localFirmwareReleaseConfig = localFirmwareReleaseConfig;
82
+ }
83
+ static getLocalFirmwareReleaseConfig() {
84
+ return this.localFirmwareReleaseConfig;
85
+ }
86
+ static setFirmwareReleaseConfig(releaseConfig) {
87
+ this.firmwareReleasesConfig = releaseConfig;
88
+ }
89
+ static getFirmwareReleaseConfig() {
90
+ return this.firmwareReleasesConfig;
91
+ }
92
+ static setFirmwareIntermediaryReleaseConfig(intermediariesConfig) {
93
+ this.firmwareIntermediaryReleasesConfig = intermediariesConfig;
94
+ }
95
+ static getFirmwareIntermediaryReleaseConfig() {
96
+ return this.firmwareIntermediaryReleasesConfig;
97
+ }
90
98
  }
91
99
  exports.DataManager = DataManager;
92
100
  //# sourceMappingURL=DataManager.js.map
@@ -1,37 +1,43 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
3
6
  exports.enhanceMessageWithAnalytics = void 0;
4
7
  const connect_analytics_1 = require("@trezor/connect-analytics");
5
8
  const events_1 = require("../events");
6
9
  const enhanceMessageWithAnalytics = (message, data) => {
7
- switch (message.type) {
8
- case events_1.UI_REQUEST.REQUEST_CONFIRMATION: {
9
- const { device } = data;
10
- return {
11
- ...message,
12
- payload: {
13
- ...message.payload,
14
- analytics: {
15
- type: connect_analytics_1.EventType.DeviceSelected,
16
- payload: {
17
- mode: device?.mode || '',
18
- pinProtection: device?.features?.pin_protection || '',
19
- passphraseProtection: device?.features?.passphrase_protection || '',
20
- backupType: device?.features?.backup_type || 'Bip39',
21
- language: device?.features?.language || '',
22
- model: device?.features?.internal_model || '',
23
- vendor: device?.features?.vendor || '',
24
- firmwareRevision: device?.features?.revision || '',
25
- firmwareType: device?.firmwareType || '',
26
- bootloaderHash: device?.features?.bootloader_hash || '',
27
- },
28
- },
29
- },
30
- };
31
- }
32
- default:
33
- return message;
34
- }
10
+ switch (message.type) {
11
+ case events_1.UI_REQUEST.REQUEST_CONFIRMATION:
12
+ {
13
+ const {
14
+ device
15
+ } = data;
16
+ return {
17
+ ...message,
18
+ payload: {
19
+ ...message.payload,
20
+ analytics: {
21
+ type: connect_analytics_1.EventType.DeviceSelected,
22
+ payload: {
23
+ mode: device?.mode || '',
24
+ pinProtection: device?.features?.pin_protection || '',
25
+ passphraseProtection: device?.features?.passphrase_protection || '',
26
+ backupType: device?.features?.backup_type || 'Bip39',
27
+ language: device?.features?.language || '',
28
+ model: device?.features?.internal_model || '',
29
+ vendor: device?.features?.vendor || '',
30
+ firmwareRevision: device?.features?.revision || '',
31
+ firmwareType: device?.firmwareType || '',
32
+ bootloaderHash: device?.features?.bootloader_hash || ''
33
+ }
34
+ }
35
+ }
36
+ };
37
+ }
38
+ default:
39
+ return message;
40
+ }
35
41
  };
36
42
  exports.enhanceMessageWithAnalytics = enhanceMessageWithAnalytics;
37
43
  //# sourceMappingURL=analyticsInfo.js.map
@@ -1,5 +1,8 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
3
6
  exports.getAllNetworks = exports.getUniqueNetworks = exports.parseCoinsJson = exports.ethereumNetworkInfoBase = exports.getCoinName = exports.getCoinInfo = exports.fixCoinInfoNetwork = exports.getBech32Network = exports.getSegwitNetwork = exports.getMiscNetwork = exports.getEthereumNetwork = exports.getBitcoinNetwork = void 0;
4
7
  const utils_1 = require("@trezor/utils");
5
8
  const defaultFeeLevels_1 = require("./defaultFeeLevels");
@@ -7,191 +10,186 @@ const pathUtils_1 = require("../utils/pathUtils");
7
10
  const bitcoinNetworks = [];
8
11
  const ethereumNetworks = [];
9
12
  const miscNetworks = [];
10
- const getBitcoinNetwork = (pathOrName) => {
11
- if (typeof pathOrName === 'string') {
12
- const name = pathOrName.toLowerCase();
13
- return bitcoinNetworks.find(n => n.name.toLowerCase() === name ||
14
- n.shortcut.toLowerCase() === name ||
15
- n.label.toLowerCase() === name);
16
- }
17
- const slip44 = (0, pathUtils_1.fromHardened)(pathOrName[1]);
18
- return bitcoinNetworks.find(n => n.slip44 === slip44);
13
+ const getBitcoinNetwork = pathOrName => {
14
+ if (typeof pathOrName === 'string') {
15
+ const name = pathOrName.toLowerCase();
16
+ return bitcoinNetworks.find(n => n.name.toLowerCase() === name || n.shortcut.toLowerCase() === name || n.label.toLowerCase() === name);
17
+ }
18
+ const slip44 = (0, pathUtils_1.fromHardened)(pathOrName[1]);
19
+ return bitcoinNetworks.find(n => n.slip44 === slip44);
19
20
  };
20
21
  exports.getBitcoinNetwork = getBitcoinNetwork;
21
- const getEthereumNetwork = (pathOrNetworkSymbol) => {
22
- if (typeof pathOrNetworkSymbol === 'string') {
23
- const networkSymbol = pathOrNetworkSymbol.toLowerCase();
24
- return ethereumNetworks.find(network => network.shortcut.toLowerCase() === networkSymbol);
25
- }
26
- const slip44 = (0, pathUtils_1.fromHardened)(pathOrNetworkSymbol[1]);
27
- return ethereumNetworks.find(n => n.slip44 === slip44);
22
+ const getEthereumNetwork = pathOrNetworkSymbol => {
23
+ if (typeof pathOrNetworkSymbol === 'string') {
24
+ const networkSymbol = pathOrNetworkSymbol.toLowerCase();
25
+ return ethereumNetworks.find(network => network.shortcut.toLowerCase() === networkSymbol);
26
+ }
27
+ const slip44 = (0, pathUtils_1.fromHardened)(pathOrNetworkSymbol[1]);
28
+ return ethereumNetworks.find(n => n.slip44 === slip44);
28
29
  };
29
30
  exports.getEthereumNetwork = getEthereumNetwork;
30
- const getMiscNetwork = (pathOrName) => {
31
- if (typeof pathOrName === 'string') {
32
- const name = pathOrName.toLowerCase();
33
- return miscNetworks.find(n => n.name.toLowerCase() === name || n.shortcut.toLowerCase() === name);
34
- }
35
- const slip44 = (0, pathUtils_1.fromHardened)(pathOrName[1]);
36
- return miscNetworks.find(n => n.slip44 === slip44);
31
+ const getMiscNetwork = pathOrName => {
32
+ if (typeof pathOrName === 'string') {
33
+ const name = pathOrName.toLowerCase();
34
+ return miscNetworks.find(n => n.name.toLowerCase() === name || n.shortcut.toLowerCase() === name);
35
+ }
36
+ const slip44 = (0, pathUtils_1.fromHardened)(pathOrName[1]);
37
+ return miscNetworks.find(n => n.slip44 === slip44);
37
38
  };
38
39
  exports.getMiscNetwork = getMiscNetwork;
39
- const getSegwitNetwork = (coin) => {
40
- if (coin.segwit && typeof coin.xPubMagicSegwit === 'number') {
41
- return {
42
- ...coin.network,
43
- bip32: {
44
- ...coin.network.bip32,
45
- public: coin.xPubMagicSegwit,
46
- },
47
- };
48
- }
49
- return null;
40
+ const getSegwitNetwork = coin => {
41
+ if (coin.segwit && typeof coin.xPubMagicSegwit === 'number') {
42
+ return {
43
+ ...coin.network,
44
+ bip32: {
45
+ ...coin.network.bip32,
46
+ public: coin.xPubMagicSegwit
47
+ }
48
+ };
49
+ }
50
+ return null;
50
51
  };
51
52
  exports.getSegwitNetwork = getSegwitNetwork;
52
- const getBech32Network = (coin) => {
53
- if (coin.segwit && typeof coin.xPubMagicSegwitNative === 'number') {
54
- return {
55
- ...coin.network,
56
- bip32: {
57
- ...coin.network.bip32,
58
- public: coin.xPubMagicSegwitNative,
59
- },
60
- };
61
- }
62
- return null;
53
+ const getBech32Network = coin => {
54
+ if (coin.segwit && typeof coin.xPubMagicSegwitNative === 'number') {
55
+ return {
56
+ ...coin.network,
57
+ bip32: {
58
+ ...coin.network.bip32,
59
+ public: coin.xPubMagicSegwitNative
60
+ }
61
+ };
62
+ }
63
+ return null;
63
64
  };
64
65
  exports.getBech32Network = getBech32Network;
65
66
  const fixCoinInfoNetwork = (ci, path) => {
66
- const coinInfo = (0, utils_1.cloneObject)(ci);
67
- if (path[0] === (0, pathUtils_1.toHardened)(84)) {
68
- const bech32Network = (0, exports.getBech32Network)(coinInfo);
69
- if (bech32Network) {
70
- coinInfo.network = bech32Network;
71
- }
72
- }
73
- else if (path[0] === (0, pathUtils_1.toHardened)(49)) {
74
- const segwitNetwork = (0, exports.getSegwitNetwork)(coinInfo);
75
- if (segwitNetwork) {
76
- coinInfo.network = segwitNetwork;
77
- }
67
+ const coinInfo = (0, utils_1.cloneObject)(ci);
68
+ if (path[0] === (0, pathUtils_1.toHardened)(84)) {
69
+ const bech32Network = (0, exports.getBech32Network)(coinInfo);
70
+ if (bech32Network) {
71
+ coinInfo.network = bech32Network;
78
72
  }
79
- else {
80
- coinInfo.segwit = false;
73
+ } else if (path[0] === (0, pathUtils_1.toHardened)(49)) {
74
+ const segwitNetwork = (0, exports.getSegwitNetwork)(coinInfo);
75
+ if (segwitNetwork) {
76
+ coinInfo.network = segwitNetwork;
81
77
  }
82
- return coinInfo;
78
+ } else {
79
+ coinInfo.segwit = false;
80
+ }
81
+ return coinInfo;
83
82
  };
84
83
  exports.fixCoinInfoNetwork = fixCoinInfoNetwork;
85
- const getCoinInfo = (currency) => (0, exports.getBitcoinNetwork)(currency) || (0, exports.getEthereumNetwork)(currency) || (0, exports.getMiscNetwork)(currency);
84
+ const getCoinInfo = currency => (0, exports.getBitcoinNetwork)(currency) || (0, exports.getEthereumNetwork)(currency) || (0, exports.getMiscNetwork)(currency);
86
85
  exports.getCoinInfo = getCoinInfo;
87
- const getCoinName = (path) => {
88
- const slip44 = (0, pathUtils_1.fromHardened)(path[1]);
89
- const network = ethereumNetworks.find(n => n.slip44 === slip44);
90
- return network ? network.name : 'Unknown coin';
86
+ const getCoinName = path => {
87
+ const slip44 = (0, pathUtils_1.fromHardened)(path[1]);
88
+ const network = ethereumNetworks.find(n => n.slip44 === slip44);
89
+ return network ? network.name : 'Unknown coin';
91
90
  };
92
91
  exports.getCoinName = getCoinName;
93
92
  const BITCOIN_SHORTCUTS = ['BTC', 'TEST', 'REGTEST'];
94
- const parseBitcoinNetworksJson = (json) => {
95
- Object.keys(json).forEach(key => {
96
- const coin = json[key];
97
- const shortcut = coin.coin_shortcut;
98
- const isBitcoin = BITCOIN_SHORTCUTS.includes(shortcut);
99
- const network = {
100
- messagePrefix: coin.signed_message_header,
101
- bech32: coin.bech32_prefix,
102
- bip32: {
103
- public: coin.xpub_magic,
104
- private: coin.xprv_magic,
105
- },
106
- pubKeyHash: coin.address_type,
107
- scriptHash: coin.address_type_p2sh,
108
- forkId: coin.fork_id,
109
- wif: 0,
110
- };
111
- bitcoinNetworks.push({
112
- type: 'bitcoin',
113
- blockchainLink: coin.blockchain_link,
114
- cashAddrPrefix: coin.cashaddr_prefix,
115
- label: coin.coin_label,
116
- name: coin.coin_name,
117
- shortcut,
118
- curveName: coin.curve_name,
119
- forceBip143: coin.force_bip143,
120
- hashGenesisBlock: coin.hash_genesis_block,
121
- maxAddressLength: coin.max_address_length,
122
- maxFeeSatoshiKb: coin.maxfee_kb,
123
- minAddressLength: coin.min_address_length,
124
- minFeeSatoshiKb: coin.minfee_kb,
125
- segwit: coin.segwit,
126
- slip44: coin.slip44,
127
- support: coin.support,
128
- xPubMagic: coin.xpub_magic,
129
- xPubMagicSegwitNative: coin.xpub_magic_segwit_native,
130
- xPubMagicSegwit: coin.xpub_magic_segwit_p2sh,
131
- taproot: coin.taproot,
132
- network,
133
- isBitcoin,
134
- decimals: coin.decimals,
135
- ...(0, defaultFeeLevels_1.getBitcoinFeeLevels)(coin),
136
- });
93
+ const parseBitcoinNetworksJson = json => {
94
+ Object.keys(json).forEach(key => {
95
+ const coin = json[key];
96
+ const shortcut = coin.coin_shortcut;
97
+ const isBitcoin = BITCOIN_SHORTCUTS.includes(shortcut);
98
+ const network = {
99
+ messagePrefix: coin.signed_message_header,
100
+ bech32: coin.bech32_prefix,
101
+ bip32: {
102
+ public: coin.xpub_magic,
103
+ private: coin.xprv_magic
104
+ },
105
+ pubKeyHash: coin.address_type,
106
+ scriptHash: coin.address_type_p2sh,
107
+ forkId: coin.fork_id,
108
+ wif: 0
109
+ };
110
+ bitcoinNetworks.push({
111
+ type: 'bitcoin',
112
+ blockchainLink: coin.blockchain_link,
113
+ cashAddrPrefix: coin.cashaddr_prefix,
114
+ label: coin.coin_label,
115
+ name: coin.coin_name,
116
+ shortcut,
117
+ curveName: coin.curve_name,
118
+ forceBip143: coin.force_bip143,
119
+ hashGenesisBlock: coin.hash_genesis_block,
120
+ maxAddressLength: coin.max_address_length,
121
+ maxFeeSatoshiKb: coin.maxfee_kb,
122
+ minAddressLength: coin.min_address_length,
123
+ minFeeSatoshiKb: coin.minfee_kb,
124
+ segwit: coin.segwit,
125
+ slip44: coin.slip44,
126
+ support: coin.support,
127
+ xPubMagic: coin.xpub_magic,
128
+ xPubMagicSegwitNative: coin.xpub_magic_segwit_native,
129
+ xPubMagicSegwit: coin.xpub_magic_segwit_p2sh,
130
+ taproot: coin.taproot,
131
+ network,
132
+ isBitcoin,
133
+ decimals: coin.decimals,
134
+ ...(0, defaultFeeLevels_1.getBitcoinFeeLevels)(coin)
137
135
  });
136
+ });
138
137
  };
139
138
  exports.ethereumNetworkInfoBase = {
140
- type: 'ethereum',
141
- decimals: 18,
139
+ type: 'ethereum',
140
+ decimals: 18
142
141
  };
143
- const parseEthereumNetworksJson = (json) => {
144
- Object.keys(json).forEach(key => {
145
- const network = json[key];
146
- ethereumNetworks.push({
147
- ...exports.ethereumNetworkInfoBase,
148
- ...(0, defaultFeeLevels_1.getEthereumFeeLevels)(network),
149
- blockchainLink: network.blockchain_link,
150
- chainId: network.chain_id,
151
- label: network.label,
152
- name: network.name,
153
- shortcut: network.shortcut,
154
- slip44: network.slip44,
155
- support: network.support,
156
- });
142
+ const parseEthereumNetworksJson = json => {
143
+ Object.keys(json).forEach(key => {
144
+ const network = json[key];
145
+ ethereumNetworks.push({
146
+ ...exports.ethereumNetworkInfoBase,
147
+ ...(0, defaultFeeLevels_1.getEthereumFeeLevels)(network),
148
+ blockchainLink: network.blockchain_link,
149
+ chainId: network.chain_id,
150
+ label: network.label,
151
+ name: network.name,
152
+ shortcut: network.shortcut,
153
+ slip44: network.slip44,
154
+ support: network.support
157
155
  });
156
+ });
158
157
  };
159
158
  const parseMiscNetworksJSON = (json, type) => {
160
- Object.keys(json).forEach(key => {
161
- const network = json[key];
162
- miscNetworks.push({
163
- type: type || 'misc',
164
- blockchainLink: network.blockchain_link,
165
- curve: network.curve,
166
- label: network.name,
167
- name: network.name,
168
- shortcut: network.shortcut,
169
- slip44: network.slip44,
170
- support: network.support,
171
- decimals: network.decimals,
172
- ...(0, defaultFeeLevels_1.getMiscFeeLevels)(network),
173
- });
159
+ Object.keys(json).forEach(key => {
160
+ const network = json[key];
161
+ miscNetworks.push({
162
+ type: type || 'misc',
163
+ blockchainLink: network.blockchain_link,
164
+ curve: network.curve,
165
+ label: network.name,
166
+ name: network.name,
167
+ shortcut: network.shortcut,
168
+ slip44: network.slip44,
169
+ support: network.support,
170
+ decimals: network.decimals,
171
+ ...(0, defaultFeeLevels_1.getMiscFeeLevels)(network)
174
172
  });
173
+ });
175
174
  };
176
- const parseCoinsJson = (json) => {
177
- Object.keys(json).forEach(key => {
178
- switch (key) {
179
- case 'bitcoin':
180
- return parseBitcoinNetworksJson(json[key]);
181
- case 'eth':
182
- return parseEthereumNetworksJson(json[key]);
183
- case 'misc':
184
- return parseMiscNetworksJSON(json[key]);
185
- case 'nem':
186
- return parseMiscNetworksJSON(json[key], 'nem');
187
- }
188
- });
175
+ const parseCoinsJson = json => {
176
+ Object.keys(json).forEach(key => {
177
+ switch (key) {
178
+ case 'bitcoin':
179
+ return parseBitcoinNetworksJson(json[key]);
180
+ case 'eth':
181
+ return parseEthereumNetworksJson(json[key]);
182
+ case 'misc':
183
+ return parseMiscNetworksJSON(json[key]);
184
+ case 'nem':
185
+ return parseMiscNetworksJSON(json[key], 'nem');
186
+ }
187
+ });
189
188
  };
190
189
  exports.parseCoinsJson = parseCoinsJson;
191
- const getUniqueNetworks = (networks) => networks.reduce((result, info) => {
192
- if (!info || result.find(i => i.shortcut === info.shortcut))
193
- return result;
194
- return result.concat(info);
190
+ const getUniqueNetworks = networks => networks.reduce((result, info) => {
191
+ if (!info || result.find(i => i.shortcut === info.shortcut)) return result;
192
+ return result.concat(info);
195
193
  }, []);
196
194
  exports.getUniqueNetworks = getUniqueNetworks;
197
195
  const getAllNetworks = () => [...bitcoinNetworks, ...ethereumNetworks, ...miscNetworks];
@@ -1,5 +1,5 @@
1
1
  import { DeviceModelInternal } from '@trezor/device-utils';
2
- import { TREZOR_USB_DESCRIPTORS } from '@trezor/transport/lib/constants';
2
+ import { TREZOR_USB_DESCRIPTORS } from '@trezor/transport/src/constants';
3
3
  type Config = {
4
4
  webusb: typeof TREZOR_USB_DESCRIPTORS;
5
5
  whitelist: Array<{