@onekeyfe/hd-core 1.2.0-alpha.57 → 1.2.0-alpha.59

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 (671) hide show
  1. package/__tests__/AllNetworkGetAddressBase.tracing.test.ts +84 -2
  2. package/__tests__/DeviceCommands.test.ts +14 -13
  3. package/__tests__/core-initialization.test.ts +23 -0
  4. package/__tests__/device-connector-protocol.test.ts +81 -0
  5. package/__tests__/device-pool-state.test.ts +22 -0
  6. package/__tests__/device-settings.test.ts +39 -18
  7. package/__tests__/device-state-mapper.test.ts +12 -0
  8. package/__tests__/device-utils.test.ts +48 -1
  9. package/__tests__/deviceSettings.test.ts +10 -0
  10. package/__tests__/deviceUploadNft.test.ts +4 -28
  11. package/__tests__/kaspa-use-tweak-pro2.test.ts +2 -2
  12. package/__tests__/protocol-v2-resources.test.ts +48 -9
  13. package/__tests__/protocol-v2-unlock-policy.test.ts +34 -0
  14. package/__tests__/protocol-v2.test.ts +208 -263
  15. package/__tests__/protocolV2FileWrite.test.ts +113 -0
  16. package/__tests__/public-pro2-api-boundary.test.ts +2 -98
  17. package/__tests__/tron-sign-message-init.test.ts +2 -2
  18. package/dist/api/CheckAllFirmwareRelease.d.ts.map +1 -1
  19. package/dist/api/FirmwareUpdateV4.d.ts +4 -4
  20. package/dist/api/FirmwareUpdateV4.d.ts.map +1 -1
  21. package/dist/api/OpenWalletSession.d.ts.map +1 -1
  22. package/dist/api/allnetwork/AllNetworkGetAddressBase.d.ts.map +1 -1
  23. package/dist/api/device/DeviceSettings.d.ts.map +1 -1
  24. package/dist/api/device/DeviceVerify.d.ts.map +1 -1
  25. package/dist/api/firmware/FirmwareUpdateBaseMethod.d.ts +4 -2
  26. package/dist/api/firmware/FirmwareUpdateBaseMethod.d.ts.map +1 -1
  27. package/dist/api/helpers/protocolV2FileWrite.d.ts +7 -0
  28. package/dist/api/helpers/protocolV2FileWrite.d.ts.map +1 -1
  29. package/dist/api/index.d.ts +0 -3
  30. package/dist/api/index.d.ts.map +1 -1
  31. package/dist/api/kaspa/KaspaGetAddress.d.ts +1 -1
  32. package/dist/api/kaspa/KaspaSignTransaction.d.ts +1 -1
  33. package/dist/api/polkadot/PolkadotGetAddress.d.ts +1 -1
  34. package/dist/api/polkadot/networks.d.ts +1 -1
  35. package/dist/api/protocol-v2/DeviceFactoryInfoGet.d.ts.map +1 -1
  36. package/dist/api/protocol-v2/DeviceFactoryInfoSet.d.ts.map +1 -1
  37. package/dist/api/protocol-v2/DeviceUploadNft.d.ts.map +1 -1
  38. package/dist/api/protocol-v2/helpers.d.ts +5 -15
  39. package/dist/api/protocol-v2/helpers.d.ts.map +1 -1
  40. package/dist/api/solana/SolSignMessage.d.ts +1 -1
  41. package/dist/api/solana/SolSignOffchainMessage.d.ts +1 -1
  42. package/dist/api/solana/SolSignTransaction.d.ts +2 -2
  43. package/dist/api/stellar/StellarSignTransaction.d.ts +1 -1
  44. package/dist/api/sui/SuiGetAddress.d.ts +1 -1
  45. package/dist/api/sui/SuiGetPublicKey.d.ts +1 -1
  46. package/dist/api/sui/SuiSignMessage.d.ts +1 -1
  47. package/dist/api/sui/SuiSignTransaction.d.ts +1 -1
  48. package/dist/api/ton/TonGetAddress.d.ts +1 -1
  49. package/dist/api/ton/TonSignMessage.d.ts +1 -1
  50. package/dist/api/ton/TonSignProof.d.ts +1 -1
  51. package/dist/api/tron/TronSignMessage.d.ts +2 -2
  52. package/dist/api/tron/TronSignTransaction.d.ts +1 -1
  53. package/dist/api/utils.d.ts +1 -6
  54. package/dist/api/utils.d.ts.map +1 -1
  55. package/dist/core/index.d.ts +4 -10
  56. package/dist/core/index.d.ts.map +1 -1
  57. package/dist/data-manager/DataManager.d.ts +8 -5
  58. package/dist/data-manager/DataManager.d.ts.map +1 -1
  59. package/dist/data-manager/TransportManager.d.ts.map +1 -1
  60. package/dist/device/Device.d.ts.map +1 -1
  61. package/dist/device/DeviceCommands.d.ts.map +1 -1
  62. package/dist/device/DeviceConnector.d.ts +2 -1
  63. package/dist/device/DeviceConnector.d.ts.map +1 -1
  64. package/dist/device/DevicePool.d.ts.map +1 -1
  65. package/dist/deviceProfile/protocolV2DeviceIdentity.d.ts.map +1 -1
  66. package/dist/index.d.ts +87 -756
  67. package/dist/index.d.ts.map +1 -1
  68. package/dist/index.js +723 -3114
  69. package/dist/inject.d.ts +2 -6
  70. package/dist/inject.d.ts.map +1 -1
  71. package/dist/protocols/protocol-v2/resources.d.ts +2 -2
  72. package/dist/protocols/protocol-v2/resources.d.ts.map +1 -1
  73. package/dist/types/api/checkAllFirmwareRelease.d.ts +1 -1
  74. package/dist/types/api/checkAllFirmwareRelease.d.ts.map +1 -1
  75. package/dist/types/api/firmwareUpdate.d.ts +3 -2
  76. package/dist/types/api/firmwareUpdate.d.ts.map +1 -1
  77. package/dist/types/api/index.d.ts +3 -176
  78. package/dist/types/api/index.d.ts.map +1 -1
  79. package/dist/types/api/protocolV2.d.ts +2 -8
  80. package/dist/types/api/protocolV2.d.ts.map +1 -1
  81. package/dist/types/device.d.ts +2 -2
  82. package/dist/types/device.d.ts.map +1 -1
  83. package/dist/types/settings.d.ts +22 -14
  84. package/dist/types/settings.d.ts.map +1 -1
  85. package/dist/utils/deviceFeaturesCompat.d.ts.map +1 -1
  86. package/dist/utils/deviceFeaturesUtils.d.ts.map +1 -1
  87. package/dist/utils/deviceInfoUtils.d.ts.map +1 -1
  88. package/dist/utils/deviceSettings.d.ts.map +1 -1
  89. package/dist/utils/patch.d.ts +1 -1
  90. package/dist/utils/patch.d.ts.map +1 -1
  91. package/package.json +4 -4
  92. package/src/api/CheckAllFirmwareRelease.ts +7 -5
  93. package/src/api/FirmwareUpdateV4.ts +154 -171
  94. package/src/api/OpenWalletSession.ts +1 -0
  95. package/src/api/allnetwork/AllNetworkGetAddressBase.ts +3 -1
  96. package/src/api/device/DeviceSettings.ts +5 -4
  97. package/src/api/device/DeviceVerify.ts +0 -2
  98. package/src/api/firmware/FirmwareUpdateBaseMethod.ts +12 -1
  99. package/src/api/helpers/protocolV2FileWrite.ts +192 -73
  100. package/src/api/index.ts +0 -3
  101. package/src/api/kaspa/KaspaGetAddress.ts +1 -1
  102. package/src/api/kaspa/KaspaSignTransaction.ts +1 -1
  103. package/src/api/polkadot/networks.ts +3 -3
  104. package/src/api/protocol-v2/DeviceFactoryInfoGet.ts +0 -3
  105. package/src/api/protocol-v2/DeviceFactoryInfoSet.ts +7 -6
  106. package/src/api/protocol-v2/DeviceUploadNft.ts +7 -12
  107. package/src/api/protocol-v2/helpers.ts +5 -153
  108. package/src/api/solana/SolSignMessage.ts +1 -1
  109. package/src/api/solana/SolSignOffchainMessage.ts +1 -1
  110. package/src/api/solana/SolSignTransaction.ts +2 -2
  111. package/src/api/sui/SuiGetAddress.ts +1 -1
  112. package/src/api/sui/SuiGetPublicKey.ts +1 -1
  113. package/src/api/sui/SuiSignMessage.ts +1 -1
  114. package/src/api/sui/SuiSignTransaction.ts +1 -1
  115. package/src/api/ton/TonGetAddress.ts +1 -1
  116. package/src/api/ton/TonSignMessage.ts +1 -1
  117. package/src/api/ton/TonSignProof.ts +1 -1
  118. package/src/api/tron/TronSignMessage.ts +2 -2
  119. package/src/api/tron/TronSignTransaction.ts +1 -1
  120. package/src/api/utils.ts +1 -46
  121. package/src/core/index.ts +16 -28
  122. package/src/data-manager/DataManager.ts +51 -11
  123. package/src/data-manager/TransportManager.ts +6 -0
  124. package/src/device/Device.ts +15 -6
  125. package/src/device/DeviceCommands.ts +24 -3
  126. package/src/device/DeviceConnector.ts +33 -13
  127. package/src/device/DevicePool.ts +17 -8
  128. package/src/deviceProfile/buildDeviceFeatures.ts +2 -2
  129. package/src/deviceProfile/protocolV2DeviceIdentity.ts +3 -0
  130. package/src/index.ts +0 -5
  131. package/src/inject.ts +7 -209
  132. package/src/protocols/protocol-v2/resources.ts +44 -13
  133. package/src/types/api/checkAllFirmwareRelease.ts +1 -1
  134. package/src/types/api/firmwareUpdate.ts +5 -5
  135. package/src/types/api/index.ts +2 -288
  136. package/src/types/api/protocolV2.ts +2 -43
  137. package/src/types/device.ts +12 -3
  138. package/src/types/settings.ts +30 -21
  139. package/src/utils/deviceFeaturesCompat.ts +5 -0
  140. package/src/utils/deviceFeaturesUtils.ts +6 -3
  141. package/src/utils/deviceInfoUtils.ts +2 -0
  142. package/src/utils/deviceSettings.ts +3 -0
  143. package/__tests__/public-test-api-boundary.test.ts +0 -167
  144. package/dist/api/BixinBackupDevice.d.ts +0 -7
  145. package/dist/api/BixinBackupDevice.d.ts.map +0 -1
  146. package/dist/api/BixinLoadDevice.d.ts +0 -7
  147. package/dist/api/BixinLoadDevice.d.ts.map +0 -1
  148. package/dist/api/BixinMessageSE.d.ts +0 -8
  149. package/dist/api/BixinMessageSE.d.ts.map +0 -1
  150. package/dist/api/BixinVerifyDeviceRequest.d.ts +0 -8
  151. package/dist/api/BixinVerifyDeviceRequest.d.ts.map +0 -1
  152. package/dist/api/WebAuthnAddResidentCredential.d.ts +0 -8
  153. package/dist/api/WebAuthnAddResidentCredential.d.ts.map +0 -1
  154. package/dist/api/WebAuthnListResidentCredentials.d.ts +0 -8
  155. package/dist/api/WebAuthnListResidentCredentials.d.ts.map +0 -1
  156. package/dist/api/WebAuthnRemoveResidentCredential.d.ts +0 -8
  157. package/dist/api/WebAuthnRemoveResidentCredential.d.ts.map +0 -1
  158. package/dist/api/binance/BinanceGetAddress.d.ts +0 -8
  159. package/dist/api/binance/BinanceGetAddress.d.ts.map +0 -1
  160. package/dist/api/binance/BinanceGetPublicKey.d.ts +0 -8
  161. package/dist/api/binance/BinanceGetPublicKey.d.ts.map +0 -1
  162. package/dist/api/binance/BinanceSignTx.d.ts +0 -7
  163. package/dist/api/binance/BinanceSignTx.d.ts.map +0 -1
  164. package/dist/api/btc/BTCAuthorizeCoinJoin.d.ts +0 -7
  165. package/dist/api/btc/BTCAuthorizeCoinJoin.d.ts.map +0 -1
  166. package/dist/api/btc/BTCGetOwnershipId.d.ts +0 -7
  167. package/dist/api/btc/BTCGetOwnershipId.d.ts.map +0 -1
  168. package/dist/api/btc/BTCGetOwnershipProof.d.ts +0 -7
  169. package/dist/api/btc/BTCGetOwnershipProof.d.ts.map +0 -1
  170. package/dist/api/crypto/CryptoBatchGetPublickeys.d.ts +0 -8
  171. package/dist/api/crypto/CryptoBatchGetPublickeys.d.ts.map +0 -1
  172. package/dist/api/crypto/CryptoCipherKeyValue.d.ts +0 -8
  173. package/dist/api/crypto/CryptoCipherKeyValue.d.ts.map +0 -1
  174. package/dist/api/crypto/CryptoCosiCommit.d.ts +0 -8
  175. package/dist/api/crypto/CryptoCosiCommit.d.ts.map +0 -1
  176. package/dist/api/crypto/CryptoCosiSign.d.ts +0 -8
  177. package/dist/api/crypto/CryptoCosiSign.d.ts.map +0 -1
  178. package/dist/api/crypto/CryptoGetECDHSessionKey.d.ts +0 -8
  179. package/dist/api/crypto/CryptoGetECDHSessionKey.d.ts.map +0 -1
  180. package/dist/api/crypto/CryptoSignIdentity.d.ts +0 -8
  181. package/dist/api/crypto/CryptoSignIdentity.d.ts.map +0 -1
  182. package/dist/api/debug/DebugLinkDecision.d.ts +0 -7
  183. package/dist/api/debug/DebugLinkDecision.d.ts.map +0 -1
  184. package/dist/api/debug/DebugLinkEraseSdCard.d.ts +0 -7
  185. package/dist/api/debug/DebugLinkEraseSdCard.d.ts.map +0 -1
  186. package/dist/api/debug/DebugLinkFlashErase.d.ts +0 -7
  187. package/dist/api/debug/DebugLinkFlashErase.d.ts.map +0 -1
  188. package/dist/api/debug/DebugLinkGetState.d.ts +0 -7
  189. package/dist/api/debug/DebugLinkGetState.d.ts.map +0 -1
  190. package/dist/api/debug/DebugLinkMemoryRead.d.ts +0 -7
  191. package/dist/api/debug/DebugLinkMemoryRead.d.ts.map +0 -1
  192. package/dist/api/debug/DebugLinkMemoryWrite.d.ts +0 -7
  193. package/dist/api/debug/DebugLinkMemoryWrite.d.ts.map +0 -1
  194. package/dist/api/debug/DebugLinkRecordScreen.d.ts +0 -7
  195. package/dist/api/debug/DebugLinkRecordScreen.d.ts.map +0 -1
  196. package/dist/api/debug/DebugLinkReseedRandom.d.ts +0 -7
  197. package/dist/api/debug/DebugLinkReseedRandom.d.ts.map +0 -1
  198. package/dist/api/debug/DebugLinkStop.d.ts +0 -7
  199. package/dist/api/debug/DebugLinkStop.d.ts.map +0 -1
  200. package/dist/api/debug/DebugLinkWatchLayout.d.ts +0 -7
  201. package/dist/api/debug/DebugLinkWatchLayout.d.ts.map +0 -1
  202. package/dist/api/emmc/EmmcDirList.d.ts +0 -7
  203. package/dist/api/emmc/EmmcDirList.d.ts.map +0 -1
  204. package/dist/api/emmc/EmmcDirMake.d.ts +0 -7
  205. package/dist/api/emmc/EmmcDirMake.d.ts.map +0 -1
  206. package/dist/api/emmc/EmmcDirRemove.d.ts +0 -7
  207. package/dist/api/emmc/EmmcDirRemove.d.ts.map +0 -1
  208. package/dist/api/emmc/EmmcFileDelete.d.ts +0 -7
  209. package/dist/api/emmc/EmmcFileDelete.d.ts.map +0 -1
  210. package/dist/api/emmc/EmmcFileRead.d.ts +0 -7
  211. package/dist/api/emmc/EmmcFileRead.d.ts.map +0 -1
  212. package/dist/api/emmc/EmmcFileWrite.d.ts +0 -7
  213. package/dist/api/emmc/EmmcFileWrite.d.ts.map +0 -1
  214. package/dist/api/emmc/EmmcFixPermission.d.ts +0 -7
  215. package/dist/api/emmc/EmmcFixPermission.d.ts.map +0 -1
  216. package/dist/api/emmc/EmmcPathInfo.d.ts +0 -7
  217. package/dist/api/emmc/EmmcPathInfo.d.ts.map +0 -1
  218. package/dist/api/eos/EosGetPublicKey.d.ts +0 -8
  219. package/dist/api/eos/EosGetPublicKey.d.ts.map +0 -1
  220. package/dist/api/eos/EosSignTx.d.ts +0 -12
  221. package/dist/api/eos/EosSignTx.d.ts.map +0 -1
  222. package/dist/api/evmTrezor/EVMGetAddress.d.ts +0 -10
  223. package/dist/api/evmTrezor/EVMGetAddress.d.ts.map +0 -1
  224. package/dist/api/evmTrezor/EVMGetPublicKey.d.ts +0 -16
  225. package/dist/api/evmTrezor/EVMGetPublicKey.d.ts.map +0 -1
  226. package/dist/api/evmTrezor/EVMSignMessage.d.ts +0 -7
  227. package/dist/api/evmTrezor/EVMSignMessage.d.ts.map +0 -1
  228. package/dist/api/evmTrezor/EVMSignTransaction.d.ts +0 -15
  229. package/dist/api/evmTrezor/EVMSignTransaction.d.ts.map +0 -1
  230. package/dist/api/evmTrezor/EVMSignTypedData.d.ts +0 -43
  231. package/dist/api/evmTrezor/EVMSignTypedData.d.ts.map +0 -1
  232. package/dist/api/evmTrezor/EVMVerifyMessage.d.ts +0 -7
  233. package/dist/api/evmTrezor/EVMVerifyMessage.d.ts.map +0 -1
  234. package/dist/api/evmTrezor/legacyV1/getAddress.d.ts +0 -6
  235. package/dist/api/evmTrezor/legacyV1/getAddress.d.ts.map +0 -1
  236. package/dist/api/evmTrezor/legacyV1/getPublicKey.d.ts +0 -6
  237. package/dist/api/evmTrezor/legacyV1/getPublicKey.d.ts.map +0 -1
  238. package/dist/api/evmTrezor/legacyV1/signMessage.d.ts +0 -6
  239. package/dist/api/evmTrezor/legacyV1/signMessage.d.ts.map +0 -1
  240. package/dist/api/evmTrezor/legacyV1/signTransaction.d.ts +0 -9
  241. package/dist/api/evmTrezor/legacyV1/signTransaction.d.ts.map +0 -1
  242. package/dist/api/evmTrezor/legacyV1/signTypedData.d.ts +0 -10
  243. package/dist/api/evmTrezor/legacyV1/signTypedData.d.ts.map +0 -1
  244. package/dist/api/evmTrezor/legacyV1/signTypedHash.d.ts +0 -11
  245. package/dist/api/evmTrezor/legacyV1/signTypedHash.d.ts.map +0 -1
  246. package/dist/api/evmTrezor/legacyV1/verifyMessage.d.ts +0 -6
  247. package/dist/api/evmTrezor/legacyV1/verifyMessage.d.ts.map +0 -1
  248. package/dist/api/extensionMethodNames.d.ts +0 -3
  249. package/dist/api/extensionMethodNames.d.ts.map +0 -1
  250. package/dist/api/factoryMethods.d.ts +0 -3
  251. package/dist/api/factoryMethods.d.ts.map +0 -1
  252. package/dist/api/firmware/FirmwareErase.d.ts +0 -12
  253. package/dist/api/firmware/FirmwareErase.d.ts.map +0 -1
  254. package/dist/api/firmware/FirmwareEraseEx.d.ts +0 -12
  255. package/dist/api/firmware/FirmwareEraseEx.d.ts.map +0 -1
  256. package/dist/api/firmware/FirmwareUpdateEmmcTest.d.ts +0 -7
  257. package/dist/api/firmware/FirmwareUpdateEmmcTest.d.ts.map +0 -1
  258. package/dist/api/firmware/FirmwareUploadTest.d.ts +0 -7
  259. package/dist/api/firmware/FirmwareUploadTest.d.ts.map +0 -1
  260. package/dist/api/firmware/Reboot.d.ts +0 -7
  261. package/dist/api/firmware/Reboot.d.ts.map +0 -1
  262. package/dist/api/firmware/SelfTest.d.ts +0 -7
  263. package/dist/api/firmware/SelfTest.d.ts.map +0 -1
  264. package/dist/api/manager/DeviceCancelAuthorization.d.ts +0 -7
  265. package/dist/api/manager/DeviceCancelAuthorization.d.ts.map +0 -1
  266. package/dist/api/manager/DeviceChangeWipeCode.d.ts +0 -7
  267. package/dist/api/manager/DeviceChangeWipeCode.d.ts.map +0 -1
  268. package/dist/api/manager/DeviceDoPreauthorized.d.ts +0 -7
  269. package/dist/api/manager/DeviceDoPreauthorized.d.ts.map +0 -1
  270. package/dist/api/manager/DeviceEndSession.d.ts +0 -7
  271. package/dist/api/manager/DeviceEndSession.d.ts.map +0 -1
  272. package/dist/api/manager/DeviceGetEntropy.d.ts +0 -7
  273. package/dist/api/manager/DeviceGetEntropy.d.ts.map +0 -1
  274. package/dist/api/manager/DeviceGetFirmwareHash.d.ts +0 -7
  275. package/dist/api/manager/DeviceGetFirmwareHash.d.ts.map +0 -1
  276. package/dist/api/manager/DeviceInfoSettings.d.ts +0 -7
  277. package/dist/api/manager/DeviceInfoSettings.d.ts.map +0 -1
  278. package/dist/api/manager/DeviceLoad.d.ts +0 -7
  279. package/dist/api/manager/DeviceLoad.d.ts.map +0 -1
  280. package/dist/api/manager/DevicePing.d.ts +0 -7
  281. package/dist/api/manager/DevicePing.d.ts.map +0 -1
  282. package/dist/api/manager/DeviceReadSEPublicCert.d.ts +0 -7
  283. package/dist/api/manager/DeviceReadSEPublicCert.d.ts.map +0 -1
  284. package/dist/api/manager/DeviceSESignMessage.d.ts +0 -7
  285. package/dist/api/manager/DeviceSESignMessage.d.ts.map +0 -1
  286. package/dist/api/manager/DeviceSdProtect.d.ts +0 -7
  287. package/dist/api/manager/DeviceSdProtect.d.ts.map +0 -1
  288. package/dist/api/manager/DeviceSpiFlashRead.d.ts +0 -7
  289. package/dist/api/manager/DeviceSpiFlashRead.d.ts.map +0 -1
  290. package/dist/api/manager/DeviceSpiFlashWrite.d.ts +0 -7
  291. package/dist/api/manager/DeviceSpiFlashWrite.d.ts.map +0 -1
  292. package/dist/api/manager/DeviceUnlockPath.d.ts +0 -7
  293. package/dist/api/manager/DeviceUnlockPath.d.ts.map +0 -1
  294. package/dist/api/manager/DeviceWriteSEPrivateKey.d.ts +0 -7
  295. package/dist/api/manager/DeviceWriteSEPrivateKey.d.ts.map +0 -1
  296. package/dist/api/manager/DeviceWriteSEPublicCert.d.ts +0 -7
  297. package/dist/api/manager/DeviceWriteSEPublicCert.d.ts.map +0 -1
  298. package/dist/api/manager/GetDeviceInfoSettings.d.ts +0 -7
  299. package/dist/api/manager/GetDeviceInfoSettings.d.ts.map +0 -1
  300. package/dist/api/manager/GetPublicKeyMultiple.d.ts +0 -7
  301. package/dist/api/manager/GetPublicKeyMultiple.d.ts.map +0 -1
  302. package/dist/api/manager/ListResDir.d.ts +0 -7
  303. package/dist/api/manager/ListResDir.d.ts.map +0 -1
  304. package/dist/api/manager/NFTWriteData.d.ts +0 -7
  305. package/dist/api/manager/NFTWriteData.d.ts.map +0 -1
  306. package/dist/api/manager/NFTWriteInfo.d.ts +0 -7
  307. package/dist/api/manager/NFTWriteInfo.d.ts.map +0 -1
  308. package/dist/api/manager/ReadSEPublicKey.d.ts +0 -7
  309. package/dist/api/manager/ReadSEPublicKey.d.ts.map +0 -1
  310. package/dist/api/manager/ResourceUpdate.d.ts +0 -6
  311. package/dist/api/manager/ResourceUpdate.d.ts.map +0 -1
  312. package/dist/api/methodExtension.d.ts +0 -13
  313. package/dist/api/methodExtension.d.ts.map +0 -1
  314. package/dist/api/monero/MoneroGetAddress.d.ts +0 -9
  315. package/dist/api/monero/MoneroGetAddress.d.ts.map +0 -1
  316. package/dist/api/monero/MoneroGetWatchKey.d.ts +0 -8
  317. package/dist/api/monero/MoneroGetWatchKey.d.ts.map +0 -1
  318. package/dist/api/nem/NEMDecryptMessage.d.ts +0 -8
  319. package/dist/api/nem/NEMDecryptMessage.d.ts.map +0 -1
  320. package/dist/api/protocol-v2/DeviceFactoryCertificateRead.d.ts +0 -7
  321. package/dist/api/protocol-v2/DeviceFactoryCertificateRead.d.ts.map +0 -1
  322. package/dist/api/protocol-v2/DeviceFactoryCertificateWrite.d.ts +0 -8
  323. package/dist/api/protocol-v2/DeviceFactoryCertificateWrite.d.ts.map +0 -1
  324. package/dist/api/protocol-v2/DeviceFactoryChallengeSign.d.ts +0 -8
  325. package/dist/api/protocol-v2/DeviceFactoryChallengeSign.d.ts.map +0 -1
  326. package/dist/api/testMethods.d.ts +0 -82
  327. package/dist/api/testMethods.d.ts.map +0 -1
  328. package/dist/api/tezos/TezosGetAddress.d.ts +0 -9
  329. package/dist/api/tezos/TezosGetAddress.d.ts.map +0 -1
  330. package/dist/api/tezos/TezosGetPublicKey.d.ts +0 -8
  331. package/dist/api/tezos/TezosGetPublicKey.d.ts.map +0 -1
  332. package/dist/api/tezos/TezosSignTx.d.ts +0 -12
  333. package/dist/api/tezos/TezosSignTx.d.ts.map +0 -1
  334. package/dist/types/api/binanceGetAddress.d.ts +0 -11
  335. package/dist/types/api/binanceGetAddress.d.ts.map +0 -1
  336. package/dist/types/api/binanceGetPublicKey.d.ts +0 -11
  337. package/dist/types/api/binanceGetPublicKey.d.ts.map +0 -1
  338. package/dist/types/api/binanceSignTx.d.ts +0 -7
  339. package/dist/types/api/binanceSignTx.d.ts.map +0 -1
  340. package/dist/types/api/bixinBackupDevice.d.ts +0 -4
  341. package/dist/types/api/bixinBackupDevice.d.ts.map +0 -1
  342. package/dist/types/api/bixinLoadDevice.d.ts +0 -4
  343. package/dist/types/api/bixinLoadDevice.d.ts.map +0 -1
  344. package/dist/types/api/bixinMessageSE.d.ts +0 -4
  345. package/dist/types/api/bixinMessageSE.d.ts.map +0 -1
  346. package/dist/types/api/bixinVerifyDeviceRequest.d.ts +0 -4
  347. package/dist/types/api/bixinVerifyDeviceRequest.d.ts.map +0 -1
  348. package/dist/types/api/btcAuthorizeCoinJoin.d.ts +0 -13
  349. package/dist/types/api/btcAuthorizeCoinJoin.d.ts.map +0 -1
  350. package/dist/types/api/btcGetOwnershipId.d.ts +0 -10
  351. package/dist/types/api/btcGetOwnershipId.d.ts.map +0 -1
  352. package/dist/types/api/btcGetOwnershipProof.d.ts +0 -13
  353. package/dist/types/api/btcGetOwnershipProof.d.ts.map +0 -1
  354. package/dist/types/api/cryptoBatchGetPublickeys.d.ts +0 -12
  355. package/dist/types/api/cryptoBatchGetPublickeys.d.ts.map +0 -1
  356. package/dist/types/api/cryptoCipherKeyValue.d.ts +0 -13
  357. package/dist/types/api/cryptoCipherKeyValue.d.ts.map +0 -1
  358. package/dist/types/api/cryptoCosiCommit.d.ts +0 -8
  359. package/dist/types/api/cryptoCosiCommit.d.ts.map +0 -1
  360. package/dist/types/api/cryptoCosiSign.d.ts +0 -10
  361. package/dist/types/api/cryptoCosiSign.d.ts.map +0 -1
  362. package/dist/types/api/cryptoGetECDHSessionKey.d.ts +0 -4
  363. package/dist/types/api/cryptoGetECDHSessionKey.d.ts.map +0 -1
  364. package/dist/types/api/cryptoSignIdentity.d.ts +0 -4
  365. package/dist/types/api/cryptoSignIdentity.d.ts.map +0 -1
  366. package/dist/types/api/debugLinkDecision.d.ts +0 -4
  367. package/dist/types/api/debugLinkDecision.d.ts.map +0 -1
  368. package/dist/types/api/debugLinkEraseSdCard.d.ts +0 -4
  369. package/dist/types/api/debugLinkEraseSdCard.d.ts.map +0 -1
  370. package/dist/types/api/debugLinkFlashErase.d.ts +0 -4
  371. package/dist/types/api/debugLinkFlashErase.d.ts.map +0 -1
  372. package/dist/types/api/debugLinkGetState.d.ts +0 -4
  373. package/dist/types/api/debugLinkGetState.d.ts.map +0 -1
  374. package/dist/types/api/debugLinkMemoryRead.d.ts +0 -4
  375. package/dist/types/api/debugLinkMemoryRead.d.ts.map +0 -1
  376. package/dist/types/api/debugLinkMemoryWrite.d.ts +0 -4
  377. package/dist/types/api/debugLinkMemoryWrite.d.ts.map +0 -1
  378. package/dist/types/api/debugLinkRecordScreen.d.ts +0 -4
  379. package/dist/types/api/debugLinkRecordScreen.d.ts.map +0 -1
  380. package/dist/types/api/debugLinkReseedRandom.d.ts +0 -4
  381. package/dist/types/api/debugLinkReseedRandom.d.ts.map +0 -1
  382. package/dist/types/api/debugLinkStop.d.ts +0 -4
  383. package/dist/types/api/debugLinkStop.d.ts.map +0 -1
  384. package/dist/types/api/debugLinkWatchLayout.d.ts +0 -4
  385. package/dist/types/api/debugLinkWatchLayout.d.ts.map +0 -1
  386. package/dist/types/api/deviceCancelAuthorization.d.ts +0 -4
  387. package/dist/types/api/deviceCancelAuthorization.d.ts.map +0 -1
  388. package/dist/types/api/deviceChangeWipeCode.d.ts +0 -4
  389. package/dist/types/api/deviceChangeWipeCode.d.ts.map +0 -1
  390. package/dist/types/api/deviceDoPreauthorized.d.ts +0 -4
  391. package/dist/types/api/deviceDoPreauthorized.d.ts.map +0 -1
  392. package/dist/types/api/deviceEndSession.d.ts +0 -4
  393. package/dist/types/api/deviceEndSession.d.ts.map +0 -1
  394. package/dist/types/api/deviceGetEntropy.d.ts +0 -4
  395. package/dist/types/api/deviceGetEntropy.d.ts.map +0 -1
  396. package/dist/types/api/deviceGetFirmwareHash.d.ts +0 -4
  397. package/dist/types/api/deviceGetFirmwareHash.d.ts.map +0 -1
  398. package/dist/types/api/deviceGetInfo.d.ts +0 -4
  399. package/dist/types/api/deviceGetInfo.d.ts.map +0 -1
  400. package/dist/types/api/deviceInfoSettings.d.ts +0 -4
  401. package/dist/types/api/deviceInfoSettings.d.ts.map +0 -1
  402. package/dist/types/api/deviceLoad.d.ts +0 -16
  403. package/dist/types/api/deviceLoad.d.ts.map +0 -1
  404. package/dist/types/api/devicePing.d.ts +0 -4
  405. package/dist/types/api/devicePing.d.ts.map +0 -1
  406. package/dist/types/api/deviceReadSEPublicCert.d.ts +0 -4
  407. package/dist/types/api/deviceReadSEPublicCert.d.ts.map +0 -1
  408. package/dist/types/api/deviceSESignMessage.d.ts +0 -4
  409. package/dist/types/api/deviceSESignMessage.d.ts.map +0 -1
  410. package/dist/types/api/deviceSdProtect.d.ts +0 -4
  411. package/dist/types/api/deviceSdProtect.d.ts.map +0 -1
  412. package/dist/types/api/deviceSpiFlashRead.d.ts +0 -4
  413. package/dist/types/api/deviceSpiFlashRead.d.ts.map +0 -1
  414. package/dist/types/api/deviceSpiFlashWrite.d.ts +0 -4
  415. package/dist/types/api/deviceSpiFlashWrite.d.ts.map +0 -1
  416. package/dist/types/api/deviceUnlockPath.d.ts +0 -11
  417. package/dist/types/api/deviceUnlockPath.d.ts.map +0 -1
  418. package/dist/types/api/deviceWriteSEPrivateKey.d.ts +0 -4
  419. package/dist/types/api/deviceWriteSEPrivateKey.d.ts.map +0 -1
  420. package/dist/types/api/deviceWriteSEPublicCert.d.ts +0 -4
  421. package/dist/types/api/deviceWriteSEPublicCert.d.ts.map +0 -1
  422. package/dist/types/api/emmcDirList.d.ts +0 -4
  423. package/dist/types/api/emmcDirList.d.ts.map +0 -1
  424. package/dist/types/api/emmcDirMake.d.ts +0 -4
  425. package/dist/types/api/emmcDirMake.d.ts.map +0 -1
  426. package/dist/types/api/emmcDirRemove.d.ts +0 -4
  427. package/dist/types/api/emmcDirRemove.d.ts.map +0 -1
  428. package/dist/types/api/emmcFileDelete.d.ts +0 -4
  429. package/dist/types/api/emmcFileDelete.d.ts.map +0 -1
  430. package/dist/types/api/emmcFileRead.d.ts +0 -4
  431. package/dist/types/api/emmcFileRead.d.ts.map +0 -1
  432. package/dist/types/api/emmcFileWrite.d.ts +0 -4
  433. package/dist/types/api/emmcFileWrite.d.ts.map +0 -1
  434. package/dist/types/api/emmcFixPermission.d.ts +0 -4
  435. package/dist/types/api/emmcFixPermission.d.ts.map +0 -1
  436. package/dist/types/api/emmcPathInfo.d.ts +0 -4
  437. package/dist/types/api/emmcPathInfo.d.ts.map +0 -1
  438. package/dist/types/api/eosGetPublicKey.d.ts +0 -8
  439. package/dist/types/api/eosGetPublicKey.d.ts.map +0 -1
  440. package/dist/types/api/eosSignTx.d.ts +0 -7
  441. package/dist/types/api/eosSignTx.d.ts.map +0 -1
  442. package/dist/types/api/evmGetAddressTrezor.d.ts +0 -15
  443. package/dist/types/api/evmGetAddressTrezor.d.ts.map +0 -1
  444. package/dist/types/api/evmGetPublicKeyTrezor.d.ts +0 -20
  445. package/dist/types/api/evmGetPublicKeyTrezor.d.ts.map +0 -1
  446. package/dist/types/api/evmSignMessageTrezor.d.ts +0 -9
  447. package/dist/types/api/evmSignMessageTrezor.d.ts.map +0 -1
  448. package/dist/types/api/evmSignTransactionTrezor.d.ts +0 -40
  449. package/dist/types/api/evmSignTransactionTrezor.d.ts.map +0 -1
  450. package/dist/types/api/evmSignTypedDataTrezor.d.ts +0 -34
  451. package/dist/types/api/evmSignTypedDataTrezor.d.ts.map +0 -1
  452. package/dist/types/api/evmVerifyMessageTrezor.d.ts +0 -10
  453. package/dist/types/api/evmVerifyMessageTrezor.d.ts.map +0 -1
  454. package/dist/types/api/firmwareErase.d.ts +0 -4
  455. package/dist/types/api/firmwareErase.d.ts.map +0 -1
  456. package/dist/types/api/firmwareEraseEx.d.ts +0 -4
  457. package/dist/types/api/firmwareEraseEx.d.ts.map +0 -1
  458. package/dist/types/api/firmwareUpdateEmmcTest.d.ts +0 -4
  459. package/dist/types/api/firmwareUpdateEmmcTest.d.ts.map +0 -1
  460. package/dist/types/api/firmwareUploadTest.d.ts +0 -4
  461. package/dist/types/api/firmwareUploadTest.d.ts.map +0 -1
  462. package/dist/types/api/getPublicKeyMultiple.d.ts +0 -4
  463. package/dist/types/api/getPublicKeyMultiple.d.ts.map +0 -1
  464. package/dist/types/api/listResDir.d.ts +0 -4
  465. package/dist/types/api/listResDir.d.ts.map +0 -1
  466. package/dist/types/api/moneroGetAddress.d.ts +0 -14
  467. package/dist/types/api/moneroGetAddress.d.ts.map +0 -1
  468. package/dist/types/api/moneroGetWatchKey.d.ts +0 -14
  469. package/dist/types/api/moneroGetWatchKey.d.ts.map +0 -1
  470. package/dist/types/api/nemDecryptMessage.d.ts +0 -10
  471. package/dist/types/api/nemDecryptMessage.d.ts.map +0 -1
  472. package/dist/types/api/nftWriteData.d.ts +0 -4
  473. package/dist/types/api/nftWriteData.d.ts.map +0 -1
  474. package/dist/types/api/nftWriteInfo.d.ts +0 -4
  475. package/dist/types/api/nftWriteInfo.d.ts.map +0 -1
  476. package/dist/types/api/readSEPublicKey.d.ts +0 -4
  477. package/dist/types/api/readSEPublicKey.d.ts.map +0 -1
  478. package/dist/types/api/reboot.d.ts +0 -4
  479. package/dist/types/api/reboot.d.ts.map +0 -1
  480. package/dist/types/api/resourceUpdate.d.ts +0 -7
  481. package/dist/types/api/resourceUpdate.d.ts.map +0 -1
  482. package/dist/types/api/selfTest.d.ts +0 -4
  483. package/dist/types/api/selfTest.d.ts.map +0 -1
  484. package/dist/types/api/tezosGetAddress.d.ts +0 -14
  485. package/dist/types/api/tezosGetAddress.d.ts.map +0 -1
  486. package/dist/types/api/tezosGetPublicKey.d.ts +0 -14
  487. package/dist/types/api/tezosGetPublicKey.d.ts.map +0 -1
  488. package/dist/types/api/tezosSignTx.d.ts +0 -7
  489. package/dist/types/api/tezosSignTx.d.ts.map +0 -1
  490. package/dist/types/api/webAuthnAddResidentCredential.d.ts +0 -4
  491. package/dist/types/api/webAuthnAddResidentCredential.d.ts.map +0 -1
  492. package/dist/types/api/webAuthnListResidentCredentials.d.ts +0 -4
  493. package/dist/types/api/webAuthnListResidentCredentials.d.ts.map +0 -1
  494. package/dist/types/api/webAuthnRemoveResidentCredential.d.ts +0 -4
  495. package/dist/types/api/webAuthnRemoveResidentCredential.d.ts.map +0 -1
  496. package/src/api/BixinBackupDevice.ts +0 -15
  497. package/src/api/BixinLoadDevice.ts +0 -22
  498. package/src/api/BixinMessageSE.ts +0 -22
  499. package/src/api/BixinVerifyDeviceRequest.ts +0 -22
  500. package/src/api/WebAuthnAddResidentCredential.ts +0 -22
  501. package/src/api/WebAuthnListResidentCredentials.ts +0 -24
  502. package/src/api/WebAuthnRemoveResidentCredential.ts +0 -22
  503. package/src/api/binance/BinanceGetAddress.ts +0 -26
  504. package/src/api/binance/BinanceGetPublicKey.ts +0 -26
  505. package/src/api/binance/BinanceSignTx.ts +0 -35
  506. package/src/api/btc/BTCAuthorizeCoinJoin.ts +0 -37
  507. package/src/api/btc/BTCGetOwnershipId.ts +0 -34
  508. package/src/api/btc/BTCGetOwnershipProof.ts +0 -37
  509. package/src/api/crypto/CryptoBatchGetPublickeys.ts +0 -30
  510. package/src/api/crypto/CryptoCipherKeyValue.ts +0 -29
  511. package/src/api/crypto/CryptoCosiCommit.ts +0 -24
  512. package/src/api/crypto/CryptoCosiSign.ts +0 -26
  513. package/src/api/crypto/CryptoGetECDHSessionKey.ts +0 -24
  514. package/src/api/crypto/CryptoSignIdentity.ts +0 -25
  515. package/src/api/debug/DebugLinkDecision.ts +0 -25
  516. package/src/api/debug/DebugLinkEraseSdCard.ts +0 -23
  517. package/src/api/debug/DebugLinkFlashErase.ts +0 -23
  518. package/src/api/debug/DebugLinkGetState.ts +0 -21
  519. package/src/api/debug/DebugLinkMemoryRead.ts +0 -24
  520. package/src/api/debug/DebugLinkMemoryWrite.ts +0 -25
  521. package/src/api/debug/DebugLinkRecordScreen.ts +0 -23
  522. package/src/api/debug/DebugLinkReseedRandom.ts +0 -23
  523. package/src/api/debug/DebugLinkStop.ts +0 -25
  524. package/src/api/debug/DebugLinkWatchLayout.ts +0 -23
  525. package/src/api/emmc/EmmcDirList.ts +0 -20
  526. package/src/api/emmc/EmmcDirMake.ts +0 -20
  527. package/src/api/emmc/EmmcDirRemove.ts +0 -20
  528. package/src/api/emmc/EmmcFileDelete.ts +0 -20
  529. package/src/api/emmc/EmmcFileRead.ts +0 -21
  530. package/src/api/emmc/EmmcFileWrite.ts +0 -23
  531. package/src/api/emmc/EmmcFixPermission.ts +0 -17
  532. package/src/api/emmc/EmmcPathInfo.ts +0 -20
  533. package/src/api/eos/EosGetPublicKey.ts +0 -26
  534. package/src/api/eos/EosSignTx.ts +0 -40
  535. package/src/api/evmTrezor/EVMGetAddress.ts +0 -75
  536. package/src/api/evmTrezor/EVMGetPublicKey.ts +0 -106
  537. package/src/api/evmTrezor/EVMSignMessage.ts +0 -40
  538. package/src/api/evmTrezor/EVMSignTransaction.ts +0 -83
  539. package/src/api/evmTrezor/EVMSignTypedData.ts +0 -366
  540. package/src/api/evmTrezor/EVMVerifyMessage.ts +0 -37
  541. package/src/api/evmTrezor/legacyV1/getAddress.ts +0 -16
  542. package/src/api/evmTrezor/legacyV1/getPublicKey.ts +0 -20
  543. package/src/api/evmTrezor/legacyV1/signMessage.ts +0 -22
  544. package/src/api/evmTrezor/legacyV1/signTransaction.ts +0 -24
  545. package/src/api/evmTrezor/legacyV1/signTypedData.ts +0 -36
  546. package/src/api/evmTrezor/legacyV1/signTypedHash.ts +0 -48
  547. package/src/api/evmTrezor/legacyV1/verifyMessage.ts +0 -19
  548. package/src/api/extensionMethodNames.ts +0 -88
  549. package/src/api/factoryMethods.ts +0 -2
  550. package/src/api/firmware/FirmwareErase.ts +0 -18
  551. package/src/api/firmware/FirmwareEraseEx.ts +0 -18
  552. package/src/api/firmware/FirmwareUpdateEmmcTest.ts +0 -18
  553. package/src/api/firmware/FirmwareUploadTest.ts +0 -17
  554. package/src/api/firmware/Reboot.ts +0 -17
  555. package/src/api/firmware/SelfTest.ts +0 -17
  556. package/src/api/manager/DeviceCancelAuthorization.ts +0 -15
  557. package/src/api/manager/DeviceChangeWipeCode.ts +0 -19
  558. package/src/api/manager/DeviceDoPreauthorized.ts +0 -15
  559. package/src/api/manager/DeviceEndSession.ts +0 -19
  560. package/src/api/manager/DeviceGetEntropy.ts +0 -19
  561. package/src/api/manager/DeviceGetFirmwareHash.ts +0 -23
  562. package/src/api/manager/DeviceInfoSettings.ts +0 -23
  563. package/src/api/manager/DeviceLoad.ts +0 -27
  564. package/src/api/manager/DevicePing.ts +0 -19
  565. package/src/api/manager/DeviceReadSEPublicCert.ts +0 -18
  566. package/src/api/manager/DeviceSESignMessage.ts +0 -23
  567. package/src/api/manager/DeviceSdProtect.ts +0 -18
  568. package/src/api/manager/DeviceSpiFlashRead.ts +0 -22
  569. package/src/api/manager/DeviceSpiFlashWrite.ts +0 -22
  570. package/src/api/manager/DeviceUnlockPath.ts +0 -26
  571. package/src/api/manager/DeviceWriteSEPrivateKey.ts +0 -23
  572. package/src/api/manager/DeviceWriteSEPublicCert.ts +0 -23
  573. package/src/api/manager/GetDeviceInfoSettings.ts +0 -20
  574. package/src/api/manager/GetPublicKeyMultiple.ts +0 -24
  575. package/src/api/manager/ListResDir.ts +0 -19
  576. package/src/api/manager/NFTWriteData.ts +0 -21
  577. package/src/api/manager/NFTWriteInfo.ts +0 -23
  578. package/src/api/manager/ReadSEPublicKey.ts +0 -20
  579. package/src/api/manager/ResourceUpdate.ts +0 -22
  580. package/src/api/methodExtension.ts +0 -27
  581. package/src/api/monero/MoneroGetAddress.ts +0 -64
  582. package/src/api/monero/MoneroGetWatchKey.ts +0 -59
  583. package/src/api/nem/NEMDecryptMessage.ts +0 -29
  584. package/src/api/protocol-v2/DeviceFactoryCertificateRead.ts +0 -25
  585. package/src/api/protocol-v2/DeviceFactoryCertificateWrite.ts +0 -30
  586. package/src/api/protocol-v2/DeviceFactoryChallengeSign.ts +0 -28
  587. package/src/api/testMethods.ts +0 -95
  588. package/src/api/tezos/TezosGetAddress.ts +0 -64
  589. package/src/api/tezos/TezosGetPublicKey.ts +0 -63
  590. package/src/api/tezos/TezosSignTx.ts +0 -44
  591. package/src/types/api/binanceGetAddress.ts +0 -17
  592. package/src/types/api/binanceGetPublicKey.ts +0 -17
  593. package/src/types/api/binanceSignTx.ts +0 -15
  594. package/src/types/api/bixinBackupDevice.ts +0 -8
  595. package/src/types/api/bixinLoadDevice.ts +0 -8
  596. package/src/types/api/bixinMessageSE.ts +0 -8
  597. package/src/types/api/bixinVerifyDeviceRequest.ts +0 -8
  598. package/src/types/api/btcAuthorizeCoinJoin.ts +0 -18
  599. package/src/types/api/btcGetOwnershipId.ts +0 -19
  600. package/src/types/api/btcGetOwnershipProof.ts +0 -22
  601. package/src/types/api/cryptoBatchGetPublickeys.ts +0 -18
  602. package/src/types/api/cryptoCipherKeyValue.ts +0 -18
  603. package/src/types/api/cryptoCosiCommit.ts +0 -13
  604. package/src/types/api/cryptoCosiSign.ts +0 -15
  605. package/src/types/api/cryptoGetECDHSessionKey.ts +0 -8
  606. package/src/types/api/cryptoSignIdentity.ts +0 -8
  607. package/src/types/api/debugLinkDecision.ts +0 -7
  608. package/src/types/api/debugLinkEraseSdCard.ts +0 -7
  609. package/src/types/api/debugLinkFlashErase.ts +0 -7
  610. package/src/types/api/debugLinkGetState.ts +0 -7
  611. package/src/types/api/debugLinkMemoryRead.ts +0 -7
  612. package/src/types/api/debugLinkMemoryWrite.ts +0 -7
  613. package/src/types/api/debugLinkRecordScreen.ts +0 -7
  614. package/src/types/api/debugLinkReseedRandom.ts +0 -7
  615. package/src/types/api/debugLinkStop.ts +0 -7
  616. package/src/types/api/debugLinkWatchLayout.ts +0 -7
  617. package/src/types/api/deviceCancelAuthorization.ts +0 -7
  618. package/src/types/api/deviceChangeWipeCode.ts +0 -7
  619. package/src/types/api/deviceDoPreauthorized.ts +0 -7
  620. package/src/types/api/deviceEndSession.ts +0 -7
  621. package/src/types/api/deviceGetEntropy.ts +0 -7
  622. package/src/types/api/deviceGetFirmwareHash.ts +0 -7
  623. package/src/types/api/deviceGetInfo.ts +0 -7
  624. package/src/types/api/deviceInfoSettings.ts +0 -7
  625. package/src/types/api/deviceLoad.ts +0 -19
  626. package/src/types/api/devicePing.ts +0 -7
  627. package/src/types/api/deviceReadSEPublicCert.ts +0 -7
  628. package/src/types/api/deviceSESignMessage.ts +0 -7
  629. package/src/types/api/deviceSdProtect.ts +0 -7
  630. package/src/types/api/deviceSpiFlashRead.ts +0 -7
  631. package/src/types/api/deviceSpiFlashWrite.ts +0 -7
  632. package/src/types/api/deviceUnlockPath.ts +0 -16
  633. package/src/types/api/deviceWriteSEPrivateKey.ts +0 -7
  634. package/src/types/api/deviceWriteSEPublicCert.ts +0 -7
  635. package/src/types/api/emmcDirList.ts +0 -7
  636. package/src/types/api/emmcDirMake.ts +0 -7
  637. package/src/types/api/emmcDirRemove.ts +0 -7
  638. package/src/types/api/emmcFileDelete.ts +0 -7
  639. package/src/types/api/emmcFileRead.ts +0 -7
  640. package/src/types/api/emmcFileWrite.ts +0 -7
  641. package/src/types/api/emmcFixPermission.ts +0 -7
  642. package/src/types/api/emmcPathInfo.ts +0 -7
  643. package/src/types/api/eosGetPublicKey.ts +0 -13
  644. package/src/types/api/eosSignTx.ts +0 -12
  645. package/src/types/api/evmGetAddressTrezor.ts +0 -24
  646. package/src/types/api/evmGetPublicKeyTrezor.ts +0 -31
  647. package/src/types/api/evmSignMessageTrezor.ts +0 -14
  648. package/src/types/api/evmSignTransactionTrezor.ts +0 -49
  649. package/src/types/api/evmSignTypedDataTrezor.ts +0 -42
  650. package/src/types/api/evmVerifyMessageTrezor.ts +0 -15
  651. package/src/types/api/firmwareErase.ts +0 -4
  652. package/src/types/api/firmwareEraseEx.ts +0 -7
  653. package/src/types/api/firmwareUpdateEmmcTest.ts +0 -7
  654. package/src/types/api/firmwareUploadTest.ts +0 -7
  655. package/src/types/api/getPublicKeyMultiple.ts +0 -11
  656. package/src/types/api/listResDir.ts +0 -8
  657. package/src/types/api/moneroGetAddress.ts +0 -23
  658. package/src/types/api/moneroGetWatchKey.ts +0 -26
  659. package/src/types/api/nemDecryptMessage.ts +0 -15
  660. package/src/types/api/nftWriteData.ts +0 -8
  661. package/src/types/api/nftWriteInfo.ts +0 -8
  662. package/src/types/api/readSEPublicKey.ts +0 -8
  663. package/src/types/api/reboot.ts +0 -4
  664. package/src/types/api/resourceUpdate.ts +0 -11
  665. package/src/types/api/selfTest.ts +0 -7
  666. package/src/types/api/tezosGetAddress.ts +0 -23
  667. package/src/types/api/tezosGetPublicKey.ts +0 -23
  668. package/src/types/api/tezosSignTx.ts +0 -12
  669. package/src/types/api/webAuthnAddResidentCredential.ts +0 -8
  670. package/src/types/api/webAuthnListResidentCredentials.ts +0 -8
  671. package/src/types/api/webAuthnRemoveResidentCredential.ts +0 -8
