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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (429) hide show
  1. package/CHANGELOG.md +56 -9
  2. package/README.md +4 -2
  3. package/lib/exports.d.ts +1 -3
  4. package/lib/exports.js +1 -3
  5. package/lib/impl/core-in-module-native.d.ts +7 -0
  6. package/lib/impl/core-in-module-native.js +11 -0
  7. package/lib/impl/core-in-module-node.d.ts +8 -0
  8. package/lib/impl/core-in-module-node.js +12 -0
  9. package/lib/impl/core-in-module-web.d.ts +9 -0
  10. package/lib/impl/core-in-module-web.js +26 -0
  11. package/lib/index.browser.js +2 -26
  12. package/lib/index.js +1 -11
  13. package/lib/index.native.d.ts +4 -0
  14. package/lib/index.native.js +5 -0
  15. package/package.json +16 -67
  16. package/lib/api/applyFlags.d.ts +0 -20
  17. package/lib/api/applyFlags.js +0 -38
  18. package/lib/api/applySettings.d.ts +0 -20
  19. package/lib/api/applySettings.js +0 -57
  20. package/lib/api/authenticateDevice.d.ts +0 -25
  21. package/lib/api/authenticateDevice.js +0 -195
  22. package/lib/api/authorizeCoinjoin.d.ts +0 -11
  23. package/lib/api/authorizeCoinjoin.js +0 -44
  24. package/lib/api/backupDevice.d.ts +0 -19
  25. package/lib/api/backupDevice.js +0 -39
  26. package/lib/api/bitcoin/TransactionComposer.d.ts +0 -46
  27. package/lib/api/bitcoin/TransactionComposer.js +0 -147
  28. package/lib/api/bitcoin/createPendingTx.d.ts +0 -37
  29. package/lib/api/bitcoin/createPendingTx.js +0 -55
  30. package/lib/api/bitcoin/enhanceSignTx.d.ts +0 -2
  31. package/lib/api/bitcoin/enhanceSignTx.js +0 -23
  32. package/lib/api/bitcoin/index.d.ts +0 -9
  33. package/lib/api/bitcoin/index.js +0 -9
  34. package/lib/api/bitcoin/inputs.d.ts +0 -4
  35. package/lib/api/bitcoin/inputs.js +0 -63
  36. package/lib/api/bitcoin/outputs.d.ts +0 -5
  37. package/lib/api/bitcoin/outputs.js +0 -128
  38. package/lib/api/bitcoin/refTx.d.ts +0 -23
  39. package/lib/api/bitcoin/refTx.js +0 -249
  40. package/lib/api/bitcoin/signtx.d.ts +0 -30
  41. package/lib/api/bitcoin/signtx.js +0 -229
  42. package/lib/api/bitcoin/signtxLegacy.d.ts +0 -10
  43. package/lib/api/bitcoin/signtxLegacy.js +0 -186
  44. package/lib/api/bitcoin/signtxVerify.d.ts +0 -12
  45. package/lib/api/bitcoin/signtxVerify.js +0 -95
  46. package/lib/api/bitcoin/transactionBytes.d.ts +0 -3
  47. package/lib/api/bitcoin/transactionBytes.js +0 -65
  48. package/lib/api/bleUnpair.d.ts +0 -11
  49. package/lib/api/bleUnpair.js +0 -37
  50. package/lib/api/blockchainDisconnect.d.ts +0 -16
  51. package/lib/api/blockchainDisconnect.js +0 -37
  52. package/lib/api/blockchainEstimateFee.d.ts +0 -16
  53. package/lib/api/blockchainEstimateFee.js +0 -102
  54. package/lib/api/blockchainEvmRpcCall.d.ts +0 -19
  55. package/lib/api/blockchainEvmRpcCall.js +0 -57
  56. package/lib/api/blockchainGetAccountBalanceHistory.d.ts +0 -16
  57. package/lib/api/blockchainGetAccountBalanceHistory.js +0 -60
  58. package/lib/api/blockchainGetContractInfo.d.ts +0 -16
  59. package/lib/api/blockchainGetContractInfo.js +0 -46
  60. package/lib/api/blockchainGetCurrentFiatRates.d.ts +0 -20
  61. package/lib/api/blockchainGetCurrentFiatRates.js +0 -49
  62. package/lib/api/blockchainGetFiatRatesForTimestamps.d.ts +0 -23
  63. package/lib/api/blockchainGetFiatRatesForTimestamps.js +0 -55
  64. package/lib/api/blockchainGetInfo.d.ts +0 -15
  65. package/lib/api/blockchainGetInfo.js +0 -37
  66. package/lib/api/blockchainGetTransactions.d.ts +0 -18
  67. package/lib/api/blockchainGetTransactions.js +0 -47
  68. package/lib/api/blockchainSetCustomBackend.d.ts +0 -17
  69. package/lib/api/blockchainSetCustomBackend.js +0 -43
  70. package/lib/api/blockchainSubscribe.d.ts +0 -19
  71. package/lib/api/blockchainSubscribe.js +0 -66
  72. package/lib/api/blockchainSubscribeFiatRates.d.ts +0 -19
  73. package/lib/api/blockchainSubscribeFiatRates.js +0 -43
  74. package/lib/api/blockchainUnsubscribe.d.ts +0 -19
  75. package/lib/api/blockchainUnsubscribe.js +0 -66
  76. package/lib/api/blockchainUnsubscribeFiatRates.d.ts +0 -17
  77. package/lib/api/blockchainUnsubscribeFiatRates.js +0 -37
  78. package/lib/api/blockchainValidateEvmRpcUrl.d.ts +0 -17
  79. package/lib/api/blockchainValidateEvmRpcUrl.js +0 -54
  80. package/lib/api/cancelCoinjoinAuthorization.d.ts +0 -11
  81. package/lib/api/cancelCoinjoinAuthorization.js +0 -33
  82. package/lib/api/cardano/api/cardanoComposeTransaction.d.ts +0 -10
  83. package/lib/api/cardano/api/cardanoComposeTransaction.js +0 -84
  84. package/lib/api/cardano/api/cardanoGetAddress.d.ts +0 -34
  85. package/lib/api/cardano/api/cardanoGetAddress.js +0 -130
  86. package/lib/api/cardano/api/cardanoGetNativeScriptHash.d.ts +0 -12
  87. package/lib/api/cardano/api/cardanoGetNativeScriptHash.js +0 -66
  88. package/lib/api/cardano/api/cardanoGetPublicKey.d.ts +0 -22
  89. package/lib/api/cardano/api/cardanoGetPublicKey.js +0 -92
  90. package/lib/api/cardano/api/cardanoSignMessage.d.ts +0 -22
  91. package/lib/api/cardano/api/cardanoSignMessage.js +0 -90
  92. package/lib/api/cardano/api/cardanoSignTransaction.d.ts +0 -81
  93. package/lib/api/cardano/api/cardanoSignTransaction.js +0 -301
  94. package/lib/api/cardano/api/index.d.ts +0 -6
  95. package/lib/api/cardano/api/index.js +0 -6
  96. package/lib/api/cardano/cardanoAddressParameters.d.ts +0 -6
  97. package/lib/api/cardano/cardanoAddressParameters.js +0 -79
  98. package/lib/api/cardano/cardanoAuxiliaryData.d.ts +0 -4
  99. package/lib/api/cardano/cardanoAuxiliaryData.js +0 -74
  100. package/lib/api/cardano/cardanoCertificate.d.ts +0 -13
  101. package/lib/api/cardano/cardanoCertificate.js +0 -142
  102. package/lib/api/cardano/cardanoInputs.d.ts +0 -25
  103. package/lib/api/cardano/cardanoInputs.js +0 -39
  104. package/lib/api/cardano/cardanoOutputs.d.ts +0 -40
  105. package/lib/api/cardano/cardanoOutputs.js +0 -70
  106. package/lib/api/cardano/cardanoTokenBundle.d.ts +0 -12
  107. package/lib/api/cardano/cardanoTokenBundle.js +0 -21
  108. package/lib/api/cardano/cardanoUtils.d.ts +0 -17
  109. package/lib/api/cardano/cardanoUtils.js +0 -100
  110. package/lib/api/cardano/cardanoWitnesses.d.ts +0 -4
  111. package/lib/api/cardano/cardanoWitnesses.js +0 -47
  112. package/lib/api/changeLanguage.d.ts +0 -18
  113. package/lib/api/changeLanguage.js +0 -49
  114. package/lib/api/changePin.d.ts +0 -11
  115. package/lib/api/changePin.js +0 -27
  116. package/lib/api/changeWipeCode.d.ts +0 -11
  117. package/lib/api/changeWipeCode.js +0 -29
  118. package/lib/api/cipherKeyValue.d.ts +0 -17
  119. package/lib/api/cipherKeyValue.js +0 -58
  120. package/lib/api/common/AbstractMiscGetAddress.d.ts +0 -37
  121. package/lib/api/common/AbstractMiscGetAddress.js +0 -126
  122. package/lib/api/common/Discovery.d.ts +0 -33
  123. package/lib/api/common/Discovery.js +0 -119
  124. package/lib/api/common/paramsValidator.d.ts +0 -24
  125. package/lib/api/common/paramsValidator.js +0 -136
  126. package/lib/api/common/requestExistingAccounts.d.ts +0 -14
  127. package/lib/api/common/requestExistingAccounts.js +0 -20
  128. package/lib/api/composeTransaction.d.ts +0 -36
  129. package/lib/api/composeTransaction.js +0 -404
  130. package/lib/api/discoverAccounts.d.ts +0 -40
  131. package/lib/api/discoverAccounts.js +0 -360
  132. package/lib/api/ethereum/api/ethereumGetAddress.d.ts +0 -30
  133. package/lib/api/ethereum/api/ethereumGetAddress.js +0 -150
  134. package/lib/api/ethereum/api/ethereumGetPublicKey.d.ts +0 -52
  135. package/lib/api/ethereum/api/ethereumGetPublicKey.js +0 -100
  136. package/lib/api/ethereum/api/ethereumSignMessage.d.ts +0 -27
  137. package/lib/api/ethereum/api/ethereumSignMessage.js +0 -64
  138. package/lib/api/ethereum/api/ethereumSignTransaction.d.ts +0 -83
  139. package/lib/api/ethereum/api/ethereumSignTransaction.js +0 -148
  140. package/lib/api/ethereum/api/ethereumSignTypedData.d.ts +0 -117
  141. package/lib/api/ethereum/api/ethereumSignTypedData.js +0 -203
  142. package/lib/api/ethereum/api/ethereumVerifyMessage.d.ts +0 -12
  143. package/lib/api/ethereum/api/ethereumVerifyMessage.js +0 -35
  144. package/lib/api/ethereum/api/index.d.ts +0 -6
  145. package/lib/api/ethereum/api/index.js +0 -6
  146. package/lib/api/ethereum/ethereumDefinitions.d.ts +0 -53
  147. package/lib/api/ethereum/ethereumDefinitions.js +0 -135
  148. package/lib/api/ethereum/ethereumSignTx.d.ts +0 -16
  149. package/lib/api/ethereum/ethereumSignTx.js +0 -144
  150. package/lib/api/ethereum/ethereumSignTypedData.d.ts +0 -32
  151. package/lib/api/ethereum/ethereumSignTypedData.js +0 -175
  152. package/lib/api/evoluGetDelegatedIdentityKey.d.ts +0 -14
  153. package/lib/api/evoluGetDelegatedIdentityKey.js +0 -29
  154. package/lib/api/evoluGetNode.d.ts +0 -13
  155. package/lib/api/evoluGetNode.js +0 -29
  156. package/lib/api/evoluSignRegistrationRequest.d.ts +0 -16
  157. package/lib/api/evoluSignRegistrationRequest.js +0 -33
  158. package/lib/api/firmware/calculateFirmwareHash.d.ts +0 -18
  159. package/lib/api/firmware/calculateFirmwareHash.js +0 -56
  160. package/lib/api/firmware/calculateXPubHash.d.ts +0 -14
  161. package/lib/api/firmware/calculateXPubHash.js +0 -16
  162. package/lib/api/firmware/getBinary.d.ts +0 -14
  163. package/lib/api/firmware/getBinary.js +0 -33
  164. package/lib/api/firmware/index.d.ts +0 -6
  165. package/lib/api/firmware/index.js +0 -6
  166. package/lib/api/firmware/modifyFirmware.d.ts +0 -3
  167. package/lib/api/firmware/modifyFirmware.js +0 -13
  168. package/lib/api/firmware/parseFirmwareHeaders.d.ts +0 -4
  169. package/lib/api/firmware/parseFirmwareHeaders.js +0 -26
  170. package/lib/api/firmware/uploadFirmware.d.ts +0 -27
  171. package/lib/api/firmware/uploadFirmware.js +0 -99
  172. package/lib/api/firmware/verifyEntropy.d.ts +0 -25
  173. package/lib/api/firmware/verifyEntropy.js +0 -110
  174. package/lib/api/getAccountInfo.d.ts +0 -21
  175. package/lib/api/getAccountInfo.js +0 -253
  176. package/lib/api/getAddress.d.ts +0 -45
  177. package/lib/api/getAddress.js +0 -153
  178. package/lib/api/getCoinInfo.d.ts +0 -148
  179. package/lib/api/getCoinInfo.js +0 -25
  180. package/lib/api/getDeviceState.d.ts +0 -8
  181. package/lib/api/getDeviceState.js +0 -18
  182. package/lib/api/getFeatures.d.ts +0 -71
  183. package/lib/api/getFeatures.js +0 -22
  184. package/lib/api/getFirmwareHash.d.ts +0 -11
  185. package/lib/api/getFirmwareHash.js +0 -29
  186. package/lib/api/getNonce.d.ts +0 -10
  187. package/lib/api/getNonce.js +0 -18
  188. package/lib/api/getOwnershipId.d.ts +0 -17
  189. package/lib/api/getOwnershipId.js +0 -88
  190. package/lib/api/getOwnershipProof.d.ts +0 -17
  191. package/lib/api/getOwnershipProof.js +0 -95
  192. package/lib/api/getPublicKey.d.ts +0 -54
  193. package/lib/api/getPublicKey.js +0 -106
  194. package/lib/api/getSettings.d.ts +0 -24
  195. package/lib/api/getSettings.js +0 -21
  196. package/lib/api/index.d.ts +0 -62
  197. package/lib/api/index.js +0 -62
  198. package/lib/api/loadDevice.d.ts +0 -16
  199. package/lib/api/loadDevice.js +0 -46
  200. package/lib/api/monero/api/index.d.ts +0 -4
  201. package/lib/api/monero/api/index.js +0 -4
  202. package/lib/api/monero/api/moneroGetAddress.d.ts +0 -32
  203. package/lib/api/monero/api/moneroGetAddress.js +0 -117
  204. package/lib/api/monero/api/moneroGetWatchKey.d.ts +0 -14
  205. package/lib/api/monero/api/moneroGetWatchKey.js +0 -45
  206. package/lib/api/monero/api/moneroKeyImageSync.d.ts +0 -17
  207. package/lib/api/monero/api/moneroKeyImageSync.js +0 -128
  208. package/lib/api/monero/api/moneroSignTransaction.d.ts +0 -17
  209. package/lib/api/monero/api/moneroSignTransaction.js +0 -218
  210. package/lib/api/nostr/nostrGetPublicKey.d.ts +0 -15
  211. package/lib/api/nostr/nostrGetPublicKey.js +0 -38
  212. package/lib/api/nostr/nostrSignEvent.d.ts +0 -13
  213. package/lib/api/nostr/nostrSignEvent.js +0 -36
  214. package/lib/api/pingDevice.d.ts +0 -11
  215. package/lib/api/pingDevice.js +0 -29
  216. package/lib/api/pushTransaction.d.ts +0 -19
  217. package/lib/api/pushTransaction.js +0 -39
  218. package/lib/api/recoveryDevice.d.ts +0 -20
  219. package/lib/api/recoveryDevice.js +0 -52
  220. package/lib/api/requestLogin.d.ts +0 -14
  221. package/lib/api/requestLogin.js +0 -53
  222. package/lib/api/resetDevice.d.ts +0 -22
  223. package/lib/api/resetDevice.js +0 -133
  224. package/lib/api/ripple/api/index.d.ts +0 -2
  225. package/lib/api/ripple/api/index.js +0 -2
  226. package/lib/api/ripple/api/rippleGetAddress.d.ts +0 -17
  227. package/lib/api/ripple/api/rippleGetAddress.js +0 -22
  228. package/lib/api/ripple/api/rippleSignTransaction.d.ts +0 -13
  229. package/lib/api/ripple/api/rippleSignTransaction.js +0 -52
  230. package/lib/api/selectAccount.d.ts +0 -15
  231. package/lib/api/selectAccount.js +0 -42
  232. package/lib/api/setBrightness.d.ts +0 -12
  233. package/lib/api/setBrightness.js +0 -28
  234. package/lib/api/setBusy.d.ts +0 -11
  235. package/lib/api/setBusy.js +0 -31
  236. package/lib/api/showDeviceTutorial.d.ts +0 -11
  237. package/lib/api/showDeviceTutorial.js +0 -21
  238. package/lib/api/signMessage.d.ts +0 -25
  239. package/lib/api/signMessage.js +0 -75
  240. package/lib/api/signTransaction.d.ts +0 -199
  241. package/lib/api/signTransaction.js +0 -331
  242. package/lib/api/solana/api/index.d.ts +0 -4
  243. package/lib/api/solana/api/index.js +0 -4
  244. package/lib/api/solana/api/solanaComposeTransaction.d.ts +0 -33
  245. package/lib/api/solana/api/solanaComposeTransaction.js +0 -73
  246. package/lib/api/solana/api/solanaGetAddress.d.ts +0 -17
  247. package/lib/api/solana/api/solanaGetAddress.js +0 -22
  248. package/lib/api/solana/api/solanaGetPublicKey.d.ts +0 -32
  249. package/lib/api/solana/api/solanaGetPublicKey.js +0 -86
  250. package/lib/api/solana/api/solanaSignTransaction.d.ts +0 -41
  251. package/lib/api/solana/api/solanaSignTransaction.js +0 -204
  252. package/lib/api/solana/solanaDefinitions.d.ts +0 -9
  253. package/lib/api/solana/solanaDefinitions.js +0 -33
  254. package/lib/api/stellar/api/index.d.ts +0 -2
  255. package/lib/api/stellar/api/index.js +0 -2
  256. package/lib/api/stellar/api/stellarGetAddress.d.ts +0 -17
  257. package/lib/api/stellar/api/stellarGetAddress.js +0 -22
  258. package/lib/api/stellar/api/stellarSignTransaction.d.ts +0 -20
  259. package/lib/api/stellar/api/stellarSignTransaction.js +0 -65
  260. package/lib/api/stellar/stellarSignTx.d.ts +0 -7
  261. package/lib/api/stellar/stellarSignTx.js +0 -183
  262. package/lib/api/telemetryGet.d.ts +0 -14
  263. package/lib/api/telemetryGet.js +0 -26
  264. package/lib/api/tezos/api/index.d.ts +0 -3
  265. package/lib/api/tezos/api/index.js +0 -3
  266. package/lib/api/tezos/api/tezosGetAddress.d.ts +0 -17
  267. package/lib/api/tezos/api/tezosGetAddress.js +0 -22
  268. package/lib/api/tezos/api/tezosGetPublicKey.d.ts +0 -28
  269. package/lib/api/tezos/api/tezosGetPublicKey.js +0 -84
  270. package/lib/api/tezos/api/tezosSignTransaction.d.ts +0 -14
  271. package/lib/api/tezos/api/tezosSignTransaction.js +0 -30
  272. package/lib/api/tezos/tezosSignTx.d.ts +0 -71
  273. package/lib/api/tezos/tezosSignTx.js +0 -204
  274. package/lib/api/thpGetCredentials.d.ts +0 -13
  275. package/lib/api/thpGetCredentials.js +0 -30
  276. package/lib/api/thpRemoveCredentials.d.ts +0 -15
  277. package/lib/api/thpRemoveCredentials.js +0 -44
  278. package/lib/api/tron/api/index.d.ts +0 -3
  279. package/lib/api/tron/api/index.js +0 -3
  280. package/lib/api/tron/api/tronComposeTransaction.d.ts +0 -17
  281. package/lib/api/tron/api/tronComposeTransaction.js +0 -52
  282. package/lib/api/tron/api/tronGetAddress.d.ts +0 -17
  283. package/lib/api/tron/api/tronGetAddress.js +0 -22
  284. package/lib/api/tron/api/tronSignTransaction.d.ts +0 -20
  285. package/lib/api/tron/api/tronSignTransaction.js +0 -137
  286. package/lib/api/tron/tronEncode.d.ts +0 -11
  287. package/lib/api/tron/tronEncode.js +0 -157
  288. package/lib/api/tron/tronProtobuf.d.ts +0 -5
  289. package/lib/api/tron/tronProtobuf.js +0 -28
  290. package/lib/api/unlockPath.d.ts +0 -12
  291. package/lib/api/unlockPath.js +0 -33
  292. package/lib/api/verifyMessage.d.ts +0 -16
  293. package/lib/api/verifyMessage.js +0 -46
  294. package/lib/api/wipeDevice.d.ts +0 -21
  295. package/lib/api/wipeDevice.js +0 -49
  296. package/lib/backend/BackendManager.d.ts +0 -30
  297. package/lib/backend/BackendManager.js +0 -145
  298. package/lib/backend/Blockchain.d.ts +0 -81
  299. package/lib/backend/Blockchain.js +0 -235
  300. package/lib/backend/BlockchainLink.d.ts +0 -10
  301. package/lib/backend/BlockchainLink.js +0 -19
  302. package/lib/backend/fees/BitcoinFeeLevels.d.ts +0 -19
  303. package/lib/backend/fees/BitcoinFeeLevels.js +0 -44
  304. package/lib/backend/fees/EthereumFeeLevels.d.ts +0 -17
  305. package/lib/backend/fees/EthereumFeeLevels.js +0 -63
  306. package/lib/backend/fees/MiscFeeLevels.d.ts +0 -18
  307. package/lib/backend/fees/MiscFeeLevels.js +0 -30
  308. package/lib/backend/fees/index.d.ts +0 -5
  309. package/lib/backend/fees/index.js +0 -31
  310. package/lib/core/AbstractMethod.d.ts +0 -63
  311. package/lib/core/AbstractMethod.js +0 -189
  312. package/lib/core/index.d.ts +0 -29
  313. package/lib/core/index.js +0 -805
  314. package/lib/core/method.d.ts +0 -3
  315. package/lib/core/method.js +0 -19
  316. package/lib/core/method.native.d.ts +0 -2
  317. package/lib/core/method.native.js +0 -29
  318. package/lib/core/onCallFirmwareUpdate.d.ts +0 -42
  319. package/lib/core/onCallFirmwareUpdate.js +0 -436
  320. package/lib/data/coinInfo.d.ts +0 -101
  321. package/lib/data/coinInfo.js +0 -195
  322. package/lib/data/config.d.ts +0 -8
  323. package/lib/data/config.js +0 -273
  324. package/lib/data/defaultFeeLevels.d.ts +0 -18
  325. package/lib/data/defaultFeeLevels.js +0 -200
  326. package/lib/data/enabledNetworksStore.d.ts +0 -5
  327. package/lib/data/enabledNetworksStore.js +0 -20
  328. package/lib/data/firmwareInfo.d.ts +0 -55
  329. package/lib/data/firmwareInfo.js +0 -413
  330. package/lib/data/firmwareReleaseStore.d.ts +0 -10
  331. package/lib/data/firmwareReleaseStore.js +0 -16
  332. package/lib/data/localFirmwareStore.d.ts +0 -3
  333. package/lib/data/localFirmwareStore.js +0 -8
  334. package/lib/data/protobufLoader.d.ts +0 -1
  335. package/lib/data/protobufLoader.js +0 -30
  336. package/lib/data/settingsStore.d.ts +0 -6
  337. package/lib/data/settingsStore.js +0 -21
  338. package/lib/device/Device.d.ts +0 -259
  339. package/lib/device/Device.js +0 -765
  340. package/lib/device/DeviceCommands.d.ts +0 -87
  341. package/lib/device/DeviceCommands.js +0 -248
  342. package/lib/device/DeviceCurrentSession.d.ts +0 -750
  343. package/lib/device/DeviceCurrentSession.js +0 -239
  344. package/lib/device/DeviceList.d.ts +0 -75
  345. package/lib/device/DeviceList.js +0 -243
  346. package/lib/device/TransportList.d.ts +0 -3
  347. package/lib/device/TransportList.js +0 -13
  348. package/lib/device/TransportManager.d.ts +0 -33
  349. package/lib/device/TransportManager.js +0 -144
  350. package/lib/device/calculateRevisionForDevice.d.ts +0 -10
  351. package/lib/device/calculateRevisionForDevice.js +0 -19
  352. package/lib/device/checkFirmwareRevision.d.ts +0 -22
  353. package/lib/device/checkFirmwareRevision.js +0 -104
  354. package/lib/device/resolveDescriptorForTaproot.d.ts +0 -17
  355. package/lib/device/resolveDescriptorForTaproot.js +0 -27
  356. package/lib/device/thp/handshake.d.ts +0 -3
  357. package/lib/device/thp/handshake.js +0 -100
  358. package/lib/device/thp/index.d.ts +0 -5
  359. package/lib/device/thp/index.js +0 -65
  360. package/lib/device/thp/pairing.d.ts +0 -16
  361. package/lib/device/thp/pairing.js +0 -242
  362. package/lib/device/thp/session.d.ts +0 -2
  363. package/lib/device/thp/session.js +0 -27
  364. package/lib/device/thp/thpCall.d.ts +0 -31
  365. package/lib/device/thp/thpCall.js +0 -58
  366. package/lib/device/validateMessageSize.d.ts +0 -2
  367. package/lib/device/validateMessageSize.js +0 -9
  368. package/lib/device/workflow/changeLanguage.d.ts +0 -18
  369. package/lib/device/workflow/changeLanguage.js +0 -62
  370. package/lib/device/workflow/checkFirmwareHash.d.ts +0 -12
  371. package/lib/device/workflow/checkFirmwareHash.js +0 -86
  372. package/lib/device/workflow/checkFirmwareHashWithRetries.d.ts +0 -8
  373. package/lib/device/workflow/checkFirmwareHashWithRetries.js +0 -36
  374. package/lib/device/workflow/handshake.d.ts +0 -13
  375. package/lib/device/workflow/handshake.js +0 -55
  376. package/lib/device/workflow/trezorPushNotification.d.ts +0 -5
  377. package/lib/device/workflow/trezorPushNotification.js +0 -73
  378. package/lib/device/workflow/validateState.d.ts +0 -2
  379. package/lib/device/workflow/validateState.js +0 -152
  380. package/lib/events/ui-promise.d.ts +0 -20
  381. package/lib/events/ui-promise.js +0 -1
  382. package/lib/impl/core-in-module.d.ts +0 -33
  383. package/lib/impl/core-in-module.js +0 -194
  384. package/lib/types/idevice.d.ts +0 -110
  385. package/lib/types/idevice.js +0 -1
  386. package/lib/types/typed-call-provider.d.ts +0 -29
  387. package/lib/types/typed-call-provider.js +0 -1
  388. package/lib/types/workflow.d.ts +0 -16
  389. package/lib/types/workflow.js +0 -1
  390. package/lib/utils/accountUtils.d.ts +0 -10
  391. package/lib/utils/accountUtils.js +0 -90
  392. package/lib/utils/addressUtils.d.ts +0 -2
  393. package/lib/utils/addressUtils.js +0 -24
  394. package/lib/utils/assetUtils.d.ts +0 -13
  395. package/lib/utils/assetUtils.js +0 -55
  396. package/lib/utils/assets.browser.d.ts +0 -1
  397. package/lib/utils/assets.browser.js +0 -1
  398. package/lib/utils/assets.d.ts +0 -2
  399. package/lib/utils/assets.js +0 -13
  400. package/lib/utils/assets.native.d.ts +0 -2
  401. package/lib/utils/assets.native.js +0 -23
  402. package/lib/utils/assetsTypes.d.ts +0 -5
  403. package/lib/utils/assetsTypes.js +0 -1
  404. package/lib/utils/buildOutputDescriptor.d.ts +0 -20
  405. package/lib/utils/buildOutputDescriptor.js +0 -67
  406. package/lib/utils/deviceFeaturesUtils.d.ts +0 -7
  407. package/lib/utils/deviceFeaturesUtils.js +0 -109
  408. package/lib/utils/ethereumUtils.d.ts +0 -3
  409. package/lib/utils/ethereumUtils.js +0 -7
  410. package/lib/utils/firmwareReleaseConfigUtils.d.ts +0 -19
  411. package/lib/utils/firmwareReleaseConfigUtils.js +0 -131
  412. package/lib/utils/firmwareUtils.d.ts +0 -15
  413. package/lib/utils/firmwareUtils.js +0 -57
  414. package/lib/utils/formatUtils.d.ts +0 -13
  415. package/lib/utils/formatUtils.js +0 -45
  416. package/lib/utils/hdnodeUtils.d.ts +0 -6
  417. package/lib/utils/hdnodeUtils.js +0 -62
  418. package/lib/utils/pathUtils.d.ts +0 -1
  419. package/lib/utils/pathUtils.js +0 -1
  420. package/lib/utils/paymentRequest.d.ts +0 -8
  421. package/lib/utils/paymentRequest.js +0 -25
  422. package/lib/utils/uiPromiseManager.d.ts +0 -8
  423. package/lib/utils/uiPromiseManager.js +0 -51
  424. package/lib/workers/workers.browser.d.ts +0 -10
  425. package/lib/workers/workers.browser.js +0 -16
  426. package/lib/workers/workers.d.ts +0 -10
  427. package/lib/workers/workers.js +0 -8
  428. package/lib/workers/workers.native.d.ts +0 -7
  429. package/lib/workers/workers.native.js +0 -7
