@onekeyfe/hd-core 1.2.0-alpha.24 → 1.2.0-alpha.25

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 (490) hide show
  1. package/__tests__/AllNetworkGetAddressBase.tracing.test.ts +2 -0
  2. package/__tests__/chain-params-onekey-compatibility.test.ts +229 -0
  3. package/__tests__/connectSettings.test.ts +47 -5
  4. package/__tests__/device-state-events.test.ts +124 -0
  5. package/__tests__/evmLedgerLegacySafety.test.ts +3 -1
  6. package/__tests__/firmware-update/check-all-firmware-release.test.ts +127 -0
  7. package/__tests__/firmware-update/firmware-artifact-source.test.ts +119 -0
  8. package/__tests__/firmware-update/firmware-host-binding.test.ts +70 -0
  9. package/__tests__/firmware-update/firmware-update-capabilities.test.ts +13 -0
  10. package/__tests__/firmware-update/firmware-update-plan.test.ts +354 -0
  11. package/__tests__/firmware-update/firmware-update-prepared-plan.test.ts +213 -0
  12. package/__tests__/firmware-update/firmware-update-v2-download-before-boot.test.ts +39 -30
  13. package/__tests__/firmware-update/firmware-upload-source.test.ts +70 -0
  14. package/__tests__/kaspa-public-types.type-test.ts +16 -0
  15. package/__tests__/kaspaSignTransaction.test.ts +4 -3
  16. package/__tests__/method-protocol-support.test.ts +113 -0
  17. package/__tests__/protocol-v2.test.ts +271 -117
  18. package/__tests__/public-device-state-api.test.ts +10 -8
  19. package/__tests__/tron-sign-message-init.test.ts +46 -0
  20. package/dist/api/BaseMethod.d.ts +6 -2
  21. package/dist/api/BaseMethod.d.ts.map +1 -1
  22. package/dist/api/CheckAllFirmwareRelease.d.ts.map +1 -1
  23. package/dist/api/CipherKeyValue.d.ts +1 -0
  24. package/dist/api/CipherKeyValue.d.ts.map +1 -1
  25. package/dist/api/DirList.d.ts +1 -0
  26. package/dist/api/DirList.d.ts.map +1 -1
  27. package/dist/api/DirMake.d.ts +1 -0
  28. package/dist/api/DirMake.d.ts.map +1 -1
  29. package/dist/api/DirRemove.d.ts +1 -0
  30. package/dist/api/DirRemove.d.ts.map +1 -1
  31. package/dist/api/FileDelete.d.ts +1 -0
  32. package/dist/api/FileDelete.d.ts.map +1 -1
  33. package/dist/api/FileRead.d.ts +1 -0
  34. package/dist/api/FileRead.d.ts.map +1 -1
  35. package/dist/api/FileWrite.d.ts +1 -0
  36. package/dist/api/FileWrite.d.ts.map +1 -1
  37. package/dist/api/FirmwareUpdate.d.ts.map +1 -1
  38. package/dist/api/FirmwareUpdateV2.d.ts +11 -0
  39. package/dist/api/FirmwareUpdateV2.d.ts.map +1 -1
  40. package/dist/api/FirmwareUpdateV3.d.ts +7 -3
  41. package/dist/api/FirmwareUpdateV3.d.ts.map +1 -1
  42. package/dist/api/FirmwareUpdateV4.d.ts +23 -5
  43. package/dist/api/FirmwareUpdateV4.d.ts.map +1 -1
  44. package/dist/api/GetDeviceState.d.ts +1 -0
  45. package/dist/api/GetDeviceState.d.ts.map +1 -1
  46. package/dist/api/GetFeatures.d.ts.map +1 -1
  47. package/dist/api/GetOnekeyFeatures.d.ts.map +1 -1
  48. package/dist/api/GetPassphraseState.d.ts +1 -0
  49. package/dist/api/GetPassphraseState.d.ts.map +1 -1
  50. package/dist/api/OpenWalletSession.d.ts +1 -0
  51. package/dist/api/OpenWalletSession.d.ts.map +1 -1
  52. package/dist/api/PathInfo.d.ts +1 -0
  53. package/dist/api/PathInfo.d.ts.map +1 -1
  54. package/dist/api/alephium/AlephiumGetAddress.d.ts.map +1 -1
  55. package/dist/api/alephium/AlephiumSignMessage.d.ts.map +1 -1
  56. package/dist/api/alephium/AlephiumSignTransaction.d.ts.map +1 -1
  57. package/dist/api/algo/AlgoGetAddress.d.ts +1 -0
  58. package/dist/api/algo/AlgoGetAddress.d.ts.map +1 -1
  59. package/dist/api/algo/AlgoSignTransaction.d.ts +1 -0
  60. package/dist/api/algo/AlgoSignTransaction.d.ts.map +1 -1
  61. package/dist/api/allnetwork/AllNetworkGetAddressBase.d.ts +1 -0
  62. package/dist/api/allnetwork/AllNetworkGetAddressBase.d.ts.map +1 -1
  63. package/dist/api/aptos/AptosGetAddress.d.ts +1 -0
  64. package/dist/api/aptos/AptosGetAddress.d.ts.map +1 -1
  65. package/dist/api/aptos/AptosGetPublicKey.d.ts +1 -0
  66. package/dist/api/aptos/AptosGetPublicKey.d.ts.map +1 -1
  67. package/dist/api/aptos/AptosSignInMessage.d.ts +1 -0
  68. package/dist/api/aptos/AptosSignInMessage.d.ts.map +1 -1
  69. package/dist/api/aptos/AptosSignMessage.d.ts +1 -0
  70. package/dist/api/aptos/AptosSignMessage.d.ts.map +1 -1
  71. package/dist/api/aptos/AptosSignTransaction.d.ts +1 -0
  72. package/dist/api/aptos/AptosSignTransaction.d.ts.map +1 -1
  73. package/dist/api/benfen/BenfenGetAddress.d.ts.map +1 -1
  74. package/dist/api/benfen/BenfenGetPublicKey.d.ts.map +1 -1
  75. package/dist/api/benfen/BenfenSignMessage.d.ts.map +1 -1
  76. package/dist/api/benfen/BenfenSignTransaction.d.ts.map +1 -1
  77. package/dist/api/btc/BTCGetAddress.d.ts +1 -0
  78. package/dist/api/btc/BTCGetAddress.d.ts.map +1 -1
  79. package/dist/api/btc/BTCGetPublicKey.d.ts +1 -0
  80. package/dist/api/btc/BTCGetPublicKey.d.ts.map +1 -1
  81. package/dist/api/btc/BTCSignMessage.d.ts +1 -0
  82. package/dist/api/btc/BTCSignMessage.d.ts.map +1 -1
  83. package/dist/api/btc/BTCSignPsbt.d.ts +1 -0
  84. package/dist/api/btc/BTCSignPsbt.d.ts.map +1 -1
  85. package/dist/api/btc/BTCSignTransaction.d.ts +1 -0
  86. package/dist/api/btc/BTCSignTransaction.d.ts.map +1 -1
  87. package/dist/api/btc/BTCVerifyMessage.d.ts +1 -0
  88. package/dist/api/btc/BTCVerifyMessage.d.ts.map +1 -1
  89. package/dist/api/btc/helpers/versionLimit.d.ts +2 -0
  90. package/dist/api/btc/helpers/versionLimit.d.ts.map +1 -1
  91. package/dist/api/cardano/CardanoGetAddress.d.ts +1 -0
  92. package/dist/api/cardano/CardanoGetAddress.d.ts.map +1 -1
  93. package/dist/api/cardano/CardanoGetPublicKey.d.ts +1 -0
  94. package/dist/api/cardano/CardanoGetPublicKey.d.ts.map +1 -1
  95. package/dist/api/cardano/CardanoSignMessage.d.ts +1 -0
  96. package/dist/api/cardano/CardanoSignMessage.d.ts.map +1 -1
  97. package/dist/api/cardano/CardanoSignTransaction.d.ts +1 -0
  98. package/dist/api/cardano/CardanoSignTransaction.d.ts.map +1 -1
  99. package/dist/api/conflux/ConfluxGetAddress.d.ts +1 -0
  100. package/dist/api/conflux/ConfluxGetAddress.d.ts.map +1 -1
  101. package/dist/api/conflux/ConfluxSignMessage.d.ts +1 -0
  102. package/dist/api/conflux/ConfluxSignMessage.d.ts.map +1 -1
  103. package/dist/api/conflux/ConfluxSignMessageCIP23.d.ts +1 -0
  104. package/dist/api/conflux/ConfluxSignMessageCIP23.d.ts.map +1 -1
  105. package/dist/api/conflux/ConfluxSignTransaction.d.ts +1 -0
  106. package/dist/api/conflux/ConfluxSignTransaction.d.ts.map +1 -1
  107. package/dist/api/cosmos/CosmosGetAddress.d.ts +1 -0
  108. package/dist/api/cosmos/CosmosGetAddress.d.ts.map +1 -1
  109. package/dist/api/cosmos/CosmosGetPublicKey.d.ts +1 -0
  110. package/dist/api/cosmos/CosmosGetPublicKey.d.ts.map +1 -1
  111. package/dist/api/cosmos/CosmosSignTransaction.d.ts +1 -0
  112. package/dist/api/cosmos/CosmosSignTransaction.d.ts.map +1 -1
  113. package/dist/api/device/DeviceCancel.d.ts +1 -0
  114. package/dist/api/device/DeviceCancel.d.ts.map +1 -1
  115. package/dist/api/device/DeviceChangePin.d.ts +1 -0
  116. package/dist/api/device/DeviceChangePin.d.ts.map +1 -1
  117. package/dist/api/device/DeviceLock.d.ts +1 -0
  118. package/dist/api/device/DeviceLock.d.ts.map +1 -1
  119. package/dist/api/device/DeviceRebootToBoardloader.d.ts +1 -0
  120. package/dist/api/device/DeviceRebootToBoardloader.d.ts.map +1 -1
  121. package/dist/api/device/DeviceRebootToBootloader.d.ts +1 -0
  122. package/dist/api/device/DeviceRebootToBootloader.d.ts.map +1 -1
  123. package/dist/api/device/DeviceSettings.d.ts +1 -0
  124. package/dist/api/device/DeviceSettings.d.ts.map +1 -1
  125. package/dist/api/device/DeviceSupportFeatures.d.ts +1 -0
  126. package/dist/api/device/DeviceSupportFeatures.d.ts.map +1 -1
  127. package/dist/api/device/DeviceUnlock.d.ts +1 -0
  128. package/dist/api/device/DeviceUnlock.d.ts.map +1 -1
  129. package/dist/api/device/DeviceUpdateBootloader.d.ts +5 -1
  130. package/dist/api/device/DeviceUpdateBootloader.d.ts.map +1 -1
  131. package/dist/api/device/DeviceWipe.d.ts +1 -0
  132. package/dist/api/device/DeviceWipe.d.ts.map +1 -1
  133. package/dist/api/device/PreInitialize.d.ts +1 -0
  134. package/dist/api/device/PreInitialize.d.ts.map +1 -1
  135. package/dist/api/dynex/DnxGetAddress.d.ts.map +1 -1
  136. package/dist/api/dynex/DnxSignTransaction.d.ts.map +1 -1
  137. package/dist/api/evm/EVMGetAddress.d.ts +1 -0
  138. package/dist/api/evm/EVMGetAddress.d.ts.map +1 -1
  139. package/dist/api/evm/EVMGetPublicKey.d.ts +1 -0
  140. package/dist/api/evm/EVMGetPublicKey.d.ts.map +1 -1
  141. package/dist/api/evm/EVMSignMessage.d.ts +1 -0
  142. package/dist/api/evm/EVMSignMessage.d.ts.map +1 -1
  143. package/dist/api/evm/EVMSignMessageEIP712.d.ts.map +1 -1
  144. package/dist/api/evm/EVMSignTransaction.d.ts +1 -0
  145. package/dist/api/evm/EVMSignTransaction.d.ts.map +1 -1
  146. package/dist/api/evm/EVMSignTypedData.d.ts +1 -0
  147. package/dist/api/evm/EVMSignTypedData.d.ts.map +1 -1
  148. package/dist/api/evm/EVMVerifyMessage.d.ts +1 -0
  149. package/dist/api/evm/EVMVerifyMessage.d.ts.map +1 -1
  150. package/dist/api/filecoin/FilecoinGetAddress.d.ts +1 -0
  151. package/dist/api/filecoin/FilecoinGetAddress.d.ts.map +1 -1
  152. package/dist/api/filecoin/FilecoinSignTransaction.d.ts +1 -0
  153. package/dist/api/filecoin/FilecoinSignTransaction.d.ts.map +1 -1
  154. package/dist/api/firmware/FirmwareArtifactSource.d.ts +25 -0
  155. package/dist/api/firmware/FirmwareArtifactSource.d.ts.map +1 -0
  156. package/dist/api/firmware/FirmwareHostBinding.d.ts +6 -0
  157. package/dist/api/firmware/FirmwareHostBinding.d.ts.map +1 -0
  158. package/dist/api/firmware/FirmwareUpdateBaseMethod.d.ts +7 -0
  159. package/dist/api/firmware/FirmwareUpdateBaseMethod.d.ts.map +1 -1
  160. package/dist/api/firmware/FirmwareUpdateCapabilities.d.ts +3 -0
  161. package/dist/api/firmware/FirmwareUpdateCapabilities.d.ts.map +1 -0
  162. package/dist/api/firmware/FirmwareUpdatePlan.d.ts +23 -0
  163. package/dist/api/firmware/FirmwareUpdatePlan.d.ts.map +1 -0
  164. package/dist/api/firmware/FirmwareUpdatePreparedPlan.d.ts +30 -0
  165. package/dist/api/firmware/FirmwareUpdatePreparedPlan.d.ts.map +1 -0
  166. package/dist/api/firmware/getBinary.d.ts +7 -0
  167. package/dist/api/firmware/getBinary.d.ts.map +1 -1
  168. package/dist/api/firmware/updateBootloader.d.ts +2 -0
  169. package/dist/api/firmware/updateBootloader.d.ts.map +1 -1
  170. package/dist/api/firmware/uploadFirmware.d.ts +9 -1
  171. package/dist/api/firmware/uploadFirmware.d.ts.map +1 -1
  172. package/dist/api/kaspa/KaspaGetAddress.d.ts +1 -0
  173. package/dist/api/kaspa/KaspaGetAddress.d.ts.map +1 -1
  174. package/dist/api/kaspa/KaspaSignTransaction.d.ts +1 -0
  175. package/dist/api/kaspa/KaspaSignTransaction.d.ts.map +1 -1
  176. package/dist/api/kaspa/helpers/TransferSerialize.d.ts.map +1 -1
  177. package/dist/api/lightning/LnurlAuth.d.ts +0 -4
  178. package/dist/api/lightning/LnurlAuth.d.ts.map +1 -1
  179. package/dist/api/near/NearGetAddress.d.ts +1 -0
  180. package/dist/api/near/NearGetAddress.d.ts.map +1 -1
  181. package/dist/api/near/NearSignTransaction.d.ts +1 -0
  182. package/dist/api/near/NearSignTransaction.d.ts.map +1 -1
  183. package/dist/api/nem/NEMGetAddress.d.ts +1 -0
  184. package/dist/api/nem/NEMGetAddress.d.ts.map +1 -1
  185. package/dist/api/nem/NEMSignTransaction.d.ts +1 -0
  186. package/dist/api/nem/NEMSignTransaction.d.ts.map +1 -1
  187. package/dist/api/neo/NeoGetAddress.d.ts.map +1 -1
  188. package/dist/api/neo/NeoSignTransaction.d.ts.map +1 -1
  189. package/dist/api/nervos/NervosGetAddress.d.ts.map +1 -1
  190. package/dist/api/nervos/NervosSignTransaction.d.ts.map +1 -1
  191. package/dist/api/nexa/NexaGetAddress.d.ts.map +1 -1
  192. package/dist/api/nexa/NexaSignTransaction.d.ts.map +1 -1
  193. package/dist/api/nostr/NostrDecryptMessage.d.ts +1 -0
  194. package/dist/api/nostr/NostrDecryptMessage.d.ts.map +1 -1
  195. package/dist/api/nostr/NostrEncryptMessage.d.ts +1 -0
  196. package/dist/api/nostr/NostrEncryptMessage.d.ts.map +1 -1
  197. package/dist/api/nostr/NostrGetPublicKey.d.ts +1 -0
  198. package/dist/api/nostr/NostrGetPublicKey.d.ts.map +1 -1
  199. package/dist/api/nostr/NostrSignEvent.d.ts +1 -0
  200. package/dist/api/nostr/NostrSignEvent.d.ts.map +1 -1
  201. package/dist/api/nostr/NostrSignSchnorr.d.ts +1 -0
  202. package/dist/api/nostr/NostrSignSchnorr.d.ts.map +1 -1
  203. package/dist/api/polkadot/PolkadotGetAddress.d.ts +1 -0
  204. package/dist/api/polkadot/PolkadotGetAddress.d.ts.map +1 -1
  205. package/dist/api/polkadot/PolkadotSignTransaction.d.ts +1 -0
  206. package/dist/api/polkadot/PolkadotSignTransaction.d.ts.map +1 -1
  207. package/dist/api/protocol-v2/DeviceFactoryInfoGet.d.ts +1 -0
  208. package/dist/api/protocol-v2/DeviceFactoryInfoGet.d.ts.map +1 -1
  209. package/dist/api/protocol-v2/DeviceFactoryInfoSet.d.ts +1 -0
  210. package/dist/api/protocol-v2/DeviceFactoryInfoSet.d.ts.map +1 -1
  211. package/dist/api/protocol-v2/DeviceFirmwareUpdate.d.ts +1 -0
  212. package/dist/api/protocol-v2/DeviceFirmwareUpdate.d.ts.map +1 -1
  213. package/dist/api/protocol-v2/DeviceGetFirmwareUpdateStatus.d.ts +1 -0
  214. package/dist/api/protocol-v2/DeviceGetFirmwareUpdateStatus.d.ts.map +1 -1
  215. package/dist/api/protocol-v2/DeviceGetOnboardingStatus.d.ts +1 -0
  216. package/dist/api/protocol-v2/DeviceGetOnboardingStatus.d.ts.map +1 -1
  217. package/dist/api/protocol-v2/DeviceInfoGet.d.ts +1 -0
  218. package/dist/api/protocol-v2/DeviceInfoGet.d.ts.map +1 -1
  219. package/dist/api/protocol-v2/DeviceReboot.d.ts +1 -0
  220. package/dist/api/protocol-v2/DeviceReboot.d.ts.map +1 -1
  221. package/dist/api/protocol-v2/DeviceStatusGet.d.ts +1 -0
  222. package/dist/api/protocol-v2/DeviceStatusGet.d.ts.map +1 -1
  223. package/dist/api/protocol-v2/DeviceUploadWallpaper.d.ts +1 -0
  224. package/dist/api/protocol-v2/DeviceUploadWallpaper.d.ts.map +1 -1
  225. package/dist/api/protocol-v2/FilesystemFormat.d.ts +1 -0
  226. package/dist/api/protocol-v2/FilesystemFormat.d.ts.map +1 -1
  227. package/dist/api/protocol-v2/FilesystemPermissionFix.d.ts +1 -0
  228. package/dist/api/protocol-v2/FilesystemPermissionFix.d.ts.map +1 -1
  229. package/dist/api/protocol-v2/Ping.d.ts +1 -0
  230. package/dist/api/protocol-v2/Ping.d.ts.map +1 -1
  231. package/dist/api/protocol-v2/ProtocolInfoRequest.d.ts +1 -0
  232. package/dist/api/protocol-v2/ProtocolInfoRequest.d.ts.map +1 -1
  233. package/dist/api/scdo/ScdoGetAddress.d.ts.map +1 -1
  234. package/dist/api/scdo/ScdoSignMessage.d.ts.map +1 -1
  235. package/dist/api/scdo/ScdoSignTransaction.d.ts.map +1 -1
  236. package/dist/api/solana/SolGetAddress.d.ts +1 -0
  237. package/dist/api/solana/SolGetAddress.d.ts.map +1 -1
  238. package/dist/api/solana/SolSignMessage.d.ts +1 -0
  239. package/dist/api/solana/SolSignMessage.d.ts.map +1 -1
  240. package/dist/api/solana/SolSignOffchainMessage.d.ts +1 -0
  241. package/dist/api/solana/SolSignOffchainMessage.d.ts.map +1 -1
  242. package/dist/api/solana/SolSignTransaction.d.ts +1 -0
  243. package/dist/api/solana/SolSignTransaction.d.ts.map +1 -1
  244. package/dist/api/starcoin/StarcoinGetAddress.d.ts +1 -0
  245. package/dist/api/starcoin/StarcoinGetAddress.d.ts.map +1 -1
  246. package/dist/api/starcoin/StarcoinGetPublicKey.d.ts +1 -0
  247. package/dist/api/starcoin/StarcoinGetPublicKey.d.ts.map +1 -1
  248. package/dist/api/starcoin/StarcoinSignMessage.d.ts +1 -0
  249. package/dist/api/starcoin/StarcoinSignMessage.d.ts.map +1 -1
  250. package/dist/api/starcoin/StarcoinSignTransaction.d.ts +1 -0
  251. package/dist/api/starcoin/StarcoinSignTransaction.d.ts.map +1 -1
  252. package/dist/api/starcoin/StarcoinVerifyMessage.d.ts +1 -0
  253. package/dist/api/starcoin/StarcoinVerifyMessage.d.ts.map +1 -1
  254. package/dist/api/stellar/StellarGetAddress.d.ts +1 -2
  255. package/dist/api/stellar/StellarGetAddress.d.ts.map +1 -1
  256. package/dist/api/stellar/StellarSignTransaction.d.ts +2 -3
  257. package/dist/api/stellar/StellarSignTransaction.d.ts.map +1 -1
  258. package/dist/api/sui/SuiGetAddress.d.ts +1 -0
  259. package/dist/api/sui/SuiGetAddress.d.ts.map +1 -1
  260. package/dist/api/sui/SuiGetPublicKey.d.ts +1 -0
  261. package/dist/api/sui/SuiGetPublicKey.d.ts.map +1 -1
  262. package/dist/api/sui/SuiSignMessage.d.ts +1 -0
  263. package/dist/api/sui/SuiSignMessage.d.ts.map +1 -1
  264. package/dist/api/sui/SuiSignTransaction.d.ts +1 -0
  265. package/dist/api/sui/SuiSignTransaction.d.ts.map +1 -1
  266. package/dist/api/ton/TonGetAddress.d.ts +1 -0
  267. package/dist/api/ton/TonGetAddress.d.ts.map +1 -1
  268. package/dist/api/ton/TonSignData.d.ts +1 -0
  269. package/dist/api/ton/TonSignData.d.ts.map +1 -1
  270. package/dist/api/ton/TonSignMessage.d.ts +1 -0
  271. package/dist/api/ton/TonSignMessage.d.ts.map +1 -1
  272. package/dist/api/ton/TonSignProof.d.ts +1 -0
  273. package/dist/api/ton/TonSignProof.d.ts.map +1 -1
  274. package/dist/api/tron/TronGetAddress.d.ts +1 -0
  275. package/dist/api/tron/TronGetAddress.d.ts.map +1 -1
  276. package/dist/api/tron/TronSignMessage.d.ts +2 -0
  277. package/dist/api/tron/TronSignMessage.d.ts.map +1 -1
  278. package/dist/api/tron/TronSignTransaction.d.ts +1 -0
  279. package/dist/api/tron/TronSignTransaction.d.ts.map +1 -1
  280. package/dist/api/xrp/XrpGetAddress.d.ts +1 -0
  281. package/dist/api/xrp/XrpGetAddress.d.ts.map +1 -1
  282. package/dist/api/xrp/XrpSignTransaction.d.ts +1 -0
  283. package/dist/api/xrp/XrpSignTransaction.d.ts.map +1 -1
  284. package/dist/core/index.d.ts.map +1 -1
  285. package/dist/data-manager/DataManager.d.ts +1 -0
  286. package/dist/data-manager/DataManager.d.ts.map +1 -1
  287. package/dist/data-manager/connectSettings.d.ts.map +1 -1
  288. package/dist/device/Device.d.ts +3 -1
  289. package/dist/device/Device.d.ts.map +1 -1
  290. package/dist/index.d.ts +271 -87
  291. package/dist/index.d.ts.map +1 -1
  292. package/dist/index.js +2844 -882
  293. package/dist/inject.d.ts.map +1 -1
  294. package/dist/lowLevelInject.d.ts.map +1 -1
  295. package/dist/topLevelInject.d.ts.map +1 -1
  296. package/dist/types/api/checkAllFirmwareRelease.d.ts +3 -0
  297. package/dist/types/api/checkAllFirmwareRelease.d.ts.map +1 -1
  298. package/dist/types/api/deviceUpdateBootloader.d.ts +6 -0
  299. package/dist/types/api/deviceUpdateBootloader.d.ts.map +1 -1
  300. package/dist/types/api/export.d.ts +5 -2
  301. package/dist/types/api/export.d.ts.map +1 -1
  302. package/dist/types/api/firmwareUpdate.d.ts +69 -0
  303. package/dist/types/api/firmwareUpdate.d.ts.map +1 -1
  304. package/dist/types/api/firmwareUpdateCapabilities.d.ts +9 -0
  305. package/dist/types/api/firmwareUpdateCapabilities.d.ts.map +1 -0
  306. package/dist/types/api/firmwareUpdatePlan.d.ts +27 -0
  307. package/dist/types/api/firmwareUpdatePlan.d.ts.map +1 -0
  308. package/dist/types/api/firmwareUpdatePreparedPlan.d.ts +42 -0
  309. package/dist/types/api/firmwareUpdatePreparedPlan.d.ts.map +1 -0
  310. package/dist/types/api/index.d.ts +9 -1
  311. package/dist/types/api/index.d.ts.map +1 -1
  312. package/dist/types/api/kaspaSignTransaction.d.ts +15 -2
  313. package/dist/types/api/kaspaSignTransaction.d.ts.map +1 -1
  314. package/dist/types/device.d.ts +0 -1
  315. package/dist/types/device.d.ts.map +1 -1
  316. package/dist/types/settings.d.ts +13 -0
  317. package/dist/types/settings.d.ts.map +1 -1
  318. package/dist/utils/deviceInfoUtils.d.ts +0 -1
  319. package/dist/utils/deviceInfoUtils.d.ts.map +1 -1
  320. package/dist/utils/deviceVersionUtils.d.ts +1 -0
  321. package/dist/utils/deviceVersionUtils.d.ts.map +1 -1
  322. package/dist/utils/index.d.ts +1 -1
  323. package/dist/utils/index.d.ts.map +1 -1
  324. package/package.json +4 -4
  325. package/src/api/BaseMethod.ts +21 -18
  326. package/src/api/CheckAllFirmwareRelease.ts +44 -4
  327. package/src/api/CipherKeyValue.ts +4 -0
  328. package/src/api/DirList.ts +4 -1
  329. package/src/api/DirMake.ts +4 -1
  330. package/src/api/DirRemove.ts +4 -1
  331. package/src/api/FileDelete.ts +4 -1
  332. package/src/api/FileRead.ts +4 -1
  333. package/src/api/FileWrite.ts +4 -1
  334. package/src/api/FirmwareUpdate.ts +0 -8
  335. package/src/api/FirmwareUpdateV2.ts +292 -120
  336. package/src/api/FirmwareUpdateV3.ts +256 -61
  337. package/src/api/FirmwareUpdateV4.ts +767 -289
  338. package/src/api/GetDeviceState.ts +4 -0
  339. package/src/api/GetFeatures.ts +1 -4
  340. package/src/api/GetOnekeyFeatures.ts +0 -5
  341. package/src/api/GetPassphraseState.ts +4 -0
  342. package/src/api/OpenWalletSession.ts +4 -0
  343. package/src/api/PathInfo.ts +4 -1
  344. package/src/api/alephium/AlephiumGetAddress.ts +0 -4
  345. package/src/api/alephium/AlephiumSignMessage.ts +0 -4
  346. package/src/api/alephium/AlephiumSignTransaction.ts +0 -4
  347. package/src/api/algo/AlgoGetAddress.ts +4 -0
  348. package/src/api/algo/AlgoSignTransaction.ts +4 -0
  349. package/src/api/allnetwork/AllNetworkGetAddressBase.ts +5 -13
  350. package/src/api/aptos/AptosGetAddress.ts +4 -0
  351. package/src/api/aptos/AptosGetPublicKey.ts +4 -0
  352. package/src/api/aptos/AptosSignInMessage.ts +4 -0
  353. package/src/api/aptos/AptosSignMessage.ts +4 -0
  354. package/src/api/aptos/AptosSignTransaction.ts +4 -0
  355. package/src/api/benfen/BenfenGetAddress.ts +11 -7
  356. package/src/api/benfen/BenfenGetPublicKey.ts +0 -4
  357. package/src/api/benfen/BenfenSignMessage.ts +0 -4
  358. package/src/api/benfen/BenfenSignTransaction.ts +0 -4
  359. package/src/api/btc/BTCGetAddress.ts +8 -1
  360. package/src/api/btc/BTCGetPublicKey.ts +8 -1
  361. package/src/api/btc/BTCSignMessage.ts +8 -1
  362. package/src/api/btc/BTCSignPsbt.ts +4 -0
  363. package/src/api/btc/BTCSignTransaction.ts +8 -1
  364. package/src/api/btc/BTCVerifyMessage.ts +8 -1
  365. package/src/api/btc/helpers/versionLimit.ts +7 -4
  366. package/src/api/cardano/CardanoGetAddress.ts +4 -0
  367. package/src/api/cardano/CardanoGetPublicKey.ts +4 -0
  368. package/src/api/cardano/CardanoSignMessage.ts +4 -0
  369. package/src/api/cardano/CardanoSignTransaction.ts +4 -0
  370. package/src/api/conflux/ConfluxGetAddress.ts +4 -0
  371. package/src/api/conflux/ConfluxSignMessage.ts +4 -0
  372. package/src/api/conflux/ConfluxSignMessageCIP23.ts +4 -0
  373. package/src/api/conflux/ConfluxSignTransaction.ts +6 -5
  374. package/src/api/cosmos/CosmosGetAddress.ts +4 -0
  375. package/src/api/cosmos/CosmosGetPublicKey.ts +4 -0
  376. package/src/api/cosmos/CosmosSignTransaction.ts +4 -0
  377. package/src/api/device/DeviceCancel.ts +4 -0
  378. package/src/api/device/DeviceChangePin.ts +4 -0
  379. package/src/api/device/DeviceLock.ts +4 -0
  380. package/src/api/device/DeviceRebootToBoardloader.ts +4 -0
  381. package/src/api/device/DeviceRebootToBootloader.ts +4 -0
  382. package/src/api/device/DeviceSettings.ts +4 -0
  383. package/src/api/device/DeviceSupportFeatures.ts +4 -0
  384. package/src/api/device/DeviceUnlock.ts +4 -0
  385. package/src/api/device/DeviceUpdateBootloader.ts +122 -6
  386. package/src/api/device/DeviceWipe.ts +4 -0
  387. package/src/api/device/PreInitialize.ts +4 -0
  388. package/src/api/dynex/DnxGetAddress.ts +0 -6
  389. package/src/api/dynex/DnxSignTransaction.ts +0 -6
  390. package/src/api/evm/EVMGetAddress.ts +4 -0
  391. package/src/api/evm/EVMGetPublicKey.ts +4 -0
  392. package/src/api/evm/EVMSignMessage.ts +4 -0
  393. package/src/api/evm/EVMSignMessageEIP712.ts +1 -11
  394. package/src/api/evm/EVMSignTransaction.ts +4 -0
  395. package/src/api/evm/EVMSignTypedData.ts +4 -0
  396. package/src/api/evm/EVMVerifyMessage.ts +4 -0
  397. package/src/api/filecoin/FilecoinGetAddress.ts +4 -0
  398. package/src/api/filecoin/FilecoinSignTransaction.ts +4 -0
  399. package/src/api/firmware/FirmwareArtifactSource.ts +278 -0
  400. package/src/api/firmware/FirmwareHostBinding.ts +100 -0
  401. package/src/api/firmware/FirmwareUpdateBaseMethod.ts +50 -0
  402. package/src/api/firmware/FirmwareUpdateCapabilities.ts +9 -0
  403. package/src/api/firmware/FirmwareUpdatePlan.ts +628 -0
  404. package/src/api/firmware/FirmwareUpdatePreparedPlan.ts +392 -0
  405. package/src/api/firmware/updateBootloader.ts +19 -4
  406. package/src/api/firmware/uploadFirmware.ts +140 -22
  407. package/src/api/kaspa/KaspaGetAddress.ts +4 -0
  408. package/src/api/kaspa/KaspaSignTransaction.ts +37 -15
  409. package/src/api/kaspa/helpers/TransferSerialize.ts +3 -7
  410. package/src/api/lightning/LnurlAuth.ts +0 -4
  411. package/src/api/near/NearGetAddress.ts +4 -0
  412. package/src/api/near/NearSignTransaction.ts +4 -0
  413. package/src/api/nem/NEMGetAddress.ts +4 -0
  414. package/src/api/nem/NEMSignTransaction.ts +4 -0
  415. package/src/api/neo/NeoGetAddress.ts +0 -4
  416. package/src/api/neo/NeoSignTransaction.ts +0 -4
  417. package/src/api/nervos/NervosGetAddress.ts +0 -4
  418. package/src/api/nervos/NervosSignTransaction.ts +0 -4
  419. package/src/api/nexa/NexaGetAddress.ts +0 -4
  420. package/src/api/nexa/NexaSignTransaction.ts +0 -4
  421. package/src/api/nostr/NostrDecryptMessage.ts +4 -0
  422. package/src/api/nostr/NostrEncryptMessage.ts +4 -0
  423. package/src/api/nostr/NostrGetPublicKey.ts +4 -0
  424. package/src/api/nostr/NostrSignEvent.ts +4 -0
  425. package/src/api/nostr/NostrSignSchnorr.ts +4 -0
  426. package/src/api/polkadot/PolkadotGetAddress.ts +4 -0
  427. package/src/api/polkadot/PolkadotSignTransaction.ts +4 -0
  428. package/src/api/protocol-v2/DeviceFactoryInfoGet.ts +4 -1
  429. package/src/api/protocol-v2/DeviceFactoryInfoSet.ts +4 -1
  430. package/src/api/protocol-v2/DeviceFirmwareUpdate.ts +4 -1
  431. package/src/api/protocol-v2/DeviceGetFirmwareUpdateStatus.ts +4 -1
  432. package/src/api/protocol-v2/DeviceGetOnboardingStatus.ts +4 -1
  433. package/src/api/protocol-v2/DeviceInfoGet.ts +4 -8
  434. package/src/api/protocol-v2/DeviceReboot.ts +4 -2
  435. package/src/api/protocol-v2/DeviceStatusGet.ts +4 -1
  436. package/src/api/protocol-v2/DeviceUploadWallpaper.ts +4 -1
  437. package/src/api/protocol-v2/FilesystemFormat.ts +4 -1
  438. package/src/api/protocol-v2/FilesystemPermissionFix.ts +4 -1
  439. package/src/api/protocol-v2/Ping.ts +4 -1
  440. package/src/api/protocol-v2/ProtocolInfoRequest.ts +4 -1
  441. package/src/api/scdo/ScdoGetAddress.ts +0 -4
  442. package/src/api/scdo/ScdoSignMessage.ts +0 -4
  443. package/src/api/scdo/ScdoSignTransaction.ts +0 -4
  444. package/src/api/solana/SolGetAddress.ts +4 -0
  445. package/src/api/solana/SolSignMessage.ts +4 -0
  446. package/src/api/solana/SolSignOffchainMessage.ts +4 -0
  447. package/src/api/solana/SolSignTransaction.ts +4 -0
  448. package/src/api/starcoin/StarcoinGetAddress.ts +4 -0
  449. package/src/api/starcoin/StarcoinGetPublicKey.ts +4 -0
  450. package/src/api/starcoin/StarcoinSignMessage.ts +4 -0
  451. package/src/api/starcoin/StarcoinSignTransaction.ts +4 -0
  452. package/src/api/starcoin/StarcoinVerifyMessage.ts +4 -0
  453. package/src/api/stellar/StellarGetAddress.ts +1 -10
  454. package/src/api/stellar/StellarSignTransaction.ts +1 -14
  455. package/src/api/sui/SuiGetAddress.ts +4 -0
  456. package/src/api/sui/SuiGetPublicKey.ts +4 -0
  457. package/src/api/sui/SuiSignMessage.ts +4 -0
  458. package/src/api/sui/SuiSignTransaction.ts +4 -0
  459. package/src/api/ton/TonGetAddress.ts +4 -0
  460. package/src/api/ton/TonSignData.ts +5 -1
  461. package/src/api/ton/TonSignMessage.ts +4 -0
  462. package/src/api/ton/TonSignProof.ts +4 -0
  463. package/src/api/tron/TronGetAddress.ts +4 -0
  464. package/src/api/tron/TronSignMessage.ts +15 -7
  465. package/src/api/tron/TronSignTransaction.ts +4 -0
  466. package/src/api/xrp/XrpGetAddress.ts +4 -0
  467. package/src/api/xrp/XrpSignTransaction.ts +5 -1
  468. package/src/core/index.ts +4 -17
  469. package/src/data-manager/DataManager.ts +33 -33
  470. package/src/data-manager/connectSettings.ts +11 -0
  471. package/src/device/Device.ts +53 -53
  472. package/src/index.ts +5 -0
  473. package/src/inject.ts +22 -2
  474. package/src/lowLevelInject.ts +5 -1
  475. package/src/topLevelInject.ts +5 -1
  476. package/src/types/api/checkAllFirmwareRelease.ts +3 -0
  477. package/src/types/api/deviceUpdateBootloader.ts +6 -0
  478. package/src/types/api/export.ts +20 -0
  479. package/src/types/api/firmwareUpdate.ts +76 -0
  480. package/src/types/api/firmwareUpdateCapabilities.ts +9 -0
  481. package/src/types/api/firmwareUpdatePlan.ts +36 -0
  482. package/src/types/api/firmwareUpdatePreparedPlan.ts +53 -0
  483. package/src/types/api/index.ts +14 -0
  484. package/src/types/api/kaspaSignTransaction.ts +20 -2
  485. package/src/types/device.ts +0 -1
  486. package/src/types/settings.ts +13 -0
  487. package/src/utils/deviceInfoUtils.ts +0 -3
  488. package/src/utils/deviceVersionUtils.ts +1 -1
  489. package/src/utils/index.ts +0 -1
  490. package/tsconfig.type-tests.json +8 -0
