Skip to content

Commit e1d02ea

Browse files
committed
Rebase ApproveCommitment on StateBuffer flow
1 parent 7a03390 commit e1d02ea

1 file changed

Lines changed: 47 additions & 5 deletions

File tree

‎tests/test_v2_approve_commitment.rs‎

Lines changed: 47 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,12 @@ use dlp_api::{
33
v2::{
44
instruction_builder::{
55
approve_commitment, post_commitment, register_operator,
6-
register_verifier, update_verifier_registry,
6+
register_verifier, update_verifier_registry, write_state_buffer,
77
},
88
pda::pending_commitment_pda,
99
PendingCommitment, PostCommitmentArgs, RegisterOperatorArgs,
10-
RegisterVerifierArgs, VERIFIER_REGISTRY_ACTION_ADD,
10+
RegisterVerifierArgs, WriteStateBufferArgs,
11+
VERIFIER_REGISTRY_ACTION_ADD,
1112
},
1213
};
1314
use solana_program::native_token::LAMPORTS_PER_SOL;
@@ -249,7 +250,7 @@ async fn setup_approve_commitment_env(
249250
delegated_account,
250251
Account {
251252
lamports: LAMPORTS_PER_SOL,
252-
data: vec![1, 2, 3, 4],
253+
data: state_data(),
253254
owner: dlp_api::ID,
254255
executable: false,
255256
rent_epoch: 0,
@@ -270,7 +271,7 @@ async fn setup_approve_commitment_env(
270271
},
271272
);
272273

273-
let (banks, payer, blockhash) = program_test.start().await;
274+
let (mut banks, payer, blockhash) = program_test.start().await;
274275
let config_args = valid_args();
275276
init_v2(&banks, &payer, &authority, blockhash, config_args.clone()).await;
276277

@@ -302,6 +303,20 @@ async fn setup_approve_commitment_env(
302303
.await;
303304
}
304305

306+
write_v2_state_buffer(
307+
&mut banks,
308+
&payer,
309+
&operator,
310+
delegated_account,
311+
WriteStateBufferArgs {
312+
commit_id: valid_post_commitment_args().commit_id,
313+
total_len: state_data().len() as u32,
314+
offset: 0,
315+
chunk: state_data(),
316+
},
317+
)
318+
.await;
319+
305320
ApproveCommitmentEnv {
306321
banks,
307322
payer,
@@ -392,12 +407,39 @@ fn valid_post_commitment_args() -> PostCommitmentArgs {
392407
commit_id: 1,
393408
lamports: 1_000,
394409
owner: Pubkey::new_unique(),
395-
data_hash: [7; 32],
396410
da_pointer_hash: [9; 32],
397411
er_slot: Some(42),
398412
}
399413
}
400414

415+
async fn write_v2_state_buffer(
416+
banks: &mut BanksClient,
417+
payer: &Keypair,
418+
operator: &Keypair,
419+
account: Pubkey,
420+
args: WriteStateBufferArgs,
421+
) {
422+
let latest_blockhash: Hash = banks.get_latest_blockhash().await.unwrap();
423+
let blockhash = banks
424+
.get_new_latest_blockhash(&latest_blockhash)
425+
.await
426+
.unwrap();
427+
let ix =
428+
write_state_buffer(payer.pubkey(), operator.pubkey(), account, args);
429+
let tx = Transaction::new_signed_with_payer(
430+
&[ix],
431+
Some(&payer.pubkey()),
432+
&[payer, operator],
433+
blockhash,
434+
);
435+
436+
banks.process_transaction(tx).await.unwrap();
437+
}
438+
439+
fn state_data() -> Vec<u8> {
440+
vec![1, 2, 3, 4]
441+
}
442+
401443
async fn post_v2_commitment(
402444
banks: &mut BanksClient,
403445
payer: &Keypair,

0 commit comments

Comments
 (0)