Skip to main content

rialo_sol_cpi/
lib.rs

1// Copyright (c) Subzero Labs, Inc.
2// SPDX-License-Identifier: Apache-2.0
3
4//! Sol CPI SDK for Rialo programs.
5//!
6//! This library provides CPI helpers for Sol developers to integrate
7//! Rialo's features in their programs.
8
9pub mod rex;
10pub mod subscriber;
11
12use rialo_sol_lang::prelude::*;
13
14/// Subscriber program for scheduling and subscriptions
15#[derive(Clone)]
16pub struct SubscriberProgram;
17
18impl rialo_sol_lang::Id for SubscriberProgram {
19    fn id() -> Pubkey {
20        rialo_subscriber_interface::ID
21    }
22}
23
24/// REX Registry program for creating and managing REX requests
25#[derive(Clone)]
26pub struct RexRegistryProgram;
27
28impl rialo_sol_lang::Id for RexRegistryProgram {
29    fn id() -> Pubkey {
30        rialo_rex_registry_interface::ID
31    }
32}
33
34// Re-export common types
35pub use rialo_rex_registry_interface::derive_rex_address;
36pub use rialo_subscriber_interface::instruction::{
37    derive_subscription_address, Predicate, Subscription, SubscriptionKind,
38};
39pub use rialo_types::{
40    Headers, HttpFilter, Nonce, RexUrl, RexValue, StartingTimestamp, TargetRexProgram,
41    UpdateFrequency,
42};