@thirdweb-dev/service-utils 0.0.0-dev-c90ab31-20240201205252 → 0.0.0-dev-175a6a3-20240207013633

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var index = require('../../dist/index-c3455823.cjs.dev.js');
5
+ var index = require('../../dist/index-10f7073a.cjs.dev.js');
6
6
  var aws4fetch = require('aws4fetch');
7
7
  var zod = require('zod');
8
8
  var services = require('../../dist/services-fc5281fe.cjs.dev.js');
@@ -20,7 +20,7 @@ function getAws(options) {
20
20
  * Types
21
21
  */
22
22
  const usageEventSchema = zod.z.object({
23
- source: zod.z.enum(["embeddedWallets", "rpc", "storage", "bundler", "paymaster", "relayer", "connectWallet", "checkout"]),
23
+ source: zod.z.enum(["embeddedWallets", "rpc", "storage", "bundler", "paymaster", "relayer", "connectWallet", "checkout", "engine"]),
24
24
  action: zod.z.string(),
25
25
  /**
26
26
  * The following fields are optional.
@@ -47,7 +47,16 @@ const usageEventSchema = zod.z.object({
47
47
  sdkName: zod.z.string().optional(),
48
48
  sdkVersion: zod.z.string().optional(),
49
49
  sdkPlatform: zod.z.string().optional(),
50
- productName: zod.z.string().optional()
50
+ productName: zod.z.string().optional(),
51
+ transactionValue: zod.z.string().optional(),
52
+ pathname: zod.z.string().optional(),
53
+ contractAddress: zod.z.string().optional(),
54
+ errorCode: zod.z.string().optional(),
55
+ httpStatusCode: zod.z.number().int().nonnegative().optional(),
56
+ functionName: zod.z.string().optional(),
57
+ extension: zod.z.string().optional(),
58
+ retryCount: zod.z.number().int().nonnegative().optional(),
59
+ policyId: zod.z.string().optional()
51
60
  });
52
61
  /**
53
62
  * Publish usage events. Provide the relevant fields for your application.
@@ -216,7 +225,8 @@ async function logHttpRequest(_ref) {
216
225
  req,
217
226
  res,
218
227
  isAuthed,
219
- statusMessage
228
+ statusMessage,
229
+ latencyMs
220
230
  } = _ref;
221
231
  try {
222
232
  const authorizationData = await extractAuthorizationData({
@@ -235,7 +245,9 @@ async function logHttpRequest(_ref) {
235
245
  status: res.status,
236
246
  sdkName: headers.get("x-sdk-name") ?? "unknown",
237
247
  sdkVersion: headers.get("x-sdk-version") ?? "unknown",
238
- platform: headers.get("x-sdk-platform") ?? "unknown"
248
+ platform: headers.get("x-sdk-platform") ?? "unknown",
249
+ os: headers.get("x-sdk-os") ?? "unknown",
250
+ latencyMs: latencyMs ?? null
239
251
  }));
240
252
  console.log(`statusMessage=${statusMessage ?? res.statusText}`);
241
253
  } catch (err) {
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var index = require('../../dist/index-7ff56864.cjs.prod.js');
5
+ var index = require('../../dist/index-c8504597.cjs.prod.js');
6
6
  var aws4fetch = require('aws4fetch');
7
7
  var zod = require('zod');
8
8
  var services = require('../../dist/services-eefefe75.cjs.prod.js');
@@ -20,7 +20,7 @@ function getAws(options) {
20
20
  * Types
21
21
  */
22
22
  const usageEventSchema = zod.z.object({
23
- source: zod.z.enum(["embeddedWallets", "rpc", "storage", "bundler", "paymaster", "relayer", "connectWallet", "checkout"]),
23
+ source: zod.z.enum(["embeddedWallets", "rpc", "storage", "bundler", "paymaster", "relayer", "connectWallet", "checkout", "engine"]),
24
24
  action: zod.z.string(),
25
25
  /**
26
26
  * The following fields are optional.
@@ -47,7 +47,16 @@ const usageEventSchema = zod.z.object({
47
47
  sdkName: zod.z.string().optional(),
48
48
  sdkVersion: zod.z.string().optional(),
49
49
  sdkPlatform: zod.z.string().optional(),
50
- productName: zod.z.string().optional()
50
+ productName: zod.z.string().optional(),
51
+ transactionValue: zod.z.string().optional(),
52
+ pathname: zod.z.string().optional(),
53
+ contractAddress: zod.z.string().optional(),
54
+ errorCode: zod.z.string().optional(),
55
+ httpStatusCode: zod.z.number().int().nonnegative().optional(),
56
+ functionName: zod.z.string().optional(),
57
+ extension: zod.z.string().optional(),
58
+ retryCount: zod.z.number().int().nonnegative().optional(),
59
+ policyId: zod.z.string().optional()
51
60
  });
52
61
  /**
53
62
  * Publish usage events. Provide the relevant fields for your application.
@@ -216,7 +225,8 @@ async function logHttpRequest(_ref) {
216
225
  req,
217
226
  res,
218
227
  isAuthed,
219
- statusMessage
228
+ statusMessage,
229
+ latencyMs
220
230
  } = _ref;
221
231
  try {
222
232
  const authorizationData = await extractAuthorizationData({
@@ -235,7 +245,9 @@ async function logHttpRequest(_ref) {
235
245
  status: res.status,
236
246
  sdkName: headers.get("x-sdk-name") ?? "unknown",
237
247
  sdkVersion: headers.get("x-sdk-version") ?? "unknown",
238
- platform: headers.get("x-sdk-platform") ?? "unknown"
248
+ platform: headers.get("x-sdk-platform") ?? "unknown",
249
+ os: headers.get("x-sdk-os") ?? "unknown",
250
+ latencyMs: latencyMs ?? null
239
251
  }));
240
252
  console.log(`statusMessage=${statusMessage ?? res.statusText}`);
241
253
  } catch (err) {
@@ -1,5 +1,5 @@
1
- import { a as authorize } from '../../dist/index-3993e8dc.esm.js';
2
- export { r as rateLimit, u as usageLimit } from '../../dist/index-3993e8dc.esm.js';
1
+ import { a as authorize } from '../../dist/index-a0fdf5f7.esm.js';
2
+ export { r as rateLimit, u as usageLimit } from '../../dist/index-a0fdf5f7.esm.js';
3
3
  import { AwsClient } from 'aws4fetch';
4
4
  import { z } from 'zod';
5
5
  export { b as SERVICES, S as SERVICE_DEFINITIONS, a as SERVICE_NAMES, g as getServiceByName } from '../../dist/services-6d3ba811.esm.js';
@@ -17,7 +17,7 @@ function getAws(options) {
17
17
  * Types
18
18
  */
19
19
  const usageEventSchema = z.object({
20
- source: z.enum(["embeddedWallets", "rpc", "storage", "bundler", "paymaster", "relayer", "connectWallet", "checkout"]),
20
+ source: z.enum(["embeddedWallets", "rpc", "storage", "bundler", "paymaster", "relayer", "connectWallet", "checkout", "engine"]),
21
21
  action: z.string(),
22
22
  /**
23
23
  * The following fields are optional.
@@ -44,7 +44,16 @@ const usageEventSchema = z.object({
44
44
  sdkName: z.string().optional(),
45
45
  sdkVersion: z.string().optional(),
46
46
  sdkPlatform: z.string().optional(),
47
- productName: z.string().optional()
47
+ productName: z.string().optional(),
48
+ transactionValue: z.string().optional(),
49
+ pathname: z.string().optional(),
50
+ contractAddress: z.string().optional(),
51
+ errorCode: z.string().optional(),
52
+ httpStatusCode: z.number().int().nonnegative().optional(),
53
+ functionName: z.string().optional(),
54
+ extension: z.string().optional(),
55
+ retryCount: z.number().int().nonnegative().optional(),
56
+ policyId: z.string().optional()
48
57
  });
49
58
  /**
50
59
  * Publish usage events. Provide the relevant fields for your application.
@@ -213,7 +222,8 @@ async function logHttpRequest(_ref) {
213
222
  req,
214
223
  res,
215
224
  isAuthed,
216
- statusMessage
225
+ statusMessage,
226
+ latencyMs
217
227
  } = _ref;
218
228
  try {
219
229
  const authorizationData = await extractAuthorizationData({
@@ -232,7 +242,9 @@ async function logHttpRequest(_ref) {
232
242
  status: res.status,
233
243
  sdkName: headers.get("x-sdk-name") ?? "unknown",
234
244
  sdkVersion: headers.get("x-sdk-version") ?? "unknown",
235
- platform: headers.get("x-sdk-platform") ?? "unknown"
245
+ platform: headers.get("x-sdk-platform") ?? "unknown",
246
+ os: headers.get("x-sdk-os") ?? "unknown",
247
+ latencyMs: latencyMs ?? null
236
248
  }));
237
249
  console.log(`statusMessage=${statusMessage ?? res.statusText}`);
238
250
  } catch (err) {
@@ -20,10 +20,11 @@ export declare function authorizeWorker(authInput: AuthInput, serviceConfig: Wor
20
20
  export declare function extractAuthorizationData(authInput: AuthInput): Promise<AuthorizationInput>;
21
21
  export declare function hashSecretKey(secretKey: string): Promise<string>;
22
22
  export declare function deriveClientIdFromSecretKeyHash(secretKeyHash: string): string;
23
- export declare function logHttpRequest({ source, clientId, req, res, isAuthed, statusMessage, }: AuthInput & {
23
+ export declare function logHttpRequest({ source, clientId, req, res, isAuthed, statusMessage, latencyMs, }: AuthInput & {
24
24
  source: string;
25
25
  res: Response;
26
26
  isAuthed?: boolean;
27
27
  statusMessage?: Error | string;
28
+ latencyMs?: number;
28
29
  }): Promise<void>;
29
30
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"../../../../src/cf-worker","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,WAAW,EACX,QAAQ,EACT,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAGV,iBAAiB,EAClB,MAAM,aAAa,CAAC;AAGrB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AAEnC,MAAM,MAAM,mBAAmB,GAAG,iBAAiB,GAAG;IACpD,OAAO,EAAE,WAAW,CAAC;IACrB,GAAG,EAAE,gBAAgB,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAIF,KAAK,SAAS,GAAG,aAAa,GAAG;IAC/B,GAAG,EAAE,OAAO,CAAC;CACd,CAAC;AAEF,wBAAsB,eAAe,CACnC,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,mBAAmB,GACjC,OAAO,CAAC,mBAAmB,CAAC,CA0C9B;AAED,wBAAsB,wBAAwB,CAC5C,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,kBAAkB,CAAC,CA2E7B;AAED,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,mBAIpD;AAED,wBAAgB,+BAA+B,CAAC,aAAa,EAAE,MAAM,UAEpE;AAQD,wBAAsB,cAAc,CAAC,EACnC,MAAM,EACN,QAAQ,EACR,GAAG,EACH,GAAG,EACH,QAAQ,EACR,aAAa,GACd,EAAE,SAAS,GAAG;IACb,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,QAAQ,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CAChC,iBAwBA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"../../../../src/cf-worker","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,WAAW,EACX,QAAQ,EACT,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAGV,iBAAiB,EAClB,MAAM,aAAa,CAAC;AAGrB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AAEnC,MAAM,MAAM,mBAAmB,GAAG,iBAAiB,GAAG;IACpD,OAAO,EAAE,WAAW,CAAC;IACrB,GAAG,EAAE,gBAAgB,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAIF,KAAK,SAAS,GAAG,aAAa,GAAG;IAC/B,GAAG,EAAE,OAAO,CAAC;CACd,CAAC;AAEF,wBAAsB,eAAe,CACnC,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,mBAAmB,GACjC,OAAO,CAAC,mBAAmB,CAAC,CA0C9B;AAED,wBAAsB,wBAAwB,CAC5C,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,kBAAkB,CAAC,CA2E7B;AAED,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,mBAIpD;AAED,wBAAgB,+BAA+B,CAAC,aAAa,EAAE,MAAM,UAEpE;AAQD,wBAAsB,cAAc,CAAC,EACnC,MAAM,EACN,QAAQ,EACR,GAAG,EACH,GAAG,EACH,QAAQ,EACR,aAAa,EACb,SAAS,GACV,EAAE,SAAS,GAAG;IACb,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,QAAQ,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,iBA0BA"}
@@ -3,7 +3,7 @@ import { z } from "zod";
3
3
  * Types
4
4
  */
5
5
  declare const usageEventSchema: z.ZodObject<{
6
- source: z.ZodEnum<["embeddedWallets", "rpc", "storage", "bundler", "paymaster", "relayer", "connectWallet", "checkout"]>;
6
+ source: z.ZodEnum<["embeddedWallets", "rpc", "storage", "bundler", "paymaster", "relayer", "connectWallet", "checkout", "engine"]>;
7
7
  action: z.ZodString;
8
8
  /**
9
9
  * The following fields are optional.
@@ -30,8 +30,17 @@ declare const usageEventSchema: z.ZodObject<{
30
30
  sdkVersion: z.ZodOptional<z.ZodString>;
31
31
  sdkPlatform: z.ZodOptional<z.ZodString>;
32
32
  productName: z.ZodOptional<z.ZodString>;
33
+ transactionValue: z.ZodOptional<z.ZodString>;
34
+ pathname: z.ZodOptional<z.ZodString>;
35
+ contractAddress: z.ZodOptional<z.ZodString>;
36
+ errorCode: z.ZodOptional<z.ZodString>;
37
+ httpStatusCode: z.ZodOptional<z.ZodNumber>;
38
+ functionName: z.ZodOptional<z.ZodString>;
39
+ extension: z.ZodOptional<z.ZodString>;
40
+ retryCount: z.ZodOptional<z.ZodNumber>;
41
+ policyId: z.ZodOptional<z.ZodString>;
33
42
  }, "strip", z.ZodTypeAny, {
34
- source: "storage" | "rpc" | "bundler" | "relayer" | "embeddedWallets" | "checkout" | "paymaster" | "connectWallet";
43
+ source: "storage" | "rpc" | "bundler" | "relayer" | "embeddedWallets" | "checkout" | "paymaster" | "connectWallet" | "engine";
35
44
  action: string;
36
45
  accountId?: string | undefined;
37
46
  isClientEvent?: boolean | undefined;
@@ -55,8 +64,17 @@ declare const usageEventSchema: z.ZodObject<{
55
64
  sdkVersion?: string | undefined;
56
65
  sdkPlatform?: string | undefined;
57
66
  productName?: string | undefined;
67
+ transactionValue?: string | undefined;
68
+ pathname?: string | undefined;
69
+ contractAddress?: string | undefined;
70
+ errorCode?: string | undefined;
71
+ httpStatusCode?: number | undefined;
72
+ functionName?: string | undefined;
73
+ extension?: string | undefined;
74
+ retryCount?: number | undefined;
75
+ policyId?: string | undefined;
58
76
  }, {
59
- source: "storage" | "rpc" | "bundler" | "relayer" | "embeddedWallets" | "checkout" | "paymaster" | "connectWallet";
77
+ source: "storage" | "rpc" | "bundler" | "relayer" | "embeddedWallets" | "checkout" | "paymaster" | "connectWallet" | "engine";
60
78
  action: string;
61
79
  accountId?: string | undefined;
62
80
  isClientEvent?: boolean | undefined;
@@ -80,6 +98,15 @@ declare const usageEventSchema: z.ZodObject<{
80
98
  sdkVersion?: string | undefined;
81
99
  sdkPlatform?: string | undefined;
82
100
  productName?: string | undefined;
101
+ transactionValue?: string | undefined;
102
+ pathname?: string | undefined;
103
+ contractAddress?: string | undefined;
104
+ errorCode?: string | undefined;
105
+ httpStatusCode?: number | undefined;
106
+ functionName?: string | undefined;
107
+ extension?: string | undefined;
108
+ retryCount?: number | undefined;
109
+ policyId?: string | undefined;
83
110
  }>;
84
111
  export type UsageEvent = z.infer<typeof usageEventSchema>;
85
112
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"usage.d.ts","sourceRoot":"../../../../src/cf-worker","sources":["usage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB;;GAEG;AACH,QAAA,MAAM,gBAAgB;;;IAapB;;OAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwBH,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D;;;;;;;;;;;;;GAaG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,UAAU,EAAE,EACzB,MAAM,EAAE;IACN,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GACA,OAAO,CAAC,IAAI,CAAC,CAiCf"}
1
+ {"version":3,"file":"usage.d.ts","sourceRoot":"../../../../src/cf-worker","sources":["usage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB;;GAEG;AACH,QAAA,MAAM,gBAAgB;;;IAcpB;;OAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiCH,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D;;;;;;;;;;;;;GAaG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,UAAU,EAAE,EACzB,MAAM,EAAE;IACN,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GACA,OAAO,CAAC,IAAI,CAAC,CAiCf"}
@@ -1,4 +1,15 @@
1
1
  import type { ServiceName } from "./services";
2
+ export type UserOpData = {
3
+ sender: string;
4
+ targets: string[];
5
+ gasLimit: string;
6
+ gasPrice: string;
7
+ };
8
+ export type PolicyResult = {
9
+ policyId: string | null;
10
+ isAllowed: boolean;
11
+ reason: string;
12
+ };
2
13
  export type CoreServiceConfig = {
3
14
  enforceAuth?: boolean;
4
15
  apiUrl: string;
@@ -6,6 +17,11 @@ export type CoreServiceConfig = {
6
17
  serviceApiKey: string;
7
18
  serviceAction?: string;
8
19
  useWalletAuth?: boolean;
20
+ checkPolicy?: boolean;
21
+ policyMetadata?: {
22
+ chainId: number;
23
+ userOp: UserOpData;
24
+ };
9
25
  };
10
26
  type Usage = {
11
27
  storage?: {
@@ -35,6 +51,7 @@ export type ApiKeyMetadata = {
35
51
  usage?: Usage;
36
52
  limits: Partial<Record<ServiceName, number>>;
37
53
  rateLimits: Partial<Record<ServiceName, number>>;
54
+ policyResult?: PolicyResult;
38
55
  };
39
56
  export type AccountMetadata = {
40
57
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"../../../../src/core","sources":["api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"../../../../src/core","sources":["api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,WAAW,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,UAAU,CAAC;KACpB,CAAC;CACH,CAAC;AAEF,KAAK,KAAK,GAAG;IACX,OAAO,CAAC,EAAE;QACR,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,eAAe,CAAC,EAAE;QAChB,oBAAoB,EAAE,MAAM,CAAC;KAC9B,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,YAAY,GAAG,WAAW,GAAG,cAAc,GAAG,gBAAgB,CAAC;IAC9E,WAAW,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,YAAY,CAAC;IACtD,oBAAoB,EAAE,MAAM,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,eAAe,EAAE,MAAM,EAAE,CAAC;QAC1B,OAAO,EAAE,MAAM,EAAE,CAAC;KACnB,EAAE,CAAC;IACJ,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;IAC7C,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;IACjD,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB,EAAE,MAAM,CAAC;IAC7B,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;IAC7C,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;CAClD,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,cAAc,GAAG,IAAI,CAAC;IAC5B,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,eAAe,GAAG,IAAI,CAAC;IAC7B,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH,CAAC;AAEF,wBAAsB,uBAAuB,CAC3C,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAAC,WAAW,CAAC,CA2BtB;AAED,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,iBAAiB,EACzB,aAAa,EAAE,OAAO,GACrB,OAAO,CAAC,kBAAkB,CAAC,CAuB7B;AAED,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAAC,IAAI,CAAC,CAgBf"}
@@ -33,10 +33,11 @@ export declare function authorizeNode(authInput: AuthInput, serviceConfig: NodeS
33
33
  export declare function extractAuthorizationData(authInput: AuthInput): AuthorizationInput;
34
34
  export declare function hashSecretKey(secretKey: string): string;
35
35
  export declare function deriveClientIdFromSecretKeyHash(secretKeyHash: string): string;
36
- export declare function logHttpRequest({ source, clientId, req, res, isAuthed, statusMessage, }: AuthInput & {
36
+ export declare function logHttpRequest({ source, clientId, req, res, isAuthed, statusMessage, latencyMs, }: AuthInput & {
37
37
  source: string;
38
38
  res: ServerResponse;
39
39
  isAuthed?: boolean;
40
40
  statusMessage?: Error | string;
41
+ latencyMs?: number;
41
42
  }): void;
42
43
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"../../../../src/node","sources":["index.ts"],"names":[],"mappings":";AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAC3C,OAAO,KAAK,EAAuB,eAAe,EAAE,MAAM,WAAW,CAAC;AACtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AAEnC,KAAK,iBAAiB,GAAG,iBAAiB,CAAC;AAE3C,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG;IACtC,GAAG,EAAE,eAAe,CAAC;CACtB,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,aAAa,CACjC,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,iBAAiB,GAC/B,OAAO,CAAC,mBAAmB,CAAC,CAsB9B;AAaD,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,SAAS,GACnB,kBAAkB,CA2FpB;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,UAE9C;AAED,wBAAgB,+BAA+B,CAAC,aAAa,EAAE,MAAM,UAEpE;AAED,wBAAgB,cAAc,CAAC,EAC7B,MAAM,EACN,QAAQ,EACR,GAAG,EACH,GAAG,EACH,QAAQ,EACR,aAAa,GACd,EAAE,SAAS,GAAG;IACb,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,cAAc,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CAChC,QA0BA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"../../../../src/node","sources":["index.ts"],"names":[],"mappings":";AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAC3C,OAAO,KAAK,EAAuB,eAAe,EAAE,MAAM,WAAW,CAAC;AACtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AAEnC,KAAK,iBAAiB,GAAG,iBAAiB,CAAC;AAE3C,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG;IACtC,GAAG,EAAE,eAAe,CAAC;CACtB,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,aAAa,CACjC,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,iBAAiB,GAC/B,OAAO,CAAC,mBAAmB,CAAC,CAsB9B;AAaD,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,SAAS,GACnB,kBAAkB,CA2FpB;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,UAE9C;AAED,wBAAgB,+BAA+B,CAAC,aAAa,EAAE,MAAM,UAEpE;AAED,wBAAgB,cAAc,CAAC,EAC7B,MAAM,EACN,QAAQ,EACR,GAAG,EACH,GAAG,EACH,QAAQ,EACR,aAAa,EACb,SAAS,GACV,EAAE,SAAS,GAAG;IACb,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,cAAc,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,QA4BA"}
@@ -4,9 +4,12 @@ async function fetchKeyMetadataFromApi(clientId, config) {
4
4
  const {
5
5
  apiUrl,
6
6
  serviceScope,
7
- serviceApiKey
7
+ serviceApiKey,
8
+ checkPolicy,
9
+ policyMetadata
8
10
  } = config;
9
- const url = `${apiUrl}/v1/keys/use?clientId=${clientId}&scope=${serviceScope}&includeUsage=true`;
11
+ const policyQuery = checkPolicy && policyMetadata ? `&checkPolicy=true&policyMetadata=${encodeURIComponent(JSON.stringify(policyMetadata))}` : "";
12
+ const url = `${apiUrl}/v1/keys/use?clientId=${clientId}&scope=${serviceScope}&includeUsage=true${policyQuery}`;
10
13
  const response = await fetch(url, {
11
14
  method: "GET",
12
15
  headers: {
@@ -2,9 +2,12 @@ async function fetchKeyMetadataFromApi(clientId, config) {
2
2
  const {
3
3
  apiUrl,
4
4
  serviceScope,
5
- serviceApiKey
5
+ serviceApiKey,
6
+ checkPolicy,
7
+ policyMetadata
6
8
  } = config;
7
- const url = `${apiUrl}/v1/keys/use?clientId=${clientId}&scope=${serviceScope}&includeUsage=true`;
9
+ const policyQuery = checkPolicy && policyMetadata ? `&checkPolicy=true&policyMetadata=${encodeURIComponent(JSON.stringify(policyMetadata))}` : "";
10
+ const url = `${apiUrl}/v1/keys/use?clientId=${clientId}&scope=${serviceScope}&includeUsage=true${policyQuery}`;
8
11
  const response = await fetch(url, {
9
12
  method: "GET",
10
13
  headers: {
@@ -4,9 +4,12 @@ async function fetchKeyMetadataFromApi(clientId, config) {
4
4
  const {
5
5
  apiUrl,
6
6
  serviceScope,
7
- serviceApiKey
7
+ serviceApiKey,
8
+ checkPolicy,
9
+ policyMetadata
8
10
  } = config;
9
- const url = `${apiUrl}/v1/keys/use?clientId=${clientId}&scope=${serviceScope}&includeUsage=true`;
11
+ const policyQuery = checkPolicy && policyMetadata ? `&checkPolicy=true&policyMetadata=${encodeURIComponent(JSON.stringify(policyMetadata))}` : "";
12
+ const url = `${apiUrl}/v1/keys/use?clientId=${clientId}&scope=${serviceScope}&includeUsage=true${policyQuery}`;
10
13
  const response = await fetch(url, {
11
14
  method: "GET",
12
15
  headers: {
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var node_crypto = require('node:crypto');
6
- var index = require('../../dist/index-c3455823.cjs.dev.js');
6
+ var index = require('../../dist/index-10f7073a.cjs.dev.js');
7
7
  var services = require('../../dist/services-fc5281fe.cjs.dev.js');
8
8
 
9
9
  /**
@@ -148,7 +148,8 @@ function logHttpRequest(_ref) {
148
148
  req,
149
149
  res,
150
150
  isAuthed,
151
- statusMessage
151
+ statusMessage,
152
+ latencyMs
152
153
  } = _ref;
153
154
  try {
154
155
  const authorizationData = extractAuthorizationData({
@@ -169,7 +170,9 @@ function logHttpRequest(_ref) {
169
170
  statusMessage: _statusMessage,
170
171
  sdkName: headers["x-sdk-name"] ?? "unknown",
171
172
  sdkVersion: headers["x-sdk-version"] ?? "unknown",
172
- platform: headers["x-sdk-platform"] ?? "unknown"
173
+ platform: headers["x-sdk-platform"] ?? "unknown",
174
+ os: headers["x-sdk-os"] ?? "unknown",
175
+ latencyMs: latencyMs ?? null
173
176
  }));
174
177
  console.log(`statusMessage=${_statusMessage}`);
175
178
  } catch (err) {
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var node_crypto = require('node:crypto');
6
- var index = require('../../dist/index-7ff56864.cjs.prod.js');
6
+ var index = require('../../dist/index-c8504597.cjs.prod.js');
7
7
  var services = require('../../dist/services-eefefe75.cjs.prod.js');
8
8
 
9
9
  /**
@@ -148,7 +148,8 @@ function logHttpRequest(_ref) {
148
148
  req,
149
149
  res,
150
150
  isAuthed,
151
- statusMessage
151
+ statusMessage,
152
+ latencyMs
152
153
  } = _ref;
153
154
  try {
154
155
  const authorizationData = extractAuthorizationData({
@@ -169,7 +170,9 @@ function logHttpRequest(_ref) {
169
170
  statusMessage: _statusMessage,
170
171
  sdkName: headers["x-sdk-name"] ?? "unknown",
171
172
  sdkVersion: headers["x-sdk-version"] ?? "unknown",
172
- platform: headers["x-sdk-platform"] ?? "unknown"
173
+ platform: headers["x-sdk-platform"] ?? "unknown",
174
+ os: headers["x-sdk-os"] ?? "unknown",
175
+ latencyMs: latencyMs ?? null
173
176
  }));
174
177
  console.log(`statusMessage=${_statusMessage}`);
175
178
  } catch (err) {
@@ -1,6 +1,6 @@
1
1
  import { createHash } from 'node:crypto';
2
- import { a as authorize } from '../../dist/index-3993e8dc.esm.js';
3
- export { r as rateLimit, u as usageLimit } from '../../dist/index-3993e8dc.esm.js';
2
+ import { a as authorize } from '../../dist/index-a0fdf5f7.esm.js';
3
+ export { r as rateLimit, u as usageLimit } from '../../dist/index-a0fdf5f7.esm.js';
4
4
  export { b as SERVICES, S as SERVICE_DEFINITIONS, a as SERVICE_NAMES, g as getServiceByName } from '../../dist/services-6d3ba811.esm.js';
5
5
 
6
6
  /**
@@ -145,7 +145,8 @@ function logHttpRequest(_ref) {
145
145
  req,
146
146
  res,
147
147
  isAuthed,
148
- statusMessage
148
+ statusMessage,
149
+ latencyMs
149
150
  } = _ref;
150
151
  try {
151
152
  const authorizationData = extractAuthorizationData({
@@ -166,7 +167,9 @@ function logHttpRequest(_ref) {
166
167
  statusMessage: _statusMessage,
167
168
  sdkName: headers["x-sdk-name"] ?? "unknown",
168
169
  sdkVersion: headers["x-sdk-version"] ?? "unknown",
169
- platform: headers["x-sdk-platform"] ?? "unknown"
170
+ platform: headers["x-sdk-platform"] ?? "unknown",
171
+ os: headers["x-sdk-os"] ?? "unknown",
172
+ latencyMs: latencyMs ?? null
170
173
  }));
171
174
  console.log(`statusMessage=${_statusMessage}`);
172
175
  } catch (err) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thirdweb-dev/service-utils",
3
- "version": "0.0.0-dev-c90ab31-20240201205252",
3
+ "version": "0.0.0-dev-175a6a3-20240207013633",
4
4
  "main": "dist/thirdweb-dev-service-utils.cjs.js",
5
5
  "module": "dist/thirdweb-dev-service-utils.esm.js",
6
6
  "exports": {
@@ -46,7 +46,7 @@
46
46
  "@types/jest": "^29.5.3",
47
47
  "@types/node": "^18.17.1",
48
48
  "@typescript-eslint/eslint-plugin": "^6.2.0",
49
- "@typescript-eslint/parser": "^6.2.0",
49
+ "@typescript-eslint/parser": "^6.19.1",
50
50
  "eslint": "^8.56.0",
51
51
  "eslint-config-prettier": "^8.9.0",
52
52
  "eslint-config-thirdweb": "^0.1.7",