#[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: u32
The SwitchboardPermission enumeration assigned by the granter to the grantee.
granter: Pubkey
Public key of account that is granting permissions to use its resources.
grantee: Pubkey
Public key of account that is being assigned permissions to use a granters resources.
expiration: i64
unused 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: u8
The 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