|
|
@@ -0,0 +1,30 @@
|
|
|
+use stylus_sdk::{
|
|
|
+ alloy_primitives::{Address, FixedBytes},
|
|
|
+};
|
|
|
+
|
|
|
+#[derive(Clone, PartialEq, Default)]
|
|
|
+pub struct GuardianSet {
|
|
|
+ pub keys: Vec<Address>,
|
|
|
+ pub expiration_time: u32,
|
|
|
+}
|
|
|
+
|
|
|
+#[derive(Clone)]
|
|
|
+pub struct GuardianSignature {
|
|
|
+ pub guardian_index: u8,
|
|
|
+ pub signature: FixedBytes<65>,
|
|
|
+}
|
|
|
+
|
|
|
+#[derive(Clone)]
|
|
|
+pub struct VerifiedVM {
|
|
|
+ pub version: u8,
|
|
|
+ pub guardian_set_index: u32,
|
|
|
+ pub signatures: Vec<GuardianSignature>,
|
|
|
+ pub timestamp: u32,
|
|
|
+ pub nonce: u32,
|
|
|
+ pub emitter_chain_id: u16,
|
|
|
+ pub emitter_address: FixedBytes<32>,
|
|
|
+ pub sequence: u64,
|
|
|
+ pub consistency_level: u8,
|
|
|
+ pub payload: Vec<u8>,
|
|
|
+ pub hash: FixedBytes<32>,
|
|
|
+}
|