@coinbase/cdp-sdk
Version:
SDK for interacting with the Coinbase Developer Platform Wallet API
80 lines • 3.08 kB
TypeScript
export type Hex = `0x${string}`;
export type Hash = `0x${string}`;
export type Address = `0x${string}`;
export type AccessList = readonly {
address: Address;
storageKeys: readonly Hex[];
}[];
export type TransactionRequestEIP1559 = {
/** The address of the contract or account to send the transaction to. */
to: Address;
/** The amount of ETH, in wei, to send with the transaction. */
value?: bigint | undefined;
/** The data to send with the transaction; only used for contract calls. */
data?: Hex | undefined;
/** The amount of gas to use for the transaction. */
gas?: bigint | undefined;
/**
* The nonce to use for the transaction.
* If not provided, the API will assign a nonce to the transaction based on the current state of the account.
*/
nonce?: number | undefined;
/**
* The maximum fee per gas to use for the transaction.
* If not provided, the API will estimate a value based on current network conditions.
*/
maxFeePerGas?: bigint | undefined;
/**
* The maximum priority fee per gas to use for the transaction.
* If not provided, the API will estimate a value based on current network conditions.
*/
maxPriorityFeePerGas?: bigint | undefined;
/** The access list to use for the transaction. */
accessList?: AccessList | undefined;
/** (Ignored) The value of the `chainId` field in the transaction is ignored. */
chainId?: number | undefined;
/** (Ignored) Ignored in favor of the account address that is sending the transaction. */
from?: Address | undefined;
/** (Ignored) The transaction type is always `eip1559`. */
type?: "eip1559" | undefined;
};
/**
* The domain of the EIP-712 typed data.
*/
export interface EIP712Domain {
/** The name of the DApp or protocol. */
name?: string;
/** The version of the DApp or protocol. */
version?: string;
/** The chain ID of the EVM network. */
chainId?: number;
/** The 0x-prefixed EVM address of the verifying smart contract. */
verifyingContract?: Hex;
/** The optional 32-byte 0x-prefixed hex salt for domain separation. */
salt?: Hex;
}
/**
* A mapping of struct names to an array of type objects (name + type).
* Each key corresponds to a type name (e.g., "`EIP712Domain`", "`PermitTransferFrom`").
*/
export interface EIP712Types {
[key: string]: unknown;
}
/**
* The message to sign. The structure of this message must match the `primaryType` struct in the `types` object.
*/
export type EIP712MessageMessage = {
[key: string]: unknown;
};
/**
* The message to sign using EIP-712.
*/
export interface EIP712Message {
domain: EIP712Domain;
types: EIP712Types;
/** The primary type of the message. This is the name of the struct in the `types` object that is the root of the message. */
primaryType: string;
/** The message to sign. The structure of this message must match the `primaryType` struct in the `types` object. */
message: EIP712MessageMessage;
}
//# sourceMappingURL=misc.d.ts.map