pub enum OnchainSignaturePayload {
Eip3009Payload(Eip3009Payload),
Permit2Payload(Permit2Payload),
Erc20ApprovalPayload(Erc20ApprovalPayload),
SpendPermissionPayload(SpendPermissionPayload),
}Expand description
A single onchain payload the payer must process to complete an onchain payment option. Inspect type to determine how to handle the data field:
- eip3009 — pass data to eth_signTypedData_v4, return the signature.
- permit2 — pass data to eth_signTypedData_v4, return the signature.
- erc20_approval — send data via eth_sendTransaction, return the transaction hash.
- spend_permission — pass data to eth_signTypedData_v4, return the signature.
JSON schema
{
"description": "A single onchain payload the payer must process to complete an onchain payment option. Inspect `type` to determine how to handle the `data` field:\n- `eip3009` — pass `data` to `eth_signTypedData_v4`, return the signature.\n- `permit2` — pass `data` to `eth_signTypedData_v4`, return the signature.\n- `erc20_approval` — send `data` via `eth_sendTransaction`, return the transaction hash.\n- `spend_permission` — pass `data` to `eth_signTypedData_v4`, return the signature.",
"oneOf": [
{
"$ref": "#/components/schemas/EIP3009Payload"
},
{
"$ref": "#/components/schemas/Permit2Payload"
},
{
"$ref": "#/components/schemas/Erc20ApprovalPayload"
},
{
"$ref": "#/components/schemas/SpendPermissionPayload"
}
]
}Variants§
Eip3009Payload(Eip3009Payload)
Permit2Payload(Permit2Payload)
Erc20ApprovalPayload(Erc20ApprovalPayload)
SpendPermissionPayload(SpendPermissionPayload)
Trait Implementations§
Source§impl Clone for OnchainSignaturePayload
impl Clone for OnchainSignaturePayload
Source§impl Debug for OnchainSignaturePayload
impl Debug for OnchainSignaturePayload
Source§impl<'de> Deserialize<'de> for OnchainSignaturePayload
impl<'de> Deserialize<'de> for OnchainSignaturePayload
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<&OnchainSignaturePayload> for OnchainSignaturePayload
impl From<&OnchainSignaturePayload> for OnchainSignaturePayload
Source§fn from(value: &OnchainSignaturePayload) -> Self
fn from(value: &OnchainSignaturePayload) -> Self
Converts to this type from the input type.
Source§impl From<Eip3009Payload> for OnchainSignaturePayload
impl From<Eip3009Payload> for OnchainSignaturePayload
Source§fn from(value: Eip3009Payload) -> Self
fn from(value: Eip3009Payload) -> Self
Converts to this type from the input type.
Source§impl From<Erc20ApprovalPayload> for OnchainSignaturePayload
impl From<Erc20ApprovalPayload> for OnchainSignaturePayload
Source§fn from(value: Erc20ApprovalPayload) -> Self
fn from(value: Erc20ApprovalPayload) -> 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<SpendPermissionPayload> for OnchainSignaturePayload
impl From<SpendPermissionPayload> for OnchainSignaturePayload
Source§fn from(value: SpendPermissionPayload) -> Self
fn from(value: SpendPermissionPayload) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for OnchainSignaturePayload
impl RefUnwindSafe for OnchainSignaturePayload
impl Send for OnchainSignaturePayload
impl Sync for OnchainSignaturePayload
impl Unpin for OnchainSignaturePayload
impl UnsafeUnpin for OnchainSignaturePayload
impl UnwindSafe for OnchainSignaturePayload
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