@trezor/connect 9.7.3 → 10.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (772) hide show
  1. package/CHANGELOG.md +68 -1334
  2. package/README.md +9 -45
  3. package/lib/api/applyFlags.d.ts +17 -14
  4. package/lib/api/applyFlags.js +19 -20
  5. package/lib/api/applySettings.d.ts +18 -15
  6. package/lib/api/applySettings.js +25 -21
  7. package/lib/api/authenticateDevice.d.ts +24 -10
  8. package/lib/api/authenticateDevice.js +149 -49
  9. package/lib/api/authorizeCoinjoin.d.ts +10 -8
  10. package/lib/api/authorizeCoinjoin.js +21 -25
  11. package/lib/api/backupDevice.d.ts +16 -14
  12. package/lib/api/backupDevice.js +20 -21
  13. package/lib/api/bitcoin/TransactionComposer.d.ts +42 -44
  14. package/lib/api/bitcoin/TransactionComposer.js +21 -21
  15. package/lib/api/bitcoin/createPendingTx.d.ts +34 -32
  16. package/lib/api/bitcoin/createPendingTx.js +8 -15
  17. package/lib/api/bitcoin/enhanceSignTx.d.ts +2 -4
  18. package/lib/api/bitcoin/enhanceSignTx.js +5 -46
  19. package/lib/api/bitcoin/index.d.ts +9 -10
  20. package/lib/api/bitcoin/index.js +9 -16
  21. package/lib/api/bitcoin/inputs.d.ts +3 -7
  22. package/lib/api/bitcoin/inputs.js +12 -34
  23. package/lib/api/bitcoin/outputs.d.ts +3 -6
  24. package/lib/api/bitcoin/outputs.js +34 -33
  25. package/lib/api/bitcoin/refTx.d.ts +16 -12
  26. package/lib/api/bitcoin/refTx.js +49 -70
  27. package/lib/api/bitcoin/signtx.d.ts +26 -21
  28. package/lib/api/bitcoin/signtx.js +47 -39
  29. package/lib/api/bitcoin/signtxLegacy.d.ts +10 -4
  30. package/lib/api/bitcoin/signtxLegacy.js +31 -32
  31. package/lib/api/bitcoin/signtxVerify.d.ts +7 -9
  32. package/lib/api/bitcoin/signtxVerify.js +35 -35
  33. package/lib/api/bitcoin/transactionBytes.d.ts +3 -5
  34. package/lib/api/bitcoin/transactionBytes.js +8 -19
  35. package/lib/api/bleUnpair.d.ts +10 -8
  36. package/lib/api/bleUnpair.js +23 -25
  37. package/lib/api/blockchainDisconnect.d.ts +12 -11
  38. package/lib/api/blockchainDisconnect.js +22 -28
  39. package/lib/api/blockchainEstimateFee.d.ts +12 -9
  40. package/lib/api/blockchainEstimateFee.js +27 -32
  41. package/lib/api/blockchainEvmRpcCall.d.ts +15 -12
  42. package/lib/api/blockchainEvmRpcCall.js +22 -27
  43. package/lib/api/blockchainGetAccountBalanceHistory.d.ts +12 -9
  44. package/lib/api/blockchainGetAccountBalanceHistory.js +27 -28
  45. package/lib/api/blockchainGetContractInfo.d.ts +16 -0
  46. package/lib/api/blockchainGetContractInfo.js +46 -0
  47. package/lib/api/blockchainGetCurrentFiatRates.d.ts +16 -13
  48. package/lib/api/blockchainGetCurrentFiatRates.js +22 -27
  49. package/lib/api/blockchainGetFiatRatesForTimestamps.d.ts +19 -16
  50. package/lib/api/blockchainGetFiatRatesForTimestamps.js +22 -27
  51. package/lib/api/blockchainGetInfo.d.ts +11 -8
  52. package/lib/api/blockchainGetInfo.js +22 -27
  53. package/lib/api/blockchainGetTransactions.d.ts +14 -9
  54. package/lib/api/blockchainGetTransactions.js +29 -29
  55. package/lib/api/blockchainSetCustomBackend.d.ts +13 -8
  56. package/lib/api/blockchainSetCustomBackend.js +26 -28
  57. package/lib/api/blockchainSubscribe.d.ts +15 -12
  58. package/lib/api/blockchainSubscribe.js +25 -28
  59. package/lib/api/blockchainSubscribeFiatRates.d.ts +15 -11
  60. package/lib/api/blockchainSubscribeFiatRates.js +23 -27
  61. package/lib/api/blockchainUnsubscribe.d.ts +15 -12
  62. package/lib/api/blockchainUnsubscribe.js +25 -28
  63. package/lib/api/blockchainUnsubscribeFiatRates.d.ts +13 -10
  64. package/lib/api/blockchainUnsubscribeFiatRates.js +22 -27
  65. package/lib/api/blockchainValidateEvmRpcUrl.d.ts +17 -0
  66. package/lib/api/blockchainValidateEvmRpcUrl.js +54 -0
  67. package/lib/api/cancelCoinjoinAuthorization.d.ts +11 -10
  68. package/lib/api/cancelCoinjoinAuthorization.js +15 -18
  69. package/lib/api/cardano/api/cardanoComposeTransaction.d.ts +9 -7
  70. package/lib/api/cardano/api/cardanoComposeTransaction.js +25 -27
  71. package/lib/api/cardano/api/cardanoGetAddress.d.ts +31 -24
  72. package/lib/api/cardano/api/cardanoGetAddress.js +75 -70
  73. package/lib/api/cardano/api/cardanoGetNativeScriptHash.d.ts +11 -12
  74. package/lib/api/cardano/api/cardanoGetNativeScriptHash.js +47 -56
  75. package/lib/api/cardano/api/cardanoGetPublicKey.d.ts +19 -14
  76. package/lib/api/cardano/api/cardanoGetPublicKey.js +62 -43
  77. package/lib/api/cardano/api/cardanoSignMessage.d.ts +19 -22
  78. package/lib/api/cardano/api/cardanoSignMessage.js +34 -44
  79. package/lib/api/cardano/api/cardanoSignTransaction.d.ts +75 -73
  80. package/lib/api/cardano/api/cardanoSignTransaction.js +64 -62
  81. package/lib/api/cardano/api/index.d.ts +6 -7
  82. package/lib/api/cardano/api/index.js +6 -50
  83. package/lib/api/cardano/cardanoAddressParameters.d.ts +3 -4
  84. package/lib/api/cardano/cardanoAddressParameters.js +17 -27
  85. package/lib/api/cardano/cardanoAuxiliaryData.d.ts +3 -4
  86. package/lib/api/cardano/cardanoAuxiliaryData.js +16 -25
  87. package/lib/api/cardano/cardanoCertificate.d.ts +9 -10
  88. package/lib/api/cardano/cardanoCertificate.js +35 -42
  89. package/lib/api/cardano/cardanoInputs.d.ts +16 -17
  90. package/lib/api/cardano/cardanoInputs.js +19 -29
  91. package/lib/api/cardano/cardanoOutputs.d.ts +35 -35
  92. package/lib/api/cardano/cardanoOutputs.js +25 -34
  93. package/lib/api/cardano/cardanoTokenBundle.d.ts +10 -11
  94. package/lib/api/cardano/cardanoTokenBundle.js +9 -17
  95. package/lib/api/cardano/cardanoUtils.d.ts +13 -5
  96. package/lib/api/cardano/cardanoUtils.js +19 -33
  97. package/lib/api/cardano/cardanoWitnesses.d.ts +4 -5
  98. package/lib/api/cardano/cardanoWitnesses.js +6 -14
  99. package/lib/api/changeLanguage.d.ts +16 -15
  100. package/lib/api/changeLanguage.js +22 -23
  101. package/lib/api/changePin.d.ts +9 -7
  102. package/lib/api/changePin.js +18 -20
  103. package/lib/api/changeWipeCode.d.ts +10 -8
  104. package/lib/api/changeWipeCode.js +17 -19
  105. package/lib/api/cipherKeyValue.d.ts +16 -12
  106. package/lib/api/cipherKeyValue.js +35 -33
  107. package/lib/api/common/AbstractMiscGetAddress.d.ts +37 -0
  108. package/lib/api/common/AbstractMiscGetAddress.js +126 -0
  109. package/lib/api/common/Discovery.d.ts +23 -26
  110. package/lib/api/common/Discovery.js +14 -22
  111. package/lib/api/common/paramsValidator.d.ts +19 -9
  112. package/lib/api/common/paramsValidator.js +77 -71
  113. package/lib/api/common/requestExistingAccounts.d.ts +14 -0
  114. package/lib/api/common/requestExistingAccounts.js +20 -0
  115. package/lib/api/composeTransaction.d.ts +31 -39
  116. package/lib/api/composeTransaction.js +172 -108
  117. package/lib/api/discoverAccounts.d.ts +36 -29
  118. package/lib/api/discoverAccounts.js +113 -69
  119. package/lib/api/ethereum/api/ethereumGetAddress.d.ts +27 -25
  120. package/lib/api/ethereum/api/ethereumGetAddress.js +80 -62
  121. package/lib/api/ethereum/api/ethereumGetPublicKey.d.ts +49 -41
  122. package/lib/api/ethereum/api/ethereumGetPublicKey.js +54 -42
  123. package/lib/api/ethereum/api/ethereumSignMessage.d.ts +24 -21
  124. package/lib/api/ethereum/api/ethereumSignMessage.js +40 -46
  125. package/lib/api/ethereum/api/ethereumSignTransaction.d.ts +77 -76
  126. package/lib/api/ethereum/api/ethereumSignTransaction.js +63 -77
  127. package/lib/api/ethereum/api/ethereumSignTypedData.d.ts +108 -107
  128. package/lib/api/ethereum/api/ethereumSignTypedData.js +69 -77
  129. package/lib/api/ethereum/api/ethereumVerifyMessage.d.ts +11 -9
  130. package/lib/api/ethereum/api/ethereumVerifyMessage.js +23 -25
  131. package/lib/api/ethereum/api/index.d.ts +6 -7
  132. package/lib/api/ethereum/api/index.js +6 -50
  133. package/lib/api/ethereum/ethereumDefinitions.d.ts +42 -36
  134. package/lib/api/ethereum/ethereumDefinitions.js +67 -50
  135. package/lib/api/ethereum/ethereumSignTx.d.ts +15 -21
  136. package/lib/api/ethereum/ethereumSignTx.js +64 -62
  137. package/lib/api/ethereum/ethereumSignTypedData.d.ts +28 -5
  138. package/lib/api/ethereum/ethereumSignTypedData.js +95 -41
  139. package/lib/api/evoluGetDelegatedIdentityKey.d.ts +13 -10
  140. package/lib/api/evoluGetDelegatedIdentityKey.js +20 -32
  141. package/lib/api/evoluGetNode.d.ts +11 -9
  142. package/lib/api/evoluGetNode.js +16 -20
  143. package/lib/api/evoluSignRegistrationRequest.d.ts +14 -10
  144. package/lib/api/evoluSignRegistrationRequest.js +18 -20
  145. package/lib/api/firmware/calculateFirmwareHash.d.ts +15 -10
  146. package/lib/api/firmware/calculateFirmwareHash.js +16 -21
  147. package/lib/api/firmware/calculateXPubHash.d.ts +14 -0
  148. package/lib/api/firmware/calculateXPubHash.js +16 -0
  149. package/lib/api/firmware/getBinary.d.ts +11 -8
  150. package/lib/api/firmware/getBinary.js +12 -21
  151. package/lib/api/firmware/index.d.ts +6 -6
  152. package/lib/api/firmware/index.js +6 -54
  153. package/lib/api/firmware/modifyFirmware.d.ts +2 -3
  154. package/lib/api/firmware/modifyFirmware.js +6 -14
  155. package/lib/api/firmware/parseFirmwareHeaders.d.ts +3 -4
  156. package/lib/api/firmware/parseFirmwareHeaders.js +2 -10
  157. package/lib/api/firmware/uploadFirmware.d.ts +22 -17
  158. package/lib/api/firmware/uploadFirmware.js +20 -20
  159. package/lib/api/firmware/verifyEntropy.d.ts +20 -14
  160. package/lib/api/firmware/verifyEntropy.js +22 -29
  161. package/lib/api/getAccountInfo.d.ts +17 -143
  162. package/lib/api/getAccountInfo.js +92 -184
  163. package/lib/api/getAddress.d.ts +42 -35
  164. package/lib/api/getAddress.js +76 -71
  165. package/lib/api/getCoinInfo.d.ts +144 -146
  166. package/lib/api/getCoinInfo.js +17 -25
  167. package/lib/api/getDeviceState.d.ts +7 -8
  168. package/lib/api/getDeviceState.js +11 -17
  169. package/lib/api/getFeatures.d.ts +70 -64
  170. package/lib/api/getFeatures.js +17 -17
  171. package/lib/api/getFirmwareHash.d.ts +9 -7
  172. package/lib/api/getFirmwareHash.js +20 -24
  173. package/lib/api/getNonce.d.ts +10 -9
  174. package/lib/api/getNonce.js +12 -12
  175. package/lib/api/getOwnershipId.d.ts +16 -12
  176. package/lib/api/getOwnershipId.js +54 -37
  177. package/lib/api/getOwnershipProof.d.ts +16 -12
  178. package/lib/api/getOwnershipProof.js +54 -39
  179. package/lib/api/getPublicKey.d.ts +51 -43
  180. package/lib/api/getPublicKey.js +67 -48
  181. package/lib/api/getSettings.d.ts +23 -5
  182. package/lib/api/getSettings.js +16 -14
  183. package/lib/api/index.d.ts +62 -58
  184. package/lib/api/index.js +62 -408
  185. package/lib/api/loadDevice.d.ts +14 -12
  186. package/lib/api/loadDevice.js +20 -24
  187. package/lib/api/monero/api/index.d.ts +4 -5
  188. package/lib/api/monero/api/index.js +4 -36
  189. package/lib/api/monero/api/moneroGetAddress.d.ts +29 -24
  190. package/lib/api/monero/api/moneroGetAddress.js +56 -61
  191. package/lib/api/monero/api/moneroGetWatchKey.d.ts +11 -10
  192. package/lib/api/monero/api/moneroGetWatchKey.js +26 -29
  193. package/lib/api/monero/api/moneroKeyImageSync.d.ts +13 -12
  194. package/lib/api/monero/api/moneroKeyImageSync.js +34 -37
  195. package/lib/api/monero/api/moneroSignTransaction.d.ts +13 -12
  196. package/lib/api/monero/api/moneroSignTransaction.js +52 -41
  197. package/lib/api/nostr/nostrGetPublicKey.d.ts +15 -0
  198. package/lib/api/nostr/nostrGetPublicKey.js +38 -0
  199. package/lib/api/nostr/nostrSignEvent.d.ts +13 -0
  200. package/lib/api/nostr/nostrSignEvent.js +36 -0
  201. package/lib/api/pingDevice.d.ts +11 -0
  202. package/lib/api/pingDevice.js +29 -0
  203. package/lib/api/pushTransaction.d.ts +15 -12
  204. package/lib/api/pushTransaction.js +25 -30
  205. package/lib/api/recoveryDevice.d.ts +18 -16
  206. package/lib/api/recoveryDevice.js +22 -23
  207. package/lib/api/requestLogin.d.ts +13 -11
  208. package/lib/api/requestLogin.js +24 -30
  209. package/lib/api/resetDevice.d.ts +21 -15
  210. package/lib/api/resetDevice.js +64 -48
  211. package/lib/api/ripple/api/index.d.ts +2 -3
  212. package/lib/api/ripple/api/index.js +2 -22
  213. package/lib/api/ripple/api/rippleGetAddress.d.ts +17 -27
  214. package/lib/api/ripple/api/rippleGetAddress.js +12 -101
  215. package/lib/api/ripple/api/rippleSignTransaction.d.ts +12 -10
  216. package/lib/api/ripple/api/rippleSignTransaction.js +21 -24
  217. package/lib/api/selectAccount.d.ts +15 -0
  218. package/lib/api/selectAccount.js +42 -0
  219. package/lib/api/setBrightness.d.ts +10 -7
  220. package/lib/api/setBrightness.js +19 -20
  221. package/lib/api/setBusy.d.ts +10 -8
  222. package/lib/api/setBusy.js +18 -25
  223. package/lib/api/showDeviceTutorial.d.ts +11 -10
  224. package/lib/api/showDeviceTutorial.js +11 -16
  225. package/lib/api/signMessage.d.ts +24 -18
  226. package/lib/api/signMessage.js +47 -36
  227. package/lib/api/signTransaction.d.ts +195 -227
  228. package/lib/api/signTransaction.js +84 -101
  229. package/lib/api/solana/api/index.d.ts +4 -5
  230. package/lib/api/solana/api/index.js +4 -36
  231. package/lib/api/solana/api/solanaComposeTransaction.d.ts +29 -26
  232. package/lib/api/solana/api/solanaComposeTransaction.js +47 -36
  233. package/lib/api/solana/api/solanaGetAddress.d.ts +17 -27
  234. package/lib/api/solana/api/solanaGetAddress.js +12 -101
  235. package/lib/api/solana/api/solanaGetPublicKey.d.ts +31 -26
  236. package/lib/api/solana/api/solanaGetPublicKey.js +54 -39
  237. package/lib/api/solana/api/solanaSignTransaction.d.ts +38 -36
  238. package/lib/api/solana/api/solanaSignTransaction.js +134 -133
  239. package/lib/api/solana/solanaDefinitions.d.ts +5 -4
  240. package/lib/api/solana/solanaDefinitions.js +12 -25
  241. package/lib/api/stellar/api/index.d.ts +2 -3
  242. package/lib/api/stellar/api/index.js +2 -22
  243. package/lib/api/stellar/api/stellarGetAddress.d.ts +17 -27
  244. package/lib/api/stellar/api/stellarGetAddress.js +12 -101
  245. package/lib/api/stellar/api/stellarSignTransaction.d.ts +17 -21
  246. package/lib/api/stellar/api/stellarSignTransaction.js +39 -44
  247. package/lib/api/stellar/stellarSignTx.d.ts +7 -7
  248. package/lib/api/stellar/stellarSignTx.js +37 -51
  249. package/lib/api/telemetryGet.d.ts +14 -0
  250. package/lib/api/telemetryGet.js +26 -0
  251. package/lib/api/tezos/api/index.d.ts +3 -4
  252. package/lib/api/tezos/api/index.js +3 -29
  253. package/lib/api/tezos/api/tezosGetAddress.d.ts +17 -27
  254. package/lib/api/tezos/api/tezosGetAddress.js +12 -101
  255. package/lib/api/tezos/api/tezosGetPublicKey.d.ts +27 -20
  256. package/lib/api/tezos/api/tezosGetPublicKey.js +53 -37
  257. package/lib/api/tezos/api/tezosSignTransaction.d.ts +13 -11
  258. package/lib/api/tezos/api/tezosSignTransaction.js +20 -26
  259. package/lib/api/tezos/tezosSignTx.d.ts +66 -67
  260. package/lib/api/tezos/tezosSignTx.js +12 -19
  261. package/lib/api/thpGetCredentials.d.ts +12 -9
  262. package/lib/api/thpGetCredentials.js +21 -25
  263. package/lib/api/thpRemoveCredentials.d.ts +14 -7
  264. package/lib/api/thpRemoveCredentials.js +35 -30
  265. package/lib/api/tron/api/index.d.ts +3 -3
  266. package/lib/api/tron/api/index.js +3 -22
  267. package/lib/api/tron/api/tronComposeTransaction.d.ts +17 -0
  268. package/lib/api/tron/api/tronComposeTransaction.js +52 -0
  269. package/lib/api/tron/api/tronGetAddress.d.ts +17 -27
  270. package/lib/api/tron/api/tronGetAddress.js +12 -98
  271. package/lib/api/tron/api/tronSignTransaction.d.ts +16 -15
  272. package/lib/api/tron/api/tronSignTransaction.js +101 -27
  273. package/lib/api/tron/tronEncode.d.ts +11 -0
  274. package/lib/api/tron/tronEncode.js +157 -0
  275. package/lib/api/tron/tronProtobuf.d.ts +5 -0
  276. package/lib/api/tron/tronProtobuf.js +28 -0
  277. package/lib/api/unlockPath.d.ts +11 -9
  278. package/lib/api/unlockPath.js +18 -23
  279. package/lib/api/verifyMessage.d.ts +15 -9
  280. package/lib/api/verifyMessage.js +30 -34
  281. package/lib/api/wipeDevice.d.ts +19 -15
  282. package/lib/api/wipeDevice.js +22 -22
  283. package/lib/backend/BackendManager.d.ts +26 -20
  284. package/lib/backend/BackendManager.js +29 -29
  285. package/lib/backend/Blockchain.d.ts +78 -79
  286. package/lib/backend/Blockchain.js +34 -35
  287. package/lib/backend/BlockchainLink.d.ts +6 -6
  288. package/lib/backend/BlockchainLink.js +14 -27
  289. package/lib/backend/fees/BitcoinFeeLevels.d.ts +18 -19
  290. package/lib/backend/fees/BitcoinFeeLevels.js +11 -17
  291. package/lib/backend/fees/EthereumFeeLevels.d.ts +16 -17
  292. package/lib/backend/fees/EthereumFeeLevels.js +26 -22
  293. package/lib/backend/fees/MiscFeeLevels.d.ts +17 -18
  294. package/lib/backend/fees/MiscFeeLevels.js +13 -16
  295. package/lib/backend/fees/index.d.ts +4 -5
  296. package/lib/backend/fees/index.js +12 -21
  297. package/lib/core/AbstractMethod.d.ts +57 -72
  298. package/lib/core/AbstractMethod.js +92 -170
  299. package/lib/core/index.d.ts +25 -28
  300. package/lib/core/index.js +292 -493
  301. package/lib/core/method.d.ts +3 -4
  302. package/lib/core/method.js +9 -18
  303. package/lib/core/method.native.d.ts +2 -3
  304. package/lib/core/method.native.js +8 -19
  305. package/lib/core/onCallFirmwareUpdate.d.ts +33 -32
  306. package/lib/core/onCallFirmwareUpdate.js +103 -63
  307. package/lib/data/coinInfo.d.ts +86 -431
  308. package/lib/data/coinInfo.js +55 -57
  309. package/lib/data/config.d.ts +5 -30
  310. package/lib/data/config.js +52 -149
  311. package/lib/data/defaultFeeLevels.d.ts +10 -11
  312. package/lib/data/defaultFeeLevels.js +39 -23
  313. package/lib/data/enabledNetworksStore.d.ts +5 -0
  314. package/lib/data/enabledNetworksStore.js +20 -0
  315. package/lib/data/firmwareInfo.d.ts +39 -37
  316. package/lib/data/firmwareInfo.js +99 -167
  317. package/lib/data/firmwareReleaseStore.d.ts +10 -0
  318. package/lib/data/firmwareReleaseStore.js +16 -0
  319. package/lib/data/localFirmwareStore.d.ts +3 -0
  320. package/lib/data/localFirmwareStore.js +8 -0
  321. package/lib/data/protobufLoader.d.ts +1 -0
  322. package/lib/data/protobufLoader.js +30 -0
  323. package/lib/data/settingsStore.d.ts +6 -0
  324. package/lib/data/settingsStore.js +21 -0
  325. package/lib/device/Device.d.ts +255 -289
  326. package/lib/device/Device.js +203 -204
  327. package/lib/device/DeviceCommands.d.ts +82 -69
  328. package/lib/device/DeviceCommands.js +35 -36
  329. package/lib/device/DeviceCurrentSession.d.ts +746 -1093
  330. package/lib/device/DeviceCurrentSession.js +32 -53
  331. package/lib/device/DeviceList.d.ts +65 -59
  332. package/lib/device/DeviceList.js +80 -76
  333. package/lib/device/TransportList.d.ts +3 -9
  334. package/lib/device/TransportList.js +11 -50
  335. package/lib/device/TransportManager.d.ts +25 -22
  336. package/lib/device/TransportManager.js +15 -21
  337. package/lib/device/calculateRevisionForDevice.d.ts +8 -6
  338. package/lib/device/calculateRevisionForDevice.js +7 -15
  339. package/lib/device/checkFirmwareRevision.d.ts +20 -10
  340. package/lib/device/checkFirmwareRevision.js +43 -22
  341. package/lib/device/resolveDescriptorForTaproot.d.ts +13 -11
  342. package/lib/device/resolveDescriptorForTaproot.js +9 -15
  343. package/lib/device/thp/handshake.d.ts +3 -4
  344. package/lib/device/thp/handshake.js +27 -39
  345. package/lib/device/thp/index.d.ts +5 -6
  346. package/lib/device/thp/index.js +37 -41
  347. package/lib/device/thp/pairing.d.ts +13 -13
  348. package/lib/device/thp/pairing.js +88 -84
  349. package/lib/device/thp/session.d.ts +2 -3
  350. package/lib/device/thp/session.js +4 -12
  351. package/lib/device/thp/thpCall.d.ts +22 -32
  352. package/lib/device/thp/thpCall.js +14 -20
  353. package/lib/device/validateMessageSize.d.ts +2 -0
  354. package/lib/device/validateMessageSize.js +9 -0
  355. package/lib/device/workflow/changeLanguage.d.ts +18 -0
  356. package/lib/device/workflow/changeLanguage.js +62 -0
  357. package/lib/device/workflow/checkFirmwareHash.d.ts +10 -8
  358. package/lib/device/workflow/checkFirmwareHash.js +20 -28
  359. package/lib/device/workflow/checkFirmwareHashWithRetries.d.ts +5 -6
  360. package/lib/device/workflow/checkFirmwareHashWithRetries.js +9 -17
  361. package/lib/device/workflow/handshake.d.ts +11 -8
  362. package/lib/device/workflow/handshake.js +13 -21
  363. package/lib/device/workflow/trezorPushNotification.d.ts +5 -3
  364. package/lib/device/workflow/trezorPushNotification.js +28 -36
  365. package/lib/device/workflow/validateState.d.ts +2 -3
  366. package/lib/device/workflow/validateState.js +35 -59
  367. package/lib/events/ui-promise.d.ts +14 -14
  368. package/lib/events/ui-promise.js +1 -6
  369. package/lib/exports.d.ts +3 -5
  370. package/lib/exports.js +3 -18
  371. package/lib/impl/core-in-module.d.ts +33 -35
  372. package/lib/impl/core-in-module.js +124 -146
  373. package/lib/index.browser.d.ts +7 -0
  374. package/lib/index.browser.js +34 -0
  375. package/lib/index.d.ts +3 -9
  376. package/lib/index.js +15 -178
  377. package/lib/types/idevice.d.ts +110 -0
  378. package/lib/types/idevice.js +1 -0
  379. package/lib/types/typed-call-provider.d.ts +29 -0
  380. package/lib/types/typed-call-provider.js +1 -0
  381. package/lib/types/workflow.d.ts +13 -9
  382. package/lib/types/workflow.js +1 -6
  383. package/lib/utils/accountUtils.d.ts +4 -5
  384. package/lib/utils/accountUtils.js +28 -32
  385. package/lib/utils/addressUtils.d.ts +2 -3
  386. package/lib/utils/addressUtils.js +4 -12
  387. package/lib/utils/assetUtils.d.ts +8 -5
  388. package/lib/utils/assetUtils.js +36 -28
  389. package/lib/utils/assets.browser.d.ts +1 -0
  390. package/lib/utils/assets.browser.js +1 -0
  391. package/lib/utils/assets.d.ts +2 -3
  392. package/lib/utils/assets.js +8 -17
  393. package/lib/utils/assets.native.d.ts +2 -3
  394. package/lib/utils/assets.native.js +5 -12
  395. package/lib/utils/assetsTypes.d.ts +2 -3
  396. package/lib/utils/assetsTypes.js +1 -6
  397. package/lib/utils/buildOutputDescriptor.d.ts +20 -0
  398. package/lib/utils/buildOutputDescriptor.js +67 -0
  399. package/lib/utils/deviceFeaturesUtils.d.ts +4 -5
  400. package/lib/utils/deviceFeaturesUtils.js +24 -38
  401. package/lib/utils/ethereumUtils.d.ts +2 -3
  402. package/lib/utils/ethereumUtils.js +3 -11
  403. package/lib/utils/firmwareReleaseConfigUtils.d.ts +16 -7
  404. package/lib/utils/firmwareReleaseConfigUtils.js +71 -31
  405. package/lib/utils/firmwareUtils.d.ts +7 -7
  406. package/lib/utils/firmwareUtils.js +24 -37
  407. package/lib/utils/formatUtils.d.ts +6 -8
  408. package/lib/utils/formatUtils.js +21 -60
  409. package/lib/utils/hdnodeUtils.d.ts +2 -3
  410. package/lib/utils/hdnodeUtils.js +14 -25
  411. package/lib/utils/pathUtils.d.ts +1 -21
  412. package/lib/utils/pathUtils.js +1 -172
  413. package/lib/utils/paymentRequest.d.ts +8 -0
  414. package/lib/utils/paymentRequest.js +25 -0
  415. package/lib/utils/uiPromiseManager.d.ts +8 -43
  416. package/lib/utils/uiPromiseManager.js +19 -31
  417. package/lib/workers/workers.browser.d.ts +10 -0
  418. package/lib/workers/workers.browser.js +16 -0
  419. package/lib/workers/workers.d.ts +2 -2
  420. package/lib/workers/workers.js +8 -60
  421. package/lib/workers/workers.native.d.ts +2 -3
  422. package/lib/workers/workers.native.js +7 -20
  423. package/package.json +84 -75
  424. package/lib/api/eos/api/eosGetPublicKey.d.ts +0 -23
  425. package/lib/api/eos/api/eosGetPublicKey.js +0 -69
  426. package/lib/api/eos/api/eosSignTransaction.d.ts +0 -18
  427. package/lib/api/eos/api/eosSignTransaction.js +0 -48
  428. package/lib/api/eos/api/index.d.ts +0 -3
  429. package/lib/api/eos/api/index.js +0 -22
  430. package/lib/api/eos/eosSignTx.d.ts +0 -175
  431. package/lib/api/eos/eosSignTx.js +0 -344
  432. package/lib/api/getAccountDescriptor.d.ts +0 -22
  433. package/lib/api/getAccountDescriptor.js +0 -139
  434. package/lib/api/nem/api/index.d.ts +0 -3
  435. package/lib/api/nem/api/index.js +0 -22
  436. package/lib/api/nem/api/nemGetAddress.d.ts +0 -26
  437. package/lib/api/nem/api/nemGetAddress.js +0 -129
  438. package/lib/api/nem/api/nemSignTransaction.d.ts +0 -11
  439. package/lib/api/nem/api/nemSignTransaction.js +0 -39
  440. package/lib/api/nem/nemSignTx.d.ts +0 -78
  441. package/lib/api/nem/nemSignTx.js +0 -143
  442. package/lib/api/setProxy.d.ts +0 -8
  443. package/lib/api/setProxy.js +0 -32
  444. package/lib/api/solana/additionalInfo.d.ts +0 -10
  445. package/lib/api/solana/additionalInfo.js +0 -24
  446. package/lib/api/solana/solanaUtils.d.ts +0 -49
  447. package/lib/api/solana/solanaUtils.js +0 -279
  448. package/lib/constants/cardano.d.ts +0 -14
  449. package/lib/constants/cardano.js +0 -23
  450. package/lib/constants/errors.d.ts +0 -64
  451. package/lib/constants/errors.js +0 -87
  452. package/lib/constants/firmware.d.ts +0 -4
  453. package/lib/constants/firmware.js +0 -10
  454. package/lib/constants/index.d.ts +0 -8
  455. package/lib/constants/index.js +0 -27
  456. package/lib/constants/nem.d.ts +0 -29
  457. package/lib/constants/nem.js +0 -35
  458. package/lib/constants/network.d.ts +0 -17
  459. package/lib/constants/network.js +0 -21
  460. package/lib/constants/utxo.d.ts +0 -3
  461. package/lib/constants/utxo.js +0 -8
  462. package/lib/data/DataManager.d.ts +0 -31
  463. package/lib/data/DataManager.js +0 -100
  464. package/lib/data/analyticsInfo.d.ts +0 -6
  465. package/lib/data/analyticsInfo.js +0 -43
  466. package/lib/data/connectSettings.d.ts +0 -9
  467. package/lib/data/connectSettings.js +0 -147
  468. package/lib/data/thpSettings.d.ts +0 -3
  469. package/lib/data/thpSettings.js +0 -41
  470. package/lib/data/udevInfo.d.ts +0 -11
  471. package/lib/data/udevInfo.js +0 -31
  472. package/lib/data/version.d.ts +0 -6
  473. package/lib/data/version.js +0 -14
  474. package/lib/device/StateStorage.d.ts +0 -15
  475. package/lib/device/StateStorage.js +0 -40
  476. package/lib/device/workflow/index.d.ts +0 -2
  477. package/lib/device/workflow/index.js +0 -14
  478. package/lib/events/blockchain.d.ts +0 -66
  479. package/lib/events/blockchain.js +0 -22
  480. package/lib/events/call.d.ts +0 -46
  481. package/lib/events/call.js +0 -22
  482. package/lib/events/core.d.ts +0 -24
  483. package/lib/events/core.js +0 -32
  484. package/lib/events/device.d.ts +0 -70
  485. package/lib/events/device.js +0 -42
  486. package/lib/events/iframe.d.ts +0 -46
  487. package/lib/events/iframe.js +0 -22
  488. package/lib/events/index.d.ts +0 -68
  489. package/lib/events/index.js +0 -25
  490. package/lib/events/popup.d.ts +0 -88
  491. package/lib/events/popup.js +0 -29
  492. package/lib/events/transport.d.ts +0 -51
  493. package/lib/events/transport.js +0 -26
  494. package/lib/events/ui-request.d.ts +0 -266
  495. package/lib/events/ui-request.js +0 -57
  496. package/lib/events/ui-response.d.ts +0 -104
  497. package/lib/events/ui-response.js +0 -29
  498. package/lib/events/webextension.d.ts +0 -8
  499. package/lib/events/webextension.js +0 -14
  500. package/lib/factory.d.ts +0 -20
  501. package/lib/factory.js +0 -50
  502. package/lib/impl/dynamic.d.ts +0 -39
  503. package/lib/impl/dynamic.js +0 -125
  504. package/lib/index-browser.d.ts +0 -7
  505. package/lib/index-browser.js +0 -29
  506. package/lib/tsconfig.lib.tsbuildinfo +0 -1
  507. package/lib/types/account.d.ts +0 -20
  508. package/lib/types/account.js +0 -6
  509. package/lib/types/api/applyFlags.d.ts +0 -4
  510. package/lib/types/api/applyFlags.js +0 -6
  511. package/lib/types/api/applySettings.d.ts +0 -23
  512. package/lib/types/api/applySettings.js +0 -12
  513. package/lib/types/api/authenticateDevice.d.ts +0 -65
  514. package/lib/types/api/authenticateDevice.js +0 -14
  515. package/lib/types/api/authorizeCoinjoin.d.ts +0 -17
  516. package/lib/types/api/authorizeCoinjoin.js +0 -21
  517. package/lib/types/api/backupDevice.d.ts +0 -4
  518. package/lib/types/api/backupDevice.js +0 -6
  519. package/lib/types/api/bitcoin/index.d.ts +0 -101
  520. package/lib/types/api/bitcoin/index.js +0 -23
  521. package/lib/types/api/bleUnpair.d.ts +0 -4
  522. package/lib/types/api/bleUnpair.js +0 -6
  523. package/lib/types/api/blockchainDisconnect.d.ts +0 -5
  524. package/lib/types/api/blockchainDisconnect.js +0 -6
  525. package/lib/types/api/blockchainEstimateFee.d.ts +0 -26
  526. package/lib/types/api/blockchainEstimateFee.js +0 -6
  527. package/lib/types/api/blockchainEvmRpcCall.d.ts +0 -4
  528. package/lib/types/api/blockchainEvmRpcCall.js +0 -6
  529. package/lib/types/api/blockchainGetAccountBalanceHistory.d.ts +0 -4
  530. package/lib/types/api/blockchainGetAccountBalanceHistory.js +0 -6
  531. package/lib/types/api/blockchainGetCurrentFiatRates.d.ts +0 -4
  532. package/lib/types/api/blockchainGetCurrentFiatRates.js +0 -6
  533. package/lib/types/api/blockchainGetFiatRatesForTimestamps.d.ts +0 -4
  534. package/lib/types/api/blockchainGetFiatRatesForTimestamps.js +0 -6
  535. package/lib/types/api/blockchainGetInfo.d.ts +0 -4
  536. package/lib/types/api/blockchainGetInfo.js +0 -6
  537. package/lib/types/api/blockchainGetTransactions.d.ts +0 -7
  538. package/lib/types/api/blockchainGetTransactions.js +0 -6
  539. package/lib/types/api/blockchainSetCustomBackend.d.ts +0 -8
  540. package/lib/types/api/blockchainSetCustomBackend.js +0 -6
  541. package/lib/types/api/blockchainSubscribe.d.ts +0 -8
  542. package/lib/types/api/blockchainSubscribe.js +0 -6
  543. package/lib/types/api/blockchainSubscribeFiatRates.d.ts +0 -7
  544. package/lib/types/api/blockchainSubscribeFiatRates.js +0 -6
  545. package/lib/types/api/blockchainUnsubscribe.d.ts +0 -5
  546. package/lib/types/api/blockchainUnsubscribe.js +0 -6
  547. package/lib/types/api/blockchainUnsubscribeFiatRates.d.ts +0 -5
  548. package/lib/types/api/blockchainUnsubscribeFiatRates.js +0 -6
  549. package/lib/types/api/cancel.d.ts +0 -2
  550. package/lib/types/api/cancel.js +0 -6
  551. package/lib/types/api/cancelCoinjoinAuthorization.d.ts +0 -9
  552. package/lib/types/api/cancelCoinjoinAuthorization.js +0 -11
  553. package/lib/types/api/cardano/index.d.ts +0 -784
  554. package/lib/types/api/cardano/index.js +0 -241
  555. package/lib/types/api/cardanoComposeTransaction.d.ts +0 -150
  556. package/lib/types/api/cardanoComposeTransaction.js +0 -91
  557. package/lib/types/api/cardanoGetAddress.d.ts +0 -5
  558. package/lib/types/api/cardanoGetAddress.js +0 -6
  559. package/lib/types/api/cardanoGetNativeScriptHash.d.ts +0 -4
  560. package/lib/types/api/cardanoGetNativeScriptHash.js +0 -6
  561. package/lib/types/api/cardanoGetPublicKey.d.ts +0 -5
  562. package/lib/types/api/cardanoGetPublicKey.js +0 -6
  563. package/lib/types/api/cardanoSignMessage.d.ts +0 -4
  564. package/lib/types/api/cardanoSignMessage.js +0 -6
  565. package/lib/types/api/cardanoSignTransaction.d.ts +0 -10
  566. package/lib/types/api/cardanoSignTransaction.js +0 -6
  567. package/lib/types/api/changeLanguage.d.ts +0 -15
  568. package/lib/types/api/changeLanguage.js +0 -17
  569. package/lib/types/api/changePin.d.ts +0 -4
  570. package/lib/types/api/changePin.js +0 -6
  571. package/lib/types/api/changeWipeCode.d.ts +0 -4
  572. package/lib/types/api/changeWipeCode.js +0 -6
  573. package/lib/types/api/cipherKeyValue.d.ts +0 -18
  574. package/lib/types/api/cipherKeyValue.js +0 -18
  575. package/lib/types/api/composeTransaction.d.ts +0 -74
  576. package/lib/types/api/composeTransaction.js +0 -6
  577. package/lib/types/api/device.d.ts +0 -1
  578. package/lib/types/api/device.js +0 -1
  579. package/lib/types/api/disableWebUSB.d.ts +0 -2
  580. package/lib/types/api/disableWebUSB.js +0 -6
  581. package/lib/types/api/discoverAccounts.d.ts +0 -248
  582. package/lib/types/api/discoverAccounts.js +0 -210
  583. package/lib/types/api/dispose.d.ts +0 -2
  584. package/lib/types/api/dispose.js +0 -6
  585. package/lib/types/api/eos/index.d.ts +0 -784
  586. package/lib/types/api/eos/index.js +0 -124
  587. package/lib/types/api/eosGetPublicKey.d.ts +0 -5
  588. package/lib/types/api/eosGetPublicKey.js +0 -6
  589. package/lib/types/api/eosSignTransaction.d.ts +0 -5
  590. package/lib/types/api/eosSignTransaction.js +0 -6
  591. package/lib/types/api/ethereum/index.d.ts +0 -307
  592. package/lib/types/api/ethereum/index.js +0 -101
  593. package/lib/types/api/ethereumGetAddress.d.ts +0 -4
  594. package/lib/types/api/ethereumGetAddress.js +0 -6
  595. package/lib/types/api/ethereumGetPublicKey.d.ts +0 -5
  596. package/lib/types/api/ethereumGetPublicKey.js +0 -6
  597. package/lib/types/api/ethereumSignMessage.d.ts +0 -5
  598. package/lib/types/api/ethereumSignMessage.js +0 -6
  599. package/lib/types/api/ethereumSignTransaction.d.ts +0 -4
  600. package/lib/types/api/ethereumSignTransaction.js +0 -6
  601. package/lib/types/api/ethereumSignTypedData.d.ts +0 -6
  602. package/lib/types/api/ethereumSignTypedData.js +0 -6
  603. package/lib/types/api/ethereumVerifyMessage.d.ts +0 -5
  604. package/lib/types/api/ethereumVerifyMessage.js +0 -6
  605. package/lib/types/api/evoluGetDelegatedIdentityKey.d.ts +0 -9
  606. package/lib/types/api/evoluGetDelegatedIdentityKey.js +0 -6
  607. package/lib/types/api/evoluGetNode.d.ts +0 -4
  608. package/lib/types/api/evoluGetNode.js +0 -6
  609. package/lib/types/api/evoluSignRegistrationRequest.d.ts +0 -4
  610. package/lib/types/api/evoluSignRegistrationRequest.js +0 -6
  611. package/lib/types/api/firmwareUpdate.d.ts +0 -21
  612. package/lib/types/api/firmwareUpdate.js +0 -16
  613. package/lib/types/api/getAccountDescriptor.d.ts +0 -18
  614. package/lib/types/api/getAccountDescriptor.js +0 -16
  615. package/lib/types/api/getAccountInfo.d.ts +0 -16
  616. package/lib/types/api/getAccountInfo.js +0 -6
  617. package/lib/types/api/getAddress.d.ts +0 -48
  618. package/lib/types/api/getAddress.js +0 -17
  619. package/lib/types/api/getCoinInfo.d.ts +0 -6
  620. package/lib/types/api/getCoinInfo.js +0 -6
  621. package/lib/types/api/getDeviceState.d.ts +0 -8
  622. package/lib/types/api/getDeviceState.js +0 -6
  623. package/lib/types/api/getFeatures.d.ts +0 -4
  624. package/lib/types/api/getFeatures.js +0 -6
  625. package/lib/types/api/getFirmwareHash.d.ts +0 -4
  626. package/lib/types/api/getFirmwareHash.js +0 -6
  627. package/lib/types/api/getNonce.d.ts +0 -4
  628. package/lib/types/api/getNonce.js +0 -6
  629. package/lib/types/api/getOwnershipId.d.ts +0 -41
  630. package/lib/types/api/getOwnershipId.js +0 -16
  631. package/lib/types/api/getOwnershipProof.d.ts +0 -45
  632. package/lib/types/api/getOwnershipProof.js +0 -22
  633. package/lib/types/api/getPublicKey.d.ts +0 -37
  634. package/lib/types/api/getPublicKey.js +0 -31
  635. package/lib/types/api/getSettings.d.ts +0 -4
  636. package/lib/types/api/getSettings.js +0 -6
  637. package/lib/types/api/index.d.ts +0 -203
  638. package/lib/types/api/index.js +0 -6
  639. package/lib/types/api/init.d.ts +0 -7
  640. package/lib/types/api/init.js +0 -6
  641. package/lib/types/api/loadDevice.d.ts +0 -4
  642. package/lib/types/api/loadDevice.js +0 -6
  643. package/lib/types/api/manifest.d.ts +0 -3
  644. package/lib/types/api/manifest.js +0 -6
  645. package/lib/types/api/monero/index.d.ts +0 -280
  646. package/lib/types/api/monero/index.js +0 -178
  647. package/lib/types/api/moneroGetAddress.d.ts +0 -5
  648. package/lib/types/api/moneroGetAddress.js +0 -6
  649. package/lib/types/api/moneroGetWatchKey.d.ts +0 -4
  650. package/lib/types/api/moneroGetWatchKey.js +0 -6
  651. package/lib/types/api/moneroKeyImageSync.d.ts +0 -4
  652. package/lib/types/api/moneroKeyImageSync.js +0 -6
  653. package/lib/types/api/moneroSignTransaction.d.ts +0 -4
  654. package/lib/types/api/moneroSignTransaction.js +0 -6
  655. package/lib/types/api/nem/index.d.ts +0 -842
  656. package/lib/types/api/nem/index.js +0 -99
  657. package/lib/types/api/nemGetAddress.d.ts +0 -14
  658. package/lib/types/api/nemGetAddress.js +0 -12
  659. package/lib/types/api/nemSignTransaction.d.ts +0 -5
  660. package/lib/types/api/nemSignTransaction.js +0 -6
  661. package/lib/types/api/off.d.ts +0 -11
  662. package/lib/types/api/off.js +0 -6
  663. package/lib/types/api/on.d.ts +0 -14
  664. package/lib/types/api/on.js +0 -6
  665. package/lib/types/api/pushTransaction.d.ts +0 -16
  666. package/lib/types/api/pushTransaction.js +0 -16
  667. package/lib/types/api/recoveryDevice.d.ts +0 -17
  668. package/lib/types/api/recoveryDevice.js +0 -12
  669. package/lib/types/api/removeAllListeners.d.ts +0 -3
  670. package/lib/types/api/removeAllListeners.js +0 -6
  671. package/lib/types/api/renderWebUSBButton.d.ts +0 -2
  672. package/lib/types/api/renderWebUSBButton.js +0 -6
  673. package/lib/types/api/requestLogin.d.ts +0 -25
  674. package/lib/types/api/requestLogin.js +0 -16
  675. package/lib/types/api/requestWebUSBDevice.d.ts +0 -2
  676. package/lib/types/api/requestWebUSBDevice.js +0 -6
  677. package/lib/types/api/resetDevice.d.ts +0 -4
  678. package/lib/types/api/resetDevice.js +0 -6
  679. package/lib/types/api/ripple/index.d.ts +0 -41
  680. package/lib/types/api/ripple/index.js +0 -30
  681. package/lib/types/api/rippleGetAddress.d.ts +0 -4
  682. package/lib/types/api/rippleGetAddress.js +0 -6
  683. package/lib/types/api/rippleSignTransaction.d.ts +0 -4
  684. package/lib/types/api/rippleSignTransaction.js +0 -6
  685. package/lib/types/api/setBrightness.d.ts +0 -4
  686. package/lib/types/api/setBrightness.js +0 -6
  687. package/lib/types/api/setBusy.d.ts +0 -4
  688. package/lib/types/api/setBusy.js +0 -6
  689. package/lib/types/api/setProxy.d.ts +0 -8
  690. package/lib/types/api/setProxy.js +0 -6
  691. package/lib/types/api/setTransports.d.ts +0 -4
  692. package/lib/types/api/setTransports.js +0 -6
  693. package/lib/types/api/showDeviceTutorial.d.ts +0 -4
  694. package/lib/types/api/showDeviceTutorial.js +0 -6
  695. package/lib/types/api/signMessage.d.ts +0 -5
  696. package/lib/types/api/signMessage.js +0 -6
  697. package/lib/types/api/signTransaction.d.ts +0 -4
  698. package/lib/types/api/signTransaction.js +0 -6
  699. package/lib/types/api/solana/index.d.ts +0 -113
  700. package/lib/types/api/solana/index.js +0 -76
  701. package/lib/types/api/solanaComposeTransaction.d.ts +0 -4
  702. package/lib/types/api/solanaComposeTransaction.js +0 -6
  703. package/lib/types/api/solanaGetAddress.d.ts +0 -4
  704. package/lib/types/api/solanaGetAddress.js +0 -6
  705. package/lib/types/api/solanaGetPublicKey.d.ts +0 -5
  706. package/lib/types/api/solanaGetPublicKey.js +0 -6
  707. package/lib/types/api/solanaSignTransaction.d.ts +0 -4
  708. package/lib/types/api/solanaSignTransaction.js +0 -6
  709. package/lib/types/api/stellar/index.d.ts +0 -914
  710. package/lib/types/api/stellar/index.js +0 -194
  711. package/lib/types/api/stellarGetAddress.d.ts +0 -4
  712. package/lib/types/api/stellarGetAddress.js +0 -6
  713. package/lib/types/api/stellarSignTransaction.d.ts +0 -4
  714. package/lib/types/api/stellarSignTransaction.js +0 -6
  715. package/lib/types/api/tezos/index.d.ts +0 -163
  716. package/lib/types/api/tezos/index.js +0 -67
  717. package/lib/types/api/tezosGetAddress.d.ts +0 -4
  718. package/lib/types/api/tezosGetAddress.js +0 -6
  719. package/lib/types/api/tezosGetPublicKey.d.ts +0 -4
  720. package/lib/types/api/tezosGetPublicKey.js +0 -6
  721. package/lib/types/api/tezosSignTransaction.d.ts +0 -5
  722. package/lib/types/api/tezosSignTransaction.js +0 -6
  723. package/lib/types/api/thpGetCredentials.d.ts +0 -4
  724. package/lib/types/api/thpGetCredentials.js +0 -6
  725. package/lib/types/api/thpRemoveCredentials.d.ts +0 -7
  726. package/lib/types/api/thpRemoveCredentials.js +0 -6
  727. package/lib/types/api/tron/index.d.ts +0 -130
  728. package/lib/types/api/tron/index.js +0 -62
  729. package/lib/types/api/tronGetAddress.d.ts +0 -4
  730. package/lib/types/api/tronGetAddress.js +0 -6
  731. package/lib/types/api/tronSignTransaction.d.ts +0 -4
  732. package/lib/types/api/tronSignTransaction.js +0 -6
  733. package/lib/types/api/uiResponse.d.ts +0 -3
  734. package/lib/types/api/uiResponse.js +0 -6
  735. package/lib/types/api/unlockPath.d.ts +0 -10
  736. package/lib/types/api/unlockPath.js +0 -13
  737. package/lib/types/api/verifyMessage.d.ts +0 -5
  738. package/lib/types/api/verifyMessage.js +0 -6
  739. package/lib/types/api/wipeDevice.d.ts +0 -4
  740. package/lib/types/api/wipeDevice.js +0 -6
  741. package/lib/types/coinInfo.d.ts +0 -353
  742. package/lib/types/coinInfo.js +0 -79
  743. package/lib/types/device.d.ts +0 -133
  744. package/lib/types/device.js +0 -13
  745. package/lib/types/fees.d.ts +0 -36
  746. package/lib/types/fees.js +0 -39
  747. package/lib/types/firmware.d.ts +0 -25
  748. package/lib/types/firmware.js +0 -6
  749. package/lib/types/index.d.ts +0 -25
  750. package/lib/types/index.js +0 -39
  751. package/lib/types/params.d.ts +0 -93
  752. package/lib/types/params.js +0 -38
  753. package/lib/types/settings.d.ts +0 -80
  754. package/lib/types/settings.js +0 -6
  755. package/lib/types/utils.d.ts +0 -15
  756. package/lib/types/utils.js +0 -6
  757. package/lib/utils/assets-browser.d.ts +0 -3
  758. package/lib/utils/assets-browser.js +0 -29
  759. package/lib/utils/debug.d.ts +0 -7
  760. package/lib/utils/debug.js +0 -33
  761. package/lib/utils/interactionTimeout.d.ts +0 -10
  762. package/lib/utils/interactionTimeout.js +0 -37
  763. package/lib/utils/popupPromiseManager.d.ts +0 -8
  764. package/lib/utils/popupPromiseManager.js +0 -30
  765. package/lib/utils/proxy-event-emitter.d.ts +0 -21
  766. package/lib/utils/proxy-event-emitter.js +0 -69
  767. package/lib/utils/urlUtils.d.ts +0 -13
  768. package/lib/utils/urlUtils.js +0 -31
  769. package/lib/utils/versionCheck.d.ts +0 -3
  770. package/lib/utils/versionCheck.js +0 -16
  771. package/lib/workers/workers-browser.d.ts +0 -10
  772. package/lib/workers/workers-browser.js +0 -20
