pub trait SignerTrait {
// Required methods
fn sign_program(
&self,
pst: &PartiallySignedTransaction,
program: &dyn ProgramTrait,
input_index: usize,
network: &SimplicityNetwork,
) -> Result<Signature, SignerError>;
fn sign_input(
&self,
pst: &PartiallySignedTransaction,
input_index: usize,
) -> Result<(PublicKey, Signature), SignerError>;
}