@trezor/connect 10.0.0-alpha.1 → 10.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (432) hide show
  1. package/CHANGELOG.md +159 -63
  2. package/README.md +5 -3
  3. package/lib/exports.d.ts +1 -0
  4. package/lib/exports.js +1 -0
  5. package/lib/impl/core-in-module-native.d.ts +7 -0
  6. package/lib/impl/core-in-module-native.js +11 -0
  7. package/lib/impl/core-in-module-node.d.ts +8 -0
  8. package/lib/impl/core-in-module-node.js +12 -0
  9. package/lib/impl/core-in-module-web.d.ts +9 -0
  10. package/lib/impl/core-in-module-web.js +26 -0
  11. package/lib/index.browser.d.ts +7 -0
  12. package/lib/index.browser.js +10 -0
  13. package/lib/index.d.ts +4 -0
  14. package/lib/index.js +5 -0
  15. package/lib/index.native.d.ts +4 -0
  16. package/lib/index.native.js +5 -0
  17. package/package.json +30 -83
  18. package/libESM/api/applyFlags.d.mts +0 -20
  19. package/libESM/api/applyFlags.mjs +0 -36
  20. package/libESM/api/applySettings.d.mts +0 -20
  21. package/libESM/api/applySettings.mjs +0 -55
  22. package/libESM/api/authenticateDevice.d.mts +0 -9
  23. package/libESM/api/authenticateDevice.mjs +0 -108
  24. package/libESM/api/authorizeCoinjoin.d.mts +0 -11
  25. package/libESM/api/authorizeCoinjoin.mjs +0 -44
  26. package/libESM/api/backupDevice.d.mts +0 -19
  27. package/libESM/api/backupDevice.mjs +0 -36
  28. package/libESM/api/bitcoin/TransactionComposer.d.mts +0 -46
  29. package/libESM/api/bitcoin/TransactionComposer.mjs +0 -139
  30. package/libESM/api/bitcoin/createPendingTx.d.mts +0 -33
  31. package/libESM/api/bitcoin/createPendingTx.mjs +0 -54
  32. package/libESM/api/bitcoin/enhanceSignTx.d.mts +0 -2
  33. package/libESM/api/bitcoin/enhanceSignTx.mjs +0 -23
  34. package/libESM/api/bitcoin/index.d.mts +0 -9
  35. package/libESM/api/bitcoin/index.mjs +0 -9
  36. package/libESM/api/bitcoin/inputs.d.mts +0 -6
  37. package/libESM/api/bitcoin/inputs.mjs +0 -75
  38. package/libESM/api/bitcoin/outputs.d.mts +0 -5
  39. package/libESM/api/bitcoin/outputs.mjs +0 -128
  40. package/libESM/api/bitcoin/refTx.d.mts +0 -17
  41. package/libESM/api/bitcoin/refTx.mjs +0 -252
  42. package/libESM/api/bitcoin/signtx.d.mts +0 -22
  43. package/libESM/api/bitcoin/signtx.mjs +0 -213
  44. package/libESM/api/bitcoin/signtxLegacy.d.mts +0 -3
  45. package/libESM/api/bitcoin/signtxLegacy.mjs +0 -179
  46. package/libESM/api/bitcoin/signtxVerify.d.mts +0 -12
  47. package/libESM/api/bitcoin/signtxVerify.mjs +0 -86
  48. package/libESM/api/bitcoin/transactionBytes.d.mts +0 -3
  49. package/libESM/api/bitcoin/transactionBytes.mjs +0 -65
  50. package/libESM/api/bleUnpair.d.mts +0 -11
  51. package/libESM/api/bleUnpair.mjs +0 -35
  52. package/libESM/api/blockchainDisconnect.d.mts +0 -16
  53. package/libESM/api/blockchainDisconnect.mjs +0 -39
  54. package/libESM/api/blockchainEstimateFee.d.mts +0 -14
  55. package/libESM/api/blockchainEstimateFee.mjs +0 -106
  56. package/libESM/api/blockchainEvmRpcCall.d.mts +0 -17
  57. package/libESM/api/blockchainEvmRpcCall.mjs +0 -61
  58. package/libESM/api/blockchainGetAccountBalanceHistory.d.mts +0 -14
  59. package/libESM/api/blockchainGetAccountBalanceHistory.mjs +0 -64
  60. package/libESM/api/blockchainGetContractInfo.d.mts +0 -14
  61. package/libESM/api/blockchainGetContractInfo.mjs +0 -50
  62. package/libESM/api/blockchainGetCurrentFiatRates.d.mts +0 -18
  63. package/libESM/api/blockchainGetCurrentFiatRates.mjs +0 -53
  64. package/libESM/api/blockchainGetFiatRatesForTimestamps.d.mts +0 -21
  65. package/libESM/api/blockchainGetFiatRatesForTimestamps.mjs +0 -59
  66. package/libESM/api/blockchainGetInfo.d.mts +0 -13
  67. package/libESM/api/blockchainGetInfo.mjs +0 -41
  68. package/libESM/api/blockchainGetTransactions.d.mts +0 -15
  69. package/libESM/api/blockchainGetTransactions.mjs +0 -47
  70. package/libESM/api/blockchainSetCustomBackend.d.mts +0 -13
  71. package/libESM/api/blockchainSetCustomBackend.mjs +0 -41
  72. package/libESM/api/blockchainSubscribe.d.mts +0 -17
  73. package/libESM/api/blockchainSubscribe.mjs +0 -68
  74. package/libESM/api/blockchainSubscribeFiatRates.d.mts +0 -17
  75. package/libESM/api/blockchainSubscribeFiatRates.mjs +0 -47
  76. package/libESM/api/blockchainUnsubscribe.d.mts +0 -17
  77. package/libESM/api/blockchainUnsubscribe.mjs +0 -68
  78. package/libESM/api/blockchainUnsubscribeFiatRates.d.mts +0 -15
  79. package/libESM/api/blockchainUnsubscribeFiatRates.mjs +0 -41
  80. package/libESM/api/blockchainValidateEvmRpcUrl.d.mts +0 -17
  81. package/libESM/api/blockchainValidateEvmRpcUrl.mjs +0 -54
  82. package/libESM/api/cancelCoinjoinAuthorization.d.mts +0 -11
  83. package/libESM/api/cancelCoinjoinAuthorization.mjs +0 -31
  84. package/libESM/api/cardano/api/cardanoComposeTransaction.d.mts +0 -10
  85. package/libESM/api/cardano/api/cardanoComposeTransaction.mjs +0 -79
  86. package/libESM/api/cardano/api/cardanoGetAddress.d.mts +0 -30
  87. package/libESM/api/cardano/api/cardanoGetAddress.mjs +0 -116
  88. package/libESM/api/cardano/api/cardanoGetNativeScriptHash.d.mts +0 -12
  89. package/libESM/api/cardano/api/cardanoGetNativeScriptHash.mjs +0 -66
  90. package/libESM/api/cardano/api/cardanoGetPublicKey.d.mts +0 -20
  91. package/libESM/api/cardano/api/cardanoGetPublicKey.mjs +0 -72
  92. package/libESM/api/cardano/api/cardanoSignMessage.d.mts +0 -27
  93. package/libESM/api/cardano/api/cardanoSignMessage.mjs +0 -96
  94. package/libESM/api/cardano/api/cardanoSignTransaction.d.mts +0 -81
  95. package/libESM/api/cardano/api/cardanoSignTransaction.mjs +0 -298
  96. package/libESM/api/cardano/api/index.d.mts +0 -6
  97. package/libESM/api/cardano/api/index.mjs +0 -6
  98. package/libESM/api/cardano/cardanoAddressParameters.d.mts +0 -6
  99. package/libESM/api/cardano/cardanoAddressParameters.mjs +0 -79
  100. package/libESM/api/cardano/cardanoAuxiliaryData.d.mts +0 -4
  101. package/libESM/api/cardano/cardanoAuxiliaryData.mjs +0 -74
  102. package/libESM/api/cardano/cardanoCertificate.d.mts +0 -13
  103. package/libESM/api/cardano/cardanoCertificate.mjs +0 -142
  104. package/libESM/api/cardano/cardanoInputs.d.mts +0 -25
  105. package/libESM/api/cardano/cardanoInputs.mjs +0 -39
  106. package/libESM/api/cardano/cardanoOutputs.d.mts +0 -40
  107. package/libESM/api/cardano/cardanoOutputs.mjs +0 -70
  108. package/libESM/api/cardano/cardanoTokenBundle.d.mts +0 -12
  109. package/libESM/api/cardano/cardanoTokenBundle.mjs +0 -21
  110. package/libESM/api/cardano/cardanoUtils.d.mts +0 -9
  111. package/libESM/api/cardano/cardanoUtils.mjs +0 -101
  112. package/libESM/api/cardano/cardanoWitnesses.d.mts +0 -4
  113. package/libESM/api/cardano/cardanoWitnesses.mjs +0 -47
  114. package/libESM/api/changeLanguage.d.mts +0 -18
  115. package/libESM/api/changeLanguage.mjs +0 -47
  116. package/libESM/api/changePin.d.mts +0 -11
  117. package/libESM/api/changePin.mjs +0 -25
  118. package/libESM/api/changeWipeCode.d.mts +0 -11
  119. package/libESM/api/changeWipeCode.mjs +0 -27
  120. package/libESM/api/cipherKeyValue.d.mts +0 -15
  121. package/libESM/api/cipherKeyValue.mjs +0 -51
  122. package/libESM/api/common/AbstractMiscGetAddress.d.mts +0 -35
  123. package/libESM/api/common/AbstractMiscGetAddress.mjs +0 -102
  124. package/libESM/api/common/Discovery.d.mts +0 -33
  125. package/libESM/api/common/Discovery.mjs +0 -116
  126. package/libESM/api/common/paramsValidator.d.mts +0 -23
  127. package/libESM/api/common/paramsValidator.mjs +0 -134
  128. package/libESM/api/common/requestExistingAccounts.d.mts +0 -9
  129. package/libESM/api/common/requestExistingAccounts.mjs +0 -20
  130. package/libESM/api/composeTransaction.d.mts +0 -36
  131. package/libESM/api/composeTransaction.mjs +0 -386
  132. package/libESM/api/discoverAccounts.d.mts +0 -38
  133. package/libESM/api/discoverAccounts.mjs +0 -363
  134. package/libESM/api/ethereum/api/ethereumGetAddress.d.mts +0 -28
  135. package/libESM/api/ethereum/api/ethereumGetAddress.mjs +0 -135
  136. package/libESM/api/ethereum/api/ethereumGetPublicKey.d.mts +0 -48
  137. package/libESM/api/ethereum/api/ethereumGetPublicKey.mjs +0 -90
  138. package/libESM/api/ethereum/api/ethereumSignMessage.d.mts +0 -27
  139. package/libESM/api/ethereum/api/ethereumSignMessage.mjs +0 -64
  140. package/libESM/api/ethereum/api/ethereumSignTransaction.d.mts +0 -83
  141. package/libESM/api/ethereum/api/ethereumSignTransaction.mjs +0 -148
  142. package/libESM/api/ethereum/api/ethereumSignTypedData.d.mts +0 -116
  143. package/libESM/api/ethereum/api/ethereumSignTypedData.mjs +0 -202
  144. package/libESM/api/ethereum/api/ethereumVerifyMessage.d.mts +0 -12
  145. package/libESM/api/ethereum/api/ethereumVerifyMessage.mjs +0 -33
  146. package/libESM/api/ethereum/api/index.d.mts +0 -6
  147. package/libESM/api/ethereum/api/index.mjs +0 -6
  148. package/libESM/api/ethereum/ethereumDefinitions.d.mts +0 -46
  149. package/libESM/api/ethereum/ethereumDefinitions.mjs +0 -103
  150. package/libESM/api/ethereum/ethereumSignTx.d.mts +0 -20
  151. package/libESM/api/ethereum/ethereumSignTx.mjs +0 -131
  152. package/libESM/api/ethereum/ethereumSignTypedData.d.mts +0 -32
  153. package/libESM/api/ethereum/ethereumSignTypedData.mjs +0 -169
  154. package/libESM/api/evoluGetDelegatedIdentityKey.d.mts +0 -14
  155. package/libESM/api/evoluGetDelegatedIdentityKey.mjs +0 -26
  156. package/libESM/api/evoluGetNode.d.mts +0 -13
  157. package/libESM/api/evoluGetNode.mjs +0 -27
  158. package/libESM/api/evoluSignRegistrationRequest.d.mts +0 -15
  159. package/libESM/api/evoluSignRegistrationRequest.mjs +0 -31
  160. package/libESM/api/firmware/calculateFirmwareHash.d.mts +0 -13
  161. package/libESM/api/firmware/calculateFirmwareHash.mjs +0 -56
  162. package/libESM/api/firmware/calculateXPubHash.d.mts +0 -10
  163. package/libESM/api/firmware/calculateXPubHash.mjs +0 -14
  164. package/libESM/api/firmware/getBinary.d.mts +0 -10
  165. package/libESM/api/firmware/getBinary.mjs +0 -33
  166. package/libESM/api/firmware/index.d.mts +0 -6
  167. package/libESM/api/firmware/index.mjs +0 -6
  168. package/libESM/api/firmware/modifyFirmware.d.mts +0 -3
  169. package/libESM/api/firmware/modifyFirmware.mjs +0 -13
  170. package/libESM/api/firmware/parseFirmwareHeaders.d.mts +0 -4
  171. package/libESM/api/firmware/parseFirmwareHeaders.mjs +0 -26
  172. package/libESM/api/firmware/uploadFirmware.d.mts +0 -19
  173. package/libESM/api/firmware/uploadFirmware.mjs +0 -99
  174. package/libESM/api/firmware/verifyEntropy.d.mts +0 -18
  175. package/libESM/api/firmware/verifyEntropy.mjs +0 -107
  176. package/libESM/api/getAccountInfo.d.mts +0 -94
  177. package/libESM/api/getAccountInfo.mjs +0 -385
  178. package/libESM/api/getAddress.d.mts +0 -39
  179. package/libESM/api/getAddress.mjs +0 -142
  180. package/libESM/api/getCoinInfo.d.mts +0 -148
  181. package/libESM/api/getCoinInfo.mjs +0 -29
  182. package/libESM/api/getDeviceState.d.mts +0 -8
  183. package/libESM/api/getDeviceState.mjs +0 -16
  184. package/libESM/api/getFeatures.d.mts +0 -70
  185. package/libESM/api/getFeatures.mjs +0 -20
  186. package/libESM/api/getFirmwareHash.d.mts +0 -11
  187. package/libESM/api/getFirmwareHash.mjs +0 -27
  188. package/libESM/api/getNonce.d.mts +0 -10
  189. package/libESM/api/getNonce.mjs +0 -16
  190. package/libESM/api/getOwnershipId.d.mts +0 -15
  191. package/libESM/api/getOwnershipId.mjs +0 -79
  192. package/libESM/api/getOwnershipProof.d.mts +0 -15
  193. package/libESM/api/getOwnershipProof.mjs +0 -86
  194. package/libESM/api/getPublicKey.d.mts +0 -50
  195. package/libESM/api/getPublicKey.mjs +0 -88
  196. package/libESM/api/getSettings.d.mts +0 -8
  197. package/libESM/api/getSettings.mjs +0 -15
  198. package/libESM/api/index.d.mts +0 -59
  199. package/libESM/api/index.mjs +0 -59
  200. package/libESM/api/loadDevice.d.mts +0 -16
  201. package/libESM/api/loadDevice.mjs +0 -44
  202. package/libESM/api/monero/api/index.d.mts +0 -4
  203. package/libESM/api/monero/api/index.mjs +0 -4
  204. package/libESM/api/monero/api/moneroGetAddress.d.mts +0 -30
  205. package/libESM/api/monero/api/moneroGetAddress.mjs +0 -109
  206. package/libESM/api/monero/api/moneroGetWatchKey.d.mts +0 -14
  207. package/libESM/api/monero/api/moneroGetWatchKey.mjs +0 -44
  208. package/libESM/api/monero/api/moneroKeyImageSync.d.mts +0 -17
  209. package/libESM/api/monero/api/moneroKeyImageSync.mjs +0 -127
  210. package/libESM/api/monero/api/moneroSignTransaction.d.mts +0 -17
  211. package/libESM/api/monero/api/moneroSignTransaction.mjs +0 -202
  212. package/libESM/api/pingDevice.d.mts +0 -11
  213. package/libESM/api/pingDevice.mjs +0 -27
  214. package/libESM/api/pushTransaction.d.mts +0 -17
  215. package/libESM/api/pushTransaction.mjs +0 -42
  216. package/libESM/api/recoveryDevice.d.mts +0 -20
  217. package/libESM/api/recoveryDevice.mjs +0 -50
  218. package/libESM/api/requestLogin.d.mts +0 -14
  219. package/libESM/api/requestLogin.mjs +0 -48
  220. package/libESM/api/resetDevice.d.mts +0 -22
  221. package/libESM/api/resetDevice.mjs +0 -131
  222. package/libESM/api/ripple/api/index.d.mts +0 -2
  223. package/libESM/api/ripple/api/index.mjs +0 -2
  224. package/libESM/api/ripple/api/rippleGetAddress.d.mts +0 -15
  225. package/libESM/api/ripple/api/rippleGetAddress.mjs +0 -22
  226. package/libESM/api/ripple/api/rippleSignTransaction.d.mts +0 -13
  227. package/libESM/api/ripple/api/rippleSignTransaction.mjs +0 -52
  228. package/libESM/api/setBrightness.d.mts +0 -12
  229. package/libESM/api/setBrightness.mjs +0 -26
  230. package/libESM/api/setBusy.d.mts +0 -11
  231. package/libESM/api/setBusy.mjs +0 -32
  232. package/libESM/api/showDeviceTutorial.d.mts +0 -11
  233. package/libESM/api/showDeviceTutorial.mjs +0 -21
  234. package/libESM/api/signMessage.d.mts +0 -25
  235. package/libESM/api/signMessage.mjs +0 -71
  236. package/libESM/api/signTransaction.d.mts +0 -197
  237. package/libESM/api/signTransaction.mjs +0 -334
  238. package/libESM/api/solana/api/index.d.mts +0 -4
  239. package/libESM/api/solana/api/index.mjs +0 -4
  240. package/libESM/api/solana/api/solanaComposeTransaction.d.mts +0 -31
  241. package/libESM/api/solana/api/solanaComposeTransaction.mjs +0 -76
  242. package/libESM/api/solana/api/solanaGetAddress.d.mts +0 -15
  243. package/libESM/api/solana/api/solanaGetAddress.mjs +0 -22
  244. package/libESM/api/solana/api/solanaGetPublicKey.d.mts +0 -28
  245. package/libESM/api/solana/api/solanaGetPublicKey.mjs +0 -67
  246. package/libESM/api/solana/api/solanaSignTransaction.d.mts +0 -41
  247. package/libESM/api/solana/api/solanaSignTransaction.mjs +0 -203
  248. package/libESM/api/solana/solanaDefinitions.d.mts +0 -7
  249. package/libESM/api/solana/solanaDefinitions.mjs +0 -33
  250. package/libESM/api/stellar/api/index.d.mts +0 -2
  251. package/libESM/api/stellar/api/index.mjs +0 -2
  252. package/libESM/api/stellar/api/stellarGetAddress.d.mts +0 -15
  253. package/libESM/api/stellar/api/stellarGetAddress.mjs +0 -22
  254. package/libESM/api/stellar/api/stellarSignTransaction.d.mts +0 -26
  255. package/libESM/api/stellar/api/stellarSignTransaction.mjs +0 -66
  256. package/libESM/api/stellar/stellarSignTx.d.mts +0 -7
  257. package/libESM/api/stellar/stellarSignTx.mjs +0 -191
  258. package/libESM/api/telemetryGet.d.mts +0 -14
  259. package/libESM/api/telemetryGet.mjs +0 -24
  260. package/libESM/api/tezos/api/index.d.mts +0 -3
  261. package/libESM/api/tezos/api/index.mjs +0 -3
  262. package/libESM/api/tezos/api/tezosGetAddress.d.mts +0 -15
  263. package/libESM/api/tezos/api/tezosGetAddress.mjs +0 -22
  264. package/libESM/api/tezos/api/tezosGetPublicKey.d.mts +0 -24
  265. package/libESM/api/tezos/api/tezosGetPublicKey.mjs +0 -66
  266. package/libESM/api/tezos/api/tezosSignTransaction.d.mts +0 -14
  267. package/libESM/api/tezos/api/tezosSignTransaction.mjs +0 -30
  268. package/libESM/api/tezos/tezosSignTx.d.mts +0 -71
  269. package/libESM/api/tezos/tezosSignTx.mjs +0 -204
  270. package/libESM/api/thpGetCredentials.d.mts +0 -13
  271. package/libESM/api/thpGetCredentials.mjs +0 -28
  272. package/libESM/api/thpRemoveCredentials.d.mts +0 -15
  273. package/libESM/api/thpRemoveCredentials.mjs +0 -42
  274. package/libESM/api/tron/api/index.d.mts +0 -3
  275. package/libESM/api/tron/api/index.mjs +0 -3
  276. package/libESM/api/tron/api/tronComposeTransaction.d.mts +0 -17
  277. package/libESM/api/tron/api/tronComposeTransaction.mjs +0 -51
  278. package/libESM/api/tron/api/tronGetAddress.d.mts +0 -15
  279. package/libESM/api/tron/api/tronGetAddress.mjs +0 -20
  280. package/libESM/api/tron/api/tronSignTransaction.d.mts +0 -19
  281. package/libESM/api/tron/api/tronSignTransaction.mjs +0 -129
  282. package/libESM/api/tron/tronEncode.d.mts +0 -12
  283. package/libESM/api/tron/tronEncode.mjs +0 -77
  284. package/libESM/api/tron/tronProtobuf.d.mts +0 -5
  285. package/libESM/api/tron/tronProtobuf.mjs +0 -28
  286. package/libESM/api/unlockPath.d.mts +0 -12
  287. package/libESM/api/unlockPath.mjs +0 -31
  288. package/libESM/api/verifyMessage.d.mts +0 -16
  289. package/libESM/api/verifyMessage.mjs +0 -46
  290. package/libESM/api/wipeDevice.d.mts +0 -21
  291. package/libESM/api/wipeDevice.mjs +0 -47
  292. package/libESM/backend/BackendManager.d.mts +0 -24
  293. package/libESM/backend/BackendManager.mjs +0 -137
  294. package/libESM/backend/Blockchain.d.mts +0 -81
  295. package/libESM/backend/Blockchain.mjs +0 -232
  296. package/libESM/backend/BlockchainLink.d.mts +0 -9
  297. package/libESM/backend/BlockchainLink.mjs +0 -13
  298. package/libESM/backend/fees/BitcoinFeeLevels.d.mts +0 -19
  299. package/libESM/backend/fees/BitcoinFeeLevels.mjs +0 -43
  300. package/libESM/backend/fees/EthereumFeeLevels.d.mts +0 -17
  301. package/libESM/backend/fees/EthereumFeeLevels.mjs +0 -52
  302. package/libESM/backend/fees/MiscFeeLevels.d.mts +0 -18
  303. package/libESM/backend/fees/MiscFeeLevels.mjs +0 -25
  304. package/libESM/backend/fees/index.d.mts +0 -5
  305. package/libESM/backend/fees/index.mjs +0 -30
  306. package/libESM/core/AbstractMethod.d.mts +0 -65
  307. package/libESM/core/AbstractMethod.mjs +0 -153
  308. package/libESM/core/index.d.mts +0 -27
  309. package/libESM/core/index.mjs +0 -795
  310. package/libESM/core/method.d.mts +0 -3
  311. package/libESM/core/method.mjs +0 -19
  312. package/libESM/core/method.native.d.mts +0 -2
  313. package/libESM/core/method.native.mjs +0 -29
  314. package/libESM/core/onCallFirmwareUpdate.d.mts +0 -39
  315. package/libESM/core/onCallFirmwareUpdate.mjs +0 -436
  316. package/libESM/data/coinInfo.d.mts +0 -374
  317. package/libESM/data/coinInfo.mjs +0 -183
  318. package/libESM/data/config.d.mts +0 -8
  319. package/libESM/data/config.mjs +0 -265
  320. package/libESM/data/defaultFeeLevels.d.mts +0 -18
  321. package/libESM/data/defaultFeeLevels.mjs +0 -174
  322. package/libESM/data/firmwareInfo.d.mts +0 -41
  323. package/libESM/data/firmwareInfo.mjs +0 -411
  324. package/libESM/data/firmwareReleaseStore.d.mts +0 -10
  325. package/libESM/data/firmwareReleaseStore.mjs +0 -16
  326. package/libESM/data/localFirmwareStore.d.mts +0 -3
  327. package/libESM/data/localFirmwareStore.mjs +0 -8
  328. package/libESM/data/protobufLoader.d.mts +0 -1
  329. package/libESM/data/protobufLoader.mjs +0 -29
  330. package/libESM/data/settingsStore.d.mts +0 -6
  331. package/libESM/data/settingsStore.mjs +0 -21
  332. package/libESM/device/Device.d.mts +0 -237
  333. package/libESM/device/Device.mjs +0 -729
  334. package/libESM/device/DeviceCommands.d.mts +0 -77
  335. package/libESM/device/DeviceCommands.mjs +0 -245
  336. package/libESM/device/DeviceCurrentSession.d.mts +0 -3208
  337. package/libESM/device/DeviceCurrentSession.mjs +0 -240
  338. package/libESM/device/DeviceList.d.mts +0 -68
  339. package/libESM/device/DeviceList.mjs +0 -246
  340. package/libESM/device/TransportList.d.mts +0 -9
  341. package/libESM/device/TransportList.mjs +0 -41
  342. package/libESM/device/TransportManager.d.mts +0 -30
  343. package/libESM/device/TransportManager.mjs +0 -142
  344. package/libESM/device/calculateRevisionForDevice.d.mts +0 -7
  345. package/libESM/device/calculateRevisionForDevice.mjs +0 -19
  346. package/libESM/device/checkFirmwareRevision.d.mts +0 -12
  347. package/libESM/device/checkFirmwareRevision.mjs +0 -75
  348. package/libESM/device/resolveDescriptorForTaproot.d.mts +0 -14
  349. package/libESM/device/resolveDescriptorForTaproot.mjs +0 -25
  350. package/libESM/device/thp/handshake.d.mts +0 -3
  351. package/libESM/device/thp/handshake.mjs +0 -100
  352. package/libESM/device/thp/index.d.mts +0 -5
  353. package/libESM/device/thp/index.mjs +0 -65
  354. package/libESM/device/thp/pairing.d.mts +0 -16
  355. package/libESM/device/thp/pairing.mjs +0 -237
  356. package/libESM/device/thp/session.d.mts +0 -2
  357. package/libESM/device/thp/session.mjs +0 -27
  358. package/libESM/device/thp/thpCall.d.mts +0 -40
  359. package/libESM/device/thp/thpCall.mjs +0 -58
  360. package/libESM/device/validateMessageSize.d.mts +0 -2
  361. package/libESM/device/validateMessageSize.mjs +0 -9
  362. package/libESM/device/workflow/changeLanguage.d.mts +0 -14
  363. package/libESM/device/workflow/changeLanguage.mjs +0 -59
  364. package/libESM/device/workflow/checkFirmwareHash.d.mts +0 -9
  365. package/libESM/device/workflow/checkFirmwareHash.mjs +0 -86
  366. package/libESM/device/workflow/checkFirmwareHashWithRetries.d.mts +0 -8
  367. package/libESM/device/workflow/checkFirmwareHashWithRetries.mjs +0 -36
  368. package/libESM/device/workflow/handshake.d.mts +0 -9
  369. package/libESM/device/workflow/handshake.mjs +0 -55
  370. package/libESM/device/workflow/trezorPushNotification.d.mts +0 -2
  371. package/libESM/device/workflow/trezorPushNotification.mjs +0 -73
  372. package/libESM/device/workflow/validateState.d.mts +0 -2
  373. package/libESM/device/workflow/validateState.mjs +0 -153
  374. package/libESM/events/ui-promise.d.mts +0 -22
  375. package/libESM/events/ui-promise.mjs +0 -1
  376. package/libESM/exports.d.mts +0 -3
  377. package/libESM/exports.mjs +0 -3
  378. package/libESM/impl/core-in-module.d.mts +0 -27
  379. package/libESM/impl/core-in-module.mjs +0 -173
  380. package/libESM/index.browser.d.mts +0 -9
  381. package/libESM/index.browser.mjs +0 -50
  382. package/libESM/index.d.mts +0 -6
  383. package/libESM/index.mjs +0 -32
  384. package/libESM/index.renderer.d.mts +0 -6
  385. package/libESM/index.renderer.mjs +0 -19
  386. package/libESM/tsconfig.libESM.tsbuildinfo +0 -1
  387. package/libESM/types/idevice.d.mts +0 -109
  388. package/libESM/types/idevice.mjs +0 -1
  389. package/libESM/types/typed-call-provider.d.mts +0 -29
  390. package/libESM/types/typed-call-provider.mjs +0 -1
  391. package/libESM/types/workflow.d.mts +0 -16
  392. package/libESM/types/workflow.mjs +0 -1
  393. package/libESM/utils/accountUtils.d.mts +0 -10
  394. package/libESM/utils/accountUtils.mjs +0 -83
  395. package/libESM/utils/addressUtils.d.mts +0 -2
  396. package/libESM/utils/addressUtils.mjs +0 -24
  397. package/libESM/utils/assetUtils.d.mts +0 -13
  398. package/libESM/utils/assetUtils.mjs +0 -56
  399. package/libESM/utils/assets.browser.d.mts +0 -1
  400. package/libESM/utils/assets.browser.mjs +0 -1
  401. package/libESM/utils/assets.d.mts +0 -2
  402. package/libESM/utils/assets.mjs +0 -13
  403. package/libESM/utils/assets.native.d.mts +0 -2
  404. package/libESM/utils/assets.native.mjs +0 -23
  405. package/libESM/utils/assetsTypes.d.mts +0 -5
  406. package/libESM/utils/assetsTypes.mjs +0 -1
  407. package/libESM/utils/buildOutputDescriptor.d.mts +0 -12
  408. package/libESM/utils/buildOutputDescriptor.mjs +0 -67
  409. package/libESM/utils/deviceFeaturesUtils.d.mts +0 -7
  410. package/libESM/utils/deviceFeaturesUtils.mjs +0 -109
  411. package/libESM/utils/ethereumUtils.d.mts +0 -3
  412. package/libESM/utils/ethereumUtils.mjs +0 -7
  413. package/libESM/utils/firmwareReleaseConfigUtils.d.mts +0 -19
  414. package/libESM/utils/firmwareReleaseConfigUtils.mjs +0 -131
  415. package/libESM/utils/firmwareUtils.d.mts +0 -13
  416. package/libESM/utils/firmwareUtils.mjs +0 -54
  417. package/libESM/utils/formatUtils.d.mts +0 -15
  418. package/libESM/utils/formatUtils.mjs +0 -45
  419. package/libESM/utils/hdnodeUtils.d.mts +0 -6
  420. package/libESM/utils/hdnodeUtils.mjs +0 -62
  421. package/libESM/utils/pathUtils.d.mts +0 -17
  422. package/libESM/utils/pathUtils.mjs +0 -141
  423. package/libESM/utils/paymentRequest.d.mts +0 -8
  424. package/libESM/utils/paymentRequest.mjs +0 -25
  425. package/libESM/utils/uiPromiseManager.d.mts +0 -8
  426. package/libESM/utils/uiPromiseManager.mjs +0 -51
  427. package/libESM/workers/workers.browser.d.mts +0 -10
  428. package/libESM/workers/workers.browser.mjs +0 -16
  429. package/libESM/workers/workers.d.mts +0 -10
  430. package/libESM/workers/workers.mjs +0 -8
  431. package/libESM/workers/workers.native.d.mts +0 -7
  432. package/libESM/workers/workers.native.mjs +0 -7