@@ -8,6 +8,7 @@ import { sha256 } from '@noble/hashes/sha256';
8
8
 
9
9
  import { FirmwareUpdateTipMessage, UI_REQUEST } from '../events/ui-request';
10
10
  import { validateProtocolV2FilesystemPath } from './helpers/filesystemValidation';
11
+ import { writeProtocolV2File } from './helpers/protocolV2FileWrite';
11
12
  import { validateParams } from './helpers/paramsValidator';
12
13
  import {
13
14
  LoggerNames,
@@ -45,15 +46,14 @@ import type { TypedResponseMessage } from '../device/DeviceCommands';
45
46
  import type {
46
47
  Features,
47
48
  IFirmwareReleaseInfo,
48
- IProtocolV2BootResources,
49
49
  IProtocolV2FirmwareComponent,
50
50
  IProtocolV2Resource,
51
+ IProtocolV2ResourceFile,
51
52
  IVersionArray,
52
53
  } from '../types';
53
54
 
54
55
  const Log = getLogger(LoggerNames.Method);
55
56
 
56
- const SESSION_ERROR = 'session not found';
57
57
  const PROTOCOL_V2_BOOTLOADER_RECONNECT_TIMEOUT = 90 * 1000;
58
58
  const PROTOCOL_V2_FINAL_RECONNECT_TIMEOUT = 3 * 60 * 1000;
59
59
  const PROTOCOL_V2_SHORT_RESPONSE_TIMEOUT = 5 * 1000;
@@ -77,7 +77,6 @@ const PROTOCOL_V2_OKPP_HEADER_SIZE = 0x52a0;
77
77
  const PROTOCOL_V2_OKPP_PAYLOAD_HASH_OFFSET = 0x200;
78
78
  const PROTOCOL_V2_OKPP_HEADER_HASH_OFFSET = 0x240;
79
79
  const PROTOCOL_V2_OKPP_HASH_SIZE = 64;
80
- const PROTOCOL_V2_BOOT_RESOURCES_FILE_NAME = 'boot_resources.crate.okpkg';
81
80
 
82
81
  const getProtocolV2DeviceTransferProgress = (
83
82
  bytesBeforeChunk: number,
@@ -112,7 +111,7 @@ type ProtocolV2FirmwareUpdateStartResponse = TypedResponseMessage<'Success'>;
112
111
 
113
112
  type ProtocolV2TargetBinary = { fileName: string; binary: ArrayBuffer; targetId: number };
114
113
  type ProtocolV2InstallItem = ProtocolV2TargetBinary & {
115
- kind: ProtocolV2RemoteComponentTarget['kind'] | 'boot_resources';
114
+ kind: ProtocolV2RemoteComponentTarget['kind'];
116
115
  };
117
116
  type ProtocolV2InstallTarget = ProtocolV2InstallItem & {
118
117
  path: string;
@@ -125,7 +124,7 @@ type ProtocolV2FileTransferParams = PROTO.FirmwareUpload & {
125
124
  onTransferredBytes?: (transferredBytes: number) => void;
126
125
  };
127
126
 
128
- /** RESC bundle okpkg written independently to devicePath through FileWrite. */
127
+ /** Protocol V2 resource file written independently to devicePath through FileWrite. */
129
128
  type ProtocolV2ResourceBundleBinary = {
130
129
  name: string;
131
130
  binary: ArrayBuffer;
@@ -371,19 +370,30 @@ export const isProtocolV2FirmwareFingerprintValid = (
371
370
 
372
371
  export const assertProtocolV2ReconnectIdentity = (
373
372
  expectedSerialNumber?: string,
374
- actualSerialNumber?: string
373
+ actualSerialNumber?: string,
374
+ expectedPath?: string,
375
+ actualPath?: string
375
376
  ) => {
376
- // Some Pro2 loader builds omit serial_no. Reconnect still uses the same BLE
377
- // descriptor or requires a uniquely enumerated USB device before this check.
378
- if (!expectedSerialNumber || !actualSerialNumber) {
377
+ if (expectedSerialNumber && actualSerialNumber) {
378
+ if (actualSerialNumber !== expectedSerialNumber) {
379
+ throw ERRORS.TypedError(
380
+ HardwareErrorCode.DeviceNotFound,
381
+ `Protocol V2 reconnect physical identity mismatch: expected ${expectedSerialNumber}, received ${actualSerialNumber}`
382
+ );
383
+ }
379
384
  return;
380
385
  }
381
- if (actualSerialNumber !== expectedSerialNumber) {
382
- throw ERRORS.TypedError(
383
- HardwareErrorCode.DeviceNotFound,
384
- `Protocol V2 reconnect physical identity mismatch: expected ${expectedSerialNumber}, received ${actualSerialNumber}`
385
- );
386
+
387
+ if (expectedPath && actualPath && expectedPath === actualPath) {
388
+ return;
386
389
  }
390
+
391
+ throw ERRORS.TypedError(
392
+ HardwareErrorCode.DeviceNotFound,
393
+ `Protocol V2 reconnect physical identity unavailable: expected path ${
394
+ expectedPath ?? 'unknown'
395
+ }, received ${actualPath ?? 'unknown'}`
396
+ );
387
397
  };
388
398
 
389
399
  /**
@@ -397,6 +407,8 @@ export const assertProtocolV2ReconnectIdentity = (
397
407
  export default class FirmwareUpdateV4 extends FirmwareUpdateBaseMethod<FirmwareUpdateV4Params> {
398
408
  private protocolV2ExpectedSerialNumber?: string;
399
409
 
410
+ private protocolV2ExpectedPath?: string;
411
+
400
412
  getSupportedProtocols() {
401
413
  return ['V2'] as const;
402
414
  }
@@ -427,7 +439,6 @@ export default class FirmwareUpdateV4 extends FirmwareUpdateBaseMethod<FirmwareU
427
439
  { name: 'chunkSize', type: 'number' },
428
440
  { name: 'forcedUpdateRes', type: 'boolean' },
429
441
  { name: 'bootloaderBinary', type: 'buffer' },
430
- { name: 'bootResourcesBinary', type: 'buffer' },
431
442
  { name: 'romloaderBinary', type: 'buffer' },
432
443
  { name: 'applicationP1Binary', type: 'buffer' },
433
444
  { name: 'applicationP2Binary', type: 'buffer' },
@@ -439,14 +450,13 @@ export default class FirmwareUpdateV4 extends FirmwareUpdateBaseMethod<FirmwareU
439
450
  { name: 'firmwareType', type: 'string' },
440
451
  { name: 'targetsToUpdate', type: 'array', allowEmpty: true },
441
452
  { name: 'platform', type: 'string' },
442
- { name: 'resourceBundleFiles', type: 'array', allowEmpty: true },
453
+ { name: 'resourceFiles', type: 'array', allowEmpty: true },
443
454
  ]);
444
455
 
445
456
  this.params = {
446
457
  chunkSize: payload.chunkSize,
447
458
  forcedUpdateRes: payload.forcedUpdateRes,
448
459
  bootloaderBinary: payload.bootloaderBinary,
449
- bootResourcesBinary: payload.bootResourcesBinary,
450
460
  romloaderBinary: payload.romloaderBinary,
451
461
  applicationP1Binary: payload.applicationP1Binary,
452
462
  applicationP2Binary: payload.applicationP2Binary,
@@ -455,7 +465,7 @@ export default class FirmwareUpdateV4 extends FirmwareUpdateBaseMethod<FirmwareU
455
465
  se02Binary: payload.se02Binary,
456
466
  se03Binary: payload.se03Binary,
457
467
  se04Binary: payload.se04Binary,
458
- resourceBundleFiles: payload.resourceBundleFiles,
468
+ resourceFiles: payload.resourceFiles,
459
469
  firmwareType: payload.firmwareType,
460
470
  targetsToUpdate: payload.targetsToUpdate,
461
471
  platform: payload.platform,
@@ -490,26 +500,24 @@ export default class FirmwareUpdateV4 extends FirmwareUpdateBaseMethod<FirmwareU
490
500
  const deviceFirmwareType = getFirmwareType(deviceFeatures);
491
501
  const firmwareType = this.params.firmwareType ?? deviceFirmwareType;
492
502
  const needsRemoteResources =
493
- !this.params.resourceBundleFiles?.length &&
494
- !!this.params.targetsToUpdate?.includes('resource');
503
+ !this.params.resourceFiles?.length && !!this.params.targetsToUpdate?.includes('resource');
495
504
 
496
505
  let fwBinaryMap: ProtocolV2TargetBinary[] = [];
497
506
  let bootloaderBinary: ArrayBuffer | null = null;
498
- let bootResourcesInstallItem: ProtocolV2InstallItem | undefined;
499
507
  let installItems: ProtocolV2InstallItem[] | undefined;
500
508
  let resourceBundles: ProtocolV2ResourceBundleBinary[] | undefined;
501
509
  try {
502
510
  this.postTipMessage(FirmwareUpdateTipMessage.StartDownloadFirmware);
503
- resourceBundles = this.prepareExplicitProtocolV2ResourceBundles();
511
+ resourceBundles = this.prepareExplicitProtocolV2ResourceFiles();
504
512
  fwBinaryMap = this.collectExplicitTargetBinaries();
505
513
  bootloaderBinary = this.prepareBootloaderBinary();
506
514
  const needsRemoteFirmware = !this.hasExplicitProtocolV2Payload(fwBinaryMap);
507
- const needsRemoteBootResources =
508
- !this.params.bootResourcesBinary &&
509
- !!this.params.targetsToUpdate?.includes('boot_resources');
515
+ const needsRemoteBootResources = !!this.params.targetsToUpdate?.includes('boot_resources');
510
516
  if (needsRemoteFirmware || needsRemoteResources || needsRemoteBootResources) {
511
517
  // Remote updates must use a freshly fetched config before any reboot or file write.
512
- await DataManager.forceReloadData();
518
+ await DataManager.forceReloadData({
519
+ requireResources: needsRemoteResources || needsRemoteBootResources,
520
+ });
513
521
  }
514
522
  if (needsRemoteFirmware) {
515
523
  const remoteBinaries = await this.prepareRemoteProtocolV2Binaries(
@@ -520,12 +528,9 @@ export default class FirmwareUpdateV4 extends FirmwareUpdateBaseMethod<FirmwareU
520
528
  fwBinaryMap = remoteBinaries.fwBinaryMap;
521
529
  installItems = remoteBinaries.installItems;
522
530
  }
523
- bootResourcesInstallItem = await this.prepareProtocolV2BootResources();
524
- if (bootResourcesInstallItem) {
525
- installItems = [
526
- bootResourcesInstallItem,
527
- ...(installItems ?? this.buildProtocolV2InstallItems({ bootloaderBinary, fwBinaryMap })),
528
- ];
531
+ const bootResourceFiles = await this.prepareProtocolV2BootResources();
532
+ if (bootResourceFiles?.length) {
533
+ resourceBundles = [...(resourceBundles ?? []), ...bootResourceFiles];
529
534
  }
530
535
  if (!needsRemoteResources) {
531
536
  this.postTipMessage(FirmwareUpdateTipMessage.FinishDownloadFirmware);
@@ -554,7 +559,8 @@ export default class FirmwareUpdateV4 extends FirmwareUpdateBaseMethod<FirmwareU
554
559
 
555
560
  if (needsRemoteResources) {
556
561
  try {
557
- resourceBundles = await this.prepareProtocolV2ResourceBundles();
562
+ const stableResources = await this.prepareProtocolV2ResourceBundles();
563
+ resourceBundles = [...(resourceBundles ?? []), ...(stableResources ?? [])];
558
564
  this.postTipMessage(FirmwareUpdateTipMessage.FinishDownloadFirmware);
559
565
  } catch (err) {
560
566
  if (enteredBootloader) {
@@ -607,7 +613,9 @@ export default class FirmwareUpdateV4 extends FirmwareUpdateBaseMethod<FirmwareU
607
613
  private assertProtocolV2DeviceInfoIdentity(deviceInfo: ProtocolV2DeviceInfo) {
608
614
  assertProtocolV2ReconnectIdentity(
609
615
  this.protocolV2ExpectedSerialNumber,
610
- this.getProtocolV2SerialNumber(deviceInfo)
616
+ this.getProtocolV2SerialNumber(deviceInfo),
617
+ this.protocolV2ExpectedPath,
618
+ this.device.originalDescriptor.path
611
619
  );
612
620
  }
613
621
 
@@ -627,8 +635,10 @@ export default class FirmwareUpdateV4 extends FirmwareUpdateBaseMethod<FirmwareU
627
635
  private async captureProtocolV2PhysicalIdentity() {
628
636
  const deviceInfo = await this.requestProtocolV2PhysicalIdentity();
629
637
  const serialNumber = this.getProtocolV2SerialNumber(deviceInfo);
630
- assertProtocolV2ReconnectIdentity(serialNumber, serialNumber);
638
+ const path = this.device.originalDescriptor.path?.trim() || undefined;
639
+ assertProtocolV2ReconnectIdentity(serialNumber, serialNumber, path, path);
631
640
  this.protocolV2ExpectedSerialNumber = serialNumber;
641
+ this.protocolV2ExpectedPath = path;
632
642
  }
633
643
 
634
644
  private async verifyProtocolV2ReconnectIdentity() {
@@ -643,9 +653,8 @@ export default class FirmwareUpdateV4 extends FirmwareUpdateBaseMethod<FirmwareU
643
653
 
644
654
  private hasExplicitProtocolV2Payload(fwBinaryMap: ProtocolV2TargetBinary[]) {
645
655
  return (
646
- !!this.params.resourceBundleFiles?.length ||
656
+ !!this.params.resourceFiles?.length ||
647
657
  !!this.params.bootloaderBinary ||
648
- !!this.params.bootResourcesBinary ||
649
658
  fwBinaryMap.length > 0
650
659
  );
651
660
  }
@@ -795,68 +804,68 @@ export default class FirmwareUpdateV4 extends FirmwareUpdateBaseMethod<FirmwareU
795
804
  };
796
805
  }
797
806
 
798
- private validateProtocolV2BootResourcesBinary(
799
- binary: ArrayBuffer,
800
- resource?: IProtocolV2BootResources
801
- ) {
802
- if (resource && !isProtocolV2ResourceFileValid(binary, resource)) {
803
- throw new Error('Pro2 boot resources file verification failed');
804
- }
805
- const header = parseProtocolV2OkppHeader(toProtocolV2Bytes(binary));
806
- if (!header || header.type !== 'CRAT') {
807
- throw new Error('Invalid Pro2 boot resources CRATE header');
808
- }
809
- if (resource) {
810
- const expectedPayloadHash = normalizeProtocolV2Hex(resource.payloadHash);
811
- const expectedHeaderHash = normalizeProtocolV2Hex(resource.headerHash);
812
- if (header.payloadHash !== expectedPayloadHash) {
813
- throw new Error('Pro2 boot resources payload hash mismatch');
814
- }
815
- if (header.headerHash !== expectedHeaderHash) {
816
- throw new Error('Pro2 boot resources header hash mismatch');
817
- }
818
- }
807
+ private getProtocolV2DeviceType(): EDeviceType.Pro2 | EDeviceType.Neo {
808
+ const deviceType = this.device.getCurrentDeviceType();
809
+ if (deviceType === EDeviceType.Pro2 || deviceType === EDeviceType.Neo) return deviceType;
810
+ throw new Error(`Unsupported Protocol V2 device type: ${deviceType}`);
819
811
  }
820
812
 
821
- private async prepareProtocolV2BootResources(): Promise<ProtocolV2InstallItem | undefined> {
822
- let binary = this.params.bootResourcesBinary;
823
- let resource: IProtocolV2BootResources | undefined;
824
-
825
- if (!binary) {
826
- if (!this.params.targetsToUpdate?.includes('boot_resources')) {
827
- return undefined;
828
- }
829
- resource = DataManager.getProtocolV2BootResources();
830
- if (!resource) {
831
- throw new Error('Missing Pro2 boot resources configuration');
813
+ private async prepareProtocolV2BootResources(): Promise<
814
+ ProtocolV2ResourceBundleBinary[] | undefined
815
+ > {
816
+ if (!this.params.targetsToUpdate?.includes('boot_resources')) return undefined;
817
+ const resource = DataManager.getProtocolV2BootResources(this.getProtocolV2DeviceType());
818
+ if (!resource) throw new Error('Missing Protocol V2 boot resources configuration');
819
+
820
+ const files: ProtocolV2ResourceBundleBinary[] = [];
821
+ for (const file of resource.files) {
822
+ Log.log(`[FirmwareUpdateV4] downloading boot resource ${file.devicePath}`);
823
+ const { binary } = await getSysResourceBinary(file.url);
824
+ if (!isProtocolV2ResourceFileValid(binary, file)) {
825
+ throw new Error(`Boot resource file verification failed: ${file.devicePath}`);
832
826
  }
833
- Log.log('[FirmwareUpdateV4] downloading Pro2 boot resources CRATE');
834
- ({ binary } = await getSysResourceBinary(resource.url));
827
+ files.push({
828
+ name: file.name ?? file.devicePath.split('/').pop() ?? file.devicePath,
829
+ binary,
830
+ devicePath: file.devicePath,
831
+ });
835
832
  }
836
-
837
- this.validateProtocolV2BootResourcesBinary(binary, resource);
838
- return {
839
- fileName: PROTOCOL_V2_BOOT_RESOURCES_FILE_NAME,
840
- binary,
841
- targetId: ProtocolV2FirmwareTargetType.FW_MGMT_TARGET_CRATE,
842
- kind: 'boot_resources',
843
- };
833
+ return files;
844
834
  }
845
835
 
846
- private prepareExplicitProtocolV2ResourceBundles(): ProtocolV2ResourceBundleBinary[] | undefined {
847
- if (!this.params.resourceBundleFiles?.length) return undefined;
836
+ private prepareExplicitProtocolV2ResourceFiles(): ProtocolV2ResourceBundleBinary[] | undefined {
837
+ const files = this.params.resourceFiles ?? [];
838
+ if (!files?.length) return undefined;
848
839
 
849
- return this.params.resourceBundleFiles.map((file, index) => {
840
+ const prepared = files.map((file, index) => {
850
841
  const devicePath = validateProtocolV2FilesystemPath(
851
842
  file.devicePath,
852
- `resourceBundleFiles[${index}].devicePath`
843
+ `resourceFiles[${index}].devicePath`
853
844
  );
845
+ const descriptor = file as typeof file &
846
+ Pick<Partial<IProtocolV2ResourceFile>, 'size' | 'fileHash'>;
847
+ if (descriptor.size !== undefined && descriptor.size !== file.binary.byteLength) {
848
+ throw new Error(`resourceFiles[${index}] size mismatch`);
849
+ }
850
+ if (
851
+ descriptor.fileHash &&
852
+ !isProtocolV2ResourceFileValid(file.binary, {
853
+ size: file.binary.byteLength,
854
+ fileHash: descriptor.fileHash,
855
+ })
856
+ ) {
857
+ throw new Error(`resourceFiles[${index}] SHA-256 mismatch`);
858
+ }
854
859
  return {
855
860
  name: devicePath.split('/').pop() ?? devicePath,
856
861
  binary: file.binary,
857
862
  devicePath,
858
863
  };
859
864
  });
865
+ if (new Set(prepared.map(file => file.devicePath)).size !== prepared.length) {
866
+ throw new Error('resourceFiles contain duplicate devicePath values');
867
+ }
868
+ return prepared;
860
869
  }
861
870
 
862
871
  private async prepareProtocolV2ResourceBundles(): Promise<
@@ -866,7 +875,7 @@ export default class FirmwareUpdateV4 extends FirmwareUpdateBaseMethod<FirmwareU
866
875
  return undefined;
867
876
  }
868
877
 
869
- const resources = DataManager.getProtocolV2Resources();
878
+ const resources = DataManager.getProtocolV2Resources(this.getProtocolV2DeviceType());
870
879
  if (!resources?.length) {
871
880
  throw new Error('Missing Pro2 stable resource configuration');
872
881
  }
@@ -886,7 +895,7 @@ export default class FirmwareUpdateV4 extends FirmwareUpdateBaseMethod<FirmwareU
886
895
  forced: this.params.forcedUpdateRes,
887
896
  });
888
897
  Log.log(
889
- `[FirmwareUpdateV4] Pro2 resource plan mode=bootloader-recovery status=${plan.status} count=${plan.resources.length}`
898
+ `[FirmwareUpdateV4] Protocol V2 resource plan mode=bootloader-recovery status=${plan.status} count=${plan.resources.length}`
890
899
  );
891
900
 
892
901
  const bundles: ProtocolV2ResourceBundleBinary[] = [];
@@ -926,7 +935,7 @@ export default class FirmwareUpdateV4 extends FirmwareUpdateBaseMethod<FirmwareU
926
935
  let processedSize = 0;
927
936
  for (const bundle of bundles) {
928
937
  Log.log(
929
- `[FirmwareUpdateV4] syncing RESC bundle ${bundle.name} -> ${bundle.devicePath} bytes=${bundle.binary.byteLength}`
938
+ `[FirmwareUpdateV4] syncing resource ${bundle.name} -> ${bundle.devicePath} bytes=${bundle.binary.byteLength}`
930
939
  );
931
940
  processedSize = await this.protocolV2CommonUpdateProcess({
932
941
  payload: bundle.binary,
@@ -938,7 +947,7 @@ export default class FirmwareUpdateV4 extends FirmwareUpdateBaseMethod<FirmwareU
938
947
 
939
948
  const elapsedMs = Date.now() - transferStartTime;
940
949
  Log.log(
941
- `[FirmwareUpdateV4] RESC bundle sync finished transport=${transferTransport} bytes=${totalSize} elapsed=${(
950
+ `[FirmwareUpdateV4] resource sync finished transport=${transferTransport} bytes=${totalSize} elapsed=${(
942
951
  elapsedMs / 1000
943
952
  ).toFixed(2)}s speed=${formatProtocolV2TransferSpeed(totalSize, elapsedMs)} KB/s`
944
953
  );
@@ -956,7 +965,11 @@ export default class FirmwareUpdateV4 extends FirmwareUpdateBaseMethod<FirmwareU
956
965
  }
957
966
 
958
967
  private isProtocolV2RomloaderMode() {
959
- if (!this.device.isProtocolV2() || this.device.getCurrentDeviceType() !== EDeviceType.Pro2) {
968
+ const deviceType = this.device.getCurrentDeviceType();
969
+ if (
970
+ !this.device.isProtocolV2() ||
971
+ (deviceType !== EDeviceType.Pro2 && deviceType !== EDeviceType.Neo)
972
+ ) {
960
973
  return false;
961
974
  }
962
975
  if (typeof this.device.isRomloader === 'function') {
@@ -974,15 +987,16 @@ export default class FirmwareUpdateV4 extends FirmwareUpdateBaseMethod<FirmwareU
974
987
  }
975
988
  if (this.isProtocolV2BootloaderMode()) {
976
989
  Log.debug('Protocol V2 device is already in bootloader mode, skip reboot');
990
+ this.postTipMessage(FirmwareUpdateTipMessage.GoToBootloaderSuccess);
977
991
  return false;
978
992
  }
979
993
 
980
994
  try {
981
995
  this.postTipMessage(FirmwareUpdateTipMessage.AutoRebootToBootloader);
982
996
  await this.protocolV2Reboot(DeviceRebootType.Bootloader);
983
- this.postTipMessage(FirmwareUpdateTipMessage.GoToBootloaderSuccess);
984
997
  await wait(1000);
985
998
  await this.waitForProtocolV2BootloaderMode();
999
+ this.postTipMessage(FirmwareUpdateTipMessage.GoToBootloaderSuccess);
986
1000
  return true;
987
1001
  } catch (error) {
988
1002
  if (error instanceof HardwareError) {
@@ -1111,9 +1125,9 @@ export default class FirmwareUpdateV4 extends FirmwareUpdateBaseMethod<FirmwareU
1111
1125
  totalSize = resourceTransfer.totalSize;
1112
1126
  }
1113
1127
 
1114
- // Skip staging and installation when the update contains RESC bundles only.
1128
+ // Skip staging and installation when the update contains resource files only.
1115
1129
  if (orderedInstallItems.length === 0) {
1116
- Log.log('[FirmwareUpdateV4] no firmware targets to install (RESC bundles only)');
1130
+ Log.log('[FirmwareUpdateV4] no firmware targets to install (resource files only)');
1117
1131
  if (totalSize > 0) {
1118
1132
  this.postProgressMessage(100, 'transferData');
1119
1133
  }
@@ -1536,9 +1550,13 @@ export default class FirmwareUpdateV4 extends FirmwareUpdateBaseMethod<FirmwareU
1536
1550
  DataManager.isBrowserWebUsb(DataManager.getSettings('env')) &&
1537
1551
  devicesDescriptor.length === 1
1538
1552
  ) {
1553
+ const descriptor = devicesDescriptor[0];
1554
+ if (!this.protocolV2ExpectedSerialNumber && descriptor.path !== this.protocolV2ExpectedPath) {
1555
+ throw ERRORS.TypedError(HardwareErrorCode.DeviceNotFound);
1556
+ }
1539
1557
  this.device.updateDescriptor(
1540
1558
  {
1541
- ...devicesDescriptor[0],
1559
+ ...descriptor,
1542
1560
  protocolType: PROTOCOL_V2_CONNECT_PROTOCOL,
1543
1561
  },
1544
1562
  true
@@ -1555,18 +1573,14 @@ export default class FirmwareUpdateV4 extends FirmwareUpdateBaseMethod<FirmwareU
1555
1573
  connectProtocol: PROTOCOL_V2_CONNECT_PROTOCOL,
1556
1574
  });
1557
1575
  const expectedSerialNumber = this.protocolV2ExpectedSerialNumber?.trim();
1558
- const identityMatch = expectedSerialNumber
1559
- ? deviceList.find(
1560
- candidate => candidate.getCurrentSerialNo?.().trim() === expectedSerialNumber
1561
- )
1562
- : undefined;
1563
- const singleCandidate = deviceList.length === 1 ? deviceList.at(0) : undefined;
1564
- const singleCandidateSerialNumber = singleCandidate?.getCurrentSerialNo?.().trim();
1565
- const reconnectDevice =
1566
- identityMatch ??
1567
- (singleCandidate && (!expectedSerialNumber || !singleCandidateSerialNumber)
1568
- ? singleCandidate
1569
- : undefined);
1576
+ const expectedPath = this.protocolV2ExpectedPath?.trim();
1577
+ const reconnectDevice = deviceList.find(candidate => {
1578
+ const candidateSerialNumber = candidate.getCurrentSerialNo?.().trim();
1579
+ if (expectedSerialNumber && candidateSerialNumber) {
1580
+ return candidateSerialNumber === expectedSerialNumber;
1581
+ }
1582
+ return !!expectedPath && candidate.getConnectId() === expectedPath;
1583
+ });
1570
1584
  if (!reconnectDevice) {
1571
1585
  throw ERRORS.TypedError(HardwareErrorCode.DeviceNotFound);
1572
1586
  }
@@ -1631,7 +1645,6 @@ export default class FirmwareUpdateV4 extends FirmwareUpdateBaseMethod<FirmwareU
1631
1645
  onTransferredBytes,
1632
1646
  }: ProtocolV2FileTransferParams) {
1633
1647
  const chunkSize = this.getProtocolV2FirmwareChunkSize();
1634
- let offset = 0;
1635
1648
  const getUploadProgress = (fileOffset: number) => {
1636
1649
  if (totalSize !== undefined && processedSize !== undefined) {
1637
1650
  return Math.min(Math.ceil(((processedSize + fileOffset) / totalSize) * 100), 99);
@@ -1639,37 +1652,43 @@ export default class FirmwareUpdateV4 extends FirmwareUpdateBaseMethod<FirmwareU
1639
1652
  return Math.min(Math.ceil((fileOffset / payload.byteLength) * 100), 99);
1640
1653
  };
1641
1654
 
1642
- while (offset < payload.byteLength) {
1643
- const chunkEnd = Math.min(offset + chunkSize, payload.byteLength);
1644
- const chunkLength = chunkEnd - offset;
1645
- const chunk = payload.slice(offset, chunkEnd);
1646
- const overwrite = offset === 0;
1647
- const progress = getProtocolV2DeviceTransferProgress(
1648
- (processedSize ?? 0) + offset,
1649
- (processedSize ?? 0) + chunkEnd,
1650
- totalSize ?? payload.byteLength
1651
- );
1652
-
1653
- const writeRes = await this.fileWriteChunk(
1654
- filePath,
1655
- payload.byteLength,
1656
- offset,
1657
- chunk,
1658
- overwrite,
1659
- progress
1660
- );
1661
- const rawProcessedByte = writeRes.message.processed_byte;
1662
- const processedByte = Number(rawProcessedByte);
1663
- const nextOffset = rawProcessedByte === undefined ? offset + chunkLength : processedByte;
1664
- if (!Number.isFinite(nextOffset) || nextOffset <= offset || nextOffset > chunkEnd) {
1665
- throw ERRORS.TypedError(
1666
- HardwareErrorCode.EmmcFileWriteFirmwareError,
1667
- `invalid processed_byte ${writeRes.message.processed_byte} for offset ${offset}`
1668
- );
1655
+ try {
1656
+ await writeProtocolV2File({
1657
+ commands: this.device.getCommands(),
1658
+ path: filePath,
1659
+ data: payload,
1660
+ totalSize: payload.byteLength,
1661
+ chunkSize,
1662
+ overwrite: true,
1663
+ append: false,
1664
+ writeWithResponse: true,
1665
+ maxChunkRetries: 0,
1666
+ getUiPercentage: ({ offset, chunkLength }) =>
1667
+ getProtocolV2DeviceTransferProgress(
1668
+ (processedSize ?? 0) + offset,
1669
+ (processedSize ?? 0) + offset + chunkLength,
1670
+ totalSize ?? payload.byteLength
1671
+ ),
1672
+ onProgress: progress => {
1673
+ const transferredBytes = (processedSize ?? 0) + progress.transferredBytes;
1674
+ onTransferredBytes?.(transferredBytes);
1675
+ this.postProgressMessage(getUploadProgress(progress.transferredBytes), 'transferData', {
1676
+ transferredBytes,
1677
+ totalBytes: totalSize ?? payload.byteLength,
1678
+ rateBytesPerSecond: progress.rateBytesPerSecond,
1679
+ elapsedMs: progress.elapsedMs,
1680
+ });
1681
+ },
1682
+ });
1683
+ } catch (error) {
1684
+ if (
1685
+ error instanceof HardwareError &&
1686
+ error.errorCode === HardwareErrorCode.RuntimeError &&
1687
+ error.message.includes('FilesystemFileWrite')
1688
+ ) {
1689
+ throw ERRORS.TypedError(HardwareErrorCode.EmmcFileWriteFirmwareError, error.message);
1669
1690
  }
1670
- offset = nextOffset;
1671
- onTransferredBytes?.((processedSize ?? 0) + offset);
1672
- this.postProgressMessage(getUploadProgress(offset), 'transferData');
1691
+ throw error;
1673
1692
  }
1674
1693
 
1675
1694
  return totalSize !== undefined ? (processedSize ?? 0) + payload.byteLength : 0;
@@ -1689,42 +1708,6 @@ export default class FirmwareUpdateV4 extends FirmwareUpdateBaseMethod<FirmwareU
1689
1708
  return env ?? 'unknown';
1690
1709
  }
1691
1710
 
1692
- private async fileWriteChunk(
1693
- filePath: string,
1694
- totalFileSize: number,
1695
- offset: number,
1696
- chunk: ArrayBuffer | Buffer,
1697
- overwrite: boolean,
1698
- progress: number | null
1699
- ): Promise<TypedResponseMessage<'FilesystemFile'>> {
1700
- const typedCall = this.device.getCommands().typedCall.bind(this.device.getCommands());
1701
- const writeRes = await typedCall(
1702
- 'FilesystemFileWrite',
1703
- 'FilesystemFile',
1704
- {
1705
- file: {
1706
- path: filePath,
1707
- offset,
1708
- total_size: totalFileSize,
1709
- data: chunk,
1710
- },
1711
- overwrite,
1712
- append: false,
1713
- ui_percentage: progress ?? undefined,
1714
- },
1715
- { writeWithResponse: true }
1716
- );
1717
- if (writeRes.type !== 'FilesystemFile') {
1718
- if ((writeRes as any).type === 'CallMethodError') {
1719
- if (((writeRes as any).message.error ?? '').indexOf(SESSION_ERROR) > -1) {
1720
- throw ERRORS.TypedError(HardwareErrorCode.RuntimeError, SESSION_ERROR);
1721
- }
1722
- }
1723
- throw ERRORS.TypedError(HardwareErrorCode.EmmcFileWriteFirmwareError, 'transfer data error');
1724
- }
1725
- return writeRes;
1726
- }
1727
-
1728
1711
  private async recoverProtocolV2FileTransfer() {
1729
1712
  const env = DataManager.getSettings('env');
1730
1713
  if (DataManager.isBleConnect(env)) {
@@ -84,6 +84,7 @@ export default class OpenWalletSession extends BaseMethod<OpenWalletSessionParam
84
84
 
85
85
  init() {
86
86
  this.useDevicePassphraseState = false;
87
+ this.unlockPolicy = 'unlock-before-run';
87
88
  this.skipForceUpdateCheck = true;
88
89
  this.params = normalizeParams(this.payload as unknown as Record<string, unknown>);
89
90
  this.payload.useEmptyPassphrase = this.params.mode === OpenWalletSessionMode.Standard;
@@ -393,12 +393,14 @@ export default abstract class AllNetworkGetAddressBase extends BaseMethod<
393
393
  // the root fingerprint, so each nested chain method must resume the
394
394
  // requested standard or hidden wallet before sending its device command.
395
395
  const useEmptyPassphrase = this.payload.useEmptyPassphrase === true;
396
+ const deriveCardano = method.name.startsWith('cardano');
396
397
  const shouldResumeWalletSession = useEmptyPassphrase || !!this.payload.passphraseState;
397
398
  if (this.device.isProtocolV2() && shouldResumeWalletSession) {
398
399
  const passphraseStateSafety = await this.device.checkPassphraseStateSafety(
399
400
  this.payload.passphraseState,
400
401
  useEmptyPassphrase,
401
- this.payload.skipPassphraseCheck
402
+ this.payload.skipPassphraseCheck,
403
+ deriveCardano
402
404
  );
403
405
  if (!passphraseStateSafety) {
404
406
  throw ERRORS.TypedError(HardwareErrorCode.DeviceCheckPassphraseStateError);
@@ -7,7 +7,6 @@ import { validateParams } from '../helpers/paramsValidator';
7
7
  import {
8
8
  mapApplySettingsToState,
9
9
  mapCommonSettingsToProtocolV2,
10
- mapDeviceSettingsToState,
11
10
  } from '../../device/DeviceStateMapper';
12
11
  import { getProtocolV2SettingsBehavior } from '../../protocols/protocol-v2/settingsUnlockPolicy';
13
12
  import {
@@ -163,6 +162,8 @@ export default class DeviceSettings extends BaseMethod<ApplySettings> {
163
162
  async run() {
164
163
  try {
165
164
  if (this.device.isProtocolV2()) {
165
+ const refreshStatusAndSettings = () =>
166
+ this.device.getDeviceState({ refreshSections: ['status', 'settings'] });
166
167
  assertSettingsSupported(this.payload, DEVICE_SETTINGS_V1_ONLY_FIELDS, 'Protocol V2');
167
168
  const capabilities = getDeviceSettingsCapabilities(
168
169
  this.device.getCurrentDeviceType(),
@@ -194,7 +195,7 @@ export default class DeviceSettings extends BaseMethod<ApplySettings> {
194
195
  const res = await this.device.commands.typedCall('DeviceSettingsPageShow', 'Success', {
195
196
  page: DeviceSettingsPage.DevicePassphrase,
196
197
  });
197
- const updated = await this.device.getDeviceState({ refreshSections: ['status'] });
198
+ const updated = await refreshStatusAndSettings();
198
199
  const lockedAfterDisabling =
199
200
  requestedPassphrase === false &&
200
201
  current.status.unlocked === true &&
@@ -219,7 +220,7 @@ export default class DeviceSettings extends BaseMethod<ApplySettings> {
219
220
  const res = await this.device.commands.typedCall('DeviceSettingsPageShow', 'Success', {
220
221
  page: DeviceSettingsPage.DeviceAirgap,
221
222
  });
222
- const updated = await this.device.getDeviceState({ refreshSections: ['settings'] });
223
+ const updated = await refreshStatusAndSettings();
223
224
  if (updated.settings.airgapMode !== requestedAirgap) {
224
225
  throw TypedError(
225
226
  HardwareErrorCode.RuntimeError,
@@ -235,7 +236,7 @@ export default class DeviceSettings extends BaseMethod<ApplySettings> {
235
236
  const res = await this.device.commands.typedCall('DeviceSettingsSet', 'Success', {
236
237
  settings,
237
238
  });
238
- this.device.updateState(mapDeviceSettingsToState(settings), 'settings-write');
239
+ await refreshStatusAndSettings();
239
240
  return res.message;
240
241
  }
241
242
 
@@ -6,7 +6,6 @@ import { formatAnyHex } from '../helpers/hexUtils';
6
6
  import { BaseMethod } from '../BaseMethod';
7
7
  import { validateParams, validateResult } from '../helpers/paramsValidator';
8
8
  import { DeviceModelToTypes } from '../../types';
9
- import { UI_REQUEST } from '../../events';
10
9
 
11
10
  import type { BixinVerifyDeviceRequest } from '@onekeyfe/hd-transport';
12
11
  import type { DeviceVerifySignature } from '../../types';
@@ -14,7 +13,6 @@ import type { DeviceVerifySignature } from '../../types';
14
13
  export default class DeviceVerify extends BaseMethod<BixinVerifyDeviceRequest> {
15
14
  init() {
16
15
  this.useDevicePassphraseState = false;
17
- this.allowDeviceMode = [UI_REQUEST.BOOTLOADER, UI_REQUEST.NOT_INITIALIZE];
18
16
 
19
17
  // check payload
20
18
  validateParams(this.payload, [{ name: 'dataHex', type: 'hexString' }]);