@trezor/connect 9.7.3 → 10.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (772) hide show
  1. package/CHANGELOG.md +68 -1334
  2. package/README.md +9 -45
  3. package/lib/api/applyFlags.d.ts +17 -14
  4. package/lib/api/applyFlags.js +19 -20
  5. package/lib/api/applySettings.d.ts +18 -15
  6. package/lib/api/applySettings.js +25 -21
  7. package/lib/api/authenticateDevice.d.ts +24 -10
  8. package/lib/api/authenticateDevice.js +149 -49
  9. package/lib/api/authorizeCoinjoin.d.ts +10 -8
  10. package/lib/api/authorizeCoinjoin.js +21 -25
  11. package/lib/api/backupDevice.d.ts +16 -14
  12. package/lib/api/backupDevice.js +20 -21
  13. package/lib/api/bitcoin/TransactionComposer.d.ts +42 -44
  14. package/lib/api/bitcoin/TransactionComposer.js +21 -21
  15. package/lib/api/bitcoin/createPendingTx.d.ts +34 -32
  16. package/lib/api/bitcoin/createPendingTx.js +8 -15
  17. package/lib/api/bitcoin/enhanceSignTx.d.ts +2 -4
  18. package/lib/api/bitcoin/enhanceSignTx.js +5 -46
  19. package/lib/api/bitcoin/index.d.ts +9 -10
  20. package/lib/api/bitcoin/index.js +9 -16
  21. package/lib/api/bitcoin/inputs.d.ts +3 -7
  22. package/lib/api/bitcoin/inputs.js +12 -34
  23. package/lib/api/bitcoin/outputs.d.ts +3 -6
  24. package/lib/api/bitcoin/outputs.js +34 -33
  25. package/lib/api/bitcoin/refTx.d.ts +16 -12
  26. package/lib/api/bitcoin/refTx.js +49 -70
  27. package/lib/api/bitcoin/signtx.d.ts +26 -21
  28. package/lib/api/bitcoin/signtx.js +47 -39
  29. package/lib/api/bitcoin/signtxLegacy.d.ts +10 -4
  30. package/lib/api/bitcoin/signtxLegacy.js +31 -32
  31. package/lib/api/bitcoin/signtxVerify.d.ts +7 -9
  32. package/lib/api/bitcoin/signtxVerify.js +35 -35
  33. package/lib/api/bitcoin/transactionBytes.d.ts +3 -5
  34. package/lib/api/bitcoin/transactionBytes.js +8 -19
  35. package/lib/api/bleUnpair.d.ts +10 -8
  36. package/lib/api/bleUnpair.js +23 -25
  37. package/lib/api/blockchainDisconnect.d.ts +12 -11
  38. package/lib/api/blockchainDisconnect.js +22 -28
  39. package/lib/api/blockchainEstimateFee.d.ts +12 -9
  40. package/lib/api/blockchainEstimateFee.js +27 -32
  41. package/lib/api/blockchainEvmRpcCall.d.ts +15 -12
  42. package/lib/api/blockchainEvmRpcCall.js +22 -27
  43. package/lib/api/blockchainGetAccountBalanceHistory.d.ts +12 -9
  44. package/lib/api/blockchainGetAccountBalanceHistory.js +27 -28
  45. package/lib/api/blockchainGetContractInfo.d.ts +16 -0
  46. package/lib/api/blockchainGetContractInfo.js +46 -0
  47. package/lib/api/blockchainGetCurrentFiatRates.d.ts +16 -13
  48. package/lib/api/blockchainGetCurrentFiatRates.js +22 -27
  49. package/lib/api/blockchainGetFiatRatesForTimestamps.d.ts +19 -16
  50. package/lib/api/blockchainGetFiatRatesForTimestamps.js +22 -27
  51. package/lib/api/blockchainGetInfo.d.ts +11 -8
  52. package/lib/api/blockchainGetInfo.js +22 -27
  53. package/lib/api/blockchainGetTransactions.d.ts +14 -9
  54. package/lib/api/blockchainGetTransactions.js +29 -29
  55. package/lib/api/blockchainSetCustomBackend.d.ts +13 -8
  56. package/lib/api/blockchainSetCustomBackend.js +26 -28
  57. package/lib/api/blockchainSubscribe.d.ts +15 -12
  58. package/lib/api/blockchainSubscribe.js +25 -28
  59. package/lib/api/blockchainSubscribeFiatRates.d.ts +15 -11
  60. package/lib/api/blockchainSubscribeFiatRates.js +23 -27
  61. package/lib/api/blockchainUnsubscribe.d.ts +15 -12
  62. package/lib/api/blockchainUnsubscribe.js +25 -28
  63. package/lib/api/blockchainUnsubscribeFiatRates.d.ts +13 -10
  64. package/lib/api/blockchainUnsubscribeFiatRates.js +22 -27
  65. package/lib/api/blockchainValidateEvmRpcUrl.d.ts +17 -0
  66. package/lib/api/blockchainValidateEvmRpcUrl.js +54 -0
  67. package/lib/api/cancelCoinjoinAuthorization.d.ts +11 -10
  68. package/lib/api/cancelCoinjoinAuthorization.js +15 -18
  69. package/lib/api/cardano/api/cardanoComposeTransaction.d.ts +9 -7
  70. package/lib/api/cardano/api/cardanoComposeTransaction.js +25 -27
  71. package/lib/api/cardano/api/cardanoGetAddress.d.ts +31 -24
  72. package/lib/api/cardano/api/cardanoGetAddress.js +75 -70
  73. package/lib/api/cardano/api/cardanoGetNativeScriptHash.d.ts +11 -12
  74. package/lib/api/cardano/api/cardanoGetNativeScriptHash.js +47 -56
  75. package/lib/api/cardano/api/cardanoGetPublicKey.d.ts +19 -14
  76. package/lib/api/cardano/api/cardanoGetPublicKey.js +62 -43
  77. package/lib/api/cardano/api/cardanoSignMessage.d.ts +19 -22
  78. package/lib/api/cardano/api/cardanoSignMessage.js +34 -44
  79. package/lib/api/cardano/api/cardanoSignTransaction.d.ts +75 -73
  80. package/lib/api/cardano/api/cardanoSignTransaction.js +64 -62
  81. package/lib/api/cardano/api/index.d.ts +6 -7
  82. package/lib/api/cardano/api/index.js +6 -50
  83. package/lib/api/cardano/cardanoAddressParameters.d.ts +3 -4
  84. package/lib/api/cardano/cardanoAddressParameters.js +17 -27
  85. package/lib/api/cardano/cardanoAuxiliaryData.d.ts +3 -4
  86. package/lib/api/cardano/cardanoAuxiliaryData.js +16 -25
  87. package/lib/api/cardano/cardanoCertificate.d.ts +9 -10
  88. package/lib/api/cardano/cardanoCertificate.js +35 -42
  89. package/lib/api/cardano/cardanoInputs.d.ts +16 -17
  90. package/lib/api/cardano/cardanoInputs.js +19 -29
  91. package/lib/api/cardano/cardanoOutputs.d.ts +35 -35
  92. package/lib/api/cardano/cardanoOutputs.js +25 -34
  93. package/lib/api/cardano/cardanoTokenBundle.d.ts +10 -11
  94. package/lib/api/cardano/cardanoTokenBundle.js +9 -17
  95. package/lib/api/cardano/cardanoUtils.d.ts +13 -5
  96. package/lib/api/cardano/cardanoUtils.js +19 -33
  97. package/lib/api/cardano/cardanoWitnesses.d.ts +4 -5
  98. package/lib/api/cardano/cardanoWitnesses.js +6 -14
  99. package/lib/api/changeLanguage.d.ts +16 -15
  100. package/lib/api/changeLanguage.js +22 -23
  101. package/lib/api/changePin.d.ts +9 -7
  102. package/lib/api/changePin.js +18 -20
  103. package/lib/api/changeWipeCode.d.ts +10 -8
  104. package/lib/api/changeWipeCode.js +17 -19
  105. package/lib/api/cipherKeyValue.d.ts +16 -12
  106. package/lib/api/cipherKeyValue.js +35 -33
  107. package/lib/api/common/AbstractMiscGetAddress.d.ts +37 -0
  108. package/lib/api/common/AbstractMiscGetAddress.js +126 -0
  109. package/lib/api/common/Discovery.d.ts +23 -26
  110. package/lib/api/common/Discovery.js +14 -22
  111. package/lib/api/common/paramsValidator.d.ts +19 -9
  112. package/lib/api/common/paramsValidator.js +77 -71
  113. package/lib/api/common/requestExistingAccounts.d.ts +14 -0
  114. package/lib/api/common/requestExistingAccounts.js +20 -0
  115. package/lib/api/composeTransaction.d.ts +31 -39
  116. package/lib/api/composeTransaction.js +172 -108
  117. package/lib/api/discoverAccounts.d.ts +36 -29
  118. package/lib/api/discoverAccounts.js +113 -69
  119. package/lib/api/ethereum/api/ethereumGetAddress.d.ts +27 -25
  120. package/lib/api/ethereum/api/ethereumGetAddress.js +80 -62
  121. package/lib/api/ethereum/api/ethereumGetPublicKey.d.ts +49 -41
  122. package/lib/api/ethereum/api/ethereumGetPublicKey.js +54 -42
  123. package/lib/api/ethereum/api/ethereumSignMessage.d.ts +24 -21
  124. package/lib/api/ethereum/api/ethereumSignMessage.js +40 -46
  125. package/lib/api/ethereum/api/ethereumSignTransaction.d.ts +77 -76
  126. package/lib/api/ethereum/api/ethereumSignTransaction.js +63 -77
  127. package/lib/api/ethereum/api/ethereumSignTypedData.d.ts +108 -107
  128. package/lib/api/ethereum/api/ethereumSignTypedData.js +69 -77
  129. package/lib/api/ethereum/api/ethereumVerifyMessage.d.ts +11 -9
  130. package/lib/api/ethereum/api/ethereumVerifyMessage.js +23 -25
  131. package/lib/api/ethereum/api/index.d.ts +6 -7
  132. package/lib/api/ethereum/api/index.js +6 -50
  133. package/lib/api/ethereum/ethereumDefinitions.d.ts +42 -36
  134. package/lib/api/ethereum/ethereumDefinitions.js +67 -50
  135. package/lib/api/ethereum/ethereumSignTx.d.ts +15 -21
  136. package/lib/api/ethereum/ethereumSignTx.js +64 -62
  137. package/lib/api/ethereum/ethereumSignTypedData.d.ts +28 -5
  138. package/lib/api/ethereum/ethereumSignTypedData.js +95 -41
  139. package/lib/api/evoluGetDelegatedIdentityKey.d.ts +13 -10
  140. package/lib/api/evoluGetDelegatedIdentityKey.js +20 -32
  141. package/lib/api/evoluGetNode.d.ts +11 -9
  142. package/lib/api/evoluGetNode.js +16 -20
  143. package/lib/api/evoluSignRegistrationRequest.d.ts +14 -10
  144. package/lib/api/evoluSignRegistrationRequest.js +18 -20
  145. package/lib/api/firmware/calculateFirmwareHash.d.ts +15 -10
  146. package/lib/api/firmware/calculateFirmwareHash.js +16 -21
  147. package/lib/api/firmware/calculateXPubHash.d.ts +14 -0
  148. package/lib/api/firmware/calculateXPubHash.js +16 -0
  149. package/lib/api/firmware/getBinary.d.ts +11 -8
  150. package/lib/api/firmware/getBinary.js +12 -21
  151. package/lib/api/firmware/index.d.ts +6 -6
  152. package/lib/api/firmware/index.js +6 -54
  153. package/lib/api/firmware/modifyFirmware.d.ts +2 -3
  154. package/lib/api/firmware/modifyFirmware.js +6 -14
  155. package/lib/api/firmware/parseFirmwareHeaders.d.ts +3 -4
  156. package/lib/api/firmware/parseFirmwareHeaders.js +2 -10
  157. package/lib/api/firmware/uploadFirmware.d.ts +22 -17
  158. package/lib/api/firmware/uploadFirmware.js +20 -20
  159. package/lib/api/firmware/verifyEntropy.d.ts +20 -14
  160. package/lib/api/firmware/verifyEntropy.js +22 -29
  161. package/lib/api/getAccountInfo.d.ts +17 -143
  162. package/lib/api/getAccountInfo.js +92 -184
  163. package/lib/api/getAddress.d.ts +42 -35
  164. package/lib/api/getAddress.js +76 -71
  165. package/lib/api/getCoinInfo.d.ts +144 -146
  166. package/lib/api/getCoinInfo.js +17 -25
  167. package/lib/api/getDeviceState.d.ts +7 -8
  168. package/lib/api/getDeviceState.js +11 -17
  169. package/lib/api/getFeatures.d.ts +70 -64
  170. package/lib/api/getFeatures.js +17 -17
  171. package/lib/api/getFirmwareHash.d.ts +9 -7
  172. package/lib/api/getFirmwareHash.js +20 -24
  173. package/lib/api/getNonce.d.ts +10 -9
  174. package/lib/api/getNonce.js +12 -12
  175. package/lib/api/getOwnershipId.d.ts +16 -12
  176. package/lib/api/getOwnershipId.js +54 -37
  177. package/lib/api/getOwnershipProof.d.ts +16 -12
  178. package/lib/api/getOwnershipProof.js +54 -39
  179. package/lib/api/getPublicKey.d.ts +51 -43
  180. package/lib/api/getPublicKey.js +67 -48
  181. package/lib/api/getSettings.d.ts +23 -5
  182. package/lib/api/getSettings.js +16 -14
  183. package/lib/api/index.d.ts +62 -58
  184. package/lib/api/index.js +62 -408
  185. package/lib/api/loadDevice.d.ts +14 -12
  186. package/lib/api/loadDevice.js +20 -24
  187. package/lib/api/monero/api/index.d.ts +4 -5
  188. package/lib/api/monero/api/index.js +4 -36
  189. package/lib/api/monero/api/moneroGetAddress.d.ts +29 -24
  190. package/lib/api/monero/api/moneroGetAddress.js +56 -61
  191. package/lib/api/monero/api/moneroGetWatchKey.d.ts +11 -10
  192. package/lib/api/monero/api/moneroGetWatchKey.js +26 -29
  193. package/lib/api/monero/api/moneroKeyImageSync.d.ts +13 -12
  194. package/lib/api/monero/api/moneroKeyImageSync.js +34 -37
  195. package/lib/api/monero/api/moneroSignTransaction.d.ts +13 -12
  196. package/lib/api/monero/api/moneroSignTransaction.js +52 -41
  197. package/lib/api/nostr/nostrGetPublicKey.d.ts +15 -0
  198. package/lib/api/nostr/nostrGetPublicKey.js +38 -0
  199. package/lib/api/nostr/nostrSignEvent.d.ts +13 -0
  200. package/lib/api/nostr/nostrSignEvent.js +36 -0
  201. package/lib/api/pingDevice.d.ts +11 -0
  202. package/lib/api/pingDevice.js +29 -0
  203. package/lib/api/pushTransaction.d.ts +15 -12
  204. package/lib/api/pushTransaction.js +25 -30
  205. package/lib/api/recoveryDevice.d.ts +18 -16
  206. package/lib/api/recoveryDevice.js +22 -23
  207. package/lib/api/requestLogin.d.ts +13 -11
  208. package/lib/api/requestLogin.js +24 -30
  209. package/lib/api/resetDevice.d.ts +21 -15
  210. package/lib/api/resetDevice.js +64 -48
  211. package/lib/api/ripple/api/index.d.ts +2 -3
  212. package/lib/api/ripple/api/index.js +2 -22
  213. package/lib/api/ripple/api/rippleGetAddress.d.ts +17 -27
  214. package/lib/api/ripple/api/rippleGetAddress.js +12 -101
  215. package/lib/api/ripple/api/rippleSignTransaction.d.ts +12 -10
  216. package/lib/api/ripple/api/rippleSignTransaction.js +21 -24
  217. package/lib/api/selectAccount.d.ts +15 -0
  218. package/lib/api/selectAccount.js +42 -0
  219. package/lib/api/setBrightness.d.ts +10 -7
  220. package/lib/api/setBrightness.js +19 -20
  221. package/lib/api/setBusy.d.ts +10 -8
  222. package/lib/api/setBusy.js +18 -25
  223. package/lib/api/showDeviceTutorial.d.ts +11 -10
  224. package/lib/api/showDeviceTutorial.js +11 -16
  225. package/lib/api/signMessage.d.ts +24 -18
  226. package/lib/api/signMessage.js +47 -36
  227. package/lib/api/signTransaction.d.ts +195 -227
  228. package/lib/api/signTransaction.js +84 -101
  229. package/lib/api/solana/api/index.d.ts +4 -5
  230. package/lib/api/solana/api/index.js +4 -36
  231. package/lib/api/solana/api/solanaComposeTransaction.d.ts +29 -26
  232. package/lib/api/solana/api/solanaComposeTransaction.js +47 -36
  233. package/lib/api/solana/api/solanaGetAddress.d.ts +17 -27
  234. package/lib/api/solana/api/solanaGetAddress.js +12 -101
  235. package/lib/api/solana/api/solanaGetPublicKey.d.ts +31 -26
  236. package/lib/api/solana/api/solanaGetPublicKey.js +54 -39
  237. package/lib/api/solana/api/solanaSignTransaction.d.ts +38 -36
  238. package/lib/api/solana/api/solanaSignTransaction.js +134 -133
  239. package/lib/api/solana/solanaDefinitions.d.ts +5 -4
  240. package/lib/api/solana/solanaDefinitions.js +12 -25
  241. package/lib/api/stellar/api/index.d.ts +2 -3
  242. package/lib/api/stellar/api/index.js +2 -22
  243. package/lib/api/stellar/api/stellarGetAddress.d.ts +17 -27
  244. package/lib/api/stellar/api/stellarGetAddress.js +12 -101
  245. package/lib/api/stellar/api/stellarSignTransaction.d.ts +17 -21
  246. package/lib/api/stellar/api/stellarSignTransaction.js +39 -44
  247. package/lib/api/stellar/stellarSignTx.d.ts +7 -7
  248. package/lib/api/stellar/stellarSignTx.js +37 -51
  249. package/lib/api/telemetryGet.d.ts +14 -0
  250. package/lib/api/telemetryGet.js +26 -0
  251. package/lib/api/tezos/api/index.d.ts +3 -4
  252. package/lib/api/tezos/api/index.js +3 -29
  253. package/lib/api/tezos/api/tezosGetAddress.d.ts +17 -27
  254. package/lib/api/tezos/api/tezosGetAddress.js +12 -101
  255. package/lib/api/tezos/api/tezosGetPublicKey.d.ts +27 -20
  256. package/lib/api/tezos/api/tezosGetPublicKey.js +53 -37
  257. package/lib/api/tezos/api/tezosSignTransaction.d.ts +13 -11
  258. package/lib/api/tezos/api/tezosSignTransaction.js +20 -26
  259. package/lib/api/tezos/tezosSignTx.d.ts +66 -67
  260. package/lib/api/tezos/tezosSignTx.js +12 -19
  261. package/lib/api/thpGetCredentials.d.ts +12 -9
  262. package/lib/api/thpGetCredentials.js +21 -25
  263. package/lib/api/thpRemoveCredentials.d.ts +14 -7
  264. package/lib/api/thpRemoveCredentials.js +35 -30
  265. package/lib/api/tron/api/index.d.ts +3 -3
  266. package/lib/api/tron/api/index.js +3 -22
  267. package/lib/api/tron/api/tronComposeTransaction.d.ts +17 -0
  268. package/lib/api/tron/api/tronComposeTransaction.js +52 -0
  269. package/lib/api/tron/api/tronGetAddress.d.ts +17 -27
  270. package/lib/api/tron/api/tronGetAddress.js +12 -98
  271. package/lib/api/tron/api/tronSignTransaction.d.ts +16 -15
  272. package/lib/api/tron/api/tronSignTransaction.js +101 -27
  273. package/lib/api/tron/tronEncode.d.ts +11 -0
  274. package/lib/api/tron/tronEncode.js +157 -0
  275. package/lib/api/tron/tronProtobuf.d.ts +5 -0
  276. package/lib/api/tron/tronProtobuf.js +28 -0
  277. package/lib/api/unlockPath.d.ts +11 -9
  278. package/lib/api/unlockPath.js +18 -23
  279. package/lib/api/verifyMessage.d.ts +15 -9
  280. package/lib/api/verifyMessage.js +30 -34
  281. package/lib/api/wipeDevice.d.ts +19 -15
  282. package/lib/api/wipeDevice.js +22 -22
  283. package/lib/backend/BackendManager.d.ts +26 -20
  284. package/lib/backend/BackendManager.js +29 -29
  285. package/lib/backend/Blockchain.d.ts +78 -79
  286. package/lib/backend/Blockchain.js +34 -35
  287. package/lib/backend/BlockchainLink.d.ts +6 -6
  288. package/lib/backend/BlockchainLink.js +14 -27
  289. package/lib/backend/fees/BitcoinFeeLevels.d.ts +18 -19
  290. package/lib/backend/fees/BitcoinFeeLevels.js +11 -17
  291. package/lib/backend/fees/EthereumFeeLevels.d.ts +16 -17
  292. package/lib/backend/fees/EthereumFeeLevels.js +26 -22
  293. package/lib/backend/fees/MiscFeeLevels.d.ts +17 -18
  294. package/lib/backend/fees/MiscFeeLevels.js +13 -16
  295. package/lib/backend/fees/index.d.ts +4 -5
  296. package/lib/backend/fees/index.js +12 -21
  297. package/lib/core/AbstractMethod.d.ts +57 -72
  298. package/lib/core/AbstractMethod.js +92 -170
  299. package/lib/core/index.d.ts +25 -28
  300. package/lib/core/index.js +292 -493
  301. package/lib/core/method.d.ts +3 -4
  302. package/lib/core/method.js +9 -18
  303. package/lib/core/method.native.d.ts +2 -3
  304. package/lib/core/method.native.js +8 -19
  305. package/lib/core/onCallFirmwareUpdate.d.ts +33 -32
  306. package/lib/core/onCallFirmwareUpdate.js +103 -63
  307. package/lib/data/coinInfo.d.ts +86 -431
  308. package/lib/data/coinInfo.js +55 -57
  309. package/lib/data/config.d.ts +5 -30
  310. package/lib/data/config.js +52 -149
  311. package/lib/data/defaultFeeLevels.d.ts +10 -11
  312. package/lib/data/defaultFeeLevels.js +39 -23
  313. package/lib/data/enabledNetworksStore.d.ts +5 -0
  314. package/lib/data/enabledNetworksStore.js +20 -0
  315. package/lib/data/firmwareInfo.d.ts +39 -37
  316. package/lib/data/firmwareInfo.js +99 -167
  317. package/lib/data/firmwareReleaseStore.d.ts +10 -0
  318. package/lib/data/firmwareReleaseStore.js +16 -0
  319. package/lib/data/localFirmwareStore.d.ts +3 -0
  320. package/lib/data/localFirmwareStore.js +8 -0
  321. package/lib/data/protobufLoader.d.ts +1 -0
  322. package/lib/data/protobufLoader.js +30 -0
  323. package/lib/data/settingsStore.d.ts +6 -0
  324. package/lib/data/settingsStore.js +21 -0
  325. package/lib/device/Device.d.ts +255 -289
  326. package/lib/device/Device.js +203 -204
  327. package/lib/device/DeviceCommands.d.ts +82 -69
  328. package/lib/device/DeviceCommands.js +35 -36
  329. package/lib/device/DeviceCurrentSession.d.ts +746 -1093
  330. package/lib/device/DeviceCurrentSession.js +32 -53
  331. package/lib/device/DeviceList.d.ts +65 -59
  332. package/lib/device/DeviceList.js +80 -76
  333. package/lib/device/TransportList.d.ts +3 -9
  334. package/lib/device/TransportList.js +11 -50
  335. package/lib/device/TransportManager.d.ts +25 -22
  336. package/lib/device/TransportManager.js +15 -21
  337. package/lib/device/calculateRevisionForDevice.d.ts +8 -6
  338. package/lib/device/calculateRevisionForDevice.js +7 -15
  339. package/lib/device/checkFirmwareRevision.d.ts +20 -10
  340. package/lib/device/checkFirmwareRevision.js +43 -22
  341. package/lib/device/resolveDescriptorForTaproot.d.ts +13 -11
  342. package/lib/device/resolveDescriptorForTaproot.js +9 -15
  343. package/lib/device/thp/handshake.d.ts +3 -4
  344. package/lib/device/thp/handshake.js +27 -39
  345. package/lib/device/thp/index.d.ts +5 -6
  346. package/lib/device/thp/index.js +37 -41
  347. package/lib/device/thp/pairing.d.ts +13 -13
  348. package/lib/device/thp/pairing.js +88 -84
  349. package/lib/device/thp/session.d.ts +2 -3
  350. package/lib/device/thp/session.js +4 -12
  351. package/lib/device/thp/thpCall.d.ts +22 -32
  352. package/lib/device/thp/thpCall.js +14 -20
  353. package/lib/device/validateMessageSize.d.ts +2 -0
  354. package/lib/device/validateMessageSize.js +9 -0
  355. package/lib/device/workflow/changeLanguage.d.ts +18 -0
  356. package/lib/device/workflow/changeLanguage.js +62 -0
  357. package/lib/device/workflow/checkFirmwareHash.d.ts +10 -8
  358. package/lib/device/workflow/checkFirmwareHash.js +20 -28
  359. package/lib/device/workflow/checkFirmwareHashWithRetries.d.ts +5 -6
  360. package/lib/device/workflow/checkFirmwareHashWithRetries.js +9 -17
  361. package/lib/device/workflow/handshake.d.ts +11 -8
  362. package/lib/device/workflow/handshake.js +13 -21
  363. package/lib/device/workflow/trezorPushNotification.d.ts +5 -3
  364. package/lib/device/workflow/trezorPushNotification.js +28 -36
  365. package/lib/device/workflow/validateState.d.ts +2 -3
  366. package/lib/device/workflow/validateState.js +35 -59
  367. package/lib/events/ui-promise.d.ts +14 -14
  368. package/lib/events/ui-promise.js +1 -6
  369. package/lib/exports.d.ts +3 -5
  370. package/lib/exports.js +3 -18
  371. package/lib/impl/core-in-module.d.ts +33 -35
  372. package/lib/impl/core-in-module.js +124 -146
  373. package/lib/index.browser.d.ts +7 -0
  374. package/lib/index.browser.js +34 -0
  375. package/lib/index.d.ts +3 -9
  376. package/lib/index.js +15 -178
  377. package/lib/types/idevice.d.ts +110 -0
  378. package/lib/types/idevice.js +1 -0
  379. package/lib/types/typed-call-provider.d.ts +29 -0
  380. package/lib/types/typed-call-provider.js +1 -0
  381. package/lib/types/workflow.d.ts +13 -9
  382. package/lib/types/workflow.js +1 -6
  383. package/lib/utils/accountUtils.d.ts +4 -5
  384. package/lib/utils/accountUtils.js +28 -32
  385. package/lib/utils/addressUtils.d.ts +2 -3
  386. package/lib/utils/addressUtils.js +4 -12
  387. package/lib/utils/assetUtils.d.ts +8 -5
  388. package/lib/utils/assetUtils.js +36 -28
  389. package/lib/utils/assets.browser.d.ts +1 -0
  390. package/lib/utils/assets.browser.js +1 -0
  391. package/lib/utils/assets.d.ts +2 -3
  392. package/lib/utils/assets.js +8 -17
  393. package/lib/utils/assets.native.d.ts +2 -3
  394. package/lib/utils/assets.native.js +5 -12
  395. package/lib/utils/assetsTypes.d.ts +2 -3
  396. package/lib/utils/assetsTypes.js +1 -6
  397. package/lib/utils/buildOutputDescriptor.d.ts +20 -0
  398. package/lib/utils/buildOutputDescriptor.js +67 -0
  399. package/lib/utils/deviceFeaturesUtils.d.ts +4 -5
  400. package/lib/utils/deviceFeaturesUtils.js +24 -38
  401. package/lib/utils/ethereumUtils.d.ts +2 -3
  402. package/lib/utils/ethereumUtils.js +3 -11
  403. package/lib/utils/firmwareReleaseConfigUtils.d.ts +16 -7
  404. package/lib/utils/firmwareReleaseConfigUtils.js +71 -31
  405. package/lib/utils/firmwareUtils.d.ts +7 -7
  406. package/lib/utils/firmwareUtils.js +24 -37
  407. package/lib/utils/formatUtils.d.ts +6 -8
  408. package/lib/utils/formatUtils.js +21 -60
  409. package/lib/utils/hdnodeUtils.d.ts +2 -3
  410. package/lib/utils/hdnodeUtils.js +14 -25
  411. package/lib/utils/pathUtils.d.ts +1 -21
  412. package/lib/utils/pathUtils.js +1 -172
  413. package/lib/utils/paymentRequest.d.ts +8 -0
  414. package/lib/utils/paymentRequest.js +25 -0
  415. package/lib/utils/uiPromiseManager.d.ts +8 -43
  416. package/lib/utils/uiPromiseManager.js +19 -31
  417. package/lib/workers/workers.browser.d.ts +10 -0
  418. package/lib/workers/workers.browser.js +16 -0
  419. package/lib/workers/workers.d.ts +2 -2
  420. package/lib/workers/workers.js +8 -60
  421. package/lib/workers/workers.native.d.ts +2 -3
  422. package/lib/workers/workers.native.js +7 -20
  423. package/package.json +84 -75
  424. package/lib/api/eos/api/eosGetPublicKey.d.ts +0 -23
  425. package/lib/api/eos/api/eosGetPublicKey.js +0 -69
  426. package/lib/api/eos/api/eosSignTransaction.d.ts +0 -18
  427. package/lib/api/eos/api/eosSignTransaction.js +0 -48
  428. package/lib/api/eos/api/index.d.ts +0 -3
  429. package/lib/api/eos/api/index.js +0 -22
  430. package/lib/api/eos/eosSignTx.d.ts +0 -175
  431. package/lib/api/eos/eosSignTx.js +0 -344
  432. package/lib/api/getAccountDescriptor.d.ts +0 -22
  433. package/lib/api/getAccountDescriptor.js +0 -139
  434. package/lib/api/nem/api/index.d.ts +0 -3
  435. package/lib/api/nem/api/index.js +0 -22
  436. package/lib/api/nem/api/nemGetAddress.d.ts +0 -26
  437. package/lib/api/nem/api/nemGetAddress.js +0 -129
  438. package/lib/api/nem/api/nemSignTransaction.d.ts +0 -11
  439. package/lib/api/nem/api/nemSignTransaction.js +0 -39
  440. package/lib/api/nem/nemSignTx.d.ts +0 -78
  441. package/lib/api/nem/nemSignTx.js +0 -143
  442. package/lib/api/setProxy.d.ts +0 -8
  443. package/lib/api/setProxy.js +0 -32
  444. package/lib/api/solana/additionalInfo.d.ts +0 -10
  445. package/lib/api/solana/additionalInfo.js +0 -24
  446. package/lib/api/solana/solanaUtils.d.ts +0 -49
  447. package/lib/api/solana/solanaUtils.js +0 -279
  448. package/lib/constants/cardano.d.ts +0 -14
  449. package/lib/constants/cardano.js +0 -23
  450. package/lib/constants/errors.d.ts +0 -64
  451. package/lib/constants/errors.js +0 -87
  452. package/lib/constants/firmware.d.ts +0 -4
  453. package/lib/constants/firmware.js +0 -10
  454. package/lib/constants/index.d.ts +0 -8
  455. package/lib/constants/index.js +0 -27
  456. package/lib/constants/nem.d.ts +0 -29
  457. package/lib/constants/nem.js +0 -35
  458. package/lib/constants/network.d.ts +0 -17
  459. package/lib/constants/network.js +0 -21
  460. package/lib/constants/utxo.d.ts +0 -3
  461. package/lib/constants/utxo.js +0 -8
  462. package/lib/data/DataManager.d.ts +0 -31
  463. package/lib/data/DataManager.js +0 -100
  464. package/lib/data/analyticsInfo.d.ts +0 -6
  465. package/lib/data/analyticsInfo.js +0 -43
  466. package/lib/data/connectSettings.d.ts +0 -9
  467. package/lib/data/connectSettings.js +0 -147
  468. package/lib/data/thpSettings.d.ts +0 -3
  469. package/lib/data/thpSettings.js +0 -41
  470. package/lib/data/udevInfo.d.ts +0 -11
  471. package/lib/data/udevInfo.js +0 -31
  472. package/lib/data/version.d.ts +0 -6
  473. package/lib/data/version.js +0 -14
  474. package/lib/device/StateStorage.d.ts +0 -15
  475. package/lib/device/StateStorage.js +0 -40
  476. package/lib/device/workflow/index.d.ts +0 -2
  477. package/lib/device/workflow/index.js +0 -14
  478. package/lib/events/blockchain.d.ts +0 -66
  479. package/lib/events/blockchain.js +0 -22
  480. package/lib/events/call.d.ts +0 -46
  481. package/lib/events/call.js +0 -22
  482. package/lib/events/core.d.ts +0 -24
  483. package/lib/events/core.js +0 -32
  484. package/lib/events/device.d.ts +0 -70
  485. package/lib/events/device.js +0 -42
  486. package/lib/events/iframe.d.ts +0 -46
  487. package/lib/events/iframe.js +0 -22
  488. package/lib/events/index.d.ts +0 -68
  489. package/lib/events/index.js +0 -25
  490. package/lib/events/popup.d.ts +0 -88
  491. package/lib/events/popup.js +0 -29
  492. package/lib/events/transport.d.ts +0 -51
  493. package/lib/events/transport.js +0 -26
  494. package/lib/events/ui-request.d.ts +0 -266
  495. package/lib/events/ui-request.js +0 -57
  496. package/lib/events/ui-response.d.ts +0 -104
  497. package/lib/events/ui-response.js +0 -29
  498. package/lib/events/webextension.d.ts +0 -8
  499. package/lib/events/webextension.js +0 -14
  500. package/lib/factory.d.ts +0 -20
  501. package/lib/factory.js +0 -50
  502. package/lib/impl/dynamic.d.ts +0 -39
  503. package/lib/impl/dynamic.js +0 -125
  504. package/lib/index-browser.d.ts +0 -7
  505. package/lib/index-browser.js +0 -29
  506. package/lib/tsconfig.lib.tsbuildinfo +0 -1
  507. package/lib/types/account.d.ts +0 -20
  508. package/lib/types/account.js +0 -6
  509. package/lib/types/api/applyFlags.d.ts +0 -4
  510. package/lib/types/api/applyFlags.js +0 -6
  511. package/lib/types/api/applySettings.d.ts +0 -23
  512. package/lib/types/api/applySettings.js +0 -12
  513. package/lib/types/api/authenticateDevice.d.ts +0 -65
  514. package/lib/types/api/authenticateDevice.js +0 -14
  515. package/lib/types/api/authorizeCoinjoin.d.ts +0 -17
  516. package/lib/types/api/authorizeCoinjoin.js +0 -21
  517. package/lib/types/api/backupDevice.d.ts +0 -4
  518. package/lib/types/api/backupDevice.js +0 -6
  519. package/lib/types/api/bitcoin/index.d.ts +0 -101
  520. package/lib/types/api/bitcoin/index.js +0 -23
  521. package/lib/types/api/bleUnpair.d.ts +0 -4
  522. package/lib/types/api/bleUnpair.js +0 -6
  523. package/lib/types/api/blockchainDisconnect.d.ts +0 -5
  524. package/lib/types/api/blockchainDisconnect.js +0 -6
  525. package/lib/types/api/blockchainEstimateFee.d.ts +0 -26
  526. package/lib/types/api/blockchainEstimateFee.js +0 -6
  527. package/lib/types/api/blockchainEvmRpcCall.d.ts +0 -4
  528. package/lib/types/api/blockchainEvmRpcCall.js +0 -6
  529. package/lib/types/api/blockchainGetAccountBalanceHistory.d.ts +0 -4
  530. package/lib/types/api/blockchainGetAccountBalanceHistory.js +0 -6
  531. package/lib/types/api/blockchainGetCurrentFiatRates.d.ts +0 -4
  532. package/lib/types/api/blockchainGetCurrentFiatRates.js +0 -6
  533. package/lib/types/api/blockchainGetFiatRatesForTimestamps.d.ts +0 -4
  534. package/lib/types/api/blockchainGetFiatRatesForTimestamps.js +0 -6
  535. package/lib/types/api/blockchainGetInfo.d.ts +0 -4
  536. package/lib/types/api/blockchainGetInfo.js +0 -6
  537. package/lib/types/api/blockchainGetTransactions.d.ts +0 -7
  538. package/lib/types/api/blockchainGetTransactions.js +0 -6
  539. package/lib/types/api/blockchainSetCustomBackend.d.ts +0 -8
  540. package/lib/types/api/blockchainSetCustomBackend.js +0 -6
  541. package/lib/types/api/blockchainSubscribe.d.ts +0 -8
  542. package/lib/types/api/blockchainSubscribe.js +0 -6
  543. package/lib/types/api/blockchainSubscribeFiatRates.d.ts +0 -7
  544. package/lib/types/api/blockchainSubscribeFiatRates.js +0 -6
  545. package/lib/types/api/blockchainUnsubscribe.d.ts +0 -5
  546. package/lib/types/api/blockchainUnsubscribe.js +0 -6
  547. package/lib/types/api/blockchainUnsubscribeFiatRates.d.ts +0 -5
  548. package/lib/types/api/blockchainUnsubscribeFiatRates.js +0 -6
  549. package/lib/types/api/cancel.d.ts +0 -2
  550. package/lib/types/api/cancel.js +0 -6
  551. package/lib/types/api/cancelCoinjoinAuthorization.d.ts +0 -9
  552. package/lib/types/api/cancelCoinjoinAuthorization.js +0 -11
  553. package/lib/types/api/cardano/index.d.ts +0 -784
  554. package/lib/types/api/cardano/index.js +0 -241
  555. package/lib/types/api/cardanoComposeTransaction.d.ts +0 -150
  556. package/lib/types/api/cardanoComposeTransaction.js +0 -91
  557. package/lib/types/api/cardanoGetAddress.d.ts +0 -5
  558. package/lib/types/api/cardanoGetAddress.js +0 -6
  559. package/lib/types/api/cardanoGetNativeScriptHash.d.ts +0 -4
  560. package/lib/types/api/cardanoGetNativeScriptHash.js +0 -6
  561. package/lib/types/api/cardanoGetPublicKey.d.ts +0 -5
  562. package/lib/types/api/cardanoGetPublicKey.js +0 -6
  563. package/lib/types/api/cardanoSignMessage.d.ts +0 -4
  564. package/lib/types/api/cardanoSignMessage.js +0 -6
  565. package/lib/types/api/cardanoSignTransaction.d.ts +0 -10
  566. package/lib/types/api/cardanoSignTransaction.js +0 -6
  567. package/lib/types/api/changeLanguage.d.ts +0 -15
  568. package/lib/types/api/changeLanguage.js +0 -17
  569. package/lib/types/api/changePin.d.ts +0 -4
  570. package/lib/types/api/changePin.js +0 -6
  571. package/lib/types/api/changeWipeCode.d.ts +0 -4
  572. package/lib/types/api/changeWipeCode.js +0 -6
  573. package/lib/types/api/cipherKeyValue.d.ts +0 -18
  574. package/lib/types/api/cipherKeyValue.js +0 -18
  575. package/lib/types/api/composeTransaction.d.ts +0 -74
  576. package/lib/types/api/composeTransaction.js +0 -6
  577. package/lib/types/api/device.d.ts +0 -1
  578. package/lib/types/api/device.js +0 -1
  579. package/lib/types/api/disableWebUSB.d.ts +0 -2
  580. package/lib/types/api/disableWebUSB.js +0 -6
  581. package/lib/types/api/discoverAccounts.d.ts +0 -248
  582. package/lib/types/api/discoverAccounts.js +0 -210
  583. package/lib/types/api/dispose.d.ts +0 -2
  584. package/lib/types/api/dispose.js +0 -6
  585. package/lib/types/api/eos/index.d.ts +0 -784
  586. package/lib/types/api/eos/index.js +0 -124
  587. package/lib/types/api/eosGetPublicKey.d.ts +0 -5
  588. package/lib/types/api/eosGetPublicKey.js +0 -6
  589. package/lib/types/api/eosSignTransaction.d.ts +0 -5
  590. package/lib/types/api/eosSignTransaction.js +0 -6
  591. package/lib/types/api/ethereum/index.d.ts +0 -307
  592. package/lib/types/api/ethereum/index.js +0 -101
  593. package/lib/types/api/ethereumGetAddress.d.ts +0 -4
  594. package/lib/types/api/ethereumGetAddress.js +0 -6
  595. package/lib/types/api/ethereumGetPublicKey.d.ts +0 -5
  596. package/lib/types/api/ethereumGetPublicKey.js +0 -6
  597. package/lib/types/api/ethereumSignMessage.d.ts +0 -5
  598. package/lib/types/api/ethereumSignMessage.js +0 -6
  599. package/lib/types/api/ethereumSignTransaction.d.ts +0 -4
  600. package/lib/types/api/ethereumSignTransaction.js +0 -6
  601. package/lib/types/api/ethereumSignTypedData.d.ts +0 -6
  602. package/lib/types/api/ethereumSignTypedData.js +0 -6
  603. package/lib/types/api/ethereumVerifyMessage.d.ts +0 -5
  604. package/lib/types/api/ethereumVerifyMessage.js +0 -6
  605. package/lib/types/api/evoluGetDelegatedIdentityKey.d.ts +0 -9
  606. package/lib/types/api/evoluGetDelegatedIdentityKey.js +0 -6
  607. package/lib/types/api/evoluGetNode.d.ts +0 -4
  608. package/lib/types/api/evoluGetNode.js +0 -6
  609. package/lib/types/api/evoluSignRegistrationRequest.d.ts +0 -4
  610. package/lib/types/api/evoluSignRegistrationRequest.js +0 -6
  611. package/lib/types/api/firmwareUpdate.d.ts +0 -21
  612. package/lib/types/api/firmwareUpdate.js +0 -16
  613. package/lib/types/api/getAccountDescriptor.d.ts +0 -18
  614. package/lib/types/api/getAccountDescriptor.js +0 -16
  615. package/lib/types/api/getAccountInfo.d.ts +0 -16
  616. package/lib/types/api/getAccountInfo.js +0 -6
  617. package/lib/types/api/getAddress.d.ts +0 -48
  618. package/lib/types/api/getAddress.js +0 -17
  619. package/lib/types/api/getCoinInfo.d.ts +0 -6
  620. package/lib/types/api/getCoinInfo.js +0 -6
  621. package/lib/types/api/getDeviceState.d.ts +0 -8
  622. package/lib/types/api/getDeviceState.js +0 -6
  623. package/lib/types/api/getFeatures.d.ts +0 -4
  624. package/lib/types/api/getFeatures.js +0 -6
  625. package/lib/types/api/getFirmwareHash.d.ts +0 -4
  626. package/lib/types/api/getFirmwareHash.js +0 -6
  627. package/lib/types/api/getNonce.d.ts +0 -4
  628. package/lib/types/api/getNonce.js +0 -6
  629. package/lib/types/api/getOwnershipId.d.ts +0 -41
  630. package/lib/types/api/getOwnershipId.js +0 -16
  631. package/lib/types/api/getOwnershipProof.d.ts +0 -45
  632. package/lib/types/api/getOwnershipProof.js +0 -22
  633. package/lib/types/api/getPublicKey.d.ts +0 -37
  634. package/lib/types/api/getPublicKey.js +0 -31
  635. package/lib/types/api/getSettings.d.ts +0 -4
  636. package/lib/types/api/getSettings.js +0 -6
  637. package/lib/types/api/index.d.ts +0 -203
  638. package/lib/types/api/index.js +0 -6
  639. package/lib/types/api/init.d.ts +0 -7
  640. package/lib/types/api/init.js +0 -6
  641. package/lib/types/api/loadDevice.d.ts +0 -4
  642. package/lib/types/api/loadDevice.js +0 -6
  643. package/lib/types/api/manifest.d.ts +0 -3
  644. package/lib/types/api/manifest.js +0 -6
  645. package/lib/types/api/monero/index.d.ts +0 -280
  646. package/lib/types/api/monero/index.js +0 -178
  647. package/lib/types/api/moneroGetAddress.d.ts +0 -5
  648. package/lib/types/api/moneroGetAddress.js +0 -6
  649. package/lib/types/api/moneroGetWatchKey.d.ts +0 -4
  650. package/lib/types/api/moneroGetWatchKey.js +0 -6
  651. package/lib/types/api/moneroKeyImageSync.d.ts +0 -4
  652. package/lib/types/api/moneroKeyImageSync.js +0 -6
  653. package/lib/types/api/moneroSignTransaction.d.ts +0 -4
  654. package/lib/types/api/moneroSignTransaction.js +0 -6
  655. package/lib/types/api/nem/index.d.ts +0 -842
  656. package/lib/types/api/nem/index.js +0 -99
  657. package/lib/types/api/nemGetAddress.d.ts +0 -14
  658. package/lib/types/api/nemGetAddress.js +0 -12
  659. package/lib/types/api/nemSignTransaction.d.ts +0 -5
  660. package/lib/types/api/nemSignTransaction.js +0 -6
  661. package/lib/types/api/off.d.ts +0 -11
  662. package/lib/types/api/off.js +0 -6
  663. package/lib/types/api/on.d.ts +0 -14
  664. package/lib/types/api/on.js +0 -6
  665. package/lib/types/api/pushTransaction.d.ts +0 -16
  666. package/lib/types/api/pushTransaction.js +0 -16
  667. package/lib/types/api/recoveryDevice.d.ts +0 -17
  668. package/lib/types/api/recoveryDevice.js +0 -12
  669. package/lib/types/api/removeAllListeners.d.ts +0 -3
  670. package/lib/types/api/removeAllListeners.js +0 -6
  671. package/lib/types/api/renderWebUSBButton.d.ts +0 -2
  672. package/lib/types/api/renderWebUSBButton.js +0 -6
  673. package/lib/types/api/requestLogin.d.ts +0 -25
  674. package/lib/types/api/requestLogin.js +0 -16
  675. package/lib/types/api/requestWebUSBDevice.d.ts +0 -2
  676. package/lib/types/api/requestWebUSBDevice.js +0 -6
  677. package/lib/types/api/resetDevice.d.ts +0 -4
  678. package/lib/types/api/resetDevice.js +0 -6
  679. package/lib/types/api/ripple/index.d.ts +0 -41
  680. package/lib/types/api/ripple/index.js +0 -30
  681. package/lib/types/api/rippleGetAddress.d.ts +0 -4
  682. package/lib/types/api/rippleGetAddress.js +0 -6
  683. package/lib/types/api/rippleSignTransaction.d.ts +0 -4
  684. package/lib/types/api/rippleSignTransaction.js +0 -6
  685. package/lib/types/api/setBrightness.d.ts +0 -4
  686. package/lib/types/api/setBrightness.js +0 -6
  687. package/lib/types/api/setBusy.d.ts +0 -4
  688. package/lib/types/api/setBusy.js +0 -6
  689. package/lib/types/api/setProxy.d.ts +0 -8
  690. package/lib/types/api/setProxy.js +0 -6
  691. package/lib/types/api/setTransports.d.ts +0 -4
  692. package/lib/types/api/setTransports.js +0 -6
  693. package/lib/types/api/showDeviceTutorial.d.ts +0 -4
  694. package/lib/types/api/showDeviceTutorial.js +0 -6
  695. package/lib/types/api/signMessage.d.ts +0 -5
  696. package/lib/types/api/signMessage.js +0 -6
  697. package/lib/types/api/signTransaction.d.ts +0 -4
  698. package/lib/types/api/signTransaction.js +0 -6
  699. package/lib/types/api/solana/index.d.ts +0 -113
  700. package/lib/types/api/solana/index.js +0 -76
  701. package/lib/types/api/solanaComposeTransaction.d.ts +0 -4
  702. package/lib/types/api/solanaComposeTransaction.js +0 -6
  703. package/lib/types/api/solanaGetAddress.d.ts +0 -4
  704. package/lib/types/api/solanaGetAddress.js +0 -6
  705. package/lib/types/api/solanaGetPublicKey.d.ts +0 -5
  706. package/lib/types/api/solanaGetPublicKey.js +0 -6
  707. package/lib/types/api/solanaSignTransaction.d.ts +0 -4
  708. package/lib/types/api/solanaSignTransaction.js +0 -6
  709. package/lib/types/api/stellar/index.d.ts +0 -914
  710. package/lib/types/api/stellar/index.js +0 -194
  711. package/lib/types/api/stellarGetAddress.d.ts +0 -4
  712. package/lib/types/api/stellarGetAddress.js +0 -6
  713. package/lib/types/api/stellarSignTransaction.d.ts +0 -4
  714. package/lib/types/api/stellarSignTransaction.js +0 -6
  715. package/lib/types/api/tezos/index.d.ts +0 -163
  716. package/lib/types/api/tezos/index.js +0 -67
  717. package/lib/types/api/tezosGetAddress.d.ts +0 -4
  718. package/lib/types/api/tezosGetAddress.js +0 -6
  719. package/lib/types/api/tezosGetPublicKey.d.ts +0 -4
  720. package/lib/types/api/tezosGetPublicKey.js +0 -6
  721. package/lib/types/api/tezosSignTransaction.d.ts +0 -5
  722. package/lib/types/api/tezosSignTransaction.js +0 -6
  723. package/lib/types/api/thpGetCredentials.d.ts +0 -4
  724. package/lib/types/api/thpGetCredentials.js +0 -6
  725. package/lib/types/api/thpRemoveCredentials.d.ts +0 -7
  726. package/lib/types/api/thpRemoveCredentials.js +0 -6
  727. package/lib/types/api/tron/index.d.ts +0 -130
  728. package/lib/types/api/tron/index.js +0 -62
  729. package/lib/types/api/tronGetAddress.d.ts +0 -4
  730. package/lib/types/api/tronGetAddress.js +0 -6
  731. package/lib/types/api/tronSignTransaction.d.ts +0 -4
  732. package/lib/types/api/tronSignTransaction.js +0 -6
  733. package/lib/types/api/uiResponse.d.ts +0 -3
  734. package/lib/types/api/uiResponse.js +0 -6
  735. package/lib/types/api/unlockPath.d.ts +0 -10
  736. package/lib/types/api/unlockPath.js +0 -13
  737. package/lib/types/api/verifyMessage.d.ts +0 -5
  738. package/lib/types/api/verifyMessage.js +0 -6
  739. package/lib/types/api/wipeDevice.d.ts +0 -4
  740. package/lib/types/api/wipeDevice.js +0 -6
  741. package/lib/types/coinInfo.d.ts +0 -353
  742. package/lib/types/coinInfo.js +0 -79
  743. package/lib/types/device.d.ts +0 -133
  744. package/lib/types/device.js +0 -13
  745. package/lib/types/fees.d.ts +0 -36
  746. package/lib/types/fees.js +0 -39
  747. package/lib/types/firmware.d.ts +0 -25
  748. package/lib/types/firmware.js +0 -6
  749. package/lib/types/index.d.ts +0 -25
  750. package/lib/types/index.js +0 -39
  751. package/lib/types/params.d.ts +0 -93
  752. package/lib/types/params.js +0 -38
  753. package/lib/types/settings.d.ts +0 -80
  754. package/lib/types/settings.js +0 -6
  755. package/lib/types/utils.d.ts +0 -15
  756. package/lib/types/utils.js +0 -6
  757. package/lib/utils/assets-browser.d.ts +0 -3
  758. package/lib/utils/assets-browser.js +0 -29
  759. package/lib/utils/debug.d.ts +0 -7
  760. package/lib/utils/debug.js +0 -33
  761. package/lib/utils/interactionTimeout.d.ts +0 -10
  762. package/lib/utils/interactionTimeout.js +0 -37
  763. package/lib/utils/popupPromiseManager.d.ts +0 -8
  764. package/lib/utils/popupPromiseManager.js +0 -30
  765. package/lib/utils/proxy-event-emitter.d.ts +0 -21
  766. package/lib/utils/proxy-event-emitter.js +0 -69
  767. package/lib/utils/urlUtils.d.ts +0 -13
  768. package/lib/utils/urlUtils.js +0 -31
  769. package/lib/utils/versionCheck.d.ts +0 -3
  770. package/lib/utils/versionCheck.js +0 -16
  771. package/lib/workers/workers-browser.d.ts +0 -10
  772. package/lib/workers/workers-browser.js +0 -20
@@ -1,47 +1,57 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- const utils_1 = require("@trezor/utils");
7
- const BlockchainLink_1 = require("../backend/BlockchainLink");
8
- const constants_1 = require("../constants");
9
- const AbstractMethod_1 = require("../core/AbstractMethod");
10
- const coinInfo_1 = require("../data/coinInfo");
11
- const events_1 = require("../events");
12
- const paramsValidator_1 = require("./common/paramsValidator");
13
- const discoverAccounts_1 = require("../types/api/discoverAccounts");
14
- const accountUtils_1 = require("../utils/accountUtils");
15
- const pathUtils_1 = require("../utils/pathUtils");
1
+ import { ACCOUNT_TYPES, CARDANO_DERIVATIONS, PAGING, UI_REQUEST, createUiMessage } from "@trezor/connect-common";
2
+ import { arrayPartition, getSynchronize, versionUtils } from "@trezor/utils";
3
+ import { assertBackendSupported, initBlockchain } from "../backend/BlockchainLink.js";
4
+ import { AbstractMethod } from "../core/AbstractMethod.js";
5
+ import { getCoinInfoOrThrow } from "../data/coinInfo.js";
6
+ import { isUtxoBased } from "../utils/accountUtils.js";
7
+ import { validatePath } from "../utils/pathUtils.js";
8
+ import { getFirmwareRange, validateParams } from "./common/paramsValidator.js";
9
+ import { checkXPubWithHashes } from "./firmware/calculateXPubHash.js";
10
+ const {
11
+ CARDANO_TXS_PER_PAGE,
12
+ DEFAULT_TXS_PER_PAGE,
13
+ SOLANA_TXS_PER_PAGE
14
+ } = PAGING;
16
15
  const ACCOUNT_LIMIT = 10;
