/// HWI is the common Hardware Wallet Interface.#[async_trait]pubtraitHWI:Debug{/// Return the device kindfndevice_kind(&self) -> DeviceKind;/// Application version or OS version.asyncfnget_version(&self) -> Result<Version,Error>;/// Check that the device is connected but not necessarily available.asyncfnis_connected(&self) -> Result<(),Error>;/// Get master fingerprint.asyncfnget_fingerprint(&self) -> Result<Fingerprint,Error>;/// Get the xpub with the given derivation path.asyncfnget_extended_pubkey(&self,path:&DerivationPath) -> Result<ExtendedPubKey,Error>;/// Register a new wallet policyasyncfnregister_wallet(&mutself,name:&str,policy:&str) -> Result<Option<[u8;32]>,Error>;/// Sign a partially signed bitcoin transaction (PSBT).asyncfnsign_tx(&self,tx:&mutPsbt) -> Result<(),Error>;}