pub struct UpdatePlanTermsArgs {
pub price_usdc: Option<u64>,
pub period_secs: Option<u64>,
pub grace_secs: Option<u64>,
pub name: Option<String>,
}Expand description
Arguments for updating a subscription plan’s pricing and terms
All fields are optional - at least one must be provided. Only the merchant authority can update plan terms.
Fields§
§price_usdc: Option<u64>Price in USDC microlamports (6 decimals) Must be > 0 if provided
period_secs: Option<u64>Subscription period in seconds
Must be >= config.min_period_seconds if provided
grace_secs: Option<u64>Grace period for renewals in seconds
Must be <= period AND <= config.max_grace_period_seconds if provided
name: Option<String>Plan display name Must not be empty if provided
Implementations§
Source§impl UpdatePlanTermsArgs
impl UpdatePlanTermsArgs
Sourcepub const fn with_price_usdc(self, price_usdc: u64) -> Self
pub const fn with_price_usdc(self, price_usdc: u64) -> Self
Set the plan price
Sourcepub const fn with_period_secs(self, period_secs: u64) -> Self
pub const fn with_period_secs(self, period_secs: u64) -> Self
Set the plan period
Sourcepub const fn with_grace_secs(self, grace_secs: u64) -> Self
pub const fn with_grace_secs(self, grace_secs: u64) -> Self
Set the plan grace period
Sourcepub const fn has_updates(&self) -> bool
pub const fn has_updates(&self) -> bool
Check if any fields are set for update
Sourcepub fn name_bytes(&self) -> Option<[u8; 32]>
pub fn name_bytes(&self) -> Option<[u8; 32]>
Convert name string to padded 32-byte array if present
Trait Implementations§
Source§impl BorshDeserialize for UpdatePlanTermsArgs
impl BorshDeserialize for UpdatePlanTermsArgs
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 UpdatePlanTermsArgs
impl BorshSerialize for UpdatePlanTermsArgs
Source§impl Clone for UpdatePlanTermsArgs
impl Clone for UpdatePlanTermsArgs
Source§fn clone(&self) -> UpdatePlanTermsArgs
fn clone(&self) -> UpdatePlanTermsArgs
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 UpdatePlanTermsArgs
impl Debug for UpdatePlanTermsArgs
Source§impl Default for UpdatePlanTermsArgs
impl Default for UpdatePlanTermsArgs
Source§fn default() -> UpdatePlanTermsArgs
fn default() -> UpdatePlanTermsArgs
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for UpdatePlanTermsArgs
impl<'de> Deserialize<'de> for UpdatePlanTermsArgs
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 UpdatePlanTermsArgs
impl PartialEq for UpdatePlanTermsArgs
Source§impl Serialize for UpdatePlanTermsArgs
impl Serialize for UpdatePlanTermsArgs
impl Eq for UpdatePlanTermsArgs
impl StructuralPartialEq for UpdatePlanTermsArgs
Auto Trait Implementations§
impl Freeze for UpdatePlanTermsArgs
impl RefUnwindSafe for UpdatePlanTermsArgs
impl Send for UpdatePlanTermsArgs
impl Sync for UpdatePlanTermsArgs
impl Unpin for UpdatePlanTermsArgs
impl UnwindSafe for UpdatePlanTermsArgs
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