use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct FeePayerSignatureFeePayerSigner {
#[serde(rename = "type")]
pub r#type: Type,
#[serde(rename = "public_key")]
pub public_key: Box<models::PublicKey>,
#[serde(rename = "signature")]
pub signature: Box<models::Signature>,
#[serde(rename = "public_keys")]
pub public_keys: Vec<models::PublicKey>,
#[serde(rename = "signatures")]
pub signatures: Vec<models::IndexedSignature>,
#[serde(rename = "threshold")]
pub threshold: i32,
#[serde(rename = "bitmap")]
pub bitmap: String,
#[serde(rename = "signatures_required")]
pub signatures_required: i32,
}
impl FeePayerSignatureFeePayerSigner {
pub fn new(r#type: Type, public_key: models::PublicKey, signature: models::Signature, public_keys: Vec<models::PublicKey>, signatures: Vec<models::IndexedSignature>, threshold: i32, bitmap: String, signatures_required: i32) -> FeePayerSignatureFeePayerSigner {
FeePayerSignatureFeePayerSigner {
r#type,
public_key: Box::new(public_key),
signature: Box::new(signature),
public_keys,
signatures,
threshold,
bitmap,
signatures_required,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Type {
#[serde(rename = "no_account_signature")]
NoAccountSignature,
}
impl Default for Type {
fn default() -> Type {
Self::NoAccountSignature
}
}