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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (432) hide show
  1. package/CHANGELOG.md +159 -63
  2. package/README.md +5 -3
  3. package/lib/exports.d.ts +1 -0
  4. package/lib/exports.js +1 -0
  5. package/lib/impl/core-in-module-native.d.ts +7 -0
  6. package/lib/impl/core-in-module-native.js +11 -0
  7. package/lib/impl/core-in-module-node.d.ts +8 -0
  8. package/lib/impl/core-in-module-node.js +12 -0
  9. package/lib/impl/core-in-module-web.d.ts +9 -0
  10. package/lib/impl/core-in-module-web.js +26 -0
  11. package/lib/index.browser.d.ts +7 -0
  12. package/lib/index.browser.js +10 -0
  13. package/lib/index.d.ts +4 -0
  14. package/lib/index.js +5 -0
  15. package/lib/index.native.d.ts +4 -0
  16. package/lib/index.native.js +5 -0
  17. package/package.json +30 -83
  18. package/libESM/api/applyFlags.d.mts +0 -20
  19. package/libESM/api/applyFlags.mjs +0 -36
  20. package/libESM/api/applySettings.d.mts +0 -20
  21. package/libESM/api/applySettings.mjs +0 -55
  22. package/libESM/api/authenticateDevice.d.mts +0 -9
  23. package/libESM/api/authenticateDevice.mjs +0 -108
  24. package/libESM/api/authorizeCoinjoin.d.mts +0 -11
  25. package/libESM/api/authorizeCoinjoin.mjs +0 -44
  26. package/libESM/api/backupDevice.d.mts +0 -19
  27. package/libESM/api/backupDevice.mjs +0 -36
  28. package/libESM/api/bitcoin/TransactionComposer.d.mts +0 -46
  29. package/libESM/api/bitcoin/TransactionComposer.mjs +0 -139
  30. package/libESM/api/bitcoin/createPendingTx.d.mts +0 -33
  31. package/libESM/api/bitcoin/createPendingTx.mjs +0 -54
  32. package/libESM/api/bitcoin/enhanceSignTx.d.mts +0 -2
  33. package/libESM/api/bitcoin/enhanceSignTx.mjs +0 -23
  34. package/libESM/api/bitcoin/index.d.mts +0 -9
  35. package/libESM/api/bitcoin/index.mjs +0 -9
  36. package/libESM/api/bitcoin/inputs.d.mts +0 -6
  37. package/libESM/api/bitcoin/inputs.mjs +0 -75
  38. package/libESM/api/bitcoin/outputs.d.mts +0 -5
  39. package/libESM/api/bitcoin/outputs.mjs +0 -128
  40. package/libESM/api/bitcoin/refTx.d.mts +0 -17
  41. package/libESM/api/bitcoin/refTx.mjs +0 -252
  42. package/libESM/api/bitcoin/signtx.d.mts +0 -22
  43. package/libESM/api/bitcoin/signtx.mjs +0 -213
  44. package/libESM/api/bitcoin/signtxLegacy.d.mts +0 -3
  45. package/libESM/api/bitcoin/signtxLegacy.mjs +0 -179
  46. package/libESM/api/bitcoin/signtxVerify.d.mts +0 -12
  47. package/libESM/api/bitcoin/signtxVerify.mjs +0 -86
  48. package/libESM/api/bitcoin/transactionBytes.d.mts +0 -3
  49. package/libESM/api/bitcoin/transactionBytes.mjs +0 -65
  50. package/libESM/api/bleUnpair.d.mts +0 -11
  51. package/libESM/api/bleUnpair.mjs +0 -35
  52. package/libESM/api/blockchainDisconnect.d.mts +0 -16
  53. package/libESM/api/blockchainDisconnect.mjs +0 -39
  54. package/libESM/api/blockchainEstimateFee.d.mts +0 -14
  55. package/libESM/api/blockchainEstimateFee.mjs +0 -106
  56. package/libESM/api/blockchainEvmRpcCall.d.mts +0 -17
  57. package/libESM/api/blockchainEvmRpcCall.mjs +0 -61
  58. package/libESM/api/blockchainGetAccountBalanceHistory.d.mts +0 -14
  59. package/libESM/api/blockchainGetAccountBalanceHistory.mjs +0 -64
  60. package/libESM/api/blockchainGetContractInfo.d.mts +0 -14
  61. package/libESM/api/blockchainGetContractInfo.mjs +0 -50
  62. package/libESM/api/blockchainGetCurrentFiatRates.d.mts +0 -18
  63. package/libESM/api/blockchainGetCurrentFiatRates.mjs +0 -53
  64. package/libESM/api/blockchainGetFiatRatesForTimestamps.d.mts +0 -21
  65. package/libESM/api/blockchainGetFiatRatesForTimestamps.mjs +0 -59
  66. package/libESM/api/blockchainGetInfo.d.mts +0 -13
  67. package/libESM/api/blockchainGetInfo.mjs +0 -41
  68. package/libESM/api/blockchainGetTransactions.d.mts +0 -15
  69. package/libESM/api/blockchainGetTransactions.mjs +0 -47
  70. package/libESM/api/blockchainSetCustomBackend.d.mts +0 -13
  71. package/libESM/api/blockchainSetCustomBackend.mjs +0 -41
  72. package/libESM/api/blockchainSubscribe.d.mts +0 -17
  73. package/libESM/api/blockchainSubscribe.mjs +0 -68
  74. package/libESM/api/blockchainSubscribeFiatRates.d.mts +0 -17
  75. package/libESM/api/blockchainSubscribeFiatRates.mjs +0 -47
  76. package/libESM/api/blockchainUnsubscribe.d.mts +0 -17
  77. package/libESM/api/blockchainUnsubscribe.mjs +0 -68
  78. package/libESM/api/blockchainUnsubscribeFiatRates.d.mts +0 -15
  79. package/libESM/api/blockchainUnsubscribeFiatRates.mjs +0 -41
  80. package/libESM/api/blockchainValidateEvmRpcUrl.d.mts +0 -17
  81. package/libESM/api/blockchainValidateEvmRpcUrl.mjs +0 -54
  82. package/libESM/api/cancelCoinjoinAuthorization.d.mts +0 -11
  83. package/libESM/api/cancelCoinjoinAuthorization.mjs +0 -31
  84. package/libESM/api/cardano/api/cardanoComposeTransaction.d.mts +0 -10
  85. package/libESM/api/cardano/api/cardanoComposeTransaction.mjs +0 -79
  86. package/libESM/api/cardano/api/cardanoGetAddress.d.mts +0 -30
  87. package/libESM/api/cardano/api/cardanoGetAddress.mjs +0 -116
  88. package/libESM/api/cardano/api/cardanoGetNativeScriptHash.d.mts +0 -12
  89. package/libESM/api/cardano/api/cardanoGetNativeScriptHash.mjs +0 -66
  90. package/libESM/api/cardano/api/cardanoGetPublicKey.d.mts +0 -20
  91. package/libESM/api/cardano/api/cardanoGetPublicKey.mjs +0 -72
  92. package/libESM/api/cardano/api/cardanoSignMessage.d.mts +0 -27
  93. package/libESM/api/cardano/api/cardanoSignMessage.mjs +0 -96
  94. package/libESM/api/cardano/api/cardanoSignTransaction.d.mts +0 -81
  95. package/libESM/api/cardano/api/cardanoSignTransaction.mjs +0 -298
  96. package/libESM/api/cardano/api/index.d.mts +0 -6
  97. package/libESM/api/cardano/api/index.mjs +0 -6
  98. package/libESM/api/cardano/cardanoAddressParameters.d.mts +0 -6
  99. package/libESM/api/cardano/cardanoAddressParameters.mjs +0 -79
  100. package/libESM/api/cardano/cardanoAuxiliaryData.d.mts +0 -4
  101. package/libESM/api/cardano/cardanoAuxiliaryData.mjs +0 -74
  102. package/libESM/api/cardano/cardanoCertificate.d.mts +0 -13
  103. package/libESM/api/cardano/cardanoCertificate.mjs +0 -142
  104. package/libESM/api/cardano/cardanoInputs.d.mts +0 -25
  105. package/libESM/api/cardano/cardanoInputs.mjs +0 -39
  106. package/libESM/api/cardano/cardanoOutputs.d.mts +0 -40
  107. package/libESM/api/cardano/cardanoOutputs.mjs +0 -70
  108. package/libESM/api/cardano/cardanoTokenBundle.d.mts +0 -12
  109. package/libESM/api/cardano/cardanoTokenBundle.mjs +0 -21
  110. package/libESM/api/cardano/cardanoUtils.d.mts +0 -9
  111. package/libESM/api/cardano/cardanoUtils.mjs +0 -101
  112. package/libESM/api/cardano/cardanoWitnesses.d.mts +0 -4
  113. package/libESM/api/cardano/cardanoWitnesses.mjs +0 -47
  114. package/libESM/api/changeLanguage.d.mts +0 -18
  115. package/libESM/api/changeLanguage.mjs +0 -47
  116. package/libESM/api/changePin.d.mts +0 -11
  117. package/libESM/api/changePin.mjs +0 -25
  118. package/libESM/api/changeWipeCode.d.mts +0 -11
  119. package/libESM/api/changeWipeCode.mjs +0 -27
  120. package/libESM/api/cipherKeyValue.d.mts +0 -15
  121. package/libESM/api/cipherKeyValue.mjs +0 -51
  122. package/libESM/api/common/AbstractMiscGetAddress.d.mts +0 -35
  123. package/libESM/api/common/AbstractMiscGetAddress.mjs +0 -102
  124. package/libESM/api/common/Discovery.d.mts +0 -33
  125. package/libESM/api/common/Discovery.mjs +0 -116
  126. package/libESM/api/common/paramsValidator.d.mts +0 -23
  127. package/libESM/api/common/paramsValidator.mjs +0 -134
  128. package/libESM/api/common/requestExistingAccounts.d.mts +0 -9
  129. package/libESM/api/common/requestExistingAccounts.mjs +0 -20
  130. package/libESM/api/composeTransaction.d.mts +0 -36
  131. package/libESM/api/composeTransaction.mjs +0 -386
  132. package/libESM/api/discoverAccounts.d.mts +0 -38
  133. package/libESM/api/discoverAccounts.mjs +0 -363
  134. package/libESM/api/ethereum/api/ethereumGetAddress.d.mts +0 -28
  135. package/libESM/api/ethereum/api/ethereumGetAddress.mjs +0 -135
  136. package/libESM/api/ethereum/api/ethereumGetPublicKey.d.mts +0 -48
  137. package/libESM/api/ethereum/api/ethereumGetPublicKey.mjs +0 -90
  138. package/libESM/api/ethereum/api/ethereumSignMessage.d.mts +0 -27
  139. package/libESM/api/ethereum/api/ethereumSignMessage.mjs +0 -64
  140. package/libESM/api/ethereum/api/ethereumSignTransaction.d.mts +0 -83
  141. package/libESM/api/ethereum/api/ethereumSignTransaction.mjs +0 -148
  142. package/libESM/api/ethereum/api/ethereumSignTypedData.d.mts +0 -116
  143. package/libESM/api/ethereum/api/ethereumSignTypedData.mjs +0 -202
  144. package/libESM/api/ethereum/api/ethereumVerifyMessage.d.mts +0 -12
  145. package/libESM/api/ethereum/api/ethereumVerifyMessage.mjs +0 -33
  146. package/libESM/api/ethereum/api/index.d.mts +0 -6
  147. package/libESM/api/ethereum/api/index.mjs +0 -6
  148. package/libESM/api/ethereum/ethereumDefinitions.d.mts +0 -46
  149. package/libESM/api/ethereum/ethereumDefinitions.mjs +0 -103
  150. package/libESM/api/ethereum/ethereumSignTx.d.mts +0 -20
  151. package/libESM/api/ethereum/ethereumSignTx.mjs +0 -131
  152. package/libESM/api/ethereum/ethereumSignTypedData.d.mts +0 -32
  153. package/libESM/api/ethereum/ethereumSignTypedData.mjs +0 -169
  154. package/libESM/api/evoluGetDelegatedIdentityKey.d.mts +0 -14
  155. package/libESM/api/evoluGetDelegatedIdentityKey.mjs +0 -26
  156. package/libESM/api/evoluGetNode.d.mts +0 -13
  157. package/libESM/api/evoluGetNode.mjs +0 -27
  158. package/libESM/api/evoluSignRegistrationRequest.d.mts +0 -15
  159. package/libESM/api/evoluSignRegistrationRequest.mjs +0 -31
  160. package/libESM/api/firmware/calculateFirmwareHash.d.mts +0 -13
  161. package/libESM/api/firmware/calculateFirmwareHash.mjs +0 -56
  162. package/libESM/api/firmware/calculateXPubHash.d.mts +0 -10
  163. package/libESM/api/firmware/calculateXPubHash.mjs +0 -14
  164. package/libESM/api/firmware/getBinary.d.mts +0 -10
  165. package/libESM/api/firmware/getBinary.mjs +0 -33
  166. package/libESM/api/firmware/index.d.mts +0 -6
  167. package/libESM/api/firmware/index.mjs +0 -6
  168. package/libESM/api/firmware/modifyFirmware.d.mts +0 -3
  169. package/libESM/api/firmware/modifyFirmware.mjs +0 -13
  170. package/libESM/api/firmware/parseFirmwareHeaders.d.mts +0 -4
  171. package/libESM/api/firmware/parseFirmwareHeaders.mjs +0 -26
  172. package/libESM/api/firmware/uploadFirmware.d.mts +0 -19
  173. package/libESM/api/firmware/uploadFirmware.mjs +0 -99
  174. package/libESM/api/firmware/verifyEntropy.d.mts +0 -18
  175. package/libESM/api/firmware/verifyEntropy.mjs +0 -107
  176. package/libESM/api/getAccountInfo.d.mts +0 -94
  177. package/libESM/api/getAccountInfo.mjs +0 -385
  178. package/libESM/api/getAddress.d.mts +0 -39
  179. package/libESM/api/getAddress.mjs +0 -142
  180. package/libESM/api/getCoinInfo.d.mts +0 -148
  181. package/libESM/api/getCoinInfo.mjs +0 -29
  182. package/libESM/api/getDeviceState.d.mts +0 -8
  183. package/libESM/api/getDeviceState.mjs +0 -16
  184. package/libESM/api/getFeatures.d.mts +0 -70
  185. package/libESM/api/getFeatures.mjs +0 -20
  186. package/libESM/api/getFirmwareHash.d.mts +0 -11
  187. package/libESM/api/getFirmwareHash.mjs +0 -27
  188. package/libESM/api/getNonce.d.mts +0 -10
  189. package/libESM/api/getNonce.mjs +0 -16
  190. package/libESM/api/getOwnershipId.d.mts +0 -15
  191. package/libESM/api/getOwnershipId.mjs +0 -79
  192. package/libESM/api/getOwnershipProof.d.mts +0 -15
  193. package/libESM/api/getOwnershipProof.mjs +0 -86
  194. package/libESM/api/getPublicKey.d.mts +0 -50
  195. package/libESM/api/getPublicKey.mjs +0 -88
  196. package/libESM/api/getSettings.d.mts +0 -8
  197. package/libESM/api/getSettings.mjs +0 -15
  198. package/libESM/api/index.d.mts +0 -59
  199. package/libESM/api/index.mjs +0 -59
  200. package/libESM/api/loadDevice.d.mts +0 -16
  201. package/libESM/api/loadDevice.mjs +0 -44
  202. package/libESM/api/monero/api/index.d.mts +0 -4
  203. package/libESM/api/monero/api/index.mjs +0 -4
  204. package/libESM/api/monero/api/moneroGetAddress.d.mts +0 -30
  205. package/libESM/api/monero/api/moneroGetAddress.mjs +0 -109
  206. package/libESM/api/monero/api/moneroGetWatchKey.d.mts +0 -14
  207. package/libESM/api/monero/api/moneroGetWatchKey.mjs +0 -44
  208. package/libESM/api/monero/api/moneroKeyImageSync.d.mts +0 -17
  209. package/libESM/api/monero/api/moneroKeyImageSync.mjs +0 -127
  210. package/libESM/api/monero/api/moneroSignTransaction.d.mts +0 -17
  211. package/libESM/api/monero/api/moneroSignTransaction.mjs +0 -202
  212. package/libESM/api/pingDevice.d.mts +0 -11
  213. package/libESM/api/pingDevice.mjs +0 -27
  214. package/libESM/api/pushTransaction.d.mts +0 -17
  215. package/libESM/api/pushTransaction.mjs +0 -42
  216. package/libESM/api/recoveryDevice.d.mts +0 -20
  217. package/libESM/api/recoveryDevice.mjs +0 -50
  218. package/libESM/api/requestLogin.d.mts +0 -14
  219. package/libESM/api/requestLogin.mjs +0 -48
  220. package/libESM/api/resetDevice.d.mts +0 -22
  221. package/libESM/api/resetDevice.mjs +0 -131
  222. package/libESM/api/ripple/api/index.d.mts +0 -2
  223. package/libESM/api/ripple/api/index.mjs +0 -2
  224. package/libESM/api/ripple/api/rippleGetAddress.d.mts +0 -15
  225. package/libESM/api/ripple/api/rippleGetAddress.mjs +0 -22
  226. package/libESM/api/ripple/api/rippleSignTransaction.d.mts +0 -13
  227. package/libESM/api/ripple/api/rippleSignTransaction.mjs +0 -52
  228. package/libESM/api/setBrightness.d.mts +0 -12
  229. package/libESM/api/setBrightness.mjs +0 -26
  230. package/libESM/api/setBusy.d.mts +0 -11
  231. package/libESM/api/setBusy.mjs +0 -32
  232. package/libESM/api/showDeviceTutorial.d.mts +0 -11
  233. package/libESM/api/showDeviceTutorial.mjs +0 -21
  234. package/libESM/api/signMessage.d.mts +0 -25
  235. package/libESM/api/signMessage.mjs +0 -71
  236. package/libESM/api/signTransaction.d.mts +0 -197
  237. package/libESM/api/signTransaction.mjs +0 -334
  238. package/libESM/api/solana/api/index.d.mts +0 -4
  239. package/libESM/api/solana/api/index.mjs +0 -4
  240. package/libESM/api/solana/api/solanaComposeTransaction.d.mts +0 -31
  241. package/libESM/api/solana/api/solanaComposeTransaction.mjs +0 -76
  242. package/libESM/api/solana/api/solanaGetAddress.d.mts +0 -15
  243. package/libESM/api/solana/api/solanaGetAddress.mjs +0 -22
  244. package/libESM/api/solana/api/solanaGetPublicKey.d.mts +0 -28
  245. package/libESM/api/solana/api/solanaGetPublicKey.mjs +0 -67
  246. package/libESM/api/solana/api/solanaSignTransaction.d.mts +0 -41
  247. package/libESM/api/solana/api/solanaSignTransaction.mjs +0 -203
  248. package/libESM/api/solana/solanaDefinitions.d.mts +0 -7
  249. package/libESM/api/solana/solanaDefinitions.mjs +0 -33
  250. package/libESM/api/stellar/api/index.d.mts +0 -2
  251. package/libESM/api/stellar/api/index.mjs +0 -2
  252. package/libESM/api/stellar/api/stellarGetAddress.d.mts +0 -15
  253. package/libESM/api/stellar/api/stellarGetAddress.mjs +0 -22
  254. package/libESM/api/stellar/api/stellarSignTransaction.d.mts +0 -26
  255. package/libESM/api/stellar/api/stellarSignTransaction.mjs +0 -66
  256. package/libESM/api/stellar/stellarSignTx.d.mts +0 -7
  257. package/libESM/api/stellar/stellarSignTx.mjs +0 -191
  258. package/libESM/api/telemetryGet.d.mts +0 -14
  259. package/libESM/api/telemetryGet.mjs +0 -24
  260. package/libESM/api/tezos/api/index.d.mts +0 -3
  261. package/libESM/api/tezos/api/index.mjs +0 -3
  262. package/libESM/api/tezos/api/tezosGetAddress.d.mts +0 -15
  263. package/libESM/api/tezos/api/tezosGetAddress.mjs +0 -22
  264. package/libESM/api/tezos/api/tezosGetPublicKey.d.mts +0 -24
  265. package/libESM/api/tezos/api/tezosGetPublicKey.mjs +0 -66
  266. package/libESM/api/tezos/api/tezosSignTransaction.d.mts +0 -14
  267. package/libESM/api/tezos/api/tezosSignTransaction.mjs +0 -30
  268. package/libESM/api/tezos/tezosSignTx.d.mts +0 -71
  269. package/libESM/api/tezos/tezosSignTx.mjs +0 -204
  270. package/libESM/api/thpGetCredentials.d.mts +0 -13
  271. package/libESM/api/thpGetCredentials.mjs +0 -28
  272. package/libESM/api/thpRemoveCredentials.d.mts +0 -15
  273. package/libESM/api/thpRemoveCredentials.mjs +0 -42
  274. package/libESM/api/tron/api/index.d.mts +0 -3
  275. package/libESM/api/tron/api/index.mjs +0 -3
  276. package/libESM/api/tron/api/tronComposeTransaction.d.mts +0 -17
  277. package/libESM/api/tron/api/tronComposeTransaction.mjs +0 -51
  278. package/libESM/api/tron/api/tronGetAddress.d.mts +0 -15
  279. package/libESM/api/tron/api/tronGetAddress.mjs +0 -20
  280. package/libESM/api/tron/api/tronSignTransaction.d.mts +0 -19
  281. package/libESM/api/tron/api/tronSignTransaction.mjs +0 -129
  282. package/libESM/api/tron/tronEncode.d.mts +0 -12
  283. package/libESM/api/tron/tronEncode.mjs +0 -77
  284. package/libESM/api/tron/tronProtobuf.d.mts +0 -5
  285. package/libESM/api/tron/tronProtobuf.mjs +0 -28
  286. package/libESM/api/unlockPath.d.mts +0 -12
  287. package/libESM/api/unlockPath.mjs +0 -31
  288. package/libESM/api/verifyMessage.d.mts +0 -16
  289. package/libESM/api/verifyMessage.mjs +0 -46
  290. package/libESM/api/wipeDevice.d.mts +0 -21
  291. package/libESM/api/wipeDevice.mjs +0 -47
  292. package/libESM/backend/BackendManager.d.mts +0 -24
  293. package/libESM/backend/BackendManager.mjs +0 -137
  294. package/libESM/backend/Blockchain.d.mts +0 -81
  295. package/libESM/backend/Blockchain.mjs +0 -232
  296. package/libESM/backend/BlockchainLink.d.mts +0 -9
  297. package/libESM/backend/BlockchainLink.mjs +0 -13
  298. package/libESM/backend/fees/BitcoinFeeLevels.d.mts +0 -19
  299. package/libESM/backend/fees/BitcoinFeeLevels.mjs +0 -43
  300. package/libESM/backend/fees/EthereumFeeLevels.d.mts +0 -17
  301. package/libESM/backend/fees/EthereumFeeLevels.mjs +0 -52
  302. package/libESM/backend/fees/MiscFeeLevels.d.mts +0 -18
  303. package/libESM/backend/fees/MiscFeeLevels.mjs +0 -25
  304. package/libESM/backend/fees/index.d.mts +0 -5
  305. package/libESM/backend/fees/index.mjs +0 -30
  306. package/libESM/core/AbstractMethod.d.mts +0 -65
  307. package/libESM/core/AbstractMethod.mjs +0 -153
  308. package/libESM/core/index.d.mts +0 -27
  309. package/libESM/core/index.mjs +0 -795
  310. package/libESM/core/method.d.mts +0 -3
  311. package/libESM/core/method.mjs +0 -19
  312. package/libESM/core/method.native.d.mts +0 -2
  313. package/libESM/core/method.native.mjs +0 -29
  314. package/libESM/core/onCallFirmwareUpdate.d.mts +0 -39
  315. package/libESM/core/onCallFirmwareUpdate.mjs +0 -436
  316. package/libESM/data/coinInfo.d.mts +0 -374
  317. package/libESM/data/coinInfo.mjs +0 -183
  318. package/libESM/data/config.d.mts +0 -8
  319. package/libESM/data/config.mjs +0 -265
  320. package/libESM/data/defaultFeeLevels.d.mts +0 -18
  321. package/libESM/data/defaultFeeLevels.mjs +0 -174
  322. package/libESM/data/firmwareInfo.d.mts +0 -41
  323. package/libESM/data/firmwareInfo.mjs +0 -411
  324. package/libESM/data/firmwareReleaseStore.d.mts +0 -10
  325. package/libESM/data/firmwareReleaseStore.mjs +0 -16
  326. package/libESM/data/localFirmwareStore.d.mts +0 -3
  327. package/libESM/data/localFirmwareStore.mjs +0 -8
  328. package/libESM/data/protobufLoader.d.mts +0 -1
  329. package/libESM/data/protobufLoader.mjs +0 -29
  330. package/libESM/data/settingsStore.d.mts +0 -6
  331. package/libESM/data/settingsStore.mjs +0 -21
  332. package/libESM/device/Device.d.mts +0 -237
  333. package/libESM/device/Device.mjs +0 -729
  334. package/libESM/device/DeviceCommands.d.mts +0 -77
  335. package/libESM/device/DeviceCommands.mjs +0 -245
  336. package/libESM/device/DeviceCurrentSession.d.mts +0 -3208
  337. package/libESM/device/DeviceCurrentSession.mjs +0 -240
  338. package/libESM/device/DeviceList.d.mts +0 -68
  339. package/libESM/device/DeviceList.mjs +0 -246
  340. package/libESM/device/TransportList.d.mts +0 -9
  341. package/libESM/device/TransportList.mjs +0 -41
  342. package/libESM/device/TransportManager.d.mts +0 -30
  343. package/libESM/device/TransportManager.mjs +0 -142
  344. package/libESM/device/calculateRevisionForDevice.d.mts +0 -7
  345. package/libESM/device/calculateRevisionForDevice.mjs +0 -19
  346. package/libESM/device/checkFirmwareRevision.d.mts +0 -12
  347. package/libESM/device/checkFirmwareRevision.mjs +0 -75
  348. package/libESM/device/resolveDescriptorForTaproot.d.mts +0 -14
  349. package/libESM/device/resolveDescriptorForTaproot.mjs +0 -25
  350. package/libESM/device/thp/handshake.d.mts +0 -3
  351. package/libESM/device/thp/handshake.mjs +0 -100
  352. package/libESM/device/thp/index.d.mts +0 -5
  353. package/libESM/device/thp/index.mjs +0 -65
  354. package/libESM/device/thp/pairing.d.mts +0 -16
  355. package/libESM/device/thp/pairing.mjs +0 -237
  356. package/libESM/device/thp/session.d.mts +0 -2
  357. package/libESM/device/thp/session.mjs +0 -27
  358. package/libESM/device/thp/thpCall.d.mts +0 -40
  359. package/libESM/device/thp/thpCall.mjs +0 -58
  360. package/libESM/device/validateMessageSize.d.mts +0 -2
  361. package/libESM/device/validateMessageSize.mjs +0 -9
  362. package/libESM/device/workflow/changeLanguage.d.mts +0 -14
  363. package/libESM/device/workflow/changeLanguage.mjs +0 -59
  364. package/libESM/device/workflow/checkFirmwareHash.d.mts +0 -9
  365. package/libESM/device/workflow/checkFirmwareHash.mjs +0 -86
  366. package/libESM/device/workflow/checkFirmwareHashWithRetries.d.mts +0 -8
  367. package/libESM/device/workflow/checkFirmwareHashWithRetries.mjs +0 -36
  368. package/libESM/device/workflow/handshake.d.mts +0 -9
  369. package/libESM/device/workflow/handshake.mjs +0 -55
  370. package/libESM/device/workflow/trezorPushNotification.d.mts +0 -2
  371. package/libESM/device/workflow/trezorPushNotification.mjs +0 -73
  372. package/libESM/device/workflow/validateState.d.mts +0 -2
  373. package/libESM/device/workflow/validateState.mjs +0 -153
  374. package/libESM/events/ui-promise.d.mts +0 -22
  375. package/libESM/events/ui-promise.mjs +0 -1
  376. package/libESM/exports.d.mts +0 -3
  377. package/libESM/exports.mjs +0 -3
  378. package/libESM/impl/core-in-module.d.mts +0 -27
  379. package/libESM/impl/core-in-module.mjs +0 -173
  380. package/libESM/index.browser.d.mts +0 -9
  381. package/libESM/index.browser.mjs +0 -50
  382. package/libESM/index.d.mts +0 -6
  383. package/libESM/index.mjs +0 -32
  384. package/libESM/index.renderer.d.mts +0 -6
  385. package/libESM/index.renderer.mjs +0 -19
  386. package/libESM/tsconfig.libESM.tsbuildinfo +0 -1
  387. package/libESM/types/idevice.d.mts +0 -109
  388. package/libESM/types/idevice.mjs +0 -1
  389. package/libESM/types/typed-call-provider.d.mts +0 -29
  390. package/libESM/types/typed-call-provider.mjs +0 -1
  391. package/libESM/types/workflow.d.mts +0 -16
  392. package/libESM/types/workflow.mjs +0 -1
  393. package/libESM/utils/accountUtils.d.mts +0 -10
  394. package/libESM/utils/accountUtils.mjs +0 -83
  395. package/libESM/utils/addressUtils.d.mts +0 -2
  396. package/libESM/utils/addressUtils.mjs +0 -24
  397. package/libESM/utils/assetUtils.d.mts +0 -13
  398. package/libESM/utils/assetUtils.mjs +0 -56
  399. package/libESM/utils/assets.browser.d.mts +0 -1
  400. package/libESM/utils/assets.browser.mjs +0 -1
  401. package/libESM/utils/assets.d.mts +0 -2
  402. package/libESM/utils/assets.mjs +0 -13
  403. package/libESM/utils/assets.native.d.mts +0 -2
  404. package/libESM/utils/assets.native.mjs +0 -23
  405. package/libESM/utils/assetsTypes.d.mts +0 -5
  406. package/libESM/utils/assetsTypes.mjs +0 -1
  407. package/libESM/utils/buildOutputDescriptor.d.mts +0 -12
  408. package/libESM/utils/buildOutputDescriptor.mjs +0 -67
  409. package/libESM/utils/deviceFeaturesUtils.d.mts +0 -7
  410. package/libESM/utils/deviceFeaturesUtils.mjs +0 -109
  411. package/libESM/utils/ethereumUtils.d.mts +0 -3
  412. package/libESM/utils/ethereumUtils.mjs +0 -7
  413. package/libESM/utils/firmwareReleaseConfigUtils.d.mts +0 -19
  414. package/libESM/utils/firmwareReleaseConfigUtils.mjs +0 -131
  415. package/libESM/utils/firmwareUtils.d.mts +0 -13
  416. package/libESM/utils/firmwareUtils.mjs +0 -54
  417. package/libESM/utils/formatUtils.d.mts +0 -15
  418. package/libESM/utils/formatUtils.mjs +0 -45
  419. package/libESM/utils/hdnodeUtils.d.mts +0 -6
  420. package/libESM/utils/hdnodeUtils.mjs +0 -62
  421. package/libESM/utils/pathUtils.d.mts +0 -17
  422. package/libESM/utils/pathUtils.mjs +0 -141
  423. package/libESM/utils/paymentRequest.d.mts +0 -8
  424. package/libESM/utils/paymentRequest.mjs +0 -25
  425. package/libESM/utils/uiPromiseManager.d.mts +0 -8
  426. package/libESM/utils/uiPromiseManager.mjs +0 -51
  427. package/libESM/workers/workers.browser.d.mts +0 -10
  428. package/libESM/workers/workers.browser.mjs +0 -16
  429. package/libESM/workers/workers.d.mts +0 -10
  430. package/libESM/workers/workers.mjs +0 -8
  431. package/libESM/workers/workers.native.d.mts +0 -7
  432. package/libESM/workers/workers.native.mjs +0 -7
