@trezor/connect 10.0.0-alpha.1 → 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 (822) hide show
  1. package/CHANGELOG.md +112 -63
  2. package/README.md +2 -2
  3. package/lib/api/applyFlags.d.ts +20 -0
  4. package/lib/api/applyFlags.js +38 -0
  5. package/lib/api/applySettings.d.ts +20 -0
  6. package/lib/api/applySettings.js +57 -0
  7. package/lib/api/authenticateDevice.d.ts +25 -0
  8. package/lib/api/authenticateDevice.js +195 -0
  9. package/lib/api/authorizeCoinjoin.d.ts +11 -0
  10. package/lib/api/authorizeCoinjoin.js +44 -0
  11. package/lib/api/backupDevice.d.ts +19 -0
  12. package/lib/api/backupDevice.js +39 -0
  13. package/lib/api/bitcoin/TransactionComposer.d.ts +46 -0
  14. package/lib/api/bitcoin/TransactionComposer.js +147 -0
  15. package/lib/api/bitcoin/createPendingTx.d.ts +37 -0
  16. package/lib/api/bitcoin/createPendingTx.js +55 -0
  17. package/lib/api/bitcoin/enhanceSignTx.d.ts +2 -0
  18. package/lib/api/bitcoin/enhanceSignTx.js +23 -0
  19. package/lib/api/bitcoin/index.d.ts +9 -0
  20. package/lib/api/bitcoin/index.js +9 -0
  21. package/lib/api/bitcoin/inputs.d.ts +4 -0
  22. package/lib/api/bitcoin/inputs.js +63 -0
  23. package/lib/api/bitcoin/outputs.d.ts +5 -0
  24. package/lib/api/bitcoin/outputs.js +128 -0
  25. package/lib/api/bitcoin/refTx.d.ts +23 -0
  26. package/lib/api/bitcoin/refTx.js +249 -0
  27. package/lib/api/bitcoin/signtx.d.ts +30 -0
  28. package/lib/api/bitcoin/signtx.js +229 -0
  29. package/lib/api/bitcoin/signtxLegacy.d.ts +10 -0
  30. package/lib/api/bitcoin/signtxLegacy.js +186 -0
  31. package/lib/api/bitcoin/signtxVerify.d.ts +12 -0
  32. package/lib/api/bitcoin/signtxVerify.js +95 -0
  33. package/lib/api/bitcoin/transactionBytes.d.ts +3 -0
  34. package/lib/api/bitcoin/transactionBytes.js +65 -0
  35. package/lib/api/bleUnpair.d.ts +11 -0
  36. package/lib/api/bleUnpair.js +37 -0
  37. package/lib/api/blockchainDisconnect.d.ts +16 -0
  38. package/lib/api/blockchainDisconnect.js +37 -0
  39. package/lib/api/blockchainEstimateFee.d.ts +16 -0
  40. package/lib/api/blockchainEstimateFee.js +102 -0
  41. package/lib/api/blockchainEvmRpcCall.d.ts +19 -0
  42. package/lib/api/blockchainEvmRpcCall.js +57 -0
  43. package/lib/api/blockchainGetAccountBalanceHistory.d.ts +16 -0
  44. package/lib/api/blockchainGetAccountBalanceHistory.js +60 -0
  45. package/lib/api/blockchainGetContractInfo.d.ts +16 -0
  46. package/lib/api/blockchainGetContractInfo.js +46 -0
  47. package/lib/api/blockchainGetCurrentFiatRates.d.ts +20 -0
  48. package/lib/api/blockchainGetCurrentFiatRates.js +49 -0
  49. package/lib/api/blockchainGetFiatRatesForTimestamps.d.ts +23 -0
  50. package/lib/api/blockchainGetFiatRatesForTimestamps.js +55 -0
  51. package/lib/api/blockchainGetInfo.d.ts +15 -0
  52. package/lib/api/blockchainGetInfo.js +37 -0
  53. package/lib/api/blockchainGetTransactions.d.ts +18 -0
  54. package/lib/api/blockchainGetTransactions.js +47 -0
  55. package/lib/api/blockchainSetCustomBackend.d.ts +17 -0
  56. package/lib/api/blockchainSetCustomBackend.js +43 -0
  57. package/lib/api/blockchainSubscribe.d.ts +19 -0
  58. package/lib/api/blockchainSubscribe.js +66 -0
  59. package/lib/api/blockchainSubscribeFiatRates.d.ts +19 -0
  60. package/lib/api/blockchainSubscribeFiatRates.js +43 -0
  61. package/lib/api/blockchainUnsubscribe.d.ts +19 -0
  62. package/lib/api/blockchainUnsubscribe.js +66 -0
  63. package/lib/api/blockchainUnsubscribeFiatRates.d.ts +17 -0
  64. package/lib/api/blockchainUnsubscribeFiatRates.js +37 -0
  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 -0
  68. package/lib/api/cancelCoinjoinAuthorization.js +33 -0
  69. package/lib/api/cardano/api/cardanoComposeTransaction.d.ts +10 -0
  70. package/lib/api/cardano/api/cardanoComposeTransaction.js +84 -0
  71. package/lib/api/cardano/api/cardanoGetAddress.d.ts +34 -0
  72. package/lib/api/cardano/api/cardanoGetAddress.js +130 -0
  73. package/lib/api/cardano/api/cardanoGetNativeScriptHash.d.ts +12 -0
  74. package/lib/api/cardano/api/cardanoGetNativeScriptHash.js +66 -0
  75. package/lib/api/cardano/api/cardanoGetPublicKey.d.ts +22 -0
  76. package/lib/api/cardano/api/cardanoGetPublicKey.js +92 -0
  77. package/lib/api/cardano/api/cardanoSignMessage.d.ts +22 -0
  78. package/lib/api/cardano/api/cardanoSignMessage.js +90 -0
  79. package/lib/api/cardano/api/cardanoSignTransaction.d.ts +81 -0
  80. package/lib/api/cardano/api/cardanoSignTransaction.js +301 -0
  81. package/lib/api/cardano/api/index.d.ts +6 -0
  82. package/lib/api/cardano/api/index.js +6 -0
  83. package/lib/api/cardano/cardanoAddressParameters.d.ts +6 -0
  84. package/lib/api/cardano/cardanoAddressParameters.js +79 -0
  85. package/lib/api/cardano/cardanoAuxiliaryData.d.ts +4 -0
  86. package/lib/api/cardano/cardanoAuxiliaryData.js +74 -0
  87. package/lib/api/cardano/cardanoCertificate.d.ts +13 -0
  88. package/lib/api/cardano/cardanoCertificate.js +142 -0
  89. package/lib/api/cardano/cardanoInputs.d.ts +25 -0
  90. package/lib/api/cardano/cardanoInputs.js +39 -0
  91. package/lib/api/cardano/cardanoOutputs.d.ts +40 -0
  92. package/lib/api/cardano/cardanoOutputs.js +70 -0
  93. package/lib/api/cardano/cardanoTokenBundle.d.ts +12 -0
  94. package/lib/api/cardano/cardanoUtils.d.ts +17 -0
  95. package/lib/api/cardano/cardanoUtils.js +100 -0
  96. package/lib/api/cardano/cardanoWitnesses.d.ts +4 -0
  97. package/lib/api/changeLanguage.d.ts +18 -0
  98. package/lib/api/changeLanguage.js +49 -0
  99. package/lib/api/changePin.d.ts +11 -0
  100. package/lib/api/changePin.js +27 -0
  101. package/lib/api/changeWipeCode.d.ts +11 -0
  102. package/lib/api/changeWipeCode.js +29 -0
  103. package/lib/api/cipherKeyValue.d.ts +17 -0
  104. package/lib/api/cipherKeyValue.js +58 -0
  105. package/lib/api/common/AbstractMiscGetAddress.d.ts +37 -0
  106. package/lib/api/common/AbstractMiscGetAddress.js +126 -0
  107. package/lib/api/common/Discovery.d.ts +33 -0
  108. package/lib/api/common/Discovery.js +119 -0
  109. package/lib/api/common/paramsValidator.d.ts +24 -0
  110. package/lib/api/common/paramsValidator.js +136 -0
  111. package/lib/api/common/requestExistingAccounts.d.ts +14 -0
  112. package/lib/api/common/requestExistingAccounts.js +20 -0
  113. package/lib/api/composeTransaction.d.ts +36 -0
  114. package/lib/api/composeTransaction.js +404 -0
  115. package/lib/api/discoverAccounts.d.ts +40 -0
  116. package/lib/api/discoverAccounts.js +360 -0
  117. package/lib/api/ethereum/api/ethereumGetAddress.d.ts +30 -0
  118. package/lib/api/ethereum/api/ethereumGetAddress.js +150 -0
  119. package/lib/api/ethereum/api/ethereumGetPublicKey.d.ts +52 -0
  120. package/lib/api/ethereum/api/ethereumGetPublicKey.js +100 -0
  121. package/lib/api/ethereum/api/ethereumSignMessage.d.ts +27 -0
  122. package/lib/api/ethereum/api/ethereumSignMessage.js +64 -0
  123. package/lib/api/ethereum/api/ethereumSignTransaction.d.ts +83 -0
  124. package/lib/api/ethereum/api/ethereumSignTransaction.js +148 -0
  125. package/lib/api/ethereum/api/ethereumSignTypedData.d.ts +117 -0
  126. package/lib/api/ethereum/api/ethereumSignTypedData.js +203 -0
  127. package/lib/api/ethereum/api/ethereumVerifyMessage.d.ts +12 -0
  128. package/lib/api/ethereum/api/ethereumVerifyMessage.js +35 -0
  129. package/lib/api/ethereum/api/index.d.ts +6 -0
  130. package/lib/api/ethereum/api/index.js +6 -0
  131. package/lib/api/ethereum/ethereumDefinitions.d.ts +53 -0
  132. package/lib/api/ethereum/ethereumDefinitions.js +135 -0
  133. package/lib/api/ethereum/ethereumSignTx.d.ts +16 -0
  134. package/lib/api/ethereum/ethereumSignTx.js +144 -0
  135. package/lib/api/ethereum/ethereumSignTypedData.d.ts +32 -0
  136. package/lib/api/ethereum/ethereumSignTypedData.js +175 -0
  137. package/lib/api/evoluGetDelegatedIdentityKey.d.ts +14 -0
  138. package/lib/api/evoluGetDelegatedIdentityKey.js +29 -0
  139. package/lib/api/evoluGetNode.d.ts +13 -0
  140. package/lib/api/evoluGetNode.js +29 -0
  141. package/lib/api/evoluSignRegistrationRequest.d.ts +16 -0
  142. package/lib/api/evoluSignRegistrationRequest.js +33 -0
  143. package/lib/api/firmware/calculateFirmwareHash.d.ts +18 -0
  144. package/lib/api/firmware/calculateXPubHash.d.ts +14 -0
  145. package/lib/api/firmware/calculateXPubHash.js +16 -0
  146. package/lib/api/firmware/getBinary.d.ts +14 -0
  147. package/lib/api/firmware/getBinary.js +33 -0
  148. package/lib/api/firmware/index.d.ts +6 -0
  149. package/lib/api/firmware/index.js +6 -0
  150. package/lib/api/firmware/modifyFirmware.d.ts +3 -0
  151. package/lib/api/firmware/parseFirmwareHeaders.d.ts +4 -0
  152. package/lib/api/firmware/uploadFirmware.d.ts +27 -0
  153. package/lib/api/firmware/uploadFirmware.js +99 -0
  154. package/lib/api/firmware/verifyEntropy.d.ts +25 -0
  155. package/lib/api/firmware/verifyEntropy.js +110 -0
  156. package/lib/api/getAccountInfo.d.ts +21 -0
  157. package/lib/api/getAccountInfo.js +253 -0
  158. package/lib/api/getAddress.d.ts +45 -0
  159. package/lib/api/getAddress.js +153 -0
  160. package/lib/api/getCoinInfo.d.ts +148 -0
  161. package/lib/api/getCoinInfo.js +25 -0
  162. package/lib/api/getDeviceState.d.ts +8 -0
  163. package/lib/api/getDeviceState.js +18 -0
  164. package/lib/api/getFeatures.d.ts +71 -0
  165. package/lib/api/getFeatures.js +22 -0
  166. package/lib/api/getFirmwareHash.d.ts +11 -0
  167. package/lib/api/getFirmwareHash.js +29 -0
  168. package/lib/api/getNonce.d.ts +10 -0
  169. package/lib/api/getNonce.js +18 -0
  170. package/lib/api/getOwnershipId.d.ts +17 -0
  171. package/lib/api/getOwnershipId.js +88 -0
  172. package/lib/api/getOwnershipProof.d.ts +17 -0
  173. package/lib/api/getOwnershipProof.js +95 -0
  174. package/lib/api/getPublicKey.d.ts +54 -0
  175. package/lib/api/getPublicKey.js +106 -0
  176. package/lib/api/getSettings.d.ts +24 -0
  177. package/lib/api/getSettings.js +21 -0
  178. package/lib/api/index.d.ts +62 -0
  179. package/lib/api/index.js +62 -0
  180. package/lib/api/loadDevice.d.ts +16 -0
  181. package/lib/api/loadDevice.js +46 -0
  182. package/lib/api/monero/api/index.d.ts +4 -0
  183. package/lib/api/monero/api/index.js +4 -0
  184. package/lib/api/monero/api/moneroGetAddress.d.ts +32 -0
  185. package/lib/api/monero/api/moneroGetAddress.js +117 -0
  186. package/lib/api/monero/api/moneroGetWatchKey.d.ts +14 -0
  187. package/lib/api/monero/api/moneroGetWatchKey.js +45 -0
  188. package/lib/api/monero/api/moneroKeyImageSync.d.ts +17 -0
  189. package/lib/api/monero/api/moneroKeyImageSync.js +128 -0
  190. package/lib/api/monero/api/moneroSignTransaction.d.ts +17 -0
  191. package/lib/api/monero/api/moneroSignTransaction.js +218 -0
  192. package/lib/api/nostr/nostrGetPublicKey.d.ts +15 -0
  193. package/lib/api/nostr/nostrGetPublicKey.js +38 -0
  194. package/lib/api/nostr/nostrSignEvent.d.ts +13 -0
  195. package/lib/api/nostr/nostrSignEvent.js +36 -0
  196. package/lib/api/pingDevice.d.ts +11 -0
  197. package/lib/api/pingDevice.js +29 -0
  198. package/lib/api/pushTransaction.d.ts +19 -0
  199. package/lib/api/pushTransaction.js +39 -0
  200. package/lib/api/recoveryDevice.d.ts +20 -0
  201. package/lib/api/recoveryDevice.js +52 -0
  202. package/lib/api/requestLogin.d.ts +14 -0
  203. package/lib/api/requestLogin.js +53 -0
  204. package/lib/api/resetDevice.d.ts +22 -0
  205. package/lib/api/resetDevice.js +133 -0
  206. package/lib/api/ripple/api/index.d.ts +2 -0
  207. package/lib/api/ripple/api/index.js +2 -0
  208. package/lib/api/ripple/api/rippleGetAddress.d.ts +17 -0
  209. package/lib/api/ripple/api/rippleGetAddress.js +22 -0
  210. package/lib/api/ripple/api/rippleSignTransaction.d.ts +13 -0
  211. package/lib/api/ripple/api/rippleSignTransaction.js +52 -0
  212. package/lib/api/selectAccount.d.ts +15 -0
  213. package/lib/api/selectAccount.js +42 -0
  214. package/lib/api/setBrightness.d.ts +12 -0
  215. package/lib/api/setBrightness.js +28 -0
  216. package/lib/api/setBusy.d.ts +11 -0
  217. package/lib/api/setBusy.js +31 -0
  218. package/lib/api/showDeviceTutorial.d.ts +11 -0
  219. package/lib/api/showDeviceTutorial.js +21 -0
  220. package/lib/api/signMessage.d.ts +25 -0
  221. package/lib/api/signMessage.js +75 -0
  222. package/lib/api/signTransaction.d.ts +199 -0
  223. package/lib/api/signTransaction.js +331 -0
  224. package/lib/api/solana/api/index.d.ts +4 -0
  225. package/lib/api/solana/api/index.js +4 -0
  226. package/lib/api/solana/api/solanaComposeTransaction.d.ts +33 -0
  227. package/lib/api/solana/api/solanaComposeTransaction.js +73 -0
  228. package/lib/api/solana/api/solanaGetAddress.d.ts +17 -0
  229. package/lib/api/solana/api/solanaGetAddress.js +22 -0
  230. package/lib/api/solana/api/solanaGetPublicKey.d.ts +32 -0
  231. package/lib/api/solana/api/solanaGetPublicKey.js +86 -0
  232. package/lib/api/solana/api/solanaSignTransaction.d.ts +41 -0
  233. package/lib/api/solana/api/solanaSignTransaction.js +204 -0
  234. package/lib/api/solana/solanaDefinitions.d.ts +9 -0
  235. package/lib/api/solana/solanaDefinitions.js +33 -0
  236. package/lib/api/stellar/api/index.d.ts +2 -0
  237. package/lib/api/stellar/api/index.js +2 -0
  238. package/lib/api/stellar/api/stellarGetAddress.d.ts +17 -0
  239. package/lib/api/stellar/api/stellarGetAddress.js +22 -0
  240. package/lib/api/stellar/api/stellarSignTransaction.d.ts +20 -0
  241. package/lib/api/stellar/api/stellarSignTransaction.js +65 -0
  242. package/lib/api/stellar/stellarSignTx.d.ts +7 -0
  243. package/lib/api/stellar/stellarSignTx.js +183 -0
  244. package/lib/api/telemetryGet.d.ts +14 -0
  245. package/lib/api/telemetryGet.js +26 -0
  246. package/lib/api/tezos/api/index.d.ts +3 -0
  247. package/lib/api/tezos/api/index.js +3 -0
  248. package/lib/api/tezos/api/tezosGetAddress.d.ts +17 -0
  249. package/lib/api/tezos/api/tezosGetAddress.js +22 -0
  250. package/lib/api/tezos/api/tezosGetPublicKey.d.ts +28 -0
  251. package/lib/api/tezos/api/tezosGetPublicKey.js +84 -0
  252. package/lib/api/tezos/api/tezosSignTransaction.d.ts +14 -0
  253. package/lib/api/tezos/api/tezosSignTransaction.js +30 -0
  254. package/lib/api/tezos/tezosSignTx.d.ts +71 -0
  255. package/lib/api/tezos/tezosSignTx.js +204 -0
  256. package/lib/api/thpGetCredentials.d.ts +13 -0
  257. package/lib/api/thpGetCredentials.js +30 -0
  258. package/lib/api/thpRemoveCredentials.d.ts +15 -0
  259. package/lib/api/thpRemoveCredentials.js +44 -0
  260. package/lib/api/tron/api/index.d.ts +3 -0
  261. package/lib/api/tron/api/index.js +3 -0
  262. package/lib/api/tron/api/tronComposeTransaction.d.ts +17 -0
  263. package/lib/api/tron/api/tronComposeTransaction.js +52 -0
  264. package/lib/api/tron/api/tronGetAddress.d.ts +17 -0
  265. package/lib/api/tron/api/tronGetAddress.js +22 -0
  266. package/lib/api/tron/api/tronSignTransaction.d.ts +20 -0
  267. package/lib/api/tron/api/tronSignTransaction.js +137 -0
  268. package/lib/api/tron/tronEncode.d.ts +11 -0
  269. package/lib/api/tron/tronEncode.js +157 -0
  270. package/lib/api/tron/tronProtobuf.d.ts +5 -0
  271. package/lib/api/unlockPath.d.ts +12 -0
  272. package/lib/api/unlockPath.js +33 -0
  273. package/lib/api/verifyMessage.d.ts +16 -0
  274. package/lib/api/verifyMessage.js +46 -0
  275. package/lib/api/wipeDevice.d.ts +21 -0
  276. package/lib/api/wipeDevice.js +49 -0
  277. package/lib/backend/BackendManager.d.ts +30 -0
  278. package/lib/backend/BackendManager.js +145 -0
  279. package/lib/backend/Blockchain.d.ts +81 -0
  280. package/lib/backend/Blockchain.js +235 -0
  281. package/lib/backend/BlockchainLink.d.ts +10 -0
  282. package/lib/backend/BlockchainLink.js +19 -0
  283. package/lib/backend/fees/BitcoinFeeLevels.d.ts +19 -0
  284. package/lib/backend/fees/BitcoinFeeLevels.js +44 -0
  285. package/lib/backend/fees/EthereumFeeLevels.d.ts +17 -0
  286. package/lib/backend/fees/EthereumFeeLevels.js +63 -0
  287. package/lib/backend/fees/MiscFeeLevels.d.ts +18 -0
  288. package/lib/backend/fees/MiscFeeLevels.js +30 -0
  289. package/lib/backend/fees/index.d.ts +5 -0
  290. package/lib/backend/fees/index.js +31 -0
  291. package/lib/core/AbstractMethod.d.ts +63 -0
  292. package/lib/core/AbstractMethod.js +189 -0
  293. package/lib/core/index.d.ts +29 -0
  294. package/lib/core/index.js +805 -0
  295. package/lib/core/method.d.ts +3 -0
  296. package/lib/core/method.js +19 -0
  297. package/lib/core/method.native.d.ts +2 -0
  298. package/lib/core/method.native.js +29 -0
  299. package/lib/core/onCallFirmwareUpdate.d.ts +42 -0
  300. package/lib/core/onCallFirmwareUpdate.js +436 -0
  301. package/lib/data/coinInfo.d.ts +101 -0
  302. package/lib/data/coinInfo.js +195 -0
  303. package/lib/data/config.d.ts +8 -0
  304. package/lib/data/config.js +273 -0
  305. package/lib/data/defaultFeeLevels.d.ts +18 -0
  306. package/lib/data/defaultFeeLevels.js +200 -0
  307. package/lib/data/enabledNetworksStore.d.ts +5 -0
  308. package/lib/data/enabledNetworksStore.js +20 -0
  309. package/lib/data/firmwareInfo.d.ts +55 -0
  310. package/lib/data/firmwareInfo.js +413 -0
  311. package/lib/data/firmwareReleaseStore.d.ts +10 -0
  312. package/lib/data/firmwareReleaseStore.js +16 -0
  313. package/lib/data/localFirmwareStore.d.ts +3 -0
  314. package/lib/data/protobufLoader.d.ts +1 -0
  315. package/lib/data/protobufLoader.js +30 -0
  316. package/lib/data/settingsStore.d.ts +6 -0
  317. package/lib/data/settingsStore.js +21 -0
  318. package/lib/device/Device.d.ts +259 -0
  319. package/lib/device/Device.js +765 -0
  320. package/lib/device/DeviceCommands.d.ts +87 -0
  321. package/lib/device/DeviceCommands.js +248 -0
  322. package/lib/device/DeviceCurrentSession.d.ts +750 -0
  323. package/lib/device/DeviceCurrentSession.js +239 -0
  324. package/lib/device/DeviceList.d.ts +75 -0
  325. package/lib/device/DeviceList.js +243 -0
  326. package/lib/device/TransportList.d.ts +3 -0
  327. package/lib/device/TransportList.js +13 -0
  328. package/lib/device/TransportManager.d.ts +33 -0
  329. package/lib/device/TransportManager.js +144 -0
  330. package/lib/device/calculateRevisionForDevice.d.ts +10 -0
  331. package/lib/device/calculateRevisionForDevice.js +19 -0
  332. package/lib/device/checkFirmwareRevision.d.ts +22 -0
  333. package/lib/device/checkFirmwareRevision.js +104 -0
  334. package/lib/device/resolveDescriptorForTaproot.d.ts +17 -0
  335. package/lib/device/resolveDescriptorForTaproot.js +27 -0
  336. package/lib/device/thp/handshake.d.ts +3 -0
  337. package/lib/device/thp/handshake.js +100 -0
  338. package/lib/device/thp/index.d.ts +5 -0
  339. package/lib/device/thp/index.js +65 -0
  340. package/lib/device/thp/pairing.d.ts +16 -0
  341. package/lib/device/thp/pairing.js +242 -0
  342. package/lib/device/thp/session.d.ts +2 -0
  343. package/lib/device/thp/session.js +27 -0
  344. package/lib/device/thp/thpCall.d.ts +31 -0
  345. package/lib/device/thp/thpCall.js +58 -0
  346. package/lib/device/validateMessageSize.d.ts +2 -0
  347. package/lib/device/validateMessageSize.js +9 -0
  348. package/lib/device/workflow/changeLanguage.d.ts +18 -0
  349. package/lib/device/workflow/changeLanguage.js +62 -0
  350. package/lib/device/workflow/checkFirmwareHash.d.ts +12 -0
  351. package/lib/device/workflow/checkFirmwareHash.js +86 -0
  352. package/lib/device/workflow/checkFirmwareHashWithRetries.d.ts +8 -0
  353. package/lib/device/workflow/checkFirmwareHashWithRetries.js +36 -0
  354. package/lib/device/workflow/handshake.d.ts +13 -0
  355. package/lib/device/workflow/handshake.js +55 -0
  356. package/lib/device/workflow/trezorPushNotification.d.ts +5 -0
  357. package/lib/device/workflow/trezorPushNotification.js +73 -0
  358. package/lib/device/workflow/validateState.d.ts +2 -0
  359. package/lib/device/workflow/validateState.js +152 -0
  360. package/lib/events/ui-promise.d.ts +20 -0
  361. package/lib/exports.d.ts +3 -0
  362. package/lib/exports.js +3 -0
  363. package/lib/impl/core-in-module.d.ts +33 -0
  364. package/lib/impl/core-in-module.js +194 -0
  365. package/lib/index.browser.d.ts +7 -0
  366. package/lib/index.browser.js +34 -0
  367. package/lib/index.d.ts +4 -0
  368. package/lib/index.js +15 -0
  369. package/lib/types/idevice.d.ts +110 -0
  370. package/lib/types/typed-call-provider.d.ts +29 -0
  371. package/lib/types/workflow.d.ts +16 -0
  372. package/lib/utils/accountUtils.d.ts +10 -0
  373. package/lib/utils/accountUtils.js +90 -0
  374. package/lib/utils/addressUtils.d.ts +2 -0
  375. package/lib/utils/assetUtils.d.ts +13 -0
  376. package/lib/utils/assetUtils.js +55 -0
  377. package/lib/utils/assets.browser.d.ts +1 -0
  378. package/lib/utils/assets.browser.js +1 -0
  379. package/lib/utils/assets.d.ts +2 -0
  380. package/lib/utils/assets.js +13 -0
  381. package/lib/utils/assets.native.d.ts +2 -0
  382. package/lib/utils/assets.native.js +23 -0
  383. package/lib/utils/assetsTypes.d.ts +5 -0
  384. package/lib/utils/buildOutputDescriptor.d.ts +20 -0
  385. package/lib/utils/deviceFeaturesUtils.d.ts +7 -0
  386. package/lib/utils/deviceFeaturesUtils.js +109 -0
  387. package/lib/utils/ethereumUtils.d.ts +3 -0
  388. package/lib/utils/firmwareReleaseConfigUtils.d.ts +19 -0
  389. package/lib/utils/firmwareReleaseConfigUtils.js +131 -0
  390. package/lib/utils/firmwareUtils.d.ts +15 -0
  391. package/lib/utils/firmwareUtils.js +57 -0
  392. package/lib/utils/formatUtils.d.ts +13 -0
  393. package/lib/utils/formatUtils.js +45 -0
  394. package/lib/utils/hdnodeUtils.d.ts +6 -0
  395. package/lib/utils/hdnodeUtils.js +62 -0
  396. package/lib/utils/pathUtils.d.ts +1 -0
  397. package/lib/utils/pathUtils.js +1 -0
  398. package/lib/utils/paymentRequest.d.ts +8 -0
  399. package/lib/utils/paymentRequest.js +25 -0
  400. package/lib/utils/uiPromiseManager.d.ts +8 -0
  401. package/lib/workers/workers.browser.d.ts +10 -0
  402. package/lib/workers/workers.browser.js +16 -0
  403. package/lib/workers/workers.d.ts +10 -0
  404. package/lib/workers/workers.js +8 -0
  405. package/lib/workers/workers.native.d.ts +7 -0
  406. package/lib/workers/workers.native.js +7 -0
  407. package/package.json +57 -59
  408. package/libESM/api/applyFlags.d.mts +0 -20
  409. package/libESM/api/applyFlags.mjs +0 -36
  410. package/libESM/api/applySettings.d.mts +0 -20
  411. package/libESM/api/applySettings.mjs +0 -55
  412. package/libESM/api/authenticateDevice.d.mts +0 -9
  413. package/libESM/api/authenticateDevice.mjs +0 -108
  414. package/libESM/api/authorizeCoinjoin.d.mts +0 -11
  415. package/libESM/api/authorizeCoinjoin.mjs +0 -44
  416. package/libESM/api/backupDevice.d.mts +0 -19
  417. package/libESM/api/backupDevice.mjs +0 -36
  418. package/libESM/api/bitcoin/TransactionComposer.d.mts +0 -46
  419. package/libESM/api/bitcoin/TransactionComposer.mjs +0 -139
  420. package/libESM/api/bitcoin/createPendingTx.d.mts +0 -33
  421. package/libESM/api/bitcoin/createPendingTx.mjs +0 -54
  422. package/libESM/api/bitcoin/enhanceSignTx.d.mts +0 -2
  423. package/libESM/api/bitcoin/enhanceSignTx.mjs +0 -23
  424. package/libESM/api/bitcoin/index.d.mts +0 -9
  425. package/libESM/api/bitcoin/index.mjs +0 -9
  426. package/libESM/api/bitcoin/inputs.d.mts +0 -6
  427. package/libESM/api/bitcoin/inputs.mjs +0 -75
  428. package/libESM/api/bitcoin/outputs.d.mts +0 -5
  429. package/libESM/api/bitcoin/outputs.mjs +0 -128
  430. package/libESM/api/bitcoin/refTx.d.mts +0 -17
  431. package/libESM/api/bitcoin/refTx.mjs +0 -252
  432. package/libESM/api/bitcoin/signtx.d.mts +0 -22
  433. package/libESM/api/bitcoin/signtx.mjs +0 -213
  434. package/libESM/api/bitcoin/signtxLegacy.d.mts +0 -3
  435. package/libESM/api/bitcoin/signtxLegacy.mjs +0 -179
  436. package/libESM/api/bitcoin/signtxVerify.d.mts +0 -12
  437. package/libESM/api/bitcoin/signtxVerify.mjs +0 -86
  438. package/libESM/api/bitcoin/transactionBytes.d.mts +0 -3
  439. package/libESM/api/bitcoin/transactionBytes.mjs +0 -65
  440. package/libESM/api/bleUnpair.d.mts +0 -11
  441. package/libESM/api/bleUnpair.mjs +0 -35
  442. package/libESM/api/blockchainDisconnect.d.mts +0 -16
  443. package/libESM/api/blockchainDisconnect.mjs +0 -39
  444. package/libESM/api/blockchainEstimateFee.d.mts +0 -14
  445. package/libESM/api/blockchainEstimateFee.mjs +0 -106
  446. package/libESM/api/blockchainEvmRpcCall.d.mts +0 -17
  447. package/libESM/api/blockchainEvmRpcCall.mjs +0 -61
  448. package/libESM/api/blockchainGetAccountBalanceHistory.d.mts +0 -14
  449. package/libESM/api/blockchainGetAccountBalanceHistory.mjs +0 -64
  450. package/libESM/api/blockchainGetContractInfo.d.mts +0 -14
  451. package/libESM/api/blockchainGetContractInfo.mjs +0 -50
  452. package/libESM/api/blockchainGetCurrentFiatRates.d.mts +0 -18
  453. package/libESM/api/blockchainGetCurrentFiatRates.mjs +0 -53
  454. package/libESM/api/blockchainGetFiatRatesForTimestamps.d.mts +0 -21
  455. package/libESM/api/blockchainGetFiatRatesForTimestamps.mjs +0 -59
  456. package/libESM/api/blockchainGetInfo.d.mts +0 -13
  457. package/libESM/api/blockchainGetInfo.mjs +0 -41
  458. package/libESM/api/blockchainGetTransactions.d.mts +0 -15
  459. package/libESM/api/blockchainGetTransactions.mjs +0 -47
  460. package/libESM/api/blockchainSetCustomBackend.d.mts +0 -13
  461. package/libESM/api/blockchainSetCustomBackend.mjs +0 -41
  462. package/libESM/api/blockchainSubscribe.d.mts +0 -17
  463. package/libESM/api/blockchainSubscribe.mjs +0 -68
  464. package/libESM/api/blockchainSubscribeFiatRates.d.mts +0 -17
  465. package/libESM/api/blockchainSubscribeFiatRates.mjs +0 -47
  466. package/libESM/api/blockchainUnsubscribe.d.mts +0 -17
  467. package/libESM/api/blockchainUnsubscribe.mjs +0 -68
  468. package/libESM/api/blockchainUnsubscribeFiatRates.d.mts +0 -15
  469. package/libESM/api/blockchainUnsubscribeFiatRates.mjs +0 -41
  470. package/libESM/api/blockchainValidateEvmRpcUrl.d.mts +0 -17
  471. package/libESM/api/blockchainValidateEvmRpcUrl.mjs +0 -54
  472. package/libESM/api/cancelCoinjoinAuthorization.d.mts +0 -11
  473. package/libESM/api/cancelCoinjoinAuthorization.mjs +0 -31
  474. package/libESM/api/cardano/api/cardanoComposeTransaction.d.mts +0 -10
  475. package/libESM/api/cardano/api/cardanoComposeTransaction.mjs +0 -79
  476. package/libESM/api/cardano/api/cardanoGetAddress.d.mts +0 -30
  477. package/libESM/api/cardano/api/cardanoGetAddress.mjs +0 -116
  478. package/libESM/api/cardano/api/cardanoGetNativeScriptHash.d.mts +0 -12
  479. package/libESM/api/cardano/api/cardanoGetNativeScriptHash.mjs +0 -66
  480. package/libESM/api/cardano/api/cardanoGetPublicKey.d.mts +0 -20
  481. package/libESM/api/cardano/api/cardanoGetPublicKey.mjs +0 -72
  482. package/libESM/api/cardano/api/cardanoSignMessage.d.mts +0 -27
  483. package/libESM/api/cardano/api/cardanoSignMessage.mjs +0 -96
  484. package/libESM/api/cardano/api/cardanoSignTransaction.d.mts +0 -81
  485. package/libESM/api/cardano/api/cardanoSignTransaction.mjs +0 -298
  486. package/libESM/api/cardano/api/index.d.mts +0 -6
  487. package/libESM/api/cardano/api/index.mjs +0 -6
  488. package/libESM/api/cardano/cardanoAddressParameters.d.mts +0 -6
  489. package/libESM/api/cardano/cardanoAddressParameters.mjs +0 -79
  490. package/libESM/api/cardano/cardanoAuxiliaryData.d.mts +0 -4
  491. package/libESM/api/cardano/cardanoAuxiliaryData.mjs +0 -74
  492. package/libESM/api/cardano/cardanoCertificate.d.mts +0 -13
  493. package/libESM/api/cardano/cardanoCertificate.mjs +0 -142
  494. package/libESM/api/cardano/cardanoInputs.d.mts +0 -25
  495. package/libESM/api/cardano/cardanoInputs.mjs +0 -39
  496. package/libESM/api/cardano/cardanoOutputs.d.mts +0 -40
  497. package/libESM/api/cardano/cardanoOutputs.mjs +0 -70
  498. package/libESM/api/cardano/cardanoTokenBundle.d.mts +0 -12
  499. package/libESM/api/cardano/cardanoUtils.d.mts +0 -9
  500. package/libESM/api/cardano/cardanoUtils.mjs +0 -101
  501. package/libESM/api/cardano/cardanoWitnesses.d.mts +0 -4
  502. package/libESM/api/changeLanguage.d.mts +0 -18
  503. package/libESM/api/changeLanguage.mjs +0 -47
  504. package/libESM/api/changePin.d.mts +0 -11
  505. package/libESM/api/changePin.mjs +0 -25
  506. package/libESM/api/changeWipeCode.d.mts +0 -11
  507. package/libESM/api/changeWipeCode.mjs +0 -27
  508. package/libESM/api/cipherKeyValue.d.mts +0 -15
  509. package/libESM/api/cipherKeyValue.mjs +0 -51
  510. package/libESM/api/common/AbstractMiscGetAddress.d.mts +0 -35
  511. package/libESM/api/common/AbstractMiscGetAddress.mjs +0 -102
  512. package/libESM/api/common/Discovery.d.mts +0 -33
  513. package/libESM/api/common/Discovery.mjs +0 -116
  514. package/libESM/api/common/paramsValidator.d.mts +0 -23
  515. package/libESM/api/common/paramsValidator.mjs +0 -134
  516. package/libESM/api/common/requestExistingAccounts.d.mts +0 -9
  517. package/libESM/api/common/requestExistingAccounts.mjs +0 -20
  518. package/libESM/api/composeTransaction.d.mts +0 -36
  519. package/libESM/api/composeTransaction.mjs +0 -386
  520. package/libESM/api/discoverAccounts.d.mts +0 -38
  521. package/libESM/api/discoverAccounts.mjs +0 -363
  522. package/libESM/api/ethereum/api/ethereumGetAddress.d.mts +0 -28
  523. package/libESM/api/ethereum/api/ethereumGetAddress.mjs +0 -135
  524. package/libESM/api/ethereum/api/ethereumGetPublicKey.d.mts +0 -48
  525. package/libESM/api/ethereum/api/ethereumGetPublicKey.mjs +0 -90
  526. package/libESM/api/ethereum/api/ethereumSignMessage.d.mts +0 -27
  527. package/libESM/api/ethereum/api/ethereumSignMessage.mjs +0 -64
  528. package/libESM/api/ethereum/api/ethereumSignTransaction.d.mts +0 -83
  529. package/libESM/api/ethereum/api/ethereumSignTransaction.mjs +0 -148
  530. package/libESM/api/ethereum/api/ethereumSignTypedData.d.mts +0 -116
  531. package/libESM/api/ethereum/api/ethereumSignTypedData.mjs +0 -202
  532. package/libESM/api/ethereum/api/ethereumVerifyMessage.d.mts +0 -12
  533. package/libESM/api/ethereum/api/ethereumVerifyMessage.mjs +0 -33
  534. package/libESM/api/ethereum/api/index.d.mts +0 -6
  535. package/libESM/api/ethereum/api/index.mjs +0 -6
  536. package/libESM/api/ethereum/ethereumDefinitions.d.mts +0 -46
  537. package/libESM/api/ethereum/ethereumDefinitions.mjs +0 -103
  538. package/libESM/api/ethereum/ethereumSignTx.d.mts +0 -20
  539. package/libESM/api/ethereum/ethereumSignTx.mjs +0 -131
  540. package/libESM/api/ethereum/ethereumSignTypedData.d.mts +0 -32
  541. package/libESM/api/ethereum/ethereumSignTypedData.mjs +0 -169
  542. package/libESM/api/evoluGetDelegatedIdentityKey.d.mts +0 -14
  543. package/libESM/api/evoluGetDelegatedIdentityKey.mjs +0 -26
  544. package/libESM/api/evoluGetNode.d.mts +0 -13
  545. package/libESM/api/evoluGetNode.mjs +0 -27
  546. package/libESM/api/evoluSignRegistrationRequest.d.mts +0 -15
  547. package/libESM/api/evoluSignRegistrationRequest.mjs +0 -31
  548. package/libESM/api/firmware/calculateFirmwareHash.d.mts +0 -13
  549. package/libESM/api/firmware/calculateXPubHash.d.mts +0 -10
  550. package/libESM/api/firmware/calculateXPubHash.mjs +0 -14
  551. package/libESM/api/firmware/getBinary.d.mts +0 -10
  552. package/libESM/api/firmware/getBinary.mjs +0 -33
  553. package/libESM/api/firmware/index.d.mts +0 -6
  554. package/libESM/api/firmware/index.mjs +0 -6
  555. package/libESM/api/firmware/modifyFirmware.d.mts +0 -3
  556. package/libESM/api/firmware/parseFirmwareHeaders.d.mts +0 -4
  557. package/libESM/api/firmware/uploadFirmware.d.mts +0 -19
  558. package/libESM/api/firmware/uploadFirmware.mjs +0 -99
  559. package/libESM/api/firmware/verifyEntropy.d.mts +0 -18
  560. package/libESM/api/firmware/verifyEntropy.mjs +0 -107
  561. package/libESM/api/getAccountInfo.d.mts +0 -94
  562. package/libESM/api/getAccountInfo.mjs +0 -385
  563. package/libESM/api/getAddress.d.mts +0 -39
  564. package/libESM/api/getAddress.mjs +0 -142
  565. package/libESM/api/getCoinInfo.d.mts +0 -148
  566. package/libESM/api/getCoinInfo.mjs +0 -29
  567. package/libESM/api/getDeviceState.d.mts +0 -8
  568. package/libESM/api/getDeviceState.mjs +0 -16
  569. package/libESM/api/getFeatures.d.mts +0 -70
  570. package/libESM/api/getFeatures.mjs +0 -20
  571. package/libESM/api/getFirmwareHash.d.mts +0 -11
  572. package/libESM/api/getFirmwareHash.mjs +0 -27
  573. package/libESM/api/getNonce.d.mts +0 -10
  574. package/libESM/api/getNonce.mjs +0 -16
  575. package/libESM/api/getOwnershipId.d.mts +0 -15
  576. package/libESM/api/getOwnershipId.mjs +0 -79
  577. package/libESM/api/getOwnershipProof.d.mts +0 -15
  578. package/libESM/api/getOwnershipProof.mjs +0 -86
  579. package/libESM/api/getPublicKey.d.mts +0 -50
  580. package/libESM/api/getPublicKey.mjs +0 -88
  581. package/libESM/api/getSettings.d.mts +0 -8
  582. package/libESM/api/getSettings.mjs +0 -15
  583. package/libESM/api/index.d.mts +0 -59
  584. package/libESM/api/index.mjs +0 -59
  585. package/libESM/api/loadDevice.d.mts +0 -16
  586. package/libESM/api/loadDevice.mjs +0 -44
  587. package/libESM/api/monero/api/index.d.mts +0 -4
  588. package/libESM/api/monero/api/index.mjs +0 -4
  589. package/libESM/api/monero/api/moneroGetAddress.d.mts +0 -30
  590. package/libESM/api/monero/api/moneroGetAddress.mjs +0 -109
  591. package/libESM/api/monero/api/moneroGetWatchKey.d.mts +0 -14
  592. package/libESM/api/monero/api/moneroGetWatchKey.mjs +0 -44
  593. package/libESM/api/monero/api/moneroKeyImageSync.d.mts +0 -17
  594. package/libESM/api/monero/api/moneroKeyImageSync.mjs +0 -127
  595. package/libESM/api/monero/api/moneroSignTransaction.d.mts +0 -17
  596. package/libESM/api/monero/api/moneroSignTransaction.mjs +0 -202
  597. package/libESM/api/pingDevice.d.mts +0 -11
  598. package/libESM/api/pingDevice.mjs +0 -27
  599. package/libESM/api/pushTransaction.d.mts +0 -17
  600. package/libESM/api/pushTransaction.mjs +0 -42
  601. package/libESM/api/recoveryDevice.d.mts +0 -20
  602. package/libESM/api/recoveryDevice.mjs +0 -50
  603. package/libESM/api/requestLogin.d.mts +0 -14
  604. package/libESM/api/requestLogin.mjs +0 -48
  605. package/libESM/api/resetDevice.d.mts +0 -22
  606. package/libESM/api/resetDevice.mjs +0 -131
  607. package/libESM/api/ripple/api/index.d.mts +0 -2
  608. package/libESM/api/ripple/api/index.mjs +0 -2
  609. package/libESM/api/ripple/api/rippleGetAddress.d.mts +0 -15
  610. package/libESM/api/ripple/api/rippleGetAddress.mjs +0 -22
  611. package/libESM/api/ripple/api/rippleSignTransaction.d.mts +0 -13
  612. package/libESM/api/ripple/api/rippleSignTransaction.mjs +0 -52
  613. package/libESM/api/setBrightness.d.mts +0 -12
  614. package/libESM/api/setBrightness.mjs +0 -26
  615. package/libESM/api/setBusy.d.mts +0 -11
  616. package/libESM/api/setBusy.mjs +0 -32
  617. package/libESM/api/showDeviceTutorial.d.mts +0 -11
  618. package/libESM/api/showDeviceTutorial.mjs +0 -21
  619. package/libESM/api/signMessage.d.mts +0 -25
  620. package/libESM/api/signMessage.mjs +0 -71
  621. package/libESM/api/signTransaction.d.mts +0 -197
  622. package/libESM/api/signTransaction.mjs +0 -334
  623. package/libESM/api/solana/api/index.d.mts +0 -4
  624. package/libESM/api/solana/api/index.mjs +0 -4
  625. package/libESM/api/solana/api/solanaComposeTransaction.d.mts +0 -31
  626. package/libESM/api/solana/api/solanaComposeTransaction.mjs +0 -76
  627. package/libESM/api/solana/api/solanaGetAddress.d.mts +0 -15
  628. package/libESM/api/solana/api/solanaGetAddress.mjs +0 -22
  629. package/libESM/api/solana/api/solanaGetPublicKey.d.mts +0 -28
  630. package/libESM/api/solana/api/solanaGetPublicKey.mjs +0 -67
  631. package/libESM/api/solana/api/solanaSignTransaction.d.mts +0 -41
  632. package/libESM/api/solana/api/solanaSignTransaction.mjs +0 -203
  633. package/libESM/api/solana/solanaDefinitions.d.mts +0 -7
  634. package/libESM/api/solana/solanaDefinitions.mjs +0 -33
  635. package/libESM/api/stellar/api/index.d.mts +0 -2
  636. package/libESM/api/stellar/api/index.mjs +0 -2
  637. package/libESM/api/stellar/api/stellarGetAddress.d.mts +0 -15
  638. package/libESM/api/stellar/api/stellarGetAddress.mjs +0 -22
  639. package/libESM/api/stellar/api/stellarSignTransaction.d.mts +0 -26
  640. package/libESM/api/stellar/api/stellarSignTransaction.mjs +0 -66
  641. package/libESM/api/stellar/stellarSignTx.d.mts +0 -7
  642. package/libESM/api/stellar/stellarSignTx.mjs +0 -191
  643. package/libESM/api/telemetryGet.d.mts +0 -14
  644. package/libESM/api/telemetryGet.mjs +0 -24
  645. package/libESM/api/tezos/api/index.d.mts +0 -3
  646. package/libESM/api/tezos/api/index.mjs +0 -3
  647. package/libESM/api/tezos/api/tezosGetAddress.d.mts +0 -15
  648. package/libESM/api/tezos/api/tezosGetAddress.mjs +0 -22
  649. package/libESM/api/tezos/api/tezosGetPublicKey.d.mts +0 -24
  650. package/libESM/api/tezos/api/tezosGetPublicKey.mjs +0 -66
  651. package/libESM/api/tezos/api/tezosSignTransaction.d.mts +0 -14
  652. package/libESM/api/tezos/api/tezosSignTransaction.mjs +0 -30
  653. package/libESM/api/tezos/tezosSignTx.d.mts +0 -71
  654. package/libESM/api/tezos/tezosSignTx.mjs +0 -204
  655. package/libESM/api/thpGetCredentials.d.mts +0 -13
  656. package/libESM/api/thpGetCredentials.mjs +0 -28
  657. package/libESM/api/thpRemoveCredentials.d.mts +0 -15
  658. package/libESM/api/thpRemoveCredentials.mjs +0 -42
  659. package/libESM/api/tron/api/index.d.mts +0 -3
  660. package/libESM/api/tron/api/index.mjs +0 -3
  661. package/libESM/api/tron/api/tronComposeTransaction.d.mts +0 -17
  662. package/libESM/api/tron/api/tronComposeTransaction.mjs +0 -51
  663. package/libESM/api/tron/api/tronGetAddress.d.mts +0 -15
  664. package/libESM/api/tron/api/tronGetAddress.mjs +0 -20
  665. package/libESM/api/tron/api/tronSignTransaction.d.mts +0 -19
  666. package/libESM/api/tron/api/tronSignTransaction.mjs +0 -129
  667. package/libESM/api/tron/tronEncode.d.mts +0 -12
  668. package/libESM/api/tron/tronEncode.mjs +0 -77
  669. package/libESM/api/tron/tronProtobuf.d.mts +0 -5
  670. package/libESM/api/unlockPath.d.mts +0 -12
  671. package/libESM/api/unlockPath.mjs +0 -31
  672. package/libESM/api/verifyMessage.d.mts +0 -16
  673. package/libESM/api/verifyMessage.mjs +0 -46
  674. package/libESM/api/wipeDevice.d.mts +0 -21
  675. package/libESM/api/wipeDevice.mjs +0 -47
  676. package/libESM/backend/BackendManager.d.mts +0 -24
  677. package/libESM/backend/BackendManager.mjs +0 -137
  678. package/libESM/backend/Blockchain.d.mts +0 -81
  679. package/libESM/backend/Blockchain.mjs +0 -232
  680. package/libESM/backend/BlockchainLink.d.mts +0 -9
  681. package/libESM/backend/BlockchainLink.mjs +0 -13
  682. package/libESM/backend/fees/BitcoinFeeLevels.d.mts +0 -19
  683. package/libESM/backend/fees/BitcoinFeeLevels.mjs +0 -43
  684. package/libESM/backend/fees/EthereumFeeLevels.d.mts +0 -17
  685. package/libESM/backend/fees/EthereumFeeLevels.mjs +0 -52
  686. package/libESM/backend/fees/MiscFeeLevels.d.mts +0 -18
  687. package/libESM/backend/fees/MiscFeeLevels.mjs +0 -25
  688. package/libESM/backend/fees/index.d.mts +0 -5
  689. package/libESM/backend/fees/index.mjs +0 -30
  690. package/libESM/core/AbstractMethod.d.mts +0 -65
  691. package/libESM/core/AbstractMethod.mjs +0 -153
  692. package/libESM/core/index.d.mts +0 -27
  693. package/libESM/core/index.mjs +0 -795
  694. package/libESM/core/method.d.mts +0 -3
  695. package/libESM/core/method.mjs +0 -19
  696. package/libESM/core/method.native.d.mts +0 -2
  697. package/libESM/core/method.native.mjs +0 -29
  698. package/libESM/core/onCallFirmwareUpdate.d.mts +0 -39
  699. package/libESM/core/onCallFirmwareUpdate.mjs +0 -436
  700. package/libESM/data/coinInfo.d.mts +0 -374
  701. package/libESM/data/coinInfo.mjs +0 -183
  702. package/libESM/data/config.d.mts +0 -8
  703. package/libESM/data/config.mjs +0 -265
  704. package/libESM/data/defaultFeeLevels.d.mts +0 -18
  705. package/libESM/data/defaultFeeLevels.mjs +0 -174
  706. package/libESM/data/firmwareInfo.d.mts +0 -41
  707. package/libESM/data/firmwareInfo.mjs +0 -411
  708. package/libESM/data/firmwareReleaseStore.d.mts +0 -10
  709. package/libESM/data/firmwareReleaseStore.mjs +0 -16
  710. package/libESM/data/localFirmwareStore.d.mts +0 -3
  711. package/libESM/data/protobufLoader.d.mts +0 -1
  712. package/libESM/data/protobufLoader.mjs +0 -29
  713. package/libESM/data/settingsStore.d.mts +0 -6
  714. package/libESM/data/settingsStore.mjs +0 -21
  715. package/libESM/device/Device.d.mts +0 -237
  716. package/libESM/device/Device.mjs +0 -729
  717. package/libESM/device/DeviceCommands.d.mts +0 -77
  718. package/libESM/device/DeviceCommands.mjs +0 -245
  719. package/libESM/device/DeviceCurrentSession.d.mts +0 -3208
  720. package/libESM/device/DeviceCurrentSession.mjs +0 -240
  721. package/libESM/device/DeviceList.d.mts +0 -68
  722. package/libESM/device/DeviceList.mjs +0 -246
  723. package/libESM/device/TransportList.d.mts +0 -9
  724. package/libESM/device/TransportList.mjs +0 -41
  725. package/libESM/device/TransportManager.d.mts +0 -30
  726. package/libESM/device/TransportManager.mjs +0 -142
  727. package/libESM/device/calculateRevisionForDevice.d.mts +0 -7
  728. package/libESM/device/calculateRevisionForDevice.mjs +0 -19
  729. package/libESM/device/checkFirmwareRevision.d.mts +0 -12
  730. package/libESM/device/checkFirmwareRevision.mjs +0 -75
  731. package/libESM/device/resolveDescriptorForTaproot.d.mts +0 -14
  732. package/libESM/device/resolveDescriptorForTaproot.mjs +0 -25
  733. package/libESM/device/thp/handshake.d.mts +0 -3
  734. package/libESM/device/thp/handshake.mjs +0 -100
  735. package/libESM/device/thp/index.d.mts +0 -5
  736. package/libESM/device/thp/index.mjs +0 -65
  737. package/libESM/device/thp/pairing.d.mts +0 -16
  738. package/libESM/device/thp/pairing.mjs +0 -237
  739. package/libESM/device/thp/session.d.mts +0 -2
  740. package/libESM/device/thp/session.mjs +0 -27
  741. package/libESM/device/thp/thpCall.d.mts +0 -40
  742. package/libESM/device/thp/thpCall.mjs +0 -58
  743. package/libESM/device/validateMessageSize.d.mts +0 -2
  744. package/libESM/device/validateMessageSize.mjs +0 -9
  745. package/libESM/device/workflow/changeLanguage.d.mts +0 -14
  746. package/libESM/device/workflow/changeLanguage.mjs +0 -59
  747. package/libESM/device/workflow/checkFirmwareHash.d.mts +0 -9
  748. package/libESM/device/workflow/checkFirmwareHash.mjs +0 -86
  749. package/libESM/device/workflow/checkFirmwareHashWithRetries.d.mts +0 -8
  750. package/libESM/device/workflow/checkFirmwareHashWithRetries.mjs +0 -36
  751. package/libESM/device/workflow/handshake.d.mts +0 -9
  752. package/libESM/device/workflow/handshake.mjs +0 -55
  753. package/libESM/device/workflow/trezorPushNotification.d.mts +0 -2
  754. package/libESM/device/workflow/trezorPushNotification.mjs +0 -73
  755. package/libESM/device/workflow/validateState.d.mts +0 -2
  756. package/libESM/device/workflow/validateState.mjs +0 -153
  757. package/libESM/events/ui-promise.d.mts +0 -22
  758. package/libESM/exports.d.mts +0 -3
  759. package/libESM/exports.mjs +0 -3
  760. package/libESM/impl/core-in-module.d.mts +0 -27
  761. package/libESM/impl/core-in-module.mjs +0 -173
  762. package/libESM/index.browser.d.mts +0 -9
  763. package/libESM/index.browser.mjs +0 -50
  764. package/libESM/index.d.mts +0 -6
  765. package/libESM/index.mjs +0 -32
  766. package/libESM/index.renderer.d.mts +0 -6
  767. package/libESM/index.renderer.mjs +0 -19
  768. package/libESM/tsconfig.libESM.tsbuildinfo +0 -1
  769. package/libESM/types/idevice.d.mts +0 -109
  770. package/libESM/types/typed-call-provider.d.mts +0 -29
  771. package/libESM/types/workflow.d.mts +0 -16
  772. package/libESM/utils/accountUtils.d.mts +0 -10
  773. package/libESM/utils/accountUtils.mjs +0 -83
  774. package/libESM/utils/addressUtils.d.mts +0 -2
  775. package/libESM/utils/assetUtils.d.mts +0 -13
  776. package/libESM/utils/assetUtils.mjs +0 -56
  777. package/libESM/utils/assets.browser.d.mts +0 -1
  778. package/libESM/utils/assets.browser.mjs +0 -1
  779. package/libESM/utils/assets.d.mts +0 -2
  780. package/libESM/utils/assets.mjs +0 -13
  781. package/libESM/utils/assets.native.d.mts +0 -2
  782. package/libESM/utils/assets.native.mjs +0 -23
  783. package/libESM/utils/assetsTypes.d.mts +0 -5
  784. package/libESM/utils/buildOutputDescriptor.d.mts +0 -12
  785. package/libESM/utils/deviceFeaturesUtils.d.mts +0 -7
  786. package/libESM/utils/deviceFeaturesUtils.mjs +0 -109
  787. package/libESM/utils/ethereumUtils.d.mts +0 -3
  788. package/libESM/utils/firmwareReleaseConfigUtils.d.mts +0 -19
  789. package/libESM/utils/firmwareReleaseConfigUtils.mjs +0 -131
  790. package/libESM/utils/firmwareUtils.d.mts +0 -13
  791. package/libESM/utils/firmwareUtils.mjs +0 -54
  792. package/libESM/utils/formatUtils.d.mts +0 -15
  793. package/libESM/utils/formatUtils.mjs +0 -45
  794. package/libESM/utils/hdnodeUtils.d.mts +0 -6
  795. package/libESM/utils/hdnodeUtils.mjs +0 -62
  796. package/libESM/utils/pathUtils.d.mts +0 -17
  797. package/libESM/utils/pathUtils.mjs +0 -141
  798. package/libESM/utils/paymentRequest.d.mts +0 -8
  799. package/libESM/utils/paymentRequest.mjs +0 -25
  800. package/libESM/utils/uiPromiseManager.d.mts +0 -8
  801. package/libESM/workers/workers.browser.d.mts +0 -10
  802. package/libESM/workers/workers.browser.mjs +0 -16
  803. package/libESM/workers/workers.d.mts +0 -10
  804. package/libESM/workers/workers.mjs +0 -8
  805. package/libESM/workers/workers.native.d.mts +0 -7
  806. package/libESM/workers/workers.native.mjs +0 -7
  807. /package/{libESM/api/cardano/cardanoTokenBundle.mjs → lib/api/cardano/cardanoTokenBundle.js} +0 -0
  808. /package/{libESM/api/cardano/cardanoWitnesses.mjs → lib/api/cardano/cardanoWitnesses.js} +0 -0
  809. /package/{libESM/api/firmware/calculateFirmwareHash.mjs → lib/api/firmware/calculateFirmwareHash.js} +0 -0
  810. /package/{libESM/api/firmware/modifyFirmware.mjs → lib/api/firmware/modifyFirmware.js} +0 -0
  811. /package/{libESM/api/firmware/parseFirmwareHeaders.mjs → lib/api/firmware/parseFirmwareHeaders.js} +0 -0
  812. /package/{libESM/api/tron/tronProtobuf.mjs → lib/api/tron/tronProtobuf.js} +0 -0
  813. /package/{libESM/data/localFirmwareStore.mjs → lib/data/localFirmwareStore.js} +0 -0
  814. /package/{libESM/events/ui-promise.mjs → lib/events/ui-promise.js} +0 -0
  815. /package/{libESM/types/idevice.mjs → lib/types/idevice.js} +0 -0
  816. /package/{libESM/types/typed-call-provider.mjs → lib/types/typed-call-provider.js} +0 -0
  817. /package/{libESM/types/workflow.mjs → lib/types/workflow.js} +0 -0
  818. /package/{libESM/utils/addressUtils.mjs → lib/utils/addressUtils.js} +0 -0
  819. /package/{libESM/utils/assetsTypes.mjs → lib/utils/assetsTypes.js} +0 -0
  820. /package/{libESM/utils/buildOutputDescriptor.mjs → lib/utils/buildOutputDescriptor.js} +0 -0
  821. /package/{libESM/utils/ethereumUtils.mjs → lib/utils/ethereumUtils.js} +0 -0
  822. /package/{libESM/utils/uiPromiseManager.mjs → lib/utils/uiPromiseManager.js} +0 -0
