@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,25 +1,20 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- const bigNumber_1 = require("@trezor/utils/lib/bigNumber");
7
- const promiseAllSequence_1 = require("@trezor/utils/lib/promiseAllSequence");
8
- const constants_1 = require("../constants");
9
- const bitcoin_1 = require("./bitcoin");
10
- const BlockchainLink_1 = require("../backend/BlockchainLink");
11
- const AbstractMethod_1 = require("../core/AbstractMethod");
12
- const paramsValidator_1 = require("./common/paramsValidator");
13
- const coinInfo_1 = require("../data/coinInfo");
14
- const pathUtils_1 = require("../utils/pathUtils");
15
- const transactionBytes_1 = require("./bitcoin/transactionBytes");
16
- class SignTransaction extends AbstractMethod_1.AbstractMethod {
17
- init() {
18
- this.requiredPermissions = ['read', 'write'];
1
+ import { ERRORS } from "@trezor/connect-common/lib/constants/index.js";
2
+ import { BigNumber } from "@trezor/utils/lib/bigNumber.js";
3
+ import { promiseAllSequence } from "@trezor/utils/lib/promiseAllSequence.js";
4
+ import { createPendingTransaction, deriveOutputScript, enhanceSignTx, getOrigTransactions, getReferencedTransactions, parseTransactionHexes, requireReferencedTransactions, signTx, signTxLegacy, transformOrigTransactions, transformReferencedTransactions, validateReferencedTransactions, validateTrezorInputs, validateTrezorOutputs, verifyTx } from "./bitcoin/index.js";
5
+ import { assertBackendSupported, initBlockchain } from "../backend/BlockchainLink.js";
6
+ import { AbstractMethod } from "../core/AbstractMethod.js";
7
+ import { getBitcoinNetwork } from "../data/coinInfo.js";
8
+ import { getLabel } from "../utils/pathUtils.js";
9
+ import { PAYMENT_REQUEST_AMOUNT_BYTES, encodePaymentRequestAmount } from "../utils/paymentRequest.js";
10
+ import { getTransactionVbytes } from "./bitcoin/transactionBytes.js";
11
+ import { validateParams } from "./common/paramsValidator.js";
12
+ export default class SignTransaction extends AbstractMethod {
13
+ constructor(message) {
19
14
  const {
20
15
  payload
21
- } = this;
22
- (0, paramsValidator_1.validateParams)(payload, [{
16
+ } = message;
17
+ validateParams(payload, [{
23
18
  name: 'coin',
24
19
  type: 'string',
25
20
  required: true
@@ -69,9 +64,6 @@ class SignTransaction extends AbstractMethod_1.AbstractMethod {
69
64
  }, {
70
65
  name: 'branchId',
71
66
  type: 'number'
72
- }, {
73
- name: 'decredStakingTicket',
74
- type: 'boolean'
75
67
  }, {
76
68
  name: 'push',
77
69
  type: 'boolean'
@@ -92,7 +84,7 @@ class SignTransaction extends AbstractMethod_1.AbstractMethod {
92
84
  type: 'boolean'
93
85
  }]);
94
86
  if (payload.unlockPath) {
95
- (0, paramsValidator_1.validateParams)(payload.unlockPath, [{
87
+ validateParams(payload.unlockPath, [{
96
88
  name: 'address_n',
97
89
  required: true,
98
90
  type: 'array'
@@ -102,14 +94,12 @@ class SignTransaction extends AbstractMethod_1.AbstractMethod {
102
94
  type: 'string'
103
95
  }]);
104
96
  }
105
- const coinInfo = (0, coinInfo_1.getBitcoinNetwork)(payload.coin);
97
+ const coinInfo = getBitcoinNetwork(payload.coin);
106
98
  if (!coinInfo) {
107
- throw constants_1.ERRORS.TypedError('Method_UnknownCoin');
99
+ throw ERRORS.TypedError('Method_UnknownCoin');
108
100
  }
109
- this.firmwareRange = (0, paramsValidator_1.getFirmwareRange)(this.name, coinInfo, this.firmwareRange);
110
- this.preauthorized = payload.preauthorized;
111
- const inputs = (0, bitcoin_1.validateTrezorInputs)(payload.inputs, coinInfo);
112
- const outputs = (0, bitcoin_1.validateTrezorOutputs)(payload.outputs, coinInfo);
101
+ const inputs = validateTrezorInputs(payload.inputs, coinInfo);
102
+ const outputs = validateTrezorOutputs(payload.outputs, coinInfo);
113
103
  if (payload.paymentRequests && payload.paymentRequests.length > 0) {
114
104
  outputs.forEach(output => {
115
105
  output.payment_req_index = 0;
@@ -118,7 +108,7 @@ class SignTransaction extends AbstractMethod_1.AbstractMethod {
118
108
  if (payload.refTxs && payload.account?.transactions) {
119
109
  console.warn('two sources of referential transactions were passed. payload.refTxs have precedence');
120
110
  }
121
- const refTxs = (0, bitcoin_1.validateReferencedTransactions)({
111
+ const refTxs = validateReferencedTransactions({
122
112
  transactions: payload.refTxs || payload.account?.transactions,
123
113
  inputs,
124
114
  outputs,
@@ -127,32 +117,19 @@ class SignTransaction extends AbstractMethod_1.AbstractMethod {
127
117
  });
128
118
  const outputsWithAmount = outputs.filter(output => typeof output.amount === 'string' && !Object.prototype.hasOwnProperty.call(output, 'op_return_data'));
129
119
  if (outputsWithAmount.length > 0) {
130
- const total = outputsWithAmount.reduce((bn, output) => bn.plus(typeof output.amount === 'string' ? output.amount : '0'), new bigNumber_1.BigNumber(0));
120
+ const total = outputsWithAmount.reduce((bn, output) => bn.plus(typeof output.amount === 'string' ? output.amount : '0'), new BigNumber(0));
131
121
  if (total.lt(coinInfo.dustLimit)) {
132
- throw constants_1.ERRORS.TypedError('Method_InvalidParameter', 'Total amount is below dust limit.');
122
+ throw ERRORS.TypedError('Method_InvalidParameter', 'Total amount is below dust limit.');
133
123
  }
134
124
  }
135
- const paymentRequests = payload.paymentRequests?.map(p => {
136
- if (typeof p.amount === 'number') {
137
- const buffer = Buffer.allocUnsafe(8);
138
- buffer.writeBigInt64LE(BigInt(p.amount), 0);
139
- return {
140
- ...p,
141
- amount: buffer.toString('hex')
142
- };
143
- }
144
- return {
145
- ...p,
146
- amount: p.amount
147
- };
148
- }) ?? [];
149
- this.params = {
125
+ const paymentRequests = payload.paymentRequests?.map(p => encodePaymentRequestAmount(p, PAYMENT_REQUEST_AMOUNT_BYTES.DEFAULT)) ?? [];
126
+ const params = {
150
127
  inputs,
151
128
  outputs,
152
129
  paymentRequests,
153
130
  refTxs,
154
131
  addresses: payload.account ? payload.account.addresses : undefined,
155
- options: {
132
+ options: enhanceSignTx({
156
133
  lock_time: payload.locktime,
157
134
  timestamp: payload.timestamp,
158
135
  version: payload.version,
@@ -160,53 +137,62 @@ class SignTransaction extends AbstractMethod_1.AbstractMethod {
160
137
  overwintered: payload.overwintered,
161
138
  version_group_id: payload.versionGroupId,
162
139
  branch_id: payload.branchId,
163
- decred_staking_ticket: payload.decredStakingTicket,
164
140
  amount_unit: payload.amountUnit,
165
141
  serialize: payload.serialize,
166
142
  coinjoin_request: payload.coinjoinRequest,
167
143
  chunkify: typeof payload.chunkify === 'boolean' ? payload.chunkify : false
168
- },
144
+ }, coinInfo),
169
145
  coinInfo,
170
146
  identity: payload.identity,
171
147
  push: typeof payload.push === 'boolean' ? payload.push : false,
172
148
  unlockPath: payload.unlockPath
173
149
  };
174
- this.params.options = (0, bitcoin_1.enhanceSignTx)(this.params.options, coinInfo);
150
+ super(message, params);
151
+ this.requiredFirmwareCoins = [coinInfo];
152
+ this.preauthorized = payload.preauthorized;
153
+ }
154
+ get requiredPermissions() {
155
+ const permissions = [this.coinPerm('sign', this.params.coinInfo)];
175
156
  if (this.params.push) {
176
- this.requiredPermissions.push('push_tx');
157
+ permissions.push(this.coinPerm('push_tx', this.params.coinInfo));
177
158
  }
159
+ return permissions;
178
160
  }
179
161
  get info() {
180
- const coinInfo = (0, coinInfo_1.getBitcoinNetwork)(this.payload.coin);
181
- return (0, pathUtils_1.getLabel)('Sign #NETWORK transaction', coinInfo);
162
+ return getLabel('Sign #NETWORK transaction', this.params.coinInfo);
182
163
  }
183
- async payloadToPrecomposed() {
164
+ payloadToPrecomposed() {
184
165
  try {
185
166
  const {
186
167
  inputs,
187
168
  outputs,
188
169
  coinInfo
189
170
  } = this.params;
190
- const refTxs = this.params.refTxs ?? (await this.fetchRefTxs(false));
171
+ const {
172
+ refTxs
173
+ } = this.params;
191
174
  const inputsTotal = inputs.reduce((bn, input) => {
192
175
  if (typeof input.amount === 'string') {
193
176
  return bn.plus(input.amount);
194
177
  } else {
178
+ if (!refTxs) {
179
+ throw ERRORS.TypedError('Runtime', 'refTxs are required for precomposed transaction info when input amount is not provided');
180
+ }
195
181
  const refTx = refTxs.find(tx => tx.hash === input.prev_hash);
196
182
  const refOutput = refTx?.outputs?.[input.prev_index] ?? refTx?.bin_outputs?.[input.prev_index];
197
183
  if (refOutput) return bn.plus(refOutput.amount);
198
184
  }
199
185
  return bn;
200
- }, new bigNumber_1.BigNumber(0));
201
- const outputsTotal = outputs.reduce((bn, output) => bn.plus(typeof output.amount === 'string' ? output.amount : '0'), new bigNumber_1.BigNumber(0));
202
- const bytes = (0, transactionBytes_1.getTransactionVbytes)(inputs, outputs, coinInfo);
203
- if (!bytes) throw constants_1.ERRORS.TypedError('Runtime', 'Transaction bytes not calculated');
186
+ }, new BigNumber(0));
187
+ const outputsTotal = outputs.reduce((bn, output) => bn.plus(typeof output.amount === 'string' ? output.amount : '0'), new BigNumber(0));
188
+ const bytes = getTransactionVbytes(inputs, outputs, coinInfo);
189
+ if (!bytes) throw ERRORS.TypedError('Runtime', 'Transaction bytes not calculated');
204
190
  const fee = inputsTotal.minus(outputsTotal);
205
191
  if (fee.lte(0)) {
206
- throw constants_1.ERRORS.TypedError('Runtime', 'Computed fee is non-positive');
192
+ throw ERRORS.TypedError('Runtime', 'Computed fee is non-positive');
207
193
  }
208
194
  const feePerByte = fee.dividedBy(bytes);
209
- return {
195
+ const result = {
210
196
  type: 'final',
211
197
  inputs,
212
198
  outputs,
@@ -218,22 +204,23 @@ class SignTransaction extends AbstractMethod_1.AbstractMethod {
218
204
  feePerByte: feePerByte.toString(),
219
205
  bytes
220
206
  };
207
+ return Promise.resolve(result);
221
208
  } catch (e) {
222
209
  console.error('Error in payloadToPrecomposed', e);
223
- return undefined;
210
+ return Promise.resolve(undefined);
224
211
  }
225
212
  }
226
213
  async fetchAddresses(blockchain) {
214
+ const device = this.getDevice();
227
215
  const {
228
- device,
229
216
  params: {
230
217
  inputs,
231
218
  coinInfo
232
219
  }
233
220
  } = this;
234
221
  const accountPath = inputs.find(i => i.address_n);
235
- if (!accountPath || !accountPath.address_n) {
236
- throw constants_1.ERRORS.TypedError('Runtime', 'Account not found');
222
+ if (!accountPath?.address_n) {
223
+ throw ERRORS.TypedError('Runtime', 'Account not found');
237
224
  }
238
225
  const address_n = accountPath.address_n.slice(0, 3);
239
226
  const node = await device.getCommands().getHDNode({
@@ -247,7 +234,7 @@ class SignTransaction extends AbstractMethod_1.AbstractMethod {
247
234
  });
248
235
  return account.addresses;
249
236
  }
250
- async fetchRefTxs(useLegacySignProcess) {
237
+ async fetchRefTxs(sendCoreMessage, useLegacySignProcess) {
251
238
  const {
252
239
  params: {
253
240
  inputs,
@@ -258,28 +245,27 @@ class SignTransaction extends AbstractMethod_1.AbstractMethod {
258
245
  addresses
259
246
  }
260
247
  } = this;
261
- const requiredRefTxs = (0, bitcoin_1.requireReferencedTransactions)(inputs, options, coinInfo);
262
- const refTxsIds = requiredRefTxs ? (0, bitcoin_1.getReferencedTransactions)(inputs) : [];
263
- const origTxsIds = !useLegacySignProcess ? (0, bitcoin_1.getOrigTransactions)(inputs, outputs) : [];
248
+ const requiredRefTxs = requireReferencedTransactions(inputs, options, coinInfo);
249
+ const refTxsIds = requiredRefTxs ? getReferencedTransactions(inputs) : [];
250
+ const origTxsIds = !useLegacySignProcess ? getOrigTransactions(inputs, outputs) : [];
264
251
  if (!refTxsIds.length && !origTxsIds.length) {
265
252
  return [];
266
253
  }
267
- (0, BlockchainLink_1.isBackendSupported)(coinInfo);
268
- const blockchain = await (0, BlockchainLink_1.initBlockchain)(coinInfo, this.postMessage, identity);
269
- const refTxs = !refTxsIds.length ? [] : await blockchain.getTransactionHexes(refTxsIds).then((0, bitcoin_1.parseTransactionHexes)(coinInfo.network)).then(rawTxs => {
270
- (0, bitcoin_1.enhanceTrezorInputs)(this.params.inputs, rawTxs);
271
- return (0, bitcoin_1.transformReferencedTransactions)(rawTxs);
272
- });
273
- const origTxs = !origTxsIds.length ? [] : await blockchain.getTransactionHexes(origTxsIds).then((0, bitcoin_1.parseTransactionHexes)(coinInfo.network)).then(async rawOrigTxs => {
254
+ assertBackendSupported(coinInfo);
255
+ const blockchain = await initBlockchain(coinInfo, sendCoreMessage, identity);
256
+ const refTxs = !refTxsIds.length ? [] : await blockchain.getTransactionHexes(refTxsIds).then(parseTransactionHexes(coinInfo.network)).then(rawTxs => transformReferencedTransactions(rawTxs));
257
+ const origTxs = !origTxsIds.length ? [] : await blockchain.getTransactionHexes(origTxsIds).then(parseTransactionHexes(coinInfo.network)).then(async rawOrigTxs => {
274
258
  const accountAddresses = addresses ?? (await this.fetchAddresses(blockchain));
275
259
  if (!accountAddresses) return [];
276
- return (0, bitcoin_1.transformOrigTransactions)(rawOrigTxs, coinInfo, inputs, accountAddresses);
260
+ return transformOrigTransactions(rawOrigTxs, coinInfo, inputs, accountAddresses);
277
261
  });
278
262
  return refTxs.concat(origTxs);
279
263
  }
280
- async run() {
264
+ async run({
265
+ sendCoreMessage
266
+ }) {
267
+ const device = this.getDevice();
281
268
  const {
282
- device,
283
269
  params
284
270
  } = this;
285
271
  const {
@@ -288,7 +274,7 @@ class SignTransaction extends AbstractMethod_1.AbstractMethod {
288
274
  coinInfo
289
275
  } = params;
290
276
  const useLegacySignProcess = !!device.unavailableCapabilities.replaceTransaction;
291
- const refTxs = params.refTxs ?? (await this.fetchRefTxs(useLegacySignProcess));
277
+ const refTxs = params.refTxs ?? (await this.fetchRefTxs(sendCoreMessage, useLegacySignProcess));
292
278
  let outputScripts = [];
293
279
  if (params.options.serialize !== false) {
294
280
  const getHDNode = address_n => device.getCommands().getHDNode({
@@ -297,44 +283,43 @@ class SignTransaction extends AbstractMethod_1.AbstractMethod {
297
283
  coinInfo,
298
284
  unlockPath: params.unlockPath
299
285
  });
300
- outputScripts = await (0, promiseAllSequence_1.promiseAllSequence)(outputs.map(output => () => (0, bitcoin_1.deriveOutputScript)(getHDNode, output, coinInfo.network)));
286
+ outputScripts = await promiseAllSequence(outputs.map(output => () => deriveOutputScript(getHDNode, output, coinInfo.network)));
301
287
  }
302
288
  if (this.preauthorized) {
303
289
  await device.getCommands().preauthorize(true);
304
290
  } else if (params.unlockPath) {
305
291
  await device.getCommands().unlockPath(params.unlockPath);
306
292
  }
307
- const signTxMethod = !useLegacySignProcess ? bitcoin_1.signTx : bitcoin_1.signTxLegacy;
293
+ const signTxMethod = !useLegacySignProcess ? signTx : signTxLegacy;
294
+ device.startPiggybackAck();
308
295
  const response = await signTxMethod({
309
296
  ...params,
310
297
  refTxs,
311
298
  typedCall: device.getCommands().typedCall
312
299
  });
300
+ await device.stopPiggybackAck();
313
301
  if (!response.serializedTx) {
314
302
  return response;
315
303
  }
316
- let bitcoinTx;
317
- if (params.options.decred_staking_ticket) {} else {
318
- bitcoinTx = (0, bitcoin_1.verifyTx)(response.serializedTx, {
319
- inputs,
320
- outputs,
321
- outputScripts,
322
- network: coinInfo.network
323
- });
324
- if (bitcoinTx.hasWitnesses()) {
325
- response.witnesses = bitcoinTx.ins.map((_, i) => bitcoinTx?.getWitness(i)?.toString('hex'));
326
- }
304
+ const bitcoinTx = verifyTx(response.serializedTx, {
305
+ inputs,
306
+ outputs,
307
+ outputScripts,
308
+ network: coinInfo.network
309
+ });
310
+ if (bitcoinTx.hasWitnesses()) {
311
+ response.witnesses = bitcoinTx.ins.map((_, i) => bitcoinTx?.getWitness(i)?.toString('hex'));
327
312
  }
328
313
  if (bitcoinTx && params.addresses) {
329
- response.signedTransaction = (0, bitcoin_1.createPendingTransaction)(bitcoinTx, {
314
+ response.signedTransaction = createPendingTransaction(bitcoinTx, {
330
315
  addresses: params.addresses,
331
316
  inputs,
332
317
  outputs
333
318
  });
334
319
  }
335
320
  if (params.push) {
336
- (0, BlockchainLink_1.isBackendSupported)(coinInfo);
337
- const blockchain = await (0, BlockchainLink_1.initBlockchain)(coinInfo, this.postMessage, params.identity);
321
+ assertBackendSupported(coinInfo);
322
+ const blockchain = await initBlockchain(coinInfo, sendCoreMessage, params.identity);
338
323
  const txid = await blockchain.pushTransaction(response.serializedTx);
339
324
  return {
340
325
  ...response,
@@ -343,6 +328,4 @@ class SignTransaction extends AbstractMethod_1.AbstractMethod {
343
328
  }
344
329
  return response;
345
330
  }
346
- }
347
- exports.default = SignTransaction;
348
- //# sourceMappingURL=signTransaction.js.map
331
+ }
@@ -1,5 +1,4 @@
1
- export { default as solanaComposeTransaction } from './solanaComposeTransaction';
2
- export { default as solanaGetAddress } from './solanaGetAddress';
3
- export { default as solanaGetPublicKey } from './solanaGetPublicKey';
4
- export { default as solanaSignTransaction } from './solanaSignTransaction';
5
- //# sourceMappingURL=index.d.ts.map
1
+ export { default as solanaComposeTransaction } from "./solanaComposeTransaction.js";
2
+ export { default as solanaGetAddress } from "./solanaGetAddress.js";
3
+ export { default as solanaGetPublicKey } from "./solanaGetPublicKey.js";
4
+ export { default as solanaSignTransaction } from "./solanaSignTransaction.js";
@@ -1,36 +1,4 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.solanaSignTransaction = exports.solanaGetPublicKey = exports.solanaGetAddress = exports.solanaComposeTransaction = void 0;
7
- const tslib_1 = require("tslib");
8
- var solanaComposeTransaction_1 = require("./solanaComposeTransaction");
9
- Object.defineProperty(exports, "solanaComposeTransaction", {
10
- enumerable: true,
11
- get: function () {
12
- return tslib_1.__importDefault(solanaComposeTransaction_1).default;
13
- }
14
- });
15
- var solanaGetAddress_1 = require("./solanaGetAddress");
16
- Object.defineProperty(exports, "solanaGetAddress", {
17
- enumerable: true,
18
- get: function () {
19
- return tslib_1.__importDefault(solanaGetAddress_1).default;
20
- }
21
- });
22
- var solanaGetPublicKey_1 = require("./solanaGetPublicKey");
23
- Object.defineProperty(exports, "solanaGetPublicKey", {
24
- enumerable: true,
25
- get: function () {
26
- return tslib_1.__importDefault(solanaGetPublicKey_1).default;
27
- }
28
- });
29
- var solanaSignTransaction_1 = require("./solanaSignTransaction");
30
- Object.defineProperty(exports, "solanaSignTransaction", {
31
- enumerable: true,
32
- get: function () {
33
- return tslib_1.__importDefault(solanaSignTransaction_1).default;
34
- }
35
- });
36
- //# sourceMappingURL=index.js.map
1
+ export { default as solanaComposeTransaction } from "./solanaComposeTransaction.js";
2
+ export { default as solanaGetAddress } from "./solanaGetAddress.js";
3
+ export { default as solanaGetPublicKey } from "./solanaGetPublicKey.js";
4
+ export { default as solanaSignTransaction } from "./solanaSignTransaction.js";
@@ -1,30 +1,33 @@
1
- import { AbstractMethod } from '../../../core/AbstractMethod';
2
- import { CoinInfo } from '../../../types';
3
- import { SolanaComposeTransaction as SolanaComposeTransactionSchema } from '../../../types/api/solana';
1
+ import type { CoinInfo, PermissionRequest } from '@trezor/connect-common';
2
+ import { SolanaComposeTransaction as SolanaComposeTransactionSchema } from '@trezor/connect-common';
3
+ import type { MethodContext, MethodMessage } from "../../../core/AbstractMethod.js";
4
+ import { AbstractMethod } from "../../../core/AbstractMethod.js";
4
5
  type SolanaComposeTransactionParams = SolanaComposeTransactionSchema & {
5
- coinInfo: CoinInfo;
6
+ coinInfo: CoinInfo;
6
7
  };
7
8
  export default class SolanaComposeTransaction extends AbstractMethod<'solanaComposeTransaction', SolanaComposeTransactionParams> {
8
- init(): void;
9
- get info(): string;
10
- run(): Promise<{
11
- serializedTx: string;
12
- additionalInfo: {
13
- newAccountProgramName?: undefined;
14
- tokenAccountInfo?: undefined;
15
- };
16
- } | {
17
- serializedTx: string;
18
- additionalInfo: {
19
- newAccountProgramName: "spl-token" | "spl-token-2022" | undefined;
20
- tokenAccountInfo: {
21
- baseAddress: string;
22
- tokenProgram: string;
23
- tokenMint: string;
24
- tokenAccount: string;
25
- } | undefined;
26
- };
27
- }>;
9
+ constructor(message: MethodMessage<'solanaComposeTransaction'>);
10
+ get requiredPermissions(): PermissionRequest[];
11
+ get info(): string;
12
+ run({
13
+ sendCoreMessage
14
+ }: MethodContext): Promise<{
15
+ serializedTx: string;
16
+ additionalInfo: {
17
+ newAccountProgramName?: undefined;
18
+ tokenAccountInfo?: undefined;
19
+ };
20
+ } | {
21
+ serializedTx: string;
22
+ additionalInfo: {
23
+ newAccountProgramName: "spl-token" | "spl-token-2022" | undefined;
24
+ tokenAccountInfo: {
25
+ baseAddress: string;
26
+ tokenProgram: string;
27
+ tokenMint: string;
28
+ tokenAccount: string;
29
+ } | undefined;
30
+ };
31
+ }>;
28
32
  }
29
- export {};
30
- //# sourceMappingURL=solanaComposeTransaction.d.ts.map
33
+ export {};
@@ -1,39 +1,37 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- const solana_1 = require("@trezor/blockchain-link-utils/lib/solana");
7
- const schema_utils_1 = require("@trezor/schema-utils");
8
- const BlockchainLink_1 = require("../../../backend/BlockchainLink");
9
- const constants_1 = require("../../../constants");
10
- const AbstractMethod_1 = require("../../../core/AbstractMethod");
11
- const coinInfo_1 = require("../../../data/coinInfo");
12
- const solana_2 = require("../../../types/api/solana");
13
- const solanaUtils_1 = require("../solanaUtils");
14
- class SolanaComposeTransaction extends AbstractMethod_1.AbstractMethod {
15
- init() {
16
- this.useDevice = false;
17
- this.useUi = false;
1
+ import { SolanaComposeTransaction as SolanaComposeTransactionSchema } from "@trezor/connect-common";
2
+ import { ERRORS } from "@trezor/connect-common/lib/constants/index.js";
3
+ import { SYSTEM_PROGRAM_PUBLIC_KEY } from "@trezor/network-solana/constants";
4
+ import solana from "@trezor/network-solana/runtime";
5
+ import { Assert } from "@trezor/schema-utils";
6
+ import { assertBackendSupported, initBlockchain } from "../../../backend/BlockchainLink.js";
7
+ import { AbstractMethod } from "../../../core/AbstractMethod.js";
8
+ import { getCoinInfoOrThrow } from "../../../data/coinInfo.js";
9
+ export default class SolanaComposeTransaction extends AbstractMethod {
10
+ constructor(message) {
18
11
  const {
19
12
  payload
20
- } = this;
21
- (0, schema_utils_1.Assert)(solana_2.SolanaComposeTransaction, payload);
22
- const coinInfo = (0, coinInfo_1.getCoinInfo)(payload.coin || 'sol');
23
- if (!coinInfo) {
24
- throw constants_1.ERRORS.TypedError('Method_UnknownCoin');
25
- }
26
- (0, BlockchainLink_1.isBackendSupported)(coinInfo);
27
- this.params = {
13
+ } = message;
14
+ Assert(SolanaComposeTransactionSchema, payload);
15
+ const coinInfo = getCoinInfoOrThrow(payload.coin || 'sol');
16
+ assertBackendSupported(coinInfo);
17
+ const params = {
28
18
  coinInfo,
29
19
  ...payload
30
20
  };
21
+ super(message, params);
22
+ this.useDevice = false;
23
+ this.useUi = false;
24
+ }
25
+ get requiredPermissions() {
26
+ return [];
31
27
  }
32
28
  get info() {
33
29
  return 'Compose Solana transaction';
34
30
  }
35
- async run() {
36
- const backend = await (0, BlockchainLink_1.initBlockchain)(this.params.coinInfo, this.postMessage, this.params.identity);
31
+ async run({
32
+ sendCoreMessage
33
+ }) {
34
+ const backend = await initBlockchain(this.params.coinInfo, sendCoreMessage, this.params.identity);
37
35
  if (this.params.serializedTx) {
38
36
  return {
39
37
  serializedTx: this.params.serializedTx,
@@ -41,13 +39,28 @@ class SolanaComposeTransaction extends AbstractMethod_1.AbstractMethod {
41
39
  };
42
40
  }
43
41
  if (!this.params.toAddress) {
44
- throw constants_1.ERRORS.TypedError('Method_InvalidParameter', 'toAddress not found');
42
+ throw ERRORS.TypedError('Method_InvalidParameter', 'toAddress not found');
45
43
  }
46
- const [recipientAccountOwner, recipientTokenAccounts] = this.params.token ? await (0, solanaUtils_1.fetchAccountOwnerAndTokenInfoForAddress)(backend, this.params.toAddress, this.params.token.mint, this.params.token.program) : [undefined, undefined];
47
- const tokenTransferTxAndDestinationAddress = this.params.token && this.params.token.accounts ? await (0, solanaUtils_1.buildTokenTransferTransaction)(this.params.fromAddress, this.params.toAddress, recipientAccountOwner || solana_1.SYSTEM_PROGRAM_PUBLIC_KEY, this.params.token.mint, this.params.amount || '0', this.params.token.decimals, this.params.token.accounts, recipientTokenAccounts, this.params.blockHash, this.params.lastValidBlockHeight, this.params.priorityFees || solanaUtils_1.dummyPriorityFeesForFeeEstimation, this.params.token.program) : undefined;
48
- if (this.params.token && !tokenTransferTxAndDestinationAddress) throw constants_1.ERRORS.TypedError('Method_InvalidParameter', 'Token accounts not found');
49
- const tx = tokenTransferTxAndDestinationAddress ? tokenTransferTxAndDestinationAddress.transaction : await (0, solanaUtils_1.buildTransferTransaction)(this.params.fromAddress, this.params.toAddress, this.params.amount, this.params.blockHash, this.params.lastValidBlockHeight, this.params.priorityFees || solanaUtils_1.dummyPriorityFeesForFeeEstimation);
50
- const isCreatingAccount = this.params.token && recipientTokenAccounts === undefined && (recipientAccountOwner === solana_1.SYSTEM_PROGRAM_PUBLIC_KEY || recipientAccountOwner == null);
44
+ const {
45
+ getAssociatedTokenAccountAddress,
46
+ buildTokenTransferTransaction,
47
+ buildTransferTransaction
48
+ } = await solana();
49
+ const {
50
+ token,
51
+ toAddress
52
+ } = this.params;
53
+ const [recipientAccountOwner, recipientTokenAccounts] = token ? await backend.getAccountInfo({
54
+ descriptor: toAddress
55
+ }).then(accountInfo => !accountInfo ? [undefined, undefined] : getAssociatedTokenAccountAddress(toAddress, token.mint, token.program).then(associatedTokenAccount => {
56
+ const accountOwner = accountInfo?.misc?.owner;
57
+ const tokenInfo = accountInfo?.tokens?.find(t => t.contract === token.mint)?.accounts?.find(account => associatedTokenAccount.toString() === account.publicKey);
58
+ return [accountOwner, tokenInfo];
59
+ })) : [undefined, undefined];
60
+ const tokenTransferTxAndDestinationAddress = this.params.token?.accounts ? await buildTokenTransferTransaction(this.params.fromAddress, this.params.toAddress, recipientAccountOwner || SYSTEM_PROGRAM_PUBLIC_KEY, this.params.token.mint, this.params.amount || '0', this.params.token.decimals, this.params.token.accounts, recipientTokenAccounts, this.params.blockHash, this.params.lastValidBlockHeight, this.params.priorityFees, this.params.token.program, this.params.memo) : undefined;
61
+ if (this.params.token && !tokenTransferTxAndDestinationAddress) throw ERRORS.TypedError('Method_InvalidParameter', 'Token accounts not found');
62
+ const tx = tokenTransferTxAndDestinationAddress ? tokenTransferTxAndDestinationAddress.transaction : buildTransferTransaction(this.params.fromAddress, this.params.toAddress, this.params.amount, this.params.blockHash, this.params.lastValidBlockHeight, this.params.priorityFees, this.params.memo);
63
+ const isCreatingAccount = this.params.token && recipientTokenAccounts === undefined && (recipientAccountOwner === SYSTEM_PROGRAM_PUBLIC_KEY || recipientAccountOwner == null);
51
64
  const newAccountProgramName = isCreatingAccount ? this.params.token?.program : undefined;
52
65
  return {
53
66
  serializedTx: tx.serialize(),
@@ -57,6 +70,4 @@ class SolanaComposeTransaction extends AbstractMethod_1.AbstractMethod {
57
70
  }
58
71
  };
59
72
  }
60
- }
61
- exports.default = SolanaComposeTransaction;
62
- //# sourceMappingURL=solanaComposeTransaction.js.map
73
+ }
@@ -1,27 +1,17 @@
1
- import { PROTO } from '../../../constants';
2
- import { AbstractMethod } from '../../../core/AbstractMethod';
3
- type Params = PROTO.SolanaGetAddress & {
4
- address?: string;
5
- };
6
- export default class SolanaGetAddress extends AbstractMethod<'solanaGetAddress', Params[]> {
7
- hasBundle?: boolean;
8
- progress: number;
9
- init(): void;
10
- get info(): "Export Solana address" | "Export multiple Solana addresses";
11
- getButtonRequestData(code: string): {
12
- type: "address";
13
- serializedPath: string;
14
- address: string;
15
- } | undefined;
16
- get confirmation(): {
17
- view: "export-address";
18
- label: string;
19
- };
20
- _call({ address_n, show_display, chunkify }: Params): Promise<{
21
- mac?: string | undefined;
22
- address: string;
23
- }>;
24
- run(): Promise<import("../../../types").Address | import("../../../types").Address[]>;
25
- }
26
- export {};
27
- //# sourceMappingURL=solanaGetAddress.d.ts.map
1
+ import type { MethodMessage } from "../../../core/AbstractMethod.js";
2
+ import { AbstractMiscGetAddress } from "../../common/AbstractMiscGetAddress.js";
3
+ import type { MiscGetAddressParams } from "../../common/AbstractMiscGetAddress.js";
4
+ export default class SolanaGetAddress extends AbstractMiscGetAddress<'solanaGetAddress'> {
5
+ constructor(message: MethodMessage<'solanaGetAddress'>);
6
+ get info(): string;
7
+ get confirmation(): {
8
+ view: "export-address";
9
+ label: string;
10
+ };
11
+ _call({
12
+ proto
13
+ }: MiscGetAddressParams): Promise<{
14
+ mac?: string | undefined;
15
+ address: string;
16
+ }>;
17
+ }