pub fn make_intent<SV, SO>( sign_for_vtxo_fn: SV, sign_for_onchain_fn: SO, inputs: Vec<Input>, outputs: Vec<Output>, message: IntentMessage, ) -> Result<Intent, Error>where SV: Fn(&mut Input, Message) -> Result<Vec<(Signature, XOnlyPublicKey)>, Error>, SO: Fn(&mut Input, Message) -> Result<(Signature, XOnlyPublicKey), Error>,