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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (429) hide show
  1. package/CHANGELOG.md +56 -9
  2. package/README.md +4 -2
  3. package/lib/exports.d.ts +1 -3
  4. package/lib/exports.js +1 -3
  5. package/lib/impl/core-in-module-native.d.ts +7 -0
  6. package/lib/impl/core-in-module-native.js +11 -0
  7. package/lib/impl/core-in-module-node.d.ts +8 -0
  8. package/lib/impl/core-in-module-node.js +12 -0
  9. package/lib/impl/core-in-module-web.d.ts +9 -0
  10. package/lib/impl/core-in-module-web.js +26 -0
  11. package/lib/index.browser.js +2 -26
  12. package/lib/index.js +1 -11
  13. package/lib/index.native.d.ts +4 -0
  14. package/lib/index.native.js +5 -0
  15. package/package.json +16 -67
  16. package/lib/api/applyFlags.d.ts +0 -20
  17. package/lib/api/applyFlags.js +0 -38
  18. package/lib/api/applySettings.d.ts +0 -20
  19. package/lib/api/applySettings.js +0 -57
  20. package/lib/api/authenticateDevice.d.ts +0 -25
  21. package/lib/api/authenticateDevice.js +0 -195
  22. package/lib/api/authorizeCoinjoin.d.ts +0 -11
  23. package/lib/api/authorizeCoinjoin.js +0 -44
  24. package/lib/api/backupDevice.d.ts +0 -19
  25. package/lib/api/backupDevice.js +0 -39
  26. package/lib/api/bitcoin/TransactionComposer.d.ts +0 -46
  27. package/lib/api/bitcoin/TransactionComposer.js +0 -147
  28. package/lib/api/bitcoin/createPendingTx.d.ts +0 -37
  29. package/lib/api/bitcoin/createPendingTx.js +0 -55
  30. package/lib/api/bitcoin/enhanceSignTx.d.ts +0 -2
  31. package/lib/api/bitcoin/enhanceSignTx.js +0 -23
  32. package/lib/api/bitcoin/index.d.ts +0 -9
  33. package/lib/api/bitcoin/index.js +0 -9
  34. package/lib/api/bitcoin/inputs.d.ts +0 -4
  35. package/lib/api/bitcoin/inputs.js +0 -63
  36. package/lib/api/bitcoin/outputs.d.ts +0 -5
  37. package/lib/api/bitcoin/outputs.js +0 -128
  38. package/lib/api/bitcoin/refTx.d.ts +0 -23
  39. package/lib/api/bitcoin/refTx.js +0 -249
  40. package/lib/api/bitcoin/signtx.d.ts +0 -30
  41. package/lib/api/bitcoin/signtx.js +0 -229
  42. package/lib/api/bitcoin/signtxLegacy.d.ts +0 -10
  43. package/lib/api/bitcoin/signtxLegacy.js +0 -186
  44. package/lib/api/bitcoin/signtxVerify.d.ts +0 -12
  45. package/lib/api/bitcoin/signtxVerify.js +0 -95
  46. package/lib/api/bitcoin/transactionBytes.d.ts +0 -3
  47. package/lib/api/bitcoin/transactionBytes.js +0 -65
  48. package/lib/api/bleUnpair.d.ts +0 -11
  49. package/lib/api/bleUnpair.js +0 -37
  50. package/lib/api/blockchainDisconnect.d.ts +0 -16
  51. package/lib/api/blockchainDisconnect.js +0 -37
  52. package/lib/api/blockchainEstimateFee.d.ts +0 -16
  53. package/lib/api/blockchainEstimateFee.js +0 -102
  54. package/lib/api/blockchainEvmRpcCall.d.ts +0 -19
  55. package/lib/api/blockchainEvmRpcCall.js +0 -57
  56. package/lib/api/blockchainGetAccountBalanceHistory.d.ts +0 -16
  57. package/lib/api/blockchainGetAccountBalanceHistory.js +0 -60
  58. package/lib/api/blockchainGetContractInfo.d.ts +0 -16
  59. package/lib/api/blockchainGetContractInfo.js +0 -46
  60. package/lib/api/blockchainGetCurrentFiatRates.d.ts +0 -20
  61. package/lib/api/blockchainGetCurrentFiatRates.js +0 -49
  62. package/lib/api/blockchainGetFiatRatesForTimestamps.d.ts +0 -23
  63. package/lib/api/blockchainGetFiatRatesForTimestamps.js +0 -55
  64. package/lib/api/blockchainGetInfo.d.ts +0 -15
  65. package/lib/api/blockchainGetInfo.js +0 -37
  66. package/lib/api/blockchainGetTransactions.d.ts +0 -18
  67. package/lib/api/blockchainGetTransactions.js +0 -47
  68. package/lib/api/blockchainSetCustomBackend.d.ts +0 -17
  69. package/lib/api/blockchainSetCustomBackend.js +0 -43
  70. package/lib/api/blockchainSubscribe.d.ts +0 -19
  71. package/lib/api/blockchainSubscribe.js +0 -66
  72. package/lib/api/blockchainSubscribeFiatRates.d.ts +0 -19
  73. package/lib/api/blockchainSubscribeFiatRates.js +0 -43
  74. package/lib/api/blockchainUnsubscribe.d.ts +0 -19
  75. package/lib/api/blockchainUnsubscribe.js +0 -66
  76. package/lib/api/blockchainUnsubscribeFiatRates.d.ts +0 -17
  77. package/lib/api/blockchainUnsubscribeFiatRates.js +0 -37
  78. package/lib/api/blockchainValidateEvmRpcUrl.d.ts +0 -17
  79. package/lib/api/blockchainValidateEvmRpcUrl.js +0 -54
  80. package/lib/api/cancelCoinjoinAuthorization.d.ts +0 -11
  81. package/lib/api/cancelCoinjoinAuthorization.js +0 -33
  82. package/lib/api/cardano/api/cardanoComposeTransaction.d.ts +0 -10
  83. package/lib/api/cardano/api/cardanoComposeTransaction.js +0 -84
  84. package/lib/api/cardano/api/cardanoGetAddress.d.ts +0 -34
  85. package/lib/api/cardano/api/cardanoGetAddress.js +0 -130
  86. package/lib/api/cardano/api/cardanoGetNativeScriptHash.d.ts +0 -12
  87. package/lib/api/cardano/api/cardanoGetNativeScriptHash.js +0 -66
  88. package/lib/api/cardano/api/cardanoGetPublicKey.d.ts +0 -22
  89. package/lib/api/cardano/api/cardanoGetPublicKey.js +0 -92
  90. package/lib/api/cardano/api/cardanoSignMessage.d.ts +0 -22
  91. package/lib/api/cardano/api/cardanoSignMessage.js +0 -90
  92. package/lib/api/cardano/api/cardanoSignTransaction.d.ts +0 -81
  93. package/lib/api/cardano/api/cardanoSignTransaction.js +0 -301
  94. package/lib/api/cardano/api/index.d.ts +0 -6
  95. package/lib/api/cardano/api/index.js +0 -6
  96. package/lib/api/cardano/cardanoAddressParameters.d.ts +0 -6
  97. package/lib/api/cardano/cardanoAddressParameters.js +0 -79
  98. package/lib/api/cardano/cardanoAuxiliaryData.d.ts +0 -4
  99. package/lib/api/cardano/cardanoAuxiliaryData.js +0 -74
  100. package/lib/api/cardano/cardanoCertificate.d.ts +0 -13
  101. package/lib/api/cardano/cardanoCertificate.js +0 -142
  102. package/lib/api/cardano/cardanoInputs.d.ts +0 -25
  103. package/lib/api/cardano/cardanoInputs.js +0 -39
  104. package/lib/api/cardano/cardanoOutputs.d.ts +0 -40
  105. package/lib/api/cardano/cardanoOutputs.js +0 -70
  106. package/lib/api/cardano/cardanoTokenBundle.d.ts +0 -12
  107. package/lib/api/cardano/cardanoTokenBundle.js +0 -21
  108. package/lib/api/cardano/cardanoUtils.d.ts +0 -17
  109. package/lib/api/cardano/cardanoUtils.js +0 -100
  110. package/lib/api/cardano/cardanoWitnesses.d.ts +0 -4
  111. package/lib/api/cardano/cardanoWitnesses.js +0 -47
  112. package/lib/api/changeLanguage.d.ts +0 -18
  113. package/lib/api/changeLanguage.js +0 -49
  114. package/lib/api/changePin.d.ts +0 -11
  115. package/lib/api/changePin.js +0 -27
  116. package/lib/api/changeWipeCode.d.ts +0 -11
  117. package/lib/api/changeWipeCode.js +0 -29
  118. package/lib/api/cipherKeyValue.d.ts +0 -17
  119. package/lib/api/cipherKeyValue.js +0 -58
  120. package/lib/api/common/AbstractMiscGetAddress.d.ts +0 -37
  121. package/lib/api/common/AbstractMiscGetAddress.js +0 -126
  122. package/lib/api/common/Discovery.d.ts +0 -33
  123. package/lib/api/common/Discovery.js +0 -119
  124. package/lib/api/common/paramsValidator.d.ts +0 -24
  125. package/lib/api/common/paramsValidator.js +0 -136
  126. package/lib/api/common/requestExistingAccounts.d.ts +0 -14
  127. package/lib/api/common/requestExistingAccounts.js +0 -20
  128. package/lib/api/composeTransaction.d.ts +0 -36
  129. package/lib/api/composeTransaction.js +0 -404
  130. package/lib/api/discoverAccounts.d.ts +0 -40
  131. package/lib/api/discoverAccounts.js +0 -360
  132. package/lib/api/ethereum/api/ethereumGetAddress.d.ts +0 -30
  133. package/lib/api/ethereum/api/ethereumGetAddress.js +0 -150
  134. package/lib/api/ethereum/api/ethereumGetPublicKey.d.ts +0 -52
  135. package/lib/api/ethereum/api/ethereumGetPublicKey.js +0 -100
  136. package/lib/api/ethereum/api/ethereumSignMessage.d.ts +0 -27
  137. package/lib/api/ethereum/api/ethereumSignMessage.js +0 -64
  138. package/lib/api/ethereum/api/ethereumSignTransaction.d.ts +0 -83
  139. package/lib/api/ethereum/api/ethereumSignTransaction.js +0 -148
  140. package/lib/api/ethereum/api/ethereumSignTypedData.d.ts +0 -117
  141. package/lib/api/ethereum/api/ethereumSignTypedData.js +0 -203
  142. package/lib/api/ethereum/api/ethereumVerifyMessage.d.ts +0 -12
  143. package/lib/api/ethereum/api/ethereumVerifyMessage.js +0 -35
  144. package/lib/api/ethereum/api/index.d.ts +0 -6
  145. package/lib/api/ethereum/api/index.js +0 -6
  146. package/lib/api/ethereum/ethereumDefinitions.d.ts +0 -53
  147. package/lib/api/ethereum/ethereumDefinitions.js +0 -135
  148. package/lib/api/ethereum/ethereumSignTx.d.ts +0 -16
  149. package/lib/api/ethereum/ethereumSignTx.js +0 -144
  150. package/lib/api/ethereum/ethereumSignTypedData.d.ts +0 -32
  151. package/lib/api/ethereum/ethereumSignTypedData.js +0 -175
  152. package/lib/api/evoluGetDelegatedIdentityKey.d.ts +0 -14
  153. package/lib/api/evoluGetDelegatedIdentityKey.js +0 -29
  154. package/lib/api/evoluGetNode.d.ts +0 -13
  155. package/lib/api/evoluGetNode.js +0 -29
  156. package/lib/api/evoluSignRegistrationRequest.d.ts +0 -16
  157. package/lib/api/evoluSignRegistrationRequest.js +0 -33
  158. package/lib/api/firmware/calculateFirmwareHash.d.ts +0 -18
  159. package/lib/api/firmware/calculateFirmwareHash.js +0 -56
  160. package/lib/api/firmware/calculateXPubHash.d.ts +0 -14
  161. package/lib/api/firmware/calculateXPubHash.js +0 -16
  162. package/lib/api/firmware/getBinary.d.ts +0 -14
  163. package/lib/api/firmware/getBinary.js +0 -33
  164. package/lib/api/firmware/index.d.ts +0 -6
  165. package/lib/api/firmware/index.js +0 -6
  166. package/lib/api/firmware/modifyFirmware.d.ts +0 -3
  167. package/lib/api/firmware/modifyFirmware.js +0 -13
  168. package/lib/api/firmware/parseFirmwareHeaders.d.ts +0 -4
  169. package/lib/api/firmware/parseFirmwareHeaders.js +0 -26
  170. package/lib/api/firmware/uploadFirmware.d.ts +0 -27
  171. package/lib/api/firmware/uploadFirmware.js +0 -99
  172. package/lib/api/firmware/verifyEntropy.d.ts +0 -25
  173. package/lib/api/firmware/verifyEntropy.js +0 -110
  174. package/lib/api/getAccountInfo.d.ts +0 -21
  175. package/lib/api/getAccountInfo.js +0 -253
  176. package/lib/api/getAddress.d.ts +0 -45
  177. package/lib/api/getAddress.js +0 -153
  178. package/lib/api/getCoinInfo.d.ts +0 -148
  179. package/lib/api/getCoinInfo.js +0 -25
  180. package/lib/api/getDeviceState.d.ts +0 -8
  181. package/lib/api/getDeviceState.js +0 -18
  182. package/lib/api/getFeatures.d.ts +0 -71
  183. package/lib/api/getFeatures.js +0 -22
  184. package/lib/api/getFirmwareHash.d.ts +0 -11
  185. package/lib/api/getFirmwareHash.js +0 -29
  186. package/lib/api/getNonce.d.ts +0 -10
  187. package/lib/api/getNonce.js +0 -18
  188. package/lib/api/getOwnershipId.d.ts +0 -17
  189. package/lib/api/getOwnershipId.js +0 -88
  190. package/lib/api/getOwnershipProof.d.ts +0 -17
  191. package/lib/api/getOwnershipProof.js +0 -95
  192. package/lib/api/getPublicKey.d.ts +0 -54
  193. package/lib/api/getPublicKey.js +0 -106
  194. package/lib/api/getSettings.d.ts +0 -24
  195. package/lib/api/getSettings.js +0 -21
  196. package/lib/api/index.d.ts +0 -62
  197. package/lib/api/index.js +0 -62
  198. package/lib/api/loadDevice.d.ts +0 -16
  199. package/lib/api/loadDevice.js +0 -46
  200. package/lib/api/monero/api/index.d.ts +0 -4
  201. package/lib/api/monero/api/index.js +0 -4
  202. package/lib/api/monero/api/moneroGetAddress.d.ts +0 -32
  203. package/lib/api/monero/api/moneroGetAddress.js +0 -117
  204. package/lib/api/monero/api/moneroGetWatchKey.d.ts +0 -14
  205. package/lib/api/monero/api/moneroGetWatchKey.js +0 -45
  206. package/lib/api/monero/api/moneroKeyImageSync.d.ts +0 -17
  207. package/lib/api/monero/api/moneroKeyImageSync.js +0 -128
  208. package/lib/api/monero/api/moneroSignTransaction.d.ts +0 -17
  209. package/lib/api/monero/api/moneroSignTransaction.js +0 -218
  210. package/lib/api/nostr/nostrGetPublicKey.d.ts +0 -15
  211. package/lib/api/nostr/nostrGetPublicKey.js +0 -38
  212. package/lib/api/nostr/nostrSignEvent.d.ts +0 -13
  213. package/lib/api/nostr/nostrSignEvent.js +0 -36
  214. package/lib/api/pingDevice.d.ts +0 -11
  215. package/lib/api/pingDevice.js +0 -29
  216. package/lib/api/pushTransaction.d.ts +0 -19
  217. package/lib/api/pushTransaction.js +0 -39
  218. package/lib/api/recoveryDevice.d.ts +0 -20
  219. package/lib/api/recoveryDevice.js +0 -52
  220. package/lib/api/requestLogin.d.ts +0 -14
  221. package/lib/api/requestLogin.js +0 -53
  222. package/lib/api/resetDevice.d.ts +0 -22
  223. package/lib/api/resetDevice.js +0 -133
  224. package/lib/api/ripple/api/index.d.ts +0 -2
  225. package/lib/api/ripple/api/index.js +0 -2
  226. package/lib/api/ripple/api/rippleGetAddress.d.ts +0 -17
  227. package/lib/api/ripple/api/rippleGetAddress.js +0 -22
  228. package/lib/api/ripple/api/rippleSignTransaction.d.ts +0 -13
  229. package/lib/api/ripple/api/rippleSignTransaction.js +0 -52
  230. package/lib/api/selectAccount.d.ts +0 -15
  231. package/lib/api/selectAccount.js +0 -42
  232. package/lib/api/setBrightness.d.ts +0 -12
  233. package/lib/api/setBrightness.js +0 -28
  234. package/lib/api/setBusy.d.ts +0 -11
  235. package/lib/api/setBusy.js +0 -31
  236. package/lib/api/showDeviceTutorial.d.ts +0 -11
  237. package/lib/api/showDeviceTutorial.js +0 -21
  238. package/lib/api/signMessage.d.ts +0 -25
  239. package/lib/api/signMessage.js +0 -75
  240. package/lib/api/signTransaction.d.ts +0 -199
  241. package/lib/api/signTransaction.js +0 -331
  242. package/lib/api/solana/api/index.d.ts +0 -4
  243. package/lib/api/solana/api/index.js +0 -4
  244. package/lib/api/solana/api/solanaComposeTransaction.d.ts +0 -33
  245. package/lib/api/solana/api/solanaComposeTransaction.js +0 -73
  246. package/lib/api/solana/api/solanaGetAddress.d.ts +0 -17
  247. package/lib/api/solana/api/solanaGetAddress.js +0 -22
  248. package/lib/api/solana/api/solanaGetPublicKey.d.ts +0 -32
  249. package/lib/api/solana/api/solanaGetPublicKey.js +0 -86
  250. package/lib/api/solana/api/solanaSignTransaction.d.ts +0 -41
  251. package/lib/api/solana/api/solanaSignTransaction.js +0 -204
  252. package/lib/api/solana/solanaDefinitions.d.ts +0 -9
  253. package/lib/api/solana/solanaDefinitions.js +0 -33
  254. package/lib/api/stellar/api/index.d.ts +0 -2
  255. package/lib/api/stellar/api/index.js +0 -2
  256. package/lib/api/stellar/api/stellarGetAddress.d.ts +0 -17
  257. package/lib/api/stellar/api/stellarGetAddress.js +0 -22
  258. package/lib/api/stellar/api/stellarSignTransaction.d.ts +0 -20
  259. package/lib/api/stellar/api/stellarSignTransaction.js +0 -65
  260. package/lib/api/stellar/stellarSignTx.d.ts +0 -7
  261. package/lib/api/stellar/stellarSignTx.js +0 -183
  262. package/lib/api/telemetryGet.d.ts +0 -14
  263. package/lib/api/telemetryGet.js +0 -26
  264. package/lib/api/tezos/api/index.d.ts +0 -3
  265. package/lib/api/tezos/api/index.js +0 -3
  266. package/lib/api/tezos/api/tezosGetAddress.d.ts +0 -17
  267. package/lib/api/tezos/api/tezosGetAddress.js +0 -22
  268. package/lib/api/tezos/api/tezosGetPublicKey.d.ts +0 -28
  269. package/lib/api/tezos/api/tezosGetPublicKey.js +0 -84
  270. package/lib/api/tezos/api/tezosSignTransaction.d.ts +0 -14
  271. package/lib/api/tezos/api/tezosSignTransaction.js +0 -30
  272. package/lib/api/tezos/tezosSignTx.d.ts +0 -71
  273. package/lib/api/tezos/tezosSignTx.js +0 -204
  274. package/lib/api/thpGetCredentials.d.ts +0 -13
  275. package/lib/api/thpGetCredentials.js +0 -30
  276. package/lib/api/thpRemoveCredentials.d.ts +0 -15
  277. package/lib/api/thpRemoveCredentials.js +0 -44
  278. package/lib/api/tron/api/index.d.ts +0 -3
  279. package/lib/api/tron/api/index.js +0 -3
  280. package/lib/api/tron/api/tronComposeTransaction.d.ts +0 -17
  281. package/lib/api/tron/api/tronComposeTransaction.js +0 -52
  282. package/lib/api/tron/api/tronGetAddress.d.ts +0 -17
  283. package/lib/api/tron/api/tronGetAddress.js +0 -22
  284. package/lib/api/tron/api/tronSignTransaction.d.ts +0 -20
  285. package/lib/api/tron/api/tronSignTransaction.js +0 -137
  286. package/lib/api/tron/tronEncode.d.ts +0 -11
  287. package/lib/api/tron/tronEncode.js +0 -157
  288. package/lib/api/tron/tronProtobuf.d.ts +0 -5
  289. package/lib/api/tron/tronProtobuf.js +0 -28
  290. package/lib/api/unlockPath.d.ts +0 -12
  291. package/lib/api/unlockPath.js +0 -33
  292. package/lib/api/verifyMessage.d.ts +0 -16
  293. package/lib/api/verifyMessage.js +0 -46
  294. package/lib/api/wipeDevice.d.ts +0 -21
  295. package/lib/api/wipeDevice.js +0 -49
  296. package/lib/backend/BackendManager.d.ts +0 -30
  297. package/lib/backend/BackendManager.js +0 -145
  298. package/lib/backend/Blockchain.d.ts +0 -81
  299. package/lib/backend/Blockchain.js +0 -235
  300. package/lib/backend/BlockchainLink.d.ts +0 -10
  301. package/lib/backend/BlockchainLink.js +0 -19
  302. package/lib/backend/fees/BitcoinFeeLevels.d.ts +0 -19
  303. package/lib/backend/fees/BitcoinFeeLevels.js +0 -44
  304. package/lib/backend/fees/EthereumFeeLevels.d.ts +0 -17
  305. package/lib/backend/fees/EthereumFeeLevels.js +0 -63
  306. package/lib/backend/fees/MiscFeeLevels.d.ts +0 -18
  307. package/lib/backend/fees/MiscFeeLevels.js +0 -30
  308. package/lib/backend/fees/index.d.ts +0 -5
  309. package/lib/backend/fees/index.js +0 -31
  310. package/lib/core/AbstractMethod.d.ts +0 -63
  311. package/lib/core/AbstractMethod.js +0 -189
  312. package/lib/core/index.d.ts +0 -29
  313. package/lib/core/index.js +0 -805
  314. package/lib/core/method.d.ts +0 -3
  315. package/lib/core/method.js +0 -19
  316. package/lib/core/method.native.d.ts +0 -2
  317. package/lib/core/method.native.js +0 -29
  318. package/lib/core/onCallFirmwareUpdate.d.ts +0 -42
  319. package/lib/core/onCallFirmwareUpdate.js +0 -436
  320. package/lib/data/coinInfo.d.ts +0 -101
  321. package/lib/data/coinInfo.js +0 -195
  322. package/lib/data/config.d.ts +0 -8
  323. package/lib/data/config.js +0 -273
  324. package/lib/data/defaultFeeLevels.d.ts +0 -18
  325. package/lib/data/defaultFeeLevels.js +0 -200
  326. package/lib/data/enabledNetworksStore.d.ts +0 -5
  327. package/lib/data/enabledNetworksStore.js +0 -20
  328. package/lib/data/firmwareInfo.d.ts +0 -55
  329. package/lib/data/firmwareInfo.js +0 -413
  330. package/lib/data/firmwareReleaseStore.d.ts +0 -10
  331. package/lib/data/firmwareReleaseStore.js +0 -16
  332. package/lib/data/localFirmwareStore.d.ts +0 -3
  333. package/lib/data/localFirmwareStore.js +0 -8
  334. package/lib/data/protobufLoader.d.ts +0 -1
  335. package/lib/data/protobufLoader.js +0 -30
  336. package/lib/data/settingsStore.d.ts +0 -6
  337. package/lib/data/settingsStore.js +0 -21
  338. package/lib/device/Device.d.ts +0 -259
  339. package/lib/device/Device.js +0 -765
  340. package/lib/device/DeviceCommands.d.ts +0 -87
  341. package/lib/device/DeviceCommands.js +0 -248
  342. package/lib/device/DeviceCurrentSession.d.ts +0 -750
  343. package/lib/device/DeviceCurrentSession.js +0 -239
  344. package/lib/device/DeviceList.d.ts +0 -75
  345. package/lib/device/DeviceList.js +0 -243
  346. package/lib/device/TransportList.d.ts +0 -3
  347. package/lib/device/TransportList.js +0 -13
  348. package/lib/device/TransportManager.d.ts +0 -33
  349. package/lib/device/TransportManager.js +0 -144
  350. package/lib/device/calculateRevisionForDevice.d.ts +0 -10
  351. package/lib/device/calculateRevisionForDevice.js +0 -19
  352. package/lib/device/checkFirmwareRevision.d.ts +0 -22
  353. package/lib/device/checkFirmwareRevision.js +0 -104
  354. package/lib/device/resolveDescriptorForTaproot.d.ts +0 -17
  355. package/lib/device/resolveDescriptorForTaproot.js +0 -27
  356. package/lib/device/thp/handshake.d.ts +0 -3
  357. package/lib/device/thp/handshake.js +0 -100
  358. package/lib/device/thp/index.d.ts +0 -5
  359. package/lib/device/thp/index.js +0 -65
  360. package/lib/device/thp/pairing.d.ts +0 -16
  361. package/lib/device/thp/pairing.js +0 -242
  362. package/lib/device/thp/session.d.ts +0 -2
  363. package/lib/device/thp/session.js +0 -27
  364. package/lib/device/thp/thpCall.d.ts +0 -31
  365. package/lib/device/thp/thpCall.js +0 -58
  366. package/lib/device/validateMessageSize.d.ts +0 -2
  367. package/lib/device/validateMessageSize.js +0 -9
  368. package/lib/device/workflow/changeLanguage.d.ts +0 -18
  369. package/lib/device/workflow/changeLanguage.js +0 -62
  370. package/lib/device/workflow/checkFirmwareHash.d.ts +0 -12
  371. package/lib/device/workflow/checkFirmwareHash.js +0 -86
  372. package/lib/device/workflow/checkFirmwareHashWithRetries.d.ts +0 -8
  373. package/lib/device/workflow/checkFirmwareHashWithRetries.js +0 -36
  374. package/lib/device/workflow/handshake.d.ts +0 -13
  375. package/lib/device/workflow/handshake.js +0 -55
  376. package/lib/device/workflow/trezorPushNotification.d.ts +0 -5
  377. package/lib/device/workflow/trezorPushNotification.js +0 -73
  378. package/lib/device/workflow/validateState.d.ts +0 -2
  379. package/lib/device/workflow/validateState.js +0 -152
  380. package/lib/events/ui-promise.d.ts +0 -20
  381. package/lib/events/ui-promise.js +0 -1
  382. package/lib/impl/core-in-module.d.ts +0 -33
  383. package/lib/impl/core-in-module.js +0 -194
  384. package/lib/types/idevice.d.ts +0 -110
  385. package/lib/types/idevice.js +0 -1
  386. package/lib/types/typed-call-provider.d.ts +0 -29
  387. package/lib/types/typed-call-provider.js +0 -1
  388. package/lib/types/workflow.d.ts +0 -16
  389. package/lib/types/workflow.js +0 -1
  390. package/lib/utils/accountUtils.d.ts +0 -10
  391. package/lib/utils/accountUtils.js +0 -90
  392. package/lib/utils/addressUtils.d.ts +0 -2
  393. package/lib/utils/addressUtils.js +0 -24
  394. package/lib/utils/assetUtils.d.ts +0 -13
  395. package/lib/utils/assetUtils.js +0 -55
  396. package/lib/utils/assets.browser.d.ts +0 -1
  397. package/lib/utils/assets.browser.js +0 -1
  398. package/lib/utils/assets.d.ts +0 -2
  399. package/lib/utils/assets.js +0 -13
  400. package/lib/utils/assets.native.d.ts +0 -2
  401. package/lib/utils/assets.native.js +0 -23
  402. package/lib/utils/assetsTypes.d.ts +0 -5
  403. package/lib/utils/assetsTypes.js +0 -1
  404. package/lib/utils/buildOutputDescriptor.d.ts +0 -20
  405. package/lib/utils/buildOutputDescriptor.js +0 -67
  406. package/lib/utils/deviceFeaturesUtils.d.ts +0 -7
  407. package/lib/utils/deviceFeaturesUtils.js +0 -109
  408. package/lib/utils/ethereumUtils.d.ts +0 -3
  409. package/lib/utils/ethereumUtils.js +0 -7
  410. package/lib/utils/firmwareReleaseConfigUtils.d.ts +0 -19
  411. package/lib/utils/firmwareReleaseConfigUtils.js +0 -131
  412. package/lib/utils/firmwareUtils.d.ts +0 -15
  413. package/lib/utils/firmwareUtils.js +0 -57
  414. package/lib/utils/formatUtils.d.ts +0 -13
  415. package/lib/utils/formatUtils.js +0 -45
  416. package/lib/utils/hdnodeUtils.d.ts +0 -6
  417. package/lib/utils/hdnodeUtils.js +0 -62
  418. package/lib/utils/pathUtils.d.ts +0 -1
  419. package/lib/utils/pathUtils.js +0 -1
  420. package/lib/utils/paymentRequest.d.ts +0 -8
  421. package/lib/utils/paymentRequest.js +0 -25
  422. package/lib/utils/uiPromiseManager.d.ts +0 -8
  423. package/lib/utils/uiPromiseManager.js +0 -51
  424. package/lib/workers/workers.browser.d.ts +0 -10
  425. package/lib/workers/workers.browser.js +0 -16
  426. package/lib/workers/workers.d.ts +0 -10
  427. package/lib/workers/workers.js +0 -8
  428. package/lib/workers/workers.native.d.ts +0 -7
  429. package/lib/workers/workers.native.js +0 -7
