pub fn create_session_with_payer( ctx: Context<'_, '_, '_, '_, CreateSessionTokenWithPayer<'_>>, top_up: Option<bool>, valid_until: Option<i64>, lamports: Option<u64>, ) -> Result<()>