@metamask/keyring-api
Version:
MetaMask Keyring API
98 lines • 4.29 kB
text/typescript
import { type Infer } from "@metamask/superstruct";
/**
* Struct of a UserOperation as defined by ERC-4337.
*
* @see https://eips.ethereum.org/EIPS/eip-4337#definitions
*/
export declare const EthUserOperationStruct: import("@metamask/superstruct").Struct<{
nonce: string;
sender: string;
initCode: string;
callData: string;
callGasLimit: string;
verificationGasLimit: string;
preVerificationGas: string;
maxFeePerGas: string;
maxPriorityFeePerGas: string;
paymasterAndData: string;
signature: string;
}, {
sender: import("@metamask/superstruct").Struct<string, null>;
nonce: import("@metamask/superstruct").Struct<string, null>;
initCode: import("@metamask/superstruct").Struct<string, null>;
callData: import("@metamask/superstruct").Struct<string, null>;
callGasLimit: import("@metamask/superstruct").Struct<string, null>;
verificationGasLimit: import("@metamask/superstruct").Struct<string, null>;
preVerificationGas: import("@metamask/superstruct").Struct<string, null>;
maxFeePerGas: import("@metamask/superstruct").Struct<string, null>;
maxPriorityFeePerGas: import("@metamask/superstruct").Struct<string, null>;
paymasterAndData: import("@metamask/superstruct").Struct<string, null>;
signature: import("@metamask/superstruct").Struct<string, null>;
}>;
export type EthUserOperation = Infer<typeof EthUserOperationStruct>;
/**
* Struct containing the most basic transaction information required to
* construct a UserOperation.
*/
export declare const EthBaseTransactionStruct: import("@metamask/superstruct").Struct<{
value: string;
data: string;
to: string;
}, {
/**
* Address of the transaction recipient.
*/
to: import("@metamask/superstruct").Struct<string, null>;
/**
* Amount of wei to transfer to the recipient.
*/
value: import("@metamask/superstruct").Struct<string, null>;
/**
* Data to pass to the recipient.
*/
data: import("@metamask/superstruct").Struct<string, null>;
}>;
export type EthBaseTransaction = Infer<typeof EthBaseTransactionStruct>;
export declare const EthBaseUserOperationStruct: import("@metamask/superstruct").Struct<{
nonce: string;
initCode: string;
callData: string;
dummyPaymasterAndData: string;
dummySignature: string;
bundlerUrl: string;
gasLimits?: {
callGasLimit: string;
verificationGasLimit: string;
preVerificationGas: string;
};
}, {
nonce: import("@metamask/superstruct").Struct<string, null>;
initCode: import("@metamask/superstruct").Struct<string, null>;
callData: import("@metamask/superstruct").Struct<string, null>;
gasLimits: import("@metamask/superstruct").Struct<import("@metamask/keyring-utils").ExactOptionalTag | {
callGasLimit: string;
verificationGasLimit: string;
preVerificationGas: string;
}, {
callGasLimit: import("@metamask/superstruct").Struct<string, null>;
verificationGasLimit: import("@metamask/superstruct").Struct<string, null>;
preVerificationGas: import("@metamask/superstruct").Struct<string, null>;
}>;
dummyPaymasterAndData: import("@metamask/superstruct").Struct<string, null>;
dummySignature: import("@metamask/superstruct").Struct<string, null>;
bundlerUrl: import("@metamask/superstruct").Struct<string, null>;
}>;
export type EthBaseUserOperation = Infer<typeof EthBaseUserOperationStruct>;
export declare const EthUserOperationPatchStruct: import("@metamask/superstruct").Struct<{
paymasterAndData: string;
callGasLimit?: string;
verificationGasLimit?: string;
preVerificationGas?: string;
}, {
paymasterAndData: import("@metamask/superstruct").Struct<string, null>;
callGasLimit: import("@metamask/superstruct").Struct<string | import("@metamask/keyring-utils").ExactOptionalTag, null>;
verificationGasLimit: import("@metamask/superstruct").Struct<string | import("@metamask/keyring-utils").ExactOptionalTag, null>;
preVerificationGas: import("@metamask/superstruct").Struct<string | import("@metamask/keyring-utils").ExactOptionalTag, null>;
}>;
export type EthUserOperationPatch = Infer<typeof EthUserOperationPatchStruct>;
//# sourceMappingURL=types.d.mts.map