Experimental: This API is experimental and may change in a future release.
type RequestQuoteV0Result =
| ({
quote: {
fromAmount: bigint;
minimumToAmount: bigint;
expiry: number;
};
chainId: number;
callId?: `0x${string}` | undefined;
} & {
rawCalls: false;
} & {
type: "array";
data: (
| {
type: "user-operation-v060";
data: {
sender: `0x${string}`;
nonce: bigint;
initCode: `0x${string}`;
callData: `0x${string}`;
callGasLimit: bigint;
verificationGasLimit: bigint;
preVerificationGas: bigint;
maxFeePerGas: bigint;
maxPriorityFeePerGas: bigint;
paymasterAndData: `0x${string}`;
};
chainId: number;
feePayment: {
sponsored: boolean;
tokenAddress: `0x${string}`;
maxAmount: bigint;
};
signatureRequest?:
| {
type: "personal_sign";
data:
| string
| {
raw: `0x${string}`;
};
rawPayload: `0x${string}`;
}
| {
type: "eth_signTypedData_v4";
data: {
types: Record<
string,
{
name: string;
type: string;
}[]
>;
primaryType: string;
message: Record<string, unknown>;
domain?:
| {
chainId?: number | bigint | undefined;
name?: string | undefined;
salt?: `0x${string}` | undefined;
verifyingContract?: `0x${string}` | undefined;
version?: string | undefined;
}
| undefined;
};
rawPayload: `0x${string}`;
}
| undefined;
}
| {
type: "user-operation-v070";
data: {
sender: `0x${string}`;
nonce: bigint;
callData: `0x${string}`;
callGasLimit: bigint;
verificationGasLimit: bigint;
preVerificationGas: bigint;
maxFeePerGas: bigint;
maxPriorityFeePerGas: bigint;
factory?: `0x${string}` | undefined;
factoryData?: `0x${string}` | undefined;
paymaster?: `0x${string}` | undefined;
paymasterData?: `0x${string}` | undefined;
paymasterVerificationGasLimit?: bigint | undefined;
paymasterPostOpGasLimit?: bigint | undefined;
};
chainId: number;
feePayment: {
sponsored: boolean;
tokenAddress: `0x${string}`;
maxAmount: bigint;
};
signatureRequest?:
| {
type: "personal_sign";
data:
| string
| {
raw: `0x${string}`;
};
rawPayload: `0x${string}`;
}
| {
type: "eth_signTypedData_v4";
data: {
types: Record<
string,
{
name: string;
type: string;
}[]
>;
primaryType: string;
message: Record<string, unknown>;
domain?:
| {
chainId?: number | bigint | undefined;
name?: string | undefined;
salt?: `0x${string}` | undefined;
verifyingContract?: `0x${string}` | undefined;
version?: string | undefined;
}
| undefined;
};
rawPayload: `0x${string}`;
}
| undefined;
}
| {
type: "authorization";
data: {
address: `0x${string}`;
nonce: number;
};
chainId: number;
signatureRequest: {
type: "eip7702Auth";
rawPayload: `0x${string}`;
};
}
)[];
} & {
details?:
| {
type: "user-operation";
data: {
hash: `0x${string}`;
calls: {
to: `0x${string}`;
data?: `0x${string}` | undefined;
value?: bigint | undefined;
}[];
};
}
| undefined;
})
| ({
quote: {
fromAmount: bigint;
minimumToAmount: bigint;
expiry: number;
};
chainId: number;
callId?: `0x${string}` | undefined;
} & {
rawCalls: false;
} & {
type: "user-operation-v060";
data: {
sender: `0x${string}`;
nonce: bigint;
initCode: `0x${string}`;
callData: `0x${string}`;
callGasLimit: bigint;
verificationGasLimit: bigint;
preVerificationGas: bigint;
maxFeePerGas: bigint;
maxPriorityFeePerGas: bigint;
paymasterAndData: `0x${string}`;
};
feePayment: {
sponsored: boolean;
tokenAddress: `0x${string}`;
maxAmount: bigint;
};
signatureRequest?:
| {
type: "personal_sign";
data:
| string
| {
raw: `0x${string}`;
};
rawPayload: `0x${string}`;
}
| {
type: "eth_signTypedData_v4";
data: {
types: Record<
string,
{
name: string;
type: string;
}[]
>;
primaryType: string;
message: Record<string, unknown>;
domain?:
| {
chainId?: number | bigint | undefined;
name?: string | undefined;
salt?: `0x${string}` | undefined;
verifyingContract?: `0x${string}` | undefined;
version?: string | undefined;
}
| undefined;
};
rawPayload: `0x${string}`;
}
| undefined;
} & {
details?:
| {
type: "user-operation";
data: {
hash: `0x${string}`;
calls: {
to: `0x${string}`;
data?: `0x${string}` | undefined;
value?: bigint | undefined;
}[];
};
}
| undefined;
})
| ({
quote: {
fromAmount: bigint;
minimumToAmount: bigint;
expiry: number;
};
chainId: number;
callId?: `0x${string}` | undefined;
} & {
rawCalls: false;
} & {
type: "user-operation-v070";
data: {
sender: `0x${string}`;
nonce: bigint;
callData: `0x${string}`;
callGasLimit: bigint;
verificationGasLimit: bigint;
preVerificationGas: bigint;
maxFeePerGas: bigint;
maxPriorityFeePerGas: bigint;
factory?: `0x${string}` | undefined;
factoryData?: `0x${string}` | undefined;
paymaster?: `0x${string}` | undefined;
paymasterData?: `0x${string}` | undefined;
paymasterVerificationGasLimit?: bigint | undefined;
paymasterPostOpGasLimit?: bigint | undefined;
};
feePayment: {
sponsored: boolean;
tokenAddress: `0x${string}`;
maxAmount: bigint;
};
signatureRequest?:
| {
type: "personal_sign";
data:
| string
| {
raw: `0x${string}`;
};
rawPayload: `0x${string}`;
}
| {
type: "eth_signTypedData_v4";
data: {
types: Record<
string,
{
name: string;
type: string;
}[]
>;
primaryType: string;
message: Record<string, unknown>;
domain?:
| {
chainId?: number | bigint | undefined;
name?: string | undefined;
salt?: `0x${string}` | undefined;
verifyingContract?: `0x${string}` | undefined;
version?: string | undefined;
}
| undefined;
};
rawPayload: `0x${string}`;
}
| undefined;
} & {
details?:
| {
type: "user-operation";
data: {
hash: `0x${string}`;
calls: {
to: `0x${string}`;
data?: `0x${string}` | undefined;
value?: bigint | undefined;
}[];
};
}
| undefined;
})
| ({
quote: {
fromAmount: bigint;
minimumToAmount: bigint;
expiry: number;
};
chainId: number;
callId?: `0x${string}` | undefined;
} & {
rawCalls: false;
} & {
type: "authorization";
data: {
address: `0x${string}`;
nonce: number;
};
signatureRequest: {
type: "eip7702Auth";
rawPayload: `0x${string}`;
};
} & {
details?:
| {
type: "user-operation";
data: {
hash: `0x${string}`;
calls: {
to: `0x${string}`;
data?: `0x${string}` | undefined;
value?: bigint | undefined;
}[];
};
}
| undefined;
})
| ({
quote: {
fromAmount: bigint;
minimumToAmount: bigint;
expiry: number;
};
chainId: number;
callId?: `0x${string}` | undefined;
} & {
rawCalls: true;
calls: {
to: `0x${string}`;
data?: `0x${string}` | undefined;
value?: bigint | undefined;
}[];
})
| (Omit<
{
quote: {
fromAmount: bigint;
minimumToAmount: bigint;
expiry: number;
};
chainId: number;
callId?: `0x${string}` | undefined;
} & {
rawCalls: false;
} & {
type: "paymaster-permit";
modifiedRequest: {
from: `0x${string}`;
chainId: number;
calls?:
| {
to: `0x${string}`;
data?: `0x${string}` | undefined;
value?: bigint | undefined;
}[]
| undefined;
capabilities?:
| {
permissions?:
| {
context: `0x${string}`;
}
| {
sessionId: `0x${string}`;
signature: `0x${string}`;
}
| undefined;
paymasterService?:
| ((
| {
policyId: string;
}
| {
policyIds: string[];
}
) & {
onlyEstimation?: boolean | undefined;
erc20?:
| {
preOpSettings: {
autoPermit: {
below: bigint;
amount: bigint;
durationSeconds?: number | undefined;
};
};
tokenAddress: `0x${string}`;
maxTokenAmount?: bigint | undefined;
}
| {
preOpSettings: {
permitDetails: {
deadline: number;
value: bigint;
};
};
tokenAddress: `0x${string}`;
maxTokenAmount?: bigint | undefined;
}
| {
postOpSettings: {
autoApprove?:
| true
| {
below: bigint;
amount: bigint;
}
| undefined;
balanceCheck?: false | undefined;
};
tokenAddress: `0x${string}`;
maxTokenAmount?: bigint | undefined;
}
| {
tokenAddress: `0x${string}`;
maxTokenAmount?: bigint | undefined;
}
| undefined;
webhookData?: string | undefined;
})
| undefined;
gasParamsOverride?:
| {
preVerificationGas?:
| bigint
| {
multiplier: number;
}
| undefined;
verificationGasLimit?:
| bigint
| {
multiplier: number;
}
| undefined;
callGasLimit?:
| bigint
| {
multiplier: number;
}
| undefined;
paymasterVerificationGasLimit?:
| bigint
| {
multiplier: number;
}
| undefined;
paymasterPostOpGasLimit?:
| bigint
| {
multiplier: number;
}
| undefined;
maxFeePerGas?:
| bigint
| {
multiplier: number;
}
| undefined;
maxPriorityFeePerGas?:
| bigint
| {
multiplier: number;
}
| undefined;
}
| undefined;
eip7702Auth?:
| true
| {
delegation:
| "ModularAccountV2"
| "0x69007702764179f14F51cdce752f4f775d74E139"
| "0x0000000000000000000000000000000000000000";
account?: `0x${string}` | undefined;
}
| undefined;
nonceOverride?:
| {
nonceKey: bigint | `0x${string}`;
}
| undefined;
stateOverride?:
| Record<
`0x${string}`,
| {
state: Record<`0x${string}`, `0x${string}`>;
balance?: bigint | undefined;
nonce?: number | undefined;
code?: `0x${string}` | undefined;
}
| {
stateDiff: Record<`0x${string}`, `0x${string}`>;
balance?: bigint | undefined;
nonce?: number | undefined;
code?: `0x${string}` | undefined;
}
| {
balance?: bigint | undefined;
nonce?: number | undefined;
code?: `0x${string}` | undefined;
}
>
| undefined;
experimental_dataSuffix?:
| {
value: `0x${string}`;
}
| undefined;
}
| undefined;
paymasterPermitSignature?:
| {
type: "secp256k1";
data:
| `0x${string}`
| {
r: `0x${string}`;
s: `0x${string}`;
yParity: `0x${string}`;
}
| {
r: `0x${string}`;
s: `0x${string}`;
v: `0x${string}`;
};
}
| {
type: "ecdsa";
data:
| `0x${string}`
| {
r: `0x${string}`;
s: `0x${string}`;
yParity: `0x${string}`;
}
| {
r: `0x${string}`;
s: `0x${string}`;
v: `0x${string}`;
};
}
| undefined;
};
data: {
types: Record<
string,
{
name: string;
type: string;
}[]
>;
primaryType: string;
message: Record<string, unknown>;
domain?:
| {
chainId?: number | bigint | undefined;
name?: string | undefined;
salt?: `0x${string}` | undefined;
verifyingContract?: `0x${string}` | undefined;
version?: string | undefined;
}
| undefined;
};
signatureRequest: {
type: "eth_signTypedData_v4";
data: {
types: Record<
string,
{
name: string;
type: string;
}[]
>;
primaryType: string;
message: Record<string, unknown>;
domain?:
| {
chainId?: number | bigint | undefined;
name?: string | undefined;
salt?: `0x${string}` | undefined;
verifyingContract?: `0x${string}` | undefined;
version?: string | undefined;
}
| undefined;
};
rawPayload: `0x${string}`;
};
} & {
details?:
| {
type: "user-operation";
data: {
hash: `0x${string}`;
calls: {
to: `0x${string}`;
data?: `0x${string}` | undefined;
value?: bigint | undefined;
}[];
};
}
| undefined;
},
"modifiedRequest"
> & {
modifiedRequest: {
chainId: number;
calls?:
| {
to: `0x${string}`;
data?: `0x${string}` | undefined;
value?: bigint | undefined;
}[]
| undefined;
paymasterPermitSignature?:
| {
type: "secp256k1";
data:
| `0x${string}`
| {
r: `0x${string}`;
s: `0x${string}`;
yParity: `0x${string}`;
}
| {
r: `0x${string}`;
s: `0x${string}`;
v: `0x${string}`;
};
}
| {
type: "ecdsa";
data:
| `0x${string}`
| {
r: `0x${string}`;
s: `0x${string}`;
yParity: `0x${string}`;
}
| {
r: `0x${string}`;
s: `0x${string}`;
v: `0x${string}`;
};
}
| undefined;
account: `0x${string}`;
capabilities?:
| (Omit<
{
permissions?:
| {
context: `0x${string}`;
}
| {
sessionId: `0x${string}`;
signature: `0x${string}`;
}
| undefined;
paymasterService?:
| ((
| {
policyId: string;
}
| {
policyIds: string[];
}
) & {
onlyEstimation?: boolean | undefined;
erc20?:
| {
preOpSettings: {
autoPermit: {
below: bigint;
amount: bigint;
durationSeconds?: number | undefined;
};
};
tokenAddress: `0x${string}`;
maxTokenAmount?: bigint | undefined;
}
| {
preOpSettings: {
permitDetails: {
deadline: number;
value: bigint;
};
};
tokenAddress: `0x${string}`;
maxTokenAmount?: bigint | undefined;
}
| {
postOpSettings: {
autoApprove?:
| true
| {
below: bigint;
amount: bigint;
}
| undefined;
balanceCheck?: false | undefined;
};
tokenAddress: `0x${string}`;
maxTokenAmount?: bigint | undefined;
}
| {
tokenAddress: `0x${string}`;
maxTokenAmount?: bigint | undefined;
}
| undefined;
webhookData?: string | undefined;
})
| undefined;
gasParamsOverride?:
| {
preVerificationGas?:
| bigint
| {
multiplier: number;
}
| undefined;
verificationGasLimit?:
| bigint
| {
multiplier: number;
}
| undefined;
callGasLimit?:
| bigint
| {
multiplier: number;
}
| undefined;
paymasterVerificationGasLimit?:
| bigint
| {
multiplier: number;
}
| undefined;
paymasterPostOpGasLimit?:
| bigint
| {
multiplier: number;
}
| undefined;
maxFeePerGas?:
| bigint
| {
multiplier: number;
}
| undefined;
maxPriorityFeePerGas?:
| bigint
| {
multiplier: number;
}
| undefined;
}
| undefined;
eip7702Auth?:
| true
| {
delegation:
| "ModularAccountV2"
| "0x69007702764179f14F51cdce752f4f775d74E139"
| "0x0000000000000000000000000000000000000000";
account?: `0x${string}` | undefined;
}
| undefined;
nonceOverride?:
| {
nonceKey: bigint | `0x${string}`;
}
| undefined;
stateOverride?:
| Record<
`0x${string}`,
| {
state: Record<`0x${string}`, `0x${string}`>;
balance?: bigint | undefined;
nonce?: number | undefined;
code?: `0x${string}` | undefined;
}
| {
stateDiff: Record<`0x${string}`, `0x${string}`>;
balance?: bigint | undefined;
nonce?: number | undefined;
code?: `0x${string}` | undefined;
}
| {
balance?: bigint | undefined;
nonce?: number | undefined;
code?: `0x${string}` | undefined;
}
>
| undefined;
experimental_dataSuffix?:
| {
value: `0x${string}`;
}
| undefined;
},
"paymasterService"
> & {
paymaster?:
| ({
policyId: string;
} & {
onlyEstimation?: boolean | undefined;
erc20?:
| {
preOpSettings: {
autoPermit: {
below: bigint;
amount: bigint;
durationSeconds?: number | undefined;
};
};
tokenAddress: `0x${string}`;
maxTokenAmount?: bigint | undefined;
}
| {
preOpSettings: {
permitDetails: {
deadline: number;
value: bigint;
};
};
tokenAddress: `0x${string}`;
maxTokenAmount?: bigint | undefined;
}
| {
postOpSettings: {
autoApprove?:
| true
| {
below: bigint;
amount: bigint;
}
| undefined;
balanceCheck?: false | undefined;
};
tokenAddress: `0x${string}`;
maxTokenAmount?: bigint | undefined;
}
| {
tokenAddress: `0x${string}`;
maxTokenAmount?: bigint | undefined;
}
| undefined;
webhookData?: string | undefined;
})
| ({
policyIds: string[];
} & {
onlyEstimation?: boolean | undefined;
erc20?:
| {
preOpSettings: {
autoPermit: {
below: bigint;
amount: bigint;
durationSeconds?: number | undefined;
};
};
tokenAddress: `0x${string}`;
maxTokenAmount?: bigint | undefined;
}
| {
preOpSettings: {
permitDetails: {
deadline: number;
value: bigint;
};
};
tokenAddress: `0x${string}`;
maxTokenAmount?: bigint | undefined;
}
| {
postOpSettings: {
autoApprove?:
| true
| {
below: bigint;
amount: bigint;
}
| undefined;
balanceCheck?: false | undefined;
};
tokenAddress: `0x${string}`;
maxTokenAmount?: bigint | undefined;
}
| {
tokenAddress: `0x${string}`;
maxTokenAmount?: bigint | undefined;
}
| undefined;
webhookData?: string | undefined;
})
| undefined;
})
| undefined;
};
});Defined in: packages/wallet-apis/src/experimental/actions/requestQuoteV0.ts:68
Result returned by the experimental requestQuoteV0 action.