@@ -1,334 +0,0 @@
1
- import { ERRORS } from "@trezor/connect-common/libESM/constants/index.mjs";
2
- import { BigNumber } from "@trezor/utils/libESM/bigNumber.mjs";
3
- import { promiseAllSequence } from "@trezor/utils/libESM/promiseAllSequence.mjs";
4
- import { createPendingTransaction, deriveOutputScript, enhanceSignTx, enhanceTrezorInputs, getOrigTransactions, getReferencedTransactions, parseTransactionHexes, requireReferencedTransactions, signTx, signTxLegacy, transformOrigTransactions, transformReferencedTransactions, validateReferencedTransactions, validateTrezorInputs, validateTrezorOutputs, verifyTx } from "./bitcoin/index.mjs";
5
- import { initBlockchain, isBackendSupported } from "../backend/BlockchainLink.mjs";
6
- import { AbstractMethod } from "../core/AbstractMethod.mjs";
7
- import { getBitcoinNetwork } from "../data/coinInfo.mjs";
8
- import { getLabel } from "../utils/pathUtils.mjs";
9
- import { PAYMENT_REQUEST_AMOUNT_BYTES, encodePaymentRequestAmount } from "../utils/paymentRequest.mjs";
10
- import { getTransactionVbytes } from "./bitcoin/transactionBytes.mjs";
11
- import { validateParams } from "./common/paramsValidator.mjs";
12
- export default class SignTransaction extends AbstractMethod {
13
- constructor(message) {
14
- const {
15
- payload
16
- } = message;
17
- validateParams(payload, [{
18
- name: 'coin',
19
- type: 'string',
20
- required: true
21
- }, {
22
- name: 'identity',
23
- type: 'string'
24
- }, {
25
- name: 'inputs',
26
- type: 'array',
27
- required: true
28
- }, {
29
- name: 'outputs',
30
- type: 'array',
31
- required: true
32
- }, {
33
- name: 'paymentRequests',
34
- type: 'array',
35
- allowEmpty: true
36
- }, {
37
- name: 'coinjoinRequest',
38
- type: 'object'
39
- }, {
40
- name: 'refTxs',
41
- type: 'array',
42
- allowEmpty: true
43
- }, {
44
- name: 'account',
45
- type: 'object'
46
- }, {
47
- name: 'locktime',
48
- type: 'number'
49
- }, {
50
- name: 'timestamp',
51
- type: 'number'
52
- }, {
53
- name: 'version',
54
- type: 'number'
55
- }, {
56
- name: 'expiry',
57
- type: 'number'
58
- }, {
59
- name: 'overwintered',
60
- type: 'boolean'
61
- }, {
62
- name: 'versionGroupId',
63
- type: 'number'
64
- }, {
65
- name: 'branchId',
66
- type: 'number'
67
- }, {
68
- name: 'push',
69
- type: 'boolean'
70
- }, {
71
- name: 'preauthorized',
72
- type: 'boolean'
73
- }, {
74
- name: 'amountUnit',
75
- type: ['number', 'string']
76
- }, {
77
- name: 'unlockPath',
78
- type: 'object'
79
- }, {
80
- name: 'serialize',
81
- type: 'boolean'
82
- }, {
83
- name: 'chunkify',
84
- type: 'boolean'
85
- }]);
86
- if (payload.unlockPath) {
87
- validateParams(payload.unlockPath, [{
88
- name: 'address_n',
89
- required: true,
90
- type: 'array'
91
- }, {
92
- name: 'mac',
93
- required: true,
94
- type: 'string'
95
- }]);
96
- }
97
- const coinInfo = getBitcoinNetwork(payload.coin);
98
- if (!coinInfo) {
99
- throw ERRORS.TypedError('Method_UnknownCoin');
100
- }
101
- const inputs = validateTrezorInputs(payload.inputs, coinInfo);
102
- const outputs = validateTrezorOutputs(payload.outputs, coinInfo);
103
- if (payload.paymentRequests && payload.paymentRequests.length > 0) {
104
- outputs.forEach(output => {
105
- output.payment_req_index = 0;
106
- });
107
- }
108
- if (payload.refTxs && payload.account?.transactions) {
109
- console.warn('two sources of referential transactions were passed. payload.refTxs have precedence');
110
- }
111
- const refTxs = validateReferencedTransactions({
112
- transactions: payload.refTxs || payload.account?.transactions,
113
- inputs,
114
- outputs,
115
- coinInfo,
116
- addresses: payload.account?.addresses
117
- });
118
- const outputsWithAmount = outputs.filter(output => typeof output.amount === 'string' && !Object.prototype.hasOwnProperty.call(output, 'op_return_data'));
119
- if (outputsWithAmount.length > 0) {
120
- const total = outputsWithAmount.reduce((bn, output) => bn.plus(typeof output.amount === 'string' ? output.amount : '0'), new BigNumber(0));
121
- if (total.lt(coinInfo.dustLimit)) {
122
- throw ERRORS.TypedError('Method_InvalidParameter', 'Total amount is below dust limit.');
123
- }
124
- }
125
- const paymentRequests = payload.paymentRequests?.map(p => encodePaymentRequestAmount(p, PAYMENT_REQUEST_AMOUNT_BYTES.DEFAULT)) ?? [];
126
- const params = {
127
- inputs,
128
- outputs,
129
- paymentRequests,
130
- refTxs,
131
- addresses: payload.account ? payload.account.addresses : undefined,
132
- options: enhanceSignTx({
133
- lock_time: payload.locktime,
134
- timestamp: payload.timestamp,
135
- version: payload.version,
136
- expiry: payload.expiry,
137
- overwintered: payload.overwintered,
138
- version_group_id: payload.versionGroupId,
139
- branch_id: payload.branchId,
140
- amount_unit: payload.amountUnit,
141
- serialize: payload.serialize,
142
- coinjoin_request: payload.coinjoinRequest,
143
- chunkify: typeof payload.chunkify === 'boolean' ? payload.chunkify : false
144
- }, coinInfo),
145
- coinInfo,
146
- identity: payload.identity,
147
- push: typeof payload.push === 'boolean' ? payload.push : false,
148
- unlockPath: payload.unlockPath
149
- };
150
- super(message, params);
151
- this.requiredFirmwareCoins = [coinInfo];
152
- this.preauthorized = payload.preauthorized;
153
- }
154
- get requiredPermissions() {
155
- const permissions = ['read', 'write'];
156
- if (this.params.push) {
157
- permissions.push('push_tx');
158
- }
159
- return permissions;
160
- }
161
- get info() {
162
- return getLabel('Sign #NETWORK transaction', this.params.coinInfo);
163
- }
164
- payloadToPrecomposed() {
165
- try {
166
- const {
167
- inputs,
168
- outputs,
169
- coinInfo
170
- } = this.params;
171
- const {
172
- refTxs
173
- } = this.params;
174
- const inputsTotal = inputs.reduce((bn, input) => {
175
- if (typeof input.amount === 'string') {
176
- return bn.plus(input.amount);
177
- } else {
178
- if (!refTxs) {
179
- throw ERRORS.TypedError('Runtime', 'refTxs are required for precomposed transaction info when input amount is not provided');
180
- }
181
- const refTx = refTxs.find(tx => tx.hash === input.prev_hash);
182
- const refOutput = refTx?.outputs?.[input.prev_index] ?? refTx?.bin_outputs?.[input.prev_index];
183
- if (refOutput) return bn.plus(refOutput.amount);
184
- }
185
- return bn;
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');
190
- const fee = inputsTotal.minus(outputsTotal);
191
- if (fee.lte(0)) {
192
- throw ERRORS.TypedError('Runtime', 'Computed fee is non-positive');
193
- }
194
- const feePerByte = fee.dividedBy(bytes);
195
- const result = {
196
- type: 'final',
197
- inputs,
198
- outputs,
199
- outputsPermutation: Array.from({
200
- length: outputs.length
201
- }, (_, i) => i),
202
- totalSpent: inputsTotal.toString(),
203
- fee: fee.toString(),
204
- feePerByte: feePerByte.toString(),
205
- bytes
206
- };
207
- return Promise.resolve(result);
208
- } catch (e) {
209
- console.error('Error in payloadToPrecomposed', e);
210
- return Promise.resolve(undefined);
211
- }
212
- }
213
- async fetchAddresses(blockchain) {
214
- const device = this.getDevice();
215
- const {
216
- params: {
217
- inputs,
218
- coinInfo
219
- }
220
- } = this;
221
- const accountPath = inputs.find(i => i.address_n);
222
- if (!accountPath || !accountPath.address_n) {
223
- throw ERRORS.TypedError('Runtime', 'Account not found');
224
- }
225
- const address_n = accountPath.address_n.slice(0, 3);
226
- const node = await device.getCommands().getHDNode({
227
- address_n
228
- }, {
229
- coinInfo
230
- });
231
- const account = await blockchain.getAccountInfo({
232
- descriptor: node.xpubSegwit || node.xpub,
233
- details: 'tokens'
234
- });
235
- return account.addresses;
236
- }
237
- async fetchRefTxs(sendCoreMessage, useLegacySignProcess) {
238
- const {
239
- params: {
240
- inputs,
241
- outputs,
242
- options,
243
- coinInfo,
244
- identity,
245
- addresses
246
- }
247
- } = this;
248
- const requiredRefTxs = requireReferencedTransactions(inputs, options, coinInfo);
249
- const refTxsIds = requiredRefTxs ? getReferencedTransactions(inputs) : [];
250
- const origTxsIds = !useLegacySignProcess ? getOrigTransactions(inputs, outputs) : [];
251
- if (!refTxsIds.length && !origTxsIds.length) {
252
- return [];
253
- }
254
- isBackendSupported(coinInfo);
255
- const blockchain = await initBlockchain(coinInfo, sendCoreMessage, identity);
256
- const refTxs = !refTxsIds.length ? [] : await blockchain.getTransactionHexes(refTxsIds).then(parseTransactionHexes(coinInfo.network)).then(rawTxs => {
257
- enhanceTrezorInputs(this.params.inputs, rawTxs);
258
- return transformReferencedTransactions(rawTxs);
259
- });
260
- const origTxs = !origTxsIds.length ? [] : await blockchain.getTransactionHexes(origTxsIds).then(parseTransactionHexes(coinInfo.network)).then(async rawOrigTxs => {
261
- const accountAddresses = addresses ?? (await this.fetchAddresses(blockchain));
262
- if (!accountAddresses) return [];
263
- return transformOrigTransactions(rawOrigTxs, coinInfo, inputs, accountAddresses);
264
- });
265
- return refTxs.concat(origTxs);
266
- }
267
- async run({
268
- sendCoreMessage
269
- }) {
270
- const device = this.getDevice();
271
- const {
272
- params
273
- } = this;
274
- const {
275
- inputs,
276
- outputs,
277
- coinInfo
278
- } = params;
279
- const useLegacySignProcess = !!device.unavailableCapabilities.replaceTransaction;
280
- const refTxs = params.refTxs ?? (await this.fetchRefTxs(sendCoreMessage, useLegacySignProcess));
281
- let outputScripts = [];
282
- if (params.options.serialize !== false) {
283
- const getHDNode = address_n => device.getCommands().getHDNode({
284
- address_n
285
- }, {
286
- coinInfo,
287
- unlockPath: params.unlockPath
288
- });
289
- outputScripts = await promiseAllSequence(outputs.map(output => () => deriveOutputScript(getHDNode, output, coinInfo.network)));
290
- }
291
- if (this.preauthorized) {
292
- await device.getCommands().preauthorize(true);
293
- } else if (params.unlockPath) {
294
- await device.getCommands().unlockPath(params.unlockPath);
295
- }
296
- const signTxMethod = !useLegacySignProcess ? signTx : signTxLegacy;
297
- device.startPiggybackAck();
298
- const response = await signTxMethod({
299
- ...params,
300
- refTxs,
301
- typedCall: device.getCommands().typedCall
302
- });
303
- await device.stopPiggybackAck();
304
- if (!response.serializedTx) {
305
- return response;
306
- }
307
- const bitcoinTx = verifyTx(response.serializedTx, {
308
- inputs,
309
- outputs,
310
- outputScripts,
311
- network: coinInfo.network
312
- });
313
- if (bitcoinTx.hasWitnesses()) {
314
- response.witnesses = bitcoinTx.ins.map((_, i) => bitcoinTx?.getWitness(i)?.toString('hex'));
315
- }
316
- if (bitcoinTx && params.addresses) {
317
- response.signedTransaction = createPendingTransaction(bitcoinTx, {
318
- addresses: params.addresses,
319
- inputs,
320
- outputs
321
- });
322
- }
323
- if (params.push) {
324
- isBackendSupported(coinInfo);
325
- const blockchain = await initBlockchain(coinInfo, sendCoreMessage, params.identity);
326
- const txid = await blockchain.pushTransaction(response.serializedTx);
327
- return {
328
- ...response,
329
- txid
330
- };
331
- }
332
- return response;
333
- }
334
- }
@@ -1,4 +0,0 @@
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';
@@ -1,4 +0,0 @@
1
- export { default as solanaComposeTransaction } from "./solanaComposeTransaction.mjs";
2
- export { default as solanaGetAddress } from "./solanaGetAddress.mjs";
3
- export { default as solanaGetPublicKey } from "./solanaGetPublicKey.mjs";
4
- export { default as solanaSignTransaction } from "./solanaSignTransaction.mjs";
@@ -1,31 +0,0 @@
1
- import type { CoinInfo, MethodPermission } from '@trezor/connect-common';
2
- import { SolanaComposeTransaction as SolanaComposeTransactionSchema } from '@trezor/connect-common';
3
- import type { MethodContext, MethodMessage } from '../../../core/AbstractMethod';
4
- import { AbstractMethod } from '../../../core/AbstractMethod';
5
- type SolanaComposeTransactionParams = SolanaComposeTransactionSchema & {
6
- coinInfo: CoinInfo;
7
- };
8
- export default class SolanaComposeTransaction extends AbstractMethod<'solanaComposeTransaction', SolanaComposeTransactionParams> {
9
- constructor(message: MethodMessage<'solanaComposeTransaction'>);
10
- get requiredPermissions(): MethodPermission[];
11
- get info(): string;
12
- run({ sendCoreMessage }: MethodContext): Promise<{
13
- serializedTx: string;
14
- additionalInfo: {
15
- newAccountProgramName?: undefined;
16
- tokenAccountInfo?: undefined;
17
- };
18
- } | {
19
- serializedTx: string;
20
- additionalInfo: {
21
- newAccountProgramName: "spl-token" | "spl-token-2022" | undefined;
22
- tokenAccountInfo: {
23
- baseAddress: string;
24
- tokenProgram: string;
25
- tokenMint: string;
26
- tokenAccount: string;
27
- } | undefined;
28
- };
29
- }>;
30
- }
31
- export {};
@@ -1,76 +0,0 @@
1
- import { SYSTEM_PROGRAM_PUBLIC_KEY } from "@trezor/coins-solana/constants";
2
- import solana from "@trezor/coins-solana/runtime";
3
- import { SolanaComposeTransaction as SolanaComposeTransactionSchema } from "@trezor/connect-common";
4
- import { ERRORS } from "@trezor/connect-common/libESM/constants/index.mjs";
5
- import { Assert } from "@trezor/schema-utils";
6
- import { initBlockchain, isBackendSupported } from "../../../backend/BlockchainLink.mjs";
7
- import { AbstractMethod } from "../../../core/AbstractMethod.mjs";
8
- import { getCoinInfo } from "../../../data/coinInfo.mjs";
9
- export default class SolanaComposeTransaction extends AbstractMethod {
10
- constructor(message) {
11
- const {
12
- payload
13
- } = message;
14
- Assert(SolanaComposeTransactionSchema, payload);
15
- const coinInfo = getCoinInfo(payload.coin || 'sol');
16
- if (!coinInfo) {
17
- throw ERRORS.TypedError('Method_UnknownCoin');
18
- }
19
- isBackendSupported(coinInfo);
20
- const params = {
21
- coinInfo,
22
- ...payload
23
- };
24
- super(message, params);
25
- this.useDevice = false;
26
- this.useUi = false;
27
- }
28
- get requiredPermissions() {
29
- return [];
30
- }
31
- get info() {
32
- return 'Compose Solana transaction';
33
- }
34
- async run({
35
- sendCoreMessage
36
- }) {
37
- const backend = await initBlockchain(this.params.coinInfo, sendCoreMessage, this.params.identity);
38
- if (this.params.serializedTx) {
39
- return {
40
- serializedTx: this.params.serializedTx,
41
- additionalInfo: {}
42
- };
43
- }
44
- if (!this.params.toAddress) {
45
- throw ERRORS.TypedError('Method_InvalidParameter', 'toAddress not found');
46
- }
47
- const {
48
- getAssociatedTokenAccountAddress,
49
- buildTokenTransferTransaction,
50
- buildTransferTransaction
51
- } = await solana();
52
- const {
53
- token,
54
- toAddress
55
- } = this.params;
56
- const [recipientAccountOwner, recipientTokenAccounts] = token ? await backend.getAccountInfo({
57
- descriptor: toAddress
58
- }).then(accountInfo => !accountInfo ? [undefined, undefined] : getAssociatedTokenAccountAddress(toAddress, token.mint, token.program).then(associatedTokenAccount => {
59
- const accountOwner = accountInfo?.misc?.owner;
60
- const tokenInfo = accountInfo?.tokens?.find(t => t.contract === token.mint)?.accounts?.find(account => associatedTokenAccount.toString() === account.publicKey);
61
- return [accountOwner, tokenInfo];
62
- })) : [undefined, undefined];
63
- const tokenTransferTxAndDestinationAddress = this.params.token && 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;
64
- if (this.params.token && !tokenTransferTxAndDestinationAddress) throw ERRORS.TypedError('Method_InvalidParameter', 'Token accounts not found');
65
- 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);
66
- const isCreatingAccount = this.params.token && recipientTokenAccounts === undefined && (recipientAccountOwner === SYSTEM_PROGRAM_PUBLIC_KEY || recipientAccountOwner == null);
67
- const newAccountProgramName = isCreatingAccount ? this.params.token?.program : undefined;
68
- return {
69
- serializedTx: tx.serialize(),
70
- additionalInfo: {
71
- newAccountProgramName,
72
- tokenAccountInfo: tokenTransferTxAndDestinationAddress?.tokenAccountInfo
73
- }
74
- };
75
- }
76
- }
@@ -1,15 +0,0 @@
1
- import type { MethodMessage } from '../../../core/AbstractMethod';
2
- import { AbstractMiscGetAddress } from '../../common/AbstractMiscGetAddress';
3
- import type { MiscGetAddressParams } from '../../common/AbstractMiscGetAddress';
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({ proto }: MiscGetAddressParams): Promise<{
12
- mac?: string | undefined;
13
- address: string;
14
- }>;
15
- }
@@ -1,22 +0,0 @@
1
- import { getMiscNetwork } from "../../../data/coinInfo.mjs";
2
- import { AbstractMiscGetAddress } from "../../common/AbstractMiscGetAddress.mjs";
3
- export default class SolanaGetAddress extends AbstractMiscGetAddress {
4
- constructor(message) {
5
- super(message, 2);
6
- this.requiredDeviceCapabilities = ['Capability_Solana'];
7
- this.requiredFirmwareCoins = [getMiscNetwork('Solana')];
8
- }
9
- get info() {
10
- return this.getInfo('Solana', false);
11
- }
12
- get confirmation() {
13
- return this.getConfirmation('Solana');
14
- }
15
- async _call({
16
- proto
17
- }) {
18
- const cmd = this.getDevice().getCommands();
19
- const response = await cmd.typedCall('SolanaGetAddress', 'SolanaAddress', proto);
20
- return response.message;
21
- }
22
- }
@@ -1,28 +0,0 @@
1
- import type { MethodPermission, PROTO } from '@trezor/connect-common';
2
- import type { MethodContext, MethodMessage } from '../../../core/AbstractMethod';
3
- import { AbstractMethod } from '../../../core/AbstractMethod';
4
- export default class SolanaGetPublicKey extends AbstractMethod<'solanaGetPublicKey', PROTO.SolanaGetPublicKey[]> {
5
- hasBundle?: boolean;
6
- constructor(message: MethodMessage<'solanaGetPublicKey'>);
7
- get requiredPermissions(): MethodPermission[];
8
- get info(): string;
9
- get confirmation(): {
10
- view: "export-xpub";
11
- label: string;
12
- };
13
- run({ sendCoreMessage }: MethodContext): Promise<({
14
- publicKey: string;
15
- path: number[];
16
- serializedPath: string;
17
- } & {
18
- publicKey: string;
19
- publicKeyBase58: string;
20
- }) | ({
21
- publicKey: string;
22
- path: number[];
23
- serializedPath: string;
24
- } & {
25
- publicKey: string;
26
- publicKeyBase58: string;
27
- })[]>;
28
- }
@@ -1,67 +0,0 @@
1
- import { base58 } from "@scure/base";
2
- import { Bundle, GetPublicKey as GetPublicKeySchema, UI_REQUEST, createUiMessage } from "@trezor/connect-common";
3
- import { Assert } from "@trezor/schema-utils";
4
- import { AbstractMethod } from "../../../core/AbstractMethod.mjs";
5
- import { getMiscNetwork } from "../../../data/coinInfo.mjs";
6
- import { fromHardened, getSerializedPath, validatePath } from "../../../utils/pathUtils.mjs";
7
- import { bundlify } from "../../common/paramsValidator.mjs";
8
- export default class SolanaGetPublicKey extends AbstractMethod {
9
- hasBundle;
10
- constructor(message) {
11
- const {
12
- hasBundle,
13
- payload
14
- } = bundlify(message.payload);
15
- Assert(Bundle(GetPublicKeySchema), payload);
16
- const params = payload.bundle.map(batch => {
17
- const path = validatePath(batch.path, 2);
18
- return {
19
- address_n: path,
20
- show_display: typeof batch.showOnTrezor === 'boolean' ? batch.showOnTrezor : false
21
- };
22
- });
23
- super(message, params);
24
- this.hasBundle = hasBundle;
25
- this.confirmMissingBackup = true;
26
- this.requiredDeviceCapabilities = ['Capability_Solana'];
27
- this.requiredFirmwareCoins = [getMiscNetwork('Solana')];
28
- }
29
- get requiredPermissions() {
30
- return ['read'];
31
- }
32
- get info() {
33
- return 'Export Solana public key';
34
- }
35
- get confirmation() {
36
- return {
37
- view: 'export-xpub',
38
- label: this.params.length > 1 ? 'Export multiple Solana public keys' : `Export Solana public key for account #${fromHardened(this.params[0].address_n[2]) + 1}`
39
- };
40
- }
41
- async run({
42
- sendCoreMessage
43
- }) {
44
- const responses = [];
45
- const cmd = this.getDevice().getCommands();
46
- for (let i = 0; i < this.params.length; i++) {
47
- const batch = this.params[i];
48
- const {
49
- message
50
- } = await cmd.typedCall('SolanaGetPublicKey', 'SolanaPublicKey', batch);
51
- responses.push({
52
- path: batch.address_n,
53
- serializedPath: getSerializedPath(batch.address_n),
54
- publicKey: message.public_key,
55
- publicKeyBase58: base58.encode(Buffer.from(message.public_key, 'hex'))
56
- });
57
- if (this.hasBundle) {
58
- sendCoreMessage(createUiMessage(UI_REQUEST.BUNDLE_PROGRESS, {
59
- total: this.params.length,
60
- progress: i,
61
- response: message
62
- }));
63
- }
64
- }
65
- return this.hasBundle ? responses : responses[0];
66
- }
67
- }
@@ -1,41 +0,0 @@
1
- import type { MethodPermission, PROTO, TokenInfo } from '@trezor/connect-common';
2
- import type { MethodMessage } from '../../../core/AbstractMethod';
3
- import { AbstractMethod } from '../../../core/AbstractMethod';
4
- type Params = {
5
- proto: PROTO.SolanaSignTx;
6
- serialize: boolean;
7
- symbols?: (string | undefined)[];
8
- };
9
- export default class SolanaSignTransaction extends AbstractMethod<'solanaSignTransaction', Params> {
10
- constructor(message: MethodMessage<'solanaSignTransaction'>);
11
- get requiredPermissions(): MethodPermission[];
12
- initAsync(): Promise<void>;
13
- get info(): string;
14
- payloadToPrecomposed(): Promise<{
15
- type: "final";
16
- inputs: never[];
17
- outputsPermutation: number[];
18
- outputs: {
19
- address: string;
20
- amount: string;
21
- script_type: "PAYTOADDRESS";
22
- }[];
23
- totalSpent: string;
24
- fee: string;
25
- feePerByte: string;
26
- feeLimit: string;
27
- bytes: number;
28
- max: undefined;
29
- isTokenKnown: boolean;
30
- token: TokenInfo | undefined;
31
- createdTimestamp: number | undefined;
32
- } | undefined>;
33
- run(): Promise<{
34
- signature: string;
35
- serializedTx: string;
36
- } | {
37
- signature: string;
38
- serializedTx?: undefined;
39
- }>;
40
- }
41
- export {};