@trezor/connect 10.0.0-beta.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 (429) hide show
  1. package/CHANGELOG.md +56 -9
  2. package/README.md +4 -2
  3. package/lib/exports.d.ts +1 -3
  4. package/lib/exports.js +1 -3
  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.js +2 -26
  12. package/lib/index.js +1 -11
  13. package/lib/index.native.d.ts +4 -0
  14. package/lib/index.native.js +5 -0
  15. package/package.json +16 -67
  16. package/lib/api/applyFlags.d.ts +0 -20
  17. package/lib/api/applyFlags.js +0 -38
  18. package/lib/api/applySettings.d.ts +0 -20
  19. package/lib/api/applySettings.js +0 -57
  20. package/lib/api/authenticateDevice.d.ts +0 -25
  21. package/lib/api/authenticateDevice.js +0 -195
  22. package/lib/api/authorizeCoinjoin.d.ts +0 -11
  23. package/lib/api/authorizeCoinjoin.js +0 -44
  24. package/lib/api/backupDevice.d.ts +0 -19
  25. package/lib/api/backupDevice.js +0 -39
  26. package/lib/api/bitcoin/TransactionComposer.d.ts +0 -46
  27. package/lib/api/bitcoin/TransactionComposer.js +0 -147
  28. package/lib/api/bitcoin/createPendingTx.d.ts +0 -37
  29. package/lib/api/bitcoin/createPendingTx.js +0 -55
  30. package/lib/api/bitcoin/enhanceSignTx.d.ts +0 -2
  31. package/lib/api/bitcoin/enhanceSignTx.js +0 -23
  32. package/lib/api/bitcoin/index.d.ts +0 -9
  33. package/lib/api/bitcoin/index.js +0 -9
  34. package/lib/api/bitcoin/inputs.d.ts +0 -4
  35. package/lib/api/bitcoin/inputs.js +0 -63
  36. package/lib/api/bitcoin/outputs.d.ts +0 -5
  37. package/lib/api/bitcoin/outputs.js +0 -128
  38. package/lib/api/bitcoin/refTx.d.ts +0 -23
  39. package/lib/api/bitcoin/refTx.js +0 -249
  40. package/lib/api/bitcoin/signtx.d.ts +0 -30
  41. package/lib/api/bitcoin/signtx.js +0 -229
  42. package/lib/api/bitcoin/signtxLegacy.d.ts +0 -10
  43. package/lib/api/bitcoin/signtxLegacy.js +0 -186
  44. package/lib/api/bitcoin/signtxVerify.d.ts +0 -12
  45. package/lib/api/bitcoin/signtxVerify.js +0 -95
  46. package/lib/api/bitcoin/transactionBytes.d.ts +0 -3
  47. package/lib/api/bitcoin/transactionBytes.js +0 -65
  48. package/lib/api/bleUnpair.d.ts +0 -11
  49. package/lib/api/bleUnpair.js +0 -37
  50. package/lib/api/blockchainDisconnect.d.ts +0 -16
  51. package/lib/api/blockchainDisconnect.js +0 -37
  52. package/lib/api/blockchainEstimateFee.d.ts +0 -16
  53. package/lib/api/blockchainEstimateFee.js +0 -102
  54. package/lib/api/blockchainEvmRpcCall.d.ts +0 -19
  55. package/lib/api/blockchainEvmRpcCall.js +0 -57
  56. package/lib/api/blockchainGetAccountBalanceHistory.d.ts +0 -16
  57. package/lib/api/blockchainGetAccountBalanceHistory.js +0 -60
  58. package/lib/api/blockchainGetContractInfo.d.ts +0 -16
  59. package/lib/api/blockchainGetContractInfo.js +0 -46
  60. package/lib/api/blockchainGetCurrentFiatRates.d.ts +0 -20
  61. package/lib/api/blockchainGetCurrentFiatRates.js +0 -49
  62. package/lib/api/blockchainGetFiatRatesForTimestamps.d.ts +0 -23
  63. package/lib/api/blockchainGetFiatRatesForTimestamps.js +0 -55
  64. package/lib/api/blockchainGetInfo.d.ts +0 -15
  65. package/lib/api/blockchainGetInfo.js +0 -37
  66. package/lib/api/blockchainGetTransactions.d.ts +0 -18
  67. package/lib/api/blockchainGetTransactions.js +0 -47
  68. package/lib/api/blockchainSetCustomBackend.d.ts +0 -17
  69. package/lib/api/blockchainSetCustomBackend.js +0 -43
  70. package/lib/api/blockchainSubscribe.d.ts +0 -19
  71. package/lib/api/blockchainSubscribe.js +0 -66
  72. package/lib/api/blockchainSubscribeFiatRates.d.ts +0 -19
  73. package/lib/api/blockchainSubscribeFiatRates.js +0 -43
  74. package/lib/api/blockchainUnsubscribe.d.ts +0 -19
  75. package/lib/api/blockchainUnsubscribe.js +0 -66
  76. package/lib/api/blockchainUnsubscribeFiatRates.d.ts +0 -17
  77. package/lib/api/blockchainUnsubscribeFiatRates.js +0 -37
  78. package/lib/api/blockchainValidateEvmRpcUrl.d.ts +0 -17
  79. package/lib/api/blockchainValidateEvmRpcUrl.js +0 -54
  80. package/lib/api/cancelCoinjoinAuthorization.d.ts +0 -11
  81. package/lib/api/cancelCoinjoinAuthorization.js +0 -33
  82. package/lib/api/cardano/api/cardanoComposeTransaction.d.ts +0 -10
  83. package/lib/api/cardano/api/cardanoComposeTransaction.js +0 -84
  84. package/lib/api/cardano/api/cardanoGetAddress.d.ts +0 -34
  85. package/lib/api/cardano/api/cardanoGetAddress.js +0 -130
  86. package/lib/api/cardano/api/cardanoGetNativeScriptHash.d.ts +0 -12
  87. package/lib/api/cardano/api/cardanoGetNativeScriptHash.js +0 -66
  88. package/lib/api/cardano/api/cardanoGetPublicKey.d.ts +0 -22
  89. package/lib/api/cardano/api/cardanoGetPublicKey.js +0 -92
  90. package/lib/api/cardano/api/cardanoSignMessage.d.ts +0 -22
  91. package/lib/api/cardano/api/cardanoSignMessage.js +0 -90
  92. package/lib/api/cardano/api/cardanoSignTransaction.d.ts +0 -81
  93. package/lib/api/cardano/api/cardanoSignTransaction.js +0 -301
  94. package/lib/api/cardano/api/index.d.ts +0 -6
  95. package/lib/api/cardano/api/index.js +0 -6
  96. package/lib/api/cardano/cardanoAddressParameters.d.ts +0 -6
  97. package/lib/api/cardano/cardanoAddressParameters.js +0 -79
  98. package/lib/api/cardano/cardanoAuxiliaryData.d.ts +0 -4
  99. package/lib/api/cardano/cardanoAuxiliaryData.js +0 -74
  100. package/lib/api/cardano/cardanoCertificate.d.ts +0 -13
  101. package/lib/api/cardano/cardanoCertificate.js +0 -142
  102. package/lib/api/cardano/cardanoInputs.d.ts +0 -25
  103. package/lib/api/cardano/cardanoInputs.js +0 -39
  104. package/lib/api/cardano/cardanoOutputs.d.ts +0 -40
  105. package/lib/api/cardano/cardanoOutputs.js +0 -70
  106. package/lib/api/cardano/cardanoTokenBundle.d.ts +0 -12
  107. package/lib/api/cardano/cardanoTokenBundle.js +0 -21
  108. package/lib/api/cardano/cardanoUtils.d.ts +0 -17
  109. package/lib/api/cardano/cardanoUtils.js +0 -100
  110. package/lib/api/cardano/cardanoWitnesses.d.ts +0 -4
  111. package/lib/api/cardano/cardanoWitnesses.js +0 -47
  112. package/lib/api/changeLanguage.d.ts +0 -18
  113. package/lib/api/changeLanguage.js +0 -49
  114. package/lib/api/changePin.d.ts +0 -11
  115. package/lib/api/changePin.js +0 -27
  116. package/lib/api/changeWipeCode.d.ts +0 -11
  117. package/lib/api/changeWipeCode.js +0 -29
  118. package/lib/api/cipherKeyValue.d.ts +0 -17
  119. package/lib/api/cipherKeyValue.js +0 -58
  120. package/lib/api/common/AbstractMiscGetAddress.d.ts +0 -37
  121. package/lib/api/common/AbstractMiscGetAddress.js +0 -126
  122. package/lib/api/common/Discovery.d.ts +0 -33
  123. package/lib/api/common/Discovery.js +0 -119
  124. package/lib/api/common/paramsValidator.d.ts +0 -24
  125. package/lib/api/common/paramsValidator.js +0 -136
  126. package/lib/api/common/requestExistingAccounts.d.ts +0 -14
  127. package/lib/api/common/requestExistingAccounts.js +0 -20
  128. package/lib/api/composeTransaction.d.ts +0 -36
  129. package/lib/api/composeTransaction.js +0 -404
  130. package/lib/api/discoverAccounts.d.ts +0 -40
  131. package/lib/api/discoverAccounts.js +0 -360
  132. package/lib/api/ethereum/api/ethereumGetAddress.d.ts +0 -30
  133. package/lib/api/ethereum/api/ethereumGetAddress.js +0 -150
  134. package/lib/api/ethereum/api/ethereumGetPublicKey.d.ts +0 -52
  135. package/lib/api/ethereum/api/ethereumGetPublicKey.js +0 -100
  136. package/lib/api/ethereum/api/ethereumSignMessage.d.ts +0 -27
  137. package/lib/api/ethereum/api/ethereumSignMessage.js +0 -64
  138. package/lib/api/ethereum/api/ethereumSignTransaction.d.ts +0 -83
  139. package/lib/api/ethereum/api/ethereumSignTransaction.js +0 -148
  140. package/lib/api/ethereum/api/ethereumSignTypedData.d.ts +0 -117
  141. package/lib/api/ethereum/api/ethereumSignTypedData.js +0 -203
  142. package/lib/api/ethereum/api/ethereumVerifyMessage.d.ts +0 -12
  143. package/lib/api/ethereum/api/ethereumVerifyMessage.js +0 -35
  144. package/lib/api/ethereum/api/index.d.ts +0 -6
  145. package/lib/api/ethereum/api/index.js +0 -6
  146. package/lib/api/ethereum/ethereumDefinitions.d.ts +0 -53
  147. package/lib/api/ethereum/ethereumDefinitions.js +0 -135
  148. package/lib/api/ethereum/ethereumSignTx.d.ts +0 -16
  149. package/lib/api/ethereum/ethereumSignTx.js +0 -144
  150. package/lib/api/ethereum/ethereumSignTypedData.d.ts +0 -32
  151. package/lib/api/ethereum/ethereumSignTypedData.js +0 -175
  152. package/lib/api/evoluGetDelegatedIdentityKey.d.ts +0 -14
  153. package/lib/api/evoluGetDelegatedIdentityKey.js +0 -29
  154. package/lib/api/evoluGetNode.d.ts +0 -13
  155. package/lib/api/evoluGetNode.js +0 -29
  156. package/lib/api/evoluSignRegistrationRequest.d.ts +0 -16
  157. package/lib/api/evoluSignRegistrationRequest.js +0 -33
  158. package/lib/api/firmware/calculateFirmwareHash.d.ts +0 -18
  159. package/lib/api/firmware/calculateFirmwareHash.js +0 -56
  160. package/lib/api/firmware/calculateXPubHash.d.ts +0 -14
  161. package/lib/api/firmware/calculateXPubHash.js +0 -16
  162. package/lib/api/firmware/getBinary.d.ts +0 -14
  163. package/lib/api/firmware/getBinary.js +0 -33
  164. package/lib/api/firmware/index.d.ts +0 -6
  165. package/lib/api/firmware/index.js +0 -6
  166. package/lib/api/firmware/modifyFirmware.d.ts +0 -3
  167. package/lib/api/firmware/modifyFirmware.js +0 -13
  168. package/lib/api/firmware/parseFirmwareHeaders.d.ts +0 -4
  169. package/lib/api/firmware/parseFirmwareHeaders.js +0 -26
  170. package/lib/api/firmware/uploadFirmware.d.ts +0 -27
  171. package/lib/api/firmware/uploadFirmware.js +0 -99
  172. package/lib/api/firmware/verifyEntropy.d.ts +0 -25
  173. package/lib/api/firmware/verifyEntropy.js +0 -110
  174. package/lib/api/getAccountInfo.d.ts +0 -21
  175. package/lib/api/getAccountInfo.js +0 -253
  176. package/lib/api/getAddress.d.ts +0 -45
  177. package/lib/api/getAddress.js +0 -153
  178. package/lib/api/getCoinInfo.d.ts +0 -148
  179. package/lib/api/getCoinInfo.js +0 -25
  180. package/lib/api/getDeviceState.d.ts +0 -8
  181. package/lib/api/getDeviceState.js +0 -18
  182. package/lib/api/getFeatures.d.ts +0 -71
  183. package/lib/api/getFeatures.js +0 -22
  184. package/lib/api/getFirmwareHash.d.ts +0 -11
  185. package/lib/api/getFirmwareHash.js +0 -29
  186. package/lib/api/getNonce.d.ts +0 -10
  187. package/lib/api/getNonce.js +0 -18
  188. package/lib/api/getOwnershipId.d.ts +0 -17
  189. package/lib/api/getOwnershipId.js +0 -88
  190. package/lib/api/getOwnershipProof.d.ts +0 -17
  191. package/lib/api/getOwnershipProof.js +0 -95
  192. package/lib/api/getPublicKey.d.ts +0 -54
  193. package/lib/api/getPublicKey.js +0 -106
  194. package/lib/api/getSettings.d.ts +0 -24
  195. package/lib/api/getSettings.js +0 -21
  196. package/lib/api/index.d.ts +0 -62
  197. package/lib/api/index.js +0 -62
  198. package/lib/api/loadDevice.d.ts +0 -16
  199. package/lib/api/loadDevice.js +0 -46
  200. package/lib/api/monero/api/index.d.ts +0 -4
  201. package/lib/api/monero/api/index.js +0 -4
  202. package/lib/api/monero/api/moneroGetAddress.d.ts +0 -32
  203. package/lib/api/monero/api/moneroGetAddress.js +0 -117
  204. package/lib/api/monero/api/moneroGetWatchKey.d.ts +0 -14
  205. package/lib/api/monero/api/moneroGetWatchKey.js +0 -45
  206. package/lib/api/monero/api/moneroKeyImageSync.d.ts +0 -17
  207. package/lib/api/monero/api/moneroKeyImageSync.js +0 -128
  208. package/lib/api/monero/api/moneroSignTransaction.d.ts +0 -17
  209. package/lib/api/monero/api/moneroSignTransaction.js +0 -218
  210. package/lib/api/nostr/nostrGetPublicKey.d.ts +0 -15
  211. package/lib/api/nostr/nostrGetPublicKey.js +0 -38
  212. package/lib/api/nostr/nostrSignEvent.d.ts +0 -13
  213. package/lib/api/nostr/nostrSignEvent.js +0 -36
  214. package/lib/api/pingDevice.d.ts +0 -11
  215. package/lib/api/pingDevice.js +0 -29
  216. package/lib/api/pushTransaction.d.ts +0 -19
  217. package/lib/api/pushTransaction.js +0 -39
  218. package/lib/api/recoveryDevice.d.ts +0 -20
  219. package/lib/api/recoveryDevice.js +0 -52
  220. package/lib/api/requestLogin.d.ts +0 -14
  221. package/lib/api/requestLogin.js +0 -53
  222. package/lib/api/resetDevice.d.ts +0 -22
  223. package/lib/api/resetDevice.js +0 -133
  224. package/lib/api/ripple/api/index.d.ts +0 -2
  225. package/lib/api/ripple/api/index.js +0 -2
  226. package/lib/api/ripple/api/rippleGetAddress.d.ts +0 -17
  227. package/lib/api/ripple/api/rippleGetAddress.js +0 -22
  228. package/lib/api/ripple/api/rippleSignTransaction.d.ts +0 -13
  229. package/lib/api/ripple/api/rippleSignTransaction.js +0 -52
  230. package/lib/api/selectAccount.d.ts +0 -15
  231. package/lib/api/selectAccount.js +0 -42
  232. package/lib/api/setBrightness.d.ts +0 -12
  233. package/lib/api/setBrightness.js +0 -28
  234. package/lib/api/setBusy.d.ts +0 -11
  235. package/lib/api/setBusy.js +0 -31
  236. package/lib/api/showDeviceTutorial.d.ts +0 -11
  237. package/lib/api/showDeviceTutorial.js +0 -21
  238. package/lib/api/signMessage.d.ts +0 -25
  239. package/lib/api/signMessage.js +0 -75
  240. package/lib/api/signTransaction.d.ts +0 -199
  241. package/lib/api/signTransaction.js +0 -331
  242. package/lib/api/solana/api/index.d.ts +0 -4
  243. package/lib/api/solana/api/index.js +0 -4
  244. package/lib/api/solana/api/solanaComposeTransaction.d.ts +0 -33
  245. package/lib/api/solana/api/solanaComposeTransaction.js +0 -73
  246. package/lib/api/solana/api/solanaGetAddress.d.ts +0 -17
  247. package/lib/api/solana/api/solanaGetAddress.js +0 -22
  248. package/lib/api/solana/api/solanaGetPublicKey.d.ts +0 -32
  249. package/lib/api/solana/api/solanaGetPublicKey.js +0 -86
  250. package/lib/api/solana/api/solanaSignTransaction.d.ts +0 -41
  251. package/lib/api/solana/api/solanaSignTransaction.js +0 -204
  252. package/lib/api/solana/solanaDefinitions.d.ts +0 -9
  253. package/lib/api/solana/solanaDefinitions.js +0 -33
  254. package/lib/api/stellar/api/index.d.ts +0 -2
  255. package/lib/api/stellar/api/index.js +0 -2
  256. package/lib/api/stellar/api/stellarGetAddress.d.ts +0 -17
  257. package/lib/api/stellar/api/stellarGetAddress.js +0 -22
  258. package/lib/api/stellar/api/stellarSignTransaction.d.ts +0 -20
  259. package/lib/api/stellar/api/stellarSignTransaction.js +0 -65
  260. package/lib/api/stellar/stellarSignTx.d.ts +0 -7
  261. package/lib/api/stellar/stellarSignTx.js +0 -183
  262. package/lib/api/telemetryGet.d.ts +0 -14
  263. package/lib/api/telemetryGet.js +0 -26
  264. package/lib/api/tezos/api/index.d.ts +0 -3
  265. package/lib/api/tezos/api/index.js +0 -3
  266. package/lib/api/tezos/api/tezosGetAddress.d.ts +0 -17
  267. package/lib/api/tezos/api/tezosGetAddress.js +0 -22
  268. package/lib/api/tezos/api/tezosGetPublicKey.d.ts +0 -28
  269. package/lib/api/tezos/api/tezosGetPublicKey.js +0 -84
  270. package/lib/api/tezos/api/tezosSignTransaction.d.ts +0 -14
  271. package/lib/api/tezos/api/tezosSignTransaction.js +0 -30
  272. package/lib/api/tezos/tezosSignTx.d.ts +0 -71
  273. package/lib/api/tezos/tezosSignTx.js +0 -204
  274. package/lib/api/thpGetCredentials.d.ts +0 -13
  275. package/lib/api/thpGetCredentials.js +0 -30
  276. package/lib/api/thpRemoveCredentials.d.ts +0 -15
  277. package/lib/api/thpRemoveCredentials.js +0 -44
  278. package/lib/api/tron/api/index.d.ts +0 -3
  279. package/lib/api/tron/api/index.js +0 -3
  280. package/lib/api/tron/api/tronComposeTransaction.d.ts +0 -17
  281. package/lib/api/tron/api/tronComposeTransaction.js +0 -52
  282. package/lib/api/tron/api/tronGetAddress.d.ts +0 -17
  283. package/lib/api/tron/api/tronGetAddress.js +0 -22
  284. package/lib/api/tron/api/tronSignTransaction.d.ts +0 -20
  285. package/lib/api/tron/api/tronSignTransaction.js +0 -137
  286. package/lib/api/tron/tronEncode.d.ts +0 -11
  287. package/lib/api/tron/tronEncode.js +0 -157
  288. package/lib/api/tron/tronProtobuf.d.ts +0 -5
  289. package/lib/api/tron/tronProtobuf.js +0 -28
  290. package/lib/api/unlockPath.d.ts +0 -12
  291. package/lib/api/unlockPath.js +0 -33
  292. package/lib/api/verifyMessage.d.ts +0 -16
  293. package/lib/api/verifyMessage.js +0 -46
  294. package/lib/api/wipeDevice.d.ts +0 -21
  295. package/lib/api/wipeDevice.js +0 -49
  296. package/lib/backend/BackendManager.d.ts +0 -30
  297. package/lib/backend/BackendManager.js +0 -145
  298. package/lib/backend/Blockchain.d.ts +0 -81
  299. package/lib/backend/Blockchain.js +0 -235
  300. package/lib/backend/BlockchainLink.d.ts +0 -10
  301. package/lib/backend/BlockchainLink.js +0 -19
  302. package/lib/backend/fees/BitcoinFeeLevels.d.ts +0 -19
  303. package/lib/backend/fees/BitcoinFeeLevels.js +0 -44
  304. package/lib/backend/fees/EthereumFeeLevels.d.ts +0 -17
  305. package/lib/backend/fees/EthereumFeeLevels.js +0 -63
  306. package/lib/backend/fees/MiscFeeLevels.d.ts +0 -18
  307. package/lib/backend/fees/MiscFeeLevels.js +0 -30
  308. package/lib/backend/fees/index.d.ts +0 -5
  309. package/lib/backend/fees/index.js +0 -31
  310. package/lib/core/AbstractMethod.d.ts +0 -63
  311. package/lib/core/AbstractMethod.js +0 -189
  312. package/lib/core/index.d.ts +0 -29
  313. package/lib/core/index.js +0 -805
  314. package/lib/core/method.d.ts +0 -3
  315. package/lib/core/method.js +0 -19
  316. package/lib/core/method.native.d.ts +0 -2
  317. package/lib/core/method.native.js +0 -29
  318. package/lib/core/onCallFirmwareUpdate.d.ts +0 -42
  319. package/lib/core/onCallFirmwareUpdate.js +0 -436
  320. package/lib/data/coinInfo.d.ts +0 -101
  321. package/lib/data/coinInfo.js +0 -195
  322. package/lib/data/config.d.ts +0 -8
  323. package/lib/data/config.js +0 -273
  324. package/lib/data/defaultFeeLevels.d.ts +0 -18
  325. package/lib/data/defaultFeeLevels.js +0 -200
  326. package/lib/data/enabledNetworksStore.d.ts +0 -5
  327. package/lib/data/enabledNetworksStore.js +0 -20
  328. package/lib/data/firmwareInfo.d.ts +0 -55
  329. package/lib/data/firmwareInfo.js +0 -413
  330. package/lib/data/firmwareReleaseStore.d.ts +0 -10
  331. package/lib/data/firmwareReleaseStore.js +0 -16
  332. package/lib/data/localFirmwareStore.d.ts +0 -3
  333. package/lib/data/localFirmwareStore.js +0 -8
  334. package/lib/data/protobufLoader.d.ts +0 -1
  335. package/lib/data/protobufLoader.js +0 -30
  336. package/lib/data/settingsStore.d.ts +0 -6
  337. package/lib/data/settingsStore.js +0 -21
  338. package/lib/device/Device.d.ts +0 -259
  339. package/lib/device/Device.js +0 -765
  340. package/lib/device/DeviceCommands.d.ts +0 -87
  341. package/lib/device/DeviceCommands.js +0 -248
  342. package/lib/device/DeviceCurrentSession.d.ts +0 -750
  343. package/lib/device/DeviceCurrentSession.js +0 -239
  344. package/lib/device/DeviceList.d.ts +0 -75
  345. package/lib/device/DeviceList.js +0 -243
  346. package/lib/device/TransportList.d.ts +0 -3
  347. package/lib/device/TransportList.js +0 -13
  348. package/lib/device/TransportManager.d.ts +0 -33
  349. package/lib/device/TransportManager.js +0 -144
  350. package/lib/device/calculateRevisionForDevice.d.ts +0 -10
  351. package/lib/device/calculateRevisionForDevice.js +0 -19
  352. package/lib/device/checkFirmwareRevision.d.ts +0 -22
  353. package/lib/device/checkFirmwareRevision.js +0 -104
  354. package/lib/device/resolveDescriptorForTaproot.d.ts +0 -17
  355. package/lib/device/resolveDescriptorForTaproot.js +0 -27
  356. package/lib/device/thp/handshake.d.ts +0 -3
  357. package/lib/device/thp/handshake.js +0 -100
  358. package/lib/device/thp/index.d.ts +0 -5
  359. package/lib/device/thp/index.js +0 -65
  360. package/lib/device/thp/pairing.d.ts +0 -16
  361. package/lib/device/thp/pairing.js +0 -242
  362. package/lib/device/thp/session.d.ts +0 -2
  363. package/lib/device/thp/session.js +0 -27
  364. package/lib/device/thp/thpCall.d.ts +0 -31
  365. package/lib/device/thp/thpCall.js +0 -58
  366. package/lib/device/validateMessageSize.d.ts +0 -2
  367. package/lib/device/validateMessageSize.js +0 -9
  368. package/lib/device/workflow/changeLanguage.d.ts +0 -18
  369. package/lib/device/workflow/changeLanguage.js +0 -62
  370. package/lib/device/workflow/checkFirmwareHash.d.ts +0 -12
  371. package/lib/device/workflow/checkFirmwareHash.js +0 -86
  372. package/lib/device/workflow/checkFirmwareHashWithRetries.d.ts +0 -8
  373. package/lib/device/workflow/checkFirmwareHashWithRetries.js +0 -36
  374. package/lib/device/workflow/handshake.d.ts +0 -13
  375. package/lib/device/workflow/handshake.js +0 -55
  376. package/lib/device/workflow/trezorPushNotification.d.ts +0 -5
  377. package/lib/device/workflow/trezorPushNotification.js +0 -73
  378. package/lib/device/workflow/validateState.d.ts +0 -2
  379. package/lib/device/workflow/validateState.js +0 -152
  380. package/lib/events/ui-promise.d.ts +0 -20
  381. package/lib/events/ui-promise.js +0 -1
  382. package/lib/impl/core-in-module.d.ts +0 -33
  383. package/lib/impl/core-in-module.js +0 -194
  384. package/lib/types/idevice.d.ts +0 -110
  385. package/lib/types/idevice.js +0 -1
  386. package/lib/types/typed-call-provider.d.ts +0 -29
  387. package/lib/types/typed-call-provider.js +0 -1
  388. package/lib/types/workflow.d.ts +0 -16
  389. package/lib/types/workflow.js +0 -1
  390. package/lib/utils/accountUtils.d.ts +0 -10
  391. package/lib/utils/accountUtils.js +0 -90
  392. package/lib/utils/addressUtils.d.ts +0 -2
  393. package/lib/utils/addressUtils.js +0 -24
  394. package/lib/utils/assetUtils.d.ts +0 -13
  395. package/lib/utils/assetUtils.js +0 -55
  396. package/lib/utils/assets.browser.d.ts +0 -1
  397. package/lib/utils/assets.browser.js +0 -1
  398. package/lib/utils/assets.d.ts +0 -2
  399. package/lib/utils/assets.js +0 -13
  400. package/lib/utils/assets.native.d.ts +0 -2
  401. package/lib/utils/assets.native.js +0 -23
  402. package/lib/utils/assetsTypes.d.ts +0 -5
  403. package/lib/utils/assetsTypes.js +0 -1
  404. package/lib/utils/buildOutputDescriptor.d.ts +0 -20
  405. package/lib/utils/buildOutputDescriptor.js +0 -67
  406. package/lib/utils/deviceFeaturesUtils.d.ts +0 -7
  407. package/lib/utils/deviceFeaturesUtils.js +0 -109
  408. package/lib/utils/ethereumUtils.d.ts +0 -3
  409. package/lib/utils/ethereumUtils.js +0 -7
  410. package/lib/utils/firmwareReleaseConfigUtils.d.ts +0 -19
  411. package/lib/utils/firmwareReleaseConfigUtils.js +0 -131
  412. package/lib/utils/firmwareUtils.d.ts +0 -15
  413. package/lib/utils/firmwareUtils.js +0 -57
  414. package/lib/utils/formatUtils.d.ts +0 -13
  415. package/lib/utils/formatUtils.js +0 -45
  416. package/lib/utils/hdnodeUtils.d.ts +0 -6
  417. package/lib/utils/hdnodeUtils.js +0 -62
  418. package/lib/utils/pathUtils.d.ts +0 -1
  419. package/lib/utils/pathUtils.js +0 -1
  420. package/lib/utils/paymentRequest.d.ts +0 -8
  421. package/lib/utils/paymentRequest.js +0 -25
  422. package/lib/utils/uiPromiseManager.d.ts +0 -8
  423. package/lib/utils/uiPromiseManager.js +0 -51
  424. package/lib/workers/workers.browser.d.ts +0 -10
  425. package/lib/workers/workers.browser.js +0 -16
  426. package/lib/workers/workers.d.ts +0 -10
  427. package/lib/workers/workers.js +0 -8
  428. package/lib/workers/workers.native.d.ts +0 -7
  429. package/lib/workers/workers.native.js +0 -7
