pub struct CreatePlanArgs {
pub plan_id: String,
pub plan_id_bytes: [u8; 32],
pub price_usdc: u64,
pub period_secs: u64,
pub grace_secs: u64,
pub name: String,
}Expand description
Arguments for creating a subscription plan
Fields§
§plan_id: StringUnique plan identifier (will be padded to 32 bytes)
plan_id_bytes: [u8; 32]Padded plan_id bytes for PDA seeds (must match program constraint calculation)
price_usdc: u64Price in USDC microlamports (6 decimals)
period_secs: u64Subscription period in seconds
grace_secs: u64Grace period for renewals in seconds
name: StringPlan display name (will be padded to 32 bytes)
Implementations§
Source§impl CreatePlanArgs
impl CreatePlanArgs
Sourcepub fn plan_id_bytes(&self) -> [u8; 32]
pub fn plan_id_bytes(&self) -> [u8; 32]
Convert plan_id string to padded 32-byte array
Sourcepub fn name_bytes(&self) -> [u8; 32]
pub fn name_bytes(&self) -> [u8; 32]
Convert name string to padded 32-byte array
Trait Implementations§
Source§impl BorshDeserialize for CreatePlanArgs
impl BorshDeserialize for CreatePlanArgs
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 CreatePlanArgs
impl BorshSerialize for CreatePlanArgs
Source§impl Clone for CreatePlanArgs
impl Clone for CreatePlanArgs
Source§fn clone(&self) -> CreatePlanArgs
fn clone(&self) -> CreatePlanArgs
Returns a duplicate 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 Debug for CreatePlanArgs
impl Debug for CreatePlanArgs
Source§impl<'de> Deserialize<'de> for CreatePlanArgs
impl<'de> Deserialize<'de> for CreatePlanArgs
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for CreatePlanArgs
impl PartialEq for CreatePlanArgs
Source§impl Serialize for CreatePlanArgs
impl Serialize for CreatePlanArgs
impl Eq for CreatePlanArgs
impl StructuralPartialEq for CreatePlanArgs
Auto Trait Implementations§
impl Freeze for CreatePlanArgs
impl RefUnwindSafe for CreatePlanArgs
impl Send for CreatePlanArgs
impl Sync for CreatePlanArgs
impl Unpin for CreatePlanArgs
impl UnwindSafe for CreatePlanArgs
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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<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
Compare self to
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§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>
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