diff --git a/src/openrpc/alchemy/wallet-api/wallet-api.yaml b/src/openrpc/alchemy/wallet-api/wallet-api.yaml index c8995dfcd..b029da42e 100644 --- a/src/openrpc/alchemy/wallet-api/wallet-api.yaml +++ b/src/openrpc/alchemy/wallet-api/wallet-api.yaml @@ -219,206 +219,121 @@ methods: - name: params[0] required: true schema: - type: "object" - required: - - "from" - - "chainId" - properties: - calls: - type: "array" - items: - type: "object" - required: - - "to" - properties: - to: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - data: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - value: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - from: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - chainId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - capabilities: - type: "object" + anyOf: + - type: "object" + required: + - "from" + - "chainId" properties: - permissions: - anyOf: - - type: "object" - required: - - "context" - properties: - context: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Permissions context" - - type: "object" - required: - - "sessionId" - - "signature" - properties: - sessionId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - signature: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Remote permission" - paymasterService: - allOf: - - anyOf: + calls: + type: "array" + items: + type: "object" + required: + - "to" + properties: + to: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" + data: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + value: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + from: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" + chainId: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + capabilities: + type: "object" + properties: + permissions: + anyOf: - type: "object" required: - - "policyId" + - "context" properties: - policyId: + context: type: "string" - pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$" - format: "uuid" - description: "The policy ID to use" - description: "Single policy ID" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "Permissions context" - type: "object" required: - - "policyIds" + - "sessionId" + - "signature" properties: - policyIds: - type: "array" - items: - type: "string" - pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$" - format: "uuid" - description: "The policy IDs to use" - description: "Multiple policy IDs" - - type: "object" - properties: - onlyEstimation: - type: "boolean" - description: "If true, will only estimate fees. Skips signature request and gas sponsorship" - erc20: - anyOf: + sessionId: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + signature: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "Remote permission" + paymasterService: + allOf: + - anyOf: - type: "object" required: - - "tokenAddress" - - "preOpSettings" + - "policyId" properties: - tokenAddress: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - description: "The address of the token to pay gas with" - maxTokenAmount: + policyId: type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The maximum amount of tokens to allow during ERC20 gas payment" - preOpSettings: - type: "object" - required: - - "autoPermit" - properties: - autoPermit: - type: "object" - required: - - "below" - - "amount" - properties: - below: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The amount below which a Permit signature will be injected" - amount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The amount of tokens to Permit to the paymaster for gas payment" - durationSeconds: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The duration of the Permit signature in seconds" - description: "Settings for automatically injecting a Permit signature for ERC20 gas payment" - description: "ERC20 Paymaster Settings for pre-op policies (autoPermit)" - additionalProperties: false - description: "ERC20 Paymaster Settings with preOpSettings (autoPermit)" + pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$" + format: "uuid" + description: "The policy ID to use" + description: "Single policy ID" - type: "object" required: - - "tokenAddress" - - "preOpSettings" + - "policyIds" properties: - tokenAddress: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - description: "The address of the token to pay gas with" - maxTokenAmount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The maximum amount of tokens to allow during ERC20 gas payment" - preOpSettings: - type: "object" + policyIds: + type: "array" + items: + type: "string" + pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$" + format: "uuid" + description: "The policy IDs to use" + description: "Multiple policy IDs" + - type: "object" + properties: + onlyEstimation: + type: "boolean" + description: "If true, will only estimate fees. Skips signature request and gas sponsorship" + erc20: + anyOf: + - type: "object" required: - - "permitDetails" + - "tokenAddress" + - "preOpSettings" properties: - permitDetails: + tokenAddress: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" + description: "The address of the token to pay gas with" + maxTokenAmount: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "The maximum amount of tokens to allow during ERC20 gas payment" + preOpSettings: type: "object" required: - - "deadline" - - "value" + - "autoPermit" properties: - deadline: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The deadline in the signed Permit object" - value: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The value in the signed Permit object" - description: "Details of the returned Permit signature" - description: "ERC20 Paymaster Settings for pre-op policies (permitDetails)" - additionalProperties: false - description: "ERC20 Paymaster Settings with preOpSettings (permitDetails)" - - type: "object" - required: - - "tokenAddress" - - "postOpSettings" - properties: - tokenAddress: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - description: "The address of the token to pay gas with" - maxTokenAmount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The maximum amount of tokens to allow during ERC20 gas payment" - postOpSettings: - type: "object" - properties: - autoApprove: - anyOf: - - type: "boolean" - description: "Automatically inject approval for the exact amount needed for this operation" - - type: "object" + autoPermit: + type: "object" required: - "below" - "amount" @@ -427,1498 +342,1606 @@ methods: type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - description: "The amount below which an approval will be injected" + description: "The amount below which a Permit signature will be injected" amount: type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - description: "The amount of tokens to approve to the paymaster for gas payment" - description: "Settings for automatically injecting an approval for ERC20 gas payment with specific thresholds" - balanceCheck: - type: "boolean" - description: "By default, the sender's ERC-20 balance is checked at prepare time and the request is rejected if it can't cover the maximum gas cost. Set to false when the User Operation itself credits the sender enough tokens to cover gas. If the sender's balance is still insufficient when the paymaster attempts to pull payment, the User Operation will fail on-chain." - description: "ERC20 Paymaster Settings for post-op policies" - additionalProperties: false - description: "ERC20 Paymaster Settings with postOpSettings" - - type: "object" - required: - - "tokenAddress" - properties: - tokenAddress: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - description: "The address of the token to pay gas with" - maxTokenAmount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The maximum amount of tokens to allow during ERC20 gas payment" - additionalProperties: false - description: "No auto approval (requires manual ERC20 approvals to paymaster contract)" - errorMessage: "ERC20 settings must specify only one of: preOpSettings, postOpSettings, or neither (for manual approvals). Cannot specify both preOpSettings and postOpSettings" - description: "ERC20 Paymaster Settings" - webhookData: - type: "string" - description: "Additional data you can include in the request, such as proof of humanity, if you have enabled custom rules in your Gas Manager policy." - gasParamsOverride: - type: "object" - properties: - preVerificationGas: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - verificationGasLimit: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - callGasLimit: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - paymasterVerificationGasLimit: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - paymasterPostOpGasLimit: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - maxFeePerGas: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - maxPriorityFeePerGas: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - eip7702Auth: - anyOf: - - type: "object" - required: - - "delegation" - properties: - account: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - delegation: + description: "The amount of tokens to Permit to the paymaster for gas payment" + durationSeconds: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "The duration of the Permit signature in seconds" + description: "Settings for automatically injecting a Permit signature for ERC20 gas payment" + description: "ERC20 Paymaster Settings for pre-op policies (autoPermit)" + additionalProperties: false + description: "ERC20 Paymaster Settings with preOpSettings (autoPermit)" + - type: "object" + required: + - "tokenAddress" + - "preOpSettings" + properties: + tokenAddress: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" + description: "The address of the token to pay gas with" + maxTokenAmount: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "The maximum amount of tokens to allow during ERC20 gas payment" + preOpSettings: + type: "object" + required: + - "permitDetails" + properties: + permitDetails: + type: "object" + required: + - "deadline" + - "value" + properties: + deadline: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "The deadline in the signed Permit object" + value: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "The value in the signed Permit object" + description: "Details of the returned Permit signature" + description: "ERC20 Paymaster Settings for pre-op policies (permitDetails)" + additionalProperties: false + description: "ERC20 Paymaster Settings with preOpSettings (permitDetails)" + - type: "object" + required: + - "tokenAddress" + - "postOpSettings" + properties: + tokenAddress: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" + description: "The address of the token to pay gas with" + maxTokenAmount: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "The maximum amount of tokens to allow during ERC20 gas payment" + postOpSettings: + type: "object" + properties: + autoApprove: + anyOf: + - type: "boolean" + description: "Automatically inject approval for the exact amount needed for this operation" + - type: "object" + required: + - "below" + - "amount" + properties: + below: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "The amount below which an approval will be injected" + amount: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "The amount of tokens to approve to the paymaster for gas payment" + description: "Settings for automatically injecting an approval for ERC20 gas payment with specific thresholds" + balanceCheck: + type: "boolean" + description: "By default, the sender's ERC-20 balance is checked at prepare time and the request is rejected if it can't cover the maximum gas cost. Set to false when the User Operation itself credits the sender enough tokens to cover gas. If the sender's balance is still insufficient when the paymaster attempts to pull payment, the User Operation will fail on-chain." + description: "ERC20 Paymaster Settings for post-op policies" + additionalProperties: false + description: "ERC20 Paymaster Settings with postOpSettings" + - type: "object" + required: + - "tokenAddress" + properties: + tokenAddress: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" + description: "The address of the token to pay gas with" + maxTokenAmount: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "The maximum amount of tokens to allow during ERC20 gas payment" + additionalProperties: false + description: "No auto approval (requires manual ERC20 approvals to paymaster contract)" + errorMessage: "ERC20 settings must specify only one of: preOpSettings, postOpSettings, or neither (for manual approvals). Cannot specify both preOpSettings and postOpSettings" + description: "ERC20 Paymaster Settings" + webhookData: + type: "string" + description: "Additional data you can include in the request, such as proof of humanity, if you have enabled custom rules in your Gas Manager policy." + gasParamsOverride: + type: "object" + properties: + preVerificationGas: anyOf: - type: "string" - enum: - - "ModularAccountV2" - - type: "string" - enum: - - "0x69007702764179f14F51cdce752f4f775d74E139" - - "0x0000000000000000000000000000000000000000" - description: "Specify EIP-7702 delegation" - - type: "boolean" - description: "Use default EIP-7702 delegation (Note: EIP-7702 is enabled by default unless you first call `wallet_requestAccount` to get a smart contract address.)" - nonceOverride: - type: "object" - required: - - "nonceKey" - properties: - nonceKey: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Override nonce key as hex string" - stateOverride: - type: "object" - additionalProperties: - anyOf: - - type: "object" - required: - - "state" - properties: - balance: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - nonce: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - code: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - state: - type: "object" - additionalProperties: - type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - propertyNames: - type: "string" + description: "Absolute" + - type: "object" + required: + - "multiplier" + properties: + multiplier: + type: "number" + description: "Multiplier" + verificationGasLimit: + anyOf: + - type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - description: "Mapping from storage slot (hex) to value (hex)" - additionalProperties: false - description: "Full account state" - - type: "object" - required: - - "stateDiff" - properties: - balance: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - nonce: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - code: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - stateDiff: - type: "object" - additionalProperties: - type: "string" + description: "Absolute" + - type: "object" + required: + - "multiplier" + properties: + multiplier: + type: "number" + description: "Multiplier" + callGasLimit: + anyOf: + - type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - propertyNames: - type: "string" + description: "Absolute" + - type: "object" + required: + - "multiplier" + properties: + multiplier: + type: "number" + description: "Multiplier" + paymasterVerificationGasLimit: + anyOf: + - type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - description: "Mapping from storage slot (hex) to value (hex)" - additionalProperties: false - description: "Account state diff" - - type: "object" - properties: - balance: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - nonce: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - code: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - additionalProperties: false - description: "Account override without state changes" - propertyNames: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - description: "Mapping from account address to overrides" - experimental_dataSuffix: - type: "object" - required: - - "value" - properties: - value: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "ERC-8021 transaction attribution data suffix. The wallet appends these bytes to calldata to enable interoperable attribution tracking." - paymasterPermitSignature: - oneOf: - - type: "object" - required: - - "type" - - "data" - properties: - type: - type: "string" - enum: - - "secp256k1" - data: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Hex-encoded signature" - - type: "object" - required: - - "r" - - "s" - - "yParity" - properties: - r: - type: "string" + description: "Absolute" + - type: "object" + required: + - "multiplier" + properties: + multiplier: + type: "number" + description: "Multiplier" + paymasterPostOpGasLimit: + anyOf: + - type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" + description: "Absolute" + - type: "object" + required: + - "multiplier" + properties: + multiplier: + type: "number" + description: "Multiplier" + maxFeePerGas: + anyOf: + - type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - yParity: - type: "string" + description: "Absolute" + - type: "object" + required: + - "multiplier" + properties: + multiplier: + type: "number" + description: "Multiplier" + maxPriorityFeePerGas: + anyOf: + - type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, yParity" + description: "Absolute" + - type: "object" + required: + - "multiplier" + properties: + multiplier: + type: "number" + description: "Multiplier" + eip7702Auth: + anyOf: - type: "object" required: - - "r" - - "s" - - "v" + - "delegation" properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - v: + account: type: "string" pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, v" - description: "Secp256k1 signature" - - type: "object" - required: - - "type" - - "data" - properties: - type: - type: "string" - enum: - - "ecdsa" - data: - anyOf: - - type: "string" + errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" + delegation: + anyOf: + - type: "string" + enum: + - "ModularAccountV2" + - type: "string" + enum: + - "0x69007702764179f14F51cdce752f4f775d74E139" + - "0x0000000000000000000000000000000000000000" + description: "Specify EIP-7702 delegation" + - type: "boolean" + description: "Use default EIP-7702 delegation (Note: EIP-7702 is enabled by default unless you first call `wallet_requestAccount` to get a smart contract address.)" + nonceOverride: + type: "object" + required: + - "nonceKey" + properties: + nonceKey: + type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - description: "Hex-encoded signature" - - type: "object" - required: - - "r" - - "s" - - "yParity" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - yParity: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, yParity" - - type: "object" - required: - - "r" - - "s" - - "v" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - v: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, v" - description: "ECDSA signature (alias for secp256k1)" - - result: - name: prepareCallsResponse - schema: - allOf: - - oneOf: - - type: "object" - required: - - "type" - - "data" - properties: - type: - type: "string" - enum: - - "array" - data: - type: "array" - items: - oneOf: - - type: "object" - required: - - "type" - - "data" - - "chainId" - - "feePayment" - properties: - type: - type: "string" - description: "User Operation (Entrypoint v0.6.0)" - enum: - - "user-operation-v060" - data: - type: "object" - required: - - "sender" - - "nonce" - - "initCode" - - "callData" - - "callGasLimit" - - "verificationGasLimit" - - "preVerificationGas" - - "maxFeePerGas" - - "maxPriorityFeePerGas" - - "paymasterAndData" - properties: - sender: + description: "Override nonce key as hex string" + stateOverride: + type: "object" + additionalProperties: + anyOf: + - type: "object" + required: + - "state" + properties: + balance: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + nonce: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + code: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + state: + type: "object" + additionalProperties: type: "string" pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - nonce: + errorMessage: "Must be a valid hex string starting with '0x'" + propertyNames: type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - initCode: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Present" - - type: "string" - description: "Absent" - enum: - - "0x" - callData: + description: "Mapping from storage slot (hex) to value (hex)" + additionalProperties: false + description: "Full account state" + - type: "object" + required: + - "stateDiff" + properties: + balance: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + nonce: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + code: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + stateDiff: + type: "object" + additionalProperties: type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - callGasLimit: + propertyNames: type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - verificationGasLimit: + description: "Mapping from storage slot (hex) to value (hex)" + additionalProperties: false + description: "Account state diff" + - type: "object" + properties: + balance: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + nonce: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + code: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + additionalProperties: false + description: "Account override without state changes" + propertyNames: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" + description: "Mapping from account address to overrides" + experimental_dataSuffix: + type: "object" + required: + - "value" + properties: + value: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "ERC-8021 transaction attribution data suffix. The wallet appends these bytes to calldata to enable interoperable attribution tracking." + paymasterPermitSignature: + oneOf: + - type: "object" + required: + - "type" + - "data" + properties: + type: + type: "string" + enum: + - "secp256k1" + data: + anyOf: + - type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "Hex-encoded signature" + - type: "object" + required: + - "r" + - "s" + - "yParity" + properties: + r: type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - preVerificationGas: + s: type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - maxFeePerGas: + yParity: type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - maxPriorityFeePerGas: + description: "r, s, yParity" + - type: "object" + required: + - "r" + - "s" + - "v" + properties: + r: type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - paymasterAndData: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Present" - - type: "string" - description: "Absent" - enum: - - "0x" - description: "Unsigned User Operation (Entrypoint v0.6.0)" - chainId: - type: "string" + s: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + v: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "r, s, v" + description: "Secp256k1 signature" + - type: "object" + required: + - "type" + - "data" + properties: + type: + type: "string" + enum: + - "ecdsa" + data: + anyOf: + - type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - signatureRequest: - oneOf: - - type: "object" - required: - - "type" - - "data" - - "rawPayload" - properties: - type: - type: "string" - enum: - - "personal_sign" - data: - anyOf: - - type: "string" - minLength: 1 - description: "Message" - - type: "object" - required: - - "raw" - properties: - raw: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Raw message" - rawPayload: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Raw payload that can be signed if using a signer that supports signing raw bytes (such as an Alchemy Signer)" - description: "Personal sign" - - type: "object" - required: - - "type" - - "data" - - "rawPayload" - properties: - type: - type: "string" - enum: - - "eth_signTypedData_v4" - data: - type: "object" - required: - - "types" - - "primaryType" - - "message" - properties: - domain: - type: "object" - properties: - chainId: - type: "integer" - minimum: 1 - maximum: 9007199254740991 - name: - type: "string" - salt: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - verifyingContract: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - version: - type: "string" - types: - type: "object" - additionalProperties: - type: "array" - items: - type: "object" - required: - - "name" - - "type" - properties: - type: - type: "string" - name: - type: "string" - propertyNames: - type: "string" - description: "Mapping from type name to array of field definitions" - primaryType: - type: "string" - message: - type: "object" - additionalProperties: {} - propertyNames: - type: "string" - description: "Mapping from field name to value" - rawPayload: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Raw payload that can be signed if using a signer that supports signing raw bytes (such as an Alchemy Signer)" - description: "Typed data" - feePayment: - type: "object" + description: "Hex-encoded signature" + - type: "object" required: - - "sponsored" - - "tokenAddress" - - "maxAmount" + - "r" + - "s" + - "yParity" properties: - sponsored: - type: "boolean" - tokenAddress: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - maxAmount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Prepared User Operation (Entrypoint v0.6.0). Returned for legacy Light Account v1.x accounts." - - type: "object" - required: - - "type" - - "data" - - "chainId" - - "feePayment" - properties: - type: - type: "string" - description: "User Operation (Entrypoint v0.7.0)" - enum: - - "user-operation-v070" - data: - type: "object" - required: - - "sender" - - "nonce" - - "callData" - - "callGasLimit" - - "verificationGasLimit" - - "preVerificationGas" - - "maxFeePerGas" - - "maxPriorityFeePerGas" - properties: - sender: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - nonce: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - factory: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - factoryData: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - callData: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - callGasLimit: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - verificationGasLimit: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - preVerificationGas: + r: type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - maxFeePerGas: + s: type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - maxPriorityFeePerGas: + yParity: type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - paymaster: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - paymasterData: + description: "r, s, yParity" + - type: "object" + required: + - "r" + - "s" + - "v" + properties: + r: type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - paymasterVerificationGasLimit: + s: type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - paymasterPostOpGasLimit: + v: type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - description: "Unsigned User Operation (Entrypoint v0.7.0)" - chainId: + description: "r, s, v" + description: "ECDSA signature (alias for secp256k1)" + description: "EVM request" + - type: "object" + required: + - "calls" + - "from" + - "chainId" + properties: + calls: + type: "array" + items: + type: "object" + required: + - "programId" + - "data" + properties: + programId: + type: "string" + pattern: "^[1-9A-HJ-NP-Za-km-z]+$" + minLength: 32 + maxLength: 44 + errorMessage: "Must be a valid base58-encoded Solana address (32-44 characters)" + description: "Base58-encoded Solana address" + accounts: + type: "array" + items: + type: "object" + required: + - "pubkey" + - "isSigner" + - "isWritable" + properties: + pubkey: + type: "string" + pattern: "^[1-9A-HJ-NP-Za-km-z]+$" + minLength: 32 + maxLength: 44 + errorMessage: "Must be a valid base58-encoded Solana address (32-44 characters)" + description: "Base58-encoded Solana address" + isSigner: + type: "boolean" + isWritable: + type: "boolean" + data: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "Hex-encoded instruction data" + description: "Raw Solana instruction" + from: + type: "string" + pattern: "^[1-9A-HJ-NP-Za-km-z]+$" + minLength: 32 + maxLength: 44 + errorMessage: "Must be a valid base58-encoded Solana address (32-44 characters)" + description: "Base58-encoded Solana address" + chainId: + anyOf: + - anyOf: + - type: "string" + enum: + - "solana:mainnet" + - type: "string" + enum: + - "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp" + description: "Solana Mainnet" + - anyOf: + - type: "string" + enum: + - "solana:devnet" + - type: "string" + enum: + - "solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1" + description: "Solana Devnet" + description: "Solana chain identifier" + addressLookupTableAddresses: + type: "array" + items: + type: "string" + pattern: "^[1-9A-HJ-NP-Za-km-z]+$" + minLength: 32 + maxLength: 44 + errorMessage: "Must be a valid base58-encoded Solana address (32-44 characters)" + description: "Base58-encoded Solana address" + capabilities: + type: "object" + properties: + paymasterService: + allOf: + - type: "object" + required: + - "policyId" + properties: + policyId: type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - signatureRequest: - oneOf: - - type: "object" + pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$" + format: "uuid" + description: "The policy ID to use" + description: "Single policy ID" + - type: "object" + properties: + webhookData: + type: "string" + description: "Additional data for custom policy rules, such as proof of humanity." + prefundRent: + type: "boolean" + description: "Opt-in: ask the paymaster to simulate the transaction and prefund any lamports needed for CPI-created accounts (e.g. SystemProgram.createAccount)." + description: "Solana request" + + result: + name: prepareCallsResponse + schema: + anyOf: + - allOf: + - oneOf: + - type: "object" + required: + - "type" + - "data" + properties: + type: + type: "string" + enum: + - "array" + data: + type: "array" + items: + oneOf: + - type: "object" + required: + - "type" + - "data" + - "chainId" + - "feePayment" + properties: + type: + type: "string" + description: "User Operation (Entrypoint v0.6.0)" + enum: + - "user-operation-v060" + data: + type: "object" required: - - "type" - - "data" - - "rawPayload" + - "sender" + - "nonce" + - "initCode" + - "callData" + - "callGasLimit" + - "verificationGasLimit" + - "preVerificationGas" + - "maxFeePerGas" + - "maxPriorityFeePerGas" + - "paymasterAndData" properties: - type: + sender: type: "string" - enum: - - "personal_sign" - data: + pattern: "^0x.*$" + errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" + nonce: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + initCode: anyOf: - type: "string" - minLength: 1 - description: "Message" - - type: "object" - required: - - "raw" - properties: - raw: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Raw message" - rawPayload: + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "Present" + - type: "string" + description: "Absent" + enum: + - "0x" + callData: type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - description: "Raw payload that can be signed if using a signer that supports signing raw bytes (such as an Alchemy Signer)" - description: "Personal sign" - - type: "object" - required: - - "type" - - "data" - - "rawPayload" - properties: - type: + callGasLimit: type: "string" - enum: - - "eth_signTypedData_v4" - data: - type: "object" - required: - - "types" - - "primaryType" - - "message" - properties: - domain: - type: "object" - properties: - chainId: - type: "integer" - minimum: 1 - maximum: 9007199254740991 - name: - type: "string" - salt: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - verifyingContract: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - version: - type: "string" - types: - type: "object" - additionalProperties: - type: "array" - items: - type: "object" - required: - - "name" - - "type" - properties: - type: - type: "string" - name: - type: "string" - propertyNames: - type: "string" - description: "Mapping from type name to array of field definitions" - primaryType: - type: "string" - message: - type: "object" - additionalProperties: {} - propertyNames: - type: "string" - description: "Mapping from field name to value" - rawPayload: + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + verificationGasLimit: type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - description: "Raw payload that can be signed if using a signer that supports signing raw bytes (such as an Alchemy Signer)" - description: "Typed data" - feePayment: - type: "object" - required: - - "sponsored" - - "tokenAddress" - - "maxAmount" - properties: - sponsored: - type: "boolean" - tokenAddress: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - maxAmount: + preVerificationGas: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + maxFeePerGas: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + maxPriorityFeePerGas: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + paymasterAndData: + anyOf: + - type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "Present" + - type: "string" + description: "Absent" + enum: + - "0x" + description: "Unsigned User Operation (Entrypoint v0.6.0)" + chainId: type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - description: "Prepared User Operation (Entrypoint v0.7.0). Returned for modern account types including Modular Account (sma-b), Light Account v2, and 7702 accounts." - - type: "object" - required: - - "type" - - "data" - - "chainId" - - "signatureRequest" - properties: - type: - type: "string" - description: "EIP-7702 Authorization Request" - enum: - - "authorization" - data: - type: "object" + signatureRequest: + oneOf: + - type: "object" + required: + - "type" + - "data" + - "rawPayload" + properties: + type: + type: "string" + enum: + - "personal_sign" + data: + anyOf: + - type: "string" + minLength: 1 + description: "Message" + - type: "object" + required: + - "raw" + properties: + raw: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "Raw message" + rawPayload: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "Raw payload that can be signed if using a signer that supports signing raw bytes (such as an Alchemy Signer)" + description: "Personal sign" + - type: "object" + required: + - "type" + - "data" + - "rawPayload" + properties: + type: + type: "string" + enum: + - "eth_signTypedData_v4" + data: + type: "object" + required: + - "types" + - "primaryType" + - "message" + properties: + domain: + type: "object" + properties: + chainId: + type: "integer" + minimum: 1 + maximum: 9007199254740991 + name: + type: "string" + salt: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + verifyingContract: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" + version: + type: "string" + types: + type: "object" + additionalProperties: + type: "array" + items: + type: "object" + required: + - "name" + - "type" + properties: + type: + type: "string" + name: + type: "string" + propertyNames: + type: "string" + description: "Mapping from type name to array of field definitions" + primaryType: + type: "string" + message: + type: "object" + additionalProperties: {} + propertyNames: + type: "string" + description: "Mapping from field name to value" + rawPayload: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "Raw payload that can be signed if using a signer that supports signing raw bytes (such as an Alchemy Signer)" + description: "Typed data" + feePayment: + type: "object" + required: + - "sponsored" + - "tokenAddress" + - "maxAmount" + properties: + sponsored: + type: "boolean" + tokenAddress: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" + maxAmount: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "Prepared User Operation (Entrypoint v0.6.0). Returned for legacy Light Account v1.x accounts." + - type: "object" required: - - "address" - - "nonce" + - "type" + - "data" + - "chainId" + - "feePayment" properties: - address: + type: type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - nonce: + description: "User Operation (Entrypoint v0.7.0)" + enum: + - "user-operation-v070" + data: + type: "object" + required: + - "sender" + - "nonce" + - "callData" + - "callGasLimit" + - "verificationGasLimit" + - "preVerificationGas" + - "maxFeePerGas" + - "maxPriorityFeePerGas" + properties: + sender: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" + nonce: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + factory: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" + factoryData: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + callData: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + callGasLimit: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + verificationGasLimit: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + preVerificationGas: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + maxFeePerGas: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + maxPriorityFeePerGas: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + paymaster: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" + paymasterData: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + paymasterVerificationGasLimit: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + paymasterPostOpGasLimit: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "Unsigned User Operation (Entrypoint v0.7.0)" + chainId: type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - chainId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - signatureRequest: - type: "object" + signatureRequest: + oneOf: + - type: "object" + required: + - "type" + - "data" + - "rawPayload" + properties: + type: + type: "string" + enum: + - "personal_sign" + data: + anyOf: + - type: "string" + minLength: 1 + description: "Message" + - type: "object" + required: + - "raw" + properties: + raw: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "Raw message" + rawPayload: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "Raw payload that can be signed if using a signer that supports signing raw bytes (such as an Alchemy Signer)" + description: "Personal sign" + - type: "object" + required: + - "type" + - "data" + - "rawPayload" + properties: + type: + type: "string" + enum: + - "eth_signTypedData_v4" + data: + type: "object" + required: + - "types" + - "primaryType" + - "message" + properties: + domain: + type: "object" + properties: + chainId: + type: "integer" + minimum: 1 + maximum: 9007199254740991 + name: + type: "string" + salt: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + verifyingContract: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" + version: + type: "string" + types: + type: "object" + additionalProperties: + type: "array" + items: + type: "object" + required: + - "name" + - "type" + properties: + type: + type: "string" + name: + type: "string" + propertyNames: + type: "string" + description: "Mapping from type name to array of field definitions" + primaryType: + type: "string" + message: + type: "object" + additionalProperties: {} + propertyNames: + type: "string" + description: "Mapping from field name to value" + rawPayload: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "Raw payload that can be signed if using a signer that supports signing raw bytes (such as an Alchemy Signer)" + description: "Typed data" + feePayment: + type: "object" + required: + - "sponsored" + - "tokenAddress" + - "maxAmount" + properties: + sponsored: + type: "boolean" + tokenAddress: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" + maxAmount: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "Prepared User Operation (Entrypoint v0.7.0). Returned for modern account types including Modular Account (sma-b), Light Account v2, and 7702 accounts." + - type: "object" required: - "type" - - "rawPayload" + - "data" + - "chainId" + - "signatureRequest" properties: type: type: "string" + description: "EIP-7702 Authorization Request" enum: - - "eip7702Auth" - rawPayload: + - "authorization" + data: + type: "object" + required: + - "address" + - "nonce" + properties: + address: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" + nonce: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + chainId: type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - description: "Raw payload that can be signed if using a signer that supports signing raw bytes (such as an Alchemy Signer)" - description: "Prepared EIP-7702 Authorization. Returned as part of an array response for 7702 accounts requiring delegation, or at the top level for BSO-sponsored undelegation." - description: "Returned for EIP-7702 accounts that require both an authorization signature and a user operation." - - type: "object" - required: - - "type" - - "data" - - "chainId" - - "feePayment" - properties: - type: - type: "string" - description: "User Operation (Entrypoint v0.6.0)" - enum: - - "user-operation-v060" - data: - type: "object" - required: - - "sender" - - "nonce" - - "initCode" - - "callData" - - "callGasLimit" - - "verificationGasLimit" - - "preVerificationGas" - - "maxFeePerGas" - - "maxPriorityFeePerGas" - - "paymasterAndData" - properties: - sender: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - nonce: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - initCode: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Present" - - type: "string" - description: "Absent" - enum: - - "0x" - callData: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - callGasLimit: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - verificationGasLimit: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - preVerificationGas: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - maxFeePerGas: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - maxPriorityFeePerGas: + signatureRequest: + type: "object" + required: + - "type" + - "rawPayload" + properties: + type: + type: "string" + enum: + - "eip7702Auth" + rawPayload: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "Raw payload that can be signed if using a signer that supports signing raw bytes (such as an Alchemy Signer)" + description: "Prepared EIP-7702 Authorization. Returned as part of an array response for 7702 accounts requiring delegation, or at the top level for BSO-sponsored undelegation." + description: "Array of Prepared Calls. Returned for EIP-7702 accounts that require both an authorization signature and a user operation." + - type: "object" + required: + - "type" + - "data" + - "chainId" + - "feePayment" + properties: + type: type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - paymasterAndData: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Present" - - type: "string" - description: "Absent" - enum: - - "0x" - description: "Unsigned User Operation (Entrypoint v0.6.0)" - chainId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - signatureRequest: - oneOf: - - type: "object" + description: "User Operation (Entrypoint v0.6.0)" + enum: + - "user-operation-v060" + data: + type: "object" required: - - "type" - - "data" - - "rawPayload" + - "sender" + - "nonce" + - "initCode" + - "callData" + - "callGasLimit" + - "verificationGasLimit" + - "preVerificationGas" + - "maxFeePerGas" + - "maxPriorityFeePerGas" + - "paymasterAndData" properties: - type: + sender: type: "string" - enum: - - "personal_sign" - data: + pattern: "^0x.*$" + errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" + nonce: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + initCode: anyOf: - type: "string" - minLength: 1 - description: "Message" - - type: "object" - required: - - "raw" - properties: - raw: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Raw message" - rawPayload: + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "Present" + - type: "string" + description: "Absent" + enum: + - "0x" + callData: type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - description: "Raw payload that can be signed if using a signer that supports signing raw bytes (such as an Alchemy Signer)" - description: "Personal sign" - - type: "object" - required: - - "type" - - "data" - - "rawPayload" - properties: - type: + callGasLimit: type: "string" - enum: - - "eth_signTypedData_v4" - data: - type: "object" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + verificationGasLimit: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + preVerificationGas: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + maxFeePerGas: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + maxPriorityFeePerGas: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + paymasterAndData: + anyOf: + - type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "Present" + - type: "string" + description: "Absent" + enum: + - "0x" + description: "Unsigned User Operation (Entrypoint v0.6.0)" + chainId: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + signatureRequest: + oneOf: + - type: "object" required: - - "types" - - "primaryType" - - "message" + - "type" + - "data" + - "rawPayload" properties: - domain: + type: + type: "string" + enum: + - "personal_sign" + data: + anyOf: + - type: "string" + minLength: 1 + description: "Message" + - type: "object" + required: + - "raw" + properties: + raw: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "Raw message" + rawPayload: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "Raw payload that can be signed if using a signer that supports signing raw bytes (such as an Alchemy Signer)" + description: "Personal sign" + - type: "object" + required: + - "type" + - "data" + - "rawPayload" + properties: + type: + type: "string" + enum: + - "eth_signTypedData_v4" + data: type: "object" + required: + - "types" + - "primaryType" + - "message" properties: - chainId: - type: "integer" - minimum: 1 - maximum: 9007199254740991 - name: - type: "string" - salt: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - verifyingContract: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - version: - type: "string" - types: - type: "object" - additionalProperties: - type: "array" - items: + domain: type: "object" - required: - - "name" - - "type" properties: - type: - type: "string" + chainId: + type: "integer" + minimum: 1 + maximum: 9007199254740991 name: type: "string" - propertyNames: - type: "string" - description: "Mapping from type name to array of field definitions" - primaryType: + salt: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + verifyingContract: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" + version: + type: "string" + types: + type: "object" + additionalProperties: + type: "array" + items: + type: "object" + required: + - "name" + - "type" + properties: + type: + type: "string" + name: + type: "string" + propertyNames: + type: "string" + description: "Mapping from type name to array of field definitions" + primaryType: + type: "string" + message: + type: "object" + additionalProperties: {} + propertyNames: + type: "string" + description: "Mapping from field name to value" + rawPayload: type: "string" - message: - type: "object" - additionalProperties: {} - propertyNames: - type: "string" - description: "Mapping from field name to value" - rawPayload: + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "Raw payload that can be signed if using a signer that supports signing raw bytes (such as an Alchemy Signer)" + description: "Typed data" + feePayment: + type: "object" + required: + - "sponsored" + - "tokenAddress" + - "maxAmount" + properties: + sponsored: + type: "boolean" + tokenAddress: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" + maxAmount: type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - description: "Raw payload that can be signed if using a signer that supports signing raw bytes (such as an Alchemy Signer)" - description: "Typed data" - feePayment: - type: "object" + description: "Prepared User Operation (Entrypoint v0.6.0). Returned for legacy Light Account v1.x accounts." + - type: "object" required: - - "sponsored" - - "tokenAddress" - - "maxAmount" + - "type" + - "data" + - "chainId" + - "feePayment" properties: - sponsored: - type: "boolean" - tokenAddress: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - maxAmount: + type: type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Prepared User Operation (Entrypoint v0.6.0). Returned for legacy Light Account v1.x accounts." - - type: "object" - required: - - "type" - - "data" - - "chainId" - - "feePayment" - properties: - type: - type: "string" - description: "User Operation (Entrypoint v0.7.0)" - enum: - - "user-operation-v070" - data: - type: "object" - required: - - "sender" - - "nonce" - - "callData" - - "callGasLimit" - - "verificationGasLimit" - - "preVerificationGas" - - "maxFeePerGas" - - "maxPriorityFeePerGas" - properties: - sender: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - nonce: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - factory: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - factoryData: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - callData: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - callGasLimit: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - verificationGasLimit: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - preVerificationGas: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - maxFeePerGas: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - maxPriorityFeePerGas: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - paymaster: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - paymasterData: + description: "User Operation (Entrypoint v0.7.0)" + enum: + - "user-operation-v070" + data: + type: "object" + required: + - "sender" + - "nonce" + - "callData" + - "callGasLimit" + - "verificationGasLimit" + - "preVerificationGas" + - "maxFeePerGas" + - "maxPriorityFeePerGas" + properties: + sender: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" + nonce: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + factory: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" + factoryData: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + callData: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + callGasLimit: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + verificationGasLimit: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + preVerificationGas: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + maxFeePerGas: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + maxPriorityFeePerGas: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + paymaster: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" + paymasterData: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + paymasterVerificationGasLimit: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + paymasterPostOpGasLimit: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "Unsigned User Operation (Entrypoint v0.7.0)" + chainId: type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - paymasterVerificationGasLimit: + signatureRequest: + oneOf: + - type: "object" + required: + - "type" + - "data" + - "rawPayload" + properties: + type: + type: "string" + enum: + - "personal_sign" + data: + anyOf: + - type: "string" + minLength: 1 + description: "Message" + - type: "object" + required: + - "raw" + properties: + raw: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "Raw message" + rawPayload: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "Raw payload that can be signed if using a signer that supports signing raw bytes (such as an Alchemy Signer)" + description: "Personal sign" + - type: "object" + required: + - "type" + - "data" + - "rawPayload" + properties: + type: + type: "string" + enum: + - "eth_signTypedData_v4" + data: + type: "object" + required: + - "types" + - "primaryType" + - "message" + properties: + domain: + type: "object" + properties: + chainId: + type: "integer" + minimum: 1 + maximum: 9007199254740991 + name: + type: "string" + salt: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + verifyingContract: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" + version: + type: "string" + types: + type: "object" + additionalProperties: + type: "array" + items: + type: "object" + required: + - "name" + - "type" + properties: + type: + type: "string" + name: + type: "string" + propertyNames: + type: "string" + description: "Mapping from type name to array of field definitions" + primaryType: + type: "string" + message: + type: "object" + additionalProperties: {} + propertyNames: + type: "string" + description: "Mapping from field name to value" + rawPayload: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "Raw payload that can be signed if using a signer that supports signing raw bytes (such as an Alchemy Signer)" + description: "Typed data" + feePayment: + type: "object" + required: + - "sponsored" + - "tokenAddress" + - "maxAmount" + properties: + sponsored: + type: "boolean" + tokenAddress: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" + maxAmount: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "Prepared User Operation (Entrypoint v0.7.0). Returned for modern account types including Modular Account (sma-b), Light Account v2, and 7702 accounts." + - type: "object" + required: + - "type" + - "data" + - "chainId" + - "signatureRequest" + properties: + type: type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - paymasterPostOpGasLimit: + description: "EIP-7702 Authorization Request" + enum: + - "authorization" + data: + type: "object" + required: + - "address" + - "nonce" + properties: + address: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" + nonce: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + chainId: type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - description: "Unsigned User Operation (Entrypoint v0.7.0)" - chainId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - signatureRequest: - oneOf: - - type: "object" + signatureRequest: + type: "object" required: - "type" - - "data" - "rawPayload" properties: type: type: "string" enum: - - "personal_sign" - data: - anyOf: - - type: "string" - minLength: 1 - description: "Message" - - type: "object" - required: - - "raw" - properties: - raw: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Raw message" + - "eip7702Auth" rawPayload: type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" description: "Raw payload that can be signed if using a signer that supports signing raw bytes (such as an Alchemy Signer)" - description: "Personal sign" - - type: "object" + description: "Prepared EIP-7702 Authorization. Returned as part of an array response for 7702 accounts requiring delegation, or at the top level for BSO-sponsored undelegation." + - type: "object" + required: + - "type" + - "modifiedRequest" + - "data" + - "signatureRequest" + properties: + type: + type: "string" + description: "ERC-7597 Permit Signature Request for the paymaster" + enum: + - "paymaster-permit" + modifiedRequest: + type: "object" required: - - "type" - - "data" - - "rawPayload" + - "from" + - "chainId" properties: - type: - type: "string" - enum: - - "eth_signTypedData_v4" - data: - type: "object" - required: - - "types" - - "primaryType" - - "message" - properties: - domain: - type: "object" - properties: - chainId: - type: "integer" - minimum: 1 - maximum: 9007199254740991 - name: - type: "string" - salt: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - verifyingContract: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - version: - type: "string" - types: - type: "object" - additionalProperties: - type: "array" - items: - type: "object" - required: - - "name" - - "type" - properties: - type: - type: "string" - name: - type: "string" - propertyNames: + calls: + type: "array" + items: + type: "object" + required: + - "to" + properties: + to: type: "string" - description: "Mapping from type name to array of field definitions" - primaryType: - type: "string" - message: - type: "object" - additionalProperties: {} - propertyNames: + pattern: "^0x.*$" + errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" + data: type: "string" - description: "Mapping from field name to value" - rawPayload: + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + value: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + from: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" + chainId: type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - description: "Raw payload that can be signed if using a signer that supports signing raw bytes (such as an Alchemy Signer)" - description: "Typed data" - feePayment: - type: "object" - required: - - "sponsored" - - "tokenAddress" - - "maxAmount" - properties: - sponsored: - type: "boolean" - tokenAddress: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - maxAmount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Prepared User Operation (Entrypoint v0.7.0). Returned for modern account types including Modular Account (sma-b), Light Account v2, and 7702 accounts." - - type: "object" - required: - - "type" - - "data" - - "chainId" - - "signatureRequest" - properties: - type: - type: "string" - description: "EIP-7702 Authorization Request" - enum: - - "authorization" - data: - type: "object" - required: - - "address" - - "nonce" - properties: - address: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - nonce: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - chainId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - signatureRequest: - type: "object" - required: - - "type" - - "rawPayload" - properties: - type: - type: "string" - enum: - - "eip7702Auth" - rawPayload: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Raw payload that can be signed if using a signer that supports signing raw bytes (such as an Alchemy Signer)" - description: "Prepared EIP-7702 Authorization. Returned as part of an array response for 7702 accounts requiring delegation, or at the top level for BSO-sponsored undelegation." - - type: "object" - required: - - "type" - - "modifiedRequest" - - "data" - - "signatureRequest" - properties: - type: - type: "string" - description: "ERC-7597 Permit Signature Request for the paymaster" - enum: - - "paymaster-permit" - modifiedRequest: - type: "object" - required: - - "from" - - "chainId" - properties: - calls: - type: "array" - items: - type: "object" - required: - - "to" - properties: - to: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - data: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - value: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - from: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - chainId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - capabilities: - type: "object" - properties: - permissions: - anyOf: - - type: "object" - required: - - "context" - properties: - context: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Permissions context" - - type: "object" - required: - - "sessionId" - - "signature" - properties: - sessionId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - signature: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Remote permission" - paymasterService: - allOf: - - anyOf: + capabilities: + type: "object" + properties: + permissions: + anyOf: - type: "object" required: - - "policyId" + - "context" properties: - policyId: + context: type: "string" - pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$" - format: "uuid" - description: "The policy ID to use" - description: "Single policy ID" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "Permissions context" - type: "object" required: - - "policyIds" + - "sessionId" + - "signature" properties: - policyIds: - type: "array" - items: - type: "string" - pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$" - format: "uuid" - description: "The policy IDs to use" - description: "Multiple policy IDs" - - type: "object" - properties: - onlyEstimation: - type: "boolean" - description: "If true, will only estimate fees. Skips signature request and gas sponsorship" - erc20: - anyOf: + sessionId: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + signature: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "Remote permission" + paymasterService: + allOf: + - anyOf: - type: "object" required: - - "tokenAddress" - - "preOpSettings" + - "policyId" properties: - tokenAddress: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - description: "The address of the token to pay gas with" - maxTokenAmount: + policyId: type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The maximum amount of tokens to allow during ERC20 gas payment" - preOpSettings: - type: "object" - required: - - "autoPermit" - properties: - autoPermit: - type: "object" - required: - - "below" - - "amount" - properties: - below: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The amount below which a Permit signature will be injected" - amount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The amount of tokens to Permit to the paymaster for gas payment" - durationSeconds: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The duration of the Permit signature in seconds" - description: "Settings for automatically injecting a Permit signature for ERC20 gas payment" - description: "ERC20 Paymaster Settings for pre-op policies (autoPermit)" - additionalProperties: false - description: "ERC20 Paymaster Settings with preOpSettings (autoPermit)" + pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$" + format: "uuid" + description: "The policy ID to use" + description: "Single policy ID" - type: "object" required: - - "tokenAddress" - - "preOpSettings" + - "policyIds" properties: - tokenAddress: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - description: "The address of the token to pay gas with" - maxTokenAmount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The maximum amount of tokens to allow during ERC20 gas payment" - preOpSettings: - type: "object" + policyIds: + type: "array" + items: + type: "string" + pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$" + format: "uuid" + description: "The policy IDs to use" + description: "Multiple policy IDs" + - type: "object" + properties: + onlyEstimation: + type: "boolean" + description: "If true, will only estimate fees. Skips signature request and gas sponsorship" + erc20: + anyOf: + - type: "object" required: - - "permitDetails" + - "tokenAddress" + - "preOpSettings" properties: - permitDetails: + tokenAddress: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" + description: "The address of the token to pay gas with" + maxTokenAmount: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "The maximum amount of tokens to allow during ERC20 gas payment" + preOpSettings: type: "object" required: - - "deadline" - - "value" + - "autoPermit" properties: - deadline: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The deadline in the signed Permit object" - value: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The value in the signed Permit object" - description: "Details of the returned Permit signature" - description: "ERC20 Paymaster Settings for pre-op policies (permitDetails)" - additionalProperties: false - description: "ERC20 Paymaster Settings with preOpSettings (permitDetails)" - - type: "object" - required: - - "tokenAddress" - - "postOpSettings" - properties: - tokenAddress: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - description: "The address of the token to pay gas with" - maxTokenAmount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The maximum amount of tokens to allow during ERC20 gas payment" - postOpSettings: - type: "object" - properties: - autoApprove: - anyOf: - - type: "boolean" - description: "Automatically inject approval for the exact amount needed for this operation" - - type: "object" + autoPermit: + type: "object" required: - "below" - "amount" @@ -1927,431 +1950,455 @@ methods: type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - description: "The amount below which an approval will be injected" + description: "The amount below which a Permit signature will be injected" amount: type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - description: "The amount of tokens to approve to the paymaster for gas payment" - description: "Settings for automatically injecting an approval for ERC20 gas payment with specific thresholds" - balanceCheck: - type: "boolean" - description: "By default, the sender's ERC-20 balance is checked at prepare time and the request is rejected if it can't cover the maximum gas cost. Set to false when the User Operation itself credits the sender enough tokens to cover gas. If the sender's balance is still insufficient when the paymaster attempts to pull payment, the User Operation will fail on-chain." - description: "ERC20 Paymaster Settings for post-op policies" - additionalProperties: false - description: "ERC20 Paymaster Settings with postOpSettings" - - type: "object" - required: - - "tokenAddress" - properties: - tokenAddress: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - description: "The address of the token to pay gas with" - maxTokenAmount: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "The maximum amount of tokens to allow during ERC20 gas payment" - additionalProperties: false - description: "No auto approval (requires manual ERC20 approvals to paymaster contract)" - errorMessage: "ERC20 settings must specify only one of: preOpSettings, postOpSettings, or neither (for manual approvals). Cannot specify both preOpSettings and postOpSettings" - description: "ERC20 Paymaster Settings" - webhookData: - type: "string" - description: "Additional data you can include in the request, such as proof of humanity, if you have enabled custom rules in your Gas Manager policy." - gasParamsOverride: - type: "object" - properties: - preVerificationGas: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - verificationGasLimit: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - callGasLimit: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - paymasterVerificationGasLimit: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - paymasterPostOpGasLimit: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - maxFeePerGas: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - maxPriorityFeePerGas: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Absolute" - - type: "object" - required: - - "multiplier" - properties: - multiplier: - type: "number" - description: "Multiplier" - eip7702Auth: - anyOf: - - type: "object" - required: - - "delegation" + description: "The amount of tokens to Permit to the paymaster for gas payment" + durationSeconds: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "The duration of the Permit signature in seconds" + description: "Settings for automatically injecting a Permit signature for ERC20 gas payment" + description: "ERC20 Paymaster Settings for pre-op policies (autoPermit)" + additionalProperties: false + description: "ERC20 Paymaster Settings with preOpSettings (autoPermit)" + - type: "object" + required: + - "tokenAddress" + - "preOpSettings" + properties: + tokenAddress: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" + description: "The address of the token to pay gas with" + maxTokenAmount: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "The maximum amount of tokens to allow during ERC20 gas payment" + preOpSettings: + type: "object" + required: + - "permitDetails" + properties: + permitDetails: + type: "object" + required: + - "deadline" + - "value" + properties: + deadline: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "The deadline in the signed Permit object" + value: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "The value in the signed Permit object" + description: "Details of the returned Permit signature" + description: "ERC20 Paymaster Settings for pre-op policies (permitDetails)" + additionalProperties: false + description: "ERC20 Paymaster Settings with preOpSettings (permitDetails)" + - type: "object" + required: + - "tokenAddress" + - "postOpSettings" + properties: + tokenAddress: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" + description: "The address of the token to pay gas with" + maxTokenAmount: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "The maximum amount of tokens to allow during ERC20 gas payment" + postOpSettings: + type: "object" + properties: + autoApprove: + anyOf: + - type: "boolean" + description: "Automatically inject approval for the exact amount needed for this operation" + - type: "object" + required: + - "below" + - "amount" + properties: + below: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "The amount below which an approval will be injected" + amount: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "The amount of tokens to approve to the paymaster for gas payment" + description: "Settings for automatically injecting an approval for ERC20 gas payment with specific thresholds" + balanceCheck: + type: "boolean" + description: "By default, the sender's ERC-20 balance is checked at prepare time and the request is rejected if it can't cover the maximum gas cost. Set to false when the User Operation itself credits the sender enough tokens to cover gas. If the sender's balance is still insufficient when the paymaster attempts to pull payment, the User Operation will fail on-chain." + description: "ERC20 Paymaster Settings for post-op policies" + additionalProperties: false + description: "ERC20 Paymaster Settings with postOpSettings" + - type: "object" + required: + - "tokenAddress" + properties: + tokenAddress: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" + description: "The address of the token to pay gas with" + maxTokenAmount: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "The maximum amount of tokens to allow during ERC20 gas payment" + additionalProperties: false + description: "No auto approval (requires manual ERC20 approvals to paymaster contract)" + errorMessage: "ERC20 settings must specify only one of: preOpSettings, postOpSettings, or neither (for manual approvals). Cannot specify both preOpSettings and postOpSettings" + description: "ERC20 Paymaster Settings" + webhookData: + type: "string" + description: "Additional data you can include in the request, such as proof of humanity, if you have enabled custom rules in your Gas Manager policy." + gasParamsOverride: + type: "object" properties: - account: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - delegation: + preVerificationGas: anyOf: - type: "string" - enum: - - "ModularAccountV2" - - type: "string" - enum: - - "0x69007702764179f14F51cdce752f4f775d74E139" - - "0x0000000000000000000000000000000000000000" - description: "Specify EIP-7702 delegation" - - type: "boolean" - description: "Use default EIP-7702 delegation (Note: EIP-7702 is enabled by default unless you first call `wallet_requestAccount` to get a smart contract address.)" - nonceOverride: - type: "object" - required: - - "nonceKey" - properties: - nonceKey: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Override nonce key as hex string" - stateOverride: - type: "object" - additionalProperties: - anyOf: - - type: "object" - required: - - "state" - properties: - balance: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - nonce: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - code: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - state: - type: "object" - additionalProperties: - type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - propertyNames: - type: "string" + description: "Absolute" + - type: "object" + required: + - "multiplier" + properties: + multiplier: + type: "number" + description: "Multiplier" + verificationGasLimit: + anyOf: + - type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - description: "Mapping from storage slot (hex) to value (hex)" - additionalProperties: false - description: "Full account state" - - type: "object" - required: - - "stateDiff" - properties: - balance: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - nonce: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - code: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - stateDiff: - type: "object" - additionalProperties: - type: "string" + description: "Absolute" + - type: "object" + required: + - "multiplier" + properties: + multiplier: + type: "number" + description: "Multiplier" + callGasLimit: + anyOf: + - type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - propertyNames: - type: "string" + description: "Absolute" + - type: "object" + required: + - "multiplier" + properties: + multiplier: + type: "number" + description: "Multiplier" + paymasterVerificationGasLimit: + anyOf: + - type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - description: "Mapping from storage slot (hex) to value (hex)" - additionalProperties: false - description: "Account state diff" - - type: "object" - properties: - balance: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - nonce: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - code: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - additionalProperties: false - description: "Account override without state changes" - propertyNames: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - description: "Mapping from account address to overrides" - experimental_dataSuffix: - type: "object" - required: - - "value" - properties: - value: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "ERC-8021 transaction attribution data suffix. The wallet appends these bytes to calldata to enable interoperable attribution tracking." - paymasterPermitSignature: - oneOf: - - type: "object" - required: - - "type" - - "data" - properties: - type: - type: "string" - enum: - - "secp256k1" - data: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Hex-encoded signature" - - type: "object" - required: - - "r" - - "s" - - "yParity" - properties: - r: - type: "string" + description: "Absolute" + - type: "object" + required: + - "multiplier" + properties: + multiplier: + type: "number" + description: "Multiplier" + paymasterPostOpGasLimit: + anyOf: + - type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" + description: "Absolute" + - type: "object" + required: + - "multiplier" + properties: + multiplier: + type: "number" + description: "Multiplier" + maxFeePerGas: + anyOf: + - type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - yParity: - type: "string" + description: "Absolute" + - type: "object" + required: + - "multiplier" + properties: + multiplier: + type: "number" + description: "Multiplier" + maxPriorityFeePerGas: + anyOf: + - type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, yParity" + description: "Absolute" + - type: "object" + required: + - "multiplier" + properties: + multiplier: + type: "number" + description: "Multiplier" + eip7702Auth: + anyOf: - type: "object" required: - - "r" - - "s" - - "v" + - "delegation" properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - v: + account: type: "string" pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, v" - description: "Secp256k1 signature" - - type: "object" - required: - - "type" - - "data" - properties: - type: - type: "string" - enum: - - "ecdsa" - data: - anyOf: - - type: "string" + errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" + delegation: + anyOf: + - type: "string" + enum: + - "ModularAccountV2" + - type: "string" + enum: + - "0x69007702764179f14F51cdce752f4f775d74E139" + - "0x0000000000000000000000000000000000000000" + description: "Specify EIP-7702 delegation" + - type: "boolean" + description: "Use default EIP-7702 delegation (Note: EIP-7702 is enabled by default unless you first call `wallet_requestAccount` to get a smart contract address.)" + nonceOverride: + type: "object" + required: + - "nonceKey" + properties: + nonceKey: + type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - description: "Hex-encoded signature" - - type: "object" - required: - - "r" - - "s" - - "yParity" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - yParity: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, yParity" - - type: "object" - required: - - "r" - - "s" - - "v" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" + description: "Override nonce key as hex string" + stateOverride: + type: "object" + additionalProperties: + anyOf: + - type: "object" + required: + - "state" + properties: + balance: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + nonce: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + code: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + state: + type: "object" + additionalProperties: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + propertyNames: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "Mapping from storage slot (hex) to value (hex)" + additionalProperties: false + description: "Full account state" + - type: "object" + required: + - "stateDiff" + properties: + balance: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + nonce: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + code: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + stateDiff: + type: "object" + additionalProperties: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + propertyNames: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "Mapping from storage slot (hex) to value (hex)" + additionalProperties: false + description: "Account state diff" + - type: "object" + properties: + balance: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + nonce: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + code: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + additionalProperties: false + description: "Account override without state changes" + propertyNames: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" + description: "Mapping from account address to overrides" + experimental_dataSuffix: + type: "object" + required: + - "value" + properties: + value: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "ERC-8021 transaction attribution data suffix. The wallet appends these bytes to calldata to enable interoperable attribution tracking." + paymasterPermitSignature: + oneOf: + - type: "object" + required: + - "type" + - "data" + properties: + type: + type: "string" + enum: + - "secp256k1" + data: + anyOf: + - type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - v: - type: "string" + description: "Hex-encoded signature" + - type: "object" + required: + - "r" + - "s" + - "yParity" + properties: + r: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + s: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + yParity: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "r, s, yParity" + - type: "object" + required: + - "r" + - "s" + - "v" + properties: + r: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + s: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + v: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "r, s, v" + description: "Secp256k1 signature" + - type: "object" + required: + - "type" + - "data" + properties: + type: + type: "string" + enum: + - "ecdsa" + data: + anyOf: + - type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, v" - description: "ECDSA signature (alias for secp256k1)" - data: - type: "object" - required: - - "types" - - "primaryType" - - "message" - properties: - domain: - type: "object" - properties: - chainId: - type: "integer" - minimum: 1 - maximum: 9007199254740991 - name: - type: "string" - salt: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - verifyingContract: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - version: - type: "string" - types: - type: "object" - additionalProperties: - type: "array" - items: - type: "object" - required: - - "name" - - "type" - properties: - type: - type: "string" - name: - type: "string" - propertyNames: - type: "string" - description: "Mapping from type name to array of field definitions" - primaryType: - type: "string" - message: - type: "object" - additionalProperties: {} - propertyNames: - type: "string" - description: "Mapping from field name to value" - signatureRequest: - type: "object" - required: - - "type" - - "data" - - "rawPayload" - properties: - type: - type: "string" - enum: - - "eth_signTypedData_v4" + description: "Hex-encoded signature" + - type: "object" + required: + - "r" + - "s" + - "yParity" + properties: + r: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + s: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + yParity: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "r, s, yParity" + - type: "object" + required: + - "r" + - "s" + - "v" + properties: + r: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + s: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + v: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "r, s, v" + description: "ECDSA signature (alias for secp256k1)" data: type: "object" required: @@ -2403,54 +2450,299 @@ methods: propertyNames: type: "string" description: "Mapping from field name to value" - rawPayload: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Raw payload that can be signed if using a signer that supports signing raw bytes (such as an Alchemy Signer)" - description: "Typed data" - description: "Returned when the account's paymaster policy requires an ERC-20 token permit signature. The client must sign the permit and resubmit the request with the permit signature before the user operation can be prepared." - - type: "object" - properties: - details: - type: "object" - required: - - "type" - - "data" - properties: - type: - type: "string" - enum: - - "user-operation" - data: - type: "object" - required: - - "hash" - - "calls" - properties: - hash: - type: "string" + signatureRequest: + type: "object" + required: + - "type" + - "data" + - "rawPayload" + properties: + type: + type: "string" + enum: + - "eth_signTypedData_v4" + data: + type: "object" + required: + - "types" + - "primaryType" + - "message" + properties: + domain: + type: "object" + properties: + chainId: + type: "integer" + minimum: 1 + maximum: 9007199254740991 + name: + type: "string" + salt: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + verifyingContract: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" + version: + type: "string" + types: + type: "object" + additionalProperties: + type: "array" + items: + type: "object" + required: + - "name" + - "type" + properties: + type: + type: "string" + name: + type: "string" + propertyNames: + type: "string" + description: "Mapping from type name to array of field definitions" + primaryType: + type: "string" + message: + type: "object" + additionalProperties: {} + propertyNames: + type: "string" + description: "Mapping from field name to value" + rawPayload: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "Raw payload that can be signed if using a signer that supports signing raw bytes (such as an Alchemy Signer)" + description: "Typed data" + description: "Paymaster permit. Returned when the account's paymaster policy requires an ERC-20 token permit signature. The client must sign the permit and resubmit the request with the permit signature before the user operation can be prepared." + - type: "object" + properties: + details: + type: "object" + required: + - "type" + - "data" + properties: + type: + type: "string" + enum: + - "user-operation" + data: + type: "object" + required: + - "hash" + - "calls" + properties: + hash: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + calls: + type: "array" + items: + type: "object" + required: + - "to" + properties: + to: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" + data: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + value: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "EVM response" + - type: "object" + required: + - "type" + - "chainId" + - "signatureRequest" + - "data" + - "feePayment" + - "details" + properties: + type: + type: "string" + description: "Solana v0 versioned transaction" + enum: + - "solana-transaction-v0" + chainId: + anyOf: + - anyOf: + - type: "string" + enum: + - "solana:mainnet" + - type: "string" + enum: + - "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp" + description: "Solana Mainnet" + - anyOf: + - type: "string" + enum: + - "solana:devnet" + - type: "string" + enum: + - "solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1" + description: "Solana Devnet" + description: "Solana chain identifier" + signatureRequest: + type: "object" + required: + - "type" + - "data" + properties: + type: + type: "string" + enum: + - "solana_signTransaction" + data: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "Full serialized transaction, hex-encoded" + description: "Solana transaction signature request" + data: + type: "object" + required: + - "compiledTransaction" + - "signer" + - "version" + - "lifetimeConstraint" + properties: + compiledTransaction: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "Pre-compiled wire-format transaction bytes from prepareCalls. Contains all non-user signatures (e.g. paymaster) already embedded." + signer: + type: "string" + pattern: "^[1-9A-HJ-NP-Za-km-z]+$" + minLength: 32 + maxLength: 44 + errorMessage: "Must be a valid base58-encoded Solana address (32-44 characters)" + description: "User's signing address" + version: + type: "string" + enum: + - "0" + lifetimeConstraint: + type: "object" + required: + - "blockHash" + properties: + blockHash: + type: "string" + pattern: "^[1-9A-HJ-NP-Za-km-z]+$" + lastValidBlockHeight: + type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" + minContextSlot: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "Slot at which the paymaster simulated this transaction. Pass to sendTransaction as minContextSlot to reduce stale-state risk." + description: "Solana v0 versioned transaction data (send-relevant fields)" + feePayment: + type: "object" + required: + - "sponsored" + - "feePayer" + properties: + sponsored: + type: "boolean" + feePayer: + type: "string" + pattern: "^[1-9A-HJ-NP-Za-km-z]+$" + minLength: 32 + maxLength: 44 + errorMessage: "Must be a valid base58-encoded Solana address (32-44 characters)" + description: "Address paying transaction fees" + estimatedFeeLamports: + type: "number" + description: "Estimated transaction fee in lamports" + estimatedRentLamports: + type: "number" + description: "Estimated rent in lamports" + prefundLamports: + type: "number" + description: "Total lamports pre-funded by paymaster" + description: "Solana fee payment details" + details: + type: "object" + required: + - "type" + - "data" + properties: + type: + type: "string" + enum: + - "solana-transaction-v0" + data: + type: "object" + required: + - "calls" + properties: calls: type: "array" items: type: "object" required: - - "to" + - "programId" + - "data" properties: - to: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" + programId: + type: "string" + pattern: "^[1-9A-HJ-NP-Za-km-z]+$" + minLength: 32 + maxLength: 44 + errorMessage: "Must be a valid base58-encoded Solana address (32-44 characters)" + description: "Base58-encoded Solana address" + accounts: + type: "array" + items: + type: "object" + required: + - "pubkey" + - "isSigner" + - "isWritable" + properties: + pubkey: + type: "string" + pattern: "^[1-9A-HJ-NP-Za-km-z]+$" + minLength: 32 + maxLength: 44 + errorMessage: "Must be a valid base58-encoded Solana address (32-44 characters)" + description: "Base58-encoded Solana address" + isSigner: + type: "boolean" + isWritable: + type: "boolean" data: type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - value: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" + description: "Hex-encoded instruction data" + description: "Raw Solana instruction" + addressLookupTableAddresses: + type: "array" + items: + type: "string" + pattern: "^[1-9A-HJ-NP-Za-km-z]+$" + minLength: 32 + maxLength: 44 + errorMessage: "Must be a valid base58-encoded Solana address (32-44 characters)" + description: "Base58-encoded Solana address" + description: "Prepared Solana v0 transaction" examples: - name: "wallet_prepareCalls example" @@ -2504,1246 +2796,1369 @@ methods: description: This method is used after signing the signatureRequest returned from prepareCalls to submit a user operation x-compute-units: 3000 x-rate-limit-cus: 100 + x-compute-units-variants: + sponsored_delegation: + compute-units: 15000 + rate-limit-cus: 100 params: - name: params[0] required: true schema: - allOf: - - anyOf: - - type: "object" - required: - - "type" - - "data" - properties: - type: - type: "string" - enum: - - "array" - data: - type: "array" - items: - anyOf: - - allOf: - - type: "object" - required: - - "type" - - "data" - - "chainId" - properties: - type: - type: "string" - description: "User Operation (Entrypoint v0.6.0)" - enum: - - "user-operation-v060" - data: - type: "object" + anyOf: + - allOf: + - anyOf: + - type: "object" + required: + - "type" + - "data" + properties: + type: + type: "string" + enum: + - "array" + data: + type: "array" + items: + anyOf: + - allOf: + - type: "object" required: - - "sender" - - "nonce" - - "initCode" - - "callData" - - "callGasLimit" - - "verificationGasLimit" - - "preVerificationGas" - - "maxFeePerGas" - - "maxPriorityFeePerGas" - - "paymasterAndData" + - "type" + - "data" + - "chainId" properties: - sender: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - nonce: + type: type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - initCode: - anyOf: - - type: "string" + description: "User Operation (Entrypoint v0.6.0)" + enum: + - "user-operation-v060" + data: + type: "object" + required: + - "sender" + - "nonce" + - "initCode" + - "callData" + - "callGasLimit" + - "verificationGasLimit" + - "preVerificationGas" + - "maxFeePerGas" + - "maxPriorityFeePerGas" + - "paymasterAndData" + properties: + sender: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" + nonce: + type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - description: "Present" - - type: "string" - description: "Absent" - enum: - - "0x" - callData: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - callGasLimit: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - verificationGasLimit: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - preVerificationGas: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - maxFeePerGas: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - maxPriorityFeePerGas: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - paymasterAndData: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Present" - - type: "string" - description: "Absent" - enum: - - "0x" - description: "Unsigned User Operation (Entrypoint v0.6.0)" - chainId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - - type: "object" - required: - - "signature" - properties: - signature: - oneOf: - - type: "object" - required: - - "type" - - "data" - properties: - type: - type: "string" - enum: - - "secp256k1" - data: + initCode: anyOf: - type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - description: "Hex-encoded signature" - - type: "object" - required: - - "r" - - "s" - - "yParity" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - yParity: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, yParity" - - type: "object" - required: - - "r" - - "s" - - "v" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - v: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, v" - description: "Secp256k1 signature" - - type: "object" - required: - - "type" - - "data" - properties: - type: + description: "Present" + - type: "string" + description: "Absent" + enum: + - "0x" + callData: type: "string" - enum: - - "ecdsa" - data: + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + callGasLimit: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + verificationGasLimit: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + preVerificationGas: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + maxFeePerGas: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + maxPriorityFeePerGas: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + paymasterAndData: anyOf: - type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - description: "Hex-encoded signature" - - type: "object" - required: - - "r" - - "s" - - "yParity" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - yParity: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, yParity" - - type: "object" - required: - - "r" - - "s" - - "v" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" + description: "Present" + - type: "string" + description: "Absent" + enum: + - "0x" + description: "Unsigned User Operation (Entrypoint v0.6.0)" + chainId: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + - type: "object" + required: + - "signature" + properties: + signature: + oneOf: + - type: "object" + required: + - "type" + - "data" + properties: + type: + type: "string" + enum: + - "secp256k1" + data: + anyOf: + - type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - v: - type: "string" + description: "Hex-encoded signature" + - type: "object" + required: + - "r" + - "s" + - "yParity" + properties: + r: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + s: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + yParity: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "r, s, yParity" + - type: "object" + required: + - "r" + - "s" + - "v" + properties: + r: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + s: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + v: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "r, s, v" + description: "Secp256k1 signature" + - type: "object" + required: + - "type" + - "data" + properties: + type: + type: "string" + enum: + - "ecdsa" + data: + anyOf: + - type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, v" - description: "ECDSA signature (alias for secp256k1)" - description: "Prepared User Operation (Entrypoint v0.6.0) with signature" - - allOf: - - type: "object" - required: - - "type" - - "data" - - "chainId" - properties: - type: - type: "string" - description: "User Operation (Entrypoint v0.7.0)" - enum: - - "user-operation-v070" - data: - type: "object" + description: "Hex-encoded signature" + - type: "object" + required: + - "r" + - "s" + - "yParity" + properties: + r: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + s: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + yParity: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "r, s, yParity" + - type: "object" + required: + - "r" + - "s" + - "v" + properties: + r: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + s: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + v: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "r, s, v" + description: "ECDSA signature (alias for secp256k1)" + description: "Prepared User Operation (Entrypoint v0.6.0) with signature" + - allOf: + - type: "object" required: - - "sender" - - "nonce" - - "callData" - - "callGasLimit" - - "verificationGasLimit" - - "preVerificationGas" - - "maxFeePerGas" - - "maxPriorityFeePerGas" + - "type" + - "data" + - "chainId" properties: - sender: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - nonce: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - factory: + type: type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - factoryData: + description: "User Operation (Entrypoint v0.7.0)" + enum: + - "user-operation-v070" + data: + type: "object" + required: + - "sender" + - "nonce" + - "callData" + - "callGasLimit" + - "verificationGasLimit" + - "preVerificationGas" + - "maxFeePerGas" + - "maxPriorityFeePerGas" + properties: + sender: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" + nonce: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + factory: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" + factoryData: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + callData: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + callGasLimit: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + verificationGasLimit: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + preVerificationGas: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + maxFeePerGas: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + maxPriorityFeePerGas: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + paymaster: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" + paymasterData: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + paymasterVerificationGasLimit: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + paymasterPostOpGasLimit: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "Unsigned User Operation (Entrypoint v0.7.0)" + chainId: type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - callData: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - callGasLimit: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - verificationGasLimit: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - preVerificationGas: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - maxFeePerGas: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - maxPriorityFeePerGas: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - paymaster: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - paymasterData: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - paymasterVerificationGasLimit: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - paymasterPostOpGasLimit: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Unsigned User Operation (Entrypoint v0.7.0)" - chainId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - - type: "object" - required: - - "signature" - properties: - signature: - oneOf: - - type: "object" - required: - - "type" - - "data" - properties: - type: - type: "string" - enum: - - "secp256k1" - data: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Hex-encoded signature" - - type: "object" - required: - - "r" - - "s" - - "yParity" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - yParity: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, yParity" - - type: "object" - required: - - "r" - - "s" - - "v" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - v: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, v" - description: "Secp256k1 signature" - - type: "object" - required: - - "type" - - "data" - properties: - type: - type: "string" - enum: - - "ecdsa" - data: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Hex-encoded signature" - - type: "object" - required: - - "r" - - "s" - - "yParity" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - yParity: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, yParity" - - type: "object" - required: - - "r" - - "s" - - "v" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" + - type: "object" + required: + - "signature" + properties: + signature: + oneOf: + - type: "object" + required: + - "type" + - "data" + properties: + type: + type: "string" + enum: + - "secp256k1" + data: + anyOf: + - type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - v: - type: "string" + description: "Hex-encoded signature" + - type: "object" + required: + - "r" + - "s" + - "yParity" + properties: + r: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + s: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + yParity: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "r, s, yParity" + - type: "object" + required: + - "r" + - "s" + - "v" + properties: + r: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + s: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + v: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "r, s, v" + description: "Secp256k1 signature" + - type: "object" + required: + - "type" + - "data" + properties: + type: + type: "string" + enum: + - "ecdsa" + data: + anyOf: + - type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, v" - description: "ECDSA signature (alias for secp256k1)" - description: "Prepared User Operation (Entrypoint v0.7.0) with signature" - - allOf: - - type: "object" - required: - - "type" - - "data" - - "chainId" - properties: - type: - type: "string" - description: "EIP-7702 Authorization Request" - enum: - - "authorization" - data: - type: "object" + description: "Hex-encoded signature" + - type: "object" + required: + - "r" + - "s" + - "yParity" + properties: + r: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + s: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + yParity: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "r, s, yParity" + - type: "object" + required: + - "r" + - "s" + - "v" + properties: + r: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + s: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + v: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "r, s, v" + description: "ECDSA signature (alias for secp256k1)" + description: "Prepared User Operation (Entrypoint v0.7.0) with signature" + - allOf: + - type: "object" required: - - "address" - - "nonce" + - "type" + - "data" + - "chainId" properties: - address: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - nonce: + type: type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - chainId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - - type: "object" - required: - - "signature" - properties: - signature: - oneOf: - - type: "object" + description: "EIP-7702 Authorization Request" + enum: + - "authorization" + data: + type: "object" required: - - "type" - - "data" + - "address" + - "nonce" properties: - type: + address: type: "string" - enum: - - "secp256k1" - data: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Hex-encoded signature" - - type: "object" - required: - - "r" - - "s" - - "yParity" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - yParity: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, yParity" - - type: "object" - required: - - "r" - - "s" - - "v" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - v: - type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" + nonce: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + chainId: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + - type: "object" + required: + - "signature" + properties: + signature: + oneOf: + - type: "object" + required: + - "type" + - "data" + properties: + type: + type: "string" + enum: + - "secp256k1" + data: + anyOf: + - type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, v" - description: "Secp256k1 signature" - - type: "object" - required: - - "type" - - "data" - properties: - type: - type: "string" - enum: - - "ecdsa" - data: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Hex-encoded signature" - - type: "object" - required: - - "r" - - "s" - - "yParity" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - yParity: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, yParity" - - type: "object" - required: - - "r" - - "s" - - "v" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - v: - type: "string" + description: "Hex-encoded signature" + - type: "object" + required: + - "r" + - "s" + - "yParity" + properties: + r: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + s: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + yParity: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "r, s, yParity" + - type: "object" + required: + - "r" + - "s" + - "v" + properties: + r: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + s: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + v: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "r, s, v" + description: "Secp256k1 signature" + - type: "object" + required: + - "type" + - "data" + properties: + type: + type: "string" + enum: + - "ecdsa" + data: + anyOf: + - type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, v" - description: "ECDSA signature (alias for secp256k1)" - description: "Prepared EIP-7702 Authorization with signature" - description: "Array of prepared calls with signatures" - - allOf: - - type: "object" - required: - - "type" - - "data" - - "chainId" - properties: - type: - type: "string" - description: "User Operation (Entrypoint v0.6.0)" - enum: - - "user-operation-v060" - data: - type: "object" + description: "Hex-encoded signature" + - type: "object" + required: + - "r" + - "s" + - "yParity" + properties: + r: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + s: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + yParity: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "r, s, yParity" + - type: "object" + required: + - "r" + - "s" + - "v" + properties: + r: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + s: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + v: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "r, s, v" + description: "ECDSA signature (alias for secp256k1)" + description: "Prepared EIP-7702 Authorization with signature" + description: "Array of prepared calls with signatures" + - allOf: + - type: "object" required: - - "sender" - - "nonce" - - "initCode" - - "callData" - - "callGasLimit" - - "verificationGasLimit" - - "preVerificationGas" - - "maxFeePerGas" - - "maxPriorityFeePerGas" - - "paymasterAndData" + - "type" + - "data" + - "chainId" properties: - sender: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - nonce: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - initCode: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Present" - - type: "string" - description: "Absent" - enum: - - "0x" - callData: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - callGasLimit: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - verificationGasLimit: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - preVerificationGas: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - maxFeePerGas: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - maxPriorityFeePerGas: + type: type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - paymasterAndData: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Present" - - type: "string" - description: "Absent" - enum: - - "0x" - description: "Unsigned User Operation (Entrypoint v0.6.0)" - chainId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - - type: "object" - required: - - "signature" - properties: - signature: - oneOf: - - type: "object" + description: "User Operation (Entrypoint v0.6.0)" + enum: + - "user-operation-v060" + data: + type: "object" required: - - "type" - - "data" + - "sender" + - "nonce" + - "initCode" + - "callData" + - "callGasLimit" + - "verificationGasLimit" + - "preVerificationGas" + - "maxFeePerGas" + - "maxPriorityFeePerGas" + - "paymasterAndData" properties: - type: + sender: type: "string" - enum: - - "secp256k1" - data: + pattern: "^0x.*$" + errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" + nonce: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + initCode: anyOf: - type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - description: "Hex-encoded signature" - - type: "object" - required: - - "r" - - "s" - - "yParity" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - yParity: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, yParity" - - type: "object" - required: - - "r" - - "s" - - "v" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - v: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, v" - description: "Secp256k1 signature" - - type: "object" - required: - - "type" - - "data" - properties: - type: + description: "Present" + - type: "string" + description: "Absent" + enum: + - "0x" + callData: type: "string" - enum: - - "ecdsa" - data: + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + callGasLimit: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + verificationGasLimit: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + preVerificationGas: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + maxFeePerGas: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + maxPriorityFeePerGas: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + paymasterAndData: anyOf: - type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - description: "Hex-encoded signature" - - type: "object" - required: - - "r" - - "s" - - "yParity" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - yParity: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, yParity" - - type: "object" - required: - - "r" - - "s" - - "v" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" + description: "Present" + - type: "string" + description: "Absent" + enum: + - "0x" + description: "Unsigned User Operation (Entrypoint v0.6.0)" + chainId: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + - type: "object" + required: + - "signature" + properties: + signature: + oneOf: + - type: "object" + required: + - "type" + - "data" + properties: + type: + type: "string" + enum: + - "secp256k1" + data: + anyOf: + - type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - v: - type: "string" + description: "Hex-encoded signature" + - type: "object" + required: + - "r" + - "s" + - "yParity" + properties: + r: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + s: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + yParity: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "r, s, yParity" + - type: "object" + required: + - "r" + - "s" + - "v" + properties: + r: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + s: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + v: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "r, s, v" + description: "Secp256k1 signature" + - type: "object" + required: + - "type" + - "data" + properties: + type: + type: "string" + enum: + - "ecdsa" + data: + anyOf: + - type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, v" - description: "ECDSA signature (alias for secp256k1)" - description: "Prepared User Operation (Entrypoint v0.6.0) with signature" - - allOf: - - type: "object" - required: - - "type" - - "data" - - "chainId" - properties: - type: - type: "string" - description: "User Operation (Entrypoint v0.7.0)" - enum: - - "user-operation-v070" - data: - type: "object" + description: "Hex-encoded signature" + - type: "object" + required: + - "r" + - "s" + - "yParity" + properties: + r: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + s: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + yParity: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "r, s, yParity" + - type: "object" + required: + - "r" + - "s" + - "v" + properties: + r: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + s: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + v: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "r, s, v" + description: "ECDSA signature (alias for secp256k1)" + description: "Prepared User Operation (Entrypoint v0.6.0) with signature" + - allOf: + - type: "object" required: - - "sender" - - "nonce" - - "callData" - - "callGasLimit" - - "verificationGasLimit" - - "preVerificationGas" - - "maxFeePerGas" - - "maxPriorityFeePerGas" + - "type" + - "data" + - "chainId" properties: - sender: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - nonce: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - factory: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - factoryData: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - callData: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - callGasLimit: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - verificationGasLimit: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - preVerificationGas: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - maxFeePerGas: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - maxPriorityFeePerGas: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - paymaster: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - paymasterData: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - paymasterVerificationGasLimit: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - paymasterPostOpGasLimit: + type: type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Unsigned User Operation (Entrypoint v0.7.0)" - chainId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - - type: "object" - required: - - "signature" - properties: - signature: - oneOf: - - type: "object" + description: "User Operation (Entrypoint v0.7.0)" + enum: + - "user-operation-v070" + data: + type: "object" required: - - "type" - - "data" + - "sender" + - "nonce" + - "callData" + - "callGasLimit" + - "verificationGasLimit" + - "preVerificationGas" + - "maxFeePerGas" + - "maxPriorityFeePerGas" properties: - type: + sender: type: "string" - enum: - - "secp256k1" - data: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Hex-encoded signature" - - type: "object" - required: - - "r" - - "s" - - "yParity" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - yParity: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, yParity" - - type: "object" - required: - - "r" - - "s" - - "v" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - v: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, v" - description: "Secp256k1 signature" - - type: "object" - required: - - "type" - - "data" - properties: - type: + pattern: "^0x.*$" + errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" + nonce: type: "string" - enum: - - "ecdsa" - data: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Hex-encoded signature" - - type: "object" - required: - - "r" - - "s" - - "yParity" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - yParity: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, yParity" - - type: "object" - required: - - "r" - - "s" - - "v" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + factory: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" + factoryData: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + callData: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + callGasLimit: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + verificationGasLimit: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + preVerificationGas: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + maxFeePerGas: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + maxPriorityFeePerGas: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + paymaster: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" + paymasterData: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + paymasterVerificationGasLimit: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + paymasterPostOpGasLimit: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "Unsigned User Operation (Entrypoint v0.7.0)" + chainId: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + - type: "object" + required: + - "signature" + properties: + signature: + oneOf: + - type: "object" + required: + - "type" + - "data" + properties: + type: + type: "string" + enum: + - "secp256k1" + data: + anyOf: + - type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - v: - type: "string" + description: "Hex-encoded signature" + - type: "object" + required: + - "r" + - "s" + - "yParity" + properties: + r: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + s: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + yParity: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "r, s, yParity" + - type: "object" + required: + - "r" + - "s" + - "v" + properties: + r: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + s: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + v: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "r, s, v" + description: "Secp256k1 signature" + - type: "object" + required: + - "type" + - "data" + properties: + type: + type: "string" + enum: + - "ecdsa" + data: + anyOf: + - type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, v" - description: "ECDSA signature (alias for secp256k1)" - description: "Prepared User Operation (Entrypoint v0.7.0) with signature" - - allOf: - - type: "object" - required: - - "type" - - "data" - - "chainId" - properties: - type: - type: "string" - description: "EIP-7702 Authorization Request" - enum: - - "authorization" - data: - type: "object" + description: "Hex-encoded signature" + - type: "object" + required: + - "r" + - "s" + - "yParity" + properties: + r: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + s: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + yParity: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "r, s, yParity" + - type: "object" + required: + - "r" + - "s" + - "v" + properties: + r: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + s: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + v: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "r, s, v" + description: "ECDSA signature (alias for secp256k1)" + description: "Prepared User Operation (Entrypoint v0.7.0) with signature" + - allOf: + - type: "object" required: - - "address" - - "nonce" + - "type" + - "data" + - "chainId" properties: - address: + type: type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - nonce: + description: "EIP-7702 Authorization Request" + enum: + - "authorization" + data: + type: "object" + required: + - "address" + - "nonce" + properties: + address: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" + nonce: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + chainId: type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - chainId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - - type: "object" - required: - - "signature" + - type: "object" + required: + - "signature" + properties: + signature: + oneOf: + - type: "object" + required: + - "type" + - "data" + properties: + type: + type: "string" + enum: + - "secp256k1" + data: + anyOf: + - type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "Hex-encoded signature" + - type: "object" + required: + - "r" + - "s" + - "yParity" + properties: + r: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + s: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + yParity: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "r, s, yParity" + - type: "object" + required: + - "r" + - "s" + - "v" + properties: + r: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + s: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + v: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "r, s, v" + description: "Secp256k1 signature" + - type: "object" + required: + - "type" + - "data" + properties: + type: + type: "string" + enum: + - "ecdsa" + data: + anyOf: + - type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "Hex-encoded signature" + - type: "object" + required: + - "r" + - "s" + - "yParity" + properties: + r: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + s: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + yParity: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "r, s, yParity" + - type: "object" + required: + - "r" + - "s" + - "v" + properties: + r: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + s: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + v: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "r, s, v" + description: "ECDSA signature (alias for secp256k1)" + description: "Prepared EIP-7702 Authorization with signature" + - type: "object" + properties: + capabilities: + type: "object" properties: - signature: - oneOf: + permissions: + anyOf: - type: "object" required: - - "type" - - "data" + - "context" properties: - type: + context: type: "string" - enum: - - "secp256k1" - data: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Hex-encoded signature" - - type: "object" - required: - - "r" - - "s" - - "yParity" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - yParity: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, yParity" - - type: "object" - required: - - "r" - - "s" - - "v" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - v: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, v" - description: "Secp256k1 signature" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "Permissions context" - type: "object" required: - - "type" - - "data" + - "sessionId" + - "signature" properties: - type: + sessionId: type: "string" - enum: - - "ecdsa" - data: - anyOf: - - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Hex-encoded signature" - - type: "object" - required: - - "r" - - "s" - - "yParity" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - yParity: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, yParity" - - type: "object" - required: - - "r" - - "s" - - "v" - properties: - r: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - s: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - v: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "r, s, v" - description: "ECDSA signature (alias for secp256k1)" - description: "Prepared EIP-7702 Authorization with signature" - - type: "object" - properties: - capabilities: - type: "object" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + signature: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "Remote permission" + paymasterService: + allOf: + - anyOf: + - type: "object" + required: + - "policyId" + properties: + policyId: + type: "string" + pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$" + format: "uuid" + description: "The policy ID to use" + description: "Single policy ID" + - type: "object" + required: + - "policyIds" + properties: + policyIds: + type: "array" + items: + type: "string" + pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$" + format: "uuid" + description: "The policy IDs to use" + description: "Multiple policy IDs" + - type: "object" + properties: + webhookData: + type: "string" + description: "Additional data you can include in the request, such as proof of humanity, if you have enabled custom rules in your Gas Manager policy." + callId: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "EVM request" + - allOf: + - type: "object" + required: + - "type" + - "chainId" + - "data" properties: - permissions: + type: + type: "string" + description: "Solana v0 versioned transaction" + enum: + - "solana-transaction-v0" + chainId: anyOf: - - type: "object" - required: - - "context" - properties: - context: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "Permissions context" - - type: "object" + - anyOf: + - type: "string" + enum: + - "solana:mainnet" + - type: "string" + enum: + - "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp" + description: "Solana Mainnet" + - anyOf: + - type: "string" + enum: + - "solana:devnet" + - type: "string" + enum: + - "solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1" + description: "Solana Devnet" + description: "Solana chain identifier" + data: + type: "object" + required: + - "compiledTransaction" + - "signer" + - "version" + - "lifetimeConstraint" + properties: + compiledTransaction: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "Pre-compiled wire-format transaction bytes from prepareCalls. Contains all non-user signatures (e.g. paymaster) already embedded." + signer: + type: "string" + pattern: "^[1-9A-HJ-NP-Za-km-z]+$" + minLength: 32 + maxLength: 44 + errorMessage: "Must be a valid base58-encoded Solana address (32-44 characters)" + description: "User's signing address" + version: + type: "string" + enum: + - "0" + lifetimeConstraint: + type: "object" required: - - "sessionId" - - "signature" + - "blockHash" properties: - sessionId: + blockHash: type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - signature: + pattern: "^[1-9A-HJ-NP-Za-km-z]+$" + lastValidBlockHeight: type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - description: "Remote permission" - paymasterService: - allOf: - - anyOf: - - type: "object" - required: - - "policyId" - properties: - policyId: - type: "string" - pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$" - format: "uuid" - description: "The policy ID to use" - description: "Single policy ID" - - type: "object" - required: - - "policyIds" - properties: - policyIds: - type: "array" - items: - type: "string" - pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$" - format: "uuid" - description: "The policy IDs to use" - description: "Multiple policy IDs" - - type: "object" - properties: - webhookData: - type: "string" - description: "Additional data you can include in the request, such as proof of humanity, if you have enabled custom rules in your Gas Manager policy." - callId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "EVM request" + minContextSlot: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "Slot at which the paymaster simulated this transaction. Pass to sendTransaction as minContextSlot to reduce stale-state risk." + description: "Solana v0 versioned transaction data (send-relevant fields)" + - type: "object" + required: + - "signature" + properties: + signature: + type: "object" + required: + - "type" + - "data" + properties: + type: + type: "string" + enum: + - "ed25519" + data: + type: "string" + description: "64-byte Ed25519 signature, base58-encoded" + description: "Prepared Solana v0 transaction with signature" result: name: sendPreparedCallsResponse schema: - type: "object" - required: - - "id" - - "preparedCallIds" - - "details" - properties: - id: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - preparedCallIds: - type: "array" - items: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "To be deprecated. Please use `id` instead." - details: - oneOf: - - type: "object" - required: - - "type" - - "data" - properties: - type: - type: "string" - enum: - - "user-operation" - data: - type: "object" + anyOf: + - type: "object" + required: + - "id" + - "preparedCallIds" + - "details" + properties: + id: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + preparedCallIds: + type: "array" + items: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "To be deprecated. Please use `id` instead." + details: + oneOf: + - type: "object" required: - - "hash" + - "type" + - "data" properties: - hash: + type: type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - calls: - type: "array" - items: - type: "object" - required: - - "to" - properties: - to: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - data: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - value: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - - type: "object" + enum: + - "user-operation" + data: + type: "object" + required: + - "hash" + properties: + hash: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + calls: + type: "array" + items: + type: "object" + required: + - "to" + properties: + to: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" + data: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + value: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + - type: "object" + required: + - "type" + properties: + type: + type: "string" + enum: + - "delegation" + description: "EVM response" + - type: "object" + required: + - "id" + - "preparedCallIds" + - "details" + properties: + id: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + preparedCallIds: + type: "array" + items: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + details: + type: "object" required: - "type" properties: type: type: "string" enum: - - "delegation" - description: "EVM response" + - "solana-transaction-v0" + description: "Solana response" examples: - name: "wallet_sendPreparedCalls example" @@ -4344,201 +4759,322 @@ methods: result: name: getCallsStatusResponse schema: - type: "object" - required: - - "id" - - "chainId" - - "atomic" - - "status" - - "details" - properties: - id: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - chainId: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - atomic: - type: "boolean" - status: - anyOf: - - type: "number" - description: "Batch has been received by the wallet but has not completed execution onchain" - title: "Pending" - enum: - - 100 - - type: "number" - description: "Batch has been preconfirmed onchain" - title: "Preconfirmed" - enum: - - 110 - - type: "number" - description: "Batch reverted *completely* in a preconfirmation and only changes related to gas charge may have been included onchain" - title: "Preconfirmed Onchain Failure" - enum: - - 115 - - type: "number" - description: "Batch reverted *partially* in a preconfirmation and some changes related to batch calls may have been included onchain" - title: "Preconfirmed Partial Onchain Failure" - enum: - - 116 - - type: "number" - description: "Origin confirmed, destination pending" - title: "Cross-Chain In Progress" - enum: - - 120 - - type: "number" - description: "Batch has been included onchain without reverts, receipts array contains info of all calls" - title: "Confirmed" - enum: - - 200 - - type: "number" - description: "Batch has not been included onchain and wallet will not retry" - title: "Offchain Failure" - enum: - - 400 - - type: "number" - description: "Cross-chain operation failed and was refunded" - title: "Cross-Chain Refunded" - enum: - - 410 - - type: "number" - description: "Batch reverted *completely* and only changes related to gas charge may have been included onchain" - title: "Onchain Failure" - enum: - - 500 - - type: "number" - description: "Batch reverted *partially* and some changes related to batch calls may have been included onchain" - title: "Partial Onchain Failure" - enum: - - 600 - receipts: - type: "array" - items: - type: "object" - required: - - "logs" - - "status" - - "blockHash" - - "blockNumber" - - "gasUsed" - - "transactionHash" - properties: - logs: - type: "array" - items: - type: "object" - required: - - "address" - - "data" - - "topics" - properties: - address: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - data: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - topics: - type: "array" - items: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - status: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "0x1 for success, 0x0 for failure" - blockHash: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - blockNumber: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - gasUsed: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - transactionHash: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - details: - oneOf: - - type: "object" - required: - - "type" - - "data" - properties: - type: - type: "string" + anyOf: + - type: "object" + required: + - "id" + - "chainId" + - "atomic" + - "status" + - "details" + properties: + id: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + chainId: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + atomic: + type: "boolean" + status: + anyOf: + - type: "number" + description: "Batch has been received by the wallet but has not completed execution onchain" + title: "Pending" enum: - - "user-operation" - data: - allOf: - - type: "object" + - 100 + - type: "number" + description: "Batch has been preconfirmed onchain" + title: "Preconfirmed" + enum: + - 110 + - type: "number" + description: "Batch reverted *completely* in a preconfirmation and only changes related to gas charge may have been included onchain" + title: "Preconfirmed Onchain Failure" + enum: + - 115 + - type: "number" + description: "Batch reverted *partially* in a preconfirmation and some changes related to batch calls may have been included onchain" + title: "Preconfirmed Partial Onchain Failure" + enum: + - 116 + - type: "number" + description: "Origin confirmed, destination pending" + title: "Cross-Chain In Progress" + enum: + - 120 + - type: "number" + description: "Batch has been included onchain without reverts, receipts array contains info of all calls" + title: "Confirmed" + enum: + - 200 + - type: "number" + description: "Batch has not been included onchain and wallet will not retry" + title: "Offchain Failure" + enum: + - 400 + - type: "number" + description: "Cross-chain operation failed and was refunded" + title: "Cross-Chain Refunded" + enum: + - 410 + - type: "number" + description: "Batch reverted *completely* and only changes related to gas charge may have been included onchain" + title: "Onchain Failure" + enum: + - 500 + - type: "number" + description: "Batch reverted *partially* and some changes related to batch calls may have been included onchain" + title: "Partial Onchain Failure" + enum: + - 600 + receipts: + type: "array" + items: + type: "object" + required: + - "logs" + - "status" + - "blockHash" + - "blockNumber" + - "gasUsed" + - "transactionHash" + properties: + logs: + type: "array" + items: + type: "object" required: - - "hash" + - "address" + - "data" + - "topics" properties: - hash: + address: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" + data: type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - calls: + topics: type: "array" items: - type: "object" - required: - - "to" - properties: - to: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" - data: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - value: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - - type: "object" - properties: - pendingBundle: - type: "object" + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + status: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "0x1 for success, 0x0 for failure" + blockHash: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + blockNumber: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + gasUsed: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + transactionHash: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + details: + oneOf: + - type: "object" + required: + - "type" + - "data" + properties: + type: + type: "string" + enum: + - "user-operation" + data: + allOf: + - type: "object" required: - - "txHash" - - "sentAtBlock" + - "hash" properties: - txHash: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - sentAtBlock: + hash: type: "string" pattern: "^0x.*$" errorMessage: "Must be a valid hex string starting with '0x'" - - type: "object" - required: - - "type" - properties: - type: - type: "string" + calls: + type: "array" + items: + type: "object" + required: + - "to" + properties: + to: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid Ethereum address starting with '0x' (e.g., '0xa363219d7C0b8673df17529D469Db9eFF0f35D2A')" + data: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + value: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + - type: "object" + properties: + pendingBundle: + type: "object" + required: + - "txHash" + - "sentAtBlock" + properties: + txHash: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + sentAtBlock: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + - type: "object" + required: + - "type" + properties: + type: + type: "string" + enum: + - "delegation" + txHash: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "EVM response" + - type: "object" + required: + - "id" + - "chainId" + - "atomic" + - "status" + properties: + id: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + chainId: + anyOf: + - anyOf: + - type: "string" + enum: + - "solana:mainnet" + - type: "string" + enum: + - "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp" + description: "Solana Mainnet" + - anyOf: + - type: "string" + enum: + - "solana:devnet" + - type: "string" + enum: + - "solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1" + description: "Solana Devnet" + description: "Solana chain identifier" + atomic: + type: "boolean" + status: + anyOf: + - type: "number" + description: "Batch has been received by the wallet but has not completed execution onchain" + title: "Pending" enum: - - "delegation" - txHash: - type: "string" - pattern: "^0x.*$" - errorMessage: "Must be a valid hex string starting with '0x'" - description: "EVM response" + - 100 + - type: "number" + description: "Batch has been preconfirmed onchain" + title: "Preconfirmed" + enum: + - 110 + - type: "number" + description: "Batch reverted *completely* in a preconfirmation and only changes related to gas charge may have been included onchain" + title: "Preconfirmed Onchain Failure" + enum: + - 115 + - type: "number" + description: "Batch reverted *partially* in a preconfirmation and some changes related to batch calls may have been included onchain" + title: "Preconfirmed Partial Onchain Failure" + enum: + - 116 + - type: "number" + description: "Origin confirmed, destination pending" + title: "Cross-Chain In Progress" + enum: + - 120 + - type: "number" + description: "Batch has been included onchain without reverts, receipts array contains info of all calls" + title: "Confirmed" + enum: + - 200 + - type: "number" + description: "Batch has not been included onchain and wallet will not retry" + title: "Offchain Failure" + enum: + - 400 + - type: "number" + description: "Cross-chain operation failed and was refunded" + title: "Cross-Chain Refunded" + enum: + - 410 + - type: "number" + description: "Batch reverted *completely* and only changes related to gas charge may have been included onchain" + title: "Onchain Failure" + enum: + - 500 + - type: "number" + description: "Batch reverted *partially* and some changes related to batch calls may have been included onchain" + title: "Partial Onchain Failure" + enum: + - 600 + commitment: + anyOf: + - type: "string" + enum: + - "processed" + - type: "string" + enum: + - "confirmed" + - type: "string" + enum: + - "finalized" + description: "Solana commitment level: processed, confirmed, or finalized." + receipts: + type: "array" + items: + type: "object" + required: + - "signature" + - "slot" + properties: + signature: + type: "string" + pattern: "^[1-9A-HJ-NP-Za-km-z]+$" + description: "Base58 transaction signature" + blockTime: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "Unix timestamp" + slot: + type: "string" + pattern: "^0x.*$" + errorMessage: "Must be a valid hex string starting with '0x'" + description: "Slot number" + description: "Solana transaction receipt" + description: "Solana response" examples: - name: "wallet_getCallsStatus example" @@ -8230,7 +8766,7 @@ methods: errorMessage: "Must be a valid hex string starting with '0x'" description: "Raw payload that can be signed if using a signer that supports signing raw bytes (such as an Alchemy Signer)" description: "Prepared EIP-7702 Authorization. Returned as part of an array response for 7702 accounts requiring delegation, or at the top level for BSO-sponsored undelegation." - description: "Returned for EIP-7702 accounts that require both an authorization signature and a user operation." + description: "Array of Prepared Calls. Returned for EIP-7702 accounts that require both an authorization signature and a user operation." - type: "object" required: - "type" @@ -9364,7 +9900,7 @@ methods: errorMessage: "Must be a valid hex string starting with '0x'" description: "Raw payload that can be signed if using a signer that supports signing raw bytes (such as an Alchemy Signer)" description: "Typed data" - description: "Returned when the account's paymaster policy requires an ERC-20 token permit signature. The client must sign the permit and resubmit the request with the permit signature before the user operation can be prepared." + description: "Paymaster permit. Returned when the account's paymaster policy requires an ERC-20 token permit signature. The client must sign the permit and resubmit the request with the permit signature before the user operation can be prepared." - type: "object" properties: details: