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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (432) hide show
  1. package/CHANGELOG.md +159 -63
  2. package/README.md +5 -3
  3. package/lib/exports.d.ts +1 -0
  4. package/lib/exports.js +1 -0
  5. package/lib/impl/core-in-module-native.d.ts +7 -0
  6. package/lib/impl/core-in-module-native.js +11 -0
  7. package/lib/impl/core-in-module-node.d.ts +8 -0
  8. package/lib/impl/core-in-module-node.js +12 -0
  9. package/lib/impl/core-in-module-web.d.ts +9 -0
  10. package/lib/impl/core-in-module-web.js +26 -0
  11. package/lib/index.browser.d.ts +7 -0
  12. package/lib/index.browser.js +10 -0
  13. package/lib/index.d.ts +4 -0
  14. package/lib/index.js +5 -0
  15. package/lib/index.native.d.ts +4 -0
  16. package/lib/index.native.js +5 -0
  17. package/package.json +30 -83
  18. package/libESM/api/applyFlags.d.mts +0 -20
  19. package/libESM/api/applyFlags.mjs +0 -36
  20. package/libESM/api/applySettings.d.mts +0 -20
  21. package/libESM/api/applySettings.mjs +0 -55
  22. package/libESM/api/authenticateDevice.d.mts +0 -9
  23. package/libESM/api/authenticateDevice.mjs +0 -108
  24. package/libESM/api/authorizeCoinjoin.d.mts +0 -11
  25. package/libESM/api/authorizeCoinjoin.mjs +0 -44
  26. package/libESM/api/backupDevice.d.mts +0 -19
  27. package/libESM/api/backupDevice.mjs +0 -36
  28. package/libESM/api/bitcoin/TransactionComposer.d.mts +0 -46
  29. package/libESM/api/bitcoin/TransactionComposer.mjs +0 -139
  30. package/libESM/api/bitcoin/createPendingTx.d.mts +0 -33
  31. package/libESM/api/bitcoin/createPendingTx.mjs +0 -54
  32. package/libESM/api/bitcoin/enhanceSignTx.d.mts +0 -2
  33. package/libESM/api/bitcoin/enhanceSignTx.mjs +0 -23
  34. package/libESM/api/bitcoin/index.d.mts +0 -9
  35. package/libESM/api/bitcoin/index.mjs +0 -9
  36. package/libESM/api/bitcoin/inputs.d.mts +0 -6
  37. package/libESM/api/bitcoin/inputs.mjs +0 -75
  38. package/libESM/api/bitcoin/outputs.d.mts +0 -5
  39. package/libESM/api/bitcoin/outputs.mjs +0 -128
  40. package/libESM/api/bitcoin/refTx.d.mts +0 -17
  41. package/libESM/api/bitcoin/refTx.mjs +0 -252
  42. package/libESM/api/bitcoin/signtx.d.mts +0 -22
  43. package/libESM/api/bitcoin/signtx.mjs +0 -213
  44. package/libESM/api/bitcoin/signtxLegacy.d.mts +0 -3
  45. package/libESM/api/bitcoin/signtxLegacy.mjs +0 -179
  46. package/libESM/api/bitcoin/signtxVerify.d.mts +0 -12
  47. package/libESM/api/bitcoin/signtxVerify.mjs +0 -86
  48. package/libESM/api/bitcoin/transactionBytes.d.mts +0 -3
  49. package/libESM/api/bitcoin/transactionBytes.mjs +0 -65
  50. package/libESM/api/bleUnpair.d.mts +0 -11
  51. package/libESM/api/bleUnpair.mjs +0 -35
  52. package/libESM/api/blockchainDisconnect.d.mts +0 -16
  53. package/libESM/api/blockchainDisconnect.mjs +0 -39
  54. package/libESM/api/blockchainEstimateFee.d.mts +0 -14
  55. package/libESM/api/blockchainEstimateFee.mjs +0 -106
  56. package/libESM/api/blockchainEvmRpcCall.d.mts +0 -17
  57. package/libESM/api/blockchainEvmRpcCall.mjs +0 -61
  58. package/libESM/api/blockchainGetAccountBalanceHistory.d.mts +0 -14
  59. package/libESM/api/blockchainGetAccountBalanceHistory.mjs +0 -64
  60. package/libESM/api/blockchainGetContractInfo.d.mts +0 -14
  61. package/libESM/api/blockchainGetContractInfo.mjs +0 -50
  62. package/libESM/api/blockchainGetCurrentFiatRates.d.mts +0 -18
  63. package/libESM/api/blockchainGetCurrentFiatRates.mjs +0 -53
  64. package/libESM/api/blockchainGetFiatRatesForTimestamps.d.mts +0 -21
  65. package/libESM/api/blockchainGetFiatRatesForTimestamps.mjs +0 -59
  66. package/libESM/api/blockchainGetInfo.d.mts +0 -13
  67. package/libESM/api/blockchainGetInfo.mjs +0 -41
  68. package/libESM/api/blockchainGetTransactions.d.mts +0 -15
  69. package/libESM/api/blockchainGetTransactions.mjs +0 -47
  70. package/libESM/api/blockchainSetCustomBackend.d.mts +0 -13
  71. package/libESM/api/blockchainSetCustomBackend.mjs +0 -41
  72. package/libESM/api/blockchainSubscribe.d.mts +0 -17
  73. package/libESM/api/blockchainSubscribe.mjs +0 -68
  74. package/libESM/api/blockchainSubscribeFiatRates.d.mts +0 -17
  75. package/libESM/api/blockchainSubscribeFiatRates.mjs +0 -47
  76. package/libESM/api/blockchainUnsubscribe.d.mts +0 -17
  77. package/libESM/api/blockchainUnsubscribe.mjs +0 -68
  78. package/libESM/api/blockchainUnsubscribeFiatRates.d.mts +0 -15
  79. package/libESM/api/blockchainUnsubscribeFiatRates.mjs +0 -41
  80. package/libESM/api/blockchainValidateEvmRpcUrl.d.mts +0 -17
  81. package/libESM/api/blockchainValidateEvmRpcUrl.mjs +0 -54
  82. package/libESM/api/cancelCoinjoinAuthorization.d.mts +0 -11
  83. package/libESM/api/cancelCoinjoinAuthorization.mjs +0 -31
  84. package/libESM/api/cardano/api/cardanoComposeTransaction.d.mts +0 -10
  85. package/libESM/api/cardano/api/cardanoComposeTransaction.mjs +0 -79
  86. package/libESM/api/cardano/api/cardanoGetAddress.d.mts +0 -30
  87. package/libESM/api/cardano/api/cardanoGetAddress.mjs +0 -116
  88. package/libESM/api/cardano/api/cardanoGetNativeScriptHash.d.mts +0 -12
  89. package/libESM/api/cardano/api/cardanoGetNativeScriptHash.mjs +0 -66
  90. package/libESM/api/cardano/api/cardanoGetPublicKey.d.mts +0 -20
  91. package/libESM/api/cardano/api/cardanoGetPublicKey.mjs +0 -72
  92. package/libESM/api/cardano/api/cardanoSignMessage.d.mts +0 -27
  93. package/libESM/api/cardano/api/cardanoSignMessage.mjs +0 -96
  94. package/libESM/api/cardano/api/cardanoSignTransaction.d.mts +0 -81
  95. package/libESM/api/cardano/api/cardanoSignTransaction.mjs +0 -298
  96. package/libESM/api/cardano/api/index.d.mts +0 -6
  97. package/libESM/api/cardano/api/index.mjs +0 -6
  98. package/libESM/api/cardano/cardanoAddressParameters.d.mts +0 -6
  99. package/libESM/api/cardano/cardanoAddressParameters.mjs +0 -79
  100. package/libESM/api/cardano/cardanoAuxiliaryData.d.mts +0 -4
  101. package/libESM/api/cardano/cardanoAuxiliaryData.mjs +0 -74
  102. package/libESM/api/cardano/cardanoCertificate.d.mts +0 -13
  103. package/libESM/api/cardano/cardanoCertificate.mjs +0 -142
  104. package/libESM/api/cardano/cardanoInputs.d.mts +0 -25
  105. package/libESM/api/cardano/cardanoInputs.mjs +0 -39
  106. package/libESM/api/cardano/cardanoOutputs.d.mts +0 -40
  107. package/libESM/api/cardano/cardanoOutputs.mjs +0 -70
  108. package/libESM/api/cardano/cardanoTokenBundle.d.mts +0 -12
  109. package/libESM/api/cardano/cardanoTokenBundle.mjs +0 -21
  110. package/libESM/api/cardano/cardanoUtils.d.mts +0 -9
  111. package/libESM/api/cardano/cardanoUtils.mjs +0 -101
  112. package/libESM/api/cardano/cardanoWitnesses.d.mts +0 -4
  113. package/libESM/api/cardano/cardanoWitnesses.mjs +0 -47
  114. package/libESM/api/changeLanguage.d.mts +0 -18
  115. package/libESM/api/changeLanguage.mjs +0 -47
  116. package/libESM/api/changePin.d.mts +0 -11
  117. package/libESM/api/changePin.mjs +0 -25
  118. package/libESM/api/changeWipeCode.d.mts +0 -11
  119. package/libESM/api/changeWipeCode.mjs +0 -27
  120. package/libESM/api/cipherKeyValue.d.mts +0 -15
  121. package/libESM/api/cipherKeyValue.mjs +0 -51
  122. package/libESM/api/common/AbstractMiscGetAddress.d.mts +0 -35
  123. package/libESM/api/common/AbstractMiscGetAddress.mjs +0 -102
  124. package/libESM/api/common/Discovery.d.mts +0 -33
  125. package/libESM/api/common/Discovery.mjs +0 -116
  126. package/libESM/api/common/paramsValidator.d.mts +0 -23
  127. package/libESM/api/common/paramsValidator.mjs +0 -134
  128. package/libESM/api/common/requestExistingAccounts.d.mts +0 -9
  129. package/libESM/api/common/requestExistingAccounts.mjs +0 -20
  130. package/libESM/api/composeTransaction.d.mts +0 -36
  131. package/libESM/api/composeTransaction.mjs +0 -386
  132. package/libESM/api/discoverAccounts.d.mts +0 -38
  133. package/libESM/api/discoverAccounts.mjs +0 -363
  134. package/libESM/api/ethereum/api/ethereumGetAddress.d.mts +0 -28
  135. package/libESM/api/ethereum/api/ethereumGetAddress.mjs +0 -135
  136. package/libESM/api/ethereum/api/ethereumGetPublicKey.d.mts +0 -48
  137. package/libESM/api/ethereum/api/ethereumGetPublicKey.mjs +0 -90
  138. package/libESM/api/ethereum/api/ethereumSignMessage.d.mts +0 -27
  139. package/libESM/api/ethereum/api/ethereumSignMessage.mjs +0 -64
  140. package/libESM/api/ethereum/api/ethereumSignTransaction.d.mts +0 -83
  141. package/libESM/api/ethereum/api/ethereumSignTransaction.mjs +0 -148
  142. package/libESM/api/ethereum/api/ethereumSignTypedData.d.mts +0 -116
  143. package/libESM/api/ethereum/api/ethereumSignTypedData.mjs +0 -202
  144. package/libESM/api/ethereum/api/ethereumVerifyMessage.d.mts +0 -12
  145. package/libESM/api/ethereum/api/ethereumVerifyMessage.mjs +0 -33
  146. package/libESM/api/ethereum/api/index.d.mts +0 -6
  147. package/libESM/api/ethereum/api/index.mjs +0 -6
  148. package/libESM/api/ethereum/ethereumDefinitions.d.mts +0 -46
  149. package/libESM/api/ethereum/ethereumDefinitions.mjs +0 -103
  150. package/libESM/api/ethereum/ethereumSignTx.d.mts +0 -20
  151. package/libESM/api/ethereum/ethereumSignTx.mjs +0 -131
  152. package/libESM/api/ethereum/ethereumSignTypedData.d.mts +0 -32
  153. package/libESM/api/ethereum/ethereumSignTypedData.mjs +0 -169
  154. package/libESM/api/evoluGetDelegatedIdentityKey.d.mts +0 -14
  155. package/libESM/api/evoluGetDelegatedIdentityKey.mjs +0 -26
  156. package/libESM/api/evoluGetNode.d.mts +0 -13
  157. package/libESM/api/evoluGetNode.mjs +0 -27
  158. package/libESM/api/evoluSignRegistrationRequest.d.mts +0 -15
  159. package/libESM/api/evoluSignRegistrationRequest.mjs +0 -31
  160. package/libESM/api/firmware/calculateFirmwareHash.d.mts +0 -13
  161. package/libESM/api/firmware/calculateFirmwareHash.mjs +0 -56
  162. package/libESM/api/firmware/calculateXPubHash.d.mts +0 -10
  163. package/libESM/api/firmware/calculateXPubHash.mjs +0 -14
  164. package/libESM/api/firmware/getBinary.d.mts +0 -10
  165. package/libESM/api/firmware/getBinary.mjs +0 -33
  166. package/libESM/api/firmware/index.d.mts +0 -6
  167. package/libESM/api/firmware/index.mjs +0 -6
  168. package/libESM/api/firmware/modifyFirmware.d.mts +0 -3
  169. package/libESM/api/firmware/modifyFirmware.mjs +0 -13
  170. package/libESM/api/firmware/parseFirmwareHeaders.d.mts +0 -4
  171. package/libESM/api/firmware/parseFirmwareHeaders.mjs +0 -26
  172. package/libESM/api/firmware/uploadFirmware.d.mts +0 -19
  173. package/libESM/api/firmware/uploadFirmware.mjs +0 -99
  174. package/libESM/api/firmware/verifyEntropy.d.mts +0 -18
  175. package/libESM/api/firmware/verifyEntropy.mjs +0 -107
  176. package/libESM/api/getAccountInfo.d.mts +0 -94
  177. package/libESM/api/getAccountInfo.mjs +0 -385
  178. package/libESM/api/getAddress.d.mts +0 -39
  179. package/libESM/api/getAddress.mjs +0 -142
  180. package/libESM/api/getCoinInfo.d.mts +0 -148
  181. package/libESM/api/getCoinInfo.mjs +0 -29
  182. package/libESM/api/getDeviceState.d.mts +0 -8
  183. package/libESM/api/getDeviceState.mjs +0 -16
  184. package/libESM/api/getFeatures.d.mts +0 -70
  185. package/libESM/api/getFeatures.mjs +0 -20
  186. package/libESM/api/getFirmwareHash.d.mts +0 -11
  187. package/libESM/api/getFirmwareHash.mjs +0 -27
  188. package/libESM/api/getNonce.d.mts +0 -10
  189. package/libESM/api/getNonce.mjs +0 -16
  190. package/libESM/api/getOwnershipId.d.mts +0 -15
  191. package/libESM/api/getOwnershipId.mjs +0 -79
  192. package/libESM/api/getOwnershipProof.d.mts +0 -15
  193. package/libESM/api/getOwnershipProof.mjs +0 -86
  194. package/libESM/api/getPublicKey.d.mts +0 -50
  195. package/libESM/api/getPublicKey.mjs +0 -88
  196. package/libESM/api/getSettings.d.mts +0 -8
  197. package/libESM/api/getSettings.mjs +0 -15
  198. package/libESM/api/index.d.mts +0 -59
  199. package/libESM/api/index.mjs +0 -59
  200. package/libESM/api/loadDevice.d.mts +0 -16
  201. package/libESM/api/loadDevice.mjs +0 -44
  202. package/libESM/api/monero/api/index.d.mts +0 -4
  203. package/libESM/api/monero/api/index.mjs +0 -4
  204. package/libESM/api/monero/api/moneroGetAddress.d.mts +0 -30
  205. package/libESM/api/monero/api/moneroGetAddress.mjs +0 -109
  206. package/libESM/api/monero/api/moneroGetWatchKey.d.mts +0 -14
  207. package/libESM/api/monero/api/moneroGetWatchKey.mjs +0 -44
  208. package/libESM/api/monero/api/moneroKeyImageSync.d.mts +0 -17
  209. package/libESM/api/monero/api/moneroKeyImageSync.mjs +0 -127
  210. package/libESM/api/monero/api/moneroSignTransaction.d.mts +0 -17
  211. package/libESM/api/monero/api/moneroSignTransaction.mjs +0 -202
  212. package/libESM/api/pingDevice.d.mts +0 -11
  213. package/libESM/api/pingDevice.mjs +0 -27
  214. package/libESM/api/pushTransaction.d.mts +0 -17
  215. package/libESM/api/pushTransaction.mjs +0 -42
  216. package/libESM/api/recoveryDevice.d.mts +0 -20
  217. package/libESM/api/recoveryDevice.mjs +0 -50
  218. package/libESM/api/requestLogin.d.mts +0 -14
  219. package/libESM/api/requestLogin.mjs +0 -48
  220. package/libESM/api/resetDevice.d.mts +0 -22
  221. package/libESM/api/resetDevice.mjs +0 -131
  222. package/libESM/api/ripple/api/index.d.mts +0 -2
  223. package/libESM/api/ripple/api/index.mjs +0 -2
  224. package/libESM/api/ripple/api/rippleGetAddress.d.mts +0 -15
  225. package/libESM/api/ripple/api/rippleGetAddress.mjs +0 -22
  226. package/libESM/api/ripple/api/rippleSignTransaction.d.mts +0 -13
  227. package/libESM/api/ripple/api/rippleSignTransaction.mjs +0 -52
  228. package/libESM/api/setBrightness.d.mts +0 -12
  229. package/libESM/api/setBrightness.mjs +0 -26
  230. package/libESM/api/setBusy.d.mts +0 -11
  231. package/libESM/api/setBusy.mjs +0 -32
  232. package/libESM/api/showDeviceTutorial.d.mts +0 -11
  233. package/libESM/api/showDeviceTutorial.mjs +0 -21
  234. package/libESM/api/signMessage.d.mts +0 -25
  235. package/libESM/api/signMessage.mjs +0 -71
  236. package/libESM/api/signTransaction.d.mts +0 -197
  237. package/libESM/api/signTransaction.mjs +0 -334
  238. package/libESM/api/solana/api/index.d.mts +0 -4
  239. package/libESM/api/solana/api/index.mjs +0 -4
  240. package/libESM/api/solana/api/solanaComposeTransaction.d.mts +0 -31
  241. package/libESM/api/solana/api/solanaComposeTransaction.mjs +0 -76
  242. package/libESM/api/solana/api/solanaGetAddress.d.mts +0 -15
  243. package/libESM/api/solana/api/solanaGetAddress.mjs +0 -22
  244. package/libESM/api/solana/api/solanaGetPublicKey.d.mts +0 -28
  245. package/libESM/api/solana/api/solanaGetPublicKey.mjs +0 -67
  246. package/libESM/api/solana/api/solanaSignTransaction.d.mts +0 -41
  247. package/libESM/api/solana/api/solanaSignTransaction.mjs +0 -203
  248. package/libESM/api/solana/solanaDefinitions.d.mts +0 -7
  249. package/libESM/api/solana/solanaDefinitions.mjs +0 -33
  250. package/libESM/api/stellar/api/index.d.mts +0 -2
  251. package/libESM/api/stellar/api/index.mjs +0 -2
  252. package/libESM/api/stellar/api/stellarGetAddress.d.mts +0 -15
  253. package/libESM/api/stellar/api/stellarGetAddress.mjs +0 -22
  254. package/libESM/api/stellar/api/stellarSignTransaction.d.mts +0 -26
  255. package/libESM/api/stellar/api/stellarSignTransaction.mjs +0 -66
  256. package/libESM/api/stellar/stellarSignTx.d.mts +0 -7
  257. package/libESM/api/stellar/stellarSignTx.mjs +0 -191
  258. package/libESM/api/telemetryGet.d.mts +0 -14
  259. package/libESM/api/telemetryGet.mjs +0 -24
  260. package/libESM/api/tezos/api/index.d.mts +0 -3
  261. package/libESM/api/tezos/api/index.mjs +0 -3
  262. package/libESM/api/tezos/api/tezosGetAddress.d.mts +0 -15
  263. package/libESM/api/tezos/api/tezosGetAddress.mjs +0 -22
  264. package/libESM/api/tezos/api/tezosGetPublicKey.d.mts +0 -24
  265. package/libESM/api/tezos/api/tezosGetPublicKey.mjs +0 -66
  266. package/libESM/api/tezos/api/tezosSignTransaction.d.mts +0 -14
  267. package/libESM/api/tezos/api/tezosSignTransaction.mjs +0 -30
  268. package/libESM/api/tezos/tezosSignTx.d.mts +0 -71
  269. package/libESM/api/tezos/tezosSignTx.mjs +0 -204
  270. package/libESM/api/thpGetCredentials.d.mts +0 -13
  271. package/libESM/api/thpGetCredentials.mjs +0 -28
  272. package/libESM/api/thpRemoveCredentials.d.mts +0 -15
  273. package/libESM/api/thpRemoveCredentials.mjs +0 -42
  274. package/libESM/api/tron/api/index.d.mts +0 -3
  275. package/libESM/api/tron/api/index.mjs +0 -3
  276. package/libESM/api/tron/api/tronComposeTransaction.d.mts +0 -17
  277. package/libESM/api/tron/api/tronComposeTransaction.mjs +0 -51
  278. package/libESM/api/tron/api/tronGetAddress.d.mts +0 -15
  279. package/libESM/api/tron/api/tronGetAddress.mjs +0 -20
  280. package/libESM/api/tron/api/tronSignTransaction.d.mts +0 -19
  281. package/libESM/api/tron/api/tronSignTransaction.mjs +0 -129
  282. package/libESM/api/tron/tronEncode.d.mts +0 -12
  283. package/libESM/api/tron/tronEncode.mjs +0 -77
  284. package/libESM/api/tron/tronProtobuf.d.mts +0 -5
  285. package/libESM/api/tron/tronProtobuf.mjs +0 -28
  286. package/libESM/api/unlockPath.d.mts +0 -12
  287. package/libESM/api/unlockPath.mjs +0 -31
  288. package/libESM/api/verifyMessage.d.mts +0 -16
  289. package/libESM/api/verifyMessage.mjs +0 -46
  290. package/libESM/api/wipeDevice.d.mts +0 -21
  291. package/libESM/api/wipeDevice.mjs +0 -47
  292. package/libESM/backend/BackendManager.d.mts +0 -24
  293. package/libESM/backend/BackendManager.mjs +0 -137
  294. package/libESM/backend/Blockchain.d.mts +0 -81
  295. package/libESM/backend/Blockchain.mjs +0 -232
  296. package/libESM/backend/BlockchainLink.d.mts +0 -9
  297. package/libESM/backend/BlockchainLink.mjs +0 -13
  298. package/libESM/backend/fees/BitcoinFeeLevels.d.mts +0 -19
  299. package/libESM/backend/fees/BitcoinFeeLevels.mjs +0 -43
  300. package/libESM/backend/fees/EthereumFeeLevels.d.mts +0 -17
  301. package/libESM/backend/fees/EthereumFeeLevels.mjs +0 -52
  302. package/libESM/backend/fees/MiscFeeLevels.d.mts +0 -18
  303. package/libESM/backend/fees/MiscFeeLevels.mjs +0 -25
  304. package/libESM/backend/fees/index.d.mts +0 -5
  305. package/libESM/backend/fees/index.mjs +0 -30
  306. package/libESM/core/AbstractMethod.d.mts +0 -65
  307. package/libESM/core/AbstractMethod.mjs +0 -153
  308. package/libESM/core/index.d.mts +0 -27
  309. package/libESM/core/index.mjs +0 -795
  310. package/libESM/core/method.d.mts +0 -3
  311. package/libESM/core/method.mjs +0 -19
  312. package/libESM/core/method.native.d.mts +0 -2
  313. package/libESM/core/method.native.mjs +0 -29
  314. package/libESM/core/onCallFirmwareUpdate.d.mts +0 -39
  315. package/libESM/core/onCallFirmwareUpdate.mjs +0 -436
  316. package/libESM/data/coinInfo.d.mts +0 -374
  317. package/libESM/data/coinInfo.mjs +0 -183
  318. package/libESM/data/config.d.mts +0 -8
  319. package/libESM/data/config.mjs +0 -265
  320. package/libESM/data/defaultFeeLevels.d.mts +0 -18
  321. package/libESM/data/defaultFeeLevels.mjs +0 -174
  322. package/libESM/data/firmwareInfo.d.mts +0 -41
  323. package/libESM/data/firmwareInfo.mjs +0 -411
  324. package/libESM/data/firmwareReleaseStore.d.mts +0 -10
  325. package/libESM/data/firmwareReleaseStore.mjs +0 -16
  326. package/libESM/data/localFirmwareStore.d.mts +0 -3
  327. package/libESM/data/localFirmwareStore.mjs +0 -8
  328. package/libESM/data/protobufLoader.d.mts +0 -1
  329. package/libESM/data/protobufLoader.mjs +0 -29
  330. package/libESM/data/settingsStore.d.mts +0 -6
  331. package/libESM/data/settingsStore.mjs +0 -21
  332. package/libESM/device/Device.d.mts +0 -237
  333. package/libESM/device/Device.mjs +0 -729
  334. package/libESM/device/DeviceCommands.d.mts +0 -77
  335. package/libESM/device/DeviceCommands.mjs +0 -245
  336. package/libESM/device/DeviceCurrentSession.d.mts +0 -3208
  337. package/libESM/device/DeviceCurrentSession.mjs +0 -240
  338. package/libESM/device/DeviceList.d.mts +0 -68
  339. package/libESM/device/DeviceList.mjs +0 -246
  340. package/libESM/device/TransportList.d.mts +0 -9
  341. package/libESM/device/TransportList.mjs +0 -41
  342. package/libESM/device/TransportManager.d.mts +0 -30
  343. package/libESM/device/TransportManager.mjs +0 -142
  344. package/libESM/device/calculateRevisionForDevice.d.mts +0 -7
  345. package/libESM/device/calculateRevisionForDevice.mjs +0 -19
  346. package/libESM/device/checkFirmwareRevision.d.mts +0 -12
  347. package/libESM/device/checkFirmwareRevision.mjs +0 -75
  348. package/libESM/device/resolveDescriptorForTaproot.d.mts +0 -14
  349. package/libESM/device/resolveDescriptorForTaproot.mjs +0 -25
  350. package/libESM/device/thp/handshake.d.mts +0 -3
  351. package/libESM/device/thp/handshake.mjs +0 -100
  352. package/libESM/device/thp/index.d.mts +0 -5
  353. package/libESM/device/thp/index.mjs +0 -65
  354. package/libESM/device/thp/pairing.d.mts +0 -16
  355. package/libESM/device/thp/pairing.mjs +0 -237
  356. package/libESM/device/thp/session.d.mts +0 -2
  357. package/libESM/device/thp/session.mjs +0 -27
  358. package/libESM/device/thp/thpCall.d.mts +0 -40
  359. package/libESM/device/thp/thpCall.mjs +0 -58
  360. package/libESM/device/validateMessageSize.d.mts +0 -2
  361. package/libESM/device/validateMessageSize.mjs +0 -9
  362. package/libESM/device/workflow/changeLanguage.d.mts +0 -14
  363. package/libESM/device/workflow/changeLanguage.mjs +0 -59
  364. package/libESM/device/workflow/checkFirmwareHash.d.mts +0 -9
  365. package/libESM/device/workflow/checkFirmwareHash.mjs +0 -86
  366. package/libESM/device/workflow/checkFirmwareHashWithRetries.d.mts +0 -8
  367. package/libESM/device/workflow/checkFirmwareHashWithRetries.mjs +0 -36
  368. package/libESM/device/workflow/handshake.d.mts +0 -9
  369. package/libESM/device/workflow/handshake.mjs +0 -55
  370. package/libESM/device/workflow/trezorPushNotification.d.mts +0 -2
  371. package/libESM/device/workflow/trezorPushNotification.mjs +0 -73
  372. package/libESM/device/workflow/validateState.d.mts +0 -2
  373. package/libESM/device/workflow/validateState.mjs +0 -153
  374. package/libESM/events/ui-promise.d.mts +0 -22
  375. package/libESM/events/ui-promise.mjs +0 -1
  376. package/libESM/exports.d.mts +0 -3
  377. package/libESM/exports.mjs +0 -3
  378. package/libESM/impl/core-in-module.d.mts +0 -27
  379. package/libESM/impl/core-in-module.mjs +0 -173
  380. package/libESM/index.browser.d.mts +0 -9
  381. package/libESM/index.browser.mjs +0 -50
  382. package/libESM/index.d.mts +0 -6
  383. package/libESM/index.mjs +0 -32
  384. package/libESM/index.renderer.d.mts +0 -6
  385. package/libESM/index.renderer.mjs +0 -19
  386. package/libESM/tsconfig.libESM.tsbuildinfo +0 -1
  387. package/libESM/types/idevice.d.mts +0 -109
  388. package/libESM/types/idevice.mjs +0 -1
  389. package/libESM/types/typed-call-provider.d.mts +0 -29
  390. package/libESM/types/typed-call-provider.mjs +0 -1
  391. package/libESM/types/workflow.d.mts +0 -16
  392. package/libESM/types/workflow.mjs +0 -1
  393. package/libESM/utils/accountUtils.d.mts +0 -10
  394. package/libESM/utils/accountUtils.mjs +0 -83
  395. package/libESM/utils/addressUtils.d.mts +0 -2
  396. package/libESM/utils/addressUtils.mjs +0 -24
  397. package/libESM/utils/assetUtils.d.mts +0 -13
  398. package/libESM/utils/assetUtils.mjs +0 -56
  399. package/libESM/utils/assets.browser.d.mts +0 -1
  400. package/libESM/utils/assets.browser.mjs +0 -1
  401. package/libESM/utils/assets.d.mts +0 -2
  402. package/libESM/utils/assets.mjs +0 -13
  403. package/libESM/utils/assets.native.d.mts +0 -2
  404. package/libESM/utils/assets.native.mjs +0 -23
  405. package/libESM/utils/assetsTypes.d.mts +0 -5
  406. package/libESM/utils/assetsTypes.mjs +0 -1
  407. package/libESM/utils/buildOutputDescriptor.d.mts +0 -12
  408. package/libESM/utils/buildOutputDescriptor.mjs +0 -67
  409. package/libESM/utils/deviceFeaturesUtils.d.mts +0 -7
  410. package/libESM/utils/deviceFeaturesUtils.mjs +0 -109
  411. package/libESM/utils/ethereumUtils.d.mts +0 -3
  412. package/libESM/utils/ethereumUtils.mjs +0 -7
  413. package/libESM/utils/firmwareReleaseConfigUtils.d.mts +0 -19
  414. package/libESM/utils/firmwareReleaseConfigUtils.mjs +0 -131
  415. package/libESM/utils/firmwareUtils.d.mts +0 -13
  416. package/libESM/utils/firmwareUtils.mjs +0 -54
  417. package/libESM/utils/formatUtils.d.mts +0 -15
  418. package/libESM/utils/formatUtils.mjs +0 -45
  419. package/libESM/utils/hdnodeUtils.d.mts +0 -6
  420. package/libESM/utils/hdnodeUtils.mjs +0 -62
  421. package/libESM/utils/pathUtils.d.mts +0 -17
  422. package/libESM/utils/pathUtils.mjs +0 -141
  423. package/libESM/utils/paymentRequest.d.mts +0 -8
  424. package/libESM/utils/paymentRequest.mjs +0 -25
  425. package/libESM/utils/uiPromiseManager.d.mts +0 -8
  426. package/libESM/utils/uiPromiseManager.mjs +0 -51
  427. package/libESM/workers/workers.browser.d.mts +0 -10
  428. package/libESM/workers/workers.browser.mjs +0 -16
  429. package/libESM/workers/workers.d.mts +0 -10
  430. package/libESM/workers/workers.mjs +0 -8
  431. package/libESM/workers/workers.native.d.mts +0 -7
  432. package/libESM/workers/workers.native.mjs +0 -7
