@trezor/connect 9.7.3 → 10.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 (772) hide show
  1. package/CHANGELOG.md +68 -1334
  2. package/README.md +9 -45
  3. package/lib/api/applyFlags.d.ts +17 -14
  4. package/lib/api/applyFlags.js +19 -20
  5. package/lib/api/applySettings.d.ts +18 -15
  6. package/lib/api/applySettings.js +25 -21
  7. package/lib/api/authenticateDevice.d.ts +24 -10
  8. package/lib/api/authenticateDevice.js +149 -49
  9. package/lib/api/authorizeCoinjoin.d.ts +10 -8
  10. package/lib/api/authorizeCoinjoin.js +21 -25
  11. package/lib/api/backupDevice.d.ts +16 -14
  12. package/lib/api/backupDevice.js +20 -21
  13. package/lib/api/bitcoin/TransactionComposer.d.ts +42 -44
  14. package/lib/api/bitcoin/TransactionComposer.js +21 -21
  15. package/lib/api/bitcoin/createPendingTx.d.ts +34 -32
  16. package/lib/api/bitcoin/createPendingTx.js +8 -15
  17. package/lib/api/bitcoin/enhanceSignTx.d.ts +2 -4
  18. package/lib/api/bitcoin/enhanceSignTx.js +5 -46
  19. package/lib/api/bitcoin/index.d.ts +9 -10
  20. package/lib/api/bitcoin/index.js +9 -16
  21. package/lib/api/bitcoin/inputs.d.ts +3 -7
  22. package/lib/api/bitcoin/inputs.js +12 -34
  23. package/lib/api/bitcoin/outputs.d.ts +3 -6
  24. package/lib/api/bitcoin/outputs.js +34 -33
  25. package/lib/api/bitcoin/refTx.d.ts +16 -12
  26. package/lib/api/bitcoin/refTx.js +49 -70
  27. package/lib/api/bitcoin/signtx.d.ts +26 -21
  28. package/lib/api/bitcoin/signtx.js +47 -39
  29. package/lib/api/bitcoin/signtxLegacy.d.ts +10 -4
  30. package/lib/api/bitcoin/signtxLegacy.js +31 -32
  31. package/lib/api/bitcoin/signtxVerify.d.ts +7 -9
  32. package/lib/api/bitcoin/signtxVerify.js +35 -35
  33. package/lib/api/bitcoin/transactionBytes.d.ts +3 -5
  34. package/lib/api/bitcoin/transactionBytes.js +8 -19
  35. package/lib/api/bleUnpair.d.ts +10 -8
  36. package/lib/api/bleUnpair.js +23 -25
  37. package/lib/api/blockchainDisconnect.d.ts +12 -11
  38. package/lib/api/blockchainDisconnect.js +22 -28
  39. package/lib/api/blockchainEstimateFee.d.ts +12 -9
  40. package/lib/api/blockchainEstimateFee.js +27 -32
  41. package/lib/api/blockchainEvmRpcCall.d.ts +15 -12
  42. package/lib/api/blockchainEvmRpcCall.js +22 -27
  43. package/lib/api/blockchainGetAccountBalanceHistory.d.ts +12 -9
  44. package/lib/api/blockchainGetAccountBalanceHistory.js +27 -28
  45. package/lib/api/blockchainGetContractInfo.d.ts +16 -0
  46. package/lib/api/blockchainGetContractInfo.js +46 -0
  47. package/lib/api/blockchainGetCurrentFiatRates.d.ts +16 -13
  48. package/lib/api/blockchainGetCurrentFiatRates.js +22 -27
  49. package/lib/api/blockchainGetFiatRatesForTimestamps.d.ts +19 -16
  50. package/lib/api/blockchainGetFiatRatesForTimestamps.js +22 -27
  51. package/lib/api/blockchainGetInfo.d.ts +11 -8
  52. package/lib/api/blockchainGetInfo.js +22 -27
  53. package/lib/api/blockchainGetTransactions.d.ts +14 -9
  54. package/lib/api/blockchainGetTransactions.js +29 -29
  55. package/lib/api/blockchainSetCustomBackend.d.ts +13 -8
  56. package/lib/api/blockchainSetCustomBackend.js +26 -28
  57. package/lib/api/blockchainSubscribe.d.ts +15 -12
  58. package/lib/api/blockchainSubscribe.js +25 -28
  59. package/lib/api/blockchainSubscribeFiatRates.d.ts +15 -11
  60. package/lib/api/blockchainSubscribeFiatRates.js +23 -27
  61. package/lib/api/blockchainUnsubscribe.d.ts +15 -12
  62. package/lib/api/blockchainUnsubscribe.js +25 -28
  63. package/lib/api/blockchainUnsubscribeFiatRates.d.ts +13 -10
  64. package/lib/api/blockchainUnsubscribeFiatRates.js +22 -27
  65. package/lib/api/blockchainValidateEvmRpcUrl.d.ts +17 -0
  66. package/lib/api/blockchainValidateEvmRpcUrl.js +54 -0
  67. package/lib/api/cancelCoinjoinAuthorization.d.ts +11 -10
  68. package/lib/api/cancelCoinjoinAuthorization.js +15 -18
  69. package/lib/api/cardano/api/cardanoComposeTransaction.d.ts +9 -7
  70. package/lib/api/cardano/api/cardanoComposeTransaction.js +25 -27
  71. package/lib/api/cardano/api/cardanoGetAddress.d.ts +31 -24
  72. package/lib/api/cardano/api/cardanoGetAddress.js +75 -70
  73. package/lib/api/cardano/api/cardanoGetNativeScriptHash.d.ts +11 -12
  74. package/lib/api/cardano/api/cardanoGetNativeScriptHash.js +47 -56
  75. package/lib/api/cardano/api/cardanoGetPublicKey.d.ts +19 -14
  76. package/lib/api/cardano/api/cardanoGetPublicKey.js +62 -43
  77. package/lib/api/cardano/api/cardanoSignMessage.d.ts +19 -22
  78. package/lib/api/cardano/api/cardanoSignMessage.js +34 -44
  79. package/lib/api/cardano/api/cardanoSignTransaction.d.ts +75 -73
  80. package/lib/api/cardano/api/cardanoSignTransaction.js +64 -62
  81. package/lib/api/cardano/api/index.d.ts +6 -7
  82. package/lib/api/cardano/api/index.js +6 -50
  83. package/lib/api/cardano/cardanoAddressParameters.d.ts +3 -4
  84. package/lib/api/cardano/cardanoAddressParameters.js +17 -27
  85. package/lib/api/cardano/cardanoAuxiliaryData.d.ts +3 -4
  86. package/lib/api/cardano/cardanoAuxiliaryData.js +16 -25
  87. package/lib/api/cardano/cardanoCertificate.d.ts +9 -10
  88. package/lib/api/cardano/cardanoCertificate.js +35 -42
  89. package/lib/api/cardano/cardanoInputs.d.ts +16 -17
  90. package/lib/api/cardano/cardanoInputs.js +19 -29
  91. package/lib/api/cardano/cardanoOutputs.d.ts +35 -35
  92. package/lib/api/cardano/cardanoOutputs.js +25 -34
  93. package/lib/api/cardano/cardanoTokenBundle.d.ts +10 -11
  94. package/lib/api/cardano/cardanoTokenBundle.js +9 -17
  95. package/lib/api/cardano/cardanoUtils.d.ts +13 -5
  96. package/lib/api/cardano/cardanoUtils.js +19 -33
  97. package/lib/api/cardano/cardanoWitnesses.d.ts +4 -5
  98. package/lib/api/cardano/cardanoWitnesses.js +6 -14
  99. package/lib/api/changeLanguage.d.ts +16 -15
  100. package/lib/api/changeLanguage.js +22 -23
  101. package/lib/api/changePin.d.ts +9 -7
  102. package/lib/api/changePin.js +18 -20
  103. package/lib/api/changeWipeCode.d.ts +10 -8
  104. package/lib/api/changeWipeCode.js +17 -19
  105. package/lib/api/cipherKeyValue.d.ts +16 -12
  106. package/lib/api/cipherKeyValue.js +35 -33
  107. package/lib/api/common/AbstractMiscGetAddress.d.ts +37 -0
  108. package/lib/api/common/AbstractMiscGetAddress.js +126 -0
  109. package/lib/api/common/Discovery.d.ts +23 -26
  110. package/lib/api/common/Discovery.js +14 -22
  111. package/lib/api/common/paramsValidator.d.ts +19 -9
  112. package/lib/api/common/paramsValidator.js +77 -71
  113. package/lib/api/common/requestExistingAccounts.d.ts +14 -0
  114. package/lib/api/common/requestExistingAccounts.js +20 -0
  115. package/lib/api/composeTransaction.d.ts +31 -39
  116. package/lib/api/composeTransaction.js +172 -108
  117. package/lib/api/discoverAccounts.d.ts +36 -29
  118. package/lib/api/discoverAccounts.js +113 -69
  119. package/lib/api/ethereum/api/ethereumGetAddress.d.ts +27 -25
  120. package/lib/api/ethereum/api/ethereumGetAddress.js +80 -62
  121. package/lib/api/ethereum/api/ethereumGetPublicKey.d.ts +49 -41
  122. package/lib/api/ethereum/api/ethereumGetPublicKey.js +54 -42
  123. package/lib/api/ethereum/api/ethereumSignMessage.d.ts +24 -21
  124. package/lib/api/ethereum/api/ethereumSignMessage.js +40 -46
  125. package/lib/api/ethereum/api/ethereumSignTransaction.d.ts +77 -76
  126. package/lib/api/ethereum/api/ethereumSignTransaction.js +63 -77
  127. package/lib/api/ethereum/api/ethereumSignTypedData.d.ts +108 -107
  128. package/lib/api/ethereum/api/ethereumSignTypedData.js +69 -77
  129. package/lib/api/ethereum/api/ethereumVerifyMessage.d.ts +11 -9
  130. package/lib/api/ethereum/api/ethereumVerifyMessage.js +23 -25
  131. package/lib/api/ethereum/api/index.d.ts +6 -7
  132. package/lib/api/ethereum/api/index.js +6 -50
  133. package/lib/api/ethereum/ethereumDefinitions.d.ts +42 -36
  134. package/lib/api/ethereum/ethereumDefinitions.js +67 -50
  135. package/lib/api/ethereum/ethereumSignTx.d.ts +15 -21
  136. package/lib/api/ethereum/ethereumSignTx.js +64 -62
  137. package/lib/api/ethereum/ethereumSignTypedData.d.ts +28 -5
  138. package/lib/api/ethereum/ethereumSignTypedData.js +95 -41
  139. package/lib/api/evoluGetDelegatedIdentityKey.d.ts +13 -10
  140. package/lib/api/evoluGetDelegatedIdentityKey.js +20 -32
  141. package/lib/api/evoluGetNode.d.ts +11 -9
  142. package/lib/api/evoluGetNode.js +16 -20
  143. package/lib/api/evoluSignRegistrationRequest.d.ts +14 -10
  144. package/lib/api/evoluSignRegistrationRequest.js +18 -20
  145. package/lib/api/firmware/calculateFirmwareHash.d.ts +15 -10
  146. package/lib/api/firmware/calculateFirmwareHash.js +16 -21
  147. package/lib/api/firmware/calculateXPubHash.d.ts +14 -0
  148. package/lib/api/firmware/calculateXPubHash.js +16 -0
  149. package/lib/api/firmware/getBinary.d.ts +11 -8
  150. package/lib/api/firmware/getBinary.js +12 -21
  151. package/lib/api/firmware/index.d.ts +6 -6
  152. package/lib/api/firmware/index.js +6 -54
  153. package/lib/api/firmware/modifyFirmware.d.ts +2 -3
  154. package/lib/api/firmware/modifyFirmware.js +6 -14
  155. package/lib/api/firmware/parseFirmwareHeaders.d.ts +3 -4
  156. package/lib/api/firmware/parseFirmwareHeaders.js +2 -10
  157. package/lib/api/firmware/uploadFirmware.d.ts +22 -17
  158. package/lib/api/firmware/uploadFirmware.js +20 -20
  159. package/lib/api/firmware/verifyEntropy.d.ts +20 -14
  160. package/lib/api/firmware/verifyEntropy.js +22 -29
  161. package/lib/api/getAccountInfo.d.ts +17 -143
  162. package/lib/api/getAccountInfo.js +92 -184
  163. package/lib/api/getAddress.d.ts +42 -35
  164. package/lib/api/getAddress.js +76 -71
  165. package/lib/api/getCoinInfo.d.ts +144 -146
  166. package/lib/api/getCoinInfo.js +17 -25
  167. package/lib/api/getDeviceState.d.ts +7 -8
  168. package/lib/api/getDeviceState.js +11 -17
  169. package/lib/api/getFeatures.d.ts +70 -64
  170. package/lib/api/getFeatures.js +17 -17
  171. package/lib/api/getFirmwareHash.d.ts +9 -7
  172. package/lib/api/getFirmwareHash.js +20 -24
  173. package/lib/api/getNonce.d.ts +10 -9
  174. package/lib/api/getNonce.js +12 -12
  175. package/lib/api/getOwnershipId.d.ts +16 -12
  176. package/lib/api/getOwnershipId.js +54 -37
  177. package/lib/api/getOwnershipProof.d.ts +16 -12
  178. package/lib/api/getOwnershipProof.js +54 -39
  179. package/lib/api/getPublicKey.d.ts +51 -43
  180. package/lib/api/getPublicKey.js +67 -48
  181. package/lib/api/getSettings.d.ts +23 -5
  182. package/lib/api/getSettings.js +16 -14
  183. package/lib/api/index.d.ts +62 -58
  184. package/lib/api/index.js +62 -408
  185. package/lib/api/loadDevice.d.ts +14 -12
  186. package/lib/api/loadDevice.js +20 -24
  187. package/lib/api/monero/api/index.d.ts +4 -5
  188. package/lib/api/monero/api/index.js +4 -36
  189. package/lib/api/monero/api/moneroGetAddress.d.ts +29 -24
  190. package/lib/api/monero/api/moneroGetAddress.js +56 -61
  191. package/lib/api/monero/api/moneroGetWatchKey.d.ts +11 -10
  192. package/lib/api/monero/api/moneroGetWatchKey.js +26 -29
  193. package/lib/api/monero/api/moneroKeyImageSync.d.ts +13 -12
  194. package/lib/api/monero/api/moneroKeyImageSync.js +34 -37
  195. package/lib/api/monero/api/moneroSignTransaction.d.ts +13 -12
  196. package/lib/api/monero/api/moneroSignTransaction.js +52 -41
  197. package/lib/api/nostr/nostrGetPublicKey.d.ts +15 -0
  198. package/lib/api/nostr/nostrGetPublicKey.js +38 -0
  199. package/lib/api/nostr/nostrSignEvent.d.ts +13 -0
  200. package/lib/api/nostr/nostrSignEvent.js +36 -0
  201. package/lib/api/pingDevice.d.ts +11 -0
  202. package/lib/api/pingDevice.js +29 -0
  203. package/lib/api/pushTransaction.d.ts +15 -12
  204. package/lib/api/pushTransaction.js +25 -30
  205. package/lib/api/recoveryDevice.d.ts +18 -16
  206. package/lib/api/recoveryDevice.js +22 -23
  207. package/lib/api/requestLogin.d.ts +13 -11
  208. package/lib/api/requestLogin.js +24 -30
  209. package/lib/api/resetDevice.d.ts +21 -15
  210. package/lib/api/resetDevice.js +64 -48
  211. package/lib/api/ripple/api/index.d.ts +2 -3
  212. package/lib/api/ripple/api/index.js +2 -22
  213. package/lib/api/ripple/api/rippleGetAddress.d.ts +17 -27
  214. package/lib/api/ripple/api/rippleGetAddress.js +12 -101
  215. package/lib/api/ripple/api/rippleSignTransaction.d.ts +12 -10
  216. package/lib/api/ripple/api/rippleSignTransaction.js +21 -24
  217. package/lib/api/selectAccount.d.ts +15 -0
  218. package/lib/api/selectAccount.js +42 -0
  219. package/lib/api/setBrightness.d.ts +10 -7
  220. package/lib/api/setBrightness.js +19 -20
  221. package/lib/api/setBusy.d.ts +10 -8
  222. package/lib/api/setBusy.js +18 -25
  223. package/lib/api/showDeviceTutorial.d.ts +11 -10
  224. package/lib/api/showDeviceTutorial.js +11 -16
  225. package/lib/api/signMessage.d.ts +24 -18
  226. package/lib/api/signMessage.js +47 -36
  227. package/lib/api/signTransaction.d.ts +195 -227
  228. package/lib/api/signTransaction.js +84 -101
  229. package/lib/api/solana/api/index.d.ts +4 -5
  230. package/lib/api/solana/api/index.js +4 -36
  231. package/lib/api/solana/api/solanaComposeTransaction.d.ts +29 -26
  232. package/lib/api/solana/api/solanaComposeTransaction.js +47 -36
  233. package/lib/api/solana/api/solanaGetAddress.d.ts +17 -27
  234. package/lib/api/solana/api/solanaGetAddress.js +12 -101
  235. package/lib/api/solana/api/solanaGetPublicKey.d.ts +31 -26
  236. package/lib/api/solana/api/solanaGetPublicKey.js +54 -39
  237. package/lib/api/solana/api/solanaSignTransaction.d.ts +38 -36
  238. package/lib/api/solana/api/solanaSignTransaction.js +134 -133
  239. package/lib/api/solana/solanaDefinitions.d.ts +5 -4
  240. package/lib/api/solana/solanaDefinitions.js +12 -25
  241. package/lib/api/stellar/api/index.d.ts +2 -3
  242. package/lib/api/stellar/api/index.js +2 -22
  243. package/lib/api/stellar/api/stellarGetAddress.d.ts +17 -27
  244. package/lib/api/stellar/api/stellarGetAddress.js +12 -101
  245. package/lib/api/stellar/api/stellarSignTransaction.d.ts +17 -21
  246. package/lib/api/stellar/api/stellarSignTransaction.js +39 -44
  247. package/lib/api/stellar/stellarSignTx.d.ts +7 -7
  248. package/lib/api/stellar/stellarSignTx.js +37 -51
  249. package/lib/api/telemetryGet.d.ts +14 -0
  250. package/lib/api/telemetryGet.js +26 -0
  251. package/lib/api/tezos/api/index.d.ts +3 -4
  252. package/lib/api/tezos/api/index.js +3 -29
  253. package/lib/api/tezos/api/tezosGetAddress.d.ts +17 -27
  254. package/lib/api/tezos/api/tezosGetAddress.js +12 -101
  255. package/lib/api/tezos/api/tezosGetPublicKey.d.ts +27 -20
  256. package/lib/api/tezos/api/tezosGetPublicKey.js +53 -37
  257. package/lib/api/tezos/api/tezosSignTransaction.d.ts +13 -11
  258. package/lib/api/tezos/api/tezosSignTransaction.js +20 -26
  259. package/lib/api/tezos/tezosSignTx.d.ts +66 -67
  260. package/lib/api/tezos/tezosSignTx.js +12 -19
  261. package/lib/api/thpGetCredentials.d.ts +12 -9
  262. package/lib/api/thpGetCredentials.js +21 -25
  263. package/lib/api/thpRemoveCredentials.d.ts +14 -7
  264. package/lib/api/thpRemoveCredentials.js +35 -30
  265. package/lib/api/tron/api/index.d.ts +3 -3
  266. package/lib/api/tron/api/index.js +3 -22
  267. package/lib/api/tron/api/tronComposeTransaction.d.ts +17 -0
  268. package/lib/api/tron/api/tronComposeTransaction.js +52 -0
  269. package/lib/api/tron/api/tronGetAddress.d.ts +17 -27
  270. package/lib/api/tron/api/tronGetAddress.js +12 -98
  271. package/lib/api/tron/api/tronSignTransaction.d.ts +16 -15
  272. package/lib/api/tron/api/tronSignTransaction.js +101 -27
  273. package/lib/api/tron/tronEncode.d.ts +11 -0
  274. package/lib/api/tron/tronEncode.js +157 -0
  275. package/lib/api/tron/tronProtobuf.d.ts +5 -0
  276. package/lib/api/tron/tronProtobuf.js +28 -0
  277. package/lib/api/unlockPath.d.ts +11 -9
  278. package/lib/api/unlockPath.js +18 -23
  279. package/lib/api/verifyMessage.d.ts +15 -9
  280. package/lib/api/verifyMessage.js +30 -34
  281. package/lib/api/wipeDevice.d.ts +19 -15
  282. package/lib/api/wipeDevice.js +22 -22
  283. package/lib/backend/BackendManager.d.ts +26 -20
  284. package/lib/backend/BackendManager.js +29 -29
  285. package/lib/backend/Blockchain.d.ts +78 -79
  286. package/lib/backend/Blockchain.js +34 -35
  287. package/lib/backend/BlockchainLink.d.ts +6 -6
  288. package/lib/backend/BlockchainLink.js +14 -27
  289. package/lib/backend/fees/BitcoinFeeLevels.d.ts +18 -19
  290. package/lib/backend/fees/BitcoinFeeLevels.js +11 -17
  291. package/lib/backend/fees/EthereumFeeLevels.d.ts +16 -17
  292. package/lib/backend/fees/EthereumFeeLevels.js +26 -22
  293. package/lib/backend/fees/MiscFeeLevels.d.ts +17 -18
  294. package/lib/backend/fees/MiscFeeLevels.js +13 -16
  295. package/lib/backend/fees/index.d.ts +4 -5
  296. package/lib/backend/fees/index.js +12 -21
  297. package/lib/core/AbstractMethod.d.ts +57 -72
  298. package/lib/core/AbstractMethod.js +92 -170
  299. package/lib/core/index.d.ts +25 -28
  300. package/lib/core/index.js +292 -493
  301. package/lib/core/method.d.ts +3 -4
  302. package/lib/core/method.js +9 -18
  303. package/lib/core/method.native.d.ts +2 -3
  304. package/lib/core/method.native.js +8 -19
  305. package/lib/core/onCallFirmwareUpdate.d.ts +33 -32
  306. package/lib/core/onCallFirmwareUpdate.js +103 -63
  307. package/lib/data/coinInfo.d.ts +86 -431
  308. package/lib/data/coinInfo.js +55 -57
  309. package/lib/data/config.d.ts +5 -30
  310. package/lib/data/config.js +52 -149
  311. package/lib/data/defaultFeeLevels.d.ts +10 -11
  312. package/lib/data/defaultFeeLevels.js +39 -23
  313. package/lib/data/enabledNetworksStore.d.ts +5 -0
  314. package/lib/data/enabledNetworksStore.js +20 -0
  315. package/lib/data/firmwareInfo.d.ts +39 -37
  316. package/lib/data/firmwareInfo.js +99 -167
  317. package/lib/data/firmwareReleaseStore.d.ts +10 -0
  318. package/lib/data/firmwareReleaseStore.js +16 -0
  319. package/lib/data/localFirmwareStore.d.ts +3 -0
  320. package/lib/data/localFirmwareStore.js +8 -0
  321. package/lib/data/protobufLoader.d.ts +1 -0
  322. package/lib/data/protobufLoader.js +30 -0
  323. package/lib/data/settingsStore.d.ts +6 -0
  324. package/lib/data/settingsStore.js +21 -0
  325. package/lib/device/Device.d.ts +255 -289
  326. package/lib/device/Device.js +203 -204
  327. package/lib/device/DeviceCommands.d.ts +82 -69
  328. package/lib/device/DeviceCommands.js +35 -36
  329. package/lib/device/DeviceCurrentSession.d.ts +746 -1093
  330. package/lib/device/DeviceCurrentSession.js +32 -53
  331. package/lib/device/DeviceList.d.ts +65 -59
  332. package/lib/device/DeviceList.js +80 -76
  333. package/lib/device/TransportList.d.ts +3 -9
  334. package/lib/device/TransportList.js +11 -50
  335. package/lib/device/TransportManager.d.ts +25 -22
  336. package/lib/device/TransportManager.js +15 -21
  337. package/lib/device/calculateRevisionForDevice.d.ts +8 -6
  338. package/lib/device/calculateRevisionForDevice.js +7 -15
  339. package/lib/device/checkFirmwareRevision.d.ts +20 -10
  340. package/lib/device/checkFirmwareRevision.js +43 -22
  341. package/lib/device/resolveDescriptorForTaproot.d.ts +13 -11
  342. package/lib/device/resolveDescriptorForTaproot.js +9 -15
  343. package/lib/device/thp/handshake.d.ts +3 -4
  344. package/lib/device/thp/handshake.js +27 -39
  345. package/lib/device/thp/index.d.ts +5 -6
  346. package/lib/device/thp/index.js +37 -41
  347. package/lib/device/thp/pairing.d.ts +13 -13
  348. package/lib/device/thp/pairing.js +88 -84
  349. package/lib/device/thp/session.d.ts +2 -3
  350. package/lib/device/thp/session.js +4 -12
  351. package/lib/device/thp/thpCall.d.ts +22 -32
  352. package/lib/device/thp/thpCall.js +14 -20
  353. package/lib/device/validateMessageSize.d.ts +2 -0
  354. package/lib/device/validateMessageSize.js +9 -0
  355. package/lib/device/workflow/changeLanguage.d.ts +18 -0
  356. package/lib/device/workflow/changeLanguage.js +62 -0
  357. package/lib/device/workflow/checkFirmwareHash.d.ts +10 -8
  358. package/lib/device/workflow/checkFirmwareHash.js +20 -28
  359. package/lib/device/workflow/checkFirmwareHashWithRetries.d.ts +5 -6
  360. package/lib/device/workflow/checkFirmwareHashWithRetries.js +9 -17
  361. package/lib/device/workflow/handshake.d.ts +11 -8
  362. package/lib/device/workflow/handshake.js +13 -21
  363. package/lib/device/workflow/trezorPushNotification.d.ts +5 -3
  364. package/lib/device/workflow/trezorPushNotification.js +28 -36
  365. package/lib/device/workflow/validateState.d.ts +2 -3
  366. package/lib/device/workflow/validateState.js +35 -59
  367. package/lib/events/ui-promise.d.ts +14 -14
  368. package/lib/events/ui-promise.js +1 -6
  369. package/lib/exports.d.ts +3 -5
  370. package/lib/exports.js +3 -18
  371. package/lib/impl/core-in-module.d.ts +33 -35
  372. package/lib/impl/core-in-module.js +124 -146
  373. package/lib/index.browser.d.ts +7 -0
  374. package/lib/index.browser.js +34 -0
  375. package/lib/index.d.ts +3 -9
  376. package/lib/index.js +15 -178
  377. package/lib/types/idevice.d.ts +110 -0
  378. package/lib/types/idevice.js +1 -0
  379. package/lib/types/typed-call-provider.d.ts +29 -0
  380. package/lib/types/typed-call-provider.js +1 -0
  381. package/lib/types/workflow.d.ts +13 -9
  382. package/lib/types/workflow.js +1 -6
  383. package/lib/utils/accountUtils.d.ts +4 -5
  384. package/lib/utils/accountUtils.js +28 -32
  385. package/lib/utils/addressUtils.d.ts +2 -3
  386. package/lib/utils/addressUtils.js +4 -12
  387. package/lib/utils/assetUtils.d.ts +8 -5
  388. package/lib/utils/assetUtils.js +36 -28
  389. package/lib/utils/assets.browser.d.ts +1 -0
  390. package/lib/utils/assets.browser.js +1 -0
  391. package/lib/utils/assets.d.ts +2 -3
  392. package/lib/utils/assets.js +8 -17
  393. package/lib/utils/assets.native.d.ts +2 -3
  394. package/lib/utils/assets.native.js +5 -12
  395. package/lib/utils/assetsTypes.d.ts +2 -3
  396. package/lib/utils/assetsTypes.js +1 -6
  397. package/lib/utils/buildOutputDescriptor.d.ts +20 -0
  398. package/lib/utils/buildOutputDescriptor.js +67 -0
  399. package/lib/utils/deviceFeaturesUtils.d.ts +4 -5
  400. package/lib/utils/deviceFeaturesUtils.js +24 -38
  401. package/lib/utils/ethereumUtils.d.ts +2 -3
  402. package/lib/utils/ethereumUtils.js +3 -11
  403. package/lib/utils/firmwareReleaseConfigUtils.d.ts +16 -7
  404. package/lib/utils/firmwareReleaseConfigUtils.js +71 -31
  405. package/lib/utils/firmwareUtils.d.ts +7 -7
  406. package/lib/utils/firmwareUtils.js +24 -37
  407. package/lib/utils/formatUtils.d.ts +6 -8
  408. package/lib/utils/formatUtils.js +21 -60
  409. package/lib/utils/hdnodeUtils.d.ts +2 -3
  410. package/lib/utils/hdnodeUtils.js +14 -25
  411. package/lib/utils/pathUtils.d.ts +1 -21
  412. package/lib/utils/pathUtils.js +1 -172
  413. package/lib/utils/paymentRequest.d.ts +8 -0
  414. package/lib/utils/paymentRequest.js +25 -0
  415. package/lib/utils/uiPromiseManager.d.ts +8 -43
  416. package/lib/utils/uiPromiseManager.js +19 -31
  417. package/lib/workers/workers.browser.d.ts +10 -0
  418. package/lib/workers/workers.browser.js +16 -0
  419. package/lib/workers/workers.d.ts +2 -2
  420. package/lib/workers/workers.js +8 -60
  421. package/lib/workers/workers.native.d.ts +2 -3
  422. package/lib/workers/workers.native.js +7 -20
  423. package/package.json +84 -75
  424. package/lib/api/eos/api/eosGetPublicKey.d.ts +0 -23
  425. package/lib/api/eos/api/eosGetPublicKey.js +0 -69
  426. package/lib/api/eos/api/eosSignTransaction.d.ts +0 -18
  427. package/lib/api/eos/api/eosSignTransaction.js +0 -48
  428. package/lib/api/eos/api/index.d.ts +0 -3
  429. package/lib/api/eos/api/index.js +0 -22
  430. package/lib/api/eos/eosSignTx.d.ts +0 -175
  431. package/lib/api/eos/eosSignTx.js +0 -344
  432. package/lib/api/getAccountDescriptor.d.ts +0 -22
  433. package/lib/api/getAccountDescriptor.js +0 -139
  434. package/lib/api/nem/api/index.d.ts +0 -3
  435. package/lib/api/nem/api/index.js +0 -22
  436. package/lib/api/nem/api/nemGetAddress.d.ts +0 -26
  437. package/lib/api/nem/api/nemGetAddress.js +0 -129
  438. package/lib/api/nem/api/nemSignTransaction.d.ts +0 -11
  439. package/lib/api/nem/api/nemSignTransaction.js +0 -39
  440. package/lib/api/nem/nemSignTx.d.ts +0 -78
  441. package/lib/api/nem/nemSignTx.js +0 -143
  442. package/lib/api/setProxy.d.ts +0 -8
  443. package/lib/api/setProxy.js +0 -32
  444. package/lib/api/solana/additionalInfo.d.ts +0 -10
  445. package/lib/api/solana/additionalInfo.js +0 -24
  446. package/lib/api/solana/solanaUtils.d.ts +0 -49
  447. package/lib/api/solana/solanaUtils.js +0 -279
  448. package/lib/constants/cardano.d.ts +0 -14
  449. package/lib/constants/cardano.js +0 -23
  450. package/lib/constants/errors.d.ts +0 -64
  451. package/lib/constants/errors.js +0 -87
  452. package/lib/constants/firmware.d.ts +0 -4
  453. package/lib/constants/firmware.js +0 -10
  454. package/lib/constants/index.d.ts +0 -8
  455. package/lib/constants/index.js +0 -27
  456. package/lib/constants/nem.d.ts +0 -29
  457. package/lib/constants/nem.js +0 -35
  458. package/lib/constants/network.d.ts +0 -17
  459. package/lib/constants/network.js +0 -21
  460. package/lib/constants/utxo.d.ts +0 -3
  461. package/lib/constants/utxo.js +0 -8
  462. package/lib/data/DataManager.d.ts +0 -31
  463. package/lib/data/DataManager.js +0 -100
  464. package/lib/data/analyticsInfo.d.ts +0 -6
  465. package/lib/data/analyticsInfo.js +0 -43
  466. package/lib/data/connectSettings.d.ts +0 -9
  467. package/lib/data/connectSettings.js +0 -147
  468. package/lib/data/thpSettings.d.ts +0 -3
  469. package/lib/data/thpSettings.js +0 -41
  470. package/lib/data/udevInfo.d.ts +0 -11
  471. package/lib/data/udevInfo.js +0 -31
  472. package/lib/data/version.d.ts +0 -6
  473. package/lib/data/version.js +0 -14
  474. package/lib/device/StateStorage.d.ts +0 -15
  475. package/lib/device/StateStorage.js +0 -40
  476. package/lib/device/workflow/index.d.ts +0 -2
  477. package/lib/device/workflow/index.js +0 -14
  478. package/lib/events/blockchain.d.ts +0 -66
  479. package/lib/events/blockchain.js +0 -22
  480. package/lib/events/call.d.ts +0 -46
  481. package/lib/events/call.js +0 -22
  482. package/lib/events/core.d.ts +0 -24
  483. package/lib/events/core.js +0 -32
  484. package/lib/events/device.d.ts +0 -70
  485. package/lib/events/device.js +0 -42
  486. package/lib/events/iframe.d.ts +0 -46
  487. package/lib/events/iframe.js +0 -22
  488. package/lib/events/index.d.ts +0 -68
  489. package/lib/events/index.js +0 -25
  490. package/lib/events/popup.d.ts +0 -88
  491. package/lib/events/popup.js +0 -29
  492. package/lib/events/transport.d.ts +0 -51
  493. package/lib/events/transport.js +0 -26
  494. package/lib/events/ui-request.d.ts +0 -266
  495. package/lib/events/ui-request.js +0 -57
  496. package/lib/events/ui-response.d.ts +0 -104
  497. package/lib/events/ui-response.js +0 -29
  498. package/lib/events/webextension.d.ts +0 -8
  499. package/lib/events/webextension.js +0 -14
  500. package/lib/factory.d.ts +0 -20
  501. package/lib/factory.js +0 -50
  502. package/lib/impl/dynamic.d.ts +0 -39
  503. package/lib/impl/dynamic.js +0 -125
  504. package/lib/index-browser.d.ts +0 -7
  505. package/lib/index-browser.js +0 -29
  506. package/lib/tsconfig.lib.tsbuildinfo +0 -1
  507. package/lib/types/account.d.ts +0 -20
  508. package/lib/types/account.js +0 -6
  509. package/lib/types/api/applyFlags.d.ts +0 -4
  510. package/lib/types/api/applyFlags.js +0 -6
  511. package/lib/types/api/applySettings.d.ts +0 -23
  512. package/lib/types/api/applySettings.js +0 -12
  513. package/lib/types/api/authenticateDevice.d.ts +0 -65
  514. package/lib/types/api/authenticateDevice.js +0 -14
  515. package/lib/types/api/authorizeCoinjoin.d.ts +0 -17
  516. package/lib/types/api/authorizeCoinjoin.js +0 -21
  517. package/lib/types/api/backupDevice.d.ts +0 -4
  518. package/lib/types/api/backupDevice.js +0 -6
  519. package/lib/types/api/bitcoin/index.d.ts +0 -101
  520. package/lib/types/api/bitcoin/index.js +0 -23
  521. package/lib/types/api/bleUnpair.d.ts +0 -4
  522. package/lib/types/api/bleUnpair.js +0 -6
  523. package/lib/types/api/blockchainDisconnect.d.ts +0 -5
  524. package/lib/types/api/blockchainDisconnect.js +0 -6
  525. package/lib/types/api/blockchainEstimateFee.d.ts +0 -26
  526. package/lib/types/api/blockchainEstimateFee.js +0 -6
  527. package/lib/types/api/blockchainEvmRpcCall.d.ts +0 -4
  528. package/lib/types/api/blockchainEvmRpcCall.js +0 -6
  529. package/lib/types/api/blockchainGetAccountBalanceHistory.d.ts +0 -4
  530. package/lib/types/api/blockchainGetAccountBalanceHistory.js +0 -6
  531. package/lib/types/api/blockchainGetCurrentFiatRates.d.ts +0 -4
  532. package/lib/types/api/blockchainGetCurrentFiatRates.js +0 -6
  533. package/lib/types/api/blockchainGetFiatRatesForTimestamps.d.ts +0 -4
  534. package/lib/types/api/blockchainGetFiatRatesForTimestamps.js +0 -6
  535. package/lib/types/api/blockchainGetInfo.d.ts +0 -4
  536. package/lib/types/api/blockchainGetInfo.js +0 -6
  537. package/lib/types/api/blockchainGetTransactions.d.ts +0 -7
  538. package/lib/types/api/blockchainGetTransactions.js +0 -6
  539. package/lib/types/api/blockchainSetCustomBackend.d.ts +0 -8
  540. package/lib/types/api/blockchainSetCustomBackend.js +0 -6
  541. package/lib/types/api/blockchainSubscribe.d.ts +0 -8
  542. package/lib/types/api/blockchainSubscribe.js +0 -6
  543. package/lib/types/api/blockchainSubscribeFiatRates.d.ts +0 -7
  544. package/lib/types/api/blockchainSubscribeFiatRates.js +0 -6
  545. package/lib/types/api/blockchainUnsubscribe.d.ts +0 -5
  546. package/lib/types/api/blockchainUnsubscribe.js +0 -6
  547. package/lib/types/api/blockchainUnsubscribeFiatRates.d.ts +0 -5
  548. package/lib/types/api/blockchainUnsubscribeFiatRates.js +0 -6
  549. package/lib/types/api/cancel.d.ts +0 -2
  550. package/lib/types/api/cancel.js +0 -6
  551. package/lib/types/api/cancelCoinjoinAuthorization.d.ts +0 -9
  552. package/lib/types/api/cancelCoinjoinAuthorization.js +0 -11
  553. package/lib/types/api/cardano/index.d.ts +0 -784
  554. package/lib/types/api/cardano/index.js +0 -241
  555. package/lib/types/api/cardanoComposeTransaction.d.ts +0 -150
  556. package/lib/types/api/cardanoComposeTransaction.js +0 -91
  557. package/lib/types/api/cardanoGetAddress.d.ts +0 -5
  558. package/lib/types/api/cardanoGetAddress.js +0 -6
  559. package/lib/types/api/cardanoGetNativeScriptHash.d.ts +0 -4
  560. package/lib/types/api/cardanoGetNativeScriptHash.js +0 -6
  561. package/lib/types/api/cardanoGetPublicKey.d.ts +0 -5
  562. package/lib/types/api/cardanoGetPublicKey.js +0 -6
  563. package/lib/types/api/cardanoSignMessage.d.ts +0 -4
  564. package/lib/types/api/cardanoSignMessage.js +0 -6
  565. package/lib/types/api/cardanoSignTransaction.d.ts +0 -10
  566. package/lib/types/api/cardanoSignTransaction.js +0 -6
  567. package/lib/types/api/changeLanguage.d.ts +0 -15
  568. package/lib/types/api/changeLanguage.js +0 -17
  569. package/lib/types/api/changePin.d.ts +0 -4
  570. package/lib/types/api/changePin.js +0 -6
  571. package/lib/types/api/changeWipeCode.d.ts +0 -4
  572. package/lib/types/api/changeWipeCode.js +0 -6
  573. package/lib/types/api/cipherKeyValue.d.ts +0 -18
  574. package/lib/types/api/cipherKeyValue.js +0 -18
  575. package/lib/types/api/composeTransaction.d.ts +0 -74
  576. package/lib/types/api/composeTransaction.js +0 -6
  577. package/lib/types/api/device.d.ts +0 -1
  578. package/lib/types/api/device.js +0 -1
  579. package/lib/types/api/disableWebUSB.d.ts +0 -2
  580. package/lib/types/api/disableWebUSB.js +0 -6
  581. package/lib/types/api/discoverAccounts.d.ts +0 -248
  582. package/lib/types/api/discoverAccounts.js +0 -210
  583. package/lib/types/api/dispose.d.ts +0 -2
  584. package/lib/types/api/dispose.js +0 -6
  585. package/lib/types/api/eos/index.d.ts +0 -784
  586. package/lib/types/api/eos/index.js +0 -124
  587. package/lib/types/api/eosGetPublicKey.d.ts +0 -5
  588. package/lib/types/api/eosGetPublicKey.js +0 -6
  589. package/lib/types/api/eosSignTransaction.d.ts +0 -5
  590. package/lib/types/api/eosSignTransaction.js +0 -6
  591. package/lib/types/api/ethereum/index.d.ts +0 -307
  592. package/lib/types/api/ethereum/index.js +0 -101
  593. package/lib/types/api/ethereumGetAddress.d.ts +0 -4
  594. package/lib/types/api/ethereumGetAddress.js +0 -6
  595. package/lib/types/api/ethereumGetPublicKey.d.ts +0 -5
  596. package/lib/types/api/ethereumGetPublicKey.js +0 -6
  597. package/lib/types/api/ethereumSignMessage.d.ts +0 -5
  598. package/lib/types/api/ethereumSignMessage.js +0 -6
  599. package/lib/types/api/ethereumSignTransaction.d.ts +0 -4
  600. package/lib/types/api/ethereumSignTransaction.js +0 -6
  601. package/lib/types/api/ethereumSignTypedData.d.ts +0 -6
  602. package/lib/types/api/ethereumSignTypedData.js +0 -6
  603. package/lib/types/api/ethereumVerifyMessage.d.ts +0 -5
  604. package/lib/types/api/ethereumVerifyMessage.js +0 -6
  605. package/lib/types/api/evoluGetDelegatedIdentityKey.d.ts +0 -9
  606. package/lib/types/api/evoluGetDelegatedIdentityKey.js +0 -6
  607. package/lib/types/api/evoluGetNode.d.ts +0 -4
  608. package/lib/types/api/evoluGetNode.js +0 -6
  609. package/lib/types/api/evoluSignRegistrationRequest.d.ts +0 -4
  610. package/lib/types/api/evoluSignRegistrationRequest.js +0 -6
  611. package/lib/types/api/firmwareUpdate.d.ts +0 -21
  612. package/lib/types/api/firmwareUpdate.js +0 -16
  613. package/lib/types/api/getAccountDescriptor.d.ts +0 -18
  614. package/lib/types/api/getAccountDescriptor.js +0 -16
  615. package/lib/types/api/getAccountInfo.d.ts +0 -16
  616. package/lib/types/api/getAccountInfo.js +0 -6
  617. package/lib/types/api/getAddress.d.ts +0 -48
  618. package/lib/types/api/getAddress.js +0 -17
  619. package/lib/types/api/getCoinInfo.d.ts +0 -6
  620. package/lib/types/api/getCoinInfo.js +0 -6
  621. package/lib/types/api/getDeviceState.d.ts +0 -8
  622. package/lib/types/api/getDeviceState.js +0 -6
  623. package/lib/types/api/getFeatures.d.ts +0 -4
  624. package/lib/types/api/getFeatures.js +0 -6
  625. package/lib/types/api/getFirmwareHash.d.ts +0 -4
  626. package/lib/types/api/getFirmwareHash.js +0 -6
  627. package/lib/types/api/getNonce.d.ts +0 -4
  628. package/lib/types/api/getNonce.js +0 -6
  629. package/lib/types/api/getOwnershipId.d.ts +0 -41
  630. package/lib/types/api/getOwnershipId.js +0 -16
  631. package/lib/types/api/getOwnershipProof.d.ts +0 -45
  632. package/lib/types/api/getOwnershipProof.js +0 -22
  633. package/lib/types/api/getPublicKey.d.ts +0 -37
  634. package/lib/types/api/getPublicKey.js +0 -31
  635. package/lib/types/api/getSettings.d.ts +0 -4
  636. package/lib/types/api/getSettings.js +0 -6
  637. package/lib/types/api/index.d.ts +0 -203
  638. package/lib/types/api/index.js +0 -6
  639. package/lib/types/api/init.d.ts +0 -7
  640. package/lib/types/api/init.js +0 -6
  641. package/lib/types/api/loadDevice.d.ts +0 -4
  642. package/lib/types/api/loadDevice.js +0 -6
  643. package/lib/types/api/manifest.d.ts +0 -3
  644. package/lib/types/api/manifest.js +0 -6
  645. package/lib/types/api/monero/index.d.ts +0 -280
  646. package/lib/types/api/monero/index.js +0 -178
  647. package/lib/types/api/moneroGetAddress.d.ts +0 -5
  648. package/lib/types/api/moneroGetAddress.js +0 -6
  649. package/lib/types/api/moneroGetWatchKey.d.ts +0 -4
  650. package/lib/types/api/moneroGetWatchKey.js +0 -6
  651. package/lib/types/api/moneroKeyImageSync.d.ts +0 -4
  652. package/lib/types/api/moneroKeyImageSync.js +0 -6
  653. package/lib/types/api/moneroSignTransaction.d.ts +0 -4
  654. package/lib/types/api/moneroSignTransaction.js +0 -6
  655. package/lib/types/api/nem/index.d.ts +0 -842
  656. package/lib/types/api/nem/index.js +0 -99
  657. package/lib/types/api/nemGetAddress.d.ts +0 -14
  658. package/lib/types/api/nemGetAddress.js +0 -12
  659. package/lib/types/api/nemSignTransaction.d.ts +0 -5
  660. package/lib/types/api/nemSignTransaction.js +0 -6
  661. package/lib/types/api/off.d.ts +0 -11
  662. package/lib/types/api/off.js +0 -6
  663. package/lib/types/api/on.d.ts +0 -14
  664. package/lib/types/api/on.js +0 -6
  665. package/lib/types/api/pushTransaction.d.ts +0 -16
  666. package/lib/types/api/pushTransaction.js +0 -16
  667. package/lib/types/api/recoveryDevice.d.ts +0 -17
  668. package/lib/types/api/recoveryDevice.js +0 -12
  669. package/lib/types/api/removeAllListeners.d.ts +0 -3
  670. package/lib/types/api/removeAllListeners.js +0 -6
  671. package/lib/types/api/renderWebUSBButton.d.ts +0 -2
  672. package/lib/types/api/renderWebUSBButton.js +0 -6
  673. package/lib/types/api/requestLogin.d.ts +0 -25
  674. package/lib/types/api/requestLogin.js +0 -16
  675. package/lib/types/api/requestWebUSBDevice.d.ts +0 -2
  676. package/lib/types/api/requestWebUSBDevice.js +0 -6
  677. package/lib/types/api/resetDevice.d.ts +0 -4
  678. package/lib/types/api/resetDevice.js +0 -6
  679. package/lib/types/api/ripple/index.d.ts +0 -41
  680. package/lib/types/api/ripple/index.js +0 -30
  681. package/lib/types/api/rippleGetAddress.d.ts +0 -4
  682. package/lib/types/api/rippleGetAddress.js +0 -6
  683. package/lib/types/api/rippleSignTransaction.d.ts +0 -4
  684. package/lib/types/api/rippleSignTransaction.js +0 -6
  685. package/lib/types/api/setBrightness.d.ts +0 -4
  686. package/lib/types/api/setBrightness.js +0 -6
  687. package/lib/types/api/setBusy.d.ts +0 -4
  688. package/lib/types/api/setBusy.js +0 -6
  689. package/lib/types/api/setProxy.d.ts +0 -8
  690. package/lib/types/api/setProxy.js +0 -6
  691. package/lib/types/api/setTransports.d.ts +0 -4
  692. package/lib/types/api/setTransports.js +0 -6
  693. package/lib/types/api/showDeviceTutorial.d.ts +0 -4
  694. package/lib/types/api/showDeviceTutorial.js +0 -6
  695. package/lib/types/api/signMessage.d.ts +0 -5
  696. package/lib/types/api/signMessage.js +0 -6
  697. package/lib/types/api/signTransaction.d.ts +0 -4
  698. package/lib/types/api/signTransaction.js +0 -6
  699. package/lib/types/api/solana/index.d.ts +0 -113
  700. package/lib/types/api/solana/index.js +0 -76
  701. package/lib/types/api/solanaComposeTransaction.d.ts +0 -4
  702. package/lib/types/api/solanaComposeTransaction.js +0 -6
  703. package/lib/types/api/solanaGetAddress.d.ts +0 -4
  704. package/lib/types/api/solanaGetAddress.js +0 -6
  705. package/lib/types/api/solanaGetPublicKey.d.ts +0 -5
  706. package/lib/types/api/solanaGetPublicKey.js +0 -6
  707. package/lib/types/api/solanaSignTransaction.d.ts +0 -4
  708. package/lib/types/api/solanaSignTransaction.js +0 -6
  709. package/lib/types/api/stellar/index.d.ts +0 -914
  710. package/lib/types/api/stellar/index.js +0 -194
  711. package/lib/types/api/stellarGetAddress.d.ts +0 -4
  712. package/lib/types/api/stellarGetAddress.js +0 -6
  713. package/lib/types/api/stellarSignTransaction.d.ts +0 -4
  714. package/lib/types/api/stellarSignTransaction.js +0 -6
  715. package/lib/types/api/tezos/index.d.ts +0 -163
  716. package/lib/types/api/tezos/index.js +0 -67
  717. package/lib/types/api/tezosGetAddress.d.ts +0 -4
  718. package/lib/types/api/tezosGetAddress.js +0 -6
  719. package/lib/types/api/tezosGetPublicKey.d.ts +0 -4
  720. package/lib/types/api/tezosGetPublicKey.js +0 -6
  721. package/lib/types/api/tezosSignTransaction.d.ts +0 -5
  722. package/lib/types/api/tezosSignTransaction.js +0 -6
  723. package/lib/types/api/thpGetCredentials.d.ts +0 -4
  724. package/lib/types/api/thpGetCredentials.js +0 -6
  725. package/lib/types/api/thpRemoveCredentials.d.ts +0 -7
  726. package/lib/types/api/thpRemoveCredentials.js +0 -6
  727. package/lib/types/api/tron/index.d.ts +0 -130
  728. package/lib/types/api/tron/index.js +0 -62
  729. package/lib/types/api/tronGetAddress.d.ts +0 -4
  730. package/lib/types/api/tronGetAddress.js +0 -6
  731. package/lib/types/api/tronSignTransaction.d.ts +0 -4
  732. package/lib/types/api/tronSignTransaction.js +0 -6
  733. package/lib/types/api/uiResponse.d.ts +0 -3
  734. package/lib/types/api/uiResponse.js +0 -6
  735. package/lib/types/api/unlockPath.d.ts +0 -10
  736. package/lib/types/api/unlockPath.js +0 -13
  737. package/lib/types/api/verifyMessage.d.ts +0 -5
  738. package/lib/types/api/verifyMessage.js +0 -6
  739. package/lib/types/api/wipeDevice.d.ts +0 -4
  740. package/lib/types/api/wipeDevice.js +0 -6
  741. package/lib/types/coinInfo.d.ts +0 -353
  742. package/lib/types/coinInfo.js +0 -79
  743. package/lib/types/device.d.ts +0 -133
  744. package/lib/types/device.js +0 -13
  745. package/lib/types/fees.d.ts +0 -36
  746. package/lib/types/fees.js +0 -39
  747. package/lib/types/firmware.d.ts +0 -25
  748. package/lib/types/firmware.js +0 -6
  749. package/lib/types/index.d.ts +0 -25
  750. package/lib/types/index.js +0 -39
  751. package/lib/types/params.d.ts +0 -93
  752. package/lib/types/params.js +0 -38
  753. package/lib/types/settings.d.ts +0 -80
  754. package/lib/types/settings.js +0 -6
  755. package/lib/types/utils.d.ts +0 -15
  756. package/lib/types/utils.js +0 -6
  757. package/lib/utils/assets-browser.d.ts +0 -3
  758. package/lib/utils/assets-browser.js +0 -29
  759. package/lib/utils/debug.d.ts +0 -7
  760. package/lib/utils/debug.js +0 -33
  761. package/lib/utils/interactionTimeout.d.ts +0 -10
  762. package/lib/utils/interactionTimeout.js +0 -37
  763. package/lib/utils/popupPromiseManager.d.ts +0 -8
  764. package/lib/utils/popupPromiseManager.js +0 -30
  765. package/lib/utils/proxy-event-emitter.d.ts +0 -21
  766. package/lib/utils/proxy-event-emitter.js +0 -69
  767. package/lib/utils/urlUtils.d.ts +0 -13
  768. package/lib/utils/urlUtils.js +0 -31
  769. package/lib/utils/versionCheck.d.ts +0 -3
  770. package/lib/utils/versionCheck.js +0 -16
  771. package/lib/workers/workers-browser.d.ts +0 -10
  772. package/lib/workers/workers-browser.js +0 -20
