1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
use anchor_lang::prelude::*;
pub mod constants;
pub mod error;
pub mod instructions;
pub mod state;
use instructions::*;
declare_id!("BJgusPC7xJRCGsFcwEwMGExkqdbYRGy3pugoKwkFDzZx");
#[program]
pub mod elfo_protocol {
use super::*;
pub fn initialize(ctx: Context<InitializeProtocol>) -> Result<()> {
instructions::initialize_protocol::handler(ctx)
}
pub fn subscribe(ctx: Context<Subscribe>, how_many_cycles: i64) -> Result<()> {
instructions::subscribe::handler(ctx, how_many_cycles)
}
pub fn unsubscribe(ctx: Context<Unsubscribe>) -> Result<()> {
instructions::unsubscribe::handler(ctx)
}
pub fn create_subscription_plan(
ctx: Context<CreateSubscriptionPlan>,
plan_name: String,
subscription_amount: i64,
frequency: i64,
fee_percentage: i8,
) -> Result<()> {
instructions::create_subscription_plan::handler(
ctx,
plan_name,
subscription_amount,
frequency,
fee_percentage,
)
}
pub fn close_subscription_plan(ctx: Context<CloseSubscriptionPlan>) -> Result<()> {
instructions::close_subscription_plan::handler(ctx)
}
pub fn trigger_payment(ctx: Context<TriggerPayment>) -> Result<()> {
instructions::trigger_payment::handler(ctx)
}
pub fn register_node(ctx: Context<RegisterNode>) -> Result<()> {
instructions::register_node::handler(ctx)
}
}