pub struct Permit2Payload {
pub data: Eip712Message,
pub payload_id: String,
pub type_: Permit2PayloadType,
}Expand description
A Permit2 PermitTransferFrom typed-data payload. The payer must pass data to eth_signTypedData_v4 and return the resulting signature.
JSON schema
{
"title": "Permit2 Payload",
"description": "A Permit2 PermitTransferFrom typed-data payload. The payer must pass `data` to `eth_signTypedData_v4` and return the resulting signature.",
"examples": [
{
"data": {
"domain": {
"chainId": 1,
"name": "Permit2",
"verifyingContract": "0x000000000022D473030F116dDEE9F6B43aC78BA3"
},
"message": {
"deadline": "1767225600",
"nonce": "0",
"permitted": {
"amount": "1000000",
"token": "0xdAC17F958D2ee523a2206206994597C13D831ec7"
},
"spender": "0x3333333333333333333333333333333333333333"
},
"primaryType": "PermitTransferFrom",
"types": {
"EIP712Domain": [
{
"name": "name",
"type": "string"
},
{
"name": "version",
"type": "string"
},
{
"name": "chainId",
"type": "uint256"
},
{
"name": "verifyingContract",
"type": "address"
}
],
"PermitTransferFrom": [
{
"name": "permitted",
"type": "TokenPermissions"
},
{
"name": "spender",
"type": "address"
},
{
"name": "nonce",
"type": "uint256"
},
{
"name": "deadline",
"type": "uint256"
}
],
"TokenPermissions": [
{
"name": "token",
"type": "address"
},
{
"name": "amount",
"type": "uint256"
}
]
}
},
"payloadId": "payload_cg4059d2-b068-6ih9-dha1-eee44f157336",
"type": "permit2"
}
],
"type": "object",
"required": [
"data",
"payloadId",
"type"
],
"properties": {
"data": {
"description": "EIP-712 typed data for a Permit2 PermitTransferFrom. Pass to `eth_signTypedData_v4`.",
"examples": [
{
"domain": {
"chainId": 1,
"name": "Permit2",
"verifyingContract": "0x000000000022D473030F116dDEE9F6B43aC78BA3"
},
"message": {
"deadline": "1767225600",
"nonce": "0",
"permitted": {
"amount": "1000000",
"token": "0xdAC17F958D2ee523a2206206994597C13D831ec7"
},
"spender": "0x3333333333333333333333333333333333333333"
},
"primaryType": "PermitTransferFrom",
"types": {
"EIP712Domain": [
{
"name": "name",
"type": "string"
},
{
"name": "version",
"type": "string"
},
{
"name": "chainId",
"type": "uint256"
},
{
"name": "verifyingContract",
"type": "address"
}
],
"PermitTransferFrom": [
{
"name": "permitted",
"type": "TokenPermissions"
},
{
"name": "spender",
"type": "address"
},
{
"name": "nonce",
"type": "uint256"
},
{
"name": "deadline",
"type": "uint256"
}
],
"TokenPermissions": [
{
"name": "token",
"type": "address"
},
{
"name": "amount",
"type": "uint256"
}
]
}
}
],
"allOf": [
{
"$ref": "#/components/schemas/EIP712Message"
}
]
},
"payloadId": {
"description": "The unique identifier of the payload.",
"examples": [
"payload_cg4059d2-b068-6ih9-dha1-eee44f157336"
],
"type": "string"
},
"type": {
"description": "The payload type.",
"examples": [
"permit2"
],
"type": "string",
"enum": [
"permit2"
]
}
}
}Fields§
§data: Eip712MessageEIP-712 typed data for a Permit2 PermitTransferFrom. Pass to eth_signTypedData_v4.
payload_id: StringThe unique identifier of the payload.
type_: Permit2PayloadTypeThe payload type.
Implementations§
Source§impl Permit2Payload
impl Permit2Payload
pub fn builder() -> Permit2Payload
Trait Implementations§
Source§impl Clone for Permit2Payload
impl Clone for Permit2Payload
Source§impl Debug for Permit2Payload
impl Debug for Permit2Payload
Source§impl<'de> Deserialize<'de> for Permit2Payload
impl<'de> Deserialize<'de> for Permit2Payload
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<&Permit2Payload> for Permit2Payload
impl From<&Permit2Payload> for Permit2Payload
Source§fn from(value: &Permit2Payload) -> Self
fn from(value: &Permit2Payload) -> Self
Converts to this type from the input type.
Source§impl From<Permit2Payload> for OnchainSignaturePayload
impl From<Permit2Payload> for OnchainSignaturePayload
Source§fn from(value: Permit2Payload) -> Self
fn from(value: Permit2Payload) -> Self
Converts to this type from the input type.
Source§impl From<Permit2Payload> for Permit2Payload
impl From<Permit2Payload> for Permit2Payload
Source§fn from(value: Permit2Payload) -> Self
fn from(value: Permit2Payload) -> Self
Converts to this type from the input type.
Source§impl Serialize for Permit2Payload
impl Serialize for Permit2Payload
Source§impl TryFrom<Permit2Payload> for Permit2Payload
impl TryFrom<Permit2Payload> for Permit2Payload
Source§type Error = ConversionError
type Error = ConversionError
The type returned in the event of a conversion error.
Source§fn try_from(value: Permit2Payload) -> Result<Self, ConversionError>
fn try_from(value: Permit2Payload) -> Result<Self, ConversionError>
Performs the conversion.
Auto Trait Implementations§
impl Freeze for Permit2Payload
impl RefUnwindSafe for Permit2Payload
impl Send for Permit2Payload
impl Sync for Permit2Payload
impl Unpin for Permit2Payload
impl UnsafeUnpin for Permit2Payload
impl UnwindSafe for Permit2Payload
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