pub fn signer_to_pubkey(signer: Arc<Keypair>) -> Result<Pubkey, OnDemandError>