17
- const TXS_PER_PAGE = 25;
18
16
  const DETAILS = 'txs';
19
- const isCardano = account => account.symbol === 'ada' || account.symbol === 'tada';
17
+ const isCardano = account => account.symbol === 'ada';
20
18
  const isCardanoRequest = request => isCardano(request.account);
21
- const isEvmLedger = (account, coinInfo) => coinInfo.type === 'ethereum' && account.type === 'ledger';
19
+ const shouldSkipFirstAccountIndex = (account, coinInfo) => (coinInfo.type === 'ethereum' || coinInfo.shortcut === 'TRX') && account.type === 'ledger';
22
20
  const getAccountTypeKey = ({
23
21
  symbol,
24
22
  type
25
23
  }) => `${symbol}-${type}`;
26
24
  const substituteBip43Path = (path, index) => path.replace('i', String(index));
27
- class DiscoverAccounts extends AbstractMethod_1.AbstractMethod {
25
+ export const getTxsPerPage = account => {
26
+ switch (account.symbol) {
27
+ case 'ada':
28
+ return CARDANO_TXS_PER_PAGE;
29
+ case 'sol':
30
+ return SOLANA_TXS_PER_PAGE;
31
+ default:
32
+ return DEFAULT_TXS_PER_PAGE;
33
+ }
34
+ };
35
+ export default class DiscoverAccounts extends AbstractMethod {
28
36
  disposed = false;
29
- init() {
30
- this.requiredPermissions = ['read'];
31
- this.useDevice = true;
32
- this.useDeviceState = true;
33
- this.useUi = false;
37
+ constructor(message) {
34
38
  const {
35
39
  payload
36
- } = this;
37
- (0, paramsValidator_1.validateParams)(payload, [{
40
+ } = message;
41
+ const {
42
+ entropyCheckResult
43
+ } = payload;
44
+ validateParams(payload, [{
38
45
  name: 'coins',
39
46
  type: 'array',
40
47
  required: true,
41
48
  allowEmpty: true
49
+ }, {
50
+ name: 'entropyCheckResult',
51
+ type: 'object'
42
52
  }]);
43
- this.params = payload.coins.flatMap(coin => {
44
- (0, paramsValidator_1.validateParams)(coin, [{
53
+ const coins = payload.coins.flatMap(coin => {
54
+ validateParams(coin, [{
45
55
  name: 'symbol',
46
56
  type: 'string',
47
57
  required: true
@@ -61,6 +71,9 @@ class DiscoverAccounts extends AbstractMethod_1.AbstractMethod {
61
71
  }, {
62
72
  name: 'pageSize',
63
73
  type: 'number'
74
+ }, {
75
+ name: 'protocols',
76
+ type: 'array'
64
77
  }]);
65
78
  const {
66
79
  symbol,
@@ -68,15 +81,12 @@ class DiscoverAccounts extends AbstractMethod_1.AbstractMethod {
68
81
  knownOnly,
69
82
  ...rest
70
83
  } = coin;
71
- const coinInfo = (0, coinInfo_1.getCoinInfo)(symbol);
72
- if (!coinInfo) {
73
- throw constants_1.ERRORS.TypedError('Method_UnknownCoin');
74
- }
75
- (0, BlockchainLink_1.isBackendSupported)(coinInfo);
76
- const firmwareRange = (0, paramsValidator_1.getFirmwareRange)(this.name, coinInfo, AbstractMethod_1.DEFAULT_FIRMWARE_RANGE);
77
- const symbolAccounts = discoverAccounts_1.ACCOUNT_TYPES.filter(a => a.symbol === symbol);
84
+ const coinInfo = getCoinInfoOrThrow(symbol);
85
+ assertBackendSupported(coinInfo);
86
+ const firmwareRange = getFirmwareRange([payload.method], [coinInfo]);
87
+ const symbolAccounts = ACCOUNT_TYPES.filter(a => a.symbol === symbol);
78
88
  knownAccs?.forEach(account => {
79
- (0, paramsValidator_1.validateParams)(account, [{
89
+ validateParams(account, [{
80
90
  name: 'type',
81
91
  type: 'string',
82
92
  required: true
@@ -89,17 +99,28 @@ class DiscoverAccounts extends AbstractMethod_1.AbstractMethod {
89
99
  }
90
100
  });
91
101
  return symbolAccounts.map(account => [account, knownAccs?.find(t => t.type === account.type)]).filter(([_, known]) => known ? typeof known.skip === 'number' : !knownOnly).map(([account, known]) => ({
92
- pageSize: isCardano(account) ? 8 : TXS_PER_PAGE,
102
+ pageSize: getTxsPerPage(account),
93
103
  details: DETAILS,
94
104
  coinInfo,
95
105
  firmwareRange,
96
106
  skip: known?.skip ?? 0,
97
107
  account,
98
108
  ...rest,
99
- offset: isEvmLedger(account, coinInfo) ? 1 : 0,
100
- derivation: isCardano(account) ? discoverAccounts_1.CARDANO_DERIVATIONS[account.type] : undefined
109
+ offset: shouldSkipFirstAccountIndex(account, coinInfo) ? 1 : 0,
110
+ derivation: isCardano(account) ? CARDANO_DERIVATIONS[account.type] : undefined
101
111
  }));
102
112
  });
113
+ const params = {
114
+ coins,
115
+ entropyCheckResult
116
+ };
117
+ super(message, params);
118
+ this.useDevice = true;
119
+ this.useDeviceState = true;
120
+ this.useUi = false;
121
+ }
122
+ get requiredPermissions() {
123
+ return this.coinPerms('read_account_info', this.params.coins.map(c => c.coinInfo));
103
124
  }
104
125
  progress = {};
105
126
  updateProgress(account, done, last = false) {
@@ -107,16 +128,18 @@ class DiscoverAccounts extends AbstractMethod_1.AbstractMethod {
107
128
  const key = getAccountTypeKey(account);
108
129
  this.progress[key] = progress;
109
130
  }
110
- sendProgress(response) {
131
+ sendProgress(response, sendCoreMessage) {
111
132
  const progress = Object.values(this.progress).reduce((sum, typeProgress) => sum + typeProgress, 0) / (Object.keys(this.progress).length || 1);
112
- this.postMessage((0, events_1.createUiMessage)(events_1.UI.BUNDLE_PROGRESS, {
133
+ sendCoreMessage(createUiMessage(UI_REQUEST.BUNDLE_PROGRESS, {
113
134
  total: 100,
114
135
  progress: 100 * progress,
115
136
  response
116
137
  }));
117
138
  }
118
- async run() {
119
- const [unsupported, supported] = this.filterUnsupportedAccounts(this.params);
139
+ async run({
140
+ sendCoreMessage
141
+ }) {
142
+ const [unsupported, supported] = this.filterUnsupportedAccounts(this.params.coins);
120
143
  unsupported.forEach(({
121
144
  account: {
122
145
  path: bip43,
@@ -136,16 +159,16 @@ class DiscoverAccounts extends AbstractMethod_1.AbstractMethod {
136
159
  error,
137
160
  path,
138
161
  backendType
139
- });
162
+ }, sendCoreMessage);
140
163
  });
141
- const [cardanoAccounts, otherAccounts] = (0, utils_1.arrayPartition)(supported, isCardanoRequest);
164
+ const [cardanoAccounts, otherAccounts] = arrayPartition(supported, isCardanoRequest);
142
165
  const [_, filteredCardanoAccounts] = await this.filterCardanoDerivations(cardanoAccounts);
143
166
  const accounts = [...otherAccounts, ...filteredCardanoAccounts];
144
167
  accounts.forEach(({
145
168
  account,
146
169
  skip
147
170
  }) => this.updateProgress(account, skip));
148
- const counts = await Promise.all(accounts.map(account => this.discoverAccount(account)));
171
+ const counts = await Promise.all(accounts.map(account => this.discoverAccount(account, sendCoreMessage)));
149
172
  const nonempty = counts.reduce((sum, acc) => sum + acc.nonempty, 0);
150
173
  const failed = counts.filter(acc => acc.error).length;
151
174
  const empty = counts.length - failed;
@@ -156,21 +179,21 @@ class DiscoverAccounts extends AbstractMethod_1.AbstractMethod {
156
179
  };
157
180
  }
158
181
  filterUnsupportedAccounts(accounts) {
159
- const version = this.device.getVersion();
160
- const model = this.device.features?.internal_model;
182
+ const version = this.getDevice().getVersion();
183
+ const model = this.getDevice().features?.internal_model;
161
184
  if (!version || !model) return [[], accounts];
162
- return (0, utils_1.arrayPartition)(accounts.map(item => {
185
+ return arrayPartition(accounts.map(item => {
163
186
  const {
164
187
  min,
165
188
  max
166
189
  } = item.firmwareRange[model];
167
190
  let error;
168
191
  if (min === '0') {
169
- error = events_1.UI.FIRMWARE_NOT_SUPPORTED;
170
- } else if (!utils_1.versionUtils.isNewerOrEqual(version, min)) {
171
- error = events_1.UI.FIRMWARE_OLD;
172
- } else if (max !== '0' && utils_1.versionUtils.isNewer(version, max)) {
173
- error = events_1.UI.FIRMWARE_NOT_COMPATIBLE;
192
+ error = UI_REQUEST.FIRMWARE_NOT_SUPPORTED;
193
+ } else if (!versionUtils.isNewerOrEqual(version, min)) {
194
+ error = UI_REQUEST.FIRMWARE_OLD;
195
+ } else if (max !== '0' && versionUtils.isNewer(version, max)) {
196
+ error = UI_REQUEST.FIRMWARE_NOT_COMPATIBLE;
174
197
  }
175
198
  return error ? {
176
199
  ...item,
@@ -182,18 +205,18 @@ class DiscoverAccounts extends AbstractMethod_1.AbstractMethod {
182
205
  const legacyRequest = accounts.find(a => a.account.type === 'legacy');
183
206
  const ledgerRequest = accounts.find(a => a.account.type === 'ledger');
184
207
  const filterableRequest = legacyRequest ?? ledgerRequest;
185
- const getDescriptor = derivation => filterableRequest && this.getDescriptor(filterableRequest.coinInfo, filterableRequest.account.path, discoverAccounts_1.CARDANO_DERIVATIONS[derivation], 0).then(({
208
+ const getDescriptor = derivation => filterableRequest && this.getDescriptor(filterableRequest.coinInfo, filterableRequest.account.path, CARDANO_DERIVATIONS[derivation], 0).then(({
186
209
  descriptor
187
210
  }) => descriptor);
188
211
  const normalDescriptor = await getDescriptor('normal');
189
212
  const omitLegacy = legacyRequest && (await getDescriptor('legacy')) === normalDescriptor;
190
213
  const omitLedger = ledgerRequest && (!legacyRequest || omitLegacy) && (await getDescriptor('ledger')) === normalDescriptor;
191
- return (0, utils_1.arrayPartition)(accounts.map(item => item.account.type === 'legacy' && omitLegacy || item.account.type === 'ledger' && omitLedger ? {
214
+ return arrayPartition(accounts.map(item => item.account.type === 'legacy' && omitLegacy || item.account.type === 'ledger' && omitLedger ? {
192
215
  ...item,
193
216
  error: 'ignored cardano derivation'
194
217
  } : item), item => 'error' in item);
195
218
  }
196
- descriptorLock = (0, utils_1.getSynchronize)();
219
+ descriptorLock = getSynchronize();
197
220
  descriptorCache = {};
198
221
  async getDescriptor(coinInfo, bip43PathTemplate, derivationType, index) {
199
222
  const path = substituteBip43Path(bip43PathTemplate, index);
@@ -203,8 +226,26 @@ class DiscoverAccounts extends AbstractMethod_1.AbstractMethod {
203
226
  } = await this.descriptorLock(async () => {
204
227
  const key = `${path}-${derivationType}`;
205
228
  if (!this.descriptorCache[key]) {
206
- const address_n = (0, pathUtils_1.validatePath)(path, 3);
207
- this.descriptorCache[key] = await this.device.getCommands().getAccountDescriptor(coinInfo, address_n, derivationType);
229
+ const address_n = validatePath(path, 3);
230
+ const descriptor = await this.getDevice().getCommands().getAccountDescriptor(coinInfo, address_n, derivationType);
231
+ this.descriptorCache[key] = descriptor;
232
+ const knownXPubHashes = this.params.entropyCheckResult?.xpubHashes;
233
+ const {
234
+ legacyXpub: xpub
235
+ } = descriptor;
236
+ const isPassphraseEnabled = this.getDevice().features?.passphrase_protection;
237
+ const alwaysPassphrase = this.getDevice().features?.passphrase_always_on_device;
238
+ const isStandardWallet = !isPassphraseEnabled || this.useEmptyPassphrase && !alwaysPassphrase;
239
+ if (xpub && knownXPubHashes && isStandardWallet) {
240
+ const isValid = checkXPubWithHashes({
241
+ xpub,
242
+ path,
243
+ knownXPubHashes
244
+ });
245
+ if (!isValid) {
246
+ console.error(`Entropy check failed at getAccountDescriptor on ${path}`);
247
+ }
248
+ }
208
249
  }
209
250
  return this.descriptorCache[key];
210
251
  });
@@ -213,11 +254,13 @@ class DiscoverAccounts extends AbstractMethod_1.AbstractMethod {
213
254
  ...descriptorRest
214
255
  };
215
256
  }
216
- async discoverAccount(request) {
257
+ async discoverAccount(request, sendCoreMessage) {
217
258
  const {
218
259
  details,
219
260
  identity,
220
261
  pageSize,
262
+ gap,
263
+ protocols,
221
264
  coinInfo,
222
265
  derivation,
223
266
  offset,
@@ -228,16 +271,17 @@ class DiscoverAccounts extends AbstractMethod_1.AbstractMethod {
228
271
  ...accountKey
229
272
  } = request.account;
230
273
  const backendType = coinInfo.blockchainLink?.type;
231
- const utxoRequired = (0, accountUtils_1.isUtxoBased)(coinInfo) && details && details !== 'basic';
274
+ const utxoRequired = isUtxoBased(coinInfo) && details && details !== 'basic';
232
275
  let index = skip;
276
+ const sendProgress = response => this.sendProgress(response, sendCoreMessage);
233
277
  let blockchain;
234
278
  try {
235
- blockchain = await (0, BlockchainLink_1.initBlockchain)(coinInfo, this.postMessage, identity);
279
+ blockchain = await initBlockchain(coinInfo, sendCoreMessage, identity);
236
280
  } catch (err) {
237
281
  const path = substituteBip43Path(bip43, offset + index);
238
282
  this.updateProgress(accountKey, index + 1, true);
239
283
  const error = err.message;
240
- this.sendProgress({
284
+ sendProgress({
241
285
  ...accountKey,
242
286
  index,
243
287
  failed: true,
@@ -263,11 +307,13 @@ class DiscoverAccounts extends AbstractMethod_1.AbstractMethod {
263
307
  const info = await blockchain.getAccountInfo({
264
308
  descriptor,
265
309
  details,
266
- pageSize
310
+ pageSize,
311
+ protocols,
312
+ gap
267
313
  });
268
314
  const utxo = !utxoRequired ? undefined : info.empty ? [] : await blockchain.getAccountUtxo(descriptor);
269
315
  this.updateProgress(accountKey, index + 1, info.empty);
270
- this.sendProgress({
316
+ sendProgress({
271
317
  ...info,
272
318
  descriptor,
273
319
  ...descRest,
@@ -291,7 +337,7 @@ class DiscoverAccounts extends AbstractMethod_1.AbstractMethod {
291
337
  } = err;
292
338
  const failed = true;
293
339
  this.updateProgress(accountKey, index + 1, true);
294
- this.sendProgress({
340
+ sendProgress({
295
341
  ...accountKey,
296
342
  index,
297
343
  failed,
@@ -311,6 +357,4 @@ class DiscoverAccounts extends AbstractMethod_1.AbstractMethod {
311
357
  dispose() {
312
358
  this.disposed = true;
313
359
  }
314
- }
315
- exports.default = DiscoverAccounts;
316
- //# sourceMappingURL=discoverAccounts.js.map
360
+ }
@@ -1,28 +1,30 @@
1
- import { PROTO } from '../../../constants';
2
- import { AbstractMethod } from '../../../core/AbstractMethod';
3
- import type { EthereumNetworkInfoDefinitionValues } from '../../../types';
4
- type Params = PROTO.EthereumGetAddress & {
5
- address?: string;
6
- network?: EthereumNetworkInfoDefinitionValues;
7
- encoded_network?: ArrayBuffer;
1
+ import type { EthereumNetworkInfoDefinitionValues, PROTO, PermissionRequest } from '@trezor/connect-common';
2
+ import type { MethodContext, MethodMessage } from "../../../core/AbstractMethod.js";
3
+ import { AbstractMethod } from "../../../core/AbstractMethod.js";
4
+ type Params = {
5
+ proto: PROTO.EthereumGetAddress;
6
+ address?: string;
7
+ network?: EthereumNetworkInfoDefinitionValues;
8
8
  };
9
9
  export default class EthereumGetAddress extends AbstractMethod<'ethereumGetAddress', Params[]> {
10
- hasBundle?: boolean;
11
- progress: number;
12
- init(): void;
13
- initAsync(): Promise<void>;
14
- get info(): string;
15
- getButtonRequestData(code: string): {
16
- type: "address";
17
- serializedPath: string;
18
- address: string;
19
- } | undefined;
20
- get confirmation(): {
21
- view: "export-address";
22
- label: string;
23
- };
24
- private _call;
25
- run(): Promise<import("../../../types").Address | import("../../../types").Address[]>;
10
+ hasBundle?: boolean;
11
+ progress: number;
12
+ constructor(message: MethodMessage<'ethereumGetAddress'>);
13
+ get requiredPermissions(): PermissionRequest[];
14
+ initAsync(): Promise<void>;
15
+ get info(): string;
16
+ getButtonRequestData(code: string): {
17
+ type: "address";
18
+ serializedPath: string;
19
+ address: string;
20
+ } | undefined;
21
+ get confirmation(): {
22
+ view: "export-address";
23
+ label: string;
24
+ };
25
+ private _call;
26
+ run({
27
+ sendCoreMessage
28
+ }: MethodContext): Promise<import("@trezor/connect-common").Address | import("@trezor/connect-common").Address[]>;
26
29
  }
27
- export {};
28
- //# sourceMappingURL=ethereumGetAddress.d.ts.map
30
+ export {};
@@ -1,82 +1,93 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- const schema_utils_1 = require("@trezor/schema-utils");
7
- const constants_1 = require("../../../constants");
8
- const AbstractMethod_1 = require("../../../core/AbstractMethod");
9
- const coinInfo_1 = require("../../../data/coinInfo");
10
- const events_1 = require("../../../events");
11
- const types_1 = require("../../../types");
12
- const getAddress_1 = require("../../../types/api/getAddress");
13
- const ethereumUtils_1 = require("../../../utils/ethereumUtils");
14
- const formatUtils_1 = require("../../../utils/formatUtils");
15
- const pathUtils_1 = require("../../../utils/pathUtils");
16
- const paramsValidator_1 = require("../../common/paramsValidator");
17
- const ethereumDefinitions_1 = require("../ethereumDefinitions");
18
- class EthereumGetAddress extends AbstractMethod_1.AbstractMethod {
1
+ import { Bundle, GetAddress as GetAddressSchema, UI_REQUEST, createUiMessage } from "@trezor/connect-common";
2
+ import { ERRORS } from "@trezor/connect-common/lib/constants/index.js";
3
+ import { Assert } from "@trezor/schema-utils";
4
+ import { AbstractMethod } from "../../../core/AbstractMethod.js";
5
+ import { getEthereumNetwork, getUniqueNetworks } from "../../../data/coinInfo.js";
6
+ import { getNetworkLabel } from "../../../utils/ethereumUtils.js";
7
+ import { stripHexPrefix } from "../../../utils/formatUtils.js";
8
+ import { getSerializedPath, getSlip44ByPath, validatePath } from "../../../utils/pathUtils.js";
9
+ import { bundlify } from "../../common/paramsValidator.js";
10
+ import { decodeEthereumDefinition, ethereumNetworkInfoFromDefinition, getEthereumDefinitions } from "../ethereumDefinitions.js";
11
+ export default class EthereumGetAddress extends AbstractMethod {
19
12
  hasBundle;
20
13
  progress = 0;
21
- init() {
22
- this.noBackupConfirmationMode = 'always';
23
- this.requiredPermissions = ['read'];
24
- this.requiredDeviceCapabilities = ['Capability_Ethereum'];
25
- this.hasBundle = !!this.payload.bundle;
26
- const payload = !this.payload.bundle ? {
27
- ...this.payload,
28
- bundle: [this.payload]
29
- } : this.payload;
30
- (0, schema_utils_1.Assert)((0, types_1.Bundle)(getAddress_1.GetAddress), payload);
31
- this.params = payload.bundle.map(batch => {
32
- const path = (0, pathUtils_1.validatePath)(batch.path, 3);
33
- const network = (0, coinInfo_1.getEthereumNetwork)(path);
34
- this.firmwareRange = (0, paramsValidator_1.getFirmwareRange)(this.name, network, this.firmwareRange);
35
- return {
14
+ constructor(message) {
15
+ const {
16
+ hasBundle,
17
+ payload
18
+ } = bundlify(message.payload);
19
+ Assert(Bundle(GetAddressSchema), payload);
20
+ const params = payload.bundle.map(batch => {
21
+ const path = validatePath(batch.path, 3);
22
+ const network = getEthereumNetwork(path);
23
+ const proto = {
36
24
  address_n: path,
37
25
  show_display: typeof batch.showOnTrezor === 'boolean' ? batch.showOnTrezor : true,
38
- address: batch.address,
39
- network,
40
26
  chunkify: typeof batch.chunkify === 'boolean' ? batch.chunkify : false
41
27
  };
28
+ return {
29
+ proto,
30
+ address: batch.address,
31
+ network
32
+ };
42
33
  });
43
- const useEventListener = payload.useEventListener && this.params.length === 1 && typeof this.params[0].address === 'string' && this.params[0].show_display;
44
- this.useUi = !useEventListener;
34
+ super(message, params);
35
+ this.requiredFirmwareCoins = params.map(({
36
+ network
37
+ }) => network);
38
+ this.hasBundle = hasBundle;
39
+ this.confirmMissingBackup = true;
40
+ this.requiredDeviceCapabilities = ['Capability_Ethereum'];
41
+ }
42
+ get requiredPermissions() {
43
+ return this.coinPerms('read_address', this.requiredFirmwareCoins);
45
44
  }
46
45
  async initAsync() {
47
46
  for (let i = 0; i < this.params.length; i++) {
48
- if (!this.params[i].network) {
49
- const slip44 = (0, pathUtils_1.getSlip44ByPath)(this.params[i].address_n);
50
- const definitions = await (0, ethereumDefinitions_1.getEthereumDefinitions)({
47
+ const {
48
+ params
49
+ } = this;
50
+ const param = params[i];
51
+ if (!param.network) {
52
+ const slip44 = getSlip44ByPath(param.proto.address_n);
53
+ const definitions = await getEthereumDefinitions({
51
54
  slip44
52
55
  });
53
- const decoded = (0, ethereumDefinitions_1.decodeEthereumDefinition)(definitions);
56
+ const decoded = decodeEthereumDefinition(definitions);
54
57
  if (decoded.network) {
55
- this.params[i].network = (0, ethereumDefinitions_1.ethereumNetworkInfoFromDefinition)(decoded.network);
58
+ param.network = ethereumNetworkInfoFromDefinition(decoded.network);
56
59
  }
57
60
  if (definitions.encoded_network) {
58
- this.params[i].encoded_network = definitions.encoded_network;
61
+ param.proto.encoded_network = definitions.encoded_network;
59
62
  }
60
63
  }
61
64
  }
62
65
  }
63
66
  get info() {
64
67
  if (this.params.length === 1) {
65
- return (0, ethereumUtils_1.getNetworkLabel)('Export #NETWORK address', this.params[0].network);
68
+ const {
69
+ params
70
+ } = this;
71
+ const first = params[0];
72
+ return getNetworkLabel('Export #NETWORK address', first.network);
66
73
  }
67
74
  const requestedNetworks = this.params.map(b => b.network);
68
- const uniqNetworks = (0, coinInfo_1.getUniqueNetworks)(requestedNetworks);
75
+ const uniqNetworks = getUniqueNetworks(requestedNetworks);
69
76
  if (uniqNetworks.length === 1 && uniqNetworks[0]) {
70
- return (0, ethereumUtils_1.getNetworkLabel)('Export multiple #NETWORK addresses', uniqNetworks[0]);
77
+ return getNetworkLabel('Export multiple #NETWORK addresses', uniqNetworks[0]);
71
78
  }
72
79
  return 'Export multiple addresses';
73
80
  }
74
81
  getButtonRequestData(code) {
75
82
  if (code === 'ButtonRequest_Address') {
83
+ const {
84
+ params
85
+ } = this;
86
+ const current = params[this.progress];
76
87
  return {
77
88
  type: 'address',
78
- serializedPath: (0, pathUtils_1.getSerializedPath)(this.params[this.progress].address_n),
79
- address: this.params[this.progress].address || 'not-set'
89
+ serializedPath: getSerializedPath(current.proto.address_n),
90
+ address: current.address || 'not-set'
80
91
  };
81
92
  }
82
93
  }
@@ -87,26 +98,34 @@ class EthereumGetAddress extends AbstractMethod_1.AbstractMethod {
87
98
  };
88
99
  }
89
100
  async _call(params) {
90
- const response = await this.device.getCommands().ethereumGetAddress(params);
101
+ const response = await this.getDevice().getCommands().ethereumGetAddress(params.proto);
91
102
  return {
92
- path: params.address_n,
93
- serializedPath: (0, pathUtils_1.getSerializedPath)(params.address_n),
103
+ path: params.proto.address_n,
104
+ serializedPath: getSerializedPath(params.proto.address_n),
94
105
  address: response.address,
95
106
  mac: response.mac
96
107
  };
97
108
  }
98
- async run() {
109
+ async run({
110
+ sendCoreMessage
111
+ }) {
99
112
  const responses = [];
100
113
  for (let i = 0; i < this.params.length; i++) {
101
- const batch = this.params[i];
102
- if (batch.show_display) {
114
+ const {
115
+ params
116
+ } = this;
117
+ const batch = params[i];
118
+ if (batch.proto.show_display) {
103
119
  const silent = await this._call({
104
120
  ...batch,
105
- show_display: false
121
+ proto: {
122
+ ...batch.proto,
123
+ show_display: false
124
+ }
106
125
  });
107
126
  if (typeof batch.address === 'string') {
108
- if ((0, formatUtils_1.stripHexPrefix)(batch.address).toLowerCase() !== (0, formatUtils_1.stripHexPrefix)(silent.address).toLowerCase()) {
109
- throw constants_1.ERRORS.TypedError('Method_AddressNotMatch');
127
+ if (stripHexPrefix(batch.address).toLowerCase() !== stripHexPrefix(silent.address).toLowerCase()) {
128
+ throw ERRORS.TypedError('Method_AddressNotMatch');
110
129
  }
111
130
  } else {
112
131
  batch.address = silent.address;
@@ -117,7 +136,7 @@ class EthereumGetAddress extends AbstractMethod_1.AbstractMethod {
117
136
  });
118
137
  responses.push(response);
119
138
  if (this.hasBundle) {
120
- this.postMessage((0, events_1.createUiMessage)(events_1.UI.BUNDLE_PROGRESS, {
139
+ sendCoreMessage(createUiMessage(UI_REQUEST.BUNDLE_PROGRESS, {
121
140
  total: this.params.length,
122
141
  progress: i,
123
142
  response
@@ -125,8 +144,7 @@ class EthereumGetAddress extends AbstractMethod_1.AbstractMethod {
125
144
  }
126
145
  this.progress++;
127
146
  }
128
- return this.hasBundle ? responses : responses[0];
147
+ const first = responses[0];
148
+ return this.hasBundle ? responses : first;
129
149
  }
130
- }
131
- exports.default = EthereumGetAddress;
132
- //# sourceMappingURL=ethereumGetAddress.js.map
150
+ }