pub struct X402ExactEvmPermit2PayloadPermit2Authorization {
pub deadline: String,
pub from: X402ExactEvmPermit2PayloadPermit2AuthorizationFrom,
pub nonce: X402ExactEvmPermit2PayloadPermit2AuthorizationNonce,
pub permitted: X402ExactEvmPermit2PayloadPermit2AuthorizationPermitted,
pub spender: X402ExactEvmPermit2PayloadPermit2AuthorizationSpender,
pub witness: X402ExactEvmPermit2PayloadPermit2AuthorizationWitness,
}Expand description
The authorization data for the Permit2 PermitWitnessTransferFrom message.
JSON schema
{
"description": "The authorization data for the Permit2 PermitWitnessTransferFrom message.",
"examples": [
{
"deadline": "1716150000",
"from": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
"nonce": "12345678901234567890",
"permitted": {
"amount": "1000000",
"token": "0x036CbD53842c5426634e7929541eC2318f3dCF7e"
},
"spender": "0x4020615294c913F045dc10f0a5cdEbd86c280001",
"witness": {
"extra": "0x",
"to": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
"validAfter": "1716150000"
}
}
],
"type": "object",
"required": [
"deadline",
"from",
"nonce",
"permitted",
"spender",
"witness"
],
"properties": {
"deadline": {
"description": "The unix timestamp before which the permit is valid.",
"examples": [
"1716150000"
],
"type": "string"
},
"from": {
"description": "The 0x-prefixed, checksum EVM address of the sender of the payment.",
"examples": [
"0x742d35Cc6634C0532925a3b844Bc454e4438f44e"
],
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$"
},
"nonce": {
"description": "The Permit2 nonce as a decimal string (uint256).",
"examples": [
"12345678901234567890"
],
"type": "string",
"pattern": "^[0-9]+$"
},
"permitted": {
"description": "The token permissions for the transfer.",
"type": "object",
"required": [
"amount",
"token"
],
"properties": {
"amount": {
"description": "The amount to transfer in atomic units.",
"examples": [
"1000000"
],
"type": "string"
},
"token": {
"description": "The 0x-prefixed, checksum EVM address of the token to transfer.",
"examples": [
"0x036CbD53842c5426634e7929541eC2318f3dCF7e"
],
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$"
}
}
},
"spender": {
"description": "The 0x-prefixed, checksum EVM address of the spender (x402 Permit2 proxy contract).",
"examples": [
"0x4020615294c913F045dc10f0a5cdEbd86c280001"
],
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$"
},
"witness": {
"description": "The witness data containing payment details.",
"type": "object",
"required": [
"to",
"validAfter"
],
"properties": {
"extra": {
"description": "Optional hex-encoded extra data.",
"examples": [
"0x"
],
"type": "string",
"pattern": "^0x[0-9a-fA-F]*$"
},
"to": {
"description": "The 0x-prefixed, checksum EVM address of the recipient.",
"examples": [
"0x742d35Cc6634C0532925a3b844Bc454e4438f44e"
],
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$"
},
"validAfter": {
"description": "The unix timestamp after which the payment is valid.",
"examples": [
"1716150000"
],
"type": "string"
}
}
}
}
}Fields§
§deadline: StringThe unix timestamp before which the permit is valid.
from: X402ExactEvmPermit2PayloadPermit2AuthorizationFromThe 0x-prefixed, checksum EVM address of the sender of the payment.
nonce: X402ExactEvmPermit2PayloadPermit2AuthorizationNonceThe Permit2 nonce as a decimal string (uint256).
permitted: X402ExactEvmPermit2PayloadPermit2AuthorizationPermitted§spender: X402ExactEvmPermit2PayloadPermit2AuthorizationSpenderThe 0x-prefixed, checksum EVM address of the spender (x402 Permit2 proxy contract).
witness: X402ExactEvmPermit2PayloadPermit2AuthorizationWitnessImplementations§
Trait Implementations§
Source§impl Clone for X402ExactEvmPermit2PayloadPermit2Authorization
impl Clone for X402ExactEvmPermit2PayloadPermit2Authorization
Source§fn clone(&self) -> X402ExactEvmPermit2PayloadPermit2Authorization
fn clone(&self) -> X402ExactEvmPermit2PayloadPermit2Authorization
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<'de> Deserialize<'de> for X402ExactEvmPermit2PayloadPermit2Authorization
impl<'de> Deserialize<'de> for X402ExactEvmPermit2PayloadPermit2Authorization
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<&X402ExactEvmPermit2PayloadPermit2Authorization> for X402ExactEvmPermit2PayloadPermit2Authorization
impl From<&X402ExactEvmPermit2PayloadPermit2Authorization> for X402ExactEvmPermit2PayloadPermit2Authorization
Source§fn from(value: &X402ExactEvmPermit2PayloadPermit2Authorization) -> Self
fn from(value: &X402ExactEvmPermit2PayloadPermit2Authorization) -> Self
Converts to this type from the input type.
Source§impl From<X402ExactEvmPermit2PayloadPermit2Authorization> for X402ExactEvmPermit2PayloadPermit2Authorization
impl From<X402ExactEvmPermit2PayloadPermit2Authorization> for X402ExactEvmPermit2PayloadPermit2Authorization
Source§fn from(value: X402ExactEvmPermit2PayloadPermit2Authorization) -> Self
fn from(value: X402ExactEvmPermit2PayloadPermit2Authorization) -> Self
Converts to this type from the input type.
Source§impl TryFrom<X402ExactEvmPermit2PayloadPermit2Authorization> for X402ExactEvmPermit2PayloadPermit2Authorization
impl TryFrom<X402ExactEvmPermit2PayloadPermit2Authorization> for X402ExactEvmPermit2PayloadPermit2Authorization
Source§type Error = ConversionError
type Error = ConversionError
The type returned in the event of a conversion error.
Source§fn try_from(
value: X402ExactEvmPermit2PayloadPermit2Authorization,
) -> Result<Self, ConversionError>
fn try_from( value: X402ExactEvmPermit2PayloadPermit2Authorization, ) -> Result<Self, ConversionError>
Performs the conversion.
Auto Trait Implementations§
impl Freeze for X402ExactEvmPermit2PayloadPermit2Authorization
impl RefUnwindSafe for X402ExactEvmPermit2PayloadPermit2Authorization
impl Send for X402ExactEvmPermit2PayloadPermit2Authorization
impl Sync for X402ExactEvmPermit2PayloadPermit2Authorization
impl Unpin for X402ExactEvmPermit2PayloadPermit2Authorization
impl UnsafeUnpin for X402ExactEvmPermit2PayloadPermit2Authorization
impl UnwindSafe for X402ExactEvmPermit2PayloadPermit2Authorization
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