use near_sdk::near; use crate::prover_result::ProofKind; pub type ProverId = String; #[near(serializers=[borsh, json])] #[derive(Debug, Clone)] pub struct VerifyProofArgs { pub prover_id: ProverId, pub prover_args: Vec, } #[near(serializers=[borsh])] #[derive(Debug, Clone)] pub struct EvmVerifyProofArgs { pub proof_kind: ProofKind, pub proof: EvmProof, } #[near(serializers=[borsh])] #[derive(Debug, Clone)] pub struct WormholeVerifyProofArgs { pub proof_kind: ProofKind, pub vaa: String, } #[near(serializers=[borsh, json])] #[derive(Default, Debug, Clone)] pub struct EvmProof { pub log_index: u64, pub log_entry_data: Vec, pub receipt_index: u64, pub receipt_data: Vec, pub header_data: Vec, pub proof: Vec>, }