pub struct Proposal {
pub multisig: Pubkey,
pub transaction_index: u64,
pub status: ProposalStatus,
pub bump: u8,
pub approved: Vec<Pubkey>,
pub rejected: Vec<Pubkey>,
pub cancelled: Vec<Pubkey>,
}Expand description
Stores the data required for tracking the status of a multisig proposal.
Each Proposal has a 1:1 association with a transaction account, e.g. a VaultTransaction or a ConfigTransaction;
the latter can be executed only after the Proposal has been approved and its time lock is released.
Fields§
§multisig: PubkeyThe multisig this belongs to.
transaction_index: u64Index of the multisig transaction this proposal is associated with.
status: ProposalStatusThe status of the transaction.
bump: u8PDA bump.
approved: Vec<Pubkey>Keys that have approved/signed.
rejected: Vec<Pubkey>Keys that have rejected.
cancelled: Vec<Pubkey>Keys that have cancelled (Approved only).
Implementations§
Trait Implementations§
Source§impl AccountDeserialize for Proposal
impl AccountDeserialize for Proposal
Source§fn try_deserialize(buf: &mut &[u8]) -> Result<Self>
fn try_deserialize(buf: &mut &[u8]) -> Result<Self>
Deserializes previously initialized account data. Should fail for all
uninitialized accounts, where the bytes are zeroed. Implementations
should be unique to a particular account type so that one can never
successfully deserialize the data of one account type into another.
For example, if the SPL token program were to implement this trait,
it should be impossible to deserialize a
Mint account into a token
Account.Source§fn try_deserialize_unchecked(buf: &mut &[u8]) -> Result<Self>
fn try_deserialize_unchecked(buf: &mut &[u8]) -> Result<Self>
Deserializes account data without checking the account discriminator.
This should only be used on account initialization, when the bytes of
the account are zeroed.
Source§impl AccountSerialize for Proposal
impl AccountSerialize for Proposal
Source§impl BorshDeserialize for Proposal
impl BorshDeserialize for Proposal
fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self, Error>
Source§fn deserialize(buf: &mut &[u8]) -> Result<Self, Error>
fn deserialize(buf: &mut &[u8]) -> Result<Self, Error>
Deserializes this instance from a given slice of bytes.
Updates the buffer to point at the remaining bytes.
Source§fn try_from_slice(v: &[u8]) -> Result<Self, Error>
fn try_from_slice(v: &[u8]) -> Result<Self, Error>
Deserialize this instance from a slice of bytes.
fn try_from_reader<R>(reader: &mut R) -> Result<Self, Error>where
R: Read,
Source§impl BorshSerialize for Proposalwhere
Pubkey: BorshSerialize,
u64: BorshSerialize,
ProposalStatus: BorshSerialize,
u8: BorshSerialize,
Vec<Pubkey>: BorshSerialize,
impl BorshSerialize for Proposalwhere
Pubkey: BorshSerialize,
u64: BorshSerialize,
ProposalStatus: BorshSerialize,
u8: BorshSerialize,
Vec<Pubkey>: BorshSerialize,
Source§impl Discriminator for Proposal
impl Discriminator for Proposal
const DISCRIMINATOR: [u8; 8]
fn discriminator() -> [u8; 8]
Auto Trait Implementations§
impl Freeze for Proposal
impl RefUnwindSafe for Proposal
impl Send for Proposal
impl Sync for Proposal
impl Unpin for Proposal
impl UnwindSafe for Proposal
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more