@@ -1,142 +0,0 @@
1
- import { TRANSPORT } from "@trezor/transport";
2
- import { TypedEmitter, resolveAfter } from "@trezor/utils";
3
- const createOverrideLock = () => {
4
- let promise;
5
- let sequence = 0;
6
- let abort;
7
- let message;
8
- const override = async (abortMessage, action) => {
9
- message = abortMessage;
10
- const seq = ++sequence;
11
- while (promise) {
12
- abort?.abort(new Error(abortMessage));
13
- await promise.catch(() => {});
14
- }
15
- if (seq !== sequence) return Promise.reject(new Error(message));
16
- abort = new AbortController();
17
- promise = action(abort.signal).finally(() => {
18
- abort = undefined;
19
- promise = undefined;
20
- });
21
- return promise;
22
- };
23
- const getPending = () => promise;
24
- return {
25
- override,
26
- getPending
27
- };
28
- };
29
- export class TransportManager extends TypedEmitter {
30
- lock = createOverrideLock();
31
- transports = [];
32
- activeTransport;
33
- transportReconnect = false;
34
- upgradeTimeout;
35
- startTransport;
36
- constructor(startTransport) {
37
- super();
38
- this.startTransport = startTransport;
39
- }
40
- pending() {
41
- return this.lock.getPending();
42
- }
43
- get() {
44
- return this.activeTransport;
45
- }
46
- init({
47
- transports,
48
- transportReconnect = false,
49
- pendingTransportEvent = false
50
- }) {
51
- this.transports = transports;
52
- this.transportReconnect = transportReconnect;
53
- return this.lock.override('New init', signal => this.createInitPromise(pendingTransportEvent, signal));
54
- }
55
- dispose() {
56
- this.removeAllListeners();
57
- return this.lock.override('Disposing', () => {
58
- const {
59
- activeTransport
60
- } = this;
61
- if (activeTransport) {
62
- clearTimeout(this.upgradeTimeout);
63
- delete this.activeTransport;
64
- activeTransport.stop();
65
- }
66
- return Promise.resolve();
67
- });
68
- }
69
- async selectTransport([transport, ...rest], signal) {
70
- if (signal.aborted) throw new Error(signal.reason);
71
- if (transport === this.activeTransport) return transport;
72
- const result = await transport.init({
73
- signal
74
- });
75
- if (result.success) return transport;else if (rest.length) return this.selectTransport(rest, signal);else throw new Error(result.error.code);
76
- }
77
- scheduleUpgradeCheck(pendingTransportEvent) {
78
- clearTimeout(this.upgradeTimeout);
79
- this.upgradeTimeout = setTimeout(async () => {
80
- if (!this.activeTransport || this.activeTransport === this.transports[0]) return;
81
- for (const t of this.transports) {
82
- if (t === this.activeTransport) break;
83
- if (await t.ping()) {
84
- this.lock.override('Upgrading', signal => this.createInitPromise(pendingTransportEvent, signal)).catch(() => {});
85
- return;
86
- }
87
- }
88
- this.scheduleUpgradeCheck(pendingTransportEvent);
89
- }, 1000);
90
- }
91
- async createInitPromise(pendingTransportEvent, abortSignal) {
92
- try {
93
- const {
94
- transports,
95
- activeTransport
96
- } = this;
97
- const transport = transports.length ? await this.selectTransport(transports, abortSignal) : undefined;
98
- if (activeTransport !== transport) {
99
- if (activeTransport) {
100
- clearTimeout(this.upgradeTimeout);
101
- delete this.activeTransport;
102
- activeTransport.stop();
103
- }
104
- if (transport) {
105
- try {
106
- await this.startTransport(transport, pendingTransportEvent, abortSignal);
107
- } catch (err) {
108
- transport.stop();
109
- throw err;
110
- }
111
- transport.on(TRANSPORT.ERROR, error => {
112
- this.emit(TRANSPORT.ERROR, error);
113
- clearTimeout(this.upgradeTimeout);
114
- this.lock.override('Transport error', async signal => {
115
- delete this.activeTransport;
116
- transport.stop();
117
- if (this.transportReconnect) {
118
- await resolveAfter(1000, signal);
119
- await this.createInitPromise(pendingTransportEvent, signal);
120
- }
121
- }).catch(() => {});
122
- });
123
- this.activeTransport = transport;
124
- this.emit(TRANSPORT.START, transport);
125
- } else {
126
- this.emit(TRANSPORT.ERROR, 'Transport disabled');
127
- }
128
- }
129
- if (transport && transport !== transports[0]) {
130
- this.scheduleUpgradeCheck(pendingTransportEvent);
131
- }
132
- } catch (error) {
133
- this.emit(TRANSPORT.ERROR, error?.message);
134
- if (this.transportReconnect && !abortSignal.aborted) {
135
- this.lock.override('Reconnecting', async signal => {
136
- await resolveAfter(1000, signal);
137
- await this.createInitPromise(pendingTransportEvent, signal);
138
- }).catch(() => {});
139
- }
140
- }
141
- }
142
- }
@@ -1,7 +0,0 @@
1
- import type { VersionArray } from '@trezor/utils/libESM/versionUtils';
2
- type calculateRevisionForDeviceParams = {
3
- commitRevision: string;
4
- version: VersionArray;
5
- };
6
- export declare const calculateRevisionForDevice: ({ commitRevision, version, }: calculateRevisionForDeviceParams) => string;
7
- export {};
@@ -1,19 +0,0 @@
1
- import { isNewer } from "@trezor/utils/libESM/versionUtils.mjs";
2
- export const calculateRevisionForDevice = ({
3
- commitRevision,
4
- version
5
- }) => {
6
- if (isNewer(version, '2.4.0')) {
7
- return commitRevision;
8
- }
9
- if (isNewer(version, '2.2.0')) {
10
- return commitRevision.slice(0, 9);
11
- }
12
- if (isNewer(version, '2.1.8')) {
13
- return commitRevision;
14
- }
15
- if (isNewer(version, '2.0.0')) {
16
- return commitRevision.slice(0, 8);
17
- }
18
- return commitRevision;
19
- };
@@ -1,12 +0,0 @@
1
- import type { FirmwareRevisionCheckResult } from '@trezor/connect-common/libESM/types/device';
2
- import type { FirmwareType } from '@trezor/device-utils';
3
- import type { MessagesSchema as PROTO } from '@trezor/protobuf';
4
- import type { VersionArray } from '@trezor/utils/libESM/versionUtils';
5
- export type CheckFirmwareRevisionParams = {
6
- firmwareVersion: VersionArray;
7
- internalModel: PROTO.DeviceModelInternal;
8
- deviceRevision: string | null;
9
- expectedRevision: string | undefined;
10
- firmwareType: FirmwareType;
11
- };
12
- export declare const checkFirmwareRevision: ({ firmwareVersion, internalModel, deviceRevision, expectedRevision, firmwareType, }: CheckFirmwareRevisionParams) => Promise<FirmwareRevisionCheckResult>;
@@ -1,75 +0,0 @@
1
- import { serializeError, versionUtils } from "@trezor/utils";
2
- import { calculateRevisionForDevice } from "./calculateRevisionForDevice.mjs";
3
- import { getOnlineReleaseByVersion } from "../data/firmwareInfo.mjs";
4
- import { HttpRequestError } from "../utils/assetUtils.mjs";
5
- const isNotFoundError = e => e instanceof HttpRequestError && e.response.status === 404;
6
- const isNodeJSOfflineError = e => ['FetchError', 'AbortError'].includes(e.name);
7
- const isReactNativeOfflineError = e => e.name === 'TypeError' && e.message.includes('Network request failed');
8
- const isAbortControllerTimeout = e => e.message.includes('Aborted') || e.name === 'AbortError' || e.name === 'TimeoutError' && e.message.includes('signal timed out');
9
- const isOfflineError = e => {
10
- if (!(e instanceof Error)) return false;
11
- return isNodeJSOfflineError(e) || isReactNativeOfflineError(e) || isAbortControllerTimeout(e);
12
- };
13
- const failFirmwareRevisionCheck = (error, errorPayload) => ({
14
- success: false,
15
- error,
16
- ...(errorPayload ? {
17
- errorPayload
18
- } : null)
19
- });
20
- const doRevisionsMatch = ({
21
- deviceRevision,
22
- expectedCommitRevision,
23
- firmwareVersion
24
- }) => {
25
- if (deviceRevision === null) {
26
- return false;
27
- }
28
- const adjustedExpected = calculateRevisionForDevice({
29
- commitRevision: expectedCommitRevision,
30
- version: firmwareVersion
31
- });
32
- return adjustedExpected === deviceRevision;
33
- };
34
- export const checkFirmwareRevision = async ({
35
- firmwareVersion,
36
- internalModel,
37
- deviceRevision,
38
- expectedRevision,
39
- firmwareType
40
- }) => {
41
- if (expectedRevision === undefined) {
42
- if (!versionUtils.isVersionArray(firmwareVersion)) {
43
- return failFirmwareRevisionCheck('firmware-version-unknown');
44
- }
45
- try {
46
- const onlineRelease = await getOnlineReleaseByVersion(internalModel, firmwareVersion, firmwareType);
47
- if (onlineRelease?.firmware_revision === undefined) {
48
- return failFirmwareRevisionCheck('firmware-version-unknown');
49
- }
50
- if (!doRevisionsMatch({
51
- deviceRevision,
52
- expectedCommitRevision: onlineRelease.firmware_revision,
53
- firmwareVersion
54
- })) {
55
- return failFirmwareRevisionCheck('revision-mismatch');
56
- }
57
- return {
58
- success: true
59
- };
60
- } catch (e) {
61
- if (isNotFoundError(e)) return failFirmwareRevisionCheck('firmware-version-unknown');
62
- return isOfflineError(e) ? failFirmwareRevisionCheck('cannot-perform-check-offline') : failFirmwareRevisionCheck('other-error', serializeError(e));
63
- }
64
- }
65
- if (!doRevisionsMatch({
66
- deviceRevision,
67
- expectedCommitRevision: expectedRevision,
68
- firmwareVersion
69
- })) {
70
- return failFirmwareRevisionCheck('revision-mismatch');
71
- }
72
- return {
73
- success: true
74
- };
75
- };
@@ -1,14 +0,0 @@
1
- import type { HDNodeResponse } from '@trezor/connect-common/libESM/types/api/getPublicKey';
2
- import type { MessagesSchema as Messages } from '@trezor/protobuf';
3
- interface ResolveDescriptorForTaprootParams {
4
- response: HDNodeResponse;
5
- publicKey: Messages.PublicKey;
6
- }
7
- export declare const resolveDescriptorForTaproot: ({ response, publicKey, }: ResolveDescriptorForTaprootParams) => {
8
- xpub: string;
9
- checksum: string;
10
- } | {
11
- xpub: string;
12
- checksum: undefined;
13
- };
14
- export {};
@@ -1,25 +0,0 @@
1
- import { convertTaprootXpub } from "@trezor/utils";
2
- export const resolveDescriptorForTaproot = ({
3
- response,
4
- publicKey
5
- }) => {
6
- if (publicKey.descriptor !== null && publicKey.descriptor !== undefined) {
7
- const [xpub, checksum] = publicKey.descriptor.split('#');
8
- const correctedXpub = convertTaprootXpub({
9
- xpub,
10
- direction: 'h-to-apostrophe'
11
- });
12
- if (correctedXpub !== null) {
13
- return {
14
- xpub: correctedXpub,
15
- checksum
16
- };
17
- }
18
- }
19
- const fingerprint = Number(publicKey.root_fingerprint || 0).toString(16).padStart(8, '0');
20
- const descriptorPath = `${fingerprint}${response.serializedPath.substring(1)}`;
21
- return {
22
- xpub: `tr([${descriptorPath}]${response.xpub}/<0;1>/*)`,
23
- checksum: undefined
24
- };
25
- };
@@ -1,3 +0,0 @@
1
- import type { IDevice } from '../../types/idevice';
2
- export declare const createThpChannel: (device: IDevice) => Promise<void>;
3
- export declare const thpHandshake: (device: IDevice, unlockPin?: boolean) => Promise<void>;
@@ -1,100 +0,0 @@
1
- import { randomBytes } from "crypto";
2
- import { ERRORS } from "@trezor/connect-common/libESM/constants/index.mjs";
3
- import { protobufManager } from "@trezor/protobuf";
4
- import { thp as protocolThp } from "@trezor/protocol";
5
- import { thpCall } from "./thpCall.mjs";
6
- import * as settingsStore from "../../data/settingsStore.mjs";
7
- const getPairingMethods = (deviceMethods, settingsMethods) => deviceMethods?.flatMap(dm => {
8
- const value = protocolThp.getThpPairingMethod(dm);
9
- const isRequested = settingsMethods && settingsMethods.find(sm => value === protocolThp.getThpPairingMethod(sm));
10
- return isRequested ? value : [];
11
- });
12
- export const createThpChannel = async device => {
13
- const thpState = device.getThpState();
14
- if (!thpState) {
15
- throw ERRORS.TypedError('Device_ThpStateMissing');
16
- }
17
- thpState.setChannel(protocolThp.constants.THP_DEFAULT_CHANNEL);
18
- const nonce = randomBytes(8);
19
- const createChannel = await thpCall(device, 'ThpCreateChannelRequest', {
20
- nonce
21
- });
22
- const {
23
- properties,
24
- ...resp
25
- } = createChannel.message;
26
- if (nonce.compare(resp.nonce) !== 0) {
27
- throw new Error('Nonce not meet' + nonce.toString('hex') + ' ' + resp.nonce.toString('hex'));
28
- }
29
- const settings = settingsStore.get('thp');
30
- const pairingMethods = getPairingMethods(properties.pairing_methods, settings?.pairingMethods);
31
- if (!pairingMethods?.length) {
32
- throw ERRORS.TypedError('Device_ThpPairingMethodsException');
33
- }
34
- thpState.setThpProperties(properties);
35
- thpState.setChannel(resp.channel);
36
- thpState.updateHandshakeCredentials({
37
- pairingMethods,
38
- handshakeHash: resp.handshakeHash
39
- });
40
- };
41
- export const thpHandshake = async (device, unlockPin = false) => {
42
- const thpState = device.getThpState();
43
- if (!thpState?.handshakeCredentials) {
44
- throw ERRORS.TypedError('Device_ThpStateMissing');
45
- }
46
- const settings = settingsStore.get('thp');
47
- const knownCredentials = (settings?.knownCredentials || []).sort(cre => cre.autoconnect ? -1 : 1);
48
- const tryToUnlock = unlockPin ? 1 : 0;
49
- const hostEphemeralKeys = protocolThp.getCurve25519KeyPair(randomBytes(32));
50
- const handshakeInit = await thpCall(device, 'ThpHandshakeInitRequest', {
51
- key: hostEphemeralKeys.publicKey,
52
- tryToUnlock
53
- });
54
- const {
55
- trezorEncryptedStaticPubkey
56
- } = handshakeInit.message;
57
- const handshakeCredentials = protocolThp.handleHandshakeInit({
58
- handshakeInitResponse: handshakeInit.message,
59
- thpState,
60
- hostEphemeralKeys,
61
- knownCredentials,
62
- tryToUnlock,
63
- protobufEncoder: (name, data) => protobufManager.encode(name, data)
64
- });
65
- const {
66
- hostKey,
67
- trezorKey,
68
- hostEncryptedStaticPubkey
69
- } = handshakeCredentials;
70
- thpState.updateHandshakeCredentials({
71
- trezorEncryptedStaticPubkey,
72
- hostEncryptedStaticPubkey,
73
- handshakeHash: handshakeCredentials.handshakeHash,
74
- trezorKey,
75
- hostKey,
76
- staticKey: handshakeCredentials.staticKey,
77
- hostStaticPublicKey: handshakeCredentials.hostStaticKeys.publicKey
78
- });
79
- thpState.setPairingCredentials(handshakeCredentials.allCredentials);
80
- const handshakeCompletion = await thpCall(device, 'ThpHandshakeCompletionRequest', {
81
- hostPubkey: hostEncryptedStaticPubkey,
82
- encryptedPayload: handshakeCredentials.encryptedPayload
83
- });
84
- if (!handshakeCompletion.message.state && handshakeCredentials.credentials) {
85
- thpState.removePairingCredential(handshakeCredentials.credentials);
86
- const {
87
- credential
88
- } = handshakeCredentials.credentials;
89
- const index = settings?.knownCredentials?.findIndex(c => c.credential === credential) ?? -1;
90
- if (index >= 0) {
91
- settings?.knownCredentials?.splice(index, 1);
92
- }
93
- }
94
- thpState.setIsPaired(handshakeCompletion.message.state !== 0);
95
- thpState.setPhase('pairing');
96
- if (thpState.isAutoconnectPaired || handshakeCompletion.message.state === 2) {
97
- await thpCall(device, 'ThpEndRequest', {});
98
- thpState.setPhase('paired');
99
- }
100
- };
@@ -1,5 +0,0 @@
1
- import type { IDevice } from '../../types/idevice';
2
- export { abortThpWorkflow } from './thpCall';
3
- export { getThpCredentials } from './pairing';
4
- export { createThpSession } from './session';
5
- export declare const getThpChannel: (device: IDevice, withInteraction?: boolean) => Promise<"pin-locked" | "thp-locked" | undefined>;
@@ -1,65 +0,0 @@
1
- import { DEVICE } from "@trezor/connect-common";
2
- import { createThpChannel, thpHandshake } from "./handshake.mjs";
3
- import { thpPairing } from "./pairing.mjs";
4
- export { abortThpWorkflow } from "./thpCall.mjs";
5
- export { getThpCredentials } from "./pairing.mjs";
6
- export { createThpSession } from "./session.mjs";
7
- export const getThpChannel = async (device, withInteraction) => {
8
- const thpState = device.getThpState();
9
- if (!thpState) return;
10
- try {
11
- if (thpState.phase === 'handshake') {
12
- await createThpChannel(device);
13
- try {
14
- await thpHandshake(device);
15
- } catch (error) {
16
- const isPinLocked = error.code === 'ThpDeviceLocked';
17
- const isTransportBusy = error.message === 'ThpTransportBusy';
18
- if (!isPinLocked && !isTransportBusy) throw error;
19
- thpState.resetState();
20
- if (isPinLocked && !withInteraction) return 'pin-locked';
21
- if (isPinLocked) {
22
- device.emit(DEVICE.BUTTON, {
23
- device,
24
- payload: {
25
- code: 'ButtonRequest_PinEntry'
26
- }
27
- });
28
- }
29
- await createThpChannel(device);
30
- await thpHandshake(device, isPinLocked);
31
- }
32
- }
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);
39
- }
40
- if (thpState.phase !== 'paired') {
41
- device.emit(DEVICE.THP_PAIRING_STATUS_CHANGED, {
42
- status: 'failed',
43
- message: 'THP Locked'
44
- });
45
- return 'thp-locked';
46
- } else if (startPairing) {
47
- device.emit(DEVICE.THP_PAIRING_STATUS_CHANGED, {
48
- status: 'finished'
49
- });
50
- }
51
- } catch (error) {
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
- }
63
- throw error;
64
- }
65
- };
@@ -1,16 +0,0 @@
1
- import { thp as protocolThp } from '@trezor/protocol';
2
- import type { IDevice } from '../../types/idevice';
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;
8
- }>;
9
- export declare const thpPairingEnd: (device: IDevice) => Promise<{
10
- type: "ThpEndResponse";
11
- message: protocolThp.ThpEndResponse;
12
- }>;
13
- export declare const thpPairing: (device: IDevice) => Promise<{
14
- type: "ThpEndResponse";
15
- message: protocolThp.ThpEndResponse;
16
- } | undefined>;