@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
package/README.md CHANGED
@@ -1,15 +1,19 @@
1
1
  # @trezor/connect
2
2
 
3
- API version 9.7.3
3
+ API version 10.0.0-beta.1
4
4
 
5
- [![Build Status](https://github.com/trezor/trezor-suite/actions/workflows/test-connect.yml/badge.svg)](https://github.com/trezor/trezor-suite/actions/workflows/test-connect.yml)
6
5
  [![NPM](https://img.shields.io/npm/v/@trezor/connect.svg)](https://www.npmjs.org/package/@trezor/connect)
7
- [![Known Vulnerabilities](https://snyk.io/test/github/trezor/connect/badge.svg?targetFile=package.json)](https://snyk.io/test/github/trezor/trezor-suite?targetFile=packages/connect/package.json)
8
6
 
9
7
  Trezor Connect is a platform for easy integration of Trezor into 3rd party services, as well as into Trezor Suite. It provides an API with functionality to access public keys, sign transactions and authenticate users.
10
8
 
11
9
  This package is intended to be used in node.js environment. If you wan't to build a web application please refer to [@trezor/connect-web package](https://github.com/trezor/trezor-suite/blob/develop/packages/connect-web/README.md).
12
10
 
11
+ > **Building a web app?** Use [@trezor/connect-web](https://www.npmjs.com/package/@trezor/connect-web) instead — it adds browser transport handling and popup-based UI.
12
+ >
13
+ > **Building a browser extension?** Use [@trezor/connect-webextension](https://www.npmjs.com/package/@trezor/connect-webextension) instead — it handles Manifest V3 and service worker constraints.
14
+ >
15
+ > **Building a React Native app?** Use [@trezor/connect-mobile](https://www.npmjs.com/package/@trezor/connect-mobile) instead — it communicates with Trezor Suite via deep links.
16
+
13
17
  ## Installation
14
18
 
15
19
  Install library as npm module:
@@ -36,51 +40,11 @@ For more instructions [refer to this document](https://github.com/trezor/trezor-
36
40
 
37
41
  ## Versioning
38
42
 
39
- Since version 9 we are adopting a new versioning strategy. With every release, we are going to update two urls
40
-
41
- - A) The latest release will always be available on https://connect.trezor.io/9/trezor-connect.js.
42
- - B) For those who like to have more control over their dependencies, there will be also a new url created in form of https://connect.trezor.io/9.1../trezor-connect.js. Please note that these endpoints will not receive any further updates including security updates.
43
-
44
- Version 9 is available as `@trezor/connect` and `@trezor/connect-web` npm packages.
45
-
46
- ### Major version
47
-
48
- New major version is released when there are breaking changes on API level. Previous major version will be maintained for 12 months and after this period it can be taken down without notice.
49
-
50
- Current major version 9 is being developed on top of `develop` branch. When there is a new major version a new branch should be created (`v-<major-version>`) and mantained separately.
51
-
52
- ### Minor version
53
-
54
- Minor versions are released when there are:
55
-
56
- - considerable additions to API
57
- - changes in npm package
58
-
59
- ### Patch version
60
-
61
- Everything else that does not fall under major or minor version.
62
-
63
- ## Version 8 (legacy)
64
-
65
- Legacy version 8 is accessible from url https://connect.trezor.io/8/trezor-connect.js.
66
-
67
- Version 8 is available as `trezor-connect` npm package.
68
-
69
- If you would like to find out which version is deployed precisely simply run:
70
-
71
- `curl -s https://connect.trezor.io/8/trezor-connect.js | grep VERSION`
72
-
73
- With regards to this repo - All updates should go to current version branch, the previous releases are in corresponding branches. The gh-pages is the same older version, that is used at trezor.github.io/connect/connect.js, and it's there for backwards compatibility; please don't touch.
74
-
75
- For deployment process of trezor-connect v8 refer to [trezor/connect repository](https://github.com/trezor/connect/blob/develop/docs/deployment/index.md)
76
-
77
- Version 8 will go offline by the end of 2023.
43
+ Version 10 is the current major version and is currently in beta. New major versions are released when there are breaking API changes.
78
44
 
79
45
  ## Docs
80
46
 
81
- Interactive API explorer is available on https://connect.trezor.io/9/#/
82
-
83
- Documentation is available [docs/packages/connect](https://github.com/trezor/trezor-suite/blob/develop/docs/packages/connect/index.md)
47
+ Interactive API explorer is available on https://connect.trezor.io/
84
48
 
85
49
  ## Examples
86
50
 
@@ -1,17 +1,20 @@
1
+ import { type PermissionRequest } from '@trezor/connect-common';
1
2
  import { MessagesSchema as PROTO } from '@trezor/protobuf';
2
- import { AbstractMethod } from '../core/AbstractMethod';
3
+ import type { MethodMessage } from "../core/AbstractMethod.js";
4
+ import { AbstractMethod } from "../core/AbstractMethod.js";
3
5
  export default class ApplyFlags extends AbstractMethod<'applyFlags', PROTO.ApplyFlags> {
4
- init(): void;
5
- get confirmation(): {
6
- view: "device-management";
7
- customConfirmButton: {
8
- className: string;
9
- label: string;
10
- };
11
- label: string;
6
+ constructor(message: MethodMessage<'applyFlags'>);
7
+ get requiredPermissions(): PermissionRequest[];
8
+ init(): void;
9
+ get confirmation(): {
10
+ view: "device-management";
11
+ customConfirmButton: {
12
+ className: string;
13
+ label: string;
12
14
  };
13
- run(): Promise<{
14
- message: string;
15
- }>;
16
- }
17
- //# sourceMappingURL=applyFlags.d.ts.map
15
+ label: string;
16
+ };
17
+ run(): Promise<{
18
+ message: string;
19
+ }>;
20
+ }
@@ -1,24 +1,25 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- const protobuf_1 = require("@trezor/protobuf");
7
- const schema_utils_1 = require("@trezor/schema-utils");
8
- const AbstractMethod_1 = require("../core/AbstractMethod");
9
- class ApplyFlags extends AbstractMethod_1.AbstractMethod {
10
- init() {
11
- this.requiredPermissions = ['management'];
12
- this.useDeviceState = false;
13
- this.skipFinalReload = false;
1
+ import { MessagesSchema as PROTO } from "@trezor/protobuf";
2
+ import { Assert } from "@trezor/schema-utils";
3
+ import { AbstractMethod } from "../core/AbstractMethod.js";
4
+ export default class ApplyFlags extends AbstractMethod {
5
+ constructor(message) {
14
6
  const {
15
7
  payload
16
- } = this;
17
- (0, schema_utils_1.Assert)(protobuf_1.MessagesSchema.ApplyFlags, payload);
18
- this.params = {
8
+ } = message;
9
+ Assert(PROTO.ApplyFlags, payload);
10
+ const params = {
19
11
  flags: payload.flags
20
12
  };
13
+ super(message, params);
14
+ this.useDeviceState = false;
15
+ this.skipFinalReload = false;
16
+ }
17
+ get requiredPermissions() {
18
+ return [{
19
+ permission: 'management'
20
+ }];
21
21
  }
22
+ init() {}
22
23
  get confirmation() {
23
24
  return {
24
25
  view: 'device-management',
@@ -30,10 +31,8 @@ class ApplyFlags extends AbstractMethod_1.AbstractMethod {
30
31
  };
31
32
  }
32
33
  async run() {
33
- const cmd = this.device.getCommands();
34
+ const cmd = this.getDevice().getCommands();
34
35
  const response = await cmd.typedCall('ApplyFlags', 'Success', this.params);
35
36
  return response.message;
36
37
  }
37
- }
38
- exports.default = ApplyFlags;
39
- //# sourceMappingURL=applyFlags.js.map
38
+ }
@@ -1,17 +1,20 @@
1
- import { MessagesSchema as PROTO } from '@trezor/protobuf';
2
- import { AbstractMethod } from '../core/AbstractMethod';
1
+ import { type PermissionRequest } from '@trezor/connect-common';
2
+ import type { MessagesSchema as PROTO } from '@trezor/protobuf';
3
+ import type { MethodMessage } from "../core/AbstractMethod.js";
4
+ import { AbstractMethod } from "../core/AbstractMethod.js";
3
5
  export default class ApplySettings extends AbstractMethod<'applySettings', PROTO.ApplySettings> {
4
- init(): void;
5
- get confirmation(): {
6
- view: "device-management";
7
- customConfirmButton: {
8
- className: string;
9
- label: string;
10
- };
11
- label: string;
6
+ constructor(message: MethodMessage<'applySettings'>);
7
+ get requiredPermissions(): PermissionRequest[];
8
+ init(): void;
9
+ get confirmation(): {
10
+ view: "device-management";
11
+ customConfirmButton: {
12
+ className: string;
13
+ label: string;
12
14
  };
13
- run(): Promise<{
14
- message: string;
15
- }>;
16
- }
17
- //# sourceMappingURL=applySettings.d.ts.map
15
+ label: string;
16
+ };
17
+ run(): Promise<{
18
+ message: string;
19
+ }>;
20
+ }
@@ -1,25 +1,26 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- const schema_utils_1 = require("@trezor/schema-utils");
7
- const AbstractMethod_1 = require("../core/AbstractMethod");
8
- const applySettings_1 = require("../types/api/applySettings");
9
- class ApplySettings extends AbstractMethod_1.AbstractMethod {
10
- init() {
11
- this.requiredPermissions = ['management'];
12
- this.useDeviceState = false;
13
- this.skipFinalReload = false;
1
+ import { ApplySettings as ApplySettingsSchema } from "@trezor/connect-common";
2
+ import { Assert } from "@trezor/schema-utils";
3
+ import { AbstractMethod } from "../core/AbstractMethod.js";
4
+ export default class ApplySettings extends AbstractMethod {
5
+ constructor(message) {
14
6
  const {
15
7
  payload
16
- } = this;
17
- (0, schema_utils_1.Assert)(applySettings_1.ApplySettings, payload);
18
- this.params = {
8
+ } = message;
9
+ Assert(ApplySettingsSchema, payload);
10
+ const params = {
19
11
  ...payload,
20
12
  _passphrase_source: payload.passphrase_source
21
13
  };
14
+ super(message, params);
15
+ this.useDeviceState = false;
16
+ this.skipFinalReload = false;
17
+ }
18
+ get requiredPermissions() {
19
+ return [{
20
+ permission: 'management'
21
+ }];
22
22
  }
23
+ init() {}
23
24
  get confirmation() {
24
25
  return {
25
26
  view: 'device-management',
@@ -31,12 +32,16 @@ class ApplySettings extends AbstractMethod_1.AbstractMethod {
31
32
  };
32
33
  }
33
34
  async run() {
34
- const cmd = this.device.getCommands();
35
+ const device = this.getDevice();
36
+ const cmd = device.getCommands();
35
37
  const homescreenBytes = this.params.homescreen ? Buffer.from(this.params.homescreen, 'hex') : undefined;
36
- if (this.device.atLeast('2.9.0') && homescreenBytes) {
38
+ if (device.atLeast('2.9.0') && homescreenBytes) {
37
39
  this.params.homescreen = undefined;
38
40
  this.params.homescreen_length = homescreenBytes.length;
39
41
  }
42
+ if (homescreenBytes !== undefined) {
43
+ device.startPiggybackAck();
44
+ }
40
45
  let response = await cmd.typedCall('ApplySettings', ['DataChunkRequest', 'Success'], this.params);
41
46
  while (response.type !== 'Success') {
42
47
  const start = response.message.data_offset;
@@ -46,8 +51,7 @@ class ApplySettings extends AbstractMethod_1.AbstractMethod {
46
51
  data_chunk
47
52
  });
48
53
  }
54
+ await device.stopPiggybackAck();
49
55
  return response.message;
50
56
  }
51
- }
52
- exports.default = ApplySettings;
53
- //# sourceMappingURL=applySettings.js.map
57
+ }
@@ -1,11 +1,25 @@
1
- import { VerifyAuthenticityProofResult } from '@trezor/device-authenticity';
2
- import { AbstractMethod } from '../core/AbstractMethod';
3
- import { AuthenticateDeviceParams } from '../types/api/authenticateDevice';
1
+ import type { PermissionRequest } from '@trezor/connect-common';
2
+ import { AuthenticateDeviceParams } from '@trezor/device-authenticity';
3
+ import type { MethodMessage } from "../core/AbstractMethod.js";
4
+ import { AbstractMethod } from "../core/AbstractMethod.js";
4
5
  export default class AuthenticateDevice extends AbstractMethod<'authenticateDevice', AuthenticateDeviceParams> {
5
- init(): void;
6
- run(): Promise<{
7
- optigaResult: VerifyAuthenticityProofResult;
8
- tropicResult: VerifyAuthenticityProofResult | null;
9
- }>;
10
- }
11
- //# sourceMappingURL=authenticateDevice.d.ts.map
6
+ constructor(message: MethodMessage<'authenticateDevice'>);
7
+ get requiredPermissions(): PermissionRequest[];
8
+ streamAuthenticityProofs(challenge: Buffer): Promise<{
9
+ tropic_signature?: string | undefined;
10
+ mcu_signature?: string | undefined;
11
+ optiga_certificates: string[];
12
+ optiga_signature: string;
13
+ tropic_certificates: string[];
14
+ mcu_certificates: string[];
15
+ }>;
16
+ getAuthenticityProofs(challenge: Buffer): Promise<{
17
+ tropic_signature?: string | undefined;
18
+ mcu_signature?: string | undefined;
19
+ optiga_certificates: string[];
20
+ optiga_signature: string;
21
+ tropic_certificates: string[];
22
+ mcu_certificates: string[];
23
+ }>;
24
+ run(): Promise<import("@trezor/device-authenticity/lib/types").ResultsToValidate>;
25
+ }
@@ -1,44 +1,128 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- const device_authenticity_1 = require("@trezor/device-authenticity");
7
- const schema_utils_1 = require("@trezor/schema-utils");
8
- const AbstractMethod_1 = require("../core/AbstractMethod");
9
- const events_1 = require("../events");
10
- const paramsValidator_1 = require("./common/paramsValidator");
11
- const authenticateDevice_1 = require("../types/api/authenticateDevice");
12
- class AuthenticateDevice extends AbstractMethod_1.AbstractMethod {
13
- init() {
14
- this.useEmptyPassphrase = true;
15
- this.allowDeviceMode = [events_1.UI.INITIALIZE, events_1.UI.SEEDLESS];
16
- this.requiredPermissions = ['management'];
17
- this.skipFinalReload = false;
18
- this.useDeviceState = false;
19
- this.firmwareRange = (0, paramsValidator_1.getFirmwareRange)(this.name, null, this.firmwareRange);
1
+ import { UI_REQUEST } from "@trezor/connect-common";
2
+ import { AuthenticateDeviceParams, deviceAuthenticityBlacklistConfig, deviceAuthenticityConfig, getRandomChallenge, prepareDeviceAuthenticityData, validateSerialNumbers, verifyAuthenticityProof } from "@trezor/device-authenticity";
3
+ import { MessagesSchema as PROTO } from "@trezor/protobuf";
4
+ import { Assert } from "@trezor/schema-utils";
5
+ import { AbstractMethod } from "../core/AbstractMethod.js";
6
+ export default class AuthenticateDevice extends AbstractMethod {
7
+ constructor(message) {
20
8
  const {
21
9
  payload
22
- } = this;
23
- (0, schema_utils_1.Assert)(authenticateDevice_1.AuthenticateDeviceParams, payload);
24
- this.params = {
10
+ } = message;
11
+ Assert(AuthenticateDeviceParams, payload);
12
+ const params = {
25
13
  config: payload.config,
26
14
  blacklistConfig: payload.blacklistConfig,
27
15
  allowDebugKeys: payload.allowDebugKeys
28
16
  };
17
+ super(message, params);
18
+ this.useEmptyPassphrase = true;
19
+ this.allowDeviceMode = [UI_REQUEST.INITIALIZE, UI_REQUEST.SEEDLESS];
20
+ this.skipFinalReload = false;
21
+ this.useDeviceState = false;
29
22
  }
30
- async run() {
31
- const challenge = (0, device_authenticity_1.getRandomChallenge)();
23
+ get requiredPermissions() {
24
+ return [{
25
+ permission: 'management'
26
+ }];
27
+ }
28
+ async streamAuthenticityProofs(challenge) {
29
+ const cmd = this.getDevice().getCommands();
30
+ const MAX_CHUNK_SIZE = 500;
31
+ this.getDevice().startPiggybackAck();
32
+ const {
33
+ message: proofSizes
34
+ } = await cmd.typedCall('AuthenticateDevice', 'AuthenticityProofSizes', {
35
+ challenge: challenge.toString('hex'),
36
+ stream: true
37
+ });
38
+ const proofTypes = [{
39
+ name: 'optiga',
40
+ type: PROTO.AuthenticityProofType.OPTIGA,
41
+ certSizes: proofSizes.optiga_certificates,
42
+ sigSize: proofSizes.optiga_signature
43
+ }, {
44
+ name: 'tropic',
45
+ type: PROTO.AuthenticityProofType.TROPIC,
46
+ certSizes: proofSizes.tropic_certificates,
47
+ sigSize: proofSizes.tropic_signature
48
+ }, {
49
+ name: 'mcu',
50
+ type: PROTO.AuthenticityProofType.MCU,
51
+ certSizes: proofSizes.mcu_certificates,
52
+ sigSize: proofSizes.mcu_signature
53
+ }];
54
+ const authenticityProof = {
55
+ optiga_certificates: [],
56
+ optiga_signature: '',
57
+ tropic_certificates: [],
58
+ tropic_signature: undefined,
59
+ mcu_certificates: [],
60
+ mcu_signature: undefined
61
+ };
62
+ const getChunk = async (params, chunkSize) => {
63
+ const chunks = [];
64
+ let offset = 0;
65
+ while (offset < chunkSize) {
66
+ const size = Math.min(MAX_CHUNK_SIZE, chunkSize - offset);
67
+ const {
68
+ message
69
+ } = await cmd.typedCall('GetAuthenticityProofChunk', 'AuthenticityProofChunk', {
70
+ ...params,
71
+ offset,
72
+ size
73
+ });
74
+ chunks.push(message.chunk);
75
+ offset += size;
76
+ }
77
+ return chunks.join('');
78
+ };
79
+ for (const {
80
+ name,
81
+ type,
82
+ certSizes,
83
+ sigSize
84
+ } of proofTypes) {
85
+ for (const [i, certSize] of certSizes.entries()) {
86
+ const cert = await getChunk({
87
+ proof_type: type,
88
+ index: i
89
+ }, certSize);
90
+ authenticityProof[`${name}_certificates`].push(cert);
91
+ }
92
+ if (sigSize) {
93
+ authenticityProof[`${name}_signature`] = await getChunk({
94
+ proof_type: type
95
+ }, sigSize);
96
+ }
97
+ }
98
+ await cmd.typedCall('GetAuthenticityProofChunk', 'Success', {
99
+ offset: 0,
100
+ size: 0
101
+ });
102
+ await this.getDevice().stopPiggybackAck();
103
+ return authenticityProof;
104
+ }
105
+ async getAuthenticityProofs(challenge) {
32
106
  const {
33
107
  message
34
- } = await this.device.getCommands().typedCall('AuthenticateDevice', 'AuthenticityProof', {
108
+ } = await this.getDevice().getCommands().typedCall('AuthenticateDevice', 'AuthenticityProof', {
35
109
  challenge: challenge.toString('hex')
36
110
  });
37
- const config = this.params.config || device_authenticity_1.deviceAuthenticityConfig;
38
- const blacklistConfig = this.params.blacklistConfig || device_authenticity_1.deviceAuthenticityBlacklistConfig;
111
+ return message;
112
+ }
113
+ async run() {
114
+ const challenge = getRandomChallenge();
115
+ const {
116
+ unavailableCapabilities
117
+ } = this.getDevice();
118
+ const authenticityProof = !unavailableCapabilities['authenticityProofChunk'] ? await this.streamAuthenticityProofs(challenge) : await this.getAuthenticityProofs(challenge);
119
+ const config = this.params.config || deviceAuthenticityConfig;
120
+ const blacklistConfig = this.params.blacklistConfig || deviceAuthenticityBlacklistConfig;
39
121
  const commonParams = {
40
- challenge,
41
- deviceModel: this.device.features.internal_model,
122
+ signedData: prepareDeviceAuthenticityData({
123
+ payload: challenge
124
+ }),
125
+ deviceModel: this.getDevice().features.internal_model,
42
126
  allowDebugKeys: this.params.allowDebugKeys,
43
127
  config,
44
128
  blacklistConfig
@@ -47,10 +131,10 @@ class AuthenticateDevice extends AbstractMethod_1.AbstractMethod {
47
131
  const {
48
132
  optiga_signature: signature,
49
133
  optiga_certificates: certificates
50
- } = message;
51
- const isAvailable = signature !== undefined && certificates.length > 0;
134
+ } = authenticityProof;
135
+ const isAvailable = signature && certificates.length > 0;
52
136
  if (isAvailable) {
53
- return await (0, device_authenticity_1.verifyAuthenticityProof)({
137
+ return await verifyAuthenticityProof({
54
138
  ...commonParams,
55
139
  certificates,
56
140
  signature
@@ -61,35 +145,51 @@ class AuthenticateDevice extends AbstractMethod_1.AbstractMethod {
61
145
  error: 'RESPONSE_PAYLOAD_MISSING'
62
146
  };
63
147
  };
148
+ const hasTropicAbility = !unavailableCapabilities['tropicDeviceAuthentication'];
64
149
  const getTropicResult = async () => {
65
150
  const {
66
151
  tropic_signature: signature,
67
152
  tropic_certificates: certificates
68
- } = message;
69
- const isAvailable = signature !== undefined && certificates.length > 0;
70
- const isRequired = !this.device.unavailableCapabilities['tropicDeviceAuthentication'];
153
+ } = authenticityProof;
154
+ const isAvailable = signature && certificates.length > 0;
155
+ const isRequired = hasTropicAbility;
71
156
  if (isAvailable) {
72
- return await (0, device_authenticity_1.verifyAuthenticityProof)({
157
+ return await verifyAuthenticityProof({
73
158
  ...commonParams,
74
159
  certificates,
75
160
  signature
76
161
  });
77
162
  }
78
- if (isRequired) {
79
- return {
80
- valid: false,
81
- error: 'RESPONSE_PAYLOAD_MISSING'
82
- };
163
+ return isRequired ? {
164
+ valid: false,
165
+ error: 'RESPONSE_PAYLOAD_MISSING'
166
+ } : null;
167
+ };
168
+ const getMCUResult = async () => {
169
+ const {
170
+ mcu_signature: signature,
171
+ mcu_certificates: certificates
172
+ } = authenticityProof;
173
+ const isAvailable = signature && certificates.length > 0;
174
+ const isRequired = !unavailableCapabilities['mcuDeviceAuthentication'];
175
+ if (isAvailable) {
176
+ return await verifyAuthenticityProof({
177
+ ...commonParams,
178
+ certificates,
179
+ signature
180
+ });
83
181
  }
84
- return null;
182
+ return isRequired ? {
183
+ valid: false,
184
+ error: 'RESPONSE_PAYLOAD_MISSING'
185
+ } : null;
85
186
  };
86
- const optigaResult = await getOptigaResult();
87
- const tropicResult = await getTropicResult();
88
- return {
187
+ const [optigaResult, tropicResult, mcuResult] = await Promise.all([getOptigaResult(), getTropicResult(), getMCUResult()]);
188
+ const results = {
89
189
  optigaResult,
90
- tropicResult
190
+ tropicResult,
191
+ mcuResult
91
192
  };
193
+ return hasTropicAbility ? validateSerialNumbers(results) : results;
92
194
  }
93
- }
94
- exports.default = AuthenticateDevice;
95
- //# sourceMappingURL=authenticateDevice.js.map
195
+ }
@@ -1,9 +1,11 @@
1
- import { MessagesSchema as PROTO } from '@trezor/protobuf';
2
- import { AbstractMethod } from '../core/AbstractMethod';
1
+ import { type PermissionRequest } from '@trezor/connect-common';
2
+ import type { MessagesSchema as PROTO } from '@trezor/protobuf';
3
+ import type { MethodMessage } from "../core/AbstractMethod.js";
4
+ import { AbstractMethod } from "../core/AbstractMethod.js";
3
5
  export default class AuthorizeCoinjoin extends AbstractMethod<'authorizeCoinjoin', PROTO.AuthorizeCoinJoin> {
4
- init(): void;
5
- run(): Promise<{
6
- message: string;
7
- }>;
8
- }
9
- //# sourceMappingURL=authorizeCoinjoin.d.ts.map
6
+ constructor(message: MethodMessage<'authorizeCoinjoin'>);
7
+ get requiredPermissions(): PermissionRequest[];
8
+ run(): Promise<{
9
+ message: string;
10
+ }>;
11
+ }
@@ -1,26 +1,18 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- const schema_utils_1 = require("@trezor/schema-utils");
7
- const AbstractMethod_1 = require("../core/AbstractMethod");
8
- const paramsValidator_1 = require("./common/paramsValidator");
9
- const coinInfo_1 = require("../data/coinInfo");
10
- const authorizeCoinjoin_1 = require("../types/api/authorizeCoinjoin");
11
- const pathUtils_1 = require("../utils/pathUtils");
12
- class AuthorizeCoinjoin extends AbstractMethod_1.AbstractMethod {
13
- init() {
1
+ import { AuthorizeCoinjoin as AuthorizeCoinjoinSchema } from "@trezor/connect-common";
2
+ import { Assert } from "@trezor/schema-utils";
3
+ import { AbstractMethod } from "../core/AbstractMethod.js";
4
+ import { getBitcoinNetwork } from "../data/coinInfo.js";
5
+ import { getScriptType, validatePath } from "../utils/pathUtils.js";
6
+ export default class AuthorizeCoinjoin extends AbstractMethod {
7
+ constructor(message) {
14
8
  const {
15
9
  payload
16
- } = this;
17
- (0, schema_utils_1.Assert)(authorizeCoinjoin_1.AuthorizeCoinjoin, payload);
18
- const address_n = (0, pathUtils_1.validatePath)(payload.path, 3);
19
- const script_type = payload.scriptType || (0, pathUtils_1.getScriptType)(address_n);
20
- const coinInfo = (0, coinInfo_1.getBitcoinNetwork)(payload.coin || address_n);
21
- this.firmwareRange = (0, paramsValidator_1.getFirmwareRange)(this.name, coinInfo, this.firmwareRange);
22
- this.preauthorized = payload.preauthorized;
23
- this.params = {
10
+ } = message;
11
+ Assert(AuthorizeCoinjoinSchema, payload);
12
+ const address_n = validatePath(payload.path, 3);
13
+ const script_type = payload.scriptType || getScriptType(address_n);
14
+ const coinInfo = getBitcoinNetwork(payload.coin || address_n);
15
+ const params = {
24
16
  coordinator: payload.coordinator,
25
17
  max_rounds: payload.maxRounds,
26
18
  max_coordinator_fee_rate: payload.maxCoordinatorFeeRate,
@@ -30,9 +22,15 @@ class AuthorizeCoinjoin extends AbstractMethod_1.AbstractMethod {
30
22
  script_type,
31
23
  amount_unit: payload.amountUnit
32
24
  };
25
+ super(message, params);
26
+ this.requiredFirmwareCoins = [coinInfo];
27
+ this.preauthorized = payload.preauthorized;
28
+ }
29
+ get requiredPermissions() {
30
+ return [this.coinPerm('internal', this.requiredFirmwareCoins[0])];
33
31
  }
34
32
  async run() {
35
- const cmd = this.device.getCommands();
33
+ const cmd = this.getDevice().getCommands();
36
34
  if (this.preauthorized) {
37
35
  if (await cmd.preauthorize(false)) {
38
36
  return {
@@ -43,6 +41,4 @@ class AuthorizeCoinjoin extends AbstractMethod_1.AbstractMethod {
43
41
  const response = await cmd.typedCall('AuthorizeCoinJoin', 'Success', this.params);
44
42
  return response.message;
45
43
  }
46
- }
47
- exports.default = AuthorizeCoinjoin;
48
- //# sourceMappingURL=authorizeCoinjoin.js.map
44
+ }