Skip to content

Commit 4e10ebe

Browse files
feat(pyth-lazer-solana-contract): add test for alignment issue (#2298)
1 parent 70b3f35 commit 4e10ebe

File tree

1 file changed

+43
-0
lines changed
  • lazer/contracts/solana/programs/pyth-lazer-solana-contract/tests

1 file changed

+43
-0
lines changed

lazer/contracts/solana/programs/pyth-lazer-solana-contract/tests/test1.rs

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,49 @@ async fn test_basic() {
215215
setup.verify_message(&message, treasury).await;
216216
}
217217

218+
#[tokio::test]
219+
async fn test_alignment() {
220+
let mut setup = Setup::new().await;
221+
let treasury = setup.create_treasury().await;
222+
223+
let mut transaction_init_contract = Transaction::new_with_payer(
224+
&[Instruction::new_with_bytes(
225+
pyth_lazer_solana_contract::ID,
226+
&pyth_lazer_solana_contract::instruction::Initialize {
227+
top_authority: setup.payer.pubkey(),
228+
treasury,
229+
}
230+
.data(),
231+
vec![
232+
AccountMeta::new(setup.payer.pubkey(), true),
233+
AccountMeta::new(pyth_lazer_solana_contract::STORAGE_ID, false),
234+
AccountMeta::new_readonly(system_program::ID, false),
235+
],
236+
)],
237+
Some(&setup.payer.pubkey()),
238+
);
239+
transaction_init_contract.sign(&[&setup.payer], setup.recent_blockhash);
240+
setup
241+
.banks_client
242+
.process_transaction(transaction_init_contract)
243+
.await
244+
.unwrap();
245+
246+
let verifying_key =
247+
hex::decode("f65210bee4fcf5b1cee1e537fabcfd95010297653b94af04d454fc473e94834f").unwrap();
248+
let message = hex::decode(
249+
"b9011a82d100f6ce88ef26fd5a74312b4bb19e18e74162ffbfe66a7204c6f7ee9085ad6b670ec96d167cfef\
250+
ad437a1c79e67c75581c5cf99e64e680a1badeb3d88733d02f65210bee4fcf5b1cee1e537fabcfd950102976\
251+
53b94af04d454fc473e94834f770075d3c79340d609f7652c06000303010000000400305680106309000002a\
252+
023551b6309000001a62ab3056309000004f8ff02000000040021ae69754b00000002a04b8f764b000000018\
253+
8b24b744b00000004f8ff060000000400377180d00500000002f2c19dd0050000000162c26ad00500000004f8ff",
254+
)
255+
.unwrap();
256+
257+
setup.set_trusted(verifying_key.try_into().unwrap()).await;
258+
setup.verify_message(&message, treasury).await;
259+
}
260+
218261
#[tokio::test]
219262
async fn test_rejects_wrong_offset() {
220263
let mut setup = Setup::new().await;

0 commit comments

Comments
 (0)