@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,41 +1,17 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getThpChannel = exports.createThpSession = exports.getThpCredentials = exports.abortThpWorkflow = void 0;
7
- const device_1 = require("../../events/device");
8
- const handshake_1 = require("./handshake");
9
- const pairing_1 = require("./pairing");
10
- var thpCall_1 = require("./thpCall");
11
- Object.defineProperty(exports, "abortThpWorkflow", {
12
- enumerable: true,
13
- get: function () {
14
- return thpCall_1.abortThpWorkflow;
15
- }
16
- });
17
- var pairing_2 = require("./pairing");
18
- Object.defineProperty(exports, "getThpCredentials", {
19
- enumerable: true,
20
- get: function () {
21
- return pairing_2.getThpCredentials;
22
- }
23
- });
24
- var session_1 = require("./session");
25
- Object.defineProperty(exports, "createThpSession", {
26
- enumerable: true,
27
- get: function () {
28
- return session_1.createThpSession;
29
- }
30
- });
31
- const getThpChannel = async (device, withInteraction) => {
1
+ import { DEVICE } from "@trezor/connect-common";
2
+ import { createThpChannel, thpHandshake } from "./handshake.js";
3
+ import { thpPairing } from "./pairing.js";
4
+ export { abortThpWorkflow } from "./thpCall.js";
5
+ export { getThpCredentials } from "./pairing.js";
6
+ export { createThpSession } from "./session.js";
7
+ export const getThpChannel = async (device, withInteraction) => {
32
8
  const thpState = device.getThpState();
33
9
  if (!thpState) return;
34
10
  try {
35
11
  if (thpState.phase === 'handshake') {
36
- await (0, handshake_1.createThpChannel)(device);
12
+ await createThpChannel(device);
37
13
  try {
38
- await (0, handshake_1.thpHandshake)(device);
14
+ await thpHandshake(device);
39
15
  } catch (error) {
40
16
  const isPinLocked = error.code === 'ThpDeviceLocked';
41
17
  const isTransportBusy = error.message === 'ThpTransportBusy';
@@ -43,27 +19,47 @@ const getThpChannel = async (device, withInteraction) => {
43
19
  thpState.resetState();
44
20
  if (isPinLocked && !withInteraction) return 'pin-locked';
45
21
  if (isPinLocked) {
46
- device.emit(device_1.DEVICE.BUTTON, {
22
+ device.emit(DEVICE.BUTTON, {
47
23
  device,
48
24
  payload: {
49
25
  code: 'ButtonRequest_PinEntry'
50
26
  }
51
27
  });
52
28
  }
53
- await (0, handshake_1.createThpChannel)(device);
54
- await (0, handshake_1.thpHandshake)(device, isPinLocked);
29
+ await createThpChannel(device);
30
+ await thpHandshake(device, isPinLocked);
55
31
  }
56
32
  }
57
- if (thpState.phase === 'pairing' && withInteraction) {
58
- await (0, pairing_1.thpPairing)(device);
33
+ const startPairing = thpState.phase === 'pairing' && withInteraction;
34
+ if (startPairing) {
35
+ device.emit(DEVICE.THP_PAIRING_STATUS_CHANGED, {
36
+ status: 'started'
37
+ });
38
+ await thpPairing(device);
59
39
  }
60
40
  if (thpState.phase !== 'paired') {
41
+ device.emit(DEVICE.THP_PAIRING_STATUS_CHANGED, {
42
+ status: 'failed',
43
+ message: 'THP Locked'
44
+ });
61
45
  return 'thp-locked';
46
+ } else if (startPairing) {
47
+ device.emit(DEVICE.THP_PAIRING_STATUS_CHANGED, {
48
+ status: 'finished'
49
+ });
62
50
  }
63
51
  } catch (error) {
64
52
  thpState.resetState();
53
+ if (error.code === 'Device_ThpPairingTagInvalid') {} else if (error.code === 'Failure_ActionCancelled') {
54
+ device.emit(DEVICE.THP_PAIRING_STATUS_CHANGED, {
55
+ status: 'canceled'
56
+ });
57
+ } else {
58
+ device.emit(DEVICE.THP_PAIRING_STATUS_CHANGED, {
59
+ status: 'failed',
60
+ message: error.message
61
+ });
62
+ }
65
63
  throw error;
66
64
  }
67
- };
68
- exports.getThpChannel = getThpChannel;
69
- //# sourceMappingURL=index.js.map
65
+ };
@@ -1,16 +1,16 @@
1
1
  import { thp as protocolThp } from '@trezor/protocol';
2
- import type { Device } from '../Device';
3
- export declare const getThpCredentials: (device: Device, autoconnect?: boolean) => Promise<{
4
- autoconnect: boolean;
5
- trezor_static_public_key: string;
6
- credential: string;
2
+ import type { IDevice } from "../../types/idevice.js";
3
+ export declare const getThpCredentials: (device: IDevice, autoconnect?: boolean) => Promise<{
4
+ autoconnect: boolean;
5
+ host_static_key: string;
6
+ trezor_static_public_key: string;
7
+ credential: string;
7
8
  }>;
8
- export declare const thpPairingEnd: (device: Device) => Promise<{
9
- type: "ThpEndResponse";
10
- message: protocolThp.ThpEndResponse;
9
+ export declare const thpPairingEnd: (device: IDevice) => Promise<{
10
+ type: "ThpEndResponse";
11
+ message: protocolThp.ThpEndResponse;
11
12
  }>;
12
- export declare const thpPairing: (device: Device) => Promise<{
13
- type: "ThpEndResponse";
14
- message: protocolThp.ThpEndResponse;
15
- } | undefined>;
16
- //# sourceMappingURL=pairing.d.ts.map
13
+ export declare const thpPairing: (device: IDevice) => Promise<{
14
+ type: "ThpEndResponse";
15
+ message: protocolThp.ThpEndResponse;
16
+ } | undefined>;
@@ -1,80 +1,74 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.thpPairing = exports.thpPairingEnd = exports.getThpCredentials = void 0;
7
- const crypto_1 = require("crypto");
8
- const protocol_1 = require("@trezor/protocol");
9
- const utils_1 = require("@trezor/utils");
10
- const constants_1 = require("../../constants");
11
- const DataManager_1 = require("../../data/DataManager");
12
- const events_1 = require("../../events");
13
- const thpCall_1 = require("./thpCall");
1
+ import { sha256 } from "@noble/hashes/sha2.js";
2
+ import { bytesToHex, concatBytes, randomBytes } from "@noble/hashes/utils.js";
3
+ import { DEVICE } from "@trezor/connect-common";
4
+ import { ERRORS } from "@trezor/connect-common/lib/constants/index.js";
5
+ import { ThpPairingMethod, thp as protocolThp } from "@trezor/protocol";
6
+ import { createDeferred, resolveAfter } from "@trezor/utils";
7
+ import { abortThpWorkflow, thpCall } from "./thpCall.js";
8
+ import * as settingsStore from "../../data/settingsStore.js";
9
+ import { sanitizeString } from "../../utils/formatUtils.js";
10
+ const sha256Hex = (...parts) => bytesToHex(sha256(concatBytes(...parts)));
14
11
  const processQrCodeTag = async (device, value) => {
15
12
  const thpState = device.getThpState();
16
13
  if (!thpState?.handshakeCredentials) {
17
- throw constants_1.ERRORS.TypedError('Device_ThpStateMissing');
14
+ throw ERRORS.TypedError('Device_ThpStateMissing');
18
15
  }
19
- const tagSha = (0, crypto_1.createHash)('sha256').update(thpState.handshakeCredentials.handshakeHash).update(Buffer.from(value, 'hex')).digest('hex');
20
- const qrCodeSecret = await (0, thpCall_1.thpCall)(device, 'ThpQrCodeTag', {
16
+ const tagSha = sha256Hex(thpState.handshakeCredentials.handshakeHash, Buffer.from(value, 'hex'));
17
+ const qrCodeSecret = await thpCall(device, 'ThpQrCodeTag', {
21
18
  tag: tagSha
22
19
  });
23
- protocol_1.thp.validateQrCodeTag(thpState.handshakeCredentials, value, qrCodeSecret.message.secret);
20
+ protocolThp.validateQrCodeTag(thpState.handshakeCredentials, value, qrCodeSecret.message.secret);
24
21
  return qrCodeSecret;
25
22
  };
26
23
  const processNfcTag = async (device, value) => {
27
24
  const thpState = device.getThpState();
28
25
  if (!thpState?.handshakeCredentials) {
29
- throw constants_1.ERRORS.TypedError('Device_ThpStateMissing');
26
+ throw ERRORS.TypedError('Device_ThpStateMissing');
30
27
  }
31
28
  if (!thpState?.nfcSecret) {
32
29
  throw new Error('missing nfcSecret');
33
30
  }
34
- const tagSha = (0, crypto_1.createHash)('sha256').update(Buffer.from([protocol_1.thp.ThpPairingMethod.NFC])).update(thpState.handshakeCredentials.handshakeHash).update(Buffer.from(value, 'hex')).digest('hex');
35
- const nfcTagTrezor = await (0, thpCall_1.thpCall)(device, 'ThpNfcTagHost', {
31
+ const tagSha = sha256Hex(Buffer.from([protocolThp.ThpPairingMethod.NFC]), thpState.handshakeCredentials.handshakeHash, Buffer.from(value, 'hex'));
32
+ const nfcTagTrezor = await thpCall(device, 'ThpNfcTagHost', {
36
33
  tag: tagSha
37
34
  });
38
- protocol_1.thp.validateNfcTag(thpState.handshakeCredentials, nfcTagTrezor.message.tag, thpState.nfcSecret);
35
+ protocolThp.validateNfcTag(thpState.handshakeCredentials, nfcTagTrezor.message.tag, thpState.nfcSecret);
39
36
  return nfcTagTrezor;
40
37
  };
41
38
  const processCodeEntry = async (device, value) => {
42
- if (value.length !== 6) {
43
- throw constants_1.ERRORS.TypedError('Device_ThpPairingTagInvalid');
44
- }
45
39
  const codeValue = Buffer.from(value, 'ascii');
46
40
  const thpState = device.getThpState();
47
41
  if (!thpState?.handshakeCredentials) {
48
- throw constants_1.ERRORS.TypedError('Device_ThpStateMissing');
42
+ throw ERRORS.TypedError('Device_ThpStateMissing');
49
43
  }
50
- const hostKeys = protocol_1.thp.getCpaceHostKeys(codeValue, thpState.handshakeCredentials.handshakeHash);
51
- const tag = protocol_1.thp.getSharedSecret(thpState.handshakeCredentials.trezorCpacePublicKey, hostKeys.privateKey).toString('hex');
52
- const codeEntrySecret = await (0, thpCall_1.thpCall)(device, 'ThpCodeEntryCpaceHostTag', {
44
+ const hostKeys = protocolThp.getCpaceHostKeys(codeValue, thpState.handshakeCredentials.handshakeHash);
45
+ const tag = protocolThp.getSharedSecret(thpState.handshakeCredentials.trezorCpacePublicKey, hostKeys.privateKey).toString('hex');
46
+ const codeEntrySecret = await thpCall(device, 'ThpCodeEntryCpaceHostTag', {
53
47
  tag,
54
48
  cpace_host_public_key: hostKeys.publicKey.toString('hex')
55
49
  });
56
- protocol_1.thp.validateCodeEntryTag(thpState.handshakeCredentials, value, codeEntrySecret.message.secret);
50
+ protocolThp.validateCodeEntryTag(thpState.handshakeCredentials, value, codeEntrySecret.message.secret);
57
51
  return codeEntrySecret;
58
52
  };
59
53
  const processThpPairingResponse = (device, payload) => {
60
54
  if ('selectedMethod' in payload) {
61
- const selectedMethod = protocol_1.thp.getThpPairingMethod(payload.selectedMethod);
55
+ const selectedMethod = protocolThp.getThpPairingMethod(payload.selectedMethod);
62
56
  device.getThpState()?.setPairingMethod(selectedMethod);
63
- return (0, thpCall_1.thpCall)(device, 'ThpSelectMethod', {
57
+ return thpCall(device, 'ThpSelectMethod', {
64
58
  selected_pairing_method: selectedMethod
65
59
  });
66
60
  }
67
61
  const selectedMethod = device.getThpState()?.pairingMethod;
68
- if (selectedMethod === protocol_1.ThpPairingMethod.QrCode) {
62
+ if (selectedMethod === ThpPairingMethod.QrCode) {
69
63
  return processQrCodeTag(device, payload.tag);
70
64
  }
71
- if (selectedMethod === protocol_1.ThpPairingMethod.NFC) {
65
+ if (selectedMethod === ThpPairingMethod.NFC) {
72
66
  return processNfcTag(device, payload.tag);
73
67
  }
74
- if (selectedMethod === protocol_1.ThpPairingMethod.CodeEntry) {
68
+ if (selectedMethod === ThpPairingMethod.CodeEntry) {
75
69
  return processCodeEntry(device, payload.tag);
76
70
  }
77
- throw constants_1.ERRORS.TypedError('Device_ThpPairingMethodsException');
71
+ throw ERRORS.TypedError('Device_ThpPairingMethodsException');
78
72
  };
79
73
  const waitForPairingCancel = device => {
80
74
  const readAbort = new AbortController();
@@ -90,26 +84,30 @@ const waitForPairingCancel = device => {
90
84
  const waitForPairingTag = async device => {
91
85
  const thpState = device.getThpState();
92
86
  if (!thpState?.handshakeCredentials) {
93
- throw constants_1.ERRORS.TypedError('Device_ThpStateMissing');
87
+ throw ERRORS.TypedError('Device_ThpStateMissing');
94
88
  }
95
89
  if (thpState.pairingMethod === undefined) {
96
- throw constants_1.ERRORS.TypedError('Device_ThpPairingMethodsException');
90
+ throw ERRORS.TypedError('Device_ThpPairingMethodsException');
97
91
  }
98
- const dfd = (0, utils_1.createDeferred)();
92
+ const dfd = createDeferred();
99
93
  const {
100
94
  readAbort,
101
95
  readCancel
102
96
  } = waitForPairingCancel(device);
103
97
  const cancelResult = readCancel.then(readResult => {
104
98
  if (readResult.success) {
105
- let error;
106
- if (readResult.payload.type === 'Failure' && readResult.payload.message.message) {
107
- error = readResult.payload.message.message;
99
+ let code, message;
100
+ const {
101
+ payload
102
+ } = readResult;
103
+ if (payload.type === 'Failure') {
104
+ code = payload.message.code;
105
+ message = payload.message.message;
108
106
  } else {
109
- error = `Pairing tag cancelled (${readResult.payload.type})`;
107
+ message = `Unexpected message type: ${readResult.payload.type}`;
110
108
  }
111
109
  dfd.resolve({
112
- error
110
+ error: ERRORS.TypedError(code || 'ThpUnknownError', message)
113
111
  });
114
112
  }
115
113
  }).catch(() => {});
@@ -124,15 +122,15 @@ const waitForPairingTag = async device => {
124
122
  selectedMethod: thpState.pairingMethod,
125
123
  nfcData: thpState.nfcData?.toString('hex')
126
124
  };
127
- device.prompt(events_1.DEVICE.THP_PAIRING, {
125
+ device.prompt(DEVICE.THP_PAIRING, {
128
126
  payload
129
127
  }).then(response => {
130
128
  if (response.success) {
131
129
  dfd.resolve(response.payload);
132
130
  } else {
133
- (0, thpCall_1.abortThpWorkflow)(device).then(() => {
131
+ abortThpWorkflow(device).then(() => {
134
132
  dfd.resolve({
135
- error: response.error.message
133
+ error: ERRORS.TypedError('ThpUnknownError', response.error.message)
136
134
  });
137
135
  });
138
136
  }
@@ -142,56 +140,66 @@ const waitForPairingTag = async device => {
142
140
  await readCancel;
143
141
  thpState.setPairingTagPromise(undefined);
144
142
  if ('error' in pairingResponse) {
145
- throw new Error(pairingResponse.error);
143
+ throw pairingResponse.error;
146
144
  }
147
- await new Promise(resolve => setTimeout(resolve, 500));
145
+ await resolveAfter(500);
148
146
  return processThpPairingResponse(device, pairingResponse).catch(e => {
149
- if (e.code === 'Failure_FirmwareError') {
150
- throw constants_1.ERRORS.TypedError('Device_ThpPairingTagInvalid', e.message);
147
+ if (e.code === 'Failure_FirmwareError' || e.code === 'Failure_DataError') {
148
+ if ('tag' in pairingResponse) {
149
+ device.emit(DEVICE.THP_PAIRING_STATUS_CHANGED, {
150
+ status: 'invalid-tag',
151
+ tag: pairingResponse.tag
152
+ });
153
+ }
154
+ throw ERRORS.TypedError('Device_ThpPairingTagInvalid', e.message);
151
155
  }
152
- throw constants_1.ERRORS.TypedError(e.code, e.message);
156
+ throw ERRORS.TypedError(e.code, e.message);
153
157
  });
154
158
  };
155
- const getThpCredentials = async (device, autoconnect = false) => {
159
+ export const getThpCredentials = async (device, autoconnect = false) => {
156
160
  const thpState = device.getThpState();
157
161
  if (!thpState?.handshakeCredentials) {
158
- throw constants_1.ERRORS.TypedError('Device_ThpStateMissing');
162
+ throw ERRORS.TypedError('Device_ThpStateMissing');
159
163
  }
160
- const credentials = await (0, thpCall_1.thpCall)(device, 'ThpCredentialRequest', {
164
+ const credentials = await thpCall(device, 'ThpCredentialRequest', {
161
165
  autoconnect,
162
166
  host_static_public_key: thpState.handshakeCredentials.hostStaticPublicKey.toString('hex'),
163
167
  credential: thpState.pairingCredentials[0]?.credential
164
168
  });
169
+ const host_static_key = thpState.handshakeCredentials.staticKey.toString('hex');
165
170
  return {
166
171
  ...credentials.message,
167
- autoconnect
172
+ autoconnect,
173
+ host_static_key
168
174
  };
169
175
  };
170
- exports.getThpCredentials = getThpCredentials;
171
- const thpPairingEnd = device => {
176
+ export const thpPairingEnd = async device => {
177
+ const result = await thpCall(device, 'ThpEndRequest', {});
172
178
  device.getThpState()?.setPhase('paired');
173
- return (0, thpCall_1.thpCall)(device, 'ThpEndRequest', {});
179
+ return result;
174
180
  };
175
- exports.thpPairingEnd = thpPairingEnd;
176
- const thpPairing = async device => {
181
+ export const thpPairing = async device => {
177
182
  const thpState = device.getThpState();
178
183
  if (!thpState?.handshakeCredentials) {
179
- throw constants_1.ERRORS.TypedError('Device_ThpStateMissing');
184
+ throw ERRORS.TypedError('Device_ThpStateMissing');
180
185
  }
181
- if (thpState.isPaired && thpState.pairingMethod !== protocol_1.thp.ThpPairingMethod.SkipPairing) {
186
+ if (thpState.isPaired && thpState.pairingMethod !== protocolThp.ThpPairingMethod.SkipPairing) {
182
187
  if (!thpState.isAutoconnectPaired) {
183
- await (0, exports.getThpCredentials)(device, false);
188
+ await getThpCredentials(device, false);
184
189
  }
185
- return (0, exports.thpPairingEnd)(device);
190
+ return thpPairingEnd(device);
186
191
  }
187
- const [selected_pairing_method] = thpState.handshakeCredentials.pairingMethods;
192
+ const {
193
+ pairingMethods
194
+ } = thpState.handshakeCredentials;
195
+ const selected_pairing_method = pairingMethods[0];
188
196
  thpState.setPairingMethod(selected_pairing_method);
189
- const settings = DataManager_1.DataManager.getSettings('thp');
190
- await (0, thpCall_1.thpCall)(device, 'ThpPairingRequest', {
191
- host_name: settings?.hostName || 'Unknown hostName',
192
- app_name: settings?.appName || 'Unknown appName'
197
+ const settings = settingsStore.get('thp');
198
+ await thpCall(device, 'ThpPairingRequest', {
199
+ host_name: sanitizeString(settings?.hostName) || 'Unknown hostName',
200
+ app_name: sanitizeString(settings?.appName) || 'Unknown appName'
193
201
  });
194
- const selectMethod = await (0, thpCall_1.thpCall)(device, 'ThpSelectMethod', {
202
+ const selectMethod = await thpCall(device, 'ThpSelectMethod', {
195
203
  selected_pairing_method
196
204
  });
197
205
  if (selectMethod.type === 'ThpEndResponse') {
@@ -200,13 +208,13 @@ const thpPairing = async device => {
200
208
  return;
201
209
  }
202
210
  if (selectMethod.type === 'ThpCodeEntryCommitment') {
203
- const codeEntryChallenge = (0, crypto_1.randomBytes)(32);
211
+ const codeEntryChallenge = Buffer.from(randomBytes(32));
204
212
  const handshakeCommitment = Buffer.from(selectMethod.message.commitment, 'hex');
205
213
  thpState.updateHandshakeCredentials({
206
214
  handshakeCommitment,
207
215
  codeEntryChallenge
208
216
  });
209
- const codeEntryCpace = await (0, thpCall_1.thpCall)(device, 'ThpCodeEntryChallenge', {
217
+ const codeEntryCpace = await thpCall(device, 'ThpCodeEntryChallenge', {
210
218
  challenge: codeEntryChallenge.toString('hex')
211
219
  });
212
220
  thpState.updateHandshakeCredentials({
@@ -215,24 +223,20 @@ const thpPairing = async device => {
215
223
  await waitForPairingTag(device);
216
224
  }
217
225
  if (selectMethod.type === 'ThpPairingPreparationsFinished') {
218
- if (thpState.pairingMethod === protocol_1.thp.ThpPairingMethod.NFC) {
219
- thpState.setNfcSecret((0, crypto_1.randomBytes)(16));
226
+ if (thpState.pairingMethod === protocolThp.ThpPairingMethod.NFC) {
227
+ thpState.setNfcSecret(Buffer.from(randomBytes(16)));
220
228
  }
221
229
  await waitForPairingTag(device);
222
230
  }
223
- const credentials = await (0, exports.getThpCredentials)(device, false);
224
- device.emit(events_1.DEVICE.THP_CREDENTIALS_CHANGED, {
225
- credentials,
226
- staticKey: thpState.handshakeCredentials.staticKey.toString('hex')
231
+ const credentials = await getThpCredentials(device, false);
232
+ device.emit(DEVICE.THP_CREDENTIALS_CHANGED, {
233
+ credentials
227
234
  });
228
- const settings1 = DataManager_1.DataManager.getSettings('thp');
235
+ const settings1 = settingsStore.get('thp');
229
236
  if (settings1) {
230
237
  settings1.knownCredentials?.push(credentials);
231
- settings1.staticKey = thpState.handshakeCredentials.staticKey.toString('hex');
232
238
  }
233
239
  thpState.setPairingCredentials([credentials]);
234
240
  thpState.setIsPaired(true);
235
- await (0, exports.thpPairingEnd)(device);
236
- };
237
- exports.thpPairing = thpPairing;
238
- //# sourceMappingURL=pairing.js.map
241
+ await thpPairingEnd(device);
242
+ };
@@ -1,3 +1,2 @@
1
- import type { Device } from '../Device';
2
- export declare const createThpSession: (device: Device, deriveCardano: boolean) => Promise<number>;
3
- //# sourceMappingURL=session.d.ts.map
1
+ import type { IDevice } from "../../types/idevice.js";
2
+ export declare const createThpSession: (device: IDevice, deriveCardano: boolean) => Promise<number>;
@@ -1,11 +1,5 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.createThpSession = void 0;
7
- const thpCall_1 = require("./thpCall");
8
- const createThpSession = async (device, deriveCardano) => {
1
+ import { thpCall } from "./thpCall.js";
2
+ export const createThpSession = async (device, deriveCardano) => {
9
3
  let passphrase;
10
4
  if (device.features.passphrase_protection === false) {
11
5
  passphrase = {
@@ -25,11 +19,9 @@ const createThpSession = async (device, deriveCardano) => {
25
19
  };
26
20
  });
27
21
  }
28
- await (0, thpCall_1.thpCall)(device, 'ThpCreateNewSession', {
22
+ await thpCall(device, 'ThpCreateNewSession', {
29
23
  ...passphrase,
30
24
  derive_cardano: deriveCardano
31
25
  });
32
26
  return 0;
33
- };
34
- exports.createThpSession = createThpSession;
35
- //# sourceMappingURL=session.js.map
27
+ };
@@ -1,41 +1,31 @@
1
- import { thp as protocolThp } from '@trezor/protocol';
2
- import type { Device } from '../Device';
1
+ import type { thp as protocolThp } from '@trezor/protocol';
2
+ import type { IDevice } from "../../types/idevice.js";
3
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';
4
+ ThpCreateChannelRequest: 'ThpCreateChannelResponse';
5
+ ThpHandshakeInitRequest: 'ThpHandshakeInitResponse';
6
+ ThpHandshakeCompletionRequest: 'ThpHandshakeCompletionResponse';
7
+ ThpPairingRequest: 'ThpPairingRequestApproved';
8
+ ThpSelectMethod: ['ThpCodeEntryCommitment', 'ThpEndResponse', 'ThpPairingRequestApproved', 'ThpPairingPreparationsFinished'];
9
+ ThpCodeEntryChallenge: ['ThpCodeEntryCpaceTrezor'];
10
+ ThpCodeEntryCpaceHostTag: 'ThpCodeEntrySecret';
11
+ ThpQrCodeTag: 'ThpQrCodeSecret';
12
+ ThpNfcTagHost: 'ThpNfcTagTrezor';
13
+ ThpCredentialRequest: 'ThpCredentialResponse';
14
+ ThpEndRequest: 'ThpEndResponse';
15
+ ThpCreateNewSession: 'Success';
21
16
  };
22
17
  type ThpMessage = protocolThp.ThpMessageType & {
23
- Success: {};
18
+ Success: Record<never, never>;
24
19
  };
25
20
  type TypedPayloadItem<K> = K extends keyof ThpMessage ? {
26
- type: K;
27
- message: ThpMessage[K];
21
+ type: K;
22
+ message: ThpMessage[K];
28
23
  } : never;
29
- type ExtractFromArray<A extends any[]> = {
30
- [K in keyof A]: TypedPayloadItem<A[K]>;
31
- }[number];
24
+ type ExtractFromArray<A extends any[]> = { [K in keyof A]: TypedPayloadItem<A[K]> }[number];
32
25
  type MessageKey = keyof ThpTypedCall;
33
26
  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
- };
27
+ type ThpCallResponse = { [K in keyof ThpTypedCall]: TypedPayload<K> };
37
28
  type ThpMessagePayload<T extends MessageKey = MessageKey> = ThpMessage[T];
38
- export declare const thpCall: <T extends MessageKey>(device: Device, name: T, data: ThpMessagePayload<T>) => Promise<ThpCallResponse[T]>;
39
- export declare const abortThpWorkflow: (device: Device) => Promise<void>;
40
- export {};
41
- //# sourceMappingURL=thpCall.d.ts.map
29
+ export declare const thpCall: <T extends MessageKey>(device: IDevice, name: T, data: ThpMessagePayload<T>) => Promise<ThpCallResponse[T]>;
30
+ export declare const abortThpWorkflow: (device: IDevice) => Promise<void>;
31
+ export {};
@@ -1,15 +1,9 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.abortThpWorkflow = exports.thpCall = void 0;
7
- const errors_1 = require("../../constants/errors");
8
- const events_1 = require("../../events");
9
- const thpCall = async (device, name, data) => {
1
+ import { DEVICE } from "@trezor/connect-common";
2
+ import { TypedError } from "@trezor/connect-common/lib/constants/errors.js";
3
+ export const thpCall = async (device, name, data) => {
10
4
  const thpState = device.getThpState();
11
5
  if (!thpState) {
12
- throw (0, errors_1.TypedError)('Device_ThpStateMissing');
6
+ throw TypedError('Device_ThpStateMissing');
13
7
  }
14
8
  const result = await device.getCurrentSession().call(name, data);
15
9
  if (!result.success) {
@@ -19,33 +13,32 @@ const thpCall = async (device, name, data) => {
19
13
  if (result.payload.type === 'ButtonRequest') {
20
14
  thpState.setCancelablePromise(true);
21
15
  if (result.payload.message.code === 'ButtonRequest_PassphraseEntry') {
22
- device.emit(events_1.DEVICE.PASSPHRASE_ON_DEVICE);
16
+ device.emit(DEVICE.PASSPHRASE_ON_DEVICE);
23
17
  } else {
24
- device.emit(events_1.DEVICE.BUTTON, {
18
+ device.emit(DEVICE.BUTTON, {
25
19
  device,
26
20
  payload: result.payload.message
27
21
  });
28
22
  }
29
- return (0, exports.thpCall)(device, 'ButtonAck', {});
23
+ return thpCall(device, 'ButtonAck', {});
30
24
  }
31
25
  if (result.payload.type === 'Failure') {
32
26
  const {
33
27
  code,
34
28
  message
35
29
  } = result.payload.message;
36
- throw (0, errors_1.TypedError)(code || 'Failure_UnknownCode', message);
30
+ throw TypedError(code || 'Failure_UnknownCode', message);
37
31
  }
38
32
  if (result.payload.type === 'ThpError') {
39
33
  const {
40
34
  code,
41
35
  message
42
36
  } = result.payload.message;
43
- throw (0, errors_1.TypedError)(code, message);
37
+ throw TypedError(code, message);
44
38
  }
45
39
  return result.payload;
46
40
  };
47
- exports.thpCall = thpCall;
48
- const abortThpWorkflow = async device => {
41
+ export const abortThpWorkflow = async device => {
49
42
  const thpState = device.getThpState();
50
43
  if (!thpState || !device.currentRun) {
51
44
  return Promise.resolve();
@@ -54,11 +47,12 @@ const abortThpWorkflow = async device => {
54
47
  await thpState.pairingTagPromise.abort();
55
48
  await device.getCurrentSession().cancelCall();
56
49
  thpState.resetState();
50
+ device.emit(DEVICE.THP_PAIRING_STATUS_CHANGED, {
51
+ status: 'canceled'
52
+ });
57
53
  } else if (thpState.cancelablePromise) {
58
54
  thpState.sync('send', 'Cancel');
59
55
  await device.getCurrentSession().send('Cancel', {});
60
56
  await device.currentRun;
61
57
  }
62
- };
63
- exports.abortThpWorkflow = abortThpWorkflow;
64
- //# sourceMappingURL=thpCall.js.map
58
+ };
@@ -0,0 +1,2 @@
1
+ import type { Device } from "./Device.js";
2
+ export declare const validateModelOneMessageSize: (device: Device, messageHex: string) => void;
@@ -0,0 +1,9 @@
1
+ import { TypedError } from "@trezor/connect-common/lib/constants/errors.js";
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
+ };
@@ -0,0 +1,18 @@
1
+ import type { IDevice } from "../../types/idevice.js";
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: ({
12
+ device,
13
+ language,
14
+ binary
15
+ }: Context) => Promise<{
16
+ message: string;
17
+ }>;
18
+ export {};