@@ -1,5 +0,0 @@
1
- import type { TpnWorkflowContext } from "../../types/workflow.js";
2
- export declare const trezorPushNotificationHandler: ({
3
- device,
4
- message
5
- }: TpnWorkflowContext) => Promise<void>;
@@ -1,73 +0,0 @@
1
- import { DEVICE } from "@trezor/connect-common";
2
- import { TrezorPushNotificationMode, TrezorPushNotificationType, tpn } from "@trezor/protocol";
3
- import { resolveAfter } from "@trezor/utils";
4
- import { getThpChannel } from "../thp/index.js";
5
- const setupDeviceMode = async (device, mode) => {
6
- if (mode === TrezorPushNotificationMode.BootloaderMode && !device.features) {
7
- device.setBusy('rebooting');
8
- await device.acquire();
9
- await device.getFeatures();
10
- await device.release();
11
- }
12
- if (mode === TrezorPushNotificationMode.NormalMode && (!device.features || !device.getThpState())) {
13
- device.setBusy('rebooting');
14
- device.setupThp();
15
- await device.acquire();
16
- await resolveAfter(1000);
17
- await getThpChannel(device, false);
18
- if (device.getThpState()?.phase === 'paired') {
19
- await device.getFeatures();
20
- } else {
21
- device.setBusy('thp-locked');
22
- device.emitDeviceChanged();
23
- }
24
- await device.release();
25
- }
26
- };
27
- export const trezorPushNotificationHandler = async ({
28
- device,
29
- message
30
- }) => {
31
- const decodedResult = tpn.decode(message);
32
- if (!decodedResult.success) return;
33
- const decoded = decodedResult.payload;
34
- device.lifecycle.emit(DEVICE.TREZOR_PUSH_NOTIFICATION, decoded);
35
- const {
36
- type,
37
- mode
38
- } = decoded;
39
- const modeChanged = mode === TrezorPushNotificationMode.BootloaderMode && (device.getThpState()?.properties || device.features && !device.features.bootloader_mode) || mode === TrezorPushNotificationMode.NormalMode && device.features?.bootloader_mode;
40
- if (modeChanged) {
41
- device.reset();
42
- device.setBusy(mode === TrezorPushNotificationMode.BootloaderMode ? 'bootloader-locked' : 'rebooting');
43
- device.emitDeviceChanged();
44
- }
45
- switch (type) {
46
- case TrezorPushNotificationType.SETTING_CHANGE:
47
- case TrezorPushNotificationType.PIN_CHANGE:
48
- case TrezorPushNotificationType.NOTIFY_POWER_STATUS_CHANGE:
49
- if (!device.isUsed()) {
50
- await device.acquire();
51
- await device.getFeatures();
52
- await device.release();
53
- }
54
- break;
55
- case TrezorPushNotificationType.LOCK:
56
- device.setBusy(mode === TrezorPushNotificationMode.BootloaderMode ? 'bootloader-locked' : 'hard-locked');
57
- device.emitDeviceChanged();
58
- break;
59
- case TrezorPushNotificationType.UNLOCK:
60
- await setupDeviceMode(device, decoded.mode);
61
- break;
62
- case TrezorPushNotificationType.SOFTLOCK:
63
- device.setBusy('pin-locked');
64
- device.emitDeviceChanged();
65
- break;
66
- case TrezorPushNotificationType.SOFTUNLOCK:
67
- device.setBusy(device.features ? undefined : 'thp-locked');
68
- device.emitDeviceChanged();
69
- break;
70
- default:
71
- break;
72
- }
73
- };
@@ -1,2 +0,0 @@
1
- import type { WorkflowContext } from "../../types/workflow.js";
2
- export declare const validateState: (context: WorkflowContext) => Promise<undefined>;
@@ -1,152 +0,0 @@
1
- import { UI_REQUEST, createUiMessage } from "@trezor/connect-common";
2
- import { ERRORS } from "@trezor/connect-common/lib/constants/index.js";
3
- import { toHardenedPathPart } from "@trezor/crypto-utils";
4
- import { createStaticSessionId, parseStaticSessionId } from "@trezor/device-utils";
5
- import { createThpSession } from "../thp/index.js";
6
- const getStaticSessionId = device => device.getCurrentSession().typedCall('GetAddress', 'Address', {
7
- address_n: [toHardenedPathPart(44), toHardenedPathPart(1), toHardenedPathPart(0), 0, 0],
8
- coin_name: 'Testnet',
9
- script_type: 'SPENDADDRESS'
10
- }).then(({
11
- message
12
- }) => createStaticSessionId({
13
- walletDescriptor: message.address,
14
- deviceId: device.features.device_id,
15
- instance: device.getInstance()
16
- }));
17
- const preauthorizeState = ({
18
- device,
19
- method
20
- }) => {
21
- if (!device.features.unlocked && method.preauthorized) {
22
- return device.getCommands().preauthorize(false);
23
- }
24
- };
25
- const isUnexpectedState = (expected, current) => {
26
- if (!expected || !current) return false;
27
- const parsedExpected = parseStaticSessionId(expected);
28
- const parsedCurrent = parseStaticSessionId(current);
29
- return parsedExpected.walletDescriptor !== parsedCurrent.walletDescriptor || parsedExpected.deviceId !== parsedCurrent.deviceId;
30
- };
31
- const validate = async context => {
32
- const {
33
- device
34
- } = context;
35
- if (!device.features) return;
36
- if (await preauthorizeState(context)) {
37
- return;
38
- }
39
- const expectedState = device.getState()?.staticSessionId;
40
- const uniqueState = await getStaticSessionId(device);
41
- if (device.features.session_id) {
42
- device.setState({
43
- sessionId: device.features.session_id
44
- });
45
- }
46
- if (isUnexpectedState(expectedState, uniqueState)) {
47
- throw ERRORS.TypedError('Device_InvalidState');
48
- }
49
- if (!expectedState || expectedState !== uniqueState) {
50
- device.setState({
51
- staticSessionId: uniqueState
52
- });
53
- }
54
- };
55
- const MAX_PIN_TRIES = 3;
56
- const validateDeviceState = async context => {
57
- for (let i = 0; i < MAX_PIN_TRIES - 1; ++i) {
58
- try {
59
- return await validate(context);
60
- } catch (error) {
61
- if (error.message.includes('PIN invalid')) {
62
- context.sendCoreMessage(createUiMessage(UI_REQUEST.INVALID_PIN, {
63
- device: context.device.toMessageObject()
64
- }));
65
- } else {
66
- throw error;
67
- }
68
- }
69
- }
70
- return validate(context).catch(error => {
71
- if (error.message.includes('PIN invalid')) {
72
- context.sendCoreMessage(createUiMessage(UI_REQUEST.INVALID_PIN_ATTEMPTS_DEPLETED, {
73
- device: context.device.toMessageObject()
74
- }));
75
- }
76
- throw error;
77
- });
78
- };
79
- const validateThpDeviceState = async context => {
80
- const {
81
- device,
82
- method
83
- } = context;
84
- const currentState = device.getState();
85
- const expectedState = currentState?.staticSessionId;
86
- const expectedSessionId = currentState?.sessionId ? Buffer.from(currentState.sessionId, 'hex') : undefined;
87
- if (await preauthorizeState(context)) {
88
- return;
89
- }
90
- let uniqueState;
91
- const thpState = device.getThpState();
92
- if (expectedSessionId) {
93
- thpState.setSessionId(expectedSessionId);
94
- uniqueState = await getStaticSessionId(device).catch(e => {
95
- switch (e.code) {
96
- case 'Failure_PinCancelled':
97
- throw e;
98
- case 'Failure_InvalidSession':
99
- default:
100
- return undefined;
101
- }
102
- });
103
- if (isUnexpectedState(expectedState, uniqueState)) {
104
- uniqueState = undefined;
105
- }
106
- if (!uniqueState) {
107
- device.setState({
108
- sessionId: undefined,
109
- deriveCardano: undefined
110
- });
111
- thpState?.setSessionId(Buffer.alloc(1));
112
- }
113
- }
114
- if (!uniqueState || !currentState?.deriveCardano && method.useCardanoDerivation) {
115
- const newSessionId = thpState.createNewSessionId();
116
- await createThpSession(device, method.useCardanoDerivation);
117
- uniqueState = await getStaticSessionId(device);
118
- device.setState({
119
- sessionId: newSessionId.toString('hex'),
120
- deriveCardano: method.useCardanoDerivation
121
- });
122
- }
123
- if (isUnexpectedState(expectedState, uniqueState)) {
124
- throw ERRORS.TypedError('Device_InvalidState');
125
- }
126
- if (!expectedState) {
127
- device.setState({
128
- staticSessionId: uniqueState
129
- });
130
- }
131
- };
132
- export const validateState = async context => {
133
- const {
134
- device
135
- } = context;
136
- const isDeviceUnlocked = device.features.unlocked;
137
- try {
138
- if (device.protocol.name === 'v2') {
139
- await validateThpDeviceState(context);
140
- } else {
141
- await validateDeviceState(context);
142
- }
143
- } catch (error) {
144
- device.setState({
145
- sessionId: undefined
146
- });
147
- return Promise.reject(error);
148
- }
149
- if (!isDeviceUnlocked && device.features.unlocked) {
150
- device.emitDeviceChanged();
151
- }
152
- };
@@ -1,20 +0,0 @@
1
- import type { DEVICE, UiResponseEvent } from '@trezor/connect-common';
2
- import type { Deferred } from '@trezor/utils';
3
- import type { IDevice } from "../types/idevice.js";
4
- export type UiPromiseResponse = (UiResponseEvent & {
5
- requestId?: string;
6
- }) | {
7
- type: typeof DEVICE.DISCONNECT;
8
- payload?: undefined;
9
- requestId?: string;
10
- };
11
- export type UiPromise<T extends UiPromiseResponse['type']> = Deferred<Extract<UiPromiseResponse, {
12
- type: T;
13
- }>, T> & {
14
- device?: IDevice;
15
- requestId: string;
16
- };
17
- type UiPromiseMap = { [T in UiPromiseResponse['type']]: UiPromise<T> };
18
- export type AnyUiPromise = UiPromiseMap[UiPromiseResponse['type']];
19
- export type UiPromiseCreator = <T extends UiPromiseResponse['type']>(type: T, device?: IDevice) => UiPromise<T>;
20
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1,33 +0,0 @@
1
- import type { CallMethodPayload, ConnectSettings, CoreRequestMessage, MethodResponseMessage, TrezorConnectCore, UiResponseEvent, UpdateConnectSettings } from '@trezor/connect-common';
2
- import { ERRORS } from '@trezor/connect-common/lib/constants';
3
- import { ConnectEmitter } from '@trezor/connect-common/lib/types/emitter';
4
- import { type CancelParams } from '@trezor/connect-common/lib/utils/cancelParams';
5
- import { type AbstractTransportParams, type Transport } from '@trezor/transport-common';
6
- export declare abstract class CoreInModule implements TrezorConnectCore<ConnectSettings> {
7
- private readonly eventEmitter;
8
- on: ConnectEmitter['on'];
9
- off: ConnectEmitter['removeListener'];
10
- removeAllListeners: ConnectEmitter['removeAllListeners'];
11
- protected settings: ConnectSettings;
12
- private coreManager;
13
- private log;
14
- private messagePromises;
15
- private readonly boundOnCoreEvent;
16
- protected abstract defaultTransports(params: AbstractTransportParams): Transport[];
17
- private buildDefaultTransports;
18
- constructor();
19
- protected handleCoreMessage(message: CoreRequestMessage): void;
20
- private onCoreEvent;
21
- init(settings: Partial<ConnectSettings>): Promise<void>;
22
- protected abstract updateProxy(proxy: UpdateConnectSettings['proxy']): Promise<void>;
23
- updateConnectSettings(params: UpdateConnectSettings): Promise<import("@trezor/type-utils").Err<ERRORS.SerializedError> | {
24
- readonly success: true;
25
- readonly payload: {
26
- readonly message: "success";
27
- };
28
- }>;
29
- call(params: CallMethodPayload): Promise<import("@trezor/type-utils").Err<ERRORS.SerializedError> | Omit<MethodResponseMessage, "type" | "event">>;
30
- uiResponse(response: UiResponseEvent): void;
31
- cancel(params?: CancelParams): void;
32
- dispose(): void;
33
- }
@@ -1,194 +0,0 @@
1
- import { BLOCKCHAIN_EVENT, CORE_CALL, DEVICE_EVENT, RESPONSE_EVENT, SET_ENABLED_NETWORKS, TRANSPORT_EVENT, UI_EVENT, createErrorMessage } from "@trezor/connect-common";
2
- import { ERRORS } from "@trezor/connect-common/lib/constants/index.js";
3
- import { parseConnectSettings } from "@trezor/connect-common/lib/data/connectSettings.js";
4
- import { ConnectEmitter } from "@trezor/connect-common/lib/types/emitter.js";
5
- import { createCoreCallCancelMessage } from "@trezor/connect-common/lib/utils/cancelParams.js";
6
- import { noopLogger } from "@trezor/connect-common/lib/utils/debug.js";
7
- import { createUUIDDeferredManager } from "@trezor/connect-common/lib/utils/deferred.js";
8
- import { TRANSPORT } from "@trezor/transport-common";
9
- import { cloneObject } from "@trezor/utils";
10
- import { initCoreState } from "../core/index.js";
11
- export class CoreInModule {
12
- eventEmitter = new ConnectEmitter();
13
- on = this.eventEmitter.on.bind(this.eventEmitter);
14
- off = this.eventEmitter.removeListener.bind(this.eventEmitter);
15
- removeAllListeners = this.eventEmitter.removeAllListeners.bind(this.eventEmitter);
16
- settings;
17
- coreManager;
18
- log;
19
- messagePromises;
20
- boundOnCoreEvent = this.onCoreEvent.bind(this);
21
- buildDefaultTransports() {
22
- return this.defaultTransports({
23
- logger: this.settings.createLogger?.('@trezor/transport'),
24
- id: this.settings.manifest?.appName || this.settings.manifest?.appUrl || 'unknown app'
25
- });
26
- }
27
- constructor() {
28
- this.settings = parseConnectSettings();
29
- this.log = noopLogger;
30
- this.coreManager = initCoreState();
31
- this.messagePromises = createUUIDDeferredManager();
32
- }
33
- handleCoreMessage(message) {
34
- const core = this.coreManager.get();
35
- if (!core) {
36
- throw ERRORS.TypedError('Runtime', 'postMessage: _core not found');
37
- }
38
- core.handleMessage(message);
39
- }
40
- onCoreEvent(rawMessage) {
41
- const message = cloneObject(rawMessage);
42
- const {
43
- event,
44
- type,
45
- payload
46
- } = message;
47
- switch (event) {
48
- case RESPONSE_EVENT:
49
- {
50
- const {
51
- id = '',
52
- success,
53
- device
54
- } = message;
55
- const resolved = this.messagePromises.resolve(id, success ? {
56
- id,
57
- success,
58
- payload: message.payload,
59
- device
60
- } : {
61
- id,
62
- success,
63
- error: message.error,
64
- device
65
- });
66
- if (!resolved) this.log.warn(`Unknown message id ${id}`);
67
- break;
68
- }
69
- case DEVICE_EVENT:
70
- this.eventEmitter.emit(event, message);
71
- this.eventEmitter.emit(type, payload);
72
- break;
73
- case TRANSPORT_EVENT:
74
- this.eventEmitter.emit(event, message);
75
- this.eventEmitter.emit(type, payload);
76
- break;
77
- case BLOCKCHAIN_EVENT:
78
- this.eventEmitter.emit(event, message);
79
- this.eventEmitter.emit(type, payload);
80
- break;
81
- case UI_EVENT:
82
- this.eventEmitter.emit(event, message);
83
- this.eventEmitter.emit(type, payload);
84
- break;
85
- default:
86
- this.log.warn('Undefined message', event, message);
87
- }
88
- }
89
- async init(settings) {
90
- if (this.coreManager.get() || this.coreManager.getPending()) {
91
- throw ERRORS.TypedError('Init_AlreadyInitialized');
92
- }
93
- this.settings = parseConnectSettings({
94
- ...this.settings,
95
- ...settings
96
- });
97
- if (!this.settings.manifest) {
98
- throw ERRORS.TypedError('Init_ManifestMissing');
99
- }
100
- this.log = this.settings.createLogger?.('@trezor/connect') ?? noopLogger;
101
- if (!this.settings.transports?.length) {
102
- this.settings.transports = this.buildDefaultTransports();
103
- }
104
- await this.coreManager.getOrInit(this.settings, this.boundOnCoreEvent);
105
- }
106
- async updateConnectSettings(params) {
107
- const {
108
- proxy,
109
- transports: newTransports,
110
- enabledNetworks
111
- } = params;
112
- try {
113
- await this.updateProxy(proxy);
114
- } catch (err) {
115
- return Promise.resolve(createErrorMessage(err));
116
- }
117
- if (!this.coreManager.get()) {
118
- const pending = this.coreManager.getPending();
119
- if (pending) {
120
- await pending;
121
- }
122
- }
123
- try {
124
- if (newTransports !== undefined) {
125
- const transports = newTransports?.length ? newTransports : this.buildDefaultTransports();
126
- this.settings = parseConnectSettings({
127
- ...this.settings,
128
- transports
129
- });
130
- this.handleCoreMessage({
131
- type: TRANSPORT.SET_TRANSPORTS,
132
- payload: {
133
- transports
134
- }
135
- });
136
- }
137
- if (enabledNetworks !== undefined) {
138
- this.handleCoreMessage({
139
- type: SET_ENABLED_NETWORKS,
140
- payload: enabledNetworks
141
- });
142
- }
143
- } catch (err) {
144
- return Promise.resolve(createErrorMessage(err));
145
- }
146
- return {
147
- success: true,
148
- payload: {
149
- message: 'success'
150
- }
151
- };
152
- }
153
- async call(params) {
154
- try {
155
- if (!this.settings.manifest) {
156
- throw ERRORS.TypedError('Init_ManifestMissing');
157
- }
158
- if (!this.coreManager.get()) {
159
- const pending = this.coreManager.getPending();
160
- if (pending) {
161
- await pending;
162
- }
163
- }
164
- const {
165
- promiseId,
166
- promise
167
- } = this.messagePromises.create();
168
- const payload = cloneObject(params);
169
- this.handleCoreMessage({
170
- type: CORE_CALL,
171
- id: promiseId,
172
- payload
173
- });
174
- const response = cloneObject(await promise);
175
- return response ?? createErrorMessage(ERRORS.TypedError('Method_NoResponse'));
176
- } catch (error) {
177
- this.log.error('call', error);
178
- return createErrorMessage(error);
179
- }
180
- }
181
- uiResponse(response) {
182
- this.handleCoreMessage(response);
183
- }
184
- cancel(params) {
185
- this.handleCoreMessage(createCoreCallCancelMessage(params));
186
- }
187
- dispose() {
188
- this.eventEmitter.removeAllListeners();
189
- this.settings = parseConnectSettings();
190
- if (this.coreManager.get()) {
191
- this.coreManager.dispose();
192
- }
193
- }
194
- }
@@ -1,110 +0,0 @@
1
- import type { Device, DeviceBusyStatus, DeviceButtonRequestPayload, DeviceFirmwareStatus, DeviceState, DeviceThpCredentialsChangedPayload, DeviceThpPairingPayload, DeviceThpPairingStatus, DeviceUniquePath, DeviceVersionChanged, Features, FirmwareHashCheckResult, KnownDevice, UiResponsePassphrase, UiResponsePin, UiResponseThpPairingTag, UiResponseWord, UnavailableCapabilities } from '@trezor/connect-common';
2
- import type { FirmwareReleaseConfigInfo } from '@trezor/connect-common/lib/types/firmware';
3
- import type { FirmwareRelease, FirmwareType } from '@trezor/device-utils';
4
- import type { MessagesSchema as PROTO } from '@trezor/protobuf';
5
- import type { DecodedTrezorPushNotification, TransportProtocol, thp as protocolThp } from '@trezor/protocol';
6
- import type { Descriptor, Transport } from '@trezor/transport-common';
7
- import type { TypedEmitter, VersionArray } from '@trezor/utils';
8
- import type { TypedCallProvider } from "./typed-call-provider.js";
9
- import type { DeviceCommands } from "../device/DeviceCommands.js";
10
- export interface DeviceLifecycleEvents {
11
- 'device-connect': void;
12
- 'device-connect_unacquired': void;
13
- 'device-changed': void;
14
- 'device-disconnect': void;
15
- 'device-trezor_push_notification': DecodedTrezorPushNotification;
16
- }
17
- export type PromptResult<T> = {
18
- success: true;
19
- payload: T;
20
- } | {
21
- success: false;
22
- error: Error;
23
- };
24
- export interface DeviceEvents {
25
- pin: {
26
- type: PROTO.PinMatrixRequestType | undefined;
27
- callback: (response: PromptResult<UiResponsePin['payload']>) => void;
28
- };
29
- word: {
30
- type: PROTO.WordRequestType;
31
- callback: (response: PromptResult<UiResponseWord['payload']>) => void;
32
- };
33
- passphrase: {
34
- callback: (response: PromptResult<UiResponsePassphrase['payload']>) => void;
35
- };
36
- passphrase_on_device: void;
37
- button: {
38
- device: IDevice;
39
- payload: DeviceButtonRequestPayload;
40
- };
41
- 'device-firmware_version_changed': DeviceVersionChanged['payload'];
42
- 'device-trezor_push_notification': {
43
- device: Device;
44
- payload: DecodedTrezorPushNotification;
45
- };
46
- thp_pairing: {
47
- payload: DeviceThpPairingPayload;
48
- callback: (response: PromptResult<UiResponseThpPairingTag['payload']>) => void;
49
- };
50
- 'device-thp_credentials_changed': DeviceThpCredentialsChangedPayload;
51
- 'device-thp_pairing_status_changed': DeviceThpPairingStatus;
52
- }
53
- export type RunOptions = {
54
- skipFinalReload?: boolean;
55
- keepSession?: boolean;
56
- useCardanoDerivation?: boolean;
57
- skipFirmwareChecks?: boolean;
58
- skipLanguageChecks?: boolean;
59
- };
60
- export interface IDevice {
61
- readonly transport: Transport;
62
- readonly descriptor: Pick<Descriptor, 'apiType' | 'id' | 'type' | 'path' | 'model'>;
63
- readonly protocol: TransportProtocol;
64
- readonly transportPath: Descriptor['path'];
65
- readonly lifecycle: TypedEmitter<DeviceLifecycleEvents>;
66
- readonly possibleT1: boolean;
67
- readonly firmwareStatus: DeviceFirmwareStatus;
68
- readonly currentRelease: FirmwareRelease | undefined;
69
- readonly firmwareReleaseConfigInfo: FirmwareReleaseConfigInfo | undefined;
70
- readonly features: Features;
71
- readonly unavailableCapabilities: Readonly<UnavailableCapabilities>;
72
- readonly firmwareType: FirmwareType | undefined;
73
- readonly currentRun: Promise<void> | undefined;
74
- acquire(): ReturnType<Transport['acquire']>;
75
- release(): ReturnType<Transport['release']> | undefined;
76
- run(fn?: () => Promise<void>, options?: RunOptions): Promise<void>;
77
- interrupt(reason: Error): Promise<void>;
78
- reset(): void;
79
- setBusy(value?: DeviceBusyStatus): void;
80
- setupThp(): void;
81
- handshake(): Promise<boolean>;
82
- setInstance(instance?: number): void;
83
- getThpState(): protocolThp.ThpState | undefined;
84
- getUniquePath(): DeviceUniquePath;
85
- getInstance(): number;
86
- getState(): DeviceState | undefined;
87
- setState(state?: Partial<DeviceState>): void;
88
- getVersion(): VersionArray | undefined;
89
- getBusy(): DeviceBusyStatus | undefined;
90
- getAuthenticityChecks(): KnownDevice['authenticityChecks'];
91
- setAuthenticityChecks(firmwareHash: FirmwareHashCheckResult | null): void;
92
- getCurrentSession(): TypedCallProvider;
93
- getCommands(): ReturnType<typeof DeviceCommands>;
94
- startPiggybackAck(): void;
95
- stopPiggybackAck(): Promise<void>;
96
- isUnacquired(): boolean;
97
- isBootloader(): boolean;
98
- isInitialized(): boolean;
99
- isSeedless(): boolean;
100
- isUsed(): boolean;
101
- isUsedHere(): boolean;
102
- isUsedElsewhere(): boolean;
103
- atLeast(versions: string[] | string): boolean;
104
- hasUnexpectedMode(allow: string[]): string | null;
105
- toMessageObject(): Device;
106
- emit: TypedEmitter<DeviceEvents>['emit'];
107
- emitDeviceChanged(): void;
108
- prompt<T extends 'pin' | 'passphrase' | 'word' | 'thp_pairing'>(type: T, args: Omit<DeviceEvents[T], 'callback'>): Promise<Parameters<DeviceEvents[T]['callback']>[0]>;
109
- getFeatures(): Promise<void>;
110
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,29 +0,0 @@
1
- import type { MessagesSchema as Messages } from '@trezor/protobuf';
2
- import type { MessageResponse } from '@trezor/transport-common';
3
- type AbortableOptions = {
4
- timeout?: number;
5
- signal?: AbortSignal;
6
- };
7
- type CallResult = {
8
- success: true;
9
- payload: MessageResponse;
10
- } | {
11
- success: false;
12
- error: Error;
13
- };
14
- type SendResult = {
15
- success: true;
16
- payload: undefined;
17
- } | {
18
- success: false;
19
- error: Error;
20
- };
21
- export interface TypedCallProvider {
22
- typedCall: Messages.TypedCall;
23
- isDisposed: () => boolean;
24
- cancelCall: () => Promise<CallResult>;
25
- call: (name: string, data: Record<string, unknown>, options?: AbortableOptions) => Promise<CallResult>;
26
- send: (name: string, data: Record<string, unknown>, options?: AbortableOptions) => Promise<SendResult>;
27
- receive: (options?: AbortableOptions) => Promise<CallResult>;
28
- }
29
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1,16 +0,0 @@
1
- import type { CoreEventMessage } from '@trezor/connect-common';
2
- import type { IDevice } from "./idevice.js";
3
- export interface WorkflowMethod {
4
- preauthorized?: boolean;
5
- useCardanoDerivation: boolean;
6
- }
7
- export type WorkflowContext = {
8
- device: IDevice;
9
- method: WorkflowMethod;
10
- signal: AbortSignal;
11
- sendCoreMessage: (message: CoreEventMessage) => void;
12
- };
13
- export type TpnWorkflowContext = {
14
- device: IDevice;
15
- message: number[];
16
- };
@@ -1 +0,0 @@
1
- export {};
@@ -1,10 +0,0 @@
1
- import type { BitcoinNetworkInfo, CoinInfo } from '@trezor/connect-common';
2
- type Bip44Options = {
3
- purpose?: number;
4
- coinType?: number;
5
- };
6
- export declare const getAccountAddressN: (coinInfo: CoinInfo, accountIndex: number, bip44?: Bip44Options) => number[];
7
- export declare const getAccountLabel: (path: number[], coinInfo: CoinInfo) => string;
8
- export declare const getPublicKeyLabel: (path: number[], coinInfo?: BitcoinNetworkInfo) => string;
9
- export declare const isUtxoBased: (coinInfo: CoinInfo) => boolean;
10
- export {};