1use anchor_lang::prelude::*;
2
3pub mod constants;
4pub mod errors;
5pub mod instructions;
6pub mod state;
7
8pub use constants::*;
9pub use errors::*;
10pub use instructions::*;
11pub use state::*;
12
13declare_id!("4XmHzu3kxf3oyD2bchUmkDKoq2QADHkP13Zcv1hsS5X5");
14
15#[program]
16pub mod stealth_vault {
17 use super::*;
18
19 pub fn initialize_vault(
20 ctx: Context<InitializeVault>,
21 ephemeral_authority: Pubkey,
22 ) -> Result<()> {
23 instructions::initialize_vault::initialize_vault_handler(ctx, ephemeral_authority)
24 }
25
26 pub fn rotate_authority(
27 ctx: Context<RotateAuthority>,
28 new_ephemeral_authority: Pubkey,
29 ) -> Result<()> {
30 instructions::rotate_authority::rotate_authority_handler(ctx, new_ephemeral_authority)
31 }
32
33 pub fn submit_execution_intent(
34 ctx: Context<SubmitExecutionIntent>,
35 nonce: u64,
36 payload_hash: [u8; 32],
37 ) -> Result<()> {
38 instructions::submit_execution_intent::submit_execution_intent_handler(
39 ctx,
40 nonce,
41 payload_hash,
42 )
43 }
44
45 pub fn cancel_intent(ctx: Context<CancelIntent>, nonce: u64) -> Result<()> {
46 instructions::cancel_intent::cancel_intent_handler(ctx, nonce)
47 }
48
49 pub fn execute_intent(ctx: Context<ExecuteIntent>, nonce: u64) -> Result<()> {
50 instructions::execute_intent::execute_intent_handler(ctx, nonce)
51 }
52}