@@ -1,29 +1,19 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- const schema_utils_1 = require("@trezor/schema-utils");
7
- const AbstractMethod_1 = require("../core/AbstractMethod");
8
- const events_1 = require("../events");
9
- const paramsValidator_1 = require("./common/paramsValidator");
10
- const cipherKeyValue_1 = require("../types/api/cipherKeyValue");
11
- const params_1 = require("../types/params");
12
- const pathUtils_1 = require("../utils/pathUtils");
13
- class CipherKeyValue extends AbstractMethod_1.AbstractMethod {
1
+ import { CipherKeyValue as CipherKeyValueSchema, UI_REQUEST, createUiMessage } from "@trezor/connect-common";
2
+ import { Bundle } from "@trezor/connect-common/lib/types/params.js";
3
+ import { Assert } from "@trezor/schema-utils";
4
+ import { AbstractMethod } from "../core/AbstractMethod.js";
5
+ import { bundlify } from "./common/paramsValidator.js";
6
+ import { validatePath } from "../utils/pathUtils.js";
7
+ export default class CipherKeyValue extends AbstractMethod {
14
8
  hasBundle;
15
- init() {
16
- this.requiredPermissions = ['read', 'write'];
17
- this.firmwareRange = (0, paramsValidator_1.getFirmwareRange)(this.name, null, this.firmwareRange);
18
- this.hasBundle = !!this.payload.bundle;
19
- const payload = !this.payload.bundle ? {
20
- ...this.payload,
21
- bundle: [this.payload]
22
- } : this.payload;
23
- this.useEmptyPassphrase = typeof payload.useEmptyPassphrase === 'boolean' ? payload.useEmptyPassphrase : true;
24
- (0, schema_utils_1.Assert)((0, params_1.Bundle)(cipherKeyValue_1.CipherKeyValue), payload);
25
- this.params = payload.bundle.map(batch => ({
26
- address_n: (0, pathUtils_1.validatePath)(batch.path),
9
+ constructor(message) {
10
+ const {
11
+ hasBundle,
12
+ payload
13
+ } = bundlify(message.payload);
14
+ Assert(Bundle(CipherKeyValueSchema), payload);
15
+ const params = payload.bundle.map(batch => ({
16
+ address_n: validatePath(batch.path),
27
17
  key: batch.key,
28
18
  value: batch.value instanceof Buffer ? batch.value.toString('hex') : batch.value,
29
19
  encrypt: batch.encrypt,
@@ -31,26 +21,38 @@ class CipherKeyValue extends AbstractMethod_1.AbstractMethod {
31
21
  ask_on_decrypt: batch.askOnDecrypt,
32
22
  iv: batch.iv instanceof Buffer ? batch.iv.toString('hex') : batch.iv
33
23
  }));
24
+ super(message, params);
25
+ this.hasBundle = hasBundle;
26
+ }
27
+ get requiredPermissions() {
28
+ return [{
29
+ permission: 'sign'
30
+ }];
34
31
  }
35
32
  get info() {
36
33
  return 'Cipher key value';
37
34
  }
38
- async run() {
35
+ async run({
36
+ sendCoreMessage
37
+ }) {
39
38
  const responses = [];
40
- const cmd = this.device.getCommands();
39
+ const cmd = this.getDevice().getCommands();
41
40
  for (let i = 0; i < this.params.length; i++) {
42
- const response = await cmd.typedCall('CipherKeyValue', 'CipheredKeyValue', this.params[i]);
41
+ const {
42
+ params
43
+ } = this;
44
+ const batch = params[i];
45
+ const response = await cmd.typedCall('CipherKeyValue', 'CipheredKeyValue', batch);
43
46
  responses.push(response.message);
44
47
  if (this.hasBundle) {
45
- this.postMessage((0, events_1.createUiMessage)(events_1.UI.BUNDLE_PROGRESS, {
48
+ sendCoreMessage(createUiMessage(UI_REQUEST.BUNDLE_PROGRESS, {
46
49
  total: this.params.length,
47
50
  progress: i,
48
51
  response
49
52
  }));
50
53
  }
51
54
  }
52
- return this.hasBundle ? responses : responses[0];
55
+ const first = responses[0];
56
+ return this.hasBundle ? responses : first;
53
57
  }
54
- }
55
- exports.default = CipherKeyValue;
56
- //# sourceMappingURL=cipherKeyValue.js.map
58
+ }
@@ -0,0 +1,37 @@
1
+ import { type PermissionRequest } from '@trezor/connect-common';
2
+ import type { MethodContext, MethodMessage, MethodReturnType } from "../../core/AbstractMethod.js";
3
+ import { AbstractMethod } from "../../core/AbstractMethod.js";
4
+ export type MiscGetAddressMethodName = 'rippleGetAddress' | 'stellarGetAddress' | 'tezosGetAddress' | 'solanaGetAddress' | 'tronGetAddress';
5
+ type MiscProto = {
6
+ address_n: number[];
7
+ show_display: boolean;
8
+ chunkify: boolean;
9
+ };
10
+ export type MiscGetAddressParams = {
11
+ proto: MiscProto;
12
+ address?: string;
13
+ };
14
+ export declare abstract class AbstractMiscGetAddress<Name extends MiscGetAddressMethodName> extends AbstractMethod<Name, MiscGetAddressParams[]> {
15
+ hasBundle?: boolean;
16
+ progress: number;
17
+ constructor(message: MethodMessage<Name>, pathDepth: number);
18
+ get requiredPermissions(): PermissionRequest[];
19
+ protected getInfo(coinName: string, showAccountInInfo: boolean): string;
20
+ getButtonRequestData(code: string): {
21
+ type: "address";
22
+ serializedPath: string;
23
+ address: string;
24
+ } | undefined;
25
+ protected getConfirmation(coinName: string): {
26
+ view: "export-address";
27
+ label: string;
28
+ };
29
+ protected abstract _call(params: MiscGetAddressParams): Promise<{
30
+ address: string;
31
+ mac?: string;
32
+ }>;
33
+ run({
34
+ sendCoreMessage
35
+ }: MethodContext): Promise<MethodReturnType<Name>>;
36
+ }
37
+ export {};
@@ -0,0 +1,126 @@
1
+ import { Bundle, GetAddress as GetAddressSchema, UI_REQUEST, createUiMessage } from "@trezor/connect-common";
2
+ import { ERRORS } from "@trezor/connect-common/lib/constants/index.js";
3
+ import { fromHardenedPathPart } from "@trezor/crypto-utils";
4
+ import { Assert } from "@trezor/schema-utils";
5
+ import { bundlify } from "./paramsValidator.js";
6
+ import { AbstractMethod } from "../../core/AbstractMethod.js";
7
+ import { getSerializedPath, validatePath } from "../../utils/pathUtils.js";
8
+ export class AbstractMiscGetAddress extends AbstractMethod {
9
+ hasBundle;
10
+ progress = 0;
11
+ constructor(message, pathDepth) {
12
+ const {
13
+ hasBundle,
14
+ payload
15
+ } = bundlify(message.payload);
16
+ Assert(Bundle(GetAddressSchema), payload);
17
+ const params = payload.bundle.map(batch => ({
18
+ proto: {
19
+ address_n: validatePath(batch.path, pathDepth),
20
+ show_display: typeof batch.showOnTrezor === 'boolean' ? batch.showOnTrezor : true,
21
+ chunkify: typeof batch.chunkify === 'boolean' ? batch.chunkify : false
22
+ },
23
+ address: batch.address
24
+ }));
25
+ super(message, params);
26
+ this.hasBundle = hasBundle;
27
+ this.confirmMissingBackup = true;
28
+ }
29
+ get requiredPermissions() {
30
+ return this.coinPerms('read_address', this.requiredFirmwareCoins);
31
+ }
32
+ getInfo(coinName, showAccountInInfo) {
33
+ if (this.params.length > 1) {
34
+ return `Export multiple ${coinName} addresses`;
35
+ }
36
+ if (showAccountInInfo) {
37
+ const {
38
+ params
39
+ } = this;
40
+ const firstParam = params[0];
41
+ const {
42
+ address_n
43
+ } = firstParam.proto;
44
+ const accountIndex = address_n[2];
45
+ return `Export ${coinName} address for account #${fromHardenedPathPart(accountIndex) + 1}`;
46
+ }
47
+ return `Export ${coinName} address`;
48
+ }
49
+ getButtonRequestData(code) {
50
+ if (code === 'ButtonRequest_Address') {
51
+ const {
52
+ params,
53
+ progress
54
+ } = this;
55
+ const currentParam = params[progress];
56
+ return {
57
+ type: 'address',
58
+ serializedPath: getSerializedPath(currentParam.proto.address_n),
59
+ address: currentParam.address || 'not-set'
60
+ };
61
+ }
62
+ }
63
+ getConfirmation(coinName) {
64
+ if (this.params.length > 1) {
65
+ return {
66
+ view: 'export-address',
67
+ label: `Export multiple ${coinName} addresses`
68
+ };
69
+ }
70
+ const {
71
+ params
72
+ } = this;
73
+ const firstParam = params[0];
74
+ const {
75
+ address_n
76
+ } = firstParam.proto;
77
+ const accountIndex = address_n[2];
78
+ return {
79
+ view: 'export-address',
80
+ label: `Export ${coinName} address for account #${fromHardenedPathPart(accountIndex) + 1}`
81
+ };
82
+ }
83
+ async run({
84
+ sendCoreMessage
85
+ }) {
86
+ const responses = [];
87
+ const {
88
+ params
89
+ } = this;
90
+ for (let i = 0; i < params.length; i++) {
91
+ const batch = params[i];
92
+ if (batch.proto.show_display) {
93
+ const silent = await this._call({
94
+ ...batch,
95
+ proto: {
96
+ ...batch.proto,
97
+ show_display: false
98
+ }
99
+ });
100
+ if (typeof batch.address === 'string') {
101
+ if (batch.address !== silent.address) {
102
+ throw ERRORS.TypedError('Method_AddressNotMatch');
103
+ }
104
+ } else {
105
+ batch.address = silent.address;
106
+ }
107
+ }
108
+ const response = await this._call(batch);
109
+ responses.push({
110
+ path: batch.proto.address_n,
111
+ serializedPath: getSerializedPath(batch.proto.address_n),
112
+ address: response.address,
113
+ mac: response.mac
114
+ });
115
+ if (this.hasBundle) {
116
+ sendCoreMessage(createUiMessage(UI_REQUEST.BUNDLE_PROGRESS, {
117
+ total: params.length,
118
+ progress: i,
119
+ response
120
+ }));
121
+ }
122
+ this.progress++;
123
+ }
124
+ return this.hasBundle ? responses : responses[0];
125
+ }
126
+ }
@@ -1,36 +1,33 @@
1
+ import type { DiscoveryAccount, DiscoveryAccountType, GetAccountInfo } from '@trezor/connect-common';
1
2
  import { TypedEmitter } from '@trezor/utils';
2
- import { Blockchain } from '../../backend/BlockchainLink';
3
- import type { DeviceCommands } from '../../device/DeviceCommands';
4
- import type { DiscoveryAccount, DiscoveryAccountType } from '../../types';
5
- import type { GetAccountInfo } from '../../types/api/getAccountInfo';
3
+ import type { Blockchain } from "../../backend/BlockchainLink.js";
4
+ import type { DeviceCommands } from "../../device/DeviceCommands.js";
6
5
  type DiscoveryType = {
7
- type: DiscoveryAccountType;
8
- getPath: (index: number) => number[];
6
+ type: DiscoveryAccountType;
7
+ getPath: (index: number) => number[];
9
8
  };
10
9
  type GetDescriptor = (path: number[]) => ReturnType<ReturnType<typeof DeviceCommands>['getAccountDescriptor']>;
11
10
  type DiscoveryOptions = {
12
- blockchain: Blockchain;
13
- getDescriptor: GetDescriptor;
14
- limit?: number;
11
+ blockchain: Blockchain;
12
+ getDescriptor: GetDescriptor;
13
+ limit?: number;
15
14
  };
16
15
  interface Events {
17
- progress: DiscoveryAccount[];
18
- complete: void;
16
+ progress: DiscoveryAccount[];
17
+ complete: void;
19
18
  }
20
19
  export declare class Discovery extends TypedEmitter<Events> {
21
- types: DiscoveryType[];
22
- private typeIndex;
23
- accounts: DiscoveryAccount[];
24
- private coinInfo;
25
- private blockchain;
26
- getDescriptor: GetDescriptor;
27
- private index;
28
- private interrupted;
29
- completed: boolean;
30
- constructor(options: DiscoveryOptions);
31
- start(details?: GetAccountInfo['details']): Promise<void>;
32
- stop(): void;
33
- dispose(): void;
20
+ types: DiscoveryType[];
21
+ private typeIndex;
22
+ accounts: DiscoveryAccount[];
23
+ private coinInfo;
24
+ private blockchain;
25
+ getDescriptor: GetDescriptor;
26
+ private index;
27
+ private interrupted;
28
+ completed: boolean;
29
+ constructor(options: DiscoveryOptions);
30
+ start(details?: GetAccountInfo['details']): Promise<void>;
31
+ stop(): void;
34
32
  }
35
- export {};
36
- //# sourceMappingURL=Discovery.d.ts.map
33
+ export {};
@@ -1,14 +1,8 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.Discovery = void 0;
7
- const utils_1 = require("@trezor/utils");
8
- const constants_1 = require("../../constants");
9
- const accountUtils_1 = require("../../utils/accountUtils");
10
- const formatUtils_1 = require("../../utils/formatUtils");
11
- class Discovery extends utils_1.TypedEmitter {
1
+ import { ERRORS } from "@trezor/connect-common/lib/constants/index.js";
2
+ import { TypedEmitter } from "@trezor/utils";
3
+ import { getAccountAddressN } from "../../utils/accountUtils.js";
4
+ import { formatAmount } from "../../utils/formatUtils.js";
5
+ export class Discovery extends TypedEmitter {
12
6
  types = [];
13
7
  typeIndex;
14
8
  accounts;
@@ -32,7 +26,7 @@ class Discovery extends utils_1.TypedEmitter {
32
26
  coinInfo
33
27
  } = this;
34
28
  if (coinInfo.type === 'bitcoin') {
35
- const getDescriptor = (purpose, index) => (0, accountUtils_1.getAccountAddressN)(coinInfo, index, {
29
+ const getDescriptor = (purpose, index) => getAccountAddressN(coinInfo, index, {
36
30
  purpose
37
31
  });
38
32
  if (coinInfo.xPubMagicSegwitNative) {
@@ -60,7 +54,7 @@ class Discovery extends utils_1.TypedEmitter {
60
54
  } else {
61
55
  this.types.push({
62
56
  type: 'p2pkh',
63
- getPath: accountUtils_1.getAccountAddressN.bind(this, coinInfo)
57
+ getPath: getAccountAddressN.bind(this, coinInfo)
64
58
  });
65
59
  }
66
60
  }
@@ -68,13 +62,16 @@ class Discovery extends utils_1.TypedEmitter {
68
62
  const limit = 10;
69
63
  this.interrupted = false;
70
64
  while (!this.completed && !this.interrupted) {
71
- const accountType = this.types[this.typeIndex];
65
+ const {
66
+ types
67
+ } = this;
68
+ const accountType = types[this.typeIndex];
72
69
  const label = `Account #${this.index + 1}`;
73
70
  const overTheLimit = this.index >= limit;
74
71
  const path = accountType.getPath(this.index);
75
72
  const descriptor = await this.getDescriptor(path);
76
73
  if (!descriptor) {
77
- throw constants_1.ERRORS.TypedError('Runtime', 'Discovery: descriptor not found');
74
+ throw ERRORS.TypedError('Runtime', 'Discovery: descriptor not found');
78
75
  }
79
76
  if (this.interrupted) return;
80
77
  const account = {
@@ -94,7 +91,7 @@ class Discovery extends utils_1.TypedEmitter {
94
91
  if (this.interrupted) return;
95
92
  this.accounts = this.accounts.filter(a => a.descriptor !== account.descriptor);
96
93
  if (!overTheLimit || overTheLimit && !info.empty) {
97
- const balance = (0, formatUtils_1.formatAmount)(info.availableBalance, this.coinInfo);
94
+ const balance = formatAmount(info.availableBalance, this.coinInfo);
98
95
  this.accounts.push({
99
96
  ...account,
100
97
  empty: info.empty,
@@ -119,9 +116,4 @@ class Discovery extends utils_1.TypedEmitter {
119
116
  stop() {
120
117
  this.interrupted = !this.completed;
121
118
  }
122
- dispose() {
123
- this.accounts = [];
124
- }
125
- }
126
- exports.Discovery = Discovery;
127
- //# sourceMappingURL=Discovery.js.map
119
+ }
@@ -1,14 +1,24 @@
1
- import type { CoinInfo, FirmwareRange } from '../../types';
1
+ import type { CallMethodKeys, CoinInfo, FirmwareCapability, FirmwareRange, FirmwareRule } from '@trezor/connect-common';
2
+ type MethodOrCapability = CallMethodKeys | FirmwareCapability;
2
3
  type ParamType = 'string' | 'number' | 'array' | 'array-buffer' | 'boolean' | 'uint' | 'object';
3
4
  type Param = {
4
- name: string;
5
- type?: ParamType | ParamType[];
6
- required?: boolean;
7
- allowEmpty?: boolean;
8
- allowNegative?: boolean;
5
+ name: string;
6
+ type?: ParamType | ParamType[];
7
+ required?: boolean;
8
+ allowEmpty?: boolean;
9
+ allowNegative?: boolean;
10
+ };
11
+ export declare const bundlify: <T extends {
12
+ bundle?: unknown[];
13
+ }>(payload: T) => {
14
+ hasBundle: boolean;
15
+ payload: T & {
16
+ bundle: unknown[];
17
+ };
9
18
  };
10
19
  export declare function validateParams<P extends Record<string, any>>(params: P, schema: Param[]): P;
11
20
  export declare const validateCoinPath: (path: number[], coinInfo?: CoinInfo) => void;
12
- export declare const getFirmwareRange: (method: string, coinInfo: CoinInfo | null | undefined, currentRange: FirmwareRange) => FirmwareRange;
13
- export {};
14
- //# sourceMappingURL=paramsValidator.d.ts.map
21
+ export declare const DEFAULT_FIRMWARE_RANGE: FirmwareRange;
22
+ export declare const filterByFirmwareType: (isDebug: boolean) => (rule: FirmwareRule) => boolean;
23
+ export declare const getFirmwareRange: (methodsOrCapabilities: MethodOrCapability[], coins: CoinInfo[], currentRange?: FirmwareRange, isDebug?: boolean) => FirmwareRange;
24
+ export {};
@@ -1,16 +1,16 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
1
+ import { ERRORS } from "@trezor/connect-common/lib/constants/index.js";
2
+ import { fromHardenedPathPart } from "@trezor/crypto-utils";
3
+ import { typedObjectTransformValues, versionUtils } from "@trezor/utils";
4
+ import { config } from "../../data/config.js";
5
+ const invalidParameter = message => ERRORS.TypedError('Method_InvalidParameter', message);
6
+ export const bundlify = payload => ({
7
+ hasBundle: !!payload.bundle,
8
+ payload: {
9
+ ...payload,
10
+ bundle: payload.bundle ?? [payload]
11
+ }
5
12
  });
6
- exports.getFirmwareRange = exports.validateCoinPath = void 0;
7
- exports.validateParams = validateParams;
8
- const utils_1 = require("@trezor/utils");
9
- const constants_1 = require("../../constants");
10
- const config_1 = require("../../data/config");
11
- const pathUtils_1 = require("../../utils/pathUtils");
12
- const invalidParameter = message => constants_1.ERRORS.TypedError('Method_InvalidParameter', message);
13
- function validateParams(params, schema) {
13
+ export function validateParams(params, schema) {
14
14
  schema.forEach(field => {
15
15
  const value = params[field.name];
16
16
  if (field.required && value == null) {
@@ -64,67 +64,73 @@ function validateParams(params, schema) {
64
64
  });
65
65
  return params;
66
66
  }
67
- const validateCoinPath = (path, coinInfo) => {
68
- if (coinInfo && coinInfo.slip44 !== (0, pathUtils_1.fromHardened)(path[1])) {
67
+ export const validateCoinPath = (path, coinInfo) => {
68
+ const slip44Component = path[1];
69
+ if (coinInfo && coinInfo.slip44 !== fromHardenedPathPart(slip44Component)) {
69
70
  throw invalidParameter('Parameters "path" and "coin" do not match.');
70
71
  }
71
72
  };
72
- exports.validateCoinPath = validateCoinPath;
73
- const getFirmwareRange = (method, coinInfo, currentRange) => {
74
- const range = JSON.parse(JSON.stringify(currentRange));
75
- const models = (0, utils_1.typedObjectKeys)(range);
76
- if (coinInfo) {
77
- models.forEach(model => {
78
- const supportVersion = coinInfo.support ? coinInfo.support[model] : false;
79
- if (supportVersion === false) {
80
- range[model].min = '0';
81
- } else if (range[model].min !== '0' && typeof supportVersion === 'string' && utils_1.versionUtils.isNewer(supportVersion, range[model].min)) {
82
- range[model].min = supportVersion;
83
- }
84
- });
73
+ export const DEFAULT_FIRMWARE_RANGE = {
74
+ UNKNOWN: {
75
+ min: '1.0.0',
76
+ max: '0'
77
+ },
78
+ T1B1: {
79
+ min: '1.0.0',
80
+ max: '0'
81
+ },
82
+ T2T1: {
83
+ min: '2.0.0',
84
+ max: '0'
85
+ },
86
+ T2B1: {
87
+ min: '2.6.1',
88
+ max: '0'
89
+ },
90
+ T3B1: {
91
+ min: '2.8.1',
92
+ max: '0'
93
+ },
94
+ T3T1: {
95
+ min: '2.7.1',
96
+ max: '0'
97
+ },
98
+ T3W1: {
99
+ min: '2.7.1',
100
+ max: '0'
85
101
  }
86
- const coinType = coinInfo?.type;
87
- const shortcut = coinInfo?.shortcut.toLowerCase();
88
- const configRules = config_1.config.supportedFirmware.filter(rule => {
89
- if (rule.methods) {
90
- return rule.methods.includes(method);
91
- }
92
- if (rule.capabilities) {
93
- return rule.capabilities.includes(method);
94
- }
95
- return true;
96
- }).filter(rule => {
97
- if (rule.coinType) {
98
- return rule.coinType === coinType;
99
- }
100
- if (rule.coin) {
101
- return (typeof rule.coin === 'string' ? [rule.coin] : rule.coin).includes(shortcut);
102
- }
103
- return rule.methods || rule.capabilities;
104
- });
105
- configRules.forEach(rule => {
106
- if (rule.min) {
107
- models.forEach(model => {
108
- const modelMin = rule.min[model];
109
- if (modelMin) {
110
- if (modelMin === '0' || range[model].min === '0' || !utils_1.versionUtils.isNewerOrEqual(range[model].min, modelMin)) {
111
- range[model].min = modelMin;
112
- }
113
- }
114
- });
115
- }
116
- if (rule.max) {
117
- models.forEach(model => {
118
- const modelMax = rule.max[model];
119
- if (modelMax) {
120
- if (modelMax === '0' || range[model].max === '0' || !utils_1.versionUtils.isNewerOrEqual(range[model].max, modelMax)) {
121
- range[model].max = modelMax;
122
- }
123
- }
124
- });
125
- }
126
- });
127
- return range;
128
102
  };
129
- exports.getFirmwareRange = getFirmwareRange;
130
- //# sourceMappingURL=paramsValidator.js.map
103
+ const intersectMin = (a, b) => a === '0' || b !== '0' && versionUtils.isNewer(a, b) ? a : b;
104
+ const intersectMax = (a, b) => a === '0' || b !== '0' && versionUtils.isNewer(a, b) ? b : a;
105
+ const intersectRange = (a, b) => typedObjectTransformValues(a, (value, model) => ({
106
+ min: intersectMin(value.min, b[model].min),
107
+ max: intersectMax(value.max, b[model].max)
108
+ }));
109
+ const ensureArray = (item = []) => Array.isArray(item) ? item : [item];
110
+ const filterByCoins = coins => {
111
+ const coinSet = new Set(coins.map(coin => coin.shortcut.toLowerCase()));
112
+ const coinTypeSet = new Set(coins.map(coin => coin.type));
113
+ return rule => !rule.coin && !rule.coinType || ensureArray(rule.coin).some(coinSet.has.bind(coinSet)) || ensureArray(rule.coinType).some(coinTypeSet.has.bind(coinTypeSet));
114
+ };
115
+ const filterByMethods = methodsOrCapabilities => {
116
+ const methodSet = new Set(methodsOrCapabilities);
117
+ return rule => !rule.methods && !rule.capabilities || ensureArray(rule.methods).some(methodSet.has.bind(methodSet)) || ensureArray(rule.capabilities).some(methodSet.has.bind(methodSet));
118
+ };
119
+ export const filterByFirmwareType = isDebug => rule => !rule.firmwareType || rule.firmwareType === 'debug' === isDebug;
120
+ const getCoinRules = (coins, currentRange) => coins.map(({
121
+ support = typedObjectTransformValues(DEFAULT_FIRMWARE_RANGE, () => false)
122
+ }) => ({
123
+ ...currentRange,
124
+ ...typedObjectTransformValues(support, value => ({
125
+ min: value || '0',
126
+ max: '0'
127
+ }))
128
+ }));
129
+ const getConfigRules = (methodsOrCapabilities, coins, currentRange, isDebug) => config.supportedFirmware.filter(filterByCoins(coins)).filter(filterByMethods(methodsOrCapabilities)).filter(filterByFirmwareType(isDebug)).map(({
130
+ min,
131
+ max
132
+ }) => typedObjectTransformValues(currentRange, (value, key) => ({
133
+ min: min?.[key] ?? value.min,
134
+ max: max?.[key] ?? value.max
135
+ })));
136
+ export const getFirmwareRange = (methodsOrCapabilities, coins, currentRange = DEFAULT_FIRMWARE_RANGE, isDebug = false) => getCoinRules(coins, currentRange).concat(getConfigRules(methodsOrCapabilities, coins, currentRange, isDebug)).reduce(intersectRange, currentRange);
@@ -0,0 +1,14 @@
1
+ import { type CoinInfo, type CoreEventMessage, type DiscoveryAccount } from '@trezor/connect-common';
2
+ import type { UiPromiseCreator } from "../../events/ui-promise.js";
3
+ import type { IDevice } from "../../types/idevice.js";
4
+ export declare const requestExistingAccounts: ({
5
+ postMessage,
6
+ createUiPromise,
7
+ device,
8
+ coinInfo
9
+ }: {
10
+ postMessage: (message: CoreEventMessage) => void;
11
+ createUiPromise: UiPromiseCreator;
12
+ device: IDevice;
13
+ coinInfo: CoinInfo;
14
+ }) => Promise<DiscoveryAccount[] | null>;
@@ -0,0 +1,20 @@
1
+ import { UI_REQUEST, UI_RESPONSE, createUiMessage } from "@trezor/connect-common";
2
+ import { resolveAfter } from "@trezor/utils/lib/resolveAfter.js";
3
+ const REQUEST_TIMEOUT_MS = 200;
4
+ export const requestExistingAccounts = async ({
5
+ postMessage,
6
+ createUiPromise,
7
+ device,
8
+ coinInfo
9
+ }) => {
10
+ const dfd = createUiPromise(UI_RESPONSE.RECEIVE_DISCOVERY_ACCOUNTS, device);
11
+ postMessage(createUiMessage(UI_REQUEST.REQUEST_DISCOVERY_ACCOUNTS, {
12
+ coinInfo
13
+ }));
14
+ const result = await Promise.race([dfd.promise.then(response => response.payload), resolveAfter(REQUEST_TIMEOUT_MS).then(() => null)]);
15
+ if (result === null) {
16
+ dfd.reject(new Error('No discovery accounts handler'));
17
+ return null;
18
+ }
19
+ return result.accounts.length > 0 ? result.accounts : null;
20
+ };