@@ -1,237 +0,0 @@
1
- import { createHash, randomBytes } from "crypto";
2
- import { DEVICE } from "@trezor/connect-common";
3
- import { ERRORS } from "@trezor/connect-common/libESM/constants/index.mjs";
4
- import { ThpPairingMethod, thp as protocolThp } from "@trezor/protocol";
5
- import { createDeferred, resolveAfter } from "@trezor/utils";
6
- import { abortThpWorkflow, thpCall } from "./thpCall.mjs";
7
- import * as settingsStore from "../../data/settingsStore.mjs";
8
- import { sanitizeString } from "../../utils/formatUtils.mjs";
9
- const processQrCodeTag = async (device, value) => {
10
- const thpState = device.getThpState();
11
- if (!thpState?.handshakeCredentials) {
12
- throw ERRORS.TypedError('Device_ThpStateMissing');
13
- }
14
- const tagSha = createHash('sha256').update(thpState.handshakeCredentials.handshakeHash).update(Buffer.from(value, 'hex')).digest('hex');
15
- const qrCodeSecret = await thpCall(device, 'ThpQrCodeTag', {
16
- tag: tagSha
17
- });
18
- protocolThp.validateQrCodeTag(thpState.handshakeCredentials, value, qrCodeSecret.message.secret);
19
- return qrCodeSecret;
20
- };
21
- const processNfcTag = async (device, value) => {
22
- const thpState = device.getThpState();
23
- if (!thpState?.handshakeCredentials) {
24
- throw ERRORS.TypedError('Device_ThpStateMissing');
25
- }
26
- if (!thpState?.nfcSecret) {
27
- throw new Error('missing nfcSecret');
28
- }
29
- const tagSha = createHash('sha256').update(Buffer.from([protocolThp.ThpPairingMethod.NFC])).update(thpState.handshakeCredentials.handshakeHash).update(Buffer.from(value, 'hex')).digest('hex');
30
- const nfcTagTrezor = await thpCall(device, 'ThpNfcTagHost', {
31
- tag: tagSha
32
- });
33
- protocolThp.validateNfcTag(thpState.handshakeCredentials, nfcTagTrezor.message.tag, thpState.nfcSecret);
34
- return nfcTagTrezor;
35
- };
36
- const processCodeEntry = async (device, value) => {
37
- const codeValue = Buffer.from(value, 'ascii');
38
- const thpState = device.getThpState();
39
- if (!thpState?.handshakeCredentials) {
40
- throw ERRORS.TypedError('Device_ThpStateMissing');
41
- }
42
- const hostKeys = protocolThp.getCpaceHostKeys(codeValue, thpState.handshakeCredentials.handshakeHash);
43
- const tag = protocolThp.getSharedSecret(thpState.handshakeCredentials.trezorCpacePublicKey, hostKeys.privateKey).toString('hex');
44
- const codeEntrySecret = await thpCall(device, 'ThpCodeEntryCpaceHostTag', {
45
- tag,
46
- cpace_host_public_key: hostKeys.publicKey.toString('hex')
47
- });
48
- protocolThp.validateCodeEntryTag(thpState.handshakeCredentials, value, codeEntrySecret.message.secret);
49
- return codeEntrySecret;
50
- };
51
- const processThpPairingResponse = (device, payload) => {
52
- if ('selectedMethod' in payload) {
53
- const selectedMethod = protocolThp.getThpPairingMethod(payload.selectedMethod);
54
- device.getThpState()?.setPairingMethod(selectedMethod);
55
- return thpCall(device, 'ThpSelectMethod', {
56
- selected_pairing_method: selectedMethod
57
- });
58
- }
59
- const selectedMethod = device.getThpState()?.pairingMethod;
60
- if (selectedMethod === ThpPairingMethod.QrCode) {
61
- return processQrCodeTag(device, payload.tag);
62
- }
63
- if (selectedMethod === ThpPairingMethod.NFC) {
64
- return processNfcTag(device, payload.tag);
65
- }
66
- if (selectedMethod === ThpPairingMethod.CodeEntry) {
67
- return processCodeEntry(device, payload.tag);
68
- }
69
- throw ERRORS.TypedError('Device_ThpPairingMethodsException');
70
- };
71
- const waitForPairingCancel = device => {
72
- const readAbort = new AbortController();
73
- device.getThpState()?.setExpectedResponses([0x04]);
74
- const readCancel = device.getCurrentSession().receive({
75
- signal: readAbort.signal
76
- });
77
- return {
78
- readAbort,
79
- readCancel
80
- };
81
- };
82
- const waitForPairingTag = async device => {
83
- const thpState = device.getThpState();
84
- if (!thpState?.handshakeCredentials) {
85
- throw ERRORS.TypedError('Device_ThpStateMissing');
86
- }
87
- if (thpState.pairingMethod === undefined) {
88
- throw ERRORS.TypedError('Device_ThpPairingMethodsException');
89
- }
90
- const dfd = createDeferred();
91
- const {
92
- readAbort,
93
- readCancel
94
- } = waitForPairingCancel(device);
95
- const cancelResult = readCancel.then(readResult => {
96
- if (readResult.success) {
97
- let code, message;
98
- const {
99
- payload
100
- } = readResult;
101
- if (payload.type === 'Failure') {
102
- code = payload.message.code;
103
- message = payload.message.message;
104
- } else {
105
- message = `Unexpected message type: ${readResult.payload.type}`;
106
- }
107
- dfd.resolve({
108
- error: ERRORS.TypedError(code || 'ThpUnknownError', message)
109
- });
110
- }
111
- }).catch(() => {});
112
- thpState.setPairingTagPromise({
113
- abort: async () => {
114
- readAbort.abort();
115
- await cancelResult;
116
- }
117
- });
118
- const payload = {
119
- availableMethods: thpState.handshakeCredentials.pairingMethods,
120
- selectedMethod: thpState.pairingMethod,
121
- nfcData: thpState.nfcData?.toString('hex')
122
- };
123
- device.prompt(DEVICE.THP_PAIRING, {
124
- payload
125
- }).then(response => {
126
- if (response.success) {
127
- dfd.resolve(response.payload);
128
- } else {
129
- abortThpWorkflow(device).then(() => {
130
- dfd.resolve({
131
- error: ERRORS.TypedError('ThpUnknownError', response.error.message)
132
- });
133
- });
134
- }
135
- });
136
- const pairingResponse = await dfd.promise;
137
- readAbort.abort();
138
- await readCancel;
139
- thpState.setPairingTagPromise(undefined);
140
- if ('error' in pairingResponse) {
141
- throw pairingResponse.error;
142
- }
143
- await resolveAfter(500);
144
- return processThpPairingResponse(device, pairingResponse).catch(e => {
145
- if (e.code === 'Failure_FirmwareError' || e.code === 'Failure_DataError') {
146
- if ('tag' in pairingResponse) {
147
- device.emit(DEVICE.THP_PAIRING_STATUS_CHANGED, {
148
- status: 'invalid-tag',
149
- tag: pairingResponse.tag
150
- });
151
- }
152
- throw ERRORS.TypedError('Device_ThpPairingTagInvalid', e.message);
153
- }
154
- throw ERRORS.TypedError(e.code, e.message);
155
- });
156
- };
157
- export const getThpCredentials = async (device, autoconnect = false) => {
158
- const thpState = device.getThpState();
159
- if (!thpState?.handshakeCredentials) {
160
- throw ERRORS.TypedError('Device_ThpStateMissing');
161
- }
162
- const credentials = await thpCall(device, 'ThpCredentialRequest', {
163
- autoconnect,
164
- host_static_public_key: thpState.handshakeCredentials.hostStaticPublicKey.toString('hex'),
165
- credential: thpState.pairingCredentials[0]?.credential
166
- });
167
- const host_static_key = thpState.handshakeCredentials.staticKey.toString('hex');
168
- return {
169
- ...credentials.message,
170
- autoconnect,
171
- host_static_key
172
- };
173
- };
174
- export const thpPairingEnd = async device => {
175
- const result = await thpCall(device, 'ThpEndRequest', {});
176
- device.getThpState()?.setPhase('paired');
177
- return result;
178
- };
179
- export const thpPairing = async device => {
180
- const thpState = device.getThpState();
181
- if (!thpState?.handshakeCredentials) {
182
- throw ERRORS.TypedError('Device_ThpStateMissing');
183
- }
184
- if (thpState.isPaired && thpState.pairingMethod !== protocolThp.ThpPairingMethod.SkipPairing) {
185
- if (!thpState.isAutoconnectPaired) {
186
- await getThpCredentials(device, false);
187
- }
188
- return thpPairingEnd(device);
189
- }
190
- const [selected_pairing_method] = thpState.handshakeCredentials.pairingMethods;
191
- thpState.setPairingMethod(selected_pairing_method);
192
- const settings = settingsStore.get('thp');
193
- await thpCall(device, 'ThpPairingRequest', {
194
- host_name: sanitizeString(settings?.hostName) || 'Unknown hostName',
195
- app_name: sanitizeString(settings?.appName) || 'Unknown appName'
196
- });
197
- const selectMethod = await thpCall(device, 'ThpSelectMethod', {
198
- selected_pairing_method
199
- });
200
- if (selectMethod.type === 'ThpEndResponse') {
201
- thpState.setIsPaired(true);
202
- device.getThpState()?.setPhase('paired');
203
- return;
204
- }
205
- if (selectMethod.type === 'ThpCodeEntryCommitment') {
206
- const codeEntryChallenge = randomBytes(32);
207
- const handshakeCommitment = Buffer.from(selectMethod.message.commitment, 'hex');
208
- thpState.updateHandshakeCredentials({
209
- handshakeCommitment,
210
- codeEntryChallenge
211
- });
212
- const codeEntryCpace = await thpCall(device, 'ThpCodeEntryChallenge', {
213
- challenge: codeEntryChallenge.toString('hex')
214
- });
215
- thpState.updateHandshakeCredentials({
216
- trezorCpacePublicKey: Buffer.from(codeEntryCpace.message.cpace_trezor_public_key, 'hex')
217
- });
218
- await waitForPairingTag(device);
219
- }
220
- if (selectMethod.type === 'ThpPairingPreparationsFinished') {
221
- if (thpState.pairingMethod === protocolThp.ThpPairingMethod.NFC) {
222
- thpState.setNfcSecret(randomBytes(16));
223
- }
224
- await waitForPairingTag(device);
225
- }
226
- const credentials = await getThpCredentials(device, false);
227
- device.emit(DEVICE.THP_CREDENTIALS_CHANGED, {
228
- credentials
229
- });
230
- const settings1 = settingsStore.get('thp');
231
- if (settings1) {
232
- settings1.knownCredentials?.push(credentials);
233
- }
234
- thpState.setPairingCredentials([credentials]);
235
- thpState.setIsPaired(true);
236
- await thpPairingEnd(device);
237
- };
@@ -1,2 +0,0 @@
1
- import type { IDevice } from '../../types/idevice';
2
- export declare const createThpSession: (device: IDevice, deriveCardano: boolean) => Promise<number>;
@@ -1,27 +0,0 @@
1
- import { thpCall } from "./thpCall.mjs";
2
- export const createThpSession = async (device, deriveCardano) => {
3
- let passphrase;
4
- if (device.features.passphrase_protection === false) {
5
- passphrase = {
6
- passphrase: ''
7
- };
8
- } else {
9
- passphrase = await device.prompt('passphrase', {}).then(promptRes => {
10
- if (!promptRes.success) {
11
- return {
12
- passphrase: ''
13
- };
14
- }
15
- return promptRes.payload.passphraseOnDevice ? {
16
- on_device: true
17
- } : {
18
- passphrase: promptRes.payload.value.normalize('NFKD')
19
- };
20
- });
21
- }
22
- await thpCall(device, 'ThpCreateNewSession', {
23
- ...passphrase,
24
- derive_cardano: deriveCardano
25
- });
26
- return 0;
27
- };
@@ -1,40 +0,0 @@
1
- import type { thp as protocolThp } from '@trezor/protocol';
2
- import type { IDevice } from '../../types/idevice';
3
- type ThpTypedCall = {
4
- ThpCreateChannelRequest: 'ThpCreateChannelResponse';
5
- ThpHandshakeInitRequest: 'ThpHandshakeInitResponse';
6
- ThpHandshakeCompletionRequest: 'ThpHandshakeCompletionResponse';
7
- ThpPairingRequest: 'ThpPairingRequestApproved';
8
- ThpSelectMethod: [
9
- 'ThpCodeEntryCommitment',
10
- 'ThpEndResponse',
11
- 'ThpPairingRequestApproved',
12
- 'ThpPairingPreparationsFinished'
13
- ];
14
- ThpCodeEntryChallenge: ['ThpCodeEntryCpaceTrezor'];
15
- ThpCodeEntryCpaceHostTag: 'ThpCodeEntrySecret';
16
- ThpQrCodeTag: 'ThpQrCodeSecret';
17
- ThpNfcTagHost: 'ThpNfcTagTrezor';
18
- ThpCredentialRequest: 'ThpCredentialResponse';
19
- ThpEndRequest: 'ThpEndResponse';
20
- ThpCreateNewSession: 'Success';
21
- };
22
- type ThpMessage = protocolThp.ThpMessageType & {
23
- Success: Record<never, never>;
24
- };
25
- type TypedPayloadItem<K> = K extends keyof ThpMessage ? {
26
- type: K;
27
- message: ThpMessage[K];
28
- } : never;
29
- type ExtractFromArray<A extends any[]> = {
30
- [K in keyof A]: TypedPayloadItem<A[K]>;
31
- }[number];
32
- type MessageKey = keyof ThpTypedCall;
33
- type TypedPayload<T extends MessageKey> = ThpTypedCall[T] extends any[] ? ExtractFromArray<ThpTypedCall[T]> : TypedPayloadItem<ThpTypedCall[T]>;
34
- type ThpCallResponse = {
35
- [K in keyof ThpTypedCall]: TypedPayload<K>;
36
- };
37
- type ThpMessagePayload<T extends MessageKey = MessageKey> = ThpMessage[T];
38
- export declare const thpCall: <T extends MessageKey>(device: IDevice, name: T, data: ThpMessagePayload<T>) => Promise<ThpCallResponse[T]>;
39
- export declare const abortThpWorkflow: (device: IDevice) => Promise<void>;
40
- export {};
@@ -1,58 +0,0 @@
1
- import { DEVICE } from "@trezor/connect-common";
2
- import { TypedError } from "@trezor/connect-common/libESM/constants/errors.mjs";
3
- export const thpCall = async (device, name, data) => {
4
- const thpState = device.getThpState();
5
- if (!thpState) {
6
- throw TypedError('Device_ThpStateMissing');
7
- }
8
- const result = await device.getCurrentSession().call(name, data);
9
- if (!result.success) {
10
- throw result.error;
11
- }
12
- thpState.setCancelablePromise(false);
13
- if (result.payload.type === 'ButtonRequest') {
14
- thpState.setCancelablePromise(true);
15
- if (result.payload.message.code === 'ButtonRequest_PassphraseEntry') {
16
- device.emit(DEVICE.PASSPHRASE_ON_DEVICE);
17
- } else {
18
- device.emit(DEVICE.BUTTON, {
19
- device,
20
- payload: result.payload.message
21
- });
22
- }
23
- return thpCall(device, 'ButtonAck', {});
24
- }
25
- if (result.payload.type === 'Failure') {
26
- const {
27
- code,
28
- message
29
- } = result.payload.message;
30
- throw TypedError(code || 'Failure_UnknownCode', message);
31
- }
32
- if (result.payload.type === 'ThpError') {
33
- const {
34
- code,
35
- message
36
- } = result.payload.message;
37
- throw TypedError(code, message);
38
- }
39
- return result.payload;
40
- };
41
- export const abortThpWorkflow = async device => {
42
- const thpState = device.getThpState();
43
- if (!thpState || !device.currentRun) {
44
- return Promise.resolve();
45
- }
46
- if (thpState.pairingTagPromise) {
47
- await thpState.pairingTagPromise.abort();
48
- await device.getCurrentSession().cancelCall();
49
- thpState.resetState();
50
- device.emit(DEVICE.THP_PAIRING_STATUS_CHANGED, {
51
- status: 'canceled'
52
- });
53
- } else if (thpState.cancelablePromise) {
54
- thpState.sync('send', 'Cancel');
55
- await device.getCurrentSession().send('Cancel', {});
56
- await device.currentRun;
57
- }
58
- };
@@ -1,2 +0,0 @@
1
- import type { Device } from './Device';
2
- export declare const validateModelOneMessageSize: (device: Device, messageHex: string) => void;
@@ -1,9 +0,0 @@
1
- import { TypedError } from "@trezor/connect-common/libESM/constants/errors.mjs";
2
- export const validateModelOneMessageSize = (device, messageHex) => {
3
- if (device.features?.major_version === 1) {
4
- const byteSize = messageHex.length / 2;
5
- if (byteSize > 1024) {
6
- throw TypedError('Method_DataOverflowModelOne');
7
- }
8
- }
9
- };
@@ -1,14 +0,0 @@
1
- import type { IDevice } from '../../types/idevice';
2
- type Context = {
3
- device: IDevice;
4
- } & ({
5
- language?: undefined;
6
- binary: ArrayBuffer;
7
- } | {
8
- language: string;
9
- binary?: undefined;
10
- });
11
- export declare const changeLanguage: ({ device, language, binary }: Context) => Promise<{
12
- message: string;
13
- }>;
14
- export {};
@@ -1,59 +0,0 @@
1
- import { ERRORS } from "@trezor/connect-common/libESM/constants/index.mjs";
2
- import { getLanguage } from "../../data/firmwareInfo.mjs";
3
- const uploadTranslationData = async (device, payload) => {
4
- if (payload === null) {
5
- const response = await device.getCurrentSession().typedCall('ChangeLanguage', ['Success'], {
6
- data_length: 0
7
- });
8
- return response.message;
9
- }
10
- const length = payload.byteLength;
11
- device.startPiggybackAck();
12
- let response = await device.getCurrentSession().typedCall('ChangeLanguage', ['DataChunkRequest', 'Success'], {
13
- data_length: length
14
- });
15
- while (response.type !== 'Success') {
16
- const start = response.message.data_offset;
17
- const end = response.message.data_offset + response.message.data_length;
18
- const chunk = payload.slice(start, end);
19
- response = await device.getCurrentSession().typedCall('DataChunkAck', ['DataChunkRequest', 'Success'], {
20
- data_chunk: Buffer.from(chunk).toString('hex')
21
- });
22
- }
23
- await device.stopPiggybackAck();
24
- return response.message;
25
- };
26
- export const changeLanguage = async ({
27
- device,
28
- language,
29
- binary
30
- }) => {
31
- if (language === 'en-US') {
32
- return uploadTranslationData(device, null);
33
- }
34
- if (binary) {
35
- return uploadTranslationData(device, binary);
36
- }
37
- const version = device.getVersion();
38
- if (!version) {
39
- throw ERRORS.TypedError('Runtime', 'changeLanguage: device version unknown');
40
- }
41
- if (!device.firmwareType) {
42
- throw ERRORS.TypedError('Runtime', 'changeLanguage: firmware type unknown');
43
- }
44
- if (!device.currentRelease) {
45
- throw ERRORS.TypedError('Runtime', 'changeLanguage: release not found');
46
- }
47
- const languageBinPath = device.currentRelease.translations[language];
48
- const downloadedBinary = await getLanguage(languageBinPath);
49
- if (!downloadedBinary) {
50
- throw ERRORS.TypedError('Runtime', 'changeLanguage: translation not found');
51
- }
52
- let dataToSend;
53
- if (Buffer.isBuffer(downloadedBinary)) {
54
- dataToSend = new Uint8Array(downloadedBinary).buffer;
55
- } else {
56
- dataToSend = downloadedBinary;
57
- }
58
- return uploadTranslationData(device, dataToSend);
59
- };
@@ -1,9 +0,0 @@
1
- import type { FirmwareHashCheckResult } from '@trezor/connect-common';
2
- import type { Log } from '@trezor/connect-common/libESM/utils/debug';
3
- import type { IDevice } from '../../types/idevice';
4
- type Context = {
5
- device: IDevice;
6
- logger: Log;
7
- };
8
- export declare const checkFirmwareHash: ({ device, logger, }: Context) => Promise<FirmwareHashCheckResult | null>;
9
- export {};
@@ -1,86 +0,0 @@
1
- import { randomBytes } from "crypto";
2
- import { serializeError } from "@trezor/utils";
3
- import { calculateFirmwareHash, getBinaryOptional, stripFwHeaders } from "../../api/firmware/index.mjs";
4
- import { getFirmwareLocation, getReleaseByVersion } from "../../data/firmwareInfo.mjs";
5
- import * as settingsStore from "../../data/settingsStore.mjs";
6
- import { getFirmwareType } from "../../utils/firmwareUtils.mjs";
7
- const createFailResult = (error, errorPayload) => ({
8
- success: false,
9
- error,
10
- errorPayload
11
- });
12
- export const checkFirmwareHash = async ({
13
- device,
14
- logger
15
- }) => {
16
- const enabled = settingsStore.get('enableFirmwareHashCheck');
17
- if (!enabled) return createFailResult('check-skipped');
18
- const firmwareVersion = device.getVersion();
19
- if (firmwareVersion === undefined || !device.features || device.features.bootloader_mode) {
20
- return null;
21
- }
22
- const firmwareType = getFirmwareType(device.features);
23
- const release = await getReleaseByVersion(device.features, firmwareVersion, firmwareType);
24
- if (!release) return createFailResult('unknown-release');
25
- const firmwareLocation = getFirmwareLocation({
26
- firmwareVersion,
27
- remotePath: release.url,
28
- deviceModel: device.features.internal_model,
29
- firmwareType: getFirmwareType(device.features)
30
- });
31
- const {
32
- baseUrl,
33
- path
34
- } = firmwareLocation;
35
- const timeoutThresholdsPerModel = settingsStore.get('firmwareHashCheckTimeouts');
36
- if (firmwareVersion === undefined || !device.features || device.features.bootloader_mode) {
37
- return null;
38
- }
39
- const checkSupported = !device.unavailableCapabilities.getFirmwareHash;
40
- if (!checkSupported) return createFailResult('check-unsupported');
41
- const firmwareBinary = await getBinaryOptional({
42
- baseUrl,
43
- path,
44
- release
45
- });
46
- if (firmwareBinary === null) {
47
- return createFailResult('check-unsupported');
48
- }
49
- if (firmwareBinary.binary.byteLength < 200) {
50
- logger.warn(`Firmware binary for hash check suspiciously small (< 200 b)`);
51
- return createFailResult('check-unsupported');
52
- }
53
- const strippedBinary = stripFwHeaders(firmwareBinary.binary);
54
- const {
55
- hash: expectedHash,
56
- challenge
57
- } = calculateFirmwareHash({
58
- internal_model: device.features.internal_model,
59
- firmwareVersion,
60
- fw: Buffer.from(strippedBinary),
61
- key: randomBytes(32)
62
- });
63
- try {
64
- const ts = performance.now();
65
- const deviceResponse = await device.getCurrentSession().typedCall('GetFirmwareHash', 'FirmwareHash', {
66
- challenge
67
- });
68
- if (!deviceResponse?.message?.hash) {
69
- return createFailResult('other-error', 'Device response is missing hash');
70
- }
71
- if (deviceResponse.message.hash !== expectedHash) {
72
- return createFailResult('hash-mismatch');
73
- }
74
- const duration = performance.now() - ts;
75
- logger.debug('GetFirmwareHash time', duration);
76
- const timeoutThreshold = timeoutThresholdsPerModel?.[device.features.internal_model];
77
- if (timeoutThreshold !== undefined && duration > timeoutThreshold) {
78
- return createFailResult('takes-too-long');
79
- }
80
- return {
81
- success: true
82
- };
83
- } catch (errorPayload) {
84
- return createFailResult('other-error', serializeError(errorPayload));
85
- }
86
- };
@@ -1,8 +0,0 @@
1
- import type { Log } from '@trezor/connect-common/libESM/utils/debug';
2
- import type { IDevice } from '../../types/idevice';
3
- type Context = {
4
- device: IDevice;
5
- logger: Log;
6
- };
7
- export declare const checkFirmwareHashWithRetries: (context: Context) => Promise<void>;
8
- export {};
@@ -1,36 +0,0 @@
1
- import { FIRMWARE } from "@trezor/connect-common";
2
- import { isArrayMember } from "@trezor/utils";
3
- import { checkFirmwareHash } from "./checkFirmwareHash.mjs";
4
- const PROBE_CHECK_TIME_RETRIES = 4;
5
- const probeCheckTime = async context => {
6
- for (let i = 0; i < PROBE_CHECK_TIME_RETRIES; i++) {
7
- const result = await checkFirmwareHash(context);
8
- if (result !== null && (result.success || result.error !== 'takes-too-long')) {
9
- context.device.setAuthenticityChecks(result);
10
- return;
11
- }
12
- }
13
- };
14
- export const checkFirmwareHashWithRetries = async context => {
15
- const lastResult = context.device.getAuthenticityChecks().firmwareHash;
16
- const notDoneYet = lastResult === null;
17
- const attemptsDone = lastResult?.attemptCount ?? 0;
18
- if (attemptsDone >= FIRMWARE.HASH_CHECK_MAX_ATTEMPTS) return;
19
- const wasError = lastResult !== null && !lastResult.success;
20
- const wasErrorRetriable = wasError && isArrayMember(lastResult.error, FIRMWARE.HASH_CHECK_RETRIABLE_ERRORS);
21
- const lastErrorPayload = wasError ? lastResult?.errorPayload : null;
22
- if (notDoneYet || wasErrorRetriable) {
23
- const result = await checkFirmwareHash(context);
24
- context.device.setAuthenticityChecks(result);
25
- if (result === null) return;
26
- result.attemptCount = attemptsDone + 1;
27
- if (!result.success && result.error === 'takes-too-long') {
28
- await probeCheckTime(context);
29
- }
30
- if (result.success && lastErrorPayload) {
31
- result.warningPayload = {
32
- lastErrorPayload
33
- };
34
- }
35
- }
36
- };
@@ -1,9 +0,0 @@
1
- import type { Log } from '@trezor/connect-common/libESM/utils/debug';
2
- import type { WorkflowContext } from '../../types/workflow';
3
- type Context = {
4
- device: WorkflowContext['device'];
5
- signal: AbortSignal;
6
- logger?: Log;
7
- };
8
- export declare const handshakeCancel: ({ device, logger, signal }: Context) => Promise<void>;
9
- export {};
@@ -1,55 +0,0 @@
1
- import { TypedError } from "@trezor/connect-common/libESM/constants/errors.mjs";
2
- import { PROTOCOL_MALFORMED } from "@trezor/protocol/libESM/errors.mjs";
3
- import { TRANSPORT_ERROR } from "@trezor/transport";
4
- import { resolveAfter, versionUtils } from "@trezor/utils";
5
- const CANCEL_TIMEOUT = 1_000;
6
- const ATTEMPTS_LIMIT = 10;
7
- const isLegacyBridge = transport => transport.name === 'BridgeTransport' && !versionUtils.isNewerOrEqual(transport.version, '3.0.0');
8
- export const handshakeCancel = async ({
9
- device,
10
- logger,
11
- signal
12
- }) => {
13
- if (device.features || device.getThpState()?.properties) {
14
- return;
15
- }
16
- const timeout = device.possibleT1 ? CANCEL_TIMEOUT : undefined;
17
- logger?.debug('handshake Cancel start');
18
- const send = await device.getCurrentSession().send('Cancel', {}, {
19
- signal,
20
- timeout
21
- });
22
- if (!send.success) {
23
- logger?.debug(`handshake Cancel send error ${send.error}`);
24
- return;
25
- }
26
- logger?.debug('handshake Cancel sent');
27
- for (let attempt = 0; attempt < ATTEMPTS_LIMIT; ++attempt) {
28
- logger?.debug(`handshake Cancel read attempt ${attempt}`);
29
- const result = await device.getCurrentSession().receive({
30
- signal,
31
- timeout: CANCEL_TIMEOUT
32
- });
33
- if (!result.success && result.error.message === TRANSPORT_ERROR.ABORTED_BY_TIMEOUT) {
34
- if (isLegacyBridge(device.transport)) {
35
- await resolveAfter(501);
36
- }
37
- await device.acquire();
38
- }
39
- if (!result.success && result.error.message !== PROTOCOL_MALFORMED) {
40
- logger?.debug(`handshake Cancel read error: ${result.error}`);
41
- return;
42
- } else if (result.success) {
43
- logger?.debug(`handshake Cancel read success: ${result.payload.type}`);
44
- if (result.payload.type === 'Failure' && result.payload.message.code === 'Failure_InvalidProtocol') {
45
- logger?.debug(`handshake Cancel protocol v2 detected`);
46
- device.setupThp();
47
- }
48
- if (result.payload.type === 'Failure' && result.payload.message.code === 'Failure_Busy') {
49
- throw TypedError(result.payload.message.code, result.payload.message.message);
50
- }
51
- return;
52
- }
53
- }
54
- logger?.debug(`handshake Cancel attempts limit reached`);
55
- };
@@ -1,2 +0,0 @@
1
- import type { TpnWorkflowContext } from '../../types/workflow';
2
- export declare const trezorPushNotificationHandler: ({ device, message }: TpnWorkflowContext) => Promise<void>;