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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (432) hide show
  1. package/CHANGELOG.md +159 -63
  2. package/README.md +5 -3
  3. package/lib/exports.d.ts +1 -0
  4. package/lib/exports.js +1 -0
  5. package/lib/impl/core-in-module-native.d.ts +7 -0
  6. package/lib/impl/core-in-module-native.js +11 -0
  7. package/lib/impl/core-in-module-node.d.ts +8 -0
  8. package/lib/impl/core-in-module-node.js +12 -0
  9. package/lib/impl/core-in-module-web.d.ts +9 -0
  10. package/lib/impl/core-in-module-web.js +26 -0
  11. package/lib/index.browser.d.ts +7 -0
  12. package/lib/index.browser.js +10 -0
  13. package/lib/index.d.ts +4 -0
  14. package/lib/index.js +5 -0
  15. package/lib/index.native.d.ts +4 -0
  16. package/lib/index.native.js +5 -0
  17. package/package.json +30 -83
  18. package/libESM/api/applyFlags.d.mts +0 -20
  19. package/libESM/api/applyFlags.mjs +0 -36
  20. package/libESM/api/applySettings.d.mts +0 -20
  21. package/libESM/api/applySettings.mjs +0 -55
  22. package/libESM/api/authenticateDevice.d.mts +0 -9
  23. package/libESM/api/authenticateDevice.mjs +0 -108
  24. package/libESM/api/authorizeCoinjoin.d.mts +0 -11
  25. package/libESM/api/authorizeCoinjoin.mjs +0 -44
  26. package/libESM/api/backupDevice.d.mts +0 -19
  27. package/libESM/api/backupDevice.mjs +0 -36
  28. package/libESM/api/bitcoin/TransactionComposer.d.mts +0 -46
  29. package/libESM/api/bitcoin/TransactionComposer.mjs +0 -139
  30. package/libESM/api/bitcoin/createPendingTx.d.mts +0 -33
  31. package/libESM/api/bitcoin/createPendingTx.mjs +0 -54
  32. package/libESM/api/bitcoin/enhanceSignTx.d.mts +0 -2
  33. package/libESM/api/bitcoin/enhanceSignTx.mjs +0 -23
  34. package/libESM/api/bitcoin/index.d.mts +0 -9
  35. package/libESM/api/bitcoin/index.mjs +0 -9
  36. package/libESM/api/bitcoin/inputs.d.mts +0 -6
  37. package/libESM/api/bitcoin/inputs.mjs +0 -75
  38. package/libESM/api/bitcoin/outputs.d.mts +0 -5
  39. package/libESM/api/bitcoin/outputs.mjs +0 -128
  40. package/libESM/api/bitcoin/refTx.d.mts +0 -17
  41. package/libESM/api/bitcoin/refTx.mjs +0 -252
  42. package/libESM/api/bitcoin/signtx.d.mts +0 -22
  43. package/libESM/api/bitcoin/signtx.mjs +0 -213
  44. package/libESM/api/bitcoin/signtxLegacy.d.mts +0 -3
  45. package/libESM/api/bitcoin/signtxLegacy.mjs +0 -179
  46. package/libESM/api/bitcoin/signtxVerify.d.mts +0 -12
  47. package/libESM/api/bitcoin/signtxVerify.mjs +0 -86
  48. package/libESM/api/bitcoin/transactionBytes.d.mts +0 -3
  49. package/libESM/api/bitcoin/transactionBytes.mjs +0 -65
  50. package/libESM/api/bleUnpair.d.mts +0 -11
  51. package/libESM/api/bleUnpair.mjs +0 -35
  52. package/libESM/api/blockchainDisconnect.d.mts +0 -16
  53. package/libESM/api/blockchainDisconnect.mjs +0 -39
  54. package/libESM/api/blockchainEstimateFee.d.mts +0 -14
  55. package/libESM/api/blockchainEstimateFee.mjs +0 -106
  56. package/libESM/api/blockchainEvmRpcCall.d.mts +0 -17
  57. package/libESM/api/blockchainEvmRpcCall.mjs +0 -61
  58. package/libESM/api/blockchainGetAccountBalanceHistory.d.mts +0 -14
  59. package/libESM/api/blockchainGetAccountBalanceHistory.mjs +0 -64
  60. package/libESM/api/blockchainGetContractInfo.d.mts +0 -14
  61. package/libESM/api/blockchainGetContractInfo.mjs +0 -50
  62. package/libESM/api/blockchainGetCurrentFiatRates.d.mts +0 -18
  63. package/libESM/api/blockchainGetCurrentFiatRates.mjs +0 -53
  64. package/libESM/api/blockchainGetFiatRatesForTimestamps.d.mts +0 -21
  65. package/libESM/api/blockchainGetFiatRatesForTimestamps.mjs +0 -59
  66. package/libESM/api/blockchainGetInfo.d.mts +0 -13
  67. package/libESM/api/blockchainGetInfo.mjs +0 -41
  68. package/libESM/api/blockchainGetTransactions.d.mts +0 -15
  69. package/libESM/api/blockchainGetTransactions.mjs +0 -47
  70. package/libESM/api/blockchainSetCustomBackend.d.mts +0 -13
  71. package/libESM/api/blockchainSetCustomBackend.mjs +0 -41
  72. package/libESM/api/blockchainSubscribe.d.mts +0 -17
  73. package/libESM/api/blockchainSubscribe.mjs +0 -68
  74. package/libESM/api/blockchainSubscribeFiatRates.d.mts +0 -17
  75. package/libESM/api/blockchainSubscribeFiatRates.mjs +0 -47
  76. package/libESM/api/blockchainUnsubscribe.d.mts +0 -17
  77. package/libESM/api/blockchainUnsubscribe.mjs +0 -68
  78. package/libESM/api/blockchainUnsubscribeFiatRates.d.mts +0 -15
  79. package/libESM/api/blockchainUnsubscribeFiatRates.mjs +0 -41
  80. package/libESM/api/blockchainValidateEvmRpcUrl.d.mts +0 -17
  81. package/libESM/api/blockchainValidateEvmRpcUrl.mjs +0 -54
  82. package/libESM/api/cancelCoinjoinAuthorization.d.mts +0 -11
  83. package/libESM/api/cancelCoinjoinAuthorization.mjs +0 -31
  84. package/libESM/api/cardano/api/cardanoComposeTransaction.d.mts +0 -10
  85. package/libESM/api/cardano/api/cardanoComposeTransaction.mjs +0 -79
  86. package/libESM/api/cardano/api/cardanoGetAddress.d.mts +0 -30
  87. package/libESM/api/cardano/api/cardanoGetAddress.mjs +0 -116
  88. package/libESM/api/cardano/api/cardanoGetNativeScriptHash.d.mts +0 -12
  89. package/libESM/api/cardano/api/cardanoGetNativeScriptHash.mjs +0 -66
  90. package/libESM/api/cardano/api/cardanoGetPublicKey.d.mts +0 -20
  91. package/libESM/api/cardano/api/cardanoGetPublicKey.mjs +0 -72
  92. package/libESM/api/cardano/api/cardanoSignMessage.d.mts +0 -27
  93. package/libESM/api/cardano/api/cardanoSignMessage.mjs +0 -96
  94. package/libESM/api/cardano/api/cardanoSignTransaction.d.mts +0 -81
  95. package/libESM/api/cardano/api/cardanoSignTransaction.mjs +0 -298
  96. package/libESM/api/cardano/api/index.d.mts +0 -6
  97. package/libESM/api/cardano/api/index.mjs +0 -6
  98. package/libESM/api/cardano/cardanoAddressParameters.d.mts +0 -6
  99. package/libESM/api/cardano/cardanoAddressParameters.mjs +0 -79
  100. package/libESM/api/cardano/cardanoAuxiliaryData.d.mts +0 -4
  101. package/libESM/api/cardano/cardanoAuxiliaryData.mjs +0 -74
  102. package/libESM/api/cardano/cardanoCertificate.d.mts +0 -13
  103. package/libESM/api/cardano/cardanoCertificate.mjs +0 -142
  104. package/libESM/api/cardano/cardanoInputs.d.mts +0 -25
  105. package/libESM/api/cardano/cardanoInputs.mjs +0 -39
  106. package/libESM/api/cardano/cardanoOutputs.d.mts +0 -40
  107. package/libESM/api/cardano/cardanoOutputs.mjs +0 -70
  108. package/libESM/api/cardano/cardanoTokenBundle.d.mts +0 -12
  109. package/libESM/api/cardano/cardanoTokenBundle.mjs +0 -21
  110. package/libESM/api/cardano/cardanoUtils.d.mts +0 -9
  111. package/libESM/api/cardano/cardanoUtils.mjs +0 -101
  112. package/libESM/api/cardano/cardanoWitnesses.d.mts +0 -4
  113. package/libESM/api/cardano/cardanoWitnesses.mjs +0 -47
  114. package/libESM/api/changeLanguage.d.mts +0 -18
  115. package/libESM/api/changeLanguage.mjs +0 -47
  116. package/libESM/api/changePin.d.mts +0 -11
  117. package/libESM/api/changePin.mjs +0 -25
  118. package/libESM/api/changeWipeCode.d.mts +0 -11
  119. package/libESM/api/changeWipeCode.mjs +0 -27
  120. package/libESM/api/cipherKeyValue.d.mts +0 -15
  121. package/libESM/api/cipherKeyValue.mjs +0 -51
  122. package/libESM/api/common/AbstractMiscGetAddress.d.mts +0 -35
  123. package/libESM/api/common/AbstractMiscGetAddress.mjs +0 -102
  124. package/libESM/api/common/Discovery.d.mts +0 -33
  125. package/libESM/api/common/Discovery.mjs +0 -116
  126. package/libESM/api/common/paramsValidator.d.mts +0 -23
  127. package/libESM/api/common/paramsValidator.mjs +0 -134
  128. package/libESM/api/common/requestExistingAccounts.d.mts +0 -9
  129. package/libESM/api/common/requestExistingAccounts.mjs +0 -20
  130. package/libESM/api/composeTransaction.d.mts +0 -36
  131. package/libESM/api/composeTransaction.mjs +0 -386
  132. package/libESM/api/discoverAccounts.d.mts +0 -38
  133. package/libESM/api/discoverAccounts.mjs +0 -363
  134. package/libESM/api/ethereum/api/ethereumGetAddress.d.mts +0 -28
  135. package/libESM/api/ethereum/api/ethereumGetAddress.mjs +0 -135
  136. package/libESM/api/ethereum/api/ethereumGetPublicKey.d.mts +0 -48
  137. package/libESM/api/ethereum/api/ethereumGetPublicKey.mjs +0 -90
  138. package/libESM/api/ethereum/api/ethereumSignMessage.d.mts +0 -27
  139. package/libESM/api/ethereum/api/ethereumSignMessage.mjs +0 -64
  140. package/libESM/api/ethereum/api/ethereumSignTransaction.d.mts +0 -83
  141. package/libESM/api/ethereum/api/ethereumSignTransaction.mjs +0 -148
  142. package/libESM/api/ethereum/api/ethereumSignTypedData.d.mts +0 -116
  143. package/libESM/api/ethereum/api/ethereumSignTypedData.mjs +0 -202
  144. package/libESM/api/ethereum/api/ethereumVerifyMessage.d.mts +0 -12
  145. package/libESM/api/ethereum/api/ethereumVerifyMessage.mjs +0 -33
  146. package/libESM/api/ethereum/api/index.d.mts +0 -6
  147. package/libESM/api/ethereum/api/index.mjs +0 -6
  148. package/libESM/api/ethereum/ethereumDefinitions.d.mts +0 -46
  149. package/libESM/api/ethereum/ethereumDefinitions.mjs +0 -103
  150. package/libESM/api/ethereum/ethereumSignTx.d.mts +0 -20
  151. package/libESM/api/ethereum/ethereumSignTx.mjs +0 -131
  152. package/libESM/api/ethereum/ethereumSignTypedData.d.mts +0 -32
  153. package/libESM/api/ethereum/ethereumSignTypedData.mjs +0 -169
  154. package/libESM/api/evoluGetDelegatedIdentityKey.d.mts +0 -14
  155. package/libESM/api/evoluGetDelegatedIdentityKey.mjs +0 -26
  156. package/libESM/api/evoluGetNode.d.mts +0 -13
  157. package/libESM/api/evoluGetNode.mjs +0 -27
  158. package/libESM/api/evoluSignRegistrationRequest.d.mts +0 -15
  159. package/libESM/api/evoluSignRegistrationRequest.mjs +0 -31
  160. package/libESM/api/firmware/calculateFirmwareHash.d.mts +0 -13
  161. package/libESM/api/firmware/calculateFirmwareHash.mjs +0 -56
  162. package/libESM/api/firmware/calculateXPubHash.d.mts +0 -10
  163. package/libESM/api/firmware/calculateXPubHash.mjs +0 -14
  164. package/libESM/api/firmware/getBinary.d.mts +0 -10
  165. package/libESM/api/firmware/getBinary.mjs +0 -33
  166. package/libESM/api/firmware/index.d.mts +0 -6
  167. package/libESM/api/firmware/index.mjs +0 -6
  168. package/libESM/api/firmware/modifyFirmware.d.mts +0 -3
  169. package/libESM/api/firmware/modifyFirmware.mjs +0 -13
  170. package/libESM/api/firmware/parseFirmwareHeaders.d.mts +0 -4
  171. package/libESM/api/firmware/parseFirmwareHeaders.mjs +0 -26
  172. package/libESM/api/firmware/uploadFirmware.d.mts +0 -19
  173. package/libESM/api/firmware/uploadFirmware.mjs +0 -99
  174. package/libESM/api/firmware/verifyEntropy.d.mts +0 -18
  175. package/libESM/api/firmware/verifyEntropy.mjs +0 -107
  176. package/libESM/api/getAccountInfo.d.mts +0 -94
  177. package/libESM/api/getAccountInfo.mjs +0 -385
  178. package/libESM/api/getAddress.d.mts +0 -39
  179. package/libESM/api/getAddress.mjs +0 -142
  180. package/libESM/api/getCoinInfo.d.mts +0 -148
  181. package/libESM/api/getCoinInfo.mjs +0 -29
  182. package/libESM/api/getDeviceState.d.mts +0 -8
  183. package/libESM/api/getDeviceState.mjs +0 -16
  184. package/libESM/api/getFeatures.d.mts +0 -70
  185. package/libESM/api/getFeatures.mjs +0 -20
  186. package/libESM/api/getFirmwareHash.d.mts +0 -11
  187. package/libESM/api/getFirmwareHash.mjs +0 -27
  188. package/libESM/api/getNonce.d.mts +0 -10
  189. package/libESM/api/getNonce.mjs +0 -16
  190. package/libESM/api/getOwnershipId.d.mts +0 -15
  191. package/libESM/api/getOwnershipId.mjs +0 -79
  192. package/libESM/api/getOwnershipProof.d.mts +0 -15
  193. package/libESM/api/getOwnershipProof.mjs +0 -86
  194. package/libESM/api/getPublicKey.d.mts +0 -50
  195. package/libESM/api/getPublicKey.mjs +0 -88
  196. package/libESM/api/getSettings.d.mts +0 -8
  197. package/libESM/api/getSettings.mjs +0 -15
  198. package/libESM/api/index.d.mts +0 -59
  199. package/libESM/api/index.mjs +0 -59
  200. package/libESM/api/loadDevice.d.mts +0 -16
  201. package/libESM/api/loadDevice.mjs +0 -44
  202. package/libESM/api/monero/api/index.d.mts +0 -4
  203. package/libESM/api/monero/api/index.mjs +0 -4
  204. package/libESM/api/monero/api/moneroGetAddress.d.mts +0 -30
  205. package/libESM/api/monero/api/moneroGetAddress.mjs +0 -109
  206. package/libESM/api/monero/api/moneroGetWatchKey.d.mts +0 -14
  207. package/libESM/api/monero/api/moneroGetWatchKey.mjs +0 -44
  208. package/libESM/api/monero/api/moneroKeyImageSync.d.mts +0 -17
  209. package/libESM/api/monero/api/moneroKeyImageSync.mjs +0 -127
  210. package/libESM/api/monero/api/moneroSignTransaction.d.mts +0 -17
  211. package/libESM/api/monero/api/moneroSignTransaction.mjs +0 -202
  212. package/libESM/api/pingDevice.d.mts +0 -11
  213. package/libESM/api/pingDevice.mjs +0 -27
  214. package/libESM/api/pushTransaction.d.mts +0 -17
  215. package/libESM/api/pushTransaction.mjs +0 -42
  216. package/libESM/api/recoveryDevice.d.mts +0 -20
  217. package/libESM/api/recoveryDevice.mjs +0 -50
  218. package/libESM/api/requestLogin.d.mts +0 -14
  219. package/libESM/api/requestLogin.mjs +0 -48
  220. package/libESM/api/resetDevice.d.mts +0 -22
  221. package/libESM/api/resetDevice.mjs +0 -131
  222. package/libESM/api/ripple/api/index.d.mts +0 -2
  223. package/libESM/api/ripple/api/index.mjs +0 -2
  224. package/libESM/api/ripple/api/rippleGetAddress.d.mts +0 -15
  225. package/libESM/api/ripple/api/rippleGetAddress.mjs +0 -22
  226. package/libESM/api/ripple/api/rippleSignTransaction.d.mts +0 -13
  227. package/libESM/api/ripple/api/rippleSignTransaction.mjs +0 -52
  228. package/libESM/api/setBrightness.d.mts +0 -12
  229. package/libESM/api/setBrightness.mjs +0 -26
  230. package/libESM/api/setBusy.d.mts +0 -11
  231. package/libESM/api/setBusy.mjs +0 -32
  232. package/libESM/api/showDeviceTutorial.d.mts +0 -11
  233. package/libESM/api/showDeviceTutorial.mjs +0 -21
  234. package/libESM/api/signMessage.d.mts +0 -25
  235. package/libESM/api/signMessage.mjs +0 -71
  236. package/libESM/api/signTransaction.d.mts +0 -197
  237. package/libESM/api/signTransaction.mjs +0 -334
  238. package/libESM/api/solana/api/index.d.mts +0 -4
  239. package/libESM/api/solana/api/index.mjs +0 -4
  240. package/libESM/api/solana/api/solanaComposeTransaction.d.mts +0 -31
  241. package/libESM/api/solana/api/solanaComposeTransaction.mjs +0 -76
  242. package/libESM/api/solana/api/solanaGetAddress.d.mts +0 -15
  243. package/libESM/api/solana/api/solanaGetAddress.mjs +0 -22
  244. package/libESM/api/solana/api/solanaGetPublicKey.d.mts +0 -28
  245. package/libESM/api/solana/api/solanaGetPublicKey.mjs +0 -67
  246. package/libESM/api/solana/api/solanaSignTransaction.d.mts +0 -41
  247. package/libESM/api/solana/api/solanaSignTransaction.mjs +0 -203
  248. package/libESM/api/solana/solanaDefinitions.d.mts +0 -7
  249. package/libESM/api/solana/solanaDefinitions.mjs +0 -33
  250. package/libESM/api/stellar/api/index.d.mts +0 -2
  251. package/libESM/api/stellar/api/index.mjs +0 -2
  252. package/libESM/api/stellar/api/stellarGetAddress.d.mts +0 -15
  253. package/libESM/api/stellar/api/stellarGetAddress.mjs +0 -22
  254. package/libESM/api/stellar/api/stellarSignTransaction.d.mts +0 -26
  255. package/libESM/api/stellar/api/stellarSignTransaction.mjs +0 -66
  256. package/libESM/api/stellar/stellarSignTx.d.mts +0 -7
  257. package/libESM/api/stellar/stellarSignTx.mjs +0 -191
  258. package/libESM/api/telemetryGet.d.mts +0 -14
  259. package/libESM/api/telemetryGet.mjs +0 -24
  260. package/libESM/api/tezos/api/index.d.mts +0 -3
  261. package/libESM/api/tezos/api/index.mjs +0 -3
  262. package/libESM/api/tezos/api/tezosGetAddress.d.mts +0 -15
  263. package/libESM/api/tezos/api/tezosGetAddress.mjs +0 -22
  264. package/libESM/api/tezos/api/tezosGetPublicKey.d.mts +0 -24
  265. package/libESM/api/tezos/api/tezosGetPublicKey.mjs +0 -66
  266. package/libESM/api/tezos/api/tezosSignTransaction.d.mts +0 -14
  267. package/libESM/api/tezos/api/tezosSignTransaction.mjs +0 -30
  268. package/libESM/api/tezos/tezosSignTx.d.mts +0 -71
  269. package/libESM/api/tezos/tezosSignTx.mjs +0 -204
  270. package/libESM/api/thpGetCredentials.d.mts +0 -13
  271. package/libESM/api/thpGetCredentials.mjs +0 -28
  272. package/libESM/api/thpRemoveCredentials.d.mts +0 -15
  273. package/libESM/api/thpRemoveCredentials.mjs +0 -42
  274. package/libESM/api/tron/api/index.d.mts +0 -3
  275. package/libESM/api/tron/api/index.mjs +0 -3
  276. package/libESM/api/tron/api/tronComposeTransaction.d.mts +0 -17
  277. package/libESM/api/tron/api/tronComposeTransaction.mjs +0 -51
  278. package/libESM/api/tron/api/tronGetAddress.d.mts +0 -15
  279. package/libESM/api/tron/api/tronGetAddress.mjs +0 -20
  280. package/libESM/api/tron/api/tronSignTransaction.d.mts +0 -19
  281. package/libESM/api/tron/api/tronSignTransaction.mjs +0 -129
  282. package/libESM/api/tron/tronEncode.d.mts +0 -12
  283. package/libESM/api/tron/tronEncode.mjs +0 -77
  284. package/libESM/api/tron/tronProtobuf.d.mts +0 -5
  285. package/libESM/api/tron/tronProtobuf.mjs +0 -28
  286. package/libESM/api/unlockPath.d.mts +0 -12
  287. package/libESM/api/unlockPath.mjs +0 -31
  288. package/libESM/api/verifyMessage.d.mts +0 -16
  289. package/libESM/api/verifyMessage.mjs +0 -46
  290. package/libESM/api/wipeDevice.d.mts +0 -21
  291. package/libESM/api/wipeDevice.mjs +0 -47
  292. package/libESM/backend/BackendManager.d.mts +0 -24
  293. package/libESM/backend/BackendManager.mjs +0 -137
  294. package/libESM/backend/Blockchain.d.mts +0 -81
  295. package/libESM/backend/Blockchain.mjs +0 -232
  296. package/libESM/backend/BlockchainLink.d.mts +0 -9
  297. package/libESM/backend/BlockchainLink.mjs +0 -13
  298. package/libESM/backend/fees/BitcoinFeeLevels.d.mts +0 -19
  299. package/libESM/backend/fees/BitcoinFeeLevels.mjs +0 -43
  300. package/libESM/backend/fees/EthereumFeeLevels.d.mts +0 -17
  301. package/libESM/backend/fees/EthereumFeeLevels.mjs +0 -52
  302. package/libESM/backend/fees/MiscFeeLevels.d.mts +0 -18
  303. package/libESM/backend/fees/MiscFeeLevels.mjs +0 -25
  304. package/libESM/backend/fees/index.d.mts +0 -5
  305. package/libESM/backend/fees/index.mjs +0 -30
  306. package/libESM/core/AbstractMethod.d.mts +0 -65
  307. package/libESM/core/AbstractMethod.mjs +0 -153
  308. package/libESM/core/index.d.mts +0 -27
  309. package/libESM/core/index.mjs +0 -795
  310. package/libESM/core/method.d.mts +0 -3
  311. package/libESM/core/method.mjs +0 -19
  312. package/libESM/core/method.native.d.mts +0 -2
  313. package/libESM/core/method.native.mjs +0 -29
  314. package/libESM/core/onCallFirmwareUpdate.d.mts +0 -39
  315. package/libESM/core/onCallFirmwareUpdate.mjs +0 -436
  316. package/libESM/data/coinInfo.d.mts +0 -374
  317. package/libESM/data/coinInfo.mjs +0 -183
  318. package/libESM/data/config.d.mts +0 -8
  319. package/libESM/data/config.mjs +0 -265
  320. package/libESM/data/defaultFeeLevels.d.mts +0 -18
  321. package/libESM/data/defaultFeeLevels.mjs +0 -174
  322. package/libESM/data/firmwareInfo.d.mts +0 -41
  323. package/libESM/data/firmwareInfo.mjs +0 -411
  324. package/libESM/data/firmwareReleaseStore.d.mts +0 -10
  325. package/libESM/data/firmwareReleaseStore.mjs +0 -16
  326. package/libESM/data/localFirmwareStore.d.mts +0 -3
  327. package/libESM/data/localFirmwareStore.mjs +0 -8
  328. package/libESM/data/protobufLoader.d.mts +0 -1
  329. package/libESM/data/protobufLoader.mjs +0 -29
  330. package/libESM/data/settingsStore.d.mts +0 -6
  331. package/libESM/data/settingsStore.mjs +0 -21
  332. package/libESM/device/Device.d.mts +0 -237
  333. package/libESM/device/Device.mjs +0 -729
  334. package/libESM/device/DeviceCommands.d.mts +0 -77
  335. package/libESM/device/DeviceCommands.mjs +0 -245
  336. package/libESM/device/DeviceCurrentSession.d.mts +0 -3208
  337. package/libESM/device/DeviceCurrentSession.mjs +0 -240
  338. package/libESM/device/DeviceList.d.mts +0 -68
  339. package/libESM/device/DeviceList.mjs +0 -246
  340. package/libESM/device/TransportList.d.mts +0 -9
  341. package/libESM/device/TransportList.mjs +0 -41
  342. package/libESM/device/TransportManager.d.mts +0 -30
  343. package/libESM/device/TransportManager.mjs +0 -142
  344. package/libESM/device/calculateRevisionForDevice.d.mts +0 -7
  345. package/libESM/device/calculateRevisionForDevice.mjs +0 -19
  346. package/libESM/device/checkFirmwareRevision.d.mts +0 -12
  347. package/libESM/device/checkFirmwareRevision.mjs +0 -75
  348. package/libESM/device/resolveDescriptorForTaproot.d.mts +0 -14
  349. package/libESM/device/resolveDescriptorForTaproot.mjs +0 -25
  350. package/libESM/device/thp/handshake.d.mts +0 -3
  351. package/libESM/device/thp/handshake.mjs +0 -100
  352. package/libESM/device/thp/index.d.mts +0 -5
  353. package/libESM/device/thp/index.mjs +0 -65
  354. package/libESM/device/thp/pairing.d.mts +0 -16
  355. package/libESM/device/thp/pairing.mjs +0 -237
  356. package/libESM/device/thp/session.d.mts +0 -2
  357. package/libESM/device/thp/session.mjs +0 -27
  358. package/libESM/device/thp/thpCall.d.mts +0 -40
  359. package/libESM/device/thp/thpCall.mjs +0 -58
  360. package/libESM/device/validateMessageSize.d.mts +0 -2
  361. package/libESM/device/validateMessageSize.mjs +0 -9
  362. package/libESM/device/workflow/changeLanguage.d.mts +0 -14
  363. package/libESM/device/workflow/changeLanguage.mjs +0 -59
  364. package/libESM/device/workflow/checkFirmwareHash.d.mts +0 -9
  365. package/libESM/device/workflow/checkFirmwareHash.mjs +0 -86
  366. package/libESM/device/workflow/checkFirmwareHashWithRetries.d.mts +0 -8
  367. package/libESM/device/workflow/checkFirmwareHashWithRetries.mjs +0 -36
  368. package/libESM/device/workflow/handshake.d.mts +0 -9
  369. package/libESM/device/workflow/handshake.mjs +0 -55
  370. package/libESM/device/workflow/trezorPushNotification.d.mts +0 -2
  371. package/libESM/device/workflow/trezorPushNotification.mjs +0 -73
  372. package/libESM/device/workflow/validateState.d.mts +0 -2
  373. package/libESM/device/workflow/validateState.mjs +0 -153
  374. package/libESM/events/ui-promise.d.mts +0 -22
  375. package/libESM/events/ui-promise.mjs +0 -1
  376. package/libESM/exports.d.mts +0 -3
  377. package/libESM/exports.mjs +0 -3
  378. package/libESM/impl/core-in-module.d.mts +0 -27
  379. package/libESM/impl/core-in-module.mjs +0 -173
  380. package/libESM/index.browser.d.mts +0 -9
  381. package/libESM/index.browser.mjs +0 -50
  382. package/libESM/index.d.mts +0 -6
  383. package/libESM/index.mjs +0 -32
  384. package/libESM/index.renderer.d.mts +0 -6
  385. package/libESM/index.renderer.mjs +0 -19
  386. package/libESM/tsconfig.libESM.tsbuildinfo +0 -1
  387. package/libESM/types/idevice.d.mts +0 -109
  388. package/libESM/types/idevice.mjs +0 -1
  389. package/libESM/types/typed-call-provider.d.mts +0 -29
  390. package/libESM/types/typed-call-provider.mjs +0 -1
  391. package/libESM/types/workflow.d.mts +0 -16
  392. package/libESM/types/workflow.mjs +0 -1
  393. package/libESM/utils/accountUtils.d.mts +0 -10
  394. package/libESM/utils/accountUtils.mjs +0 -83
  395. package/libESM/utils/addressUtils.d.mts +0 -2
  396. package/libESM/utils/addressUtils.mjs +0 -24
  397. package/libESM/utils/assetUtils.d.mts +0 -13
  398. package/libESM/utils/assetUtils.mjs +0 -56
  399. package/libESM/utils/assets.browser.d.mts +0 -1
  400. package/libESM/utils/assets.browser.mjs +0 -1
  401. package/libESM/utils/assets.d.mts +0 -2
  402. package/libESM/utils/assets.mjs +0 -13
  403. package/libESM/utils/assets.native.d.mts +0 -2
  404. package/libESM/utils/assets.native.mjs +0 -23
  405. package/libESM/utils/assetsTypes.d.mts +0 -5
  406. package/libESM/utils/assetsTypes.mjs +0 -1
  407. package/libESM/utils/buildOutputDescriptor.d.mts +0 -12
  408. package/libESM/utils/buildOutputDescriptor.mjs +0 -67
  409. package/libESM/utils/deviceFeaturesUtils.d.mts +0 -7
  410. package/libESM/utils/deviceFeaturesUtils.mjs +0 -109
  411. package/libESM/utils/ethereumUtils.d.mts +0 -3
  412. package/libESM/utils/ethereumUtils.mjs +0 -7
  413. package/libESM/utils/firmwareReleaseConfigUtils.d.mts +0 -19
  414. package/libESM/utils/firmwareReleaseConfigUtils.mjs +0 -131
  415. package/libESM/utils/firmwareUtils.d.mts +0 -13
  416. package/libESM/utils/firmwareUtils.mjs +0 -54
  417. package/libESM/utils/formatUtils.d.mts +0 -15
  418. package/libESM/utils/formatUtils.mjs +0 -45
  419. package/libESM/utils/hdnodeUtils.d.mts +0 -6
  420. package/libESM/utils/hdnodeUtils.mjs +0 -62
  421. package/libESM/utils/pathUtils.d.mts +0 -17
  422. package/libESM/utils/pathUtils.mjs +0 -141
  423. package/libESM/utils/paymentRequest.d.mts +0 -8
  424. package/libESM/utils/paymentRequest.mjs +0 -25
  425. package/libESM/utils/uiPromiseManager.d.mts +0 -8
  426. package/libESM/utils/uiPromiseManager.mjs +0 -51
  427. package/libESM/workers/workers.browser.d.mts +0 -10
  428. package/libESM/workers/workers.browser.mjs +0 -16
  429. package/libESM/workers/workers.d.mts +0 -10
  430. package/libESM/workers/workers.mjs +0 -8
  431. package/libESM/workers/workers.native.d.mts +0 -7
  432. package/libESM/workers/workers.native.mjs +0 -7