@@ -1,32 +0,0 @@
1
- import type { PROTO, PermissionRequest } from '@trezor/connect-common';
2
- import type { MethodContext, MethodMessage } from "../../../core/AbstractMethod.js";
3
- import { AbstractMethod } from "../../../core/AbstractMethod.js";
4
- export default class SolanaGetPublicKey extends AbstractMethod<'solanaGetPublicKey', PROTO.SolanaGetPublicKey[]> {
5
- hasBundle?: boolean;
6
- constructor(message: MethodMessage<'solanaGetPublicKey'>);
7
- get requiredPermissions(): PermissionRequest[];
8
- get info(): string;
9
- get confirmation(): {
10
- view: "export-xpub";
11
- label: string;
12
- };
13
- run({
14
- sendCoreMessage
15
- }: MethodContext): Promise<({
16
- publicKey: string;
17
- path: number[];
18
- serializedPath: string;
19
- displayablePublicKey: string;
20
- } & {
21
- publicKey: string;
22
- publicKeyBase58: string;
23
- }) | ({
24
- publicKey: string;
25
- path: number[];
26
- serializedPath: string;
27
- displayablePublicKey: string;
28
- } & {
29
- publicKey: string;
30
- publicKeyBase58: string;
31
- })[]>;
32
- }
@@ -1,86 +0,0 @@
1
- import { base58 } from "@scure/base";
2
- import { Bundle, GetPublicKey as GetPublicKeySchema, UI_REQUEST, createUiMessage } from "@trezor/connect-common";
3
- import { fromHardenedPathPart } from "@trezor/crypto-utils";
4
- import { Assert } from "@trezor/schema-utils";
5
- import { AbstractMethod } from "../../../core/AbstractMethod.js";
6
- import { getMiscNetwork } from "../../../data/coinInfo.js";
7
- import { getSerializedPath, validatePath } from "../../../utils/pathUtils.js";
8
- import { bundlify } from "../../common/paramsValidator.js";
9
- export default class SolanaGetPublicKey extends AbstractMethod {
10
- hasBundle;
11
- constructor(message) {
12
- const {
13
- hasBundle,
14
- payload
15
- } = bundlify(message.payload);
16
- Assert(Bundle(GetPublicKeySchema), payload);
17
- const params = payload.bundle.map(batch => {
18
- const path = validatePath(batch.path, 2);
19
- return {
20
- address_n: path,
21
- show_display: typeof batch.showOnTrezor === 'boolean' ? batch.showOnTrezor : false
22
- };
23
- });
24
- super(message, params);
25
- this.hasBundle = hasBundle;
26
- this.confirmMissingBackup = true;
27
- this.requiredDeviceCapabilities = ['Capability_Solana'];
28
- this.requiredFirmwareCoins = [getMiscNetwork('sol')];
29
- }
30
- get requiredPermissions() {
31
- return this.coinPerms('read_xpub', this.requiredFirmwareCoins);
32
- }
33
- get info() {
34
- return 'Export Solana public key';
35
- }
36
- get confirmation() {
37
- if (this.params.length > 1) {
38
- return {
39
- view: 'export-xpub',
40
- label: 'Export multiple Solana public keys'
41
- };
42
- }
43
- const {
44
- params
45
- } = this;
46
- const first = params[0];
47
- const addressN = first.address_n;
48
- const accountIndex = addressN[2];
49
- return {
50
- view: 'export-xpub',
51
- label: `Export Solana public key for account #${fromHardenedPathPart(accountIndex) + 1}`
52
- };
53
- }
54
- async run({
55
- sendCoreMessage
56
- }) {
57
- const responses = [];
58
- const cmd = this.getDevice().getCommands();
59
- for (let i = 0; i < this.params.length; i++) {
60
- const {
61
- params
62
- } = this;
63
- const batch = params[i];
64
- const {
65
- message
66
- } = await cmd.typedCall('SolanaGetPublicKey', 'SolanaPublicKey', batch);
67
- const publicKeyBase58 = base58.encode(Buffer.from(message.public_key, 'hex'));
68
- responses.push({
69
- path: batch.address_n,
70
- serializedPath: getSerializedPath(batch.address_n),
71
- publicKey: message.public_key,
72
- publicKeyBase58,
73
- displayablePublicKey: publicKeyBase58
74
- });
75
- if (this.hasBundle) {
76
- sendCoreMessage(createUiMessage(UI_REQUEST.BUNDLE_PROGRESS, {
77
- total: this.params.length,
78
- progress: i,
79
- response: message
80
- }));
81
- }
82
- }
83
- const first = responses[0];
84
- return this.hasBundle ? responses : first;
85
- }
86
- }
@@ -1,41 +0,0 @@
1
- import type { PROTO, PermissionRequest, TokenInfo } from '@trezor/connect-common';
2
- import type { MethodMessage } from "../../../core/AbstractMethod.js";
3
- import { AbstractMethod } from "../../../core/AbstractMethod.js";
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(): PermissionRequest[];
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 {};
@@ -1,204 +0,0 @@
1
- import { SolanaSignTransaction as SolanaSignTransactionSchema, SolanaTxAdditionalInfo } from "@trezor/connect-common";
2
- import { ERRORS } from "@trezor/connect-common/lib/constants/index.js";
3
- import solana from "@trezor/network-solana/runtime";
4
- import { Assert } from "@trezor/schema-utils";
5
- import { BigNumber } from "@trezor/utils";
6
- import { AbstractMethod } from "../../../core/AbstractMethod.js";
7
- import { getMiscNetwork } from "../../../data/coinInfo.js";
8
- import { validatePath } from "../../../utils/pathUtils.js";
9
- import { PAYMENT_REQUEST_AMOUNT_BYTES, encodePaymentRequestAmount } from "../../../utils/paymentRequest.js";
10
- import { getSolanaTokenDefinition } from "../solanaDefinitions.js";
11
- export default class SolanaSignTransaction extends AbstractMethod {
12
- constructor(message) {
13
- const {
14
- payload
15
- } = message;
16
- Assert(SolanaSignTransactionSchema, payload);
17
- const path = validatePath(payload.path, 2);
18
- let additional_info;
19
- let symbols;
20
- if (payload.additionalInfo) {
21
- Assert(SolanaTxAdditionalInfo, payload.additionalInfo);
22
- const token_accounts_infos = payload.additionalInfo.tokenAccountsInfos?.map(tokenAccountInfo => ({
23
- base_address: tokenAccountInfo.baseAddress,
24
- token_program: tokenAccountInfo.tokenProgram,
25
- token_mint: tokenAccountInfo.tokenMint,
26
- token_account: tokenAccountInfo.tokenAccount
27
- })) ?? [];
28
- symbols = payload.additionalInfo.tokenAccountsInfos?.map(tokenAccountInfo => tokenAccountInfo.symbol) ?? [];
29
- additional_info = {
30
- token_accounts_infos
31
- };
32
- }
33
- const proto = {
34
- address_n: path,
35
- serialized_tx: payload.serializedTx,
36
- additional_info,
37
- payment_req: payload.payment_req ? encodePaymentRequestAmount(payload.payment_req, PAYMENT_REQUEST_AMOUNT_BYTES.DEFAULT) : undefined,
38
- chunkify: typeof payload.chunkify === 'boolean' ? payload.chunkify : false
39
- };
40
- const params = {
41
- proto,
42
- serialize: !!payload.serialize,
43
- symbols
44
- };
45
- super(message, params);
46
- this.requiredDeviceCapabilities = ['Capability_Solana'];
47
- this.requiredFirmwareCoins = [getMiscNetwork('sol')];
48
- }
49
- get requiredPermissions() {
50
- return this.coinPerms('sign', this.requiredFirmwareCoins);
51
- }
52
- async initAsync() {
53
- const token = this.params.proto.additional_info?.token_accounts_infos?.[0];
54
- if (token) {
55
- const tokenDefinition = await getSolanaTokenDefinition({
56
- mintAddress: token.token_mint
57
- });
58
- if (!tokenDefinition) return;
59
- this.params.proto.additional_info.encoded_token = tokenDefinition;
60
- }
61
- }
62
- get info() {
63
- return 'Sign Solana transaction';
64
- }
65
- async payloadToPrecomposed() {
66
- try {
67
- const {
68
- getDecompiledMessage
69
- } = await solana();
70
- const {
71
- message,
72
- baseFee,
73
- instructions
74
- } = getDecompiledMessage(this.params.proto.serialized_tx, this.params.serialize);
75
- const outputs = [];
76
- let feePerUnit = new BigNumber(0);
77
- let feeLimit = new BigNumber(0);
78
- let rent = new BigNumber(0);
79
- let sendAmount = new BigNumber(0);
80
- let token;
81
- for (const instruction of instructions) {
82
- const {
83
- type,
84
- parsed
85
- } = instruction;
86
- switch (type) {
87
- case 'unit-price':
88
- {
89
- feePerUnit = new BigNumber(parsed.data.microLamports.toString());
90
- break;
91
- }
92
- case 'unit-limit':
93
- {
94
- feeLimit = new BigNumber(parsed.data.units.toString());
95
- break;
96
- }
97
- case 'transfer-sol':
98
- {
99
- outputs.push({
100
- address: parsed.accounts.destination.address,
101
- amount: parsed.data.amount.toString(),
102
- script_type: 'PAYTOADDRESS'
103
- });
104
- sendAmount = sendAmount.plus(parsed.data.amount.toString());
105
- break;
106
- }
107
- case 'create-account':
108
- {
109
- outputs.push({
110
- address: parsed.accounts.newAccount.address,
111
- amount: parsed.data.lamports.toString(),
112
- script_type: 'PAYTOADDRESS'
113
- });
114
- rent = rent.plus(parsed.data.lamports.toString());
115
- break;
116
- }
117
- case 'transfer-checked':
118
- {
119
- const destinationATA = parsed.accounts.destination.address;
120
- const tokenAccountInfos = this.params.proto.additional_info?.token_accounts_infos ?? [];
121
- const tokenInfoIndex = tokenAccountInfos.findIndex(t => t.token_account === destinationATA && t.token_mint === parsed.accounts.mint.address);
122
- const tokenInfo = tokenAccountInfos[tokenInfoIndex];
123
- if (!sendAmount.isZero()) {
124
- throw ERRORS.TypedError('Runtime', 'Multiple token transfers in a single transaction are not supported');
125
- }
126
- outputs.push({
127
- address: tokenInfo?.base_address || destinationATA,
128
- amount: parsed.data.amount.toString(),
129
- script_type: 'PAYTOADDRESS'
130
- });
131
- sendAmount = new BigNumber(parsed.data.amount.toString());
132
- token = {
133
- standard: 'SPL',
134
- contract: parsed.accounts.mint.address,
135
- decimals: parsed.data.decimals,
136
- symbol: this.params.symbols?.[tokenInfoIndex]
137
- };
138
- break;
139
- }
140
- case 'other':
141
- default:
142
- break;
143
- }
144
- }
145
- if (outputs.length === 0) {
146
- throw ERRORS.TypedError('Runtime', 'No outputs decoded');
147
- }
148
- const fee = baseFee.plus(feePerUnit.multipliedBy(feeLimit).dividedBy(1e6));
149
- const totalSpent = sendAmount.plus(rent).plus(fee);
150
- return {
151
- type: 'final',
152
- inputs: [],
153
- outputsPermutation: [0],
154
- outputs,
155
- totalSpent: token ? sendAmount.toString() : totalSpent.toString(),
156
- fee: fee.toString(),
157
- feePerByte: feePerUnit.toString(),
158
- feeLimit: feeLimit.toString(),
159
- bytes: 0,
160
- max: undefined,
161
- isTokenKnown: false,
162
- token,
163
- createdTimestamp: 'blockhash' in message.lifetimeConstraint ? new Date().getTime() : undefined
164
- };
165
- } catch (e) {
166
- console.error('Error in payloadToPrecomposed', e);
167
- }
168
- }
169
- async run() {
170
- const cmd = this.getDevice().getCommands();
171
- if (this.params.serialize) {
172
- const {
173
- createTransactionShimFromHex
174
- } = await solana();
175
- const tx = createTransactionShimFromHex(this.params.proto.serialized_tx);
176
- const addressCall = await cmd.typedCall('SolanaGetAddress', 'SolanaAddress', {
177
- address_n: this.params.proto.address_n,
178
- show_display: false,
179
- chunkify: false
180
- });
181
- const {
182
- address
183
- } = addressCall.message;
184
- const {
185
- message
186
- } = await cmd.typedCall('SolanaSignTx', 'SolanaTxSignature', {
187
- ...this.params.proto,
188
- serialized_tx: tx.serializeMessage()
189
- });
190
- tx.addSignature(address, message.signature);
191
- const signedSerializedTx = tx.serialize();
192
- return {
193
- signature: message.signature,
194
- serializedTx: signedSerializedTx
195
- };
196
- }
197
- const {
198
- message
199
- } = await cmd.typedCall('SolanaSignTx', 'SolanaTxSignature', this.params.proto);
200
- return {
201
- signature: message.signature
202
- };
203
- }
204
- }
@@ -1,9 +0,0 @@
1
- import { MessagesSchema } from '@trezor/protobuf';
2
- interface GetSolanaTokenDefinition {
3
- mintAddress?: string;
4
- }
5
- export declare const getSolanaTokenDefinition: ({
6
- mintAddress
7
- }: GetSolanaTokenDefinition) => Promise<ArrayBuffer | undefined>;
8
- export declare const decodeSolanaTokenDefinition: (encodedDefinition: ArrayBuffer) => MessagesSchema.SolanaTokenInfo;
9
- export {};
@@ -1,33 +0,0 @@
1
- import fetch from "cross-fetch";
2
- import { MessagesSchema, protobufManager } from "@trezor/protobuf";
3
- import { trzd } from "@trezor/protocol";
4
- import { Assert } from "@trezor/schema-utils";
5
- export const getSolanaTokenDefinition = async ({
6
- mintAddress
7
- }) => {
8
- try {
9
- if (mintAddress) {
10
- const tokenDefinitionUrl = `https://data.trezor.io/firmware/definitions/solana/token/${mintAddress}.dat`;
11
- const tokenDefinition = await fetch(tokenDefinitionUrl);
12
- if (tokenDefinition.status === 200) {
13
- const arrayBuffer = await tokenDefinition.arrayBuffer();
14
- return arrayBuffer;
15
- } else if (tokenDefinition.status !== 404) {
16
- throw new Error(`unexpected status: ${tokenDefinition.status}`);
17
- }
18
- }
19
- } catch (err) {
20
- console.warn(`unable to download or parse solana token ${mintAddress} definition. detail: ${err.message}`);
21
- }
22
- return undefined;
23
- };
24
- export const decodeSolanaTokenDefinition = encodedDefinition => {
25
- const {
26
- protobufPayload
27
- } = trzd.decode(encodedDefinition);
28
- const {
29
- message: decodedTokenDefinition
30
- } = protobufManager.decode('SolanaTokenInfo', protobufPayload);
31
- Assert(MessagesSchema.SolanaTokenInfo, decodedTokenDefinition);
32
- return decodedTokenDefinition;
33
- };
@@ -1,2 +0,0 @@
1
- export { default as stellarGetAddress } from "./stellarGetAddress.js";
2
- export { default as stellarSignTransaction } from "./stellarSignTransaction.js";
@@ -1,2 +0,0 @@
1
- export { default as stellarGetAddress } from "./stellarGetAddress.js";
2
- export { default as stellarSignTransaction } from "./stellarSignTransaction.js";
@@ -1,17 +0,0 @@
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 StellarGetAddress extends AbstractMiscGetAddress<'stellarGetAddress'> {
5
- constructor(message: MethodMessage<'stellarGetAddress'>);
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
- }
@@ -1,22 +0,0 @@
1
- import { getMiscNetwork } from "../../../data/coinInfo.js";
2
- import { AbstractMiscGetAddress } from "../../common/AbstractMiscGetAddress.js";
3
- export default class StellarGetAddress extends AbstractMiscGetAddress {
4
- constructor(message) {
5
- super(message, 3);
6
- this.requiredDeviceCapabilities = ['Capability_Stellar'];
7
- this.requiredFirmwareCoins = [getMiscNetwork('xlm')];
8
- }
9
- get info() {
10
- return this.getInfo('Stellar', true);
11
- }
12
- get confirmation() {
13
- return this.getConfirmation('Stellar');
14
- }
15
- async _call({
16
- proto
17
- }) {
18
- const cmd = this.getDevice().getCommands();
19
- const response = await cmd.typedCall('StellarGetAddress', 'StellarAddress', proto);
20
- return response.message;
21
- }
22
- }
@@ -1,20 +0,0 @@
1
- import { StellarSignTransaction as StellarSignTransactionSchema } from '@trezor/connect-common';
2
- import type { PermissionRequest } from '@trezor/connect-common';
3
- import type { MethodMessage } from "../../../core/AbstractMethod.js";
4
- import { AbstractMethod } from "../../../core/AbstractMethod.js";
5
- type Params = {
6
- path: number[];
7
- } & StellarSignTransactionSchema;
8
- export default class StellarSignTransaction extends AbstractMethod<'stellarSignTransaction', Params> {
9
- constructor(message: MethodMessage<'stellarSignTransaction'>);
10
- get requiredPermissions(): PermissionRequest[];
11
- get info(): string;
12
- private _isFeatureSupported;
13
- private _ensureFirmwareSupportsOperation;
14
- private parseFromXdr;
15
- run(): Promise<{
16
- publicKey: string;
17
- signature: string;
18
- }>;
19
- }
20
- export {};
@@ -1,65 +0,0 @@
1
- import { StellarSignTransaction as StellarSignTransactionSchema } from "@trezor/connect-common";
2
- import { ERRORS } from "@trezor/connect-common/lib/constants/index.js";
3
- import stellar from "@trezor/network-stellar/runtime";
4
- import { Assert } from "@trezor/schema-utils";
5
- import { AbstractMethod } from "../../../core/AbstractMethod.js";
6
- import { getMiscNetwork } from "../../../data/coinInfo.js";
7
- import { validatePath } from "../../../utils/pathUtils.js";
8
- import { PAYMENT_REQUEST_AMOUNT_BYTES, encodePaymentRequestAmount } from "../../../utils/paymentRequest.js";
9
- import * as helper from "../stellarSignTx.js";
10
- const StellarSignTransactionFeatures = Object.freeze({
11
- manageBuyOffer: ['1.10.4', '2.4.3'],
12
- pathPaymentStrictSend: ['1.10.4', '2.4.3']
13
- });
14
- export default class StellarSignTransaction extends AbstractMethod {
15
- constructor(message) {
16
- const {
17
- payload
18
- } = message;
19
- Assert(StellarSignTransactionSchema, payload);
20
- const path = validatePath(payload.path, 3);
21
- const {
22
- payment_req
23
- } = payload;
24
- const params = {
25
- ...payload,
26
- path,
27
- payment_req: payment_req ? encodePaymentRequestAmount(payment_req, PAYMENT_REQUEST_AMOUNT_BYTES.DEFAULT) : undefined
28
- };
29
- super(message, params);
30
- this.requiredDeviceCapabilities = ['Capability_Stellar'];
31
- this.requiredFirmwareCoins = [getMiscNetwork('xlm')];
32
- }
33
- get requiredPermissions() {
34
- return this.coinPerms('sign', this.requiredFirmwareCoins);
35
- }
36
- get info() {
37
- return 'Sign Stellar transaction';
38
- }
39
- _isFeatureSupported(feature) {
40
- return this.getDevice().atLeast(StellarSignTransactionFeatures[feature]);
41
- }
42
- _ensureFirmwareSupportsOperation(feature, operations = []) {
43
- if (operations.find(o => o.type === feature) && !this._isFeatureSupported(feature)) {
44
- throw ERRORS.TypedError('Method_InvalidParameter', `Feature ${feature} not supported by device firmware`);
45
- }
46
- }
47
- async parseFromXdr(xdrBase64, testnet) {
48
- const {
49
- parseTransactionFromXDR,
50
- transformTransaction
51
- } = await stellar();
52
- const nativeTx = parseTransactionFromXDR(xdrBase64, testnet);
53
- return [transformTransaction(nativeTx), nativeTx.networkPassphrase];
54
- }
55
- async run() {
56
- const [transaction, networkPassphrase] = 'xdrBase64' in this.params ? await this.parseFromXdr(this.params.xdrBase64, this.params.testnet) : [this.params.transaction, this.params.networkPassphrase];
57
- this._ensureFirmwareSupportsOperation('manageBuyOffer', transaction.operations);
58
- this._ensureFirmwareSupportsOperation('pathPaymentStrictSend', transaction.operations);
59
- const response = await helper.stellarSignTx(this.getDevice().getCommands().typedCall, this.params.path, networkPassphrase, transaction, this.params.payment_req);
60
- return {
61
- publicKey: response.public_key,
62
- signature: response.signature
63
- };
64
- }
65
- }
@@ -1,7 +0,0 @@
1
- import type { StellarTransaction } from '@trezor/connect-common';
2
- import { MessagesSchema as PROTO } from '@trezor/protobuf';
3
- import type { TypedCall } from "../../device/DeviceCommands.js";
4
- export declare const stellarSignTx: (typedCall: TypedCall, address_n: number[], network_passphrase: string, tx: StellarTransaction, payment_req?: PROTO.PaymentRequest) => Promise<{
5
- public_key: string;
6
- signature: string;
7
- }>;