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: SpendPermissionAccountSmart account this spend permission is valid for.
allowance: StringMaximum allowed value to spend, in atomic units for the specified token, within each period.
end: StringThe expiration time for this spend permission, in Unix seconds.
extra_data: StringArbitrary data to include in the permission.
period: StringTime duration for resetting used allowance on a recurring basis (seconds).
salt: StringAn arbitrary salt to differentiate unique spend permissions with otherwise identical data.
spender: SpendPermissionSpenderEntity that can spend account’s tokens.
start: StringThe start time for this spend permission, in Unix seconds.
token: SpendPermissionTokenToken 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