pub struct SpendPermission {
pub account: SpendPermissionAccount,
pub allowance: String,
pub end: String,
pub extra_data: String,
pub period: String,
pub salt: String,
pub spender: SpendPermissionSpender,
pub start: String,
pub token: SpendPermissionToken,
}
Expand description
The core spend permission.
JSON schema
{
"description": "The core spend permission.",
"examples": [
{
"account": "0xd53Ee96438383Bb1eff07958D110B81363E9Ab47",
"allowance": "1000000000000000000",
"end": "281474976710655",
"extraData": "0x",
"period": "86400",
"salt": "0",
"spender": "0x9Fb909eA400c2b8D99Be292DADf07e63B814527c",
"start": "0",
"token": "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"
}
],
"type": "object",
"required": [
"account",
"allowance",
"end",
"extraData",
"period",
"salt",
"spender",
"start",
"token"
],
"properties": {
"account": {
"description": "Smart account this spend permission is valid for.",
"examples": [
"0xd53Ee96438383Bb1eff07958D110B81363E9Ab47"
],
"type": "string",
"pattern": "^0x[a-fA-F0-9]{40}$"
},
"allowance": {
"description": "Maximum allowed value to spend, in atomic units for the specified token, within each period.",
"examples": [
"1000000000000000000"
],
"type": "string"
},
"end": {
"description": "The expiration time for this spend permission, in Unix seconds.",
"examples": [
"281474976710655"
],
"type": "string"
},
"extraData": {
"description": "Arbitrary data to include in the permission.",
"examples": [
"0x"
],
"type": "string"
},
"period": {
"description": "Time duration for resetting used allowance on a recurring basis (seconds).",
"examples": [
"86400"
],
"type": "string"
},
"salt": {
"description": "An arbitrary salt to differentiate unique spend permissions with otherwise identical data.",
"examples": [
"0"
],
"type": "string"
},
"spender": {
"description": "Entity that can spend account's tokens.",
"examples": [
"0x9Fb909eA400c2b8D99Be292DADf07e63B814527c"
],
"type": "string",
"pattern": "^0x[a-fA-F0-9]{40}$"
},
"start": {
"description": "The start time for this spend permission, in Unix seconds.",
"examples": [
"0"
],
"type": "string"
},
"token": {
"description": "Token address (ERC-7528 native token address or ERC-20 contract).",
"examples": [
"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"
],
"type": "string",
"pattern": "^0x[a-fA-F0-9]{40}$"
}
}
}
Fields§
§account: SpendPermissionAccount
Smart account this spend permission is valid for.
allowance: String
Maximum allowed value to spend, in atomic units for the specified token, within each period.
end: String
The expiration time for this spend permission, in Unix seconds.
extra_data: String
Arbitrary data to include in the permission.
period: String
Time duration for resetting used allowance on a recurring basis (seconds).
salt: String
An arbitrary salt to differentiate unique spend permissions with otherwise identical data.
spender: SpendPermissionSpender
Entity that can spend account’s tokens.
start: String
The start time for this spend permission, in Unix seconds.
token: SpendPermissionToken
Token address (ERC-7528 native token address or ERC-20 contract).
Implementations§
Source§impl SpendPermission
impl SpendPermission
pub fn builder() -> SpendPermission
Trait Implementations§
Source§impl Clone for SpendPermission
impl Clone for SpendPermission
Source§fn clone(&self) -> SpendPermission
fn clone(&self) -> SpendPermission
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 SpendPermission
impl Debug for SpendPermission
Source§impl<'de> Deserialize<'de> for SpendPermission
impl<'de> Deserialize<'de> for SpendPermission
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 From<&SpendPermission> for SpendPermission
impl From<&SpendPermission> for SpendPermission
Source§fn from(value: &SpendPermission) -> Self
fn from(value: &SpendPermission) -> Self
Converts to this type from the input type.
Source§impl From<SpendPermission> for SpendPermission
impl From<SpendPermission> for SpendPermission
Source§fn from(value: SpendPermission) -> Self
fn from(value: SpendPermission) -> Self
Converts to this type from the input type.
Source§impl Serialize for SpendPermission
impl Serialize for SpendPermission
Source§impl TryFrom<SpendPermission> for SpendPermission
impl TryFrom<SpendPermission> for SpendPermission
Source§type Error = ConversionError
type Error = ConversionError
The type returned in the event of a conversion error.
Source§fn try_from(value: SpendPermission) -> Result<Self, ConversionError>
fn try_from(value: SpendPermission) -> Result<Self, ConversionError>
Performs the conversion.
Auto Trait Implementations§
impl Freeze for SpendPermission
impl RefUnwindSafe for SpendPermission
impl Send for SpendPermission
impl Sync for SpendPermission
impl Unpin for SpendPermission
impl UnwindSafe for SpendPermission
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