@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,35 +0,0 @@
1
- import { EthereumVerifyMessage as EthereumVerifyMessageSchema } from "@trezor/connect-common";
2
- import { Assert } from "@trezor/schema-utils";
3
- import { AbstractMethod } from "../../../core/AbstractMethod.js";
4
- import { validateModelOneMessageSize } from "../../../device/validateMessageSize.js";
5
- import { messageToHex, stripHexPrefix } from "../../../utils/formatUtils.js";
6
- export default class EthereumVerifyMessage extends AbstractMethod {
7
- constructor(message) {
8
- const {
9
- payload
10
- } = message;
11
- Assert(EthereumVerifyMessageSchema, payload);
12
- const messageHex = payload.hex ? messageToHex(payload.message) : Buffer.from(payload.message, 'utf8').toString('hex');
13
- const params = {
14
- address: stripHexPrefix(payload.address),
15
- signature: stripHexPrefix(payload.signature),
16
- message: messageHex
17
- };
18
- super(message, params);
19
- this.requiredDeviceCapabilities = ['Capability_Ethereum'];
20
- }
21
- get requiredPermissions() {
22
- return [{
23
- permission: 'verify_message'
24
- }];
25
- }
26
- get info() {
27
- return 'Verify message';
28
- }
29
- async run() {
30
- validateModelOneMessageSize(this.getDevice(), this.params.message);
31
- const cmd = this.getDevice().getCommands();
32
- const response = await cmd.typedCall('EthereumVerifyMessage', 'Success', this.params);
33
- return response.message;
34
- }
35
- }
@@ -1,6 +0,0 @@
1
- export { default as ethereumGetAddress } from "./ethereumGetAddress.js";
2
- export { default as ethereumGetPublicKey } from "./ethereumGetPublicKey.js";
3
- export { default as ethereumSignMessage } from "./ethereumSignMessage.js";
4
- export { default as ethereumSignTransaction } from "./ethereumSignTransaction.js";
5
- export { default as ethereumSignTypedData } from "./ethereumSignTypedData.js";
6
- export { default as ethereumVerifyMessage } from "./ethereumVerifyMessage.js";
@@ -1,6 +0,0 @@
1
- export { default as ethereumGetAddress } from "./ethereumGetAddress.js";
2
- export { default as ethereumGetPublicKey } from "./ethereumGetPublicKey.js";
3
- export { default as ethereumSignMessage } from "./ethereumSignMessage.js";
4
- export { default as ethereumSignTransaction } from "./ethereumSignTransaction.js";
5
- export { default as ethereumSignTypedData } from "./ethereumSignTypedData.js";
6
- export { default as ethereumVerifyMessage } from "./ethereumVerifyMessage.js";
@@ -1,53 +0,0 @@
1
- import type { EthereumNetworkInfoDefinitionValues } from '@trezor/connect-common';
2
- import type { MessagesSchema } from '@trezor/protobuf';
3
- import type { Static } from '@trezor/schema-utils';
4
- interface GetEthereumDefinitions {
5
- chainId?: number;
6
- slip44?: number;
7
- contractAddress?: string;
8
- functionSignature?: string;
9
- }
10
- export declare const getEthereumDefinitions: ({
11
- chainId,
12
- slip44,
13
- contractAddress,
14
- functionSignature
15
- }: GetEthereumDefinitions) => Promise<{
16
- encoded_network?: ArrayBuffer | undefined;
17
- encoded_token?: ArrayBuffer | undefined;
18
- encoded_display_format?: string | undefined;
19
- }>;
20
- export type EthereumNetworkDefinitionDecoded = Static<typeof EthereumNetworkDefinitionDecoded>;
21
- export declare const EthereumNetworkDefinitionDecoded: import("@sinclair/typebox").TObject<{
22
- chain_id: import("@sinclair/typebox").TNumber;
23
- name: import("@sinclair/typebox").TString;
24
- slip44: import("@sinclair/typebox").TNumber;
25
- symbol: import("@sinclair/typebox").TString;
26
- }>;
27
- export type EthereumTokenDefinitionDecoded = Static<typeof EthereumTokenDefinitionDecoded>;
28
- export declare const EthereumTokenDefinitionDecoded: import("@sinclair/typebox").TObject<{
29
- address: import("@sinclair/typebox").TString;
30
- chain_id: import("@sinclair/typebox").TNumber;
31
- decimals: import("@sinclair/typebox").TNumber;
32
- name: import("@sinclair/typebox").TString;
33
- symbol: import("@sinclair/typebox").TString;
34
- }>;
35
- export type EthereumDefinitionDecoded = Static<typeof EthereumDefinitionDecoded>;
36
- export declare const EthereumDefinitionDecoded: import("@sinclair/typebox").TObject<{
37
- network: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
38
- chain_id: import("@sinclair/typebox").TNumber;
39
- name: import("@sinclair/typebox").TString;
40
- slip44: import("@sinclair/typebox").TNumber;
41
- symbol: import("@sinclair/typebox").TString;
42
- }>>;
43
- token: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
44
- address: import("@sinclair/typebox").TString;
45
- chain_id: import("@sinclair/typebox").TNumber;
46
- decimals: import("@sinclair/typebox").TNumber;
47
- name: import("@sinclair/typebox").TString;
48
- symbol: import("@sinclair/typebox").TString;
49
- }>>;
50
- }>;
51
- export declare const decodeEthereumDefinition: (encodedDefinition: MessagesSchema.EthereumDefinitions) => EthereumDefinitionDecoded;
52
- export declare const ethereumNetworkInfoFromDefinition: (definition: EthereumNetworkDefinitionDecoded) => EthereumNetworkInfoDefinitionValues;
53
- export {};
@@ -1,135 +0,0 @@
1
- import fetch from "cross-fetch";
2
- import { protobufManager } from "@trezor/protobuf";
3
- import { trzd } from "@trezor/protocol";
4
- import { Assert, Type } from "@trezor/schema-utils";
5
- import { ethereumNetworkInfoBase } from "../../data/coinInfo.js";
6
- import * as settingsStore from "../../data/settingsStore.js";
7
- const getDefinitionsBaseUrl = (channel = 'production') => {
8
- switch (channel) {
9
- case 'production':
10
- return 'https://data.trezor.io/firmware/eth-definitions';
11
- case 'development':
12
- return 'https://data.trezor.io/dev/firmware/dev-definitions/eth';
13
- case 'local':
14
- return 'http://localhost:3000';
15
- default:
16
- throw new Error(`Unknown channel: ${channel}`);
17
- }
18
- };
19
- export const getEthereumDefinitions = async ({
20
- chainId,
21
- slip44,
22
- contractAddress,
23
- functionSignature
24
- }) => {
25
- const definitions = {};
26
- if (!chainId && !slip44) {
27
- throw new Error('argument chainId or slip44 is required');
28
- }
29
- const channel = settingsStore.isLoaded() ? settingsStore.get('definitionsChannel') : undefined;
30
- const baseUrl = getDefinitionsBaseUrl(channel);
31
- try {
32
- const networkDefinitionUrl = `${baseUrl}/${chainId ? 'chain-id' : 'slip44'}/${chainId ?? slip44}/network.dat`;
33
- const networkDefinition = await fetch(networkDefinitionUrl);
34
- if (networkDefinition.status === 200) {
35
- definitions.encoded_network = await networkDefinition.arrayBuffer();
36
- } else if (networkDefinition.status !== 404) {
37
- throw new Error(`unexpected status: ${networkDefinition.status}`);
38
- }
39
- } catch (err) {
40
- console.warn(`unable to download or parse ${chainId} definition. detail: ${err.message}`);
41
- }
42
- try {
43
- if (contractAddress) {
44
- const lowerCaseContractAddress = contractAddress.toLowerCase();
45
- const tokenDefinitionUrl = `${baseUrl}/${chainId ? 'chain-id' : 'slip44'}/${chainId ?? slip44}/token-${lowerCaseContractAddress}.dat`;
46
- const tokenDefinition = await fetch(tokenDefinitionUrl);
47
- if (tokenDefinition.status === 200) {
48
- definitions.encoded_token = await tokenDefinition.arrayBuffer();
49
- } else if (tokenDefinition.status !== 404) {
50
- throw new Error(`unexpected status: ${tokenDefinition.status}`);
51
- }
52
- }
53
- } catch (err) {
54
- console.warn(`unable to download or parse ${chainId}/${contractAddress} definition. detail: ${err.message}`);
55
- }
56
- try {
57
- if (chainId && contractAddress && functionSignature) {
58
- const lowerCaseContractAddress = contractAddress.toLowerCase();
59
- const lowerCaseFunctionSignature = functionSignature.toLowerCase();
60
- const displayFormatUrl = `${baseUrl}/chain-id/${chainId}/display-format/${lowerCaseContractAddress}-${lowerCaseFunctionSignature}.dat`;
61
- const displayFormatDefinition = await fetch(displayFormatUrl);
62
- if (displayFormatDefinition.status === 200) {
63
- const encodedDisplayFormat = await displayFormatDefinition.arrayBuffer();
64
- definitions.encoded_display_format = Buffer.from(encodedDisplayFormat).toString('hex');
65
- } else if (displayFormatDefinition.status !== 404) {
66
- throw new Error(`unexpected status: ${displayFormatDefinition.status}`);
67
- }
68
- }
69
- } catch (err) {
70
- console.warn(`unable to download or parse ${chainId}/${contractAddress}/${functionSignature} display-format definition. detail: ${err.message}`);
71
- }
72
- return definitions;
73
- };
74
- export const EthereumNetworkDefinitionDecoded = Type.Object({
75
- chain_id: Type.Number(),
76
- name: Type.String(),
77
- slip44: Type.Number(),
78
- symbol: Type.String()
79
- });
80
- export const EthereumTokenDefinitionDecoded = Type.Object({
81
- address: Type.String(),
82
- chain_id: Type.Number(),
83
- decimals: Type.Number(),
84
- name: Type.String(),
85
- symbol: Type.String()
86
- });
87
- export const EthereumDefinitionDecoded = Type.Object({
88
- network: Type.Optional(EthereumNetworkDefinitionDecoded),
89
- token: Type.Optional(EthereumTokenDefinitionDecoded)
90
- });
91
- export const decodeEthereumDefinition = encodedDefinition => {
92
- const decoded = {
93
- network: undefined,
94
- token: undefined
95
- };
96
- ['encoded_token', 'encoded_network'].forEach(key => {
97
- const encodedPayload = encodedDefinition[key];
98
- if (!encodedPayload) {
99
- return;
100
- }
101
- const {
102
- definitionType,
103
- protobufPayload
104
- } = trzd.decode(encodedPayload);
105
- const {
106
- message: decodedDefinition
107
- } = protobufManager.decode(definitionType === 0 ? 'EthereumNetworkInfo' : 'EthereumTokenInfo', protobufPayload);
108
- if (key === 'encoded_network') {
109
- Assert(EthereumNetworkDefinitionDecoded, decodedDefinition);
110
- decoded.network = decodedDefinition;
111
- } else if (key === 'encoded_token') {
112
- Assert(EthereumTokenDefinitionDecoded, decodedDefinition);
113
- decoded.token = decodedDefinition;
114
- }
115
- });
116
- return decoded;
117
- };
118
- export const ethereumNetworkInfoFromDefinition = definition => ({
119
- ...ethereumNetworkInfoBase,
120
- chainId: definition.chain_id,
121
- label: definition.name,
122
- name: definition.name,
123
- slip44: definition.slip44,
124
- shortcut: definition.symbol,
125
- support: {
126
- T1B1: '1.6.2',
127
- T2T1: '2.0.7',
128
- T2B1: '2.0.0',
129
- T3B1: '2.0.0',
130
- T3T1: '2.0.0',
131
- T3W1: '2.0.0',
132
- UNKNOWN: '0.0.0'
133
- },
134
- blockchainLink: undefined
135
- });
@@ -1,16 +0,0 @@
1
- import type { EthereumAccessList, EthereumTransaction, EthereumTransactionEIP1559, PROTO } from '@trezor/connect-common';
2
- import type { MessagesSchema } from '@trezor/protobuf';
3
- import type { TypedCall } from "../../device/DeviceCommands.js";
4
- type TxSignature = {
5
- v: `0x${string}`;
6
- r: `0x${string}`;
7
- s: `0x${string}`;
8
- };
9
- export declare const serializeEthereumTx: (tx: EthereumTransactionEIP1559 | EthereumTransaction, signature: {
10
- v: `0x${string}`;
11
- r: `0x${string}`;
12
- s: `0x${string}`;
13
- }, isLegacy: boolean) => `0x02${string}` | import("viem").TransactionSerializedLegacy;
14
- export declare const ethereumSignTx: (typedCall: TypedCall, address_n: number[], to: string | null, value: string, gas_limit: string, gas_price: string, nonce: string, chain_id: number, chunkify: boolean, data?: string, tx_type?: number, definitions?: MessagesSchema.EthereumDefinitions, payment_req?: PROTO.PaymentRequest) => Promise<TxSignature>;
15
- export declare const ethereumSignTxEIP1559: (typedCall: TypedCall, address_n: number[], to: string | null, value: string, gas_limit: string, max_gas_fee: string, max_priority_fee: string, nonce: string, chain_id: number, chunkify: boolean, data?: string, access_list?: EthereumAccessList[], definitions?: MessagesSchema.EthereumDefinitions, payment_req?: PROTO.PaymentRequest) => Promise<TxSignature>;
16
- export {};
@@ -1,144 +0,0 @@
1
- import { serializeTransaction } from "viem";
2
- import { ERRORS } from "@trezor/connect-common/lib/constants/index.js";
3
- import { getEthereumDefinitions } from "./ethereumDefinitions.js";
4
- import { addHexPrefix } from "../../utils/formatUtils.js";
5
- const splitString = (str, len) => {
6
- if (str == null) {
7
- return ['', ''];
8
- }
9
- const first = str.slice(0, len);
10
- const second = str.slice(len);
11
- return [first, second];
12
- };
13
- async function processTxRequest(typedCall, request, data, chain_id) {
14
- if (!request.data_length) {
15
- let v = request.signature_v;
16
- const r = request.signature_r;
17
- const s = request.signature_s;
18
- if (v == null || r == null || s == null) {
19
- throw ERRORS.TypedError('Runtime', 'processTxRequest: Unexpected request');
20
- }
21
- if (chain_id && v <= 1) {
22
- v += 2 * chain_id + 35;
23
- }
24
- return Promise.resolve({
25
- v: `0x${v.toString(16)}`,
26
- r: `0x${r}`,
27
- s: `0x${s}`
28
- });
29
- }
30
- const [first, rest] = splitString(data, request.data_length * 2);
31
- const nextResponse = await typedCall('EthereumTxAck', ['EthereumTxRequest', 'EthereumDefinitionRequest'], {
32
- data_chunk: first
33
- });
34
- return handleTxFlowResponse(typedCall, nextResponse, rest, chain_id);
35
- }
36
- async function processDefinitionRequest(typedCall, request, data, chain_id) {
37
- const definitions = await getEthereumDefinitions({
38
- chainId: request.chain_id,
39
- contractAddress: request.token_address,
40
- functionSignature: request.func_sig
41
- });
42
- const nextResponse = await typedCall('EthereumDefinitionAck', ['EthereumTxRequest', 'EthereumDefinitionRequest'], {
43
- definitions
44
- });
45
- return handleTxFlowResponse(typedCall, nextResponse, data, chain_id);
46
- }
47
- function handleTxFlowResponse(typedCall, response, data, chain_id) {
48
- if (response.type === 'EthereumDefinitionRequest') {
49
- return processDefinitionRequest(typedCall, response.message, data, chain_id);
50
- }
51
- return processTxRequest(typedCall, response.message, data, chain_id);
52
- }
53
- const ifNotUndefined = (value, convert) => value === undefined ? undefined : convert(value);
54
- const toBigInt = value => BigInt(addHexPrefix(value));
55
- export const serializeEthereumTx = (tx, signature, isLegacy) => serializeTransaction({
56
- value: toBigInt(tx.value),
57
- nonce: Number(addHexPrefix(tx.nonce)),
58
- data: ifNotUndefined(tx.data, addHexPrefix),
59
- to: ifNotUndefined(tx.to || undefined, addHexPrefix),
60
- gas: ifNotUndefined(tx.gasLimit, toBigInt),
61
- chainId: tx.chainId,
62
- ...(isLegacy ? {
63
- type: 'legacy',
64
- gasPrice: ifNotUndefined(tx.gasPrice, toBigInt)
65
- } : {
66
- type: 'eip1559',
67
- maxFeePerGas: ifNotUndefined(tx.maxFeePerGas, toBigInt),
68
- maxPriorityFeePerGas: ifNotUndefined(tx.maxPriorityFeePerGas, toBigInt),
69
- accessList: ('accessList' in tx ? tx.accessList : undefined)?.map(({
70
- address,
71
- storageKeys
72
- }) => ({
73
- address: addHexPrefix(address),
74
- storageKeys: storageKeys.map(addHexPrefix)
75
- }))
76
- })
77
- }, {
78
- ...signature,
79
- v: toBigInt(signature.v)
80
- });
81
- const stripLeadingZeroes = str => {
82
- while (/^00/.test(str)) {
83
- str = str.slice(2);
84
- }
85
- return str;
86
- };
87
- export const ethereumSignTx = async (typedCall, address_n, to, value, gas_limit, gas_price, nonce, chain_id, chunkify, data, tx_type, definitions, payment_req) => {
88
- const length = data == null ? 0 : data.length / 2;
89
- const [first, rest] = splitString(data, 1024 * 2);
90
- let message = {
91
- address_n,
92
- chain_id,
93
- nonce: stripLeadingZeroes(nonce),
94
- gas_price: stripLeadingZeroes(gas_price),
95
- gas_limit: stripLeadingZeroes(gas_limit),
96
- to: to || undefined,
97
- value: stripLeadingZeroes(value),
98
- definitions,
99
- chunkify,
100
- payment_req,
101
- supports_definition_request: true
102
- };
103
- if (length !== 0) {
104
- message = {
105
- ...message,
106
- data_length: length,
107
- data_initial_chunk: first
108
- };
109
- }
110
- if (tx_type !== null) {
111
- message = {
112
- ...message,
113
- tx_type
114
- };
115
- }
116
- const response = await typedCall('EthereumSignTx', ['EthereumTxRequest', 'EthereumDefinitionRequest'], message);
117
- return handleTxFlowResponse(typedCall, response, rest, chain_id);
118
- };
119
- export const ethereumSignTxEIP1559 = async (typedCall, address_n, to, value, gas_limit, max_gas_fee, max_priority_fee, nonce, chain_id, chunkify, data, access_list, definitions, payment_req) => {
120
- const length = data == null ? 0 : data.length / 2;
121
- const [first, rest] = splitString(data, 1024 * 2);
122
- const message = {
123
- address_n,
124
- nonce: stripLeadingZeroes(nonce),
125
- max_gas_fee: stripLeadingZeroes(max_gas_fee),
126
- max_priority_fee: stripLeadingZeroes(max_priority_fee),
127
- gas_limit: stripLeadingZeroes(gas_limit),
128
- to: to || undefined,
129
- value: stripLeadingZeroes(value),
130
- data_length: length,
131
- data_initial_chunk: first,
132
- chain_id,
133
- access_list: (access_list || []).map(a => ({
134
- address: a.address,
135
- storage_keys: a.storageKeys
136
- })),
137
- definitions,
138
- chunkify,
139
- payment_req,
140
- supports_definition_request: true
141
- };
142
- const response = await typedCall('EthereumSignTxEIP1559', ['EthereumTxRequest', 'EthereumDefinitionRequest'], message);
143
- return handleTxFlowResponse(typedCall, response, rest);
144
- };
@@ -1,32 +0,0 @@
1
- import type { EthereumSignTypedDataTypes } from '@trezor/connect-common';
2
- import { MessagesSchema as PROTO } from '@trezor/protobuf';
3
- export declare function parseArrayType(arrayTypeName: string): {
4
- entryTypeName: string;
5
- arraySize: number | null;
6
- };
7
- export declare function encodeData(typeName: string, data: any): string;
8
- export declare function getFieldType(typeName: string, types: EthereumSignTypedDataTypes): PROTO.EthereumFieldType;
9
- type LooseTypedDataDomain = {
10
- name?: string;
11
- version?: string;
12
- chainId?: string | number | bigint;
13
- verifyingContract?: string;
14
- salt?: string | ArrayBuffer;
15
- };
16
- type TransformTypedDataInput<T extends Record<string, readonly {
17
- name: string;
18
- type: string;
19
- }[]>> = {
20
- types: T;
21
- primaryType: keyof T | string;
22
- domain: LooseTypedDataDomain;
23
- message: Record<string, unknown>;
24
- };
25
- export declare const transformTypedData: <T extends Record<string, readonly {
26
- name: string;
27
- type: string;
28
- }[]>>(data: TransformTypedDataInput<T>, metamask_v4_compat: boolean) => {
29
- domain_separator_hash: string;
30
- message_hash: string | null;
31
- };
32
- export {};
@@ -1,175 +0,0 @@
1
- import { hashDomain, hashStruct } from "viem";
2
- import { ERRORS } from "@trezor/connect-common/lib/constants/index.js";
3
- import { MessagesSchema as PROTO } from "@trezor/protobuf";
4
- import { getIndexOrThrow } from "@trezor/utils";
5
- import { BigNumber } from "@trezor/utils/lib/bigNumber.js";
6
- import { messageToHex } from "../../utils/formatUtils.js";
7
- const paramTypeArray = new RegExp(/^(.*)\[([0-9]*)\]$/);
8
- const paramTypeBytes = new RegExp(/^bytes([0-9]*)$/);
9
- const paramTypeNumber = new RegExp(/^(u?int)([0-9]*)$/);
10
- export function parseArrayType(arrayTypeName) {
11
- const arrayMatch = paramTypeArray.exec(arrayTypeName);
12
- if (arrayMatch === null) {
13
- throw ERRORS.TypedError('Runtime', `typename ${arrayTypeName} could not be parsed as an EIP-712 array`);
14
- }
15
- const entryTypeName = arrayMatch[1] ?? '';
16
- const arraySize = arrayMatch[2] ?? '';
17
- return {
18
- entryTypeName,
19
- arraySize: parseInt(arraySize, 10) || null
20
- };
21
- }
22
- function twosComplement(number, bytes) {
23
- if (bytes < 1 || bytes > 32) {
24
- throw ERRORS.TypedError('Runtime', 'Int byte size must be between 1 and 32 (8 and 256 bits)');
25
- }
26
- const minValue = new BigNumber(2).exponentiatedBy(bytes * 8 - 1).negated();
27
- const maxValue = minValue.negated().minus(1);
28
- const bigNumber = new BigNumber(number);
29
- if (bigNumber.isGreaterThan(maxValue) || bigNumber.isLessThan(minValue)) {
30
- throw ERRORS.TypedError('Runtime', `Overflow when trying to convert number ${number} into ${bytes} bytes`);
31
- }
32
- if (bigNumber.isPositive()) {
33
- return bigNumber;
34
- }
35
- return bigNumber.minus(minValue).minus(minValue);
36
- }
37
- function intToHex(number, bytes, signed) {
38
- let bigNumber = new BigNumber(number);
39
- if (signed) {
40
- bigNumber = twosComplement(bigNumber, bytes);
41
- }
42
- if (bigNumber.isNegative()) {
43
- throw ERRORS.TypedError('Runtime', `Cannot convert negative number to unsigned interger: ${number}`);
44
- }
45
- const hex = bigNumber.toString(16);
46
- const hexChars = bytes * 2;
47
- if (hex.length > hexChars) {
48
- throw ERRORS.TypedError('Runtime', `Overflow when trying to convert number ${number} into ${bytes} bytes`);
49
- }
50
- return hex.padStart(bytes * 2, '0');
51
- }
52
- export function encodeData(typeName, data) {
53
- if (paramTypeBytes.test(typeName) || typeName === 'address') {
54
- return messageToHex(data);
55
- }
56
- if (typeName === 'string') {
57
- return Buffer.from(data, 'utf-8').toString('hex');
58
- }
59
- const numberMatch = paramTypeNumber.exec(typeName);
60
- if (numberMatch) {
61
- const intType = numberMatch[1] ?? '';
62
- const bits = numberMatch[2] ?? '';
63
- const bytes = Math.ceil((bits === '' ? 256 : parseInt(bits, 10)) / 8);
64
- return intToHex(data, bytes, intType === 'int');
65
- }
66
- if (typeName === 'bool') {
67
- return data ? '01' : '00';
68
- }
69
- throw ERRORS.TypedError('Runtime', `Unsupported data type for direct field encoding: ${typeName}`);
70
- }
71
- const paramTypesMap = {
72
- string: PROTO.EthereumDataType.STRING,
73
- bool: PROTO.EthereumDataType.BOOL,
74
- address: PROTO.EthereumDataType.ADDRESS
75
- };
76
- export function getFieldType(typeName, types) {
77
- const arrayMatch = paramTypeArray.exec(typeName);
78
- if (arrayMatch) {
79
- const arrayItemTypeName = arrayMatch[1] ?? '';
80
- const arraySize = arrayMatch[2] ?? '';
81
- const entryType = getFieldType(arrayItemTypeName, types);
82
- return {
83
- data_type: PROTO.EthereumDataType.ARRAY,
84
- size: parseInt(arraySize, 10) || undefined,
85
- entry_type: entryType
86
- };
87
- }
88
- const numberMatch = paramTypeNumber.exec(typeName);
89
- if (numberMatch) {
90
- const type = numberMatch[1] ?? '';
91
- const bits = numberMatch[2] ?? '';
92
- return {
93
- data_type: type === 'uint' ? PROTO.EthereumDataType.UINT : PROTO.EthereumDataType.INT,
94
- size: Math.floor((bits === '' ? 256 : parseInt(bits, 10)) / 8)
95
- };
96
- }
97
- const bytesMatch = paramTypeBytes.exec(typeName);
98
- if (bytesMatch) {
99
- const size = bytesMatch[1] ?? '';
100
- return {
101
- data_type: PROTO.EthereumDataType.BYTES,
102
- size: parseInt(size, 10) || undefined
103
- };
104
- }
105
- const fixedSizeTypeMatch = paramTypesMap[typeName];
106
- if (fixedSizeTypeMatch) {
107
- return {
108
- data_type: fixedSizeTypeMatch
109
- };
110
- }
111
- if (typeName in types) {
112
- const typeDef = types[typeName];
113
- return {
114
- data_type: PROTO.EthereumDataType.STRUCT,
115
- size: typeDef.length,
116
- struct_name: typeName
117
- };
118
- }
119
- throw ERRORS.TypedError('Runtime', `No type definition specified: ${typeName}`);
120
- }
121
- const arrayBufferToHex = buf => {
122
- const bytes = new Uint8Array(buf);
123
- let hex = '0x';
124
- for (let i = 0; i < bytes.length; i += 1) {
125
- hex += getIndexOrThrow(bytes, i).toString(16).padStart(2, '0');
126
- }
127
- return hex;
128
- };
129
- const ensureHexPrefix = value => {
130
- if (value === undefined) return undefined;
131
- return value.startsWith('0x') ? value : `0x${value}`;
132
- };
133
- const normalizeDomain = domain => {
134
- let {
135
- chainId
136
- } = domain;
137
- if (typeof chainId === 'string') {
138
- try {
139
- chainId = BigInt(chainId);
140
- } catch {
141
- throw ERRORS.TypedError('Method_InvalidParameter', 'Trezor: Invalid typed data domain chainId. Expected an integer-compatible string.');
142
- }
143
- }
144
- const saltAsString = domain.salt instanceof ArrayBuffer ? arrayBufferToHex(domain.salt) : domain.salt;
145
- return {
146
- ...domain,
147
- chainId,
148
- verifyingContract: ensureHexPrefix(domain.verifyingContract),
149
- salt: ensureHexPrefix(saltAsString)
150
- };
151
- };
152
- export const transformTypedData = (data, metamask_v4_compat) => {
153
- if (!metamask_v4_compat) {
154
- throw ERRORS.TypedError('Method_InvalidParameter', 'Trezor: Only version 4 of typed data signing is supported');
155
- }
156
- if (!data.types || !('EIP712Domain' in data.types)) {
157
- throw ERRORS.TypedError('Method_InvalidParameter', 'Trezor: EIP712Domain type definition required in types');
158
- }
159
- const domain_separator_hash = hashDomain({
160
- domain: normalizeDomain(data.domain),
161
- types: data.types
162
- }).slice(2);
163
- let message_hash = null;
164
- if (data.primaryType !== 'EIP712Domain') {
165
- message_hash = hashStruct({
166
- data: data.message,
167
- primaryType: data.primaryType,
168
- types: data.types
169
- }).slice(2);
170
- }
171
- return {
172
- domain_separator_hash,
173
- message_hash
174
- };
175
- };
@@ -1,14 +0,0 @@
1
- import { type PermissionRequest } from '@trezor/connect-common';
2
- import type { MessagesSchema as PROTO } from '@trezor/protobuf';
3
- import type { MethodMessage } from "../core/AbstractMethod.js";
4
- import { AbstractMethod } from "../core/AbstractMethod.js";
5
- export default class EvoluGetDelegatedIdentityKey extends AbstractMethod<'evoluGetDelegatedIdentityKey', PROTO.EvoluGetDelegatedIdentityKey> {
6
- hasBundle?: boolean;
7
- constructor(message: MethodMessage<'evoluGetDelegatedIdentityKey'>);
8
- get requiredPermissions(): PermissionRequest[];
9
- get info(): string;
10
- run(): Promise<{
11
- rotation_index?: number | undefined;
12
- private_key: string;
13
- }>;
14
- }
@@ -1,29 +0,0 @@
1
- import { AbstractMethod } from "../core/AbstractMethod.js";
2
- export default class EvoluGetDelegatedIdentityKey extends AbstractMethod {
3
- hasBundle;
4
- constructor(message) {
5
- super(message, {});
6
- this.useDevice = true;
7
- this.useUi = true;
8
- }
9
- get requiredPermissions() {
10
- return [{
11
- permission: 'read_xpub'
12
- }];
13
- }
14
- get info() {
15
- return 'Evolu get delegated identity key';
16
- }
17
- async run() {
18
- const thpState = this.getDevice().getThpState();
19
- if (thpState) {
20
- const firstCredential = thpState.pairingCredentials[0];
21
- this.params = {
22
- thp_credential: firstCredential.credential
23
- };
24
- }
25
- const cmd = this.getDevice().getCommands();
26
- const response = await cmd.typedCall('EvoluGetDelegatedIdentityKey', 'EvoluDelegatedIdentityKey', this.params);
27
- return response.message;
28
- }
29
- }
@@ -1,13 +0,0 @@
1
- import { type PermissionRequest } from '@trezor/connect-common';
2
- import { MessagesSchema as PROTO } from '@trezor/protobuf';
3
- import type { MethodMessage } from "../core/AbstractMethod.js";
4
- import { AbstractMethod } from "../core/AbstractMethod.js";
5
- export default class EvoluGetNode extends AbstractMethod<'evoluGetNode', PROTO.EvoluGetNode> {
6
- hasBundle?: boolean;
7
- constructor(message: MethodMessage<'evoluGetNode'>);
8
- get requiredPermissions(): PermissionRequest[];
9
- get info(): string;
10
- run(): Promise<{
11
- data: string;
12
- }>;
13
- }