@coinbase/cdp-sdk
Version:
SDK for interacting with the Coinbase Developer Platform Wallet API
68 lines • 2.81 kB
TypeScript
import { CdpOpenApiClientType } from "../../openapi-client/index.js";
/**
* The supported wallet transaction webhook event types.
*/
export type WebhookEventType = "wallet.transaction.created" | "wallet.transaction.broadcast" | "wallet.transaction.pending" | "wallet.transaction.replaced" | "wallet.transaction.confirmed" | "wallet.transaction.failed" | "wallet.transaction.signed" | "wallet.typed_data.signed" | "wallet.message.signed" | "wallet.hash.signed" | "wallet.delegation.created" | "wallet.delegation.revoked";
/**
* Options for creating a webhook subscription.
*/
export interface CreateWebhookSubscriptionOptions {
/** A description of the webhook subscription. */
description?: string;
/** The event types to subscribe to. */
eventTypes: WebhookEventType[];
/** The URL to deliver webhook events to. */
targetUrl: string;
/** Additional headers to include in webhook requests. */
targetHeaders?: Record<string, string>;
/** Whether the subscription is enabled. Defaults to `true`. */
isEnabled?: boolean;
/** Additional metadata for the subscription. */
metadata?: Record<string, string>;
}
/**
* The result of creating a webhook subscription.
*/
export interface CreateWebhookSubscriptionResult {
/** The unique identifier for the subscription. */
subscriptionId: string;
/** The description of the webhook subscription. */
description?: string;
/** The event types the subscription is subscribed to. */
eventTypes: string[];
/** The webhook URL events are delivered to. */
targetUrl: string;
/** Additional headers included in webhook requests. */
targetHeaders?: Record<string, string>;
/** Whether the subscription is enabled. */
isEnabled: boolean;
/** Secret for webhook signature verification. */
secret: string;
/** When the subscription was created. */
createdAt: string;
/** When the subscription was last updated. */
updatedAt?: string;
}
/**
* Creates a webhook subscription for wallet transaction events.
*
* @param client - The CDP OpenAPI client.
* @param options - The options for creating the webhook subscription.
* @returns The created webhook subscription.
*
* @example
* ```ts
* const subscription = await createWebhookSubscription(client, {
* description: "Monitor wallet transactions",
* eventTypes: [
* "wallet.transaction.pending",
* "wallet.transaction.confirmed",
* "wallet.transaction.failed",
* ],
* targetUrl: "https://example.com/webhook",
* isEnabled: true,
* });
* ```
*/
export declare function createWebhookSubscription(client: CdpOpenApiClientType, options: CreateWebhookSubscriptionOptions): Promise<CreateWebhookSubscriptionResult>;
//# sourceMappingURL=createWebhookSubscription.d.ts.map