@@ -1,66 +0,0 @@
1
- import { CardanoGetNativeScriptHash as CardanoGetNativeScriptHashSchema } from "@trezor/connect-common/libESM/types/api/cardano/index.mjs";
2
- import { MessagesSchema as PROTO } from "@trezor/protobuf";
3
- import { Assert } from "@trezor/schema-utils";
4
- import { AbstractMethod } from "../../../core/AbstractMethod.mjs";
5
- import { getMiscNetwork } from "../../../data/coinInfo.mjs";
6
- import { validatePath } from "../../../utils/pathUtils.mjs";
7
- const validateScript = script => {
8
- if (script.keyPath) {
9
- validatePath(script.keyPath, 3);
10
- }
11
- script.scripts?.forEach(validateScript);
12
- };
13
- const scriptToProto = script => {
14
- let scripts = [];
15
- if (script.scripts) {
16
- scripts = script.scripts.map(scriptToProto);
17
- }
18
- let keyPath = [];
19
- if (script.keyPath) {
20
- keyPath = validatePath(script.keyPath, 3);
21
- }
22
- return {
23
- type: script.type,
24
- scripts,
25
- key_hash: script.keyHash,
26
- key_path: keyPath,
27
- required_signatures_count: script.requiredSignaturesCount,
28
- invalid_before: script.invalidBefore,
29
- invalid_hereafter: script.invalidHereafter
30
- };
31
- };
32
- export default class CardanoGetNativeScriptHash extends AbstractMethod {
33
- constructor(message) {
34
- const {
35
- payload
36
- } = message;
37
- Assert(CardanoGetNativeScriptHashSchema, payload);
38
- validateScript(payload.script);
39
- const params = {
40
- script: scriptToProto(payload.script),
41
- display_format: payload.displayFormat,
42
- derivation_type: typeof payload.derivationType !== 'undefined' ? payload.derivationType : PROTO.CardanoDerivationType.ICARUS_TREZOR
43
- };
44
- super(message, params);
45
- this.requiredDeviceCapabilities = ['Capability_Cardano'];
46
- this.requiredFirmwareCoins = [getMiscNetwork('Cardano')];
47
- }
48
- get requiredPermissions() {
49
- return ['read'];
50
- }
51
- get info() {
52
- return 'Get Cardano native script hash';
53
- }
54
- async run() {
55
- const {
56
- message
57
- } = await this.getDevice().getCommands().typedCall('CardanoGetNativeScriptHash', 'CardanoNativeScriptHash', {
58
- script: this.params.script,
59
- display_format: this.params.display_format,
60
- derivation_type: this.params.derivation_type
61
- });
62
- return {
63
- scriptHash: message.script_hash
64
- };
65
- }
66
- }
@@ -1,20 +0,0 @@
1
- import { type MethodPermission } from '@trezor/connect-common';
2
- import { MessagesSchema as PROTO } from '@trezor/protobuf';
3
- import type { MethodContext, MethodMessage } from '../../../core/AbstractMethod';
4
- import { AbstractMethod } from '../../../core/AbstractMethod';
5
- interface Params {
6
- proto: PROTO.CardanoGetPublicKey;
7
- suppressBackupWarning?: boolean;
8
- }
9
- export default class CardanoGetPublicKey extends AbstractMethod<'cardanoGetPublicKey', Params[]> {
10
- hasBundle?: boolean;
11
- constructor(message: MethodMessage<'cardanoGetPublicKey'>);
12
- get requiredPermissions(): MethodPermission[];
13
- get info(): string;
14
- get confirmation(): {
15
- view: "export-xpub";
16
- label: string;
17
- };
18
- run({ sendCoreMessage }: MethodContext): Promise<import("@trezor/connect-common").CardanoPublicKey | import("@trezor/connect-common").CardanoPublicKey[]>;
19
- }
20
- export {};
@@ -1,72 +0,0 @@
1
- import { Bundle, CardanoGetPublicKey as CardanoGetPublicKeySchema, UI_REQUEST, createUiMessage } from "@trezor/connect-common";
2
- import { MessagesSchema as PROTO } from "@trezor/protobuf";
3
- import { Assert } from "@trezor/schema-utils";
4
- import { AbstractMethod } from "../../../core/AbstractMethod.mjs";
5
- import { getMiscNetwork } from "../../../data/coinInfo.mjs";
6
- import { fromHardened, getSerializedPath, validatePath } from "../../../utils/pathUtils.mjs";
7
- import { bundlify } from "../../common/paramsValidator.mjs";
8
- export default class CardanoGetPublicKey extends AbstractMethod {
9
- hasBundle;
10
- constructor(message) {
11
- const {
12
- hasBundle,
13
- payload
14
- } = bundlify(message.payload);
15
- Assert(Bundle(CardanoGetPublicKeySchema), payload);
16
- const params = payload.bundle.map(batch => {
17
- const path = validatePath(batch.path, 3);
18
- const proto = {
19
- address_n: path,
20
- derivation_type: typeof batch.derivationType !== 'undefined' ? batch.derivationType : PROTO.CardanoDerivationType.ICARUS_TREZOR,
21
- show_display: typeof batch.showOnTrezor === 'boolean' ? batch.showOnTrezor : false
22
- };
23
- return {
24
- proto,
25
- suppressBackupWarning: batch.suppressBackupWarning
26
- };
27
- });
28
- super(message, params);
29
- this.hasBundle = hasBundle;
30
- this.confirmMissingBackup = !this.params.every(batch => batch.suppressBackupWarning || !batch.proto.show_display);
31
- this.requiredDeviceCapabilities = ['Capability_Cardano'];
32
- this.requiredFirmwareCoins = [getMiscNetwork('Cardano')];
33
- }
34
- get requiredPermissions() {
35
- return ['read'];
36
- }
37
- get info() {
38
- return 'Export Cardano public key';
39
- }
40
- get confirmation() {
41
- return {
42
- view: 'export-xpub',
43
- label: this.params.length > 1 ? 'Export multiple Cardano public keys' : `Export Cardano public key for account #${fromHardened(this.params[0].proto.address_n[2]) + 1}`
44
- };
45
- }
46
- async run({
47
- sendCoreMessage
48
- }) {
49
- const responses = [];
50
- const cmd = this.getDevice().getCommands();
51
- for (let i = 0; i < this.params.length; i++) {
52
- const batch = this.params[i].proto;
53
- const {
54
- message
55
- } = await cmd.typedCall('CardanoGetPublicKey', 'CardanoPublicKey', batch);
56
- responses.push({
57
- path: batch.address_n,
58
- serializedPath: getSerializedPath(batch.address_n),
59
- publicKey: message.xpub,
60
- node: message.node
61
- });
62
- if (this.hasBundle) {
63
- sendCoreMessage(createUiMessage(UI_REQUEST.BUNDLE_PROGRESS, {
64
- total: this.params.length,
65
- progress: i,
66
- response: message
67
- }));
68
- }
69
- }
70
- return this.hasBundle ? responses : responses[0];
71
- }
72
- }
@@ -1,27 +0,0 @@
1
- import { type MethodPermission } from '@trezor/connect-common';
2
- import { type CardanoMessageHeaders, type CardanoSignedMessage } from '@trezor/connect-common/libESM/types/api/cardano';
3
- import { MessagesSchema as PROTO } from '@trezor/protobuf';
4
- import type { MethodMessage } from '../../../core/AbstractMethod';
5
- import { AbstractMethod } from '../../../core/AbstractMethod';
6
- import type { Path } from '../cardanoInputs';
7
- export type CardanoSignMessageParams = {
8
- path: Path;
9
- payload: string;
10
- preferHexDisplay: boolean;
11
- networkId?: number;
12
- protocolMagic?: number;
13
- addressParameters?: PROTO.CardanoAddressParametersType;
14
- derivationType: PROTO.CardanoDerivationType;
15
- };
16
- export default class CardanoSignMessage extends AbstractMethod<'cardanoSignMessage', CardanoSignMessageParams> {
17
- static readonly VERSION = 1;
18
- constructor(message: MethodMessage<'cardanoSignMessage'>);
19
- get requiredPermissions(): MethodPermission[];
20
- run(): Promise<CardanoSignedMessage>;
21
- _createHeaders(address: string): CardanoMessageHeaders;
22
- _createCose(payload: string, signature: string, address: string, pubKey: string): {
23
- coseSignature: string;
24
- coseKey: string;
25
- };
26
- get info(): string;
27
- }
@@ -1,96 +0,0 @@
1
- import * as cbor from "cbor";
2
- import { CARDANO } from "@trezor/connect-common";
3
- import { ERRORS } from "@trezor/connect-common/libESM/constants/index.mjs";
4
- import { CardanoSignMessage as CardanoSignMessageSchema } from "@trezor/connect-common/libESM/types/api/cardano/index.mjs";
5
- import { MessagesSchema as PROTO } from "@trezor/protobuf";
6
- import { Assert } from "@trezor/schema-utils";
7
- import { AbstractMethod } from "../../../core/AbstractMethod.mjs";
8
- import { getMiscNetwork } from "../../../data/coinInfo.mjs";
9
- import { hasHexPrefix, isHexString } from "../../../utils/formatUtils.mjs";
10
- import { validatePath } from "../../../utils/pathUtils.mjs";
11
- import { addressParametersToProto } from "../cardanoAddressParameters.mjs";
12
- import { hexStringByteLength } from "../cardanoUtils.mjs";
13
- export default class CardanoSignMessage extends AbstractMethod {
14
- static VERSION = 1;
15
- constructor(message) {
16
- const {
17
- payload
18
- } = message;
19
- Assert(CardanoSignMessageSchema, payload);
20
- if (!isHexString(payload.payload) || hasHexPrefix(payload.payload)) {
21
- throw ERRORS.TypedError('Method_InvalidParameter', 'Message payload must be a hexadecimal string without a "0x" prefix.');
22
- }
23
- const params = {
24
- path: validatePath(payload.path, 5),
25
- payload: payload.payload,
26
- preferHexDisplay: payload.preferHexDisplay ?? false,
27
- networkId: payload.networkId,
28
- protocolMagic: payload.protocolMagic,
29
- addressParameters: payload.addressParameters && addressParametersToProto(payload.addressParameters),
30
- derivationType: payload.derivationType ?? PROTO.CardanoDerivationType.ICARUS_TREZOR
31
- };
32
- super(message, params);
33
- this.requiredFirmwareCoins = [getMiscNetwork('Cardano')];
34
- }
35
- get requiredPermissions() {
36
- return ['read', 'write'];
37
- }
38
- async run() {
39
- const typedCall = this.getDevice().getCommands().typedCall.bind(this.getDevice().getCommands());
40
- const payloadSize = hexStringByteLength(this.params.payload);
41
- let response = await typedCall('CardanoSignMessageInit', ['CardanoMessageSignature', 'CardanoMessageDataRequest'], {
42
- signing_path: this.params.path,
43
- payload_size: payloadSize,
44
- network_id: this.params.networkId,
45
- protocol_magic: this.params.protocolMagic,
46
- address_parameters: this.params.addressParameters,
47
- prefer_hex_display: this.params.preferHexDisplay,
48
- derivation_type: this.params.derivationType
49
- });
50
- while (response.type !== 'CardanoMessageSignature') {
51
- const {
52
- length,
53
- offset
54
- } = response.message;
55
- const data = this.params.payload.slice(offset * 2, (offset + length) * 2);
56
- response = await typedCall('CardanoMessageDataResponse', ['CardanoMessageSignature', 'CardanoMessageDataRequest'], {
57
- data
58
- });
59
- }
60
- const {
61
- signature,
62
- address,
63
- pub_key
64
- } = response.message;
65
- return {
66
- signature,
67
- payload: this.params.payload,
68
- headers: this._createHeaders(address),
69
- pubKey: pub_key,
70
- ...this._createCose(this.params.payload, signature, address, pub_key)
71
- };
72
- }
73
- _createHeaders(address) {
74
- return {
75
- protected: {
76
- 1: CARDANO.ALGORITHM_IDS.EdDSA,
77
- address
78
- },
79
- unprotected: {
80
- hashed: false,
81
- version: CardanoSignMessage.VERSION
82
- }
83
- };
84
- }
85
- _createCose(payload, signature, address, pubKey) {
86
- const coseSignature = cbor.encode([Buffer.from(cbor.encode(new Map().set(1, -8).set('address', Buffer.from(address, 'hex')))), new Map().set('hashed', false), Buffer.from(payload, 'hex'), Buffer.from(signature, 'hex')]);
87
- const coseKey = cbor.encode(new Map().set(1, 1).set(3, -8).set(-1, 6).set(-2, Buffer.from(pubKey, 'hex')));
88
- return {
89
- coseSignature: Buffer.from(coseSignature).toString('hex'),
90
- coseKey: Buffer.from(coseKey).toString('hex')
91
- };
92
- }
93
- get info() {
94
- return 'Sign Cardano message';
95
- }
96
- }
@@ -1,81 +0,0 @@
1
- import { type CardanoSignedTxData, type MethodPermission } from '@trezor/connect-common';
2
- import { MessagesSchema as PROTO } from '@trezor/protobuf';
3
- import type { MethodMessage } from '../../../core/AbstractMethod';
4
- import { AbstractMethod } from '../../../core/AbstractMethod';
5
- import type { CertificateWithPoolOwnersAndRelays } from '../cardanoCertificate';
6
- import type { CollateralInputWithPath, InputWithPath, Path } from '../cardanoInputs';
7
- import type { OutputWithData } from '../cardanoOutputs';
8
- import type { AssetGroupWithTokens } from '../cardanoTokenBundle';
9
- declare const CardanoSignTransactionFeatures: Readonly<{
10
- Conway: string[];
11
- }>;
12
- export type CardanoSignTransactionParams = {
13
- signingMode: PROTO.CardanoTxSigningMode;
14
- inputsWithPath: InputWithPath[];
15
- outputsWithData: OutputWithData[];
16
- fee: PROTO.CardanoSignTxInit['fee'];
17
- ttl?: PROTO.CardanoSignTxInit['ttl'];
18
- certificatesWithPoolOwnersAndRelays: CertificateWithPoolOwnersAndRelays[];
19
- withdrawals: PROTO.CardanoTxWithdrawal[];
20
- mint: AssetGroupWithTokens[];
21
- auxiliaryData?: PROTO.CardanoTxAuxiliaryData;
22
- validityIntervalStart?: PROTO.CardanoSignTxInit['validity_interval_start'];
23
- scriptDataHash?: string;
24
- collateralInputsWithPath: CollateralInputWithPath[];
25
- requiredSigners: PROTO.CardanoTxRequiredSigner[];
26
- collateralReturnWithData?: OutputWithData;
27
- totalCollateral?: PROTO.CardanoSignTxInit['total_collateral'];
28
- referenceInputs: PROTO.CardanoTxReferenceInput[];
29
- protocolMagic: number;
30
- networkId: number;
31
- witnessPaths: Path[];
32
- additionalWitnessRequests: Path[];
33
- derivationType: PROTO.CardanoDerivationType;
34
- includeNetworkId?: boolean;
35
- tagCborSets?: boolean;
36
- unsignedTx?: {
37
- body: string;
38
- hash: string;
39
- };
40
- testnet?: boolean;
41
- chunkify?: boolean;
42
- payment_req?: PROTO.PaymentRequest;
43
- };
44
- export default class CardanoSignTransaction extends AbstractMethod<'cardanoSignTransaction', CardanoSignTransactionParams> {
45
- constructor(message: MethodMessage<'cardanoSignTransaction'>);
46
- get requiredPermissions(): MethodPermission[];
47
- get info(): string;
48
- _isFeatureSupported(feature: keyof typeof CardanoSignTransactionFeatures): boolean;
49
- _ensureFeatureIsSupported(feature: keyof typeof CardanoSignTransactionFeatures): void;
50
- _ensureFirmwareSupportsParams(): void;
51
- _sign_tx(): Promise<CardanoSignedTxData>;
52
- run(): Promise<{
53
- auxiliaryDataSupplement?: {
54
- cVoteRegistrationSignature?: string | undefined;
55
- type: PROTO.CardanoTxAuxiliaryDataSupplementType;
56
- auxiliaryDataHash: string;
57
- } | undefined;
58
- hash: string;
59
- witnesses: {
60
- chainCode?: string | undefined;
61
- type: PROTO.CardanoTxWitnessType;
62
- signature: string;
63
- pubKey: string;
64
- }[];
65
- } | {
66
- serializedTx: string;
67
- auxiliaryDataSupplement?: {
68
- cVoteRegistrationSignature?: string | undefined;
69
- type: PROTO.CardanoTxAuxiliaryDataSupplementType;
70
- auxiliaryDataHash: string;
71
- } | undefined;
72
- hash: string;
73
- witnesses: {
74
- chainCode?: string | undefined;
75
- type: PROTO.CardanoTxWitnessType;
76
- signature: string;
77
- pubKey: string;
78
- }[];
79
- }>;
80
- }
81
- export {};
@@ -1,298 +0,0 @@
1
- import { trezorUtils } from "@fivebinaries/coin-selection";
2
- import { CardanoSignTransactionExtended, CardanoSignTransaction as CardanoSignTransactionSchema } from "@trezor/connect-common";
3
- import { ERRORS } from "@trezor/connect-common/libESM/constants/index.mjs";
4
- import { MessagesSchema as PROTO } from "@trezor/protobuf";
5
- import { Assert, Type } from "@trezor/schema-utils";
6
- import { AbstractMethod } from "../../../core/AbstractMethod.mjs";
7
- import { getMiscNetwork } from "../../../data/coinInfo.mjs";
8
- import { validatePath } from "../../../utils/pathUtils.mjs";
9
- import { PAYMENT_REQUEST_AMOUNT_BYTES, encodePaymentRequestAmount } from "../../../utils/paymentRequest.mjs";
10
- import { modifyAuxiliaryDataForBackwardsCompatibility, transformAuxiliaryData } from "../cardanoAuxiliaryData.mjs";
11
- import { transformCertificate } from "../cardanoCertificate.mjs";
12
- import { transformCollateralInput, transformInput, transformReferenceInput } from "../cardanoInputs.mjs";
13
- import { sendOutput, transformOutput } from "../cardanoOutputs.mjs";
14
- import { tokenBundleToProto } from "../cardanoTokenBundle.mjs";
15
- import { gatherWitnessPaths } from "../cardanoWitnesses.mjs";
16
- const CardanoSignTransactionFeatures = Object.freeze({
17
- Conway: ['0', '2.7.1']
18
- });
19
- export default class CardanoSignTransaction extends AbstractMethod {
20
- constructor(message) {
21
- const {
22
- payload
23
- } = message;
24
- if (payload.metadata) {
25
- throw ERRORS.TypedError('Method_InvalidParameter', 'Metadata field has been replaced by auxiliaryData.');
26
- }
27
- if (payload.auxiliaryData && payload.auxiliaryData.blob) {
28
- throw ERRORS.TypedError('Method_InvalidParameter', 'Auxiliary data can now only be sent as a hash.');
29
- }
30
- if (payload.auxiliaryData && payload.auxiliaryData.catalystRegistrationParameters) {
31
- console.warn('Please use cVoteRegistrationParameters instead of catalystRegistrationParameters.');
32
- payload.auxiliaryData.cVoteRegistrationParameters = payload.auxiliaryData.catalystRegistrationParameters;
33
- }
34
- if (payload.auxiliaryData && payload.auxiliaryData.governanceRegistrationParameters) {
35
- console.warn('Please use cVoteRegistrationParameters instead of governanceRegistrationParameters.');
36
- payload.auxiliaryData.cVoteRegistrationParameters = payload.auxiliaryData.governanceRegistrationParameters;
37
- }
38
- Assert(Type.Union([CardanoSignTransactionSchema, CardanoSignTransactionExtended]), payload);
39
- const inputsWithPath = payload.inputs.map(transformInput);
40
- const outputsWithData = payload.outputs.map(transformOutput);
41
- let certificatesWithPoolOwnersAndRelays = [];
42
- if (payload.certificates) {
43
- certificatesWithPoolOwnersAndRelays = payload.certificates.map(transformCertificate);
44
- }
45
- let withdrawals = [];
46
- if (payload.withdrawals) {
47
- withdrawals = payload.withdrawals.map(withdrawal => ({
48
- path: withdrawal.path ? validatePath(withdrawal.path, 5) : undefined,
49
- amount: withdrawal.amount,
50
- script_hash: withdrawal.scriptHash,
51
- key_hash: withdrawal.keyHash
52
- }));
53
- }
54
- let mint = [];
55
- if (payload.mint) {
56
- mint = tokenBundleToProto(payload.mint);
57
- }
58
- let auxiliaryData;
59
- if (payload.auxiliaryData) {
60
- auxiliaryData = transformAuxiliaryData(payload.auxiliaryData);
61
- }
62
- let additionalWitnessRequests = [];
63
- if (payload.additionalWitnessRequests) {
64
- additionalWitnessRequests = payload.additionalWitnessRequests.map(witnessRequest => validatePath(witnessRequest, 3));
65
- }
66
- let collateralInputsWithPath = [];
67
- if (payload.collateralInputs) {
68
- collateralInputsWithPath = payload.collateralInputs.map(transformCollateralInput);
69
- }
70
- let requiredSigners = [];
71
- if (payload.requiredSigners) {
72
- requiredSigners = payload.requiredSigners.map(requiredSigner => ({
73
- key_path: requiredSigner.keyPath ? validatePath(requiredSigner.keyPath, 3) : undefined,
74
- key_hash: requiredSigner.keyHash
75
- }));
76
- }
77
- const collateralReturnWithData = payload.collateralReturn ? transformOutput(payload.collateralReturn) : undefined;
78
- let referenceInputs = [];
79
- if (payload.referenceInputs) {
80
- referenceInputs = payload.referenceInputs.map(transformReferenceInput);
81
- }
82
- const params = {
83
- signingMode: payload.signingMode,
84
- inputsWithPath,
85
- outputsWithData,
86
- fee: payload.fee,
87
- ttl: payload.ttl,
88
- certificatesWithPoolOwnersAndRelays,
89
- withdrawals,
90
- mint,
91
- auxiliaryData,
92
- validityIntervalStart: payload.validityIntervalStart,
93
- scriptDataHash: payload.scriptDataHash,
94
- collateralInputsWithPath,
95
- requiredSigners,
96
- collateralReturnWithData,
97
- totalCollateral: payload.totalCollateral,
98
- referenceInputs,
99
- protocolMagic: payload.protocolMagic,
100
- networkId: payload.networkId,
101
- witnessPaths: gatherWitnessPaths(inputsWithPath, certificatesWithPoolOwnersAndRelays, withdrawals, collateralInputsWithPath, requiredSigners, additionalWitnessRequests, payload.signingMode),
102
- additionalWitnessRequests,
103
- derivationType: typeof payload.derivationType !== 'undefined' ? payload.derivationType : PROTO.CardanoDerivationType.ICARUS_TREZOR,
104
- includeNetworkId: payload.includeNetworkId,
105
- tagCborSets: payload.tagCborSets,
106
- unsignedTx: 'unsignedTx' in payload ? payload.unsignedTx : undefined,
107
- testnet: 'testnet' in payload ? payload.testnet : undefined,
108
- chunkify: typeof payload.chunkify === 'boolean' ? payload.chunkify : false,
109
- payment_req: payload.payment_req ? encodePaymentRequestAmount(payload.payment_req, PAYMENT_REQUEST_AMOUNT_BYTES.DEFAULT) : undefined
110
- };
111
- super(message, params);
112
- this.requiredDeviceCapabilities = ['Capability_Cardano'];
113
- this.requiredFirmwareCoins = [getMiscNetwork('Cardano')];
114
- }
115
- get requiredPermissions() {
116
- return ['read', 'write'];
117
- }
118
- get info() {
119
- return 'Sign Cardano transaction';
120
- }
121
- _isFeatureSupported(feature) {
122
- return this.getDevice().atLeast(CardanoSignTransactionFeatures[feature]);
123
- }
124
- _ensureFeatureIsSupported(feature) {
125
- if (!this._isFeatureSupported(feature)) {
126
- throw ERRORS.TypedError('Method_InvalidParameter', `Feature ${feature} not supported by device firmware`);
127
- }
128
- }
129
- _ensureFirmwareSupportsParams() {
130
- const {
131
- params
132
- } = this;
133
- params.certificatesWithPoolOwnersAndRelays.forEach(({
134
- certificate
135
- }) => {
136
- if (certificate.type === PROTO.CardanoCertificateType.STAKE_REGISTRATION_CONWAY || certificate.type === PROTO.CardanoCertificateType.STAKE_DEREGISTRATION_CONWAY || certificate.type === PROTO.CardanoCertificateType.VOTE_DELEGATION) {
137
- this._ensureFeatureIsSupported('Conway');
138
- }
139
- });
140
- if (params.tagCborSets) {
141
- this._ensureFeatureIsSupported('Conway');
142
- }
143
- }
144
- async _sign_tx() {
145
- const {
146
- typedCall
147
- } = this.getDevice().getCommands();
148
- const hasAuxiliaryData = !!this.params.auxiliaryData;
149
- const signTxInitMessage = {
150
- signing_mode: this.params.signingMode,
151
- protocol_magic: this.params.protocolMagic,
152
- network_id: this.params.networkId,
153
- inputs_count: this.params.inputsWithPath.length,
154
- outputs_count: this.params.outputsWithData.length,
155
- fee: this.params.fee,
156
- ttl: this.params.ttl,
157
- certificates_count: this.params.certificatesWithPoolOwnersAndRelays.length,
158
- withdrawals_count: this.params.withdrawals.length,
159
- has_auxiliary_data: hasAuxiliaryData,
160
- validity_interval_start: this.params.validityIntervalStart,
161
- witness_requests_count: this.params.witnessPaths.length,
162
- minting_asset_groups_count: this.params.mint.length,
163
- script_data_hash: this.params.scriptDataHash,
164
- collateral_inputs_count: this.params.collateralInputsWithPath.length,
165
- required_signers_count: this.params.requiredSigners.length,
166
- has_collateral_return: this.params.collateralReturnWithData != null,
167
- total_collateral: this.params.totalCollateral,
168
- reference_inputs_count: this.params.referenceInputs.length,
169
- derivation_type: this.params.derivationType,
170
- include_network_id: this.params.includeNetworkId,
171
- chunkify: this.params.chunkify,
172
- tag_cbor_sets: this.params.tagCborSets,
173
- payment_req: this.params.payment_req
174
- };
175
- await typedCall('CardanoSignTxInit', 'CardanoTxItemAck', signTxInitMessage);
176
- for (const {
177
- input
178
- } of this.params.inputsWithPath) {
179
- await typedCall('CardanoTxInput', 'CardanoTxItemAck', input);
180
- }
181
- for (const outputWithData of this.params.outputsWithData) {
182
- await sendOutput(typedCall, outputWithData);
183
- }
184
- for (const {
185
- certificate,
186
- poolOwners,
187
- poolRelays
188
- } of this.params.certificatesWithPoolOwnersAndRelays) {
189
- await typedCall('CardanoTxCertificate', 'CardanoTxItemAck', certificate);
190
- for (const poolOwner of poolOwners) {
191
- await typedCall('CardanoPoolOwner', 'CardanoTxItemAck', poolOwner);
192
- }
193
- for (const poolRelay of poolRelays) {
194
- await typedCall('CardanoPoolRelayParameters', 'CardanoTxItemAck', poolRelay);
195
- }
196
- }
197
- for (const withdrawal of this.params.withdrawals) {
198
- await typedCall('CardanoTxWithdrawal', 'CardanoTxItemAck', withdrawal);
199
- }
200
- let auxiliaryDataSupplement;
201
- if (this.params.auxiliaryData) {
202
- const {
203
- cvote_registration_parameters
204
- } = this.params.auxiliaryData;
205
- if (cvote_registration_parameters) {
206
- this.params.auxiliaryData = modifyAuxiliaryDataForBackwardsCompatibility(this.params.auxiliaryData);
207
- }
208
- const {
209
- message
210
- } = await typedCall('CardanoTxAuxiliaryData', 'CardanoTxAuxiliaryDataSupplement', this.params.auxiliaryData);
211
- const auxiliaryDataType = PROTO.CardanoTxAuxiliaryDataSupplementType[message.type];
212
- if (auxiliaryDataType !== PROTO.CardanoTxAuxiliaryDataSupplementType.NONE) {
213
- auxiliaryDataSupplement = {
214
- type: auxiliaryDataType,
215
- auxiliaryDataHash: message.auxiliary_data_hash,
216
- cVoteRegistrationSignature: message.cvote_registration_signature,
217
- catalystSignature: message.cvote_registration_signature,
218
- governanceSignature: message.cvote_registration_signature
219
- };
220
- }
221
- await typedCall('CardanoTxHostAck', 'CardanoTxItemAck');
222
- }
223
- if (this.params.mint.length > 0) {
224
- await typedCall('CardanoTxMint', 'CardanoTxItemAck', {
225
- asset_groups_count: this.params.mint.length
226
- });
227
- for (const assetGroup of this.params.mint) {
228
- await typedCall('CardanoAssetGroup', 'CardanoTxItemAck', {
229
- policy_id: assetGroup.policyId,
230
- tokens_count: assetGroup.tokens.length
231
- });
232
- for (const token of assetGroup.tokens) {
233
- await typedCall('CardanoToken', 'CardanoTxItemAck', token);
234
- }
235
- }
236
- }
237
- for (const {
238
- collateralInput
239
- } of this.params.collateralInputsWithPath) {
240
- await typedCall('CardanoTxCollateralInput', 'CardanoTxItemAck', collateralInput);
241
- }
242
- for (const requiredSigner of this.params.requiredSigners) {
243
- await typedCall('CardanoTxRequiredSigner', 'CardanoTxItemAck', requiredSigner);
244
- }
245
- if (this.params.collateralReturnWithData) {
246
- await sendOutput(typedCall, this.params.collateralReturnWithData);
247
- }
248
- for (const referenceInput of this.params.referenceInputs) {
249
- await typedCall('CardanoTxReferenceInput', 'CardanoTxItemAck', referenceInput);
250
- }
251
- const witnesses = [];
252
- for (const path of this.params.witnessPaths) {
253
- const {
254
- message
255
- } = await typedCall('CardanoTxWitnessRequest', 'CardanoTxWitnessResponse', {
256
- path
257
- });
258
- witnesses.push({
259
- type: PROTO.CardanoTxWitnessType[message.type],
260
- pubKey: message.pub_key,
261
- signature: message.signature,
262
- chainCode: message.chain_code
263
- });
264
- }
265
- const {
266
- message: txBodyHashMessage
267
- } = await typedCall('CardanoTxHostAck', 'CardanoTxBodyHash');
268
- await typedCall('CardanoTxHostAck', 'CardanoSignTxFinished');
269
- return {
270
- hash: txBodyHashMessage.tx_hash,
271
- witnesses,
272
- auxiliaryDataSupplement
273
- };
274
- }
275
- async run() {
276
- this._ensureFirmwareSupportsParams();
277
- const result = await this._sign_tx();
278
- if (!this.params.unsignedTx) return result;
279
- const {
280
- unsignedTx,
281
- testnet
282
- } = this.params;
283
- const {
284
- hash,
285
- witnesses
286
- } = result;
287
- if (hash !== unsignedTx.hash) {
288
- throw ERRORS.TypedError('Runtime', "Constructed transaction doesn't match the hash returned by the device.");
289
- }
290
- const serializedTx = trezorUtils.signTransaction(unsignedTx.body, witnesses, {
291
- testnet
292
- });
293
- return {
294
- ...result,
295
- serializedTx
296
- };
297
- }
298
- }
@@ -1,6 +0,0 @@
1
- export { default as cardanoGetAddress } from './cardanoGetAddress';
2
- export { default as cardanoGetNativeScriptHash } from './cardanoGetNativeScriptHash';
3
- export { default as cardanoGetPublicKey } from './cardanoGetPublicKey';
4
- export { default as cardanoSignTransaction } from './cardanoSignTransaction';
5
- export { default as cardanoComposeTransaction } from './cardanoComposeTransaction';
6
- export { default as cardanoSignMessage } from './cardanoSignMessage';
@@ -1,6 +0,0 @@
1
- export { default as cardanoGetAddress } from "./cardanoGetAddress.mjs";
2
- export { default as cardanoGetNativeScriptHash } from "./cardanoGetNativeScriptHash.mjs";
3
- export { default as cardanoGetPublicKey } from "./cardanoGetPublicKey.mjs";
4
- export { default as cardanoSignTransaction } from "./cardanoSignTransaction.mjs";
5
- export { default as cardanoComposeTransaction } from "./cardanoComposeTransaction.mjs";
6
- export { default as cardanoSignMessage } from "./cardanoSignMessage.mjs";