@@ -1,44 +1,36 @@
1
+ import { type BitcoinNetworkInfo, type PermissionRequest, type PrecomposeParams, type PrecomposedResult, type SignedTransaction } from '@trezor/connect-common';
1
2
  import { BigNumber } from '@trezor/utils/lib/bigNumber';
2
3
  import type { ComposeOutput, TransactionInputOutputSortingStrategy } from '@trezor/utxo-lib';
3
- import { AbstractMethod } from '../core/AbstractMethod';
4
- import { TransactionComposer } from './bitcoin';
5
- import type { AccountUtxo, BitcoinNetworkInfo, DiscoveryAccount } from '../types';
6
- import { Discovery } from './common/Discovery';
7
- import type { ComposeResult, PrecomposeParams, PrecomposedResult, SignedTransaction } from '../types/api/composeTransaction';
4
+ import type { MethodContext, MethodMessage } from "../core/AbstractMethod.js";
5
+ import { AbstractMethod } from "../core/AbstractMethod.js";
6
+ import { Discovery } from "./common/Discovery.js";
8
7
  type Params = {
9
- outputs: ComposeOutput[];
10
- coinInfo: BitcoinNetworkInfo;
11
- identity?: string;
12
- push: boolean;
13
- account?: PrecomposeParams['account'];
14
- feeLevels?: PrecomposeParams['feeLevels'];
15
- baseFee?: PrecomposeParams['baseFee'];
16
- floorBaseFee?: PrecomposeParams['floorBaseFee'];
17
- sequence?: PrecomposeParams['sequence'];
18
- total: BigNumber;
19
- sortingStrategy: PrecomposeParams['sortingStrategy'];
20
- } & ({
21
- skipPermutation?: PrecomposeParams['skipPermutation'];
22
- sortingStrategy?: undefined;
23
- } | {
24
- skipPermutation?: undefined;
25
- sortingStrategy?: TransactionInputOutputSortingStrategy;
26
- });
8
+ outputs: ComposeOutput[];
9
+ coinInfo: BitcoinNetworkInfo;
10
+ identity?: string;
11
+ push: boolean;
12
+ account?: PrecomposeParams['account'];
13
+ feeLevels?: PrecomposeParams['feeLevels'];
14
+ baseFee?: PrecomposeParams['baseFee'];
15
+ sequence?: PrecomposeParams['sequence'];
16
+ total: BigNumber;
17
+ sortingStrategy?: TransactionInputOutputSortingStrategy;
18
+ };
27
19
  export default class ComposeTransaction extends AbstractMethod<'composeTransaction', Params> {
28
- discovery?: Discovery;
29
- init(): void;
30
- get info(): string;
31
- private getBlockchain;
32
- precompose(account: PrecomposeParams['account'], feeLevels: PrecomposeParams['feeLevels']): Promise<PrecomposedResult[]>;
33
- run(): Promise<SignedTransaction | PrecomposedResult[]>;
34
- selectAccount(): Promise<{
35
- account: DiscoveryAccount;
36
- utxo: AccountUtxo[];
37
- }>;
38
- selectFee(account: DiscoveryAccount, utxos: AccountUtxo[]): Promise<SignedTransaction | "change-account">;
39
- _selectFeeUiResponse(composer: TransactionComposer): Promise<SignedTransaction | 'change-account'>;
40
- _sign(tx: ComposeResult): Promise<import("../types").SignedTransaction>;
41
- dispose(): void;
20
+ constructor(message: MethodMessage<'composeTransaction'>);
21
+ discovery?: Discovery;
22
+ private disposed;
23
+ get requiredPermissions(): PermissionRequest[];
24
+ get info(): string;
25
+ private getBlockchain;
26
+ private precompose;
27
+ run(context: MethodContext): Promise<SignedTransaction | PrecomposedResult[]>;
28
+ private selectAccount;
29
+ private selectFromExistingAccounts;
30
+ private selectFromDiscovery;
31
+ private selectFee;
32
+ private _selectFeeUiResponse;
33
+ private _sign;
34
+ dispose(): void;
42
35
  }
