#[repr(packed(1))]pub struct PermissionAccountData {
pub authority: Pubkey,
pub permissions: u32,
pub granter: Pubkey,
pub grantee: Pubkey,
pub expiration: i64,
pub bump: u8,
pub _ebuf: [u8; 255],
}Fields§
The authority that is allowed to set permissions for this account.
permissions: u32The SwitchboardPermission enumeration assigned by the granter to the grantee.
granter: PubkeyPublic key of account that is granting permissions to use its resources.
grantee: PubkeyPublic key of account that is being assigned permissions to use a granters resources.
expiration: i64unused currently. may want permission PDA per permission for unique expiration periods, BUT currently only one permission per account makes sense for the infra. Dont over engineer.
bump: u8The PDA bump to derive the pubkey.
_ebuf: [u8; 255]Reserved for future info.
Implementations§
Trait Implementations§
source§impl AccountDeserialize for PermissionAccountData
impl AccountDeserialize for PermissionAccountData
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 Clone for PermissionAccountData
impl Clone for PermissionAccountData
source§fn clone(&self) -> PermissionAccountData
fn clone(&self) -> PermissionAccountData
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moresource§impl Discriminator for PermissionAccountData
impl Discriminator for PermissionAccountData
const DISCRIMINATOR: [u8; 8] = _
fn discriminator() -> [u8; 8]
impl Copy for PermissionAccountData
impl Pod for PermissionAccountData
impl ZeroCopy for PermissionAccountData
Auto Trait Implementations§
impl Freeze for PermissionAccountData
impl RefUnwindSafe for PermissionAccountData
impl Send for PermissionAccountData
impl Sync for PermissionAccountData
impl Unpin for PermissionAccountData
impl UnwindSafe for PermissionAccountData
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
§impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
§type Bits = T
type Bits = T
Self must have the same layout as the specified Bits except for
the possible invalid bit patterns being checked during
is_valid_bit_pattern.§fn is_valid_bit_pattern(_bits: &T) -> bool
fn is_valid_bit_pattern(_bits: &T) -> bool
If this function returns true, then it must be valid to reinterpret
bits
as &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> ⓘ
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