@@ -17,12 +17,7 @@ use crate::{
1717 output_token: Pubkey ,
1818 input_amount: u64 ,
1919 output_amount: u64 ,
20- destination_chain_id: u64 , // TODO: we can remove some of these instructions props
21- exclusive_relayer: Pubkey ,
22- quote_timestamp: u32 ,
23- fill_deadline: u32 ,
24- exclusivity_deadline: u32 ,
25- message: Vec <u8 >
20+ destination_chain_id: u64 ,
2621) ]
2722pub struct DepositV3 < ' info > {
2823 #[ account( mut ) ]
@@ -37,17 +32,18 @@ pub struct DepositV3<'info> {
3732
3833 #[ account(
3934 seeds = [ b"route" , input_token. as_ref( ) , state. key( ) . as_ref( ) , destination_chain_id. to_le_bytes( ) . as_ref( ) ] ,
40- bump
35+ bump,
36+ constraint = route. enabled @ CommonError :: DisabledRoute
4137 ) ]
4238 pub route : Account < ' info , Route > ,
4339
4440 #[ account(
4541 mut ,
46- token :: mint = mint,
47- token :: authority = signer ,
48- token :: token_program = token_program
42+ associated_token :: mint = mint,
43+ associated_token :: authority = depositor ,
44+ associated_token :: token_program = token_program
4945 ) ]
50- pub user_token_account : InterfaceAccount < ' info , TokenAccount > ,
46+ pub depositor_token_account : InterfaceAccount < ' info , TokenAccount > ,
5147
5248 #[ account(
5349 mut ,
@@ -59,7 +55,6 @@ pub struct DepositV3<'info> {
5955
6056 #[ account(
6157 mint:: token_program = token_program,
62- // IDL build fails when requiring `address = input_token` for mint, thus using a custom constraint.
6358 constraint = mint. key( ) == input_token @ SvmError :: InvalidMint
6459 ) ]
6560 pub mint : InterfaceAccount < ' info , Mint > ,
@@ -84,10 +79,6 @@ pub fn deposit_v3(
8479) -> Result < ( ) > {
8580 let state = & mut ctx. accounts . state ;
8681
87- if !ctx. accounts . route . enabled {
88- return err ! ( CommonError :: DisabledRoute ) ;
89- }
90-
9182 let current_time = get_current_time ( state) ?;
9283
9384 // TODO: if the deposit quote timestamp is bad it is possible to make this error with a subtraction
@@ -102,7 +93,7 @@ pub fn deposit_v3(
10293 }
10394
10495 let transfer_accounts = TransferChecked {
105- from : ctx. accounts . user_token_account . to_account_info ( ) ,
96+ from : ctx. accounts . depositor_token_account . to_account_info ( ) ,
10697 mint : ctx. accounts . mint . to_account_info ( ) ,
10798 to : ctx. accounts . vault . to_account_info ( ) ,
10899 authority : ctx. accounts . signer . to_account_info ( ) ,
@@ -130,5 +121,3 @@ pub fn deposit_v3(
130121
131122 Ok ( ( ) )
132123}
133-
134- // TODO: do we need other flavours of deposit? like speed up deposit
0 commit comments