43
- export {};
44
- //# sourceMappingURL=composeTransaction.d.ts.map
36
+ export {};
@@ -1,31 +1,30 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- const tslib_1 = require("tslib");
7
- const bigNumber_1 = require("@trezor/utils/lib/bigNumber");
8
- const promiseAllSequence_1 = require("@trezor/utils/lib/promiseAllSequence");
9
- const resolveAfter_1 = require("@trezor/utils/lib/resolveAfter");
10
- const BlockchainLink_1 = require("../backend/BlockchainLink");
11
- const constants_1 = require("../constants");
12
- const utxo_1 = require("../constants/utxo");
13
- const AbstractMethod_1 = require("../core/AbstractMethod");
14
- const events_1 = require("../events");
15
- const bitcoin_1 = require("./bitcoin");
16
- const Discovery_1 = require("./common/Discovery");
17
- const paramsValidator_1 = require("./common/paramsValidator");
18
- const coinInfo_1 = require("../data/coinInfo");
19
- const formatUtils_1 = require("../utils/formatUtils");
20
- const pathUtils = tslib_1.__importStar(require("../utils/pathUtils"));
21
- class ComposeTransaction extends AbstractMethod_1.AbstractMethod {
22
- discovery;
23
- init() {
24
- this.requiredPermissions = ['read', 'write'];
1
+ import { DEFAULT_SORTING_STRATEGY, ERRORS, UI_REQUEST, UI_RESPONSE, createUiMessage } from "@trezor/connect-common";
2
+ import { BigNumber } from "@trezor/utils/lib/bigNumber.js";
3
+ import { promiseAllSequence } from "@trezor/utils/lib/promiseAllSequence.js";
4
+ import { resolveAfter } from "@trezor/utils/lib/resolveAfter.js";
5
+ import { unique } from "@trezor/utils/lib/unique.js";
6
+ import { assertBackendSupported, initBlockchain } from "../backend/BlockchainLink.js";
7
+ import { AbstractMethod } from "../core/AbstractMethod.js";
8
+ import { requestExistingAccounts } from "./common/requestExistingAccounts.js";
9
+ import { fixCoinInfoNetwork, getBitcoinNetwork } from "../data/coinInfo.js";
10
+ import { formatAmount } from "../utils/formatUtils.js";
11
+ import * as pathUtils from "../utils/pathUtils.js";
12
+ import { TransactionComposer } from "./bitcoin/TransactionComposer.js";
13
+ import { enhanceSignTx } from "./bitcoin/enhanceSignTx.js";
14
+ import { inputToTrezor } from "./bitcoin/inputs.js";
15
+ import { outputToTrezor, validateHDOutput } from "./bitcoin/outputs.js";
16
+ import { getReferencedTransactions, parseTransactionHexes, requireReferencedTransactions, transformReferencedTransactions } from "./bitcoin/refTx.js";
17
+ import { signTx } from "./bitcoin/signtx.js";
18
+ import { signTxLegacy } from "./bitcoin/signtxLegacy.js";
19
+ import { deriveOutputScript, verifyTx } from "./bitcoin/signtxVerify.js";
20
+ import { Discovery } from "./common/Discovery.js";
21
+ import { validateParams } from "./common/paramsValidator.js";
22
+ export default class ComposeTransaction extends AbstractMethod {
23
+ constructor(message) {
25
24
  const {
26
25
  payload
27
- } = this;
28
- (0, paramsValidator_1.validateParams)(payload, [{
26
+ } = message;
27
+ validateParams(payload, [{
29
28
  name: 'outputs',
30
29
  type: 'array',
31
30
  required: true
@@ -48,64 +47,64 @@ class ComposeTransaction extends AbstractMethod_1.AbstractMethod {
48
47
  }, {
49
48
  name: 'baseFee',
50
49
  type: 'number'
51
- }, {
52
- name: 'floorBaseFee',
53
- type: 'boolean'
54
50
  }, {
55
51
  name: 'sequence',
56
52
  type: 'number'
57
- }, {
58
- name: 'skipPermutation',
59
- type: 'boolean'
60
53
  }, {
61
54
  name: 'sortingStrategy',
62
55
  type: 'string'
63
56
  }]);
64
- const coinInfo = (0, coinInfo_1.getBitcoinNetwork)(payload.coin);
57
+ const coinInfo = getBitcoinNetwork(payload.coin);
65
58
  if (!coinInfo) {
66
- throw constants_1.ERRORS.TypedError('Method_UnknownCoin');
59
+ throw ERRORS.TypedError('Method_UnknownCoin');
67
60
  }
68
- (0, BlockchainLink_1.isBackendSupported)(coinInfo);
69
- this.firmwareRange = (0, paramsValidator_1.getFirmwareRange)(this.name, coinInfo, this.firmwareRange);
61
+ assertBackendSupported(coinInfo);
70
62
  const outputs = [];
71
- let total = new bigNumber_1.BigNumber(0);
63
+ let total = new BigNumber(0);
72
64
  payload.outputs.forEach(out => {
73
- const output = (0, bitcoin_1.validateHDOutput)(out, coinInfo);
65
+ const output = validateHDOutput(out, coinInfo);
74
66
  if ('amount' in output && typeof output.amount === 'string') {
75
67
  total = total.plus(output.amount);
76
68
  }
77
69
  outputs.push(output);
78
70
  });
79
- this.useDevice = !payload.account && !payload.feeLevels;
80
- this.useUi = this.useDevice;
81
- this.params = {
71
+ const params = {
82
72
  outputs,
83
73
  coinInfo,
84
74
  identity: payload.identity,
85
75
  account: payload.account,
86
76
  feeLevels: payload.feeLevels,
87
77
  baseFee: payload.baseFee,
88
- floorBaseFee: payload.floorBaseFee,
89
78
  sequence: payload.sequence,
90
- sortingStrategy: payload.skipPermutation === true ? 'none' : payload.sortingStrategy,
79
+ sortingStrategy: payload.sortingStrategy,
91
80
  push: typeof payload.push === 'boolean' ? payload.push : false,
92
81
  total
93
82
  };
83
+ super(message, params);
84
+ this.useDevice = !payload.account && !payload.feeLevels;
85
+ this.useUi = this.useDevice;
86
+ this.requiredFirmwareCoins = [coinInfo];
87
+ }
88
+ discovery;
89
+ disposed = false;
90
+ get requiredPermissions() {
91
+ const permissions = [this.coinPerm('sign', this.params.coinInfo)];
94
92
  if (this.params.push) {
95
- this.requiredPermissions.push('push_tx');
93
+ permissions.push(this.coinPerm('push_tx', this.params.coinInfo));
96
94
  }
95
+ return permissions;
97
96
  }
98
97
  get info() {
99
- const sendMax = this.params?.outputs.find(o => o.type === 'send-max') !== undefined;
98
+ const sendMax = this.params.outputs.some(o => o.type === 'send-max');
100
99
  if (sendMax) {
101
100
  return 'Send maximum amount';
102
101
  }
103
- return `Send ${(0, formatUtils_1.formatAmount)(this.params.total.toString(), this.params.coinInfo)}`;
102
+ return `Send ${formatAmount(this.params.total.toString(), this.params.coinInfo)}`;
104
103
  }
105
- getBlockchain() {
106
- return (0, BlockchainLink_1.initBlockchain)(this.params.coinInfo, this.postMessage, this.params.identity);
104
+ getBlockchain(sendCoreMessage) {
105
+ return initBlockchain(this.params.coinInfo, sendCoreMessage, this.params.identity);
107
106
  }
108
- async precompose(account, feeLevels) {
107
+ async precompose(account, feeLevels, sendCoreMessage) {
109
108
  const {
110
109
  coinInfo,
111
110
  outputs,
@@ -113,7 +112,7 @@ class ComposeTransaction extends AbstractMethod_1.AbstractMethod {
113
112
  sortingStrategy
114
113
  } = this.params;
115
114
  const address_n = pathUtils.validatePath(account.path);
116
- const composer = new bitcoin_1.TransactionComposer({
115
+ const composer = new TransactionComposer({
117
116
  account: {
118
117
  type: pathUtils.getAccountType(address_n),
119
118
  label: 'Account',
@@ -125,181 +124,247 @@ class ComposeTransaction extends AbstractMethod_1.AbstractMethod {
125
124
  coinInfo,
126
125
  outputs,
127
126
  baseFee,
128
- sortingStrategy: sortingStrategy ?? utxo_1.DEFAULT_SORTING_STRATEGY
127
+ sortingStrategy: sortingStrategy ?? DEFAULT_SORTING_STRATEGY
129
128
  });
130
- const blockchain = await this.getBlockchain();
129
+ const blockchain = await this.getBlockchain(sendCoreMessage);
131
130
  await composer.init(blockchain);
132
131
  return feeLevels.map(level => {
133
132
  composer.composeCustomFee(level.feePerUnit);
133
+ const {
134
+ composed
135
+ } = composer;
136
+ const composedCustom = composed['custom'];
134
137
  const tx = {
135
- ...composer.composed.custom
138
+ ...composedCustom
136
139
  };
137
140
  if (tx.type === 'final') {
138
141
  return {
139
142
  ...tx,
140
- inputs: tx.inputs.map(inp => (0, bitcoin_1.inputToTrezor)(inp, this.params.sequence)),
141
- outputs: tx.outputs.map(bitcoin_1.outputToTrezor)
143
+ inputs: tx.inputs.map(inp => inputToTrezor(inp, this.params.sequence)),
144
+ outputs: tx.outputs.map(outputToTrezor)
142
145
  };
143
146
  }
144
147
  if (tx.type === 'nonfinal') {
145
148
  return {
146
149
  ...tx,
147
- inputs: tx.inputs.map(inp => (0, bitcoin_1.inputToTrezor)(inp, this.params.sequence))
150
+ inputs: tx.inputs.map(inp => inputToTrezor(inp, this.params.sequence))
148
151
  };
149
152
  }
150
153
  return tx;
151
154
  });
152
155
  }
153
- async run() {
156
+ async run(context) {
154
157
  if (this.params.account && this.params.feeLevels) {
155
- return this.precompose(this.params.account, this.params.feeLevels);
158
+ return this.precompose(this.params.account, this.params.feeLevels, context.sendCoreMessage);
156
159
  }
157
160
  const {
158
161
  account,
159
162
  utxo
160
- } = await this.selectAccount();
161
- const response = await this.selectFee(account, utxo);
162
- if (!this.discovery) {
163
- throw constants_1.ERRORS.TypedError('Runtime', 'ComposeTransaction: selectFee response received after dispose');
163
+ } = await this.selectAccount(context);
164
+ const response = await this.selectFee(account, utxo, context);
165
+ if (this.disposed) {
166
+ throw ERRORS.TypedError('Runtime', 'ComposeTransaction: selectFee response received after dispose');
164
167
  }
165
168
  if (typeof response === 'string') {
166
- return this.run();
169
+ return this.run(context);
167
170
  }
168
171
  return response;
169
172
  }
170
- async selectAccount() {
173
+ async selectAccount(context) {
171
174
  const {
172
175
  coinInfo
173
176
  } = this.params;
174
- const blockchain = await this.getBlockchain();
175
- const dfd = this.createUiPromise(events_1.UI.RECEIVE_ACCOUNT);
176
- if (this.discovery && this.discovery.completed) {
177
+ const blockchain = await this.getBlockchain(context.sendCoreMessage);
178
+ if (!this.discovery) {
179
+ const existingAccounts = await requestExistingAccounts({
180
+ postMessage: context.sendCoreMessage,
181
+ createUiPromise: context.createUiPromise,
182
+ device: this.getDevice(),
183
+ coinInfo
184
+ });
185
+ if (existingAccounts) {
186
+ return this.selectFromExistingAccounts(existingAccounts, blockchain, context);
187
+ }
188
+ }
189
+ return this.selectFromDiscovery(blockchain, context);
190
+ }
191
+ async selectFromExistingAccounts(accounts, blockchain, context) {
192
+ const {
193
+ coinInfo
194
+ } = this.params;
195
+ const dfd = context.createUiPromise(UI_RESPONSE.RECEIVE_ACCOUNT, this.getDevice());
196
+ context.sendCoreMessage(createUiMessage(UI_REQUEST.SELECT_ACCOUNT, {
197
+ type: 'complete',
198
+ accountTypes: unique(accounts.map(a => a.type)),
199
+ coinInfo,
200
+ accounts
201
+ }));
202
+ const uiResp = await dfd.promise;
203
+ const accountIndex = uiResp.payload;
204
+ const account = accounts[accountIndex];
205
+ this.params.coinInfo = fixCoinInfoNetwork(this.params.coinInfo, account.address_n);
206
+ const utxo = await blockchain.getAccountUtxo(account.descriptor);
207
+ return {
208
+ account,
209
+ utxo
210
+ };
211
+ }
212
+ async selectFromDiscovery(blockchain, context) {
213
+ const {
214
+ coinInfo
215
+ } = this.params;
216
+ const dfd = context.createUiPromise(UI_RESPONSE.RECEIVE_ACCOUNT, this.getDevice());
217
+ if (this.discovery?.completed) {
177
218
  const {
178
219
  discovery
179
220
  } = this;
180
- this.postMessage((0, events_1.createUiMessage)(events_1.UI.SELECT_ACCOUNT, {
221
+ context.sendCoreMessage(createUiMessage(UI_REQUEST.SELECT_ACCOUNT, {
181
222
  type: 'end',
182
223
  coinInfo,
183
224
  accountTypes: discovery.types.map(t => t.type),
184
225
  accounts: discovery.accounts
226
+ }, {
227
+ requestId: dfd.requestId
185
228
  }));
186
229
  const uiResp = await dfd.promise;
187
- const account = discovery.accounts[uiResp.payload];
230
+ const {
231
+ accounts
232
+ } = discovery;
233
+ const accountIndex = uiResp.payload;
234
+ const account = accounts[accountIndex];
188
235
  const utxo = await blockchain.getAccountUtxo(account.descriptor);
189
236
  return {
190
237
  account,
191
238
  utxo
192
239
  };
193
240
  }
194
- const discovery = this.discovery || new Discovery_1.Discovery({
241
+ const discovery = this.discovery || new Discovery({
195
242
  blockchain,
196
- getDescriptor: path => this.device.getCommands().getAccountDescriptor(this.params.coinInfo, path)
243
+ getDescriptor: path => this.getDevice().getCommands().getAccountDescriptor(this.params.coinInfo, path)
197
244
  });
198
245
  this.discovery = discovery;
199
246
  discovery.on('progress', accounts => {
200
- this.postMessage((0, events_1.createUiMessage)(events_1.UI.SELECT_ACCOUNT, {
247
+ context.sendCoreMessage(createUiMessage(UI_REQUEST.SELECT_ACCOUNT, {
201
248
  type: 'progress',
202
249
  coinInfo,
203
250
  accounts
251
+ }, {
252
+ requestId: dfd.requestId
204
253
  }));
205
254
  });
206
255
  discovery.on('complete', () => {
207
- this.postMessage((0, events_1.createUiMessage)(events_1.UI.SELECT_ACCOUNT, {
256
+ context.sendCoreMessage(createUiMessage(UI_REQUEST.SELECT_ACCOUNT, {
208
257
  type: 'end',
209
258
  coinInfo
259
+ }, {
260
+ requestId: dfd.requestId
210
261
  }));
211
262
  });
212
263
  discovery.start('tokens').catch(error => {
213
264
  dfd.reject(error);
214
265
  });
215
- this.postMessage((0, events_1.createUiMessage)(events_1.UI.SELECT_ACCOUNT, {
266
+ context.sendCoreMessage(createUiMessage(UI_REQUEST.SELECT_ACCOUNT, {
216
267
  type: 'start',
217
268
  accountTypes: discovery.types.map(t => t.type),
218
269
  coinInfo
270
+ }, {
271
+ requestId: dfd.requestId
219
272
  }));
220
273
  const uiResp = await dfd.promise;
221
274
  discovery.removeAllListeners();
222
275
  discovery.stop();
223
276
  if (!discovery.completed) {
224
- await (0, resolveAfter_1.resolveAfter)(501);
277
+ await resolveAfter(501);
225
278
  }
226
- const account = discovery.accounts[uiResp.payload];
227
- this.params.coinInfo = (0, coinInfo_1.fixCoinInfoNetwork)(this.params.coinInfo, account.address_n);
279
+ const {
280
+ accounts
281
+ } = discovery;
282
+ const accountIndex = uiResp.payload;
283
+ const account = accounts[accountIndex];
284
+ this.params.coinInfo = fixCoinInfoNetwork(this.params.coinInfo, account.address_n);
228
285
  const utxo = await blockchain.getAccountUtxo(account.descriptor);
229
286
  return {
230
287
  account,
231
288
  utxo
232
289
  };
233
290
  }
234
- async selectFee(account, utxos) {
291
+ async selectFee(account, utxos, context) {
235
292
  const {
236
293
  coinInfo,
237
294
  outputs,
238
- sortingStrategy,
239
- skipPermutation
295
+ sortingStrategy
240
296
  } = this.params;
241
- const blockchain = await this.getBlockchain();
242
- const composer = new bitcoin_1.TransactionComposer({
297
+ const blockchain = await this.getBlockchain(context.sendCoreMessage);
298
+ const composer = new TransactionComposer({
243
299
  account,
244
300
  utxos,
245
301
  coinInfo,
246
302
  outputs,
247
- sortingStrategy: skipPermutation === true ? 'none' : sortingStrategy ?? utxo_1.DEFAULT_SORTING_STRATEGY
303
+ sortingStrategy: sortingStrategy ?? DEFAULT_SORTING_STRATEGY
248
304
  });
249
305
  await composer.init(blockchain);
250
306
  const hasFunds = composer.composeAllFeeLevels();
251
307
  if (!hasFunds) {
252
- this.postMessage((0, events_1.createUiMessage)(events_1.UI.INSUFFICIENT_FUNDS));
253
- await (0, resolveAfter_1.resolveAfter)(2000);
308
+ context.sendCoreMessage(createUiMessage(UI_REQUEST.INSUFFICIENT_FUNDS));
309
+ await resolveAfter(2000);
254
310
  return 'change-account';
255
311
  }
256
- this.postMessage((0, events_1.createUiMessage)(events_1.UI.SELECT_FEE, {
312
+ context.sendCoreMessage(createUiMessage(UI_REQUEST.SELECT_FEE, {
257
313
  feeLevels: composer.getFeeLevelList(),
258
314
  coinInfo: this.params.coinInfo
259
315
  }));
260
- return this._selectFeeUiResponse(composer);
316
+ return this._selectFeeUiResponse(composer, context);
261
317
  }
262
- async _selectFeeUiResponse(composer) {
263
- const resp = await this.createUiPromise(events_1.UI.RECEIVE_FEE).promise;
318
+ async _selectFeeUiResponse(composer, context) {
319
+ const resp = await context.createUiPromise(UI_RESPONSE.RECEIVE_FEE, this.getDevice()).promise;
264
320
  switch (resp.payload.type) {
265
321
  case 'compose-custom':
266
322
  composer.composeCustomFee(resp.payload.value);
267
- this.postMessage((0, events_1.createUiMessage)(events_1.UI.UPDATE_CUSTOM_FEE, {
323
+ context.sendCoreMessage(createUiMessage(UI_REQUEST.UPDATE_CUSTOM_FEE, {
268
324
  feeLevels: composer.getFeeLevelList(),
269
325
  coinInfo: this.params.coinInfo
326
+ }, {
327
+ requestId: resp.requestId
270
328
  }));
271
- return this._selectFeeUiResponse(composer);
329
+ return this._selectFeeUiResponse(composer, context);
272
330
  case 'send':
273
- return this._sign(composer.composed[resp.payload.value]);
331
+ {
332
+ const {
333
+ composed
334
+ } = composer;
335
+ const composedKey = resp.payload.value;
336
+ const tx = composed[composedKey];
337
+ return this._sign(tx, context.sendCoreMessage);
338
+ }
274
339
  default:
275
340
  return 'change-account';
276
341
  }
277
342
  }
278
- async _sign(tx) {
343
+ async _sign(tx, sendCoreMessage) {
344
+ const device = this.getDevice();
279
345
  const {
280
- device,
281
346
  params
282
347
  } = this;
283
- if (tx.type !== 'final') throw constants_1.ERRORS.TypedError('Runtime', 'ComposeTransaction: Trying to sign unfinished tx');
348
+ if (tx.type !== 'final') throw ERRORS.TypedError('Runtime', 'ComposeTransaction: Trying to sign unfinished tx');
284
349
  const {
285
350
  coinInfo
286
351
  } = params;
287
- const options = (0, bitcoin_1.enhanceSignTx)({}, coinInfo);
288
- const inputs = tx.inputs.map(inp => (0, bitcoin_1.inputToTrezor)(inp, params.sequence));
289
- const outputs = tx.outputs.map(bitcoin_1.outputToTrezor);
352
+ const options = enhanceSignTx({}, coinInfo);
353
+ const inputs = tx.inputs.map(inp => inputToTrezor(inp, params.sequence));
354
+ const outputs = tx.outputs.map(outputToTrezor);
290
355
  let refTxs = [];
291
- const requiredRefTxs = (0, bitcoin_1.requireReferencedTransactions)(inputs, options, coinInfo);
292
- const refTxsIds = (0, bitcoin_1.getReferencedTransactions)(inputs);
356
+ const requiredRefTxs = requireReferencedTransactions(inputs, options, coinInfo);
357
+ const refTxsIds = getReferencedTransactions(inputs);
293
358
  if (requiredRefTxs && refTxsIds.length > 0) {
294
- refTxs = await this.getBlockchain().then(blockchain => blockchain.getTransactionHexes(refTxsIds)).then((0, bitcoin_1.parseTransactionHexes)(coinInfo.network)).then(bitcoin_1.transformReferencedTransactions);
359
+ refTxs = await this.getBlockchain(sendCoreMessage).then(blockchain => blockchain.getTransactionHexes(refTxsIds)).then(parseTransactionHexes(coinInfo.network)).then(transformReferencedTransactions);
295
360
  }
296
361
  const getHDNode = address_n => device.getCommands().getHDNode({
297
362
  address_n
298
363
  }, {
299
364
  coinInfo: params.coinInfo
300
365
  });
301
- const outputScripts = await (0, promiseAllSequence_1.promiseAllSequence)(outputs.map(output => () => (0, bitcoin_1.deriveOutputScript)(getHDNode, output, coinInfo.network)));
302
- const signTxMethod = !device.unavailableCapabilities.replaceTransaction ? bitcoin_1.signTx : bitcoin_1.signTxLegacy;
366
+ const outputScripts = await promiseAllSequence(outputs.map(output => () => deriveOutputScript(getHDNode, output, coinInfo.network)));
367
+ const signTxMethod = !device.unavailableCapabilities.replaceTransaction ? signTx : signTxLegacy;
303
368
  const cmd = device.getCommands();
304
369
  const response = await signTxMethod({
305
370
  typedCall: cmd.typedCall,
@@ -309,14 +374,14 @@ class ComposeTransaction extends AbstractMethod_1.AbstractMethod {
309
374
  options,
310
375
  coinInfo
311
376
  });
312
- (0, bitcoin_1.verifyTx)(response.serializedTx, {
377
+ verifyTx(response.serializedTx, {
313
378
  inputs,
314
379
  outputs,
315
380
  outputScripts,
316
381
  network: coinInfo.network
317
382
  });
318
383
  if (params.push) {
319
- const blockchain = await this.getBlockchain();
384
+ const blockchain = await this.getBlockchain(sendCoreMessage);
320
385
  const txid = await blockchain.pushTransaction(response.serializedTx);
321
386
  return {
322
387
  ...response,
@@ -326,6 +391,7 @@ class ComposeTransaction extends AbstractMethod_1.AbstractMethod {
326
391
  return response;
327
392
  }
328
393
  dispose() {
394
+ this.disposed = true;
329
395
  const {
330
396
  discovery
331
397
  } = this;
@@ -335,6 +401,4 @@ class ComposeTransaction extends AbstractMethod_1.AbstractMethod {
335
401
  this.discovery = undefined;
336
402
  }
337
403
  }
338
- }
339
- exports.default = ComposeTransaction;
340
- //# sourceMappingURL=composeTransaction.js.map
404
+ }
@@ -1,33 +1,40 @@
1
- import { AbstractMethod } from '../core/AbstractMethod';
2
- import type { CoinInfo, FirmwareRange } from '../types';
3
- import { AccountTypeItem, AdditionalParams, CARDANO_DERIVATIONS } from '../types/api/discoverAccounts';
1
+ import { type AccountTypeItem, type AdditionalParams, CARDANO_DERIVATIONS, type CoinInfo, type EntropyCheckResult, type FirmwareRange, type PermissionRequest } from '@trezor/connect-common';
2
+ import type { MethodContext, MethodMessage } from "../core/AbstractMethod.js";
3
+ import { AbstractMethod } from "../core/AbstractMethod.js";
4
4
  type CardanoDerivation = (typeof CARDANO_DERIVATIONS)[keyof typeof CARDANO_DERIVATIONS];
5
5
  type Request = AdditionalParams & {
6
- account: AccountTypeItem;
7
- derivation?: CardanoDerivation;
8
- firmwareRange: FirmwareRange;
9
- coinInfo: CoinInfo;
10
- offset: number;
11
- skip: number;
6
+ account: AccountTypeItem;
7
+ derivation?: CardanoDerivation;
8
+ firmwareRange: FirmwareRange;
9
+ coinInfo: CoinInfo;
10
+ offset: number;
11
+ skip: number;
12
12
  };
13
- export default class DiscoverAccounts extends AbstractMethod<'discoverAccounts', Request[]> {
14
- disposed: boolean;
15
- init(): void;
16
- private progress;
17
- private updateProgress;
18
- private sendProgress;
19
- run(): Promise<{
20
- empty: number;
21
- nonempty: number;
22
- failed: number;
23
- }>;
24
- private filterUnsupportedAccounts;
25
- private filterCardanoDerivations;
26
- private readonly descriptorLock;
27
- private readonly descriptorCache;
28
- private getDescriptor;
29
- private discoverAccount;
30
- dispose(): void;
13
+ type DiscoverAccountsLocalParams = {
14
+ coins: Request[];
15
+ entropyCheckResult?: EntropyCheckResult;
16
+ };
17
+ export declare const getTxsPerPage: (account: AccountTypeItem) => 8 | 25;
18
+ export default class DiscoverAccounts extends AbstractMethod<'discoverAccounts', DiscoverAccountsLocalParams> {
19
+ disposed: boolean;
20
+ constructor(message: MethodMessage<'discoverAccounts'>);
21
+ get requiredPermissions(): PermissionRequest[];
22
+ private progress;
23
+ private updateProgress;
24
+ private sendProgress;
25
+ run({
26
+ sendCoreMessage
27
+ }: MethodContext): Promise<{
28
+ empty: number;
29
+ nonempty: number;
30
+ failed: number;
31
+ }>;
32
+ private filterUnsupportedAccounts;
33
+ private filterCardanoDerivations;
34
+ private readonly descriptorLock;
35
+ private readonly descriptorCache;
36
+ private getDescriptor;
37
+ private discoverAccount;
38
+ dispose(): void;
31
39
  }
32
- export {};
33
- //# sourceMappingURL=discoverAccounts.d.ts.map
40
+ export {};