diff --git a/packages/service-utils/src/core/api.ts b/packages/service-utils/src/core/api.ts index 9a971dbdb7a..96773d6942f 100644 --- a/packages/service-utils/src/core/api.ts +++ b/packages/service-utils/src/core/api.ts @@ -112,6 +112,10 @@ type TeamCapabilities = { enabled: boolean; rateLimit: number; }; + gateway: { + enabled: boolean; + rateLimit: number; + }; }; type TeamPlan = @@ -207,6 +211,10 @@ export type ProjectService = payoutAddress: string | null; developerFeeBPS?: number | null; } + | { + name: "gateway"; + actions: never[]; + } | { name: "storage"; actions: ("read" | "write")[]; diff --git a/packages/service-utils/src/core/services.ts b/packages/service-utils/src/core/services.ts index 189d0483977..effed06c0fa 100644 --- a/packages/service-utils/src/core/services.ts +++ b/packages/service-utils/src/core/services.ts @@ -83,6 +83,13 @@ export const SERVICE_DEFINITIONS = { name: "storage", title: "Storage", }, + gateway: { + // all actions allowed + actions: [], + description: "api.thirdweb.com", + name: "gateway", + title: "Gateway", + }, } as const; export const SERVICE_NAMES = Object.keys( diff --git a/packages/service-utils/src/core/usageV2.ts b/packages/service-utils/src/core/usageV2.ts index d08f85e65d1..dcb50e5a139 100644 --- a/packages/service-utils/src/core/usageV2.ts +++ b/packages/service-utils/src/core/usageV2.ts @@ -10,6 +10,7 @@ export const USAGE_V2_SOURCES = [ "wallet", "pay", "webhook", + "gateway", ] as const; export type UsageV2Source = (typeof USAGE_V2_SOURCES)[number]; diff --git a/packages/service-utils/src/mocks.ts b/packages/service-utils/src/mocks.ts index 334343482d3..057dad72b70 100644 --- a/packages/service-utils/src/mocks.ts +++ b/packages/service-utils/src/mocks.ts @@ -84,6 +84,10 @@ export const validTeamResponse: TeamResponse = { enabled: true, rateLimit: 1000, }, + gateway: { + enabled: true, + rateLimit: 1000, + }, platform: { auditLogs: true, ecosystemWallets: true,