@@ -1,363 +0,0 @@
1
- import { ACCOUNT_TYPES, CARDANO_DERIVATIONS, ERRORS, PAGING, UI_REQUEST, createUiMessage } from "@trezor/connect-common";
2
- import { arrayPartition, getSynchronize, versionUtils } from "@trezor/utils";
3
- import { initBlockchain, isBackendSupported } from "../backend/BlockchainLink.mjs";
4
- import { AbstractMethod } from "../core/AbstractMethod.mjs";
5
- import { getCoinInfo } from "../data/coinInfo.mjs";
6
- import { isUtxoBased } from "../utils/accountUtils.mjs";
7
- import { validatePath } from "../utils/pathUtils.mjs";
8
- import { getFirmwareRange, validateParams } from "./common/paramsValidator.mjs";
9
- import { checkXPubWithHashes } from "./firmware/calculateXPubHash.mjs";
10
- const {
11
- CARDANO_TXS_PER_PAGE,
12
- DEFAULT_TXS_PER_PAGE,
13
- SOLANA_TXS_PER_PAGE
14
- } = PAGING;
15
- const ACCOUNT_LIMIT = 10;
16
- const DETAILS = 'txs';
17
- const isCardano = account => account.symbol === 'ada';
18
- const isCardanoRequest = request => isCardano(request.account);
19
- const shouldSkipFirstAccountIndex = (account, coinInfo) => (coinInfo.type === 'ethereum' || coinInfo.shortcut === 'TRX') && account.type === 'ledger';
20
- const getAccountTypeKey = ({
21
- symbol,
22
- type
23
- }) => `${symbol}-${type}`;
24
- const substituteBip43Path = (path, index) => path.replace('i', String(index));
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 {
36
- disposed = false;
37
- constructor(message) {
38
- const {
39
- payload
40
- } = message;
41
- const {
42
- entropyCheckResult
43
- } = payload;
44
- validateParams(payload, [{
45
- name: 'coins',
46
- type: 'array',
47
- required: true,
48
- allowEmpty: true
49
- }, {
50
- name: 'entropyCheckResult',
51
- type: 'object'
52
- }]);
53
- const coins = payload.coins.flatMap(coin => {
54
- validateParams(coin, [{
55
- name: 'symbol',
56
- type: 'string',
57
- required: true
58
- }, {
59
- name: 'known',
60
- type: 'array',
61
- allowEmpty: true
62
- }, {
63
- name: 'knownOnly',
64
- type: 'boolean'
65
- }, {
66
- name: 'identity',
67
- type: 'string'
68
- }, {
69
- name: 'details',
70
- type: 'string'
71
- }, {
72
- name: 'pageSize',
73
- type: 'number'
74
- }, {
75
- name: 'protocols',
76
- type: 'array'
77
- }]);
78
- const {
79
- symbol,
80
- known: knownAccs,
81
- knownOnly,
82
- ...rest
83
- } = coin;
84
- const coinInfo = getCoinInfo(symbol);
85
- if (!coinInfo) {
86
- throw ERRORS.TypedError('Method_UnknownCoin');
87
- }
88
- isBackendSupported(coinInfo);
89
- const firmwareRange = getFirmwareRange([payload.method], [coinInfo]);
90
- const symbolAccounts = ACCOUNT_TYPES.filter(a => a.symbol === symbol);
91
- knownAccs?.forEach(account => {
92
- validateParams(account, [{
93
- name: 'type',
94
- type: 'string',
95
- required: true
96
- }, {
97
- name: 'skip',
98
- type: 'number'
99
- }]);
100
- if (!symbolAccounts.some(a => a.type === account.type)) {
101
- throw new Error(`Unknown account type: ${symbol}/${account.type}`);
102
- }
103
- });
104
- return symbolAccounts.map(account => [account, knownAccs?.find(t => t.type === account.type)]).filter(([_, known]) => known ? typeof known.skip === 'number' : !knownOnly).map(([account, known]) => ({
105
- pageSize: getTxsPerPage(account),
106
- details: DETAILS,
107
- coinInfo,
108
- firmwareRange,
109
- skip: known?.skip ?? 0,
110
- account,
111
- ...rest,
112
- offset: shouldSkipFirstAccountIndex(account, coinInfo) ? 1 : 0,
113
- derivation: isCardano(account) ? CARDANO_DERIVATIONS[account.type] : undefined
114
- }));
115
- });
116
- const params = {
117
- coins,
118
- entropyCheckResult
119
- };
120
- super(message, params);
121
- this.useDevice = true;
122
- this.useDeviceState = true;
123
- this.useUi = false;
124
- }
125
- get requiredPermissions() {
126
- return ['read'];
127
- }
128
- progress = {};
129
- updateProgress(account, done, last = false) {
130
- const progress = last ? 1 : done / Math.max(ACCOUNT_LIMIT, done + 1);
131
- const key = getAccountTypeKey(account);
132
- this.progress[key] = progress;
133
- }
134
- sendProgress(response, sendCoreMessage) {
135
- const progress = Object.values(this.progress).reduce((sum, typeProgress) => sum + typeProgress, 0) / (Object.keys(this.progress).length || 1);
136
- sendCoreMessage(createUiMessage(UI_REQUEST.BUNDLE_PROGRESS, {
137
- total: 100,
138
- progress: 100 * progress,
139
- response
140
- }));
141
- }
142
- async run({
143
- sendCoreMessage
144
- }) {
145
- const [unsupported, supported] = this.filterUnsupportedAccounts(this.params.coins);
146
- unsupported.forEach(({
147
- account: {
148
- path: bip43,
149
- ...rest
150
- },
151
- error,
152
- coinInfo,
153
- skip,
154
- offset
155
- }) => {
156
- const path = substituteBip43Path(bip43, skip + offset);
157
- const backendType = coinInfo.blockchainLink?.type;
158
- this.sendProgress({
159
- ...rest,
160
- index: skip,
161
- failed: true,
162
- error,
163
- path,
164
- backendType
165
- }, sendCoreMessage);
166
- });
167
- const [cardanoAccounts, otherAccounts] = arrayPartition(supported, isCardanoRequest);
168
- const [_, filteredCardanoAccounts] = await this.filterCardanoDerivations(cardanoAccounts);
169
- const accounts = [...otherAccounts, ...filteredCardanoAccounts];
170
- accounts.forEach(({
171
- account,
172
- skip
173
- }) => this.updateProgress(account, skip));
174
- const counts = await Promise.all(accounts.map(account => this.discoverAccount(account, sendCoreMessage)));
175
- const nonempty = counts.reduce((sum, acc) => sum + acc.nonempty, 0);
176
- const failed = counts.filter(acc => acc.error).length;
177
- const empty = counts.length - failed;
178
- return {
179
- empty,
180
- nonempty,
181
- failed
182
- };
183
- }
184
- filterUnsupportedAccounts(accounts) {
185
- const version = this.getDevice().getVersion();
186
- const model = this.getDevice().features?.internal_model;
187
- if (!version || !model) return [[], accounts];
188
- return arrayPartition(accounts.map(item => {
189
- const {
190
- min,
191
- max
192
- } = item.firmwareRange[model];
193
- let error;
194
- if (min === '0') {
195
- error = UI_REQUEST.FIRMWARE_NOT_SUPPORTED;
196
- } else if (!versionUtils.isNewerOrEqual(version, min)) {
197
- error = UI_REQUEST.FIRMWARE_OLD;
198
- } else if (max !== '0' && versionUtils.isNewer(version, max)) {
199
- error = UI_REQUEST.FIRMWARE_NOT_COMPATIBLE;
200
- }
201
- return error ? {
202
- ...item,
203
- error
204
- } : item;
205
- }), item => 'error' in item);
206
- }
207
- async filterCardanoDerivations(accounts) {
208
- const legacyRequest = accounts.find(a => a.account.type === 'legacy');
209
- const ledgerRequest = accounts.find(a => a.account.type === 'ledger');
210
- const filterableRequest = legacyRequest ?? ledgerRequest;
211
- const getDescriptor = derivation => filterableRequest && this.getDescriptor(filterableRequest.coinInfo, filterableRequest.account.path, CARDANO_DERIVATIONS[derivation], 0).then(({
212
- descriptor
213
- }) => descriptor);
214
- const normalDescriptor = await getDescriptor('normal');
215
- const omitLegacy = legacyRequest && (await getDescriptor('legacy')) === normalDescriptor;
216
- const omitLedger = ledgerRequest && (!legacyRequest || omitLegacy) && (await getDescriptor('ledger')) === normalDescriptor;
217
- return arrayPartition(accounts.map(item => item.account.type === 'legacy' && omitLegacy || item.account.type === 'ledger' && omitLedger ? {
218
- ...item,
219
- error: 'ignored cardano derivation'
220
- } : item), item => 'error' in item);
221
- }
222
- descriptorLock = getSynchronize();
223
- descriptorCache = {};
224
- async getDescriptor(coinInfo, bip43PathTemplate, derivationType, index) {
225
- const path = substituteBip43Path(bip43PathTemplate, index);
226
- const {
227
- address_n: _,
228
- ...descriptorRest
229
- } = await this.descriptorLock(async () => {
230
- const key = `${path}-${derivationType}`;
231
- if (!this.descriptorCache[key]) {
232
- const address_n = validatePath(path, 3);
233
- const descriptor = await this.getDevice().getCommands().getAccountDescriptor(coinInfo, address_n, derivationType);
234
- this.descriptorCache[key] = descriptor;
235
- const knownXPubHashes = this.params.entropyCheckResult?.xpubHashes;
236
- const {
237
- legacyXpub: xpub
238
- } = descriptor;
239
- const isPassphraseEnabled = this.getDevice().features?.passphrase_protection;
240
- const alwaysPassphrase = this.getDevice().features?.passphrase_always_on_device;
241
- const isStandardWallet = !isPassphraseEnabled || this.useEmptyPassphrase && !alwaysPassphrase;
242
- if (xpub && knownXPubHashes && isStandardWallet) {
243
- const isValid = checkXPubWithHashes({
244
- xpub,
245
- path,
246
- knownXPubHashes
247
- });
248
- if (!isValid) {
249
- console.error(`Entropy check failed at getAccountDescriptor on ${path}`);
250
- }
251
- }
252
- }
253
- return this.descriptorCache[key];
254
- });
255
- return {
256
- path,
257
- ...descriptorRest
258
- };
259
- }
260
- async discoverAccount(request, sendCoreMessage) {
261
- const {
262
- details,
263
- identity,
264
- pageSize,
265
- gap,
266
- protocols,
267
- coinInfo,
268
- derivation,
269
- offset,
270
- skip
271
- } = request;
272
- const {
273
- path: bip43,
274
- ...accountKey
275
- } = request.account;
276
- const backendType = coinInfo.blockchainLink?.type;
277
- const utxoRequired = isUtxoBased(coinInfo) && details && details !== 'basic';
278
- let index = skip;
279
- const sendProgress = response => this.sendProgress(response, sendCoreMessage);
280
- let blockchain;
281
- try {
282
- blockchain = await initBlockchain(coinInfo, sendCoreMessage, identity);
283
- } catch (err) {
284
- const path = substituteBip43Path(bip43, offset + index);
285
- this.updateProgress(accountKey, index + 1, true);
286
- const error = err.message;
287
- sendProgress({
288
- ...accountKey,
289
- index,
290
- failed: true,
291
- error,
292
- path,
293
- backendType
294
- });
295
- return {
296
- nonempty: 0,
297
- error
298
- };
299
- }
300
- let descPromise = this.getDescriptor(coinInfo, bip43, derivation, offset + index);
301
- descPromise.catch(() => {});
302
- while (true) {
303
- try {
304
- const {
305
- descriptor,
306
- ...descRest
307
- } = await descPromise;
308
- descPromise = this.getDescriptor(coinInfo, bip43, derivation, offset + index + 1);
309
- descPromise.catch(() => {});
310
- const info = await blockchain.getAccountInfo({
311
- descriptor,
312
- details,
313
- pageSize,
314
- protocols,
315
- gap
316
- });
317
- const utxo = !utxoRequired ? undefined : info.empty ? [] : await blockchain.getAccountUtxo(descriptor);
318
- this.updateProgress(accountKey, index + 1, info.empty);
319
- sendProgress({
320
- ...info,
321
- descriptor,
322
- ...descRest,
323
- utxo,
324
- ...accountKey,
325
- index,
326
- backendType,
327
- failed: false
328
- });
329
- if (info.empty) {
330
- await descPromise.catch(() => {});
331
- return {
332
- nonempty: index - skip
333
- };
334
- }
335
- } catch (err) {
336
- const path = substituteBip43Path(bip43, offset + index);
337
- const {
338
- message: error,
339
- code
340
- } = err;
341
- const failed = true;
342
- this.updateProgress(accountKey, index + 1, true);
343
- sendProgress({
344
- ...accountKey,
345
- index,
346
- failed,
347
- error,
348
- code,
349
- path,
350
- backendType
351
- });
352
- return {
353
- nonempty: index - skip,
354
- error
355
- };
356
- }
357
- index++;
358
- }
359
- }
360
- dispose() {
361
- this.disposed = true;
362
- }
363
- }
@@ -1,28 +0,0 @@
1
- import type { EthereumNetworkInfoDefinitionValues, MethodPermission, PROTO } from '@trezor/connect-common';
2
- import type { MethodContext, MethodMessage } from '../../../core/AbstractMethod';
3
- import { AbstractMethod } from '../../../core/AbstractMethod';
4
- type Params = {
5
- proto: PROTO.EthereumGetAddress;
6
- address?: string;
7
- network?: EthereumNetworkInfoDefinitionValues;
8
- };
9
- export default class EthereumGetAddress extends AbstractMethod<'ethereumGetAddress', Params[]> {
10
- hasBundle?: boolean;
11
- progress: number;
12
- constructor(message: MethodMessage<'ethereumGetAddress'>);
13
- get requiredPermissions(): MethodPermission[];
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({ sendCoreMessage }: MethodContext): Promise<import("@trezor/connect-common").Address | import("@trezor/connect-common").Address[]>;
27
- }
28
- export {};
@@ -1,135 +0,0 @@
1
- import { Bundle, GetAddress as GetAddressSchema, UI_REQUEST, createUiMessage } from "@trezor/connect-common";
2
- import { ERRORS } from "@trezor/connect-common/libESM/constants/index.mjs";
3
- import { Assert } from "@trezor/schema-utils";
4
- import { AbstractMethod } from "../../../core/AbstractMethod.mjs";
5
- import { getEthereumNetwork, getUniqueNetworks } from "../../../data/coinInfo.mjs";
6
- import { getNetworkLabel } from "../../../utils/ethereumUtils.mjs";
7
- import { stripHexPrefix } from "../../../utils/formatUtils.mjs";
8
- import { getSerializedPath, getSlip44ByPath, validatePath } from "../../../utils/pathUtils.mjs";
9
- import { bundlify } from "../../common/paramsValidator.mjs";
10
- import { decodeEthereumDefinition, ethereumNetworkInfoFromDefinition, getEthereumDefinitions } from "../ethereumDefinitions.mjs";
11
- export default class EthereumGetAddress extends AbstractMethod {
12
- hasBundle;
13
- progress = 0;
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 = {
24
- address_n: path,
25
- show_display: typeof batch.showOnTrezor === 'boolean' ? batch.showOnTrezor : true,
26
- chunkify: typeof batch.chunkify === 'boolean' ? batch.chunkify : false
27
- };
28
- return {
29
- proto,
30
- address: batch.address,
31
- network
32
- };
33
- });
34
- super(message, params);
35
- this.requiredFirmwareCoins = params.map(({
36
- network
37
- }) => network);
38
- this.hasBundle = hasBundle;
39
- this.useUi = this.getUseUi(this.params, payload.useEventListener);
40
- this.confirmMissingBackup = true;
41
- this.requiredDeviceCapabilities = ['Capability_Ethereum'];
42
- }
43
- get requiredPermissions() {
44
- return ['read'];
45
- }
46
- async initAsync() {
47
- for (let i = 0; i < this.params.length; i++) {
48
- if (!this.params[i].network) {
49
- const slip44 = getSlip44ByPath(this.params[i].proto.address_n);
50
- const definitions = await getEthereumDefinitions({
51
- slip44
52
- });
53
- const decoded = decodeEthereumDefinition(definitions);
54
- if (decoded.network) {
55
- this.params[i].network = ethereumNetworkInfoFromDefinition(decoded.network);
56
- }
57
- if (definitions.encoded_network) {
58
- this.params[i].proto.encoded_network = definitions.encoded_network;
59
- }
60
- }
61
- }
62
- }
63
- get info() {
64
- if (this.params.length === 1) {
65
- return getNetworkLabel('Export #NETWORK address', this.params[0].network);
66
- }
67
- const requestedNetworks = this.params.map(b => b.network);
68
- const uniqNetworks = getUniqueNetworks(requestedNetworks);
69
- if (uniqNetworks.length === 1 && uniqNetworks[0]) {
70
- return getNetworkLabel('Export multiple #NETWORK addresses', uniqNetworks[0]);
71
- }
72
- return 'Export multiple addresses';
73
- }
74
- getButtonRequestData(code) {
75
- if (code === 'ButtonRequest_Address') {
76
- return {
77
- type: 'address',
78
- serializedPath: getSerializedPath(this.params[this.progress].proto.address_n),
79
- address: this.params[this.progress].address || 'not-set'
80
- };
81
- }
82
- }
83
- get confirmation() {
84
- return {
85
- view: 'export-address',
86
- label: this.info
87
- };
88
- }
89
- async _call(params) {
90
- const response = await this.getDevice().getCommands().ethereumGetAddress(params.proto);
91
- return {
92
- path: params.proto.address_n,
93
- serializedPath: getSerializedPath(params.proto.address_n),
94
- address: response.address,
95
- mac: response.mac
96
- };
97
- }
98
- async run({
99
- sendCoreMessage
100
- }) {
101
- const responses = [];
102
- for (let i = 0; i < this.params.length; i++) {
103
- const batch = this.params[i];
104
- if (batch.proto.show_display) {
105
- const silent = await this._call({
106
- ...batch,
107
- proto: {
108
- ...batch.proto,
109
- show_display: false
110
- }
111
- });
112
- if (typeof batch.address === 'string') {
113
- if (stripHexPrefix(batch.address).toLowerCase() !== stripHexPrefix(silent.address).toLowerCase()) {
114
- throw ERRORS.TypedError('Method_AddressNotMatch');
115
- }
116
- } else {
117
- batch.address = silent.address;
118
- }
119
- }
120
- const response = await this._call({
121
- ...batch
122
- });
123
- responses.push(response);
124
- if (this.hasBundle) {
125
- sendCoreMessage(createUiMessage(UI_REQUEST.BUNDLE_PROGRESS, {
126
- total: this.params.length,
127
- progress: i,
128
- response
129
- }));
130
- }
131
- this.progress++;
132
- }
133
- return this.hasBundle ? responses : responses[0];
134
- }
135
- }
@@ -1,48 +0,0 @@
1
- import { type EthereumNetworkInfo, type MethodPermission } from '@trezor/connect-common';
2
- import type { MessagesSchema as PROTO } from '@trezor/protobuf';
3
- import type { MethodContext, MethodMessage } from '../../../core/AbstractMethod';
4
- import { AbstractMethod } from '../../../core/AbstractMethod';
5
- type Params = {
6
- proto: PROTO.EthereumGetPublicKey;
7
- network?: EthereumNetworkInfo;
8
- };
9
- export default class EthereumGetPublicKey extends AbstractMethod<'ethereumGetPublicKey', Params[]> {
10
- hasBundle?: boolean;
11
- constructor(message: MethodMessage<'ethereumGetPublicKey'>);
12
- get requiredPermissions(): MethodPermission[];
13
- get info(): string;
14
- get confirmation(): {
15
- view: "export-xpub";
16
- label: string;
17
- };
18
- run({ sendCoreMessage }: MethodContext): Promise<({
19
- publicKey: string;
20
- path: number[];
21
- serializedPath: string;
22
- } & {
23
- xpubSegwit?: string | undefined;
24
- descriptorChecksum?: string | undefined;
25
- rootFingerprint?: number | undefined;
26
- descriptor?: string | undefined;
27
- childNum: number;
28
- xpub: string;
29
- chainCode: string;
30
- fingerprint: number;
31
- depth: number;
32
- }) | ({
33
- publicKey: string;
34
- path: number[];
35
- serializedPath: string;
36
- } & {
37
- xpubSegwit?: string | undefined;
38
- descriptorChecksum?: string | undefined;
39
- rootFingerprint?: number | undefined;
40
- descriptor?: string | undefined;
41
- childNum: number;
42
- xpub: string;
43
- chainCode: string;
44
- fingerprint: number;
45
- depth: number;
46
- })[]>;
47
- }
48
- export {};
@@ -1,90 +0,0 @@
1
- import { Bundle, GetPublicKey as GetPublicKeySchema, UI_REQUEST, createUiMessage } from "@trezor/connect-common";
2
- import { Assert } from "@trezor/schema-utils";
3
- import { AbstractMethod } from "../../../core/AbstractMethod.mjs";
4
- import { getEthereumNetwork, getUniqueNetworks } from "../../../data/coinInfo.mjs";
5
- import { getNetworkLabel } from "../../../utils/ethereumUtils.mjs";
6
- import { getSerializedPath, validatePath } from "../../../utils/pathUtils.mjs";
7
- import { bundlify } from "../../common/paramsValidator.mjs";
8
- export default class EthereumGetPublicKey extends AbstractMethod {
9
- hasBundle;
10
- constructor(message) {
11
- const {
12
- hasBundle,
13
- payload
14
- } = bundlify(message.payload);
15
- Assert(Bundle(GetPublicKeySchema), payload);
16
- const params = payload.bundle.map(batch => {
17
- const path = validatePath(batch.path, 3);
18
- const network = getEthereumNetwork(path);
19
- const proto = {
20
- address_n: path,
21
- show_display: typeof batch.showOnTrezor === 'boolean' ? batch.showOnTrezor : false
22
- };
23
- return {
24
- proto,
25
- network
26
- };
27
- });
28
- super(message, params);
29
- this.requiredFirmwareCoins = params.map(({
30
- network
31
- }) => network);
32
- this.hasBundle = hasBundle;
33
- this.requiredDeviceCapabilities = ['Capability_Ethereum'];
34
- }
35
- get requiredPermissions() {
36
- return ['read'];
37
- }
38
- get info() {
39
- if (this.params.length === 1) {
40
- return getNetworkLabel('Export #NETWORK public key', this.params[0].network);
41
- }
42
- const requestedNetworks = this.params.map(b => b.network);
43
- const uniqNetworks = getUniqueNetworks(requestedNetworks);
44
- if (uniqNetworks.length === 1 && uniqNetworks[0]) {
45
- return getNetworkLabel('Export multiple #NETWORK public keys', uniqNetworks[0]);
46
- }
47
- return 'Export multiple public keys';
48
- }
49
- get confirmation() {
50
- return {
51
- view: 'export-xpub',
52
- label: this.info
53
- };
54
- }
55
- async run({
56
- sendCoreMessage
57
- }) {
58
- const responses = [];
59
- const cmd = this.getDevice().getCommands();
60
- for (let i = 0; i < this.params.length; i++) {
61
- const {
62
- address_n,
63
- show_display
64
- } = this.params[i].proto;
65
- const publicKey = await cmd.ethereumGetPublicKey({
66
- address_n,
67
- show_display
68
- });
69
- const response = {
70
- path: address_n,
71
- serializedPath: getSerializedPath(address_n),
72
- childNum: publicKey.node.child_num,
73
- xpub: publicKey.xpub,
74
- chainCode: publicKey.node.chain_code,
75
- publicKey: publicKey.node.public_key,
76
- fingerprint: publicKey.node.fingerprint,
77
- depth: publicKey.node.depth
78
- };
79
- responses.push(response);
80
- if (this.hasBundle) {
81
- sendCoreMessage(createUiMessage(UI_REQUEST.BUNDLE_PROGRESS, {
82
- total: this.params.length,
83
- progress: i,
84
- response
85
- }));
86
- }
87
- }
88
- return this.hasBundle ? responses : responses[0];
89
- }
90
- }
@@ -1,27 +0,0 @@
1
- import type { EthereumNetworkInfo, MethodPermission } from '@trezor/connect-common';
2
- import type { MessagesSchema, MessagesSchema as PROTO } from '@trezor/protobuf';
3
- import type { MethodMessage } from '../../../core/AbstractMethod';
4
- import { AbstractMethod } from '../../../core/AbstractMethod';
5
- type Params = {
6
- proto: PROTO.EthereumSignMessage;
7
- readableMessage: string;
8
- network?: EthereumNetworkInfo;
9
- definitions?: MessagesSchema.EthereumDefinitions;
10
- };
11
- export default class EthereumSignMessage extends AbstractMethod<'ethereumSignMessage', Params> {
12
- constructor(message: MethodMessage<'ethereumSignMessage'>);
13
- get requiredPermissions(): MethodPermission[];
14
- initAsync(): Promise<void>;
15
- get info(): string;
16
- getButtonRequestData(code: string, name?: string): {
17
- type: "message";
18
- coin: string;
19
- serializedPath: string;
20
- message: string;
21
- } | undefined;
22
- run(): Promise<{
23
- address: string;
24
- signature: string;
25
- }>;
26
- }
27
- export {};