#[repr(C)]pub struct AccountMeta {
pub pubkey: Pubkey,
pub is_signer: bool,
pub is_writable: bool,
}Expand description
Describes a single account read or written by a program during instruction execution.
When constructing an Instruction, a list of all accounts that may be
read or written during the execution of that instruction must be supplied.
Any account that may be mutated by the program during execution, either its
data or metadata such as held lamports, must be writable.
Note that because the Solana runtime schedules parallel transaction
execution around which accounts are writable, care should be taken that only
accounts which actually may be mutated are specified as writable. As the
default AccountMeta::new constructor creates writable accounts, this is
a minor hazard: use AccountMeta::new_readonly to specify that an account
is not writable.
Fieldsยง
ยงpubkey: PubkeyAn accountโs public key.
is_signer: boolTrue if an Instruction requires a Transaction signature matching pubkey.
is_writable: boolTrue if the account data or metadata may be mutated during program execution.
Implementationsยง
Sourceยงimpl AccountMeta
impl AccountMeta
Sourcepub fn new(pubkey: Pubkey, is_signer: bool) -> AccountMeta
pub fn new(pubkey: Pubkey, is_signer: bool) -> AccountMeta
Construct metadata for a writable account.
ยงExamples
let instr = Instruction::new_with_borsh(
program_id,
&instruction,
vec![
AccountMeta::new(from, true),
AccountMeta::new(to, false),
],
);Sourcepub fn new_readonly(pubkey: Pubkey, is_signer: bool) -> AccountMeta
pub fn new_readonly(pubkey: Pubkey, is_signer: bool) -> AccountMeta
Construct metadata for a read-only account.
ยงExamples
let instr = Instruction::new_with_borsh(
program_id,
&instruction,
vec![
AccountMeta::new(from, true),
AccountMeta::new(to, false),
AccountMeta::new_readonly(from_account_storage, false),
],
);Trait Implementationsยง
Sourceยงimpl Clone for AccountMeta
impl Clone for AccountMeta
Sourceยงfn clone(&self) -> AccountMeta
fn clone(&self) -> AccountMeta
1.0.0 ยท Sourceยงfn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSourceยงimpl Debug for AccountMeta
impl Debug for AccountMeta
Sourceยงimpl Default for AccountMeta
impl Default for AccountMeta
Sourceยงfn default() -> AccountMeta
fn default() -> AccountMeta
Sourceยงimpl<'de> Deserialize<'de> for AccountMeta
impl<'de> Deserialize<'de> for AccountMeta
Sourceยงfn deserialize<__D>(
__deserializer: __D,
) -> Result<AccountMeta, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<AccountMeta, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Sourceยงimpl PartialEq for AccountMeta
impl PartialEq for AccountMeta
Sourceยงimpl Serialize for AccountMeta
impl Serialize for AccountMeta
Sourceยงfn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl Eq for AccountMeta
impl StructuralPartialEq for AccountMeta
Auto Trait Implementationsยง
impl Freeze for AccountMeta
impl RefUnwindSafe for AccountMeta
impl Send for AccountMeta
impl Sync for AccountMeta
impl Unpin for AccountMeta
impl UnwindSafe for AccountMeta
Blanket Implementationsยง
Sourceยงimpl<T> AbiEnumVisitor for T
impl<T> AbiEnumVisitor for T
default fn visit_for_abi( &self, _digester: &mut AbiDigester, ) -> Result<AbiDigester, DigestError>
Sourceยงimpl<T> AbiEnumVisitor for T
impl<T> AbiEnumVisitor for T
default fn visit_for_abi( &self, digester: &mut AbiDigester, ) -> Result<AbiDigester, DigestError>
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
Sourceยงimpl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Sourceยงimpl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Sourceยงimpl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Sourceยงfn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Sourceยงimpl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Sourceยงimpl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Sourceยงfn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Sourceยงimpl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Sourceยงimpl<CustErr, T, Request> FromReq<Cbor, Request, CustErr> for T
impl<CustErr, T, Request> FromReq<Cbor, Request, CustErr> for T
Sourceยงasync fn from_req(req: Request) -> Result<T, ServerFnError<CustErr>>
async fn from_req(req: Request) -> Result<T, ServerFnError<CustErr>>
Sourceยงimpl<CustErr, T, Request> FromReq<GetUrl, Request, CustErr> for T
impl<CustErr, T, Request> FromReq<GetUrl, Request, CustErr> for T
Sourceยงasync fn from_req(req: Request) -> Result<T, ServerFnError<CustErr>>
async fn from_req(req: Request) -> Result<T, ServerFnError<CustErr>>
Sourceยงimpl<CustErr, T, Request> FromReq<Json, Request, CustErr> for T
impl<CustErr, T, Request> FromReq<Json, Request, CustErr> for T
Sourceยงasync fn from_req(req: Request) -> Result<T, ServerFnError<CustErr>>
async fn from_req(req: Request) -> Result<T, ServerFnError<CustErr>>
Sourceยงimpl<CustErr, T, Request> FromReq<PostUrl, Request, CustErr> for T
impl<CustErr, T, Request> FromReq<PostUrl, Request, CustErr> for T
Sourceยงasync fn from_req(req: Request) -> Result<T, ServerFnError<CustErr>>
async fn from_req(req: Request) -> Result<T, ServerFnError<CustErr>>
Sourceยงimpl<CustErr, T, Response> FromRes<Cbor, Response, CustErr> for T
impl<CustErr, T, Response> FromRes<Cbor, Response, CustErr> for T
Sourceยงasync fn from_res(res: Response) -> Result<T, ServerFnError<CustErr>>
async fn from_res(res: Response) -> Result<T, ServerFnError<CustErr>>
Sourceยงimpl<CustErr, T, Response> FromRes<Json, Response, CustErr> for T
impl<CustErr, T, Response> FromRes<Json, Response, CustErr> for T
Sourceยงasync fn from_res(res: Response) -> Result<T, ServerFnError<CustErr>>
async fn from_res(res: Response) -> Result<T, ServerFnError<CustErr>>
Sourceยงimpl<T> Instrument for T
impl<T> Instrument for T
Sourceยงfn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Sourceยงfn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
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>
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 moreSourceยงimpl<T> IntoPropValue<Option<T>> for T
impl<T> IntoPropValue<Option<T>> for T
Sourceยงfn into_prop_value(self) -> Option<T>
fn into_prop_value(self) -> Option<T>
self to a value of a Properties struct.Sourceยงimpl<T> IntoPropValue<T> for T
impl<T> IntoPropValue<T> for T
Sourceยงfn into_prop_value(self) -> T
fn into_prop_value(self) -> T
self to a value of a Properties struct.