#[repr(C)]pub struct ProposalTransactionV2 {
pub account_type: GovernanceAccountType,
pub proposal: Pubkey,
pub option_index: u8,
pub transaction_index: u16,
pub hold_up_time: u32,
pub instructions: Vec<InstructionData>,
pub executed_at: Option<UnixTimestamp>,
pub execution_status: TransactionExecutionStatus,
pub reserved_v2: [u8; 8],
}
Expand description
Account for an instruction to be executed for Proposal
Fields
account_type: GovernanceAccountType
Governance Account type
proposal: Pubkey
The Proposal the instruction belongs to
option_index: u8
The option index the instruction belongs to
transaction_index: u16
Unique transaction index within it’s parent Proposal
hold_up_time: u32
Minimum waiting time in seconds for the instruction to be executed once proposal is voted on
instructions: Vec<InstructionData>
Instructions to execute The instructions will be signed by Governance PDA the Proposal belongs to
executed_at: Option<UnixTimestamp>
Executed at flag
execution_status: TransactionExecutionStatus
Instruction execution status
reserved_v2: [u8; 8]
Reserved space for versions v2 and onwards Note: This space won’t be available to v1 accounts until runtime supports resizing
Implementations
Trait Implementations
sourceimpl AccountMaxSize for ProposalTransactionV2
impl AccountMaxSize for ProposalTransactionV2
sourcefn get_max_size(&self) -> Option<usize>
fn get_max_size(&self) -> Option<usize>
Returns max account size or None if max size is not known and actual instance size should be used
sourceimpl BorshDeserialize for ProposalTransactionV2 where
GovernanceAccountType: BorshDeserialize,
Pubkey: BorshDeserialize,
u8: BorshDeserialize,
u16: BorshDeserialize,
u32: BorshDeserialize,
Vec<InstructionData>: BorshDeserialize,
Option<UnixTimestamp>: BorshDeserialize,
TransactionExecutionStatus: BorshDeserialize,
[u8; 8]: BorshDeserialize,
impl BorshDeserialize for ProposalTransactionV2 where
GovernanceAccountType: BorshDeserialize,
Pubkey: BorshDeserialize,
u8: BorshDeserialize,
u16: BorshDeserialize,
u32: BorshDeserialize,
Vec<InstructionData>: BorshDeserialize,
Option<UnixTimestamp>: BorshDeserialize,
TransactionExecutionStatus: BorshDeserialize,
[u8; 8]: BorshDeserialize,
sourceimpl BorshSchema for ProposalTransactionV2 where
GovernanceAccountType: BorshSchema,
Pubkey: BorshSchema,
u8: BorshSchema,
u16: BorshSchema,
u32: BorshSchema,
Vec<InstructionData>: BorshSchema,
Option<UnixTimestamp>: BorshSchema,
TransactionExecutionStatus: BorshSchema,
[u8; 8]: BorshSchema,
impl BorshSchema for ProposalTransactionV2 where
GovernanceAccountType: BorshSchema,
Pubkey: BorshSchema,
u8: BorshSchema,
u16: BorshSchema,
u32: BorshSchema,
Vec<InstructionData>: BorshSchema,
Option<UnixTimestamp>: BorshSchema,
TransactionExecutionStatus: BorshSchema,
[u8; 8]: BorshSchema,
sourcefn declaration() -> Declaration
fn declaration() -> Declaration
Get the name of the type without brackets.
sourcefn add_definitions_recursively(
definitions: &mut HashMap<Declaration, Definition>
)
fn add_definitions_recursively(
definitions: &mut HashMap<Declaration, Definition>
)
Recursively, using DFS, add type definitions required for this type. For primitive types this is an empty map. Type definition explains how to serialize/deserialize a type. Read more
sourcefn add_definition(
declaration: String,
definition: Definition,
definitions: &mut HashMap<String, Definition, RandomState>
)
fn add_definition(
declaration: String,
definition: Definition,
definitions: &mut HashMap<String, Definition, RandomState>
)
Helper method to add a single type definition to the map.
fn schema_container() -> BorshSchemaContainer
sourceimpl BorshSerialize for ProposalTransactionV2 where
GovernanceAccountType: BorshSerialize,
Pubkey: BorshSerialize,
u8: BorshSerialize,
u16: BorshSerialize,
u32: BorshSerialize,
Vec<InstructionData>: BorshSerialize,
Option<UnixTimestamp>: BorshSerialize,
TransactionExecutionStatus: BorshSerialize,
[u8; 8]: BorshSerialize,
impl BorshSerialize for ProposalTransactionV2 where
GovernanceAccountType: BorshSerialize,
Pubkey: BorshSerialize,
u8: BorshSerialize,
u16: BorshSerialize,
u32: BorshSerialize,
Vec<InstructionData>: BorshSerialize,
Option<UnixTimestamp>: BorshSerialize,
TransactionExecutionStatus: BorshSerialize,
[u8; 8]: BorshSerialize,
sourceimpl Clone for ProposalTransactionV2
impl Clone for ProposalTransactionV2
sourcefn clone(&self) -> ProposalTransactionV2
fn clone(&self) -> ProposalTransactionV2
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for ProposalTransactionV2
impl Debug for ProposalTransactionV2
sourceimpl IsInitialized for ProposalTransactionV2
impl IsInitialized for ProposalTransactionV2
sourcefn is_initialized(&self) -> bool
fn is_initialized(&self) -> bool
Is initialized
sourceimpl PartialEq<ProposalTransactionV2> for ProposalTransactionV2
impl PartialEq<ProposalTransactionV2> for ProposalTransactionV2
sourcefn eq(&self, other: &ProposalTransactionV2) -> bool
fn eq(&self, other: &ProposalTransactionV2) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &ProposalTransactionV2) -> bool
fn ne(&self, other: &ProposalTransactionV2) -> bool
This method tests for !=
.
impl StructuralPartialEq for ProposalTransactionV2
Auto Trait Implementations
impl RefUnwindSafe for ProposalTransactionV2
impl Send for ProposalTransactionV2
impl Sync for ProposalTransactionV2
impl Unpin for ProposalTransactionV2
impl UnwindSafe for ProposalTransactionV2
Blanket Implementations
impl<T> AbiExample for T
impl<T> AbiExample for T
default fn example() -> T
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> Pointable for T
impl<T> Pointable for T
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more