@@ -17,6 +17,10 @@ const isLoaderMode = (mode: string) => mode === 'bootloader' || mode === 'romloa
17
17
  export default class GetDeviceState extends BaseMethod<
18
18
  Required<Pick<GetDeviceStateParams, 'scope'>>
19
19
  > {
20
+ getSupportedProtocols() {
21
+ return ['V1', 'V2'] as const;
22
+ }
23
+
20
24
  init() {
21
25
  const scope = (this.payload.scope ?? 'runtime') as DeviceStateScope;
22
26
  if (!Object.prototype.hasOwnProperty.call(SCOPE_SECTIONS, scope)) {
@@ -1,4 +1,4 @@
1
- import { ERRORS, HardwareErrorCode, createDeviceNotSupportMethodError } from '@onekeyfe/hd-shared';
1
+ import { ERRORS, HardwareErrorCode } from '@onekeyfe/hd-shared';
2
2
 
3
3
  import { UI_REQUEST } from '../constants/ui-request';
4
4
  import { projectFeatures } from '../device/DeviceStateProjector';
@@ -20,9 +20,6 @@ export default class GetFeatures extends BaseMethod {
20
20
  if (this.payload?.detectBootloaderDevice && this.device.isBootloader()) {
21
21
  return Promise.reject(ERRORS.TypedError(HardwareErrorCode.DeviceDetectInBootloaderMode));
22
22
  }
23
- if (this.device.isProtocolV2()) {
24
- throw createDeviceNotSupportMethodError(this.name, this.device.getCurrentFirmwareType());
25
- }
26
23
  const state = await this.device.getDeviceState({
27
24
  includeRaw: true,
28
25
  });
@@ -1,5 +1,4 @@
1
1
  import semver from 'semver';
2
- import { createDeviceNotSupportMethodError } from '@onekeyfe/hd-shared';
3
2
 
4
3
  import { UI_REQUEST } from '../constants/ui-request';
5
4
  import { fixVersion } from '../utils/deviceFeaturesUtils';
@@ -26,10 +25,6 @@ export default class GetOnekeyFeatures extends BaseMethod {
26
25
  }
27
26
 
28
27
  async run() {
29
- if (this.device.isProtocolV2()) {
30
- throw createDeviceNotSupportMethodError(this.name, this.device.getCurrentFirmwareType());
31
- }
32
-
33
28
  const { message } = await this.device.commands.typedCall('OnekeyGetFeatures', 'OnekeyFeatures');
34
29
  normalizeOnekeyFirmwareVersion(message);
35
30
  return Promise.resolve(message);
@@ -5,6 +5,10 @@ import { getPassphraseStateWithRefreshDeviceInfo } from '../utils/deviceFeatures
5
5
  import { BaseMethod } from './BaseMethod';
6
6
 
7
7
  export default class GetPassphraseState extends BaseMethod {
8
+ getSupportedProtocols() {
9
+ return ['V1', 'V2'] as const;
10
+ }
11
+
8
12
  init() {
9
13
  this.allowDeviceMode = [...this.allowDeviceMode, UI_REQUEST.NOT_INITIALIZE];
10
14
  this.useDevicePassphraseState = false;
@@ -80,6 +80,10 @@ const normalizeParams = (payload: Record<string, unknown>): OpenWalletSessionPar
80
80
  };
81
81
 
82
82
  export default class OpenWalletSession extends BaseMethod<OpenWalletSessionParams> {
83
+ getSupportedProtocols() {
84
+ return ['V1', 'V2'] as const;
85
+ }
86
+
83
87
  init() {
84
88
  this.useDevicePassphraseState = false;
85
89
  this.skipForceUpdateCheck = true;
@@ -10,9 +10,12 @@ export type PathInfoParams = {
10
10
  };
11
11
 
12
12
  export default class PathInfo extends BaseMethod<PathInfoParams> {
13
+ getSupportedProtocols() {
14
+ return ['V2'] as const;
15
+ }
16
+
13
17
  init() {
14
18
  // Protocol V2 (Pro2) only; Core rejects non-V2 devices.
15
- this.requireProtocolV2 = true;
16
19
  this.skipForceUpdateCheck = true;
17
20
  this.useDevicePassphraseState = false;
18
21
  this.params = {
@@ -45,10 +45,6 @@ export default class AlephiumGetAddress extends BaseMethod<HardwareAlephiumGetAd
45
45
 
46
46
  getVersionRange(): DeviceFirmwareRange {
47
47
  return {
48
- pro2: {
49
- min: '0.0.0',
50
- unsupported: true,
51
- },
52
48
  model_touch: {
53
49
  min: '4.10.0',
54
50
  },
@@ -33,10 +33,6 @@ export default class AlephiumSignMessage extends BaseMethod<HardwareAlephiumSign
33
33
 
34
34
  getVersionRange(): DeviceFirmwareRange {
35
35
  return {
36
- pro2: {
37
- min: '0.0.0',
38
- unsupported: true,
39
- },
40
36
  model_touch: {
41
37
  min: '4.10.0',
42
38
  },
@@ -42,10 +42,6 @@ export default class AlephiumSignTransaction extends BaseMethod<HardwareAlephium
42
42
 
43
43
  getVersionRange(): DeviceFirmwareRange {
44
44
  return {
45
- pro2: {
46
- min: '0.0.0',
47
- unsupported: true,
48
- },
49
45
  model_touch: {
50
46
  min: '4.10.0',
51
47
  },
@@ -6,6 +6,10 @@ import type { AlgorandGetAddress as HardwareAlgoGetAddress } from '@onekeyfe/hd-
6
6
  import type { AlgoAddress, AlgoGetAddressParams } from '../../types';
7
7
 
8
8
  export default class AlgoGetAddress extends BaseMethod<HardwareAlgoGetAddress[]> {
9
+ getSupportedProtocols() {
10
+ return ['V1', 'V2'] as const;
11
+ }
12
+
9
13
  hasBundle = false;
10
14
 
11
15
  init() {
@@ -7,6 +7,10 @@ import type { SolanaSignTransactionParams } from '../../types';
7
7
  import type { AlgorandSignTx as HardwareAlgorandSignTx } from '@onekeyfe/hd-transport';
8
8
 
9
9
  export default class AlgoSignTransaction extends BaseMethod<HardwareAlgorandSignTx> {
10
+ getSupportedProtocols() {
11
+ return ['V1', 'V2'] as const;
12
+ }
13
+
10
14
  hasBundle = false;
11
15
 
12
16
  init() {
@@ -12,7 +12,6 @@ import { validateParams } from '../helpers/paramsValidator';
12
12
  import { PROTO } from '../../constants';
13
13
  import { findMethod } from '../utils';
14
14
  import { DEVICE, IFRAME, createUiMessage } from '../../events';
15
- import { isMethodVersionRangeUnsupported } from '../../utils';
16
15
  import { UI_REQUEST } from '../../constants/ui-request';
17
16
  import { onDeviceButtonHandler } from '../../core';
18
17
  import {
@@ -260,6 +259,10 @@ export default abstract class AllNetworkGetAddressBase extends BaseMethod<
260
259
  chain_name?: string;
261
260
  }[]
262
261
  > {
262
+ getSupportedProtocols() {
263
+ return ['V1', 'V2'] as const;
264
+ }
265
+
263
266
  abortController: AbortController | null = null;
264
267
 
265
268
  init() {
@@ -459,13 +462,10 @@ export default abstract class AllNetworkGetAddressBase extends BaseMethod<
459
462
  * @param method BaseMethod
460
463
  */
461
464
  function preCheckDeviceSupport(device: Device, method: BaseMethod) {
465
+ method.assertProtocolSupported(device.getProtocol(), device.getCurrentFirmwareType());
462
466
  const versionRange = device.getCurrentMethodVersionRange(type => method.getVersionRange()[type]);
463
467
  const currentVersion = device.getCurrentFirmwareVersionString() ?? '0.0.0';
464
468
 
465
- if (isMethodVersionRangeUnsupported(versionRange)) {
466
- throw ERRORS.createDeviceNotSupportMethodError(method.name, device.getCurrentFirmwareType());
467
- }
468
-
469
469
  if (
470
470
  versionRange &&
471
471
  semver.valid(versionRange.min) &&
@@ -505,14 +505,6 @@ function handleSkippableHardwareError(
505
505
  );
506
506
  const currentVersion = device.getCurrentFirmwareVersionString() ?? '0.0.0';
507
507
 
508
- if (isMethodVersionRangeUnsupported(versionRange)) {
509
- error = ERRORS.createDeviceNotSupportMethodError(
510
- method.name,
511
- device.getCurrentFirmwareType()
512
- );
513
- return error;
514
- }
515
-
516
508
  if (
517
509
  versionRange &&
518
510
  semver.valid(versionRange.min) &&
@@ -12,6 +12,10 @@ import type { AptosAddress, AptosGetAddressParams } from '../../types';
12
12
  import type { AptosGetAddress as HardwareAptosGetAddress } from '@onekeyfe/hd-transport';
13
13
 
14
14
  export default class AptosGetAddress extends BaseMethod<HardwareAptosGetAddress[]> {
15
+ getSupportedProtocols() {
16
+ return ['V1', 'V2'] as const;
17
+ }
18
+
15
19
  hasBundle = false;
16
20
 
17
21
  shouldConfirm = false;
@@ -7,6 +7,10 @@ import { batchGetPublickeys } from '../helpers/batchGetPublickeys';
7
7
  import type { AptosGetAddressParams, AptosPublicKey } from '../../types';
8
8
 
9
9
  export default class AptosGetPublicKey extends BaseMethod<any> {
10
+ getSupportedProtocols() {
11
+ return ['V1', 'V2'] as const;
12
+ }
13
+
10
14
  hasBundle = false;
11
15
 
12
16
  init() {
@@ -7,6 +7,10 @@ import type { AptosSignSIWAMessage } from '@onekeyfe/hd-transport';
7
7
  import type { AptosSignInMessageParams, AptosSignInMessageSignature } from '../../types';
8
8
 
9
9
  export default class AptosSignInMessage extends BaseMethod<AptosSignSIWAMessage> {
10
+ getSupportedProtocols() {
11
+ return ['V1', 'V2'] as const;
12
+ }
13
+
10
14
  init() {
11
15
  this.checkDeviceId = true;
12
16
  this.allowDeviceMode = [...this.allowDeviceMode, UI_REQUEST.NOT_INITIALIZE];
@@ -7,6 +7,10 @@ import type { AptosSignMessage as HardwareAptosSignMessage } from '@onekeyfe/hd-
7
7
  import type { AptosMessageSignature, AptosSignMessageParams } from '../../types';
8
8
 
9
9
  export default class AptosSignMessage extends BaseMethod<HardwareAptosSignMessage> {
10
+ getSupportedProtocols() {
11
+ return ['V1', 'V2'] as const;
12
+ }
13
+
10
14
  init() {
11
15
  this.checkDeviceId = true;
12
16
  this.allowDeviceMode = [...this.allowDeviceMode, UI_REQUEST.NOT_INITIALIZE];
@@ -7,6 +7,10 @@ import { formatAnyHex } from '../helpers/hexUtils';
7
7
  import type { AptosSignTx as HardwareAptosSignTx } from '@onekeyfe/hd-transport';
8
8
 
9
9
  export default class AptosSignTransaction extends BaseMethod<HardwareAptosSignTx> {
10
+ getSupportedProtocols() {
11
+ return ['V1', 'V2'] as const;
12
+ }
13
+
10
14
  init() {
11
15
  this.checkDeviceId = true;
12
16
  this.allowDeviceMode = [...this.allowDeviceMode, UI_REQUEST.NOT_INITIALIZE];
@@ -1,3 +1,5 @@
1
+ import { ERRORS, HardwareErrorCode } from '@onekeyfe/hd-shared';
2
+
1
3
  import { BaseMethod } from '../BaseMethod';
2
4
  import { validateParams, validateResult } from '../helpers/paramsValidator';
3
5
  import { serializedPath, validatePath } from '../helpers/pathUtils';
@@ -8,6 +10,13 @@ import { batchGetPublickeys, supportBatchPublicKeyByDevice } from '../helpers/ba
8
10
  import type { BenfenAddress, BenfenGetAddressParams, DeviceFirmwareRange } from '../../types';
9
11
  import type { BenfenGetAddress as HardwareBenfenGetAddress } from '@onekeyfe/hd-transport';
10
12
 
13
+ const requireAddress = (address: string | undefined): string => {
14
+ if (address == null) {
15
+ throw ERRORS.TypedError(HardwareErrorCode.CallMethodError, "Field 'address' is null");
16
+ }
17
+ return address;
18
+ };
19
+
11
20
  export default class BenfenGetAddress extends BaseMethod<HardwareBenfenGetAddress[]> {
12
21
  hasBundle = false;
13
22
 
@@ -48,10 +57,6 @@ export default class BenfenGetAddress extends BaseMethod<HardwareBenfenGetAddres
48
57
 
49
58
  getVersionRange(): DeviceFirmwareRange {
50
59
  return {
51
- pro2: {
52
- min: '0.0.0',
53
- unsupported: true,
54
- },
55
60
  pro: {
56
61
  min: '4.12.0',
57
62
  },
@@ -78,8 +83,7 @@ export default class BenfenGetAddress extends BaseMethod<HardwareBenfenGetAddres
78
83
  'BenfenAddress',
79
84
  param
80
85
  );
81
- // BenfenAddress.address is optional in proto but always present on success.
82
- address = addressRes.message.address ?? '';
86
+ address = requireAddress(addressRes.message.address);
83
87
  } else {
84
88
  address = publicKeyToAddress(publicKey);
85
89
  }
@@ -107,7 +111,7 @@ export default class BenfenGetAddress extends BaseMethod<HardwareBenfenGetAddres
107
111
  );
108
112
  const result = {
109
113
  path: serializedPath(param.address_n),
110
- address: hex2BfcAddress(res.message.address ?? ''),
114
+ address: hex2BfcAddress(requireAddress(res.message.address)),
111
115
  };
112
116
  if (this.shouldConfirm) {
113
117
  this.postPreviousAddressMessage(result);
@@ -40,10 +40,6 @@ export default class BenfenGetPublicKey extends BaseMethod<any> {
40
40
 
41
41
  getVersionRange(): DeviceFirmwareRange {
42
42
  return {
43
- pro2: {
44
- min: '0.0.0',
45
- unsupported: true,
46
- },
47
43
  pro: {
48
44
  min: '4.12.0',
49
45
  },
@@ -29,10 +29,6 @@ export default class BenfenSignMessage extends BaseMethod<HardwareBenfenSignMess
29
29
 
30
30
  getVersionRange(): DeviceFirmwareRange {
31
31
  return {
32
- pro2: {
33
- min: '0.0.0',
34
- unsupported: true,
35
- },
36
32
  pro: {
37
33
  min: '4.12.0',
38
34
  },
@@ -36,10 +36,6 @@ export default class BenfenSignTransaction extends BaseMethod<BenfenSignTx> {
36
36
 
37
37
  getVersionRange(): DeviceFirmwareRange {
38
38
  return {
39
- pro2: {
40
- min: '0.0.0',
41
- unsupported: true,
42
- },
43
39
  pro: {
44
40
  min: '4.12.0',
45
41
  },
@@ -3,7 +3,10 @@ import { getScriptType, serializedPath, validatePath } from '../helpers/pathUtil
3
3
  import { BaseMethod } from '../BaseMethod';
4
4
  import { validateParams, validateResult } from '../helpers/paramsValidator';
5
5
  import { getCoinInfo } from './helpers/btcParamsUtils';
6
- import { getBitcoinForkVersionRange } from './helpers/versionLimit';
6
+ import {
7
+ getBitcoinForkSupportedProtocols,
8
+ getBitcoinForkVersionRange,
9
+ } from './helpers/versionLimit';
7
10
 
8
11
  import type { BTCAddress, BTCGetAddressParams } from '../../types/api/btcGetAddress';
9
12
  import type { GetAddress } from '@onekeyfe/hd-transport';
@@ -11,6 +14,10 @@ import type { GetAddress } from '@onekeyfe/hd-transport';
11
14
  export default class BTCGetAddress extends BaseMethod<GetAddress[]> {
12
15
  hasBundle = false;
13
16
 
17
+ getSupportedProtocols() {
18
+ return getBitcoinForkSupportedProtocols(this.params?.map(param => param.coin_name) ?? []);
19
+ }
20
+
14
21
  init() {
15
22
  this.checkDeviceId = true;
16
23
  this.allowDeviceMode = [...this.allowDeviceMode, UI_REQUEST.NOT_INITIALIZE];
@@ -5,7 +5,10 @@ import { getScriptType, isTaprootPath, serializedPath, validatePath } from '../h
5
5
  import { BaseMethod } from '../BaseMethod';
6
6
  import { validateParams, validateResult } from '../helpers/paramsValidator';
7
7
  import { getCoinInfo } from './helpers/btcParamsUtils';
8
- import { getBitcoinForkVersionRange } from './helpers/versionLimit';
8
+ import {
9
+ getBitcoinForkSupportedProtocols,
10
+ getBitcoinForkVersionRange,
11
+ } from './helpers/versionLimit';
9
12
  import { batchGetPublickeys } from '../helpers/batchGetPublickeys';
10
13
  import { createExtendedPublicKey, getVersionBytes } from './helpers/xpubUtils';
11
14
 
@@ -14,6 +17,10 @@ import type { BTCGetAddressParams } from '../../types/api/btcGetAddress';
14
17
  import type { GetPublicKey } from '@onekeyfe/hd-transport';
15
18
 
16
19
  export default class BTCGetPublicKey extends BaseMethod<GetPublicKey[]> {
20
+ getSupportedProtocols() {
21
+ return getBitcoinForkSupportedProtocols(this.params?.map(param => param.coin_name) ?? []);
22
+ }
23
+
17
24
  hasBundle = false;
18
25
 
19
26
  init() {
@@ -4,11 +4,18 @@ import { BaseMethod } from '../BaseMethod';
4
4
  import { validateParams } from '../helpers/paramsValidator';
5
5
  import { formatAnyHex } from '../helpers/hexUtils';
6
6
  import { getCoinAndScriptType } from './helpers/btcParamsUtils';
7
- import { getBitcoinForkVersionRange } from './helpers/versionLimit';
7
+ import {
8
+ getBitcoinForkSupportedProtocols,
9
+ getBitcoinForkVersionRange,
10
+ } from './helpers/versionLimit';
8
11
 
9
12
  import type { SignMessage } from '@onekeyfe/hd-transport';
10
13
 
11
14
  export default class BTCSignMessage extends BaseMethod<SignMessage> {
15
+ getSupportedProtocols() {
16
+ return getBitcoinForkSupportedProtocols([this.params?.coin_name]);
17
+ }
18
+
12
19
  init() {
13
20
  this.checkDeviceId = true;
14
21
  this.allowDeviceMode = [...this.allowDeviceMode, UI_REQUEST.NOT_INITIALIZE];
@@ -9,6 +9,10 @@ import { getCoinInfo } from './helpers/btcParamsUtils';
9
9
  import type { SignPsbt } from '@onekeyfe/hd-transport';
10
10
 
11
11
  export default class BTCSignPsbt extends BaseMethod<SignPsbt> {
12
+ getSupportedProtocols() {
13
+ return ['V1', 'V2'] as const;
14
+ }
15
+
12
16
  init() {
13
17
  this.checkDeviceId = true;
14
18
  this.allowDeviceMode = [...this.allowDeviceMode, UI_REQUEST.NOT_INITIALIZE];
@@ -7,7 +7,10 @@ import { validateParams } from '../helpers/paramsValidator';
7
7
  import signtx from './helpers/signtx';
8
8
  import signtxLegacy from './helpers/signtxLegacy';
9
9
  import { getCoinInfo } from './helpers/btcParamsUtils';
10
- import { getBitcoinForkVersionRange } from './helpers/versionLimit';
10
+ import {
11
+ getBitcoinForkSupportedProtocols,
12
+ getBitcoinForkVersionRange,
13
+ } from './helpers/versionLimit';
11
14
 
12
15
  import type {
13
16
  AccountAddresses,
@@ -26,6 +29,10 @@ type Params = {
26
29
  coinName: string;
27
30
  };
28
31
  export default class BTCSignTransaction extends BaseMethod<Params> {
32
+ getSupportedProtocols() {
33
+ return getBitcoinForkSupportedProtocols([this.params?.coinName]);
34
+ }
35
+
29
36
  init() {
30
37
  this.checkDeviceId = true;
31
38
  this.allowDeviceMode = [...this.allowDeviceMode, UI_REQUEST.NOT_INITIALIZE];
@@ -3,11 +3,18 @@ import { BaseMethod } from '../BaseMethod';
3
3
  import { validateParams } from '../helpers/paramsValidator';
4
4
  import { formatAnyHex } from '../helpers/hexUtils';
5
5
  import { getCoinInfo } from './helpers/btcParamsUtils';
6
- import { getBitcoinForkVersionRange } from './helpers/versionLimit';
6
+ import {
7
+ getBitcoinForkSupportedProtocols,
8
+ getBitcoinForkVersionRange,
9
+ } from './helpers/versionLimit';
7
10
 
8
11
  import type { VerifyMessage } from '@onekeyfe/hd-transport';
9
12
 
10
13
  export default class BTCVerifyMessage extends BaseMethod<VerifyMessage> {
14
+ getSupportedProtocols() {
15
+ return getBitcoinForkSupportedProtocols([this.params?.coin_name]);
16
+ }
17
+
11
18
  init() {
12
19
  this.checkDeviceId = true;
13
20
  this.allowDeviceMode = [...this.allowDeviceMode, UI_REQUEST.NOT_INITIALIZE];
@@ -1,4 +1,5 @@
1
1
  import type { DeviceFirmwareRange } from '../../../types';
2
+ import type { ProtocolType } from '@onekeyfe/hd-transport';
2
3
 
3
4
  function isCoinNameInList(coinName: string, coinNames: (string | undefined)[]) {
4
5
  for (let i = 0; i < coinNames.length; i++) {
@@ -13,10 +14,6 @@ function isCoinNameInList(coinName: string, coinNames: (string | undefined)[]) {
13
14
  export function getBitcoinForkVersionRange(params: (string | undefined)[]): DeviceFirmwareRange {
14
15
  if (isCoinNameInList('Neurai', params)) {
15
16
  return {
16
- pro2: {
17
- min: '0.0.0',
18
- unsupported: true,
19
- },
20
17
  model_mini: {
21
18
  min: '3.7.0',
22
19
  },
@@ -29,3 +26,9 @@ export function getBitcoinForkVersionRange(params: (string | undefined)[]): Devi
29
26
  // No version restrictions for other coins
30
27
  return {};
31
28
  }
29
+
30
+ export function getBitcoinForkSupportedProtocols(
31
+ params: (string | undefined)[]
32
+ ): readonly ProtocolType[] {
33
+ return isCoinNameInList('Neurai', params) ? ['V1'] : ['V1', 'V2'];
34
+ }
@@ -13,6 +13,10 @@ import type { CardanoAddress, CardanoGetAddressParams } from '../../types/api/ca
13
13
  import type { CardanoGetAddressMethodParams } from '../../types';
14
14
 
15
15
  export default class CardanoGetAddress extends BaseMethod<CardanoGetAddressParams[]> {
16
+ getSupportedProtocols() {
17
+ return ['V1', 'V2'] as const;
18
+ }
19
+
16
20
  hasBundle?: boolean;
17
21
 
18
22
  isCheck?: boolean;
@@ -7,6 +7,10 @@ import { serializedPath, validatePath } from '../helpers/pathUtils';
7
7
  import type { CardanoPublicKey, CardanoPublicKeyParams } from '../../types/api/cardanoGetPublicKey';
8
8
 
9
9
  export default class CardanoGetPublicKey extends BaseMethod<CardanoPublicKeyParams[]> {
10
+ getSupportedProtocols() {
11
+ return ['V1', 'V2'] as const;
12
+ }
13
+
10
14
  hasBundle?: boolean;
11
15
 
12
16
  init() {
@@ -7,6 +7,10 @@ import { validatePath } from '../helpers/pathUtils';
7
7
  import type { CardanoSignMessageParams } from '../../types/api/cardanoSignMessage';
8
8
 
9
9
  export default class CardanoSignMessage extends BaseMethod<CardanoSignMessageParams> {
10
+ getSupportedProtocols() {
11
+ return ['V1', 'V2'] as const;
12
+ }
13
+
10
14
  hasBundle?: boolean;
11
15
 
12
16
  isCheck?: boolean;
@@ -32,6 +32,10 @@ import type {
32
32
  } from '../../types/api/cardano';
33
33
 
34
34
  export default class CardanoSignTransaction extends BaseMethod<any> {
35
+ getSupportedProtocols() {
36
+ return ['V1', 'V2'] as const;
37
+ }
38
+
35
39
  hasBundle?: boolean;
36
40
 
37
41
  getVersionRange() {
@@ -7,6 +7,10 @@ import type { ConfluxGetAddress as HardwareConfluxGetAddress } from '@onekeyfe/h
7
7
  import type { ConfluxAddress, ConfluxGetAddressParams } from '../../types/api/confluxGetAddress';
8
8
 
9
9
  export default class ConfluxGetAddress extends BaseMethod<HardwareConfluxGetAddress[]> {
10
+ getSupportedProtocols() {
11
+ return ['V1', 'V2'] as const;
12
+ }
13
+
10
14
  checkDeviceId = true;
11
15
 
12
16
  hasBundle = false;
@@ -7,6 +7,10 @@ import { formatAnyHex } from '../helpers/hexUtils';
7
7
  import type { ConfluxSignMessage as HardwareConfluxSignMessage } from '@onekeyfe/hd-transport';
8
8
 
9
9
  export default class ConfluxSignMessage extends BaseMethod<HardwareConfluxSignMessage> {
10
+ getSupportedProtocols() {
11
+ return ['V1', 'V2'] as const;
12
+ }
13
+
10
14
  checkDeviceId = true;
11
15
 
12
16
  init() {
@@ -7,6 +7,10 @@ import { formatAnyHex } from '../helpers/hexUtils';
7
7
  import type { ConfluxSignMessageCIP23 as HardwareConfluxSignMessageCIP23 } from '@onekeyfe/hd-transport';
8
8
 
9
9
  export default class ConfluxSignMessageCIP23 extends BaseMethod<HardwareConfluxSignMessageCIP23> {
10
+ getSupportedProtocols() {
11
+ return ['V1', 'V2'] as const;
12
+ }
13
+
10
14
  checkDeviceId = true;
11
15
 
12
16
  init() {
@@ -16,6 +16,10 @@ import type {
16
16
  import type { ConfluxSignTx, ConfluxTxRequest } from '@onekeyfe/hd-transport';
17
17
 
18
18
  export default class ConfluxSignTransaction extends BaseMethod {
19
+ getSupportedProtocols() {
20
+ return ['V1', 'V2'] as const;
21
+ }
22
+
19
23
  checkDeviceId = true;
20
24
 
21
25
  addressN: number[] = [];
@@ -37,7 +41,7 @@ export default class ConfluxSignTransaction extends BaseMethod {
37
41
 
38
42
  // check if transaction is valid
39
43
  const schema: SchemaParam[] = [
40
- { name: 'to', type: 'string', required: true },
44
+ { name: 'to', type: 'hexString', required: true },
41
45
  { name: 'value', type: 'hexString', required: true },
42
46
  { name: 'gasLimit', type: 'hexString', required: true },
43
47
  { name: 'gasPrice', type: 'hexString', required: true },
@@ -50,10 +54,7 @@ export default class ConfluxSignTransaction extends BaseMethod {
50
54
 
51
55
  validateParams(tx, schema);
52
56
 
53
- this.formattedTx = {
54
- ...formatAnyHex(tx),
55
- to: tx.to,
56
- };
57
+ this.formattedTx = formatAnyHex(tx);
57
58
  }
58
59
 
59
60
  processTxRequest = async (request: ConfluxTxRequest, data: string): Promise<ConfluxSignedTx> => {
@@ -6,6 +6,10 @@ import type { CosmosGetAddress as HardwareCosmosGetAddress } from '@onekeyfe/hd-
6
6
  import type { CosmosAddress, CosmosGetAddressParams } from '../../types';
7
7
 
8
8
  export default class CosmosGetAddress extends BaseMethod<HardwareCosmosGetAddress[]> {
9
+ getSupportedProtocols() {
10
+ return ['V1', 'V2'] as const;
11
+ }
12
+
9
13
  hasBundle = false;
10
14
 
11
15
  init() {
@@ -7,6 +7,10 @@ import { batchGetPublickeys } from '../helpers/batchGetPublickeys';
7
7
  import type { CosmosAddress, CosmosGetPublicKeyParams } from '../../types';
8
8
 
9
9
  export default class CosmosGetPublicKey extends BaseMethod<any> {
10
+ getSupportedProtocols() {
11
+ return ['V1', 'V2'] as const;
12
+ }
13
+
10
14
  hasBundle = false;
11
15
 
12
16
  init() {
@@ -9,6 +9,10 @@ import type { CosmosSignTx as HardwareCosmosSignTx } from '@onekeyfe/hd-transpor
9
9
  import type { CosmosSignTransactionParams } from '../../types';
10
10
 
11
11
  export default class CosmosSignTransaction extends BaseMethod<HardwareCosmosSignTx> {
12
+ getSupportedProtocols() {
13
+ return ['V1', 'V2'] as const;
14
+ }
15
+
12
16
  hasBundle = false;
13
17
 
14
18
  init() {
@@ -3,6 +3,10 @@ import { BaseMethod } from '../BaseMethod';
3
3
  import type { Cancel } from '@onekeyfe/hd-transport';
4
4
 
5
5
  export default class DeviceCancel extends BaseMethod<Cancel> {
6
+ getSupportedProtocols() {
7
+ return ['V1', 'V2'] as const;
8
+ }
9
+
6
10
  init() {
7
11
  this.useDevicePassphraseState = false;
8
12
  this.unlockPolicy = 'none';