pyth_lazer_protocol/
lib.rs1pub mod api;
4pub mod binary_update;
5mod dynamic_value;
6mod feed_kind;
7pub mod jrpc;
8pub mod message;
9pub mod payload;
10pub mod publisher;
11pub mod router;
12mod serde_price_as_i64;
13mod serde_str;
14pub mod subscription;
15pub mod symbol_state;
16pub mod time;
17
18pub use crate::{dynamic_value::DynamicValue, feed_kind::FeedKind};
19
20#[test]
21fn magics_in_big_endian() {
22 use crate::{
23 binary_update::BINARY_UPDATE_FORMAT_MAGIC,
24 message::format_magics_le::{
25 EVM_FORMAT_MAGIC, JSON_FORMAT_MAGIC, LE_ECDSA_FORMAT_MAGIC, LE_UNSIGNED_FORMAT_MAGIC,
26 SOLANA_FORMAT_MAGIC,
27 },
28 payload::PAYLOAD_FORMAT_MAGIC,
29 };
30
31 assert_eq!(u32::swap_bytes(BINARY_UPDATE_FORMAT_MAGIC), 1937213467);
35 assert_eq!(u32::swap_bytes(PAYLOAD_FORMAT_MAGIC), 1976813459);
36
37 assert_eq!(u32::swap_bytes(SOLANA_FORMAT_MAGIC), 3103857282);
38 assert_eq!(u32::swap_bytes(JSON_FORMAT_MAGIC), 2584795844);
39 assert_eq!(u32::swap_bytes(EVM_FORMAT_MAGIC), 706910618);
40 assert_eq!(u32::swap_bytes(LE_ECDSA_FORMAT_MAGIC), 3837609805);
41 assert_eq!(u32::swap_bytes(LE_UNSIGNED_FORMAT_MAGIC), 206398297);
42
43 for magic in [
44 BINARY_UPDATE_FORMAT_MAGIC,
45 PAYLOAD_FORMAT_MAGIC,
46 SOLANA_FORMAT_MAGIC,
47 JSON_FORMAT_MAGIC,
48 EVM_FORMAT_MAGIC,
49 LE_ECDSA_FORMAT_MAGIC,
50 LE_UNSIGNED_FORMAT_MAGIC,
51 ] {
52 assert_ne!(u32::swap_bytes(magic), magic);
54 }
55}