package/lib/api/index.js DELETED
@@ -1,62 +0,0 @@
1
- export { default as applyFlags } from "./applyFlags.js";
2
- export { default as applySettings } from "./applySettings.js";
3
- export { default as authenticateDevice } from "./authenticateDevice.js";
4
- export { default as authorizeCoinjoin } from "./authorizeCoinjoin.js";
5
- export { default as cancelCoinjoinAuthorization } from "./cancelCoinjoinAuthorization.js";
6
- export { default as showDeviceTutorial } from "./showDeviceTutorial.js";
7
- export { default as backupDevice } from "./backupDevice.js";
8
- export { default as bleUnpair } from "./bleUnpair.js";
9
- export { default as blockchainDisconnect } from "./blockchainDisconnect.js";
10
- export { default as blockchainEstimateFee } from "./blockchainEstimateFee.js";
11
- export { default as blockchainGetAccountBalanceHistory } from "./blockchainGetAccountBalanceHistory.js";
12
- export { default as blockchainGetCurrentFiatRates } from "./blockchainGetCurrentFiatRates.js";
13
- export { default as blockchainGetContractInfo } from "./blockchainGetContractInfo.js";
14
- export { default as blockchainGetInfo } from "./blockchainGetInfo.js";
15
- export { default as blockchainEvmRpcCall } from "./blockchainEvmRpcCall.js";
16
- export { default as blockchainGetFiatRatesForTimestamps } from "./blockchainGetFiatRatesForTimestamps.js";
17
- export { default as blockchainGetTransactions } from "./blockchainGetTransactions.js";
18
- export { default as blockchainSetCustomBackend } from "./blockchainSetCustomBackend.js";
19
- export { default as blockchainSubscribe } from "./blockchainSubscribe.js";
20
- export { default as blockchainSubscribeFiatRates } from "./blockchainSubscribeFiatRates.js";
21
- export { default as blockchainUnsubscribe } from "./blockchainUnsubscribe.js";
22
- export { default as blockchainUnsubscribeFiatRates } from "./blockchainUnsubscribeFiatRates.js";
23
- export { default as blockchainValidateEvmRpcUrl } from "./blockchainValidateEvmRpcUrl.js";
24
- export { default as changeLanguage } from "./changeLanguage.js";
25
- export { default as changePin } from "./changePin.js";
26
- export { default as changeWipeCode } from "./changeWipeCode.js";
27
- export { default as cipherKeyValue } from "./cipherKeyValue.js";
28
- export { default as evoluGetNode } from "./evoluGetNode.js";
29
- export { default as evoluSignRegistrationRequest } from "./evoluSignRegistrationRequest.js";
30
- export { default as evoluGetDelegatedIdentityKey } from "./evoluGetDelegatedIdentityKey.js";
31
- export { default as nostrGetPublicKey } from "./nostr/nostrGetPublicKey.js";
32
- export { default as nostrSignEvent } from "./nostr/nostrSignEvent.js";
33
- export { default as composeTransaction } from "./composeTransaction.js";
34
- export { default as discoverAccounts } from "./discoverAccounts.js";
35
- export { default as getAccountInfo } from "./getAccountInfo.js";
36
- export { default as getAddress } from "./getAddress.js";
37
- export { default as getCoinInfo } from "./getCoinInfo.js";
38
- export { default as getDeviceState } from "./getDeviceState.js";
39
- export { default as getFeatures } from "./getFeatures.js";
40
- export { default as getFirmwareHash } from "./getFirmwareHash.js";
41
- export { default as getNonce } from "./getNonce.js";
42
- export { default as getOwnershipId } from "./getOwnershipId.js";
43
- export { default as getOwnershipProof } from "./getOwnershipProof.js";
44
- export { default as getPublicKey } from "./getPublicKey.js";
45
- export { default as getSettings } from "./getSettings.js";
46
- export { default as pingDevice } from "./pingDevice.js";
47
- export { default as pushTransaction } from "./pushTransaction.js";
48
- export { default as recoveryDevice } from "./recoveryDevice.js";
49
- export { default as requestLogin } from "./requestLogin.js";
50
- export { default as resetDevice } from "./resetDevice.js";
51
- export { default as loadDevice } from "./loadDevice.js";
52
- export { default as selectAccount } from "./selectAccount.js";
53
- export { default as setBrightness } from "./setBrightness.js";
54
- export { default as setBusy } from "./setBusy.js";
55
- export { default as signMessage } from "./signMessage.js";
56
- export { default as signTransaction } from "./signTransaction.js";
57
- export { default as unlockPath } from "./unlockPath.js";
58
- export { default as telemetryGet } from "./telemetryGet.js";
59
- export { default as thpGetCredentials } from "./thpGetCredentials.js";
60
- export { default as thpRemoveCredentials } from "./thpRemoveCredentials.js";
61
- export { default as verifyMessage } from "./verifyMessage.js";
62
- export { default as wipeDevice } from "./wipeDevice.js";
@@ -1,16 +0,0 @@
1
- import { type PermissionRequest } from '@trezor/connect-common';
2
- import { MessagesSchema as PROTO } from '@trezor/protobuf';
3
- import type { MethodMessage } from "../core/AbstractMethod.js";
4
- import { AbstractMethod } from "../core/AbstractMethod.js";
5
- export default class LoadDevice extends AbstractMethod<'loadDevice', PROTO.LoadDevice> {
6
- constructor(message: MethodMessage<'loadDevice'>);
7
- get requiredPermissions(): PermissionRequest[];
8
- get info(): string;
9
- get confirmation(): {
10
- view: "device-management";
11
- label: string;
12
- };
13
- run(): Promise<{
14
- message: string;
15
- }>;
16
- }
@@ -1,46 +0,0 @@
1
- import { UI_REQUEST } from "@trezor/connect-common";
2
- import { MessagesSchema as PROTO } from "@trezor/protobuf";
3
- import { Assert } from "@trezor/schema-utils";
4
- import { AbstractMethod } from "../core/AbstractMethod.js";
5
- export default class LoadDevice extends AbstractMethod {
6
- constructor(message) {
7
- const {
8
- payload
9
- } = message;
10
- Assert(PROTO.LoadDevice, payload);
11
- const params = {
12
- mnemonics: payload.mnemonics,
13
- pin: payload.pin,
14
- passphrase_protection: payload.passphrase_protection,
15
- language: payload.language,
16
- label: payload.label,
17
- skip_checksum: payload.skip_checksum,
18
- u2f_counter: payload.u2f_counter,
19
- needs_backup: payload.needs_backup,
20
- no_backup: payload.no_backup
21
- };
22
- super(message, params);
23
- this.allowDeviceMode = [UI_REQUEST.INITIALIZE];
24
- this.useDeviceState = false;
25
- this.skipFinalReload = false;
26
- }
27
- get requiredPermissions() {
28
- return [{
29
- permission: 'management'
30
- }];
31
- }
32
- get info() {
33
- return 'Load seed and related internal settings.';
34
- }
35
- get confirmation() {
36
- return {
37
- view: 'device-management',
38
- label: 'Do you really you want to load device?'
39
- };
40
- }
41
- async run() {
42
- const cmd = this.getDevice().getCommands();
43
- const response = await cmd.typedCall('LoadDevice', 'Success', this.params);
44
- return response.message;
45
- }
46
- }
@@ -1,4 +0,0 @@
1
- export { default as moneroGetAddress } from "./moneroGetAddress.js";
2
- export { default as moneroGetWatchKey } from "./moneroGetWatchKey.js";
3
- export { default as moneroKeyImageSync } from "./moneroKeyImageSync.js";
4
- export { default as moneroSignTransaction } from "./moneroSignTransaction.js";
@@ -1,4 +0,0 @@
1
- export { default as moneroGetAddress } from "./moneroGetAddress.js";
2
- export { default as moneroGetWatchKey } from "./moneroGetWatchKey.js";
3
- export { default as moneroKeyImageSync } from "./moneroKeyImageSync.js";
4
- export { default as moneroSignTransaction } from "./moneroSignTransaction.js";
@@ -1,32 +0,0 @@
1
- import { type PermissionRequest } from '@trezor/connect-common';
2
- import type { Address } from '@trezor/connect-common/lib/types/params';
3
- import { MessagesSchema as PROTO } from '@trezor/protobuf';
4
- import type { MethodMessage } from "../../../core/AbstractMethod.js";
5
- import { AbstractMethod } from "../../../core/AbstractMethod.js";
6
- type Params = {
7
- proto: PROTO.MoneroGetAddress;
8
- address?: string;
9
- };
10
- export default class MoneroGetAddress extends AbstractMethod<'moneroGetAddress', Params[]> {
11
- hasBundle?: boolean;
12
- progress: number;
13
- constructor(message: MethodMessage<'moneroGetAddress'>);
14
- get requiredPermissions(): PermissionRequest[];
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
- _call({
26
- proto
27
- }: Params): Promise<{
28
- address: string;
29
- }>;
30
- run(): Promise<Address | Address[]>;
31
- }
32
- export {};
@@ -1,117 +0,0 @@
1
- import { ERRORS } from "@trezor/connect-common/lib/constants/index.js";
2
- import { HD_HARDENED_PATH_PART } from "@trezor/crypto-utils";
3
- import { MessagesSchema as PROTO } from "@trezor/protobuf";
4
- import { AbstractMethod } from "../../../core/AbstractMethod.js";
5
- import { getMiscNetwork } from "../../../data/coinInfo.js";
6
- import { getSerializedPath, validatePath } from "../../../utils/pathUtils.js";
7
- import { bundlify } from "../../common/paramsValidator.js";
8
- export default class MoneroGetAddress extends AbstractMethod {
9
- hasBundle;
10
- progress = 0;
11
- constructor(message) {
12
- const {
13
- hasBundle,
14
- payload
15
- } = bundlify(message.payload);
16
- const params = payload.bundle.map(batch => {
17
- const path = validatePath(batch.path, 3);
18
- const allHardened = path.every(component => (component & HD_HARDENED_PATH_PART) !== 0);
19
- if (!allHardened) {
20
- throw ERRORS.TypedError('Method_InvalidParameter', `Monero requires all path components to be hardened. Use m/44'/128'/0' format.`);
21
- }
22
- const proto = {
23
- address_n: path,
24
- show_display: typeof batch.showOnTrezor === 'boolean' ? batch.showOnTrezor : true,
25
- network_type: batch.networkType || PROTO.MoneroNetworkType.MAINNET,
26
- account: batch.account,
27
- minor: batch.minor,
28
- payment_id: batch.paymentId,
29
- chunkify: typeof batch.chunkify === 'boolean' ? batch.chunkify : false
30
- };
31
- return {
32
- proto,
33
- address: batch.address
34
- };
35
- });
36
- super(message, params);
37
- this.hasBundle = hasBundle;
38
- this.confirmMissingBackup = true;
39
- this.requiredDeviceCapabilities = ['Capability_Monero'];
40
- this.requiredFirmwareCoins = [getMiscNetwork('xmr')];
41
- }
42
- get requiredPermissions() {
43
- return this.coinPerms('read_address', this.requiredFirmwareCoins);
44
- }
45
- get info() {
46
- return 'Export Monero address';
47
- }
48
- getButtonRequestData(code) {
49
- if (code === 'ButtonRequest_Address') {
50
- const {
51
- params
52
- } = this;
53
- const current = params[this.progress];
54
- const {
55
- proto,
56
- address
57
- } = current;
58
- return {
59
- type: 'address',
60
- serializedPath: getSerializedPath(proto.address_n),
61
- address: address || 'not-set'
62
- };
63
- }
64
- }
65
- get confirmation() {
66
- return {
67
- view: 'export-address',
68
- label: this.info
69
- };
70
- }
71
- async _call({
72
- proto
73
- }) {
74
- const cmd = this.getDevice().getCommands();
75
- const response = await cmd.typedCall('MoneroGetAddress', 'MoneroAddress', proto);
76
- const addressHex = response.message.address;
77
- const addressBytes = Buffer.from(addressHex, 'hex');
78
- const address = addressBytes.toString('utf8');
79
- return {
80
- address
81
- };
82
- }
83
- async run() {
84
- const responses = [];
85
- for (let i = 0; i < this.params.length; i++) {
86
- const {
87
- params
88
- } = this;
89
- const batch = params[i];
90
- if (batch.proto.show_display) {
91
- const silent = await this._call({
92
- ...batch,
93
- proto: {
94
- ...batch.proto,
95
- show_display: false
96
- }
97
- });
98
- if (typeof batch.address === 'string') {
99
- if (batch.address !== silent.address) {
100
- throw ERRORS.TypedError('Method_AddressNotMatch');
101
- }
102
- } else {
103
- batch.address = silent.address;
104
- }
105
- }
106
- const response = await this._call(batch);
107
- responses.push({
108
- address: response.address,
109
- path: batch.proto.address_n,
110
- serializedPath: getSerializedPath(batch.proto.address_n)
111
- });
112
- this.progress++;
113
- }
114
- const first = responses[0];
115
- return this.hasBundle ? responses : first;
116
- }
117
- }
@@ -1,14 +0,0 @@
1
- import type { MoneroWatchKey, PermissionRequest } from '@trezor/connect-common';
2
- import { MessagesSchema as PROTO } from '@trezor/protobuf';
3
- import type { MethodMessage } from "../../../core/AbstractMethod.js";
4
- import { AbstractMethod } from "../../../core/AbstractMethod.js";
5
- type Params = {
6
- proto: PROTO.MoneroGetWatchKey;
7
- };
8
- export default class MoneroGetWatchKeyMethod extends AbstractMethod<'moneroGetWatchKey', Params> {
9
- constructor(message: MethodMessage<'moneroGetWatchKey'>);
10
- get requiredPermissions(): PermissionRequest[];
11
- get info(): string;
12
- run(): Promise<MoneroWatchKey>;
13
- }
14
- export {};
@@ -1,45 +0,0 @@
1
- import { ERRORS } from "@trezor/connect-common/lib/constants/index.js";
2
- import { HD_HARDENED_PATH_PART } from "@trezor/crypto-utils";
3
- import { MessagesSchema as PROTO } from "@trezor/protobuf";
4
- import { AbstractMethod } from "../../../core/AbstractMethod.js";
5
- import { getMiscNetwork } from "../../../data/coinInfo.js";
6
- import { validatePath } from "../../../utils/pathUtils.js";
7
- export default class MoneroGetWatchKeyMethod extends AbstractMethod {
8
- constructor(message) {
9
- const {
10
- payload
11
- } = message;
12
- const path = validatePath(payload.path, 3);
13
- const allHardened = path.every(component => (component & HD_HARDENED_PATH_PART) !== 0);
14
- if (!allHardened) {
15
- throw ERRORS.TypedError('Method_InvalidParameter', `Monero requires all path components to be hardened. Use m/44'/128'/0' format.`);
16
- }
17
- const proto = {
18
- address_n: path,
19
- network_type: payload.networkType || PROTO.MoneroNetworkType.MAINNET
20
- };
21
- const params = {
22
- proto
23
- };
24
- super(message, params);
25
- this.requiredDeviceCapabilities = ['Capability_Monero'];
26
- this.requiredFirmwareCoins = [getMiscNetwork('xmr')];
27
- }
28
- get requiredPermissions() {
29
- return this.coinPerms('read_xpub', this.requiredFirmwareCoins);
30
- }
31
- get info() {
32
- return 'Export Monero watch-only credentials';
33
- }
34
- async run() {
35
- const cmd = this.getDevice().getCommands();
36
- const response = await cmd.typedCall('MoneroGetWatchKey', 'MoneroWatchKey', this.params.proto);
37
- const addressHex = response.message.address;
38
- const addressBytes = Buffer.from(addressHex, 'hex');
39
- const address = addressBytes.toString('utf8');
40
- return {
41
- watch_key: response.message.watch_key,
42
- address
43
- };
44
- }
45
- }
@@ -1,17 +0,0 @@
1
- import type { MoneroKeyImageSyncResult, PermissionRequest } from '@trezor/connect-common';
2
- import { MessagesSchema as PROTO } from '@trezor/protobuf';
3
- import type { MethodMessage } from "../../../core/AbstractMethod.js";
4
- import { AbstractMethod } from "../../../core/AbstractMethod.js";
5
- type Params = {
6
- address_n: number[];
7
- network_type: PROTO.MoneroNetworkType;
8
- subs: PROTO.MoneroSubAddressIndicesList[];
9
- tdis: PROTO.MoneroTransferDetails[];
10
- };
11
- export default class MoneroKeyImageSyncMethod extends AbstractMethod<'moneroKeyImageSync', Params> {
12
- constructor(message: MethodMessage<'moneroKeyImageSync'>);
13
- get requiredPermissions(): PermissionRequest[];
14
- get info(): string;
15
- run(): Promise<MoneroKeyImageSyncResult>;
16
- }
17
- export {};
@@ -1,128 +0,0 @@
1
- import { keccak_256 } from "@noble/hashes/sha3.js";
2
- import { hexToBytes } from "@noble/hashes/utils.js";
3
- import { ERRORS } from "@trezor/connect-common/lib/constants/index.js";
4
- import { HD_HARDENED_PATH_PART } from "@trezor/crypto-utils";
5
- import { MessagesSchema as PROTO } from "@trezor/protobuf";
6
- import { AbstractMethod } from "../../../core/AbstractMethod.js";
7
- import { getMiscNetwork } from "../../../data/coinInfo.js";
8
- import { validatePath } from "../../../utils/pathUtils.js";
9
- function encodeVarint(n) {
10
- const bytes = [];
11
- while (n >= 0x80) {
12
- bytes.push(n & 0x7f | 0x80);
13
- n >>= 7;
14
- }
15
- bytes.push(n & 0x7f);
16
- return new Uint8Array(bytes);
17
- }
18
- export default class MoneroKeyImageSyncMethod extends AbstractMethod {
19
- constructor(message) {
20
- const {
21
- payload
22
- } = message;
23
- const path = validatePath(payload.path, 3);
24
- const allHardened = path.every(component => (component & HD_HARDENED_PATH_PART) !== 0);
25
- if (!allHardened) {
26
- throw ERRORS.TypedError('Method_InvalidParameter', `Monero requires all path components to be hardened. Use m/44'/128'/0' format.`);
27
- }
28
- if (!payload.tdis || payload.tdis.length === 0) {
29
- throw ERRORS.TypedError('Method_InvalidParameter', 'tdis (transfer details) array is required and cannot be empty');
30
- }
31
- const tdis = payload.tdis.map((tdi, index) => {
32
- if (tdi.out_key.length !== 64) {
33
- throw ERRORS.TypedError('Method_InvalidParameter', `Invalid out_key length at index ${index}: expected 64 hex characters, got ${tdi.out_key.length}`);
34
- }
35
- if (tdi.tx_pub_key.length !== 64) {
36
- throw ERRORS.TypedError('Method_InvalidParameter', `Invalid tx_pub_key length at index ${index}: expected 64 hex characters, got ${tdi.tx_pub_key.length}`);
37
- }
38
- let additionalKeys = [];
39
- const addlKeys = tdi.additional_tx_pub_keys;
40
- if (addlKeys) {
41
- if (Array.isArray(addlKeys)) {
42
- additionalKeys = addlKeys;
43
- } else if (typeof addlKeys === 'string') {
44
- const trimmed = addlKeys.trim();
45
- if (trimmed) {
46
- additionalKeys = trimmed.split(',').map(k => k.trim());
47
- }
48
- }
49
- }
50
- additionalKeys.forEach((key, keyIndex) => {
51
- if (key && key.length !== 64) {
52
- throw ERRORS.TypedError('Method_InvalidParameter', `Invalid additional_tx_pub_keys[${keyIndex}] length at tdi index ${index}: expected 64 hex characters, got ${key.length}`);
53
- }
54
- });
55
- return {
56
- out_key: hexToBytes(tdi.out_key),
57
- tx_pub_key: hexToBytes(tdi.tx_pub_key),
58
- additional_tx_pub_keys: additionalKeys.map(k => hexToBytes(k)),
59
- internal_output_index: tdi.internal_output_index,
60
- sub_addr_major: tdi.sub_addr_major,
61
- sub_addr_minor: tdi.sub_addr_minor
62
- };
63
- });
64
- const params = {
65
- address_n: path,
66
- network_type: payload.networkType || PROTO.MoneroNetworkType.MAINNET,
67
- subs: payload.subs || [],
68
- tdis
69
- };
70
- super(message, params);
71
- this.requiredDeviceCapabilities = ['Capability_Monero'];
72
- this.requiredFirmwareCoins = [getMiscNetwork('xmr')];
73
- }
74
- get requiredPermissions() {
75
- return this.coinPerms('read_account_info', this.requiredFirmwareCoins);
76
- }
77
- get info() {
78
- return 'Export Monero key images for spent output tracking';
79
- }
80
- async run() {
81
- const cmd = this.getDevice().getCommands();
82
- const tdHashes = [];
83
- for (const tdi of this.params.tdis) {
84
- const kck = keccak_256.create();
85
- kck.update(tdi.out_key);
86
- kck.update(tdi.tx_pub_key);
87
- if (tdi.additional_tx_pub_keys && tdi.additional_tx_pub_keys.length > 0) {
88
- for (const addKey of tdi.additional_tx_pub_keys) {
89
- kck.update(addKey);
90
- }
91
- }
92
- const indexVarint = encodeVarint(tdi.internal_output_index);
93
- kck.update(indexVarint);
94
- tdHashes.push(kck.digest());
95
- }
96
- const finalKck = keccak_256.create();
97
- for (const hash of tdHashes) {
98
- finalKck.update(hash);
99
- }
100
- const hashBytes = finalKck.digest();
101
- const numOutputs = this.params.tdis.length;
102
- await cmd.typedCall('MoneroKeyImageExportInitRequest', 'MoneroKeyImageExportInitAck', {
103
- num: numOutputs,
104
- hash: hashBytes,
105
- address_n: this.params.address_n,
106
- network_type: this.params.network_type,
107
- subs: this.params.subs
108
- });
109
- const allKeyImages = [];
110
- const stepResponse = await cmd.typedCall('MoneroKeyImageSyncStepRequest', 'MoneroKeyImageSyncStepAck', {
111
- tdis: this.params.tdis
112
- });
113
- allKeyImages.push(...stepResponse.message.kis);
114
- const finalResponse = await cmd.typedCall('MoneroKeyImageSyncFinalRequest', 'MoneroKeyImageSyncFinalAck', {});
115
- const encKey = finalResponse.message.enc_key;
116
- if (!encKey) {
117
- throw ERRORS.TypedError('Runtime', 'Device did not return encryption key for key images');
118
- }
119
- const keyImages = allKeyImages.map(ki => ({
120
- iv: ki.iv || '',
121
- key_image: ki.blob || ''
122
- }));
123
- return {
124
- key_images: keyImages,
125
- signature: encKey
126
- };
127
- }
128
- }
@@ -1,17 +0,0 @@
1
- import type { PROTO, PermissionRequest } from '@trezor/connect-common';
2
- import type { MethodMessage, MethodReturnType } from "../../../core/AbstractMethod.js";
3
- import { AbstractMethod } from "../../../core/AbstractMethod.js";
4
- type Params = {
5
- address_n: number[];
6
- network_type: PROTO.MoneroNetworkType;
7
- tsx_data: PROTO.MoneroTransactionData;
8
- inputs: PROTO.MoneroTransactionSourceEntry[];
9
- };
10
- export default class MoneroSignTransactionMethod extends AbstractMethod<'moneroSignTransaction', Params> {
11
- get requiredPermissions(): PermissionRequest[];
12
- private state;
13
- constructor(message: MethodMessage<'moneroSignTransaction'>);
14
- get info(): string;
15
- run(): Promise<MethodReturnType<typeof this.name>>;
16
- }
17
- export {};