@thirdweb-dev/service-utils 0.9.13 → 0.9.14
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.
- package/dist/cjs/cf-worker/index.js +25 -25
- package/dist/cjs/cf-worker/index.js.map +1 -1
- package/dist/cjs/cf-worker/usage.js +7 -7
- package/dist/cjs/cf-worker/usage.js.map +1 -1
- package/dist/cjs/cf-worker/usageV2.js +2 -2
- package/dist/cjs/cf-worker/usageV2.js.map +1 -1
- package/dist/cjs/core/api.js +1 -1
- package/dist/cjs/core/api.js.map +1 -1
- package/dist/cjs/core/authorize/client.js +6 -6
- package/dist/cjs/core/authorize/client.js.map +1 -1
- package/dist/cjs/core/authorize/index.js +12 -12
- package/dist/cjs/core/authorize/index.js.map +1 -1
- package/dist/cjs/core/authorize/service.js +7 -7
- package/dist/cjs/core/authorize/service.js.map +1 -1
- package/dist/cjs/core/rateLimit/index.js +7 -7
- package/dist/cjs/core/rateLimit/index.js.map +1 -1
- package/dist/cjs/core/rateLimit/strategies/sliding-window.js +3 -3
- package/dist/cjs/core/rateLimit/strategies/sliding-window.js.map +1 -1
- package/dist/cjs/core/services.js +51 -51
- package/dist/cjs/core/services.js.map +1 -1
- package/dist/cjs/core/usage.js +53 -52
- package/dist/cjs/core/usage.js.map +1 -1
- package/dist/cjs/index.js +5 -5
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/mocks.js +60 -59
- package/dist/cjs/mocks.js.map +1 -1
- package/dist/cjs/node/index.js +25 -25
- package/dist/cjs/node/index.js.map +1 -1
- package/dist/cjs/node/kafka.js +6 -6
- package/dist/cjs/node/kafka.js.map +1 -1
- package/dist/cjs/node/usageV2.js +8 -8
- package/dist/cjs/node/usageV2.js.map +1 -1
- package/dist/esm/cf-worker/index.js +25 -25
- package/dist/esm/cf-worker/index.js.map +1 -1
- package/dist/esm/cf-worker/usage.js +7 -7
- package/dist/esm/cf-worker/usage.js.map +1 -1
- package/dist/esm/cf-worker/usageV2.js +2 -2
- package/dist/esm/cf-worker/usageV2.js.map +1 -1
- package/dist/esm/core/api.js +1 -1
- package/dist/esm/core/api.js.map +1 -1
- package/dist/esm/core/authorize/client.js +6 -6
- package/dist/esm/core/authorize/client.js.map +1 -1
- package/dist/esm/core/authorize/index.js +12 -12
- package/dist/esm/core/authorize/index.js.map +1 -1
- package/dist/esm/core/authorize/service.js +7 -7
- package/dist/esm/core/authorize/service.js.map +1 -1
- package/dist/esm/core/rateLimit/index.js +7 -7
- package/dist/esm/core/rateLimit/index.js.map +1 -1
- package/dist/esm/core/rateLimit/strategies/sliding-window.js +3 -3
- package/dist/esm/core/rateLimit/strategies/sliding-window.js.map +1 -1
- package/dist/esm/core/services.js +51 -51
- package/dist/esm/core/services.js.map +1 -1
- package/dist/esm/core/usage.js +53 -52
- package/dist/esm/core/usage.js.map +1 -1
- package/dist/esm/index.js +2 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/mocks.js +60 -59
- package/dist/esm/mocks.js.map +1 -1
- package/dist/esm/node/index.js +25 -25
- package/dist/esm/node/index.js.map +1 -1
- package/dist/esm/node/kafka.js +6 -6
- package/dist/esm/node/kafka.js.map +1 -1
- package/dist/esm/node/usageV2.js +8 -8
- package/dist/esm/node/usageV2.js.map +1 -1
- package/dist/types/cf-worker/index.d.ts +3 -3
- package/dist/types/cf-worker/index.d.ts.map +1 -1
- package/dist/types/cf-worker/usage.d.ts.map +1 -1
- package/dist/types/core/api.d.ts +4 -0
- package/dist/types/core/api.d.ts.map +1 -1
- package/dist/types/core/authorize/client.d.ts.map +1 -1
- package/dist/types/core/authorize/index.d.ts.map +1 -1
- package/dist/types/core/services.d.ts +122 -122
- package/dist/types/core/services.d.ts.map +1 -1
- package/dist/types/core/usage.d.ts +143 -141
- package/dist/types/core/usage.d.ts.map +1 -1
- package/dist/types/index.d.ts +3 -3
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/mocks.d.ts.map +1 -1
- package/dist/types/node/index.d.ts +4 -4
- package/dist/types/node/index.d.ts.map +1 -1
- package/dist/types/node/usageV2.d.ts.map +1 -1
- package/package.json +44 -43
@@ -4,9 +4,9 @@ export async function rateLimitSlidingWindow(options) {
|
|
4
4
|
// No rate limit is provided. Assume the request is not rate limited.
|
5
5
|
if (options.limitPerSecond <= 0) {
|
6
6
|
return {
|
7
|
+
rateLimit: 0,
|
7
8
|
rateLimited: false,
|
8
9
|
requestCount: INCREMENT_BY,
|
9
|
-
rateLimit: 0,
|
10
10
|
};
|
11
11
|
}
|
12
12
|
// Enforce rate limit: sum the total requests in the last `SLIDING_WINDOW_SECONDS` seconds.
|
@@ -17,9 +17,9 @@ export async function rateLimitSlidingWindow(options) {
|
|
17
17
|
const limitPerWindow = options.limitPerSecond * WINDOW_SIZE;
|
18
18
|
if (totalCount > limitPerWindow) {
|
19
19
|
return {
|
20
|
+
rateLimit: limitPerWindow,
|
20
21
|
rateLimited: true,
|
21
22
|
requestCount: totalCount,
|
22
|
-
rateLimit: limitPerWindow,
|
23
23
|
};
|
24
24
|
}
|
25
25
|
// Non-blocking: increment the request count for the current second.
|
@@ -37,9 +37,9 @@ export async function rateLimitSlidingWindow(options) {
|
|
37
37
|
}
|
38
38
|
})();
|
39
39
|
return {
|
40
|
+
rateLimit: limitPerWindow,
|
40
41
|
rateLimited: false,
|
41
42
|
requestCount: totalCount + INCREMENT_BY,
|
42
|
-
rateLimit: limitPerWindow,
|
43
43
|
};
|
44
44
|
}
|
45
45
|
function getRequestCountAtSecondCacheKey(key, second) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"sliding-window.js","sourceRoot":"","sources":["../../../../../src/core/rateLimit/strategies/sliding-window.ts"],"names":[],"mappings":"AAkBA,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAAsC;IAEtC,MAAM,WAAW,GAAG,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;IAChD,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC;IAE5C,qEAAqE;IACrE,IAAI,OAAO,CAAC,cAAc,IAAI,CAAC,EAAE,CAAC;QAChC,OAAO;YACL,WAAW,EAAE,KAAK;YAClB,YAAY,EAAE,YAAY;
|
1
|
+
{"version":3,"file":"sliding-window.js","sourceRoot":"","sources":["../../../../../src/core/rateLimit/strategies/sliding-window.ts"],"names":[],"mappings":"AAkBA,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAAsC;IAEtC,MAAM,WAAW,GAAG,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;IAChD,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC;IAE5C,qEAAqE;IACrE,IAAI,OAAO,CAAC,cAAc,IAAI,CAAC,EAAE,CAAC;QAChC,OAAO;YACL,SAAS,EAAE,CAAC;YACZ,WAAW,EAAE,KAAK;YAClB,YAAY,EAAE,YAAY;SAC3B,CAAC;IACJ,CAAC;IAED,2FAA2F;IAC3F,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACxD,+BAA+B,CAAC,OAAO,CAAC,GAAG,EAAE,aAAa,GAAG,CAAC,CAAC,CAChE,CAAC;IACF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAC9B,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC1D,CAAC,CACF,CAAC;IAEF,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,GAAG,WAAW,CAAC;IAE5D,IAAI,UAAU,GAAG,cAAc,EAAE,CAAC;QAChC,OAAO;YACL,SAAS,EAAE,cAAc;YACzB,WAAW,EAAE,IAAI;YACjB,YAAY,EAAE,UAAU;SACzB,CAAC;IACJ,CAAC;IAED,oEAAoE;IACpE,CAAC,KAAK,IAAI,EAAE;QACV,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,+BAA+B,CAC7C,OAAO,CAAC,GAAG,EACX,aAAa,CACd,CAAC;YACF,MAAM,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAClD,0FAA0F;YAC1F,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBACvB,MAAM,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;QACzD,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IAEL,OAAO;QACL,SAAS,EAAE,cAAc;QACzB,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE,UAAU,GAAG,YAAY;KACxC,CAAC;AACJ,CAAC;AAED,SAAS,+BAA+B,CAAC,GAAW,EAAE,MAAc;IAClE,OAAO,GAAG,GAAG,MAAM,MAAM,EAAE,CAAC;AAC9B,CAAC"}
|
@@ -1,83 +1,83 @@
|
|
1
1
|
export const SERVICE_DEFINITIONS = {
|
2
|
-
|
3
|
-
name: "storage",
|
4
|
-
title: "Storage",
|
5
|
-
description: "IPFS Upload and Download",
|
6
|
-
actions: [
|
7
|
-
{
|
8
|
-
name: "read",
|
9
|
-
title: "Download",
|
10
|
-
description: "Download a file from Storage",
|
11
|
-
},
|
12
|
-
{
|
13
|
-
name: "write",
|
14
|
-
title: "Upload",
|
15
|
-
description: "Upload a file to Storage",
|
16
|
-
},
|
17
|
-
],
|
18
|
-
},
|
19
|
-
rpc: {
|
20
|
-
name: "rpc",
|
21
|
-
title: "RPC",
|
22
|
-
description: "Accelerated RPC Edge",
|
2
|
+
bundler: {
|
23
3
|
// all actions allowed
|
24
4
|
actions: [],
|
25
|
-
|
26
|
-
bundler: {
|
5
|
+
description: "Bundler & Paymaster services",
|
27
6
|
name: "bundler",
|
28
7
|
title: "Account Abstraction",
|
29
|
-
description: "Bundler & Paymaster services",
|
30
|
-
// all actions allowed
|
31
|
-
actions: [],
|
32
8
|
},
|
33
|
-
|
34
|
-
name: "relayer",
|
35
|
-
title: "Gasless Relayer",
|
36
|
-
description: "Enable gasless transactions",
|
9
|
+
chainsaw: {
|
37
10
|
// all actions allowed
|
38
11
|
actions: [],
|
12
|
+
description: "Indexed data for any EVM chain",
|
13
|
+
name: "chainsaw",
|
14
|
+
title: "Chainsaw",
|
39
15
|
},
|
40
16
|
embeddedWallets: {
|
41
|
-
name: "embeddedWallets",
|
42
|
-
title: "In-App Wallets",
|
43
|
-
description: "E-mail and social login wallets for easy web3 onboarding",
|
44
17
|
// all actions allowed
|
45
18
|
actions: [],
|
19
|
+
description: "E-mail and social login wallets for easy web3 onboarding",
|
20
|
+
name: "embeddedWallets",
|
21
|
+
title: "Wallets",
|
46
22
|
},
|
47
|
-
|
48
|
-
name: "pay",
|
49
|
-
title: "Universal Bridge",
|
50
|
-
description: "Bridge, swap, and purchase cryptocurrencies and execute transactions with any fiat or tokens via cross-chain routing",
|
23
|
+
engineCloud: {
|
51
24
|
// all actions allowed
|
52
25
|
actions: [],
|
26
|
+
description: "Transaction API and Server wallets with high transaction throughput and low latency",
|
27
|
+
name: "engineCloud",
|
28
|
+
title: "Transactions",
|
53
29
|
},
|
54
|
-
|
55
|
-
name: "chainsaw",
|
56
|
-
title: "Chainsaw",
|
57
|
-
description: "Indexed data for any EVM chain",
|
30
|
+
insight: {
|
58
31
|
// all actions allowed
|
59
32
|
actions: [],
|
60
|
-
|
61
|
-
insight: {
|
33
|
+
description: "Indexed data for any EVM chain",
|
62
34
|
name: "insight",
|
63
35
|
title: "Insight",
|
64
|
-
description: "Indexed data for any EVM chain",
|
65
|
-
// all actions allowed
|
66
|
-
actions: [],
|
67
36
|
},
|
68
37
|
nebula: {
|
38
|
+
// all actions allowed
|
39
|
+
actions: [],
|
40
|
+
description: "Advanced blockchain reasoning and execution capabilities with AI",
|
69
41
|
name: "nebula",
|
70
42
|
title: "Nebula",
|
71
|
-
|
43
|
+
},
|
44
|
+
pay: {
|
72
45
|
// all actions allowed
|
73
46
|
actions: [],
|
47
|
+
description: "Bridge, swap, and purchase cryptocurrencies and execute transactions with any fiat or tokens via cross-chain routing",
|
48
|
+
name: "pay",
|
49
|
+
title: "Universal Bridge",
|
74
50
|
},
|
75
|
-
|
76
|
-
name: "engineCloud",
|
77
|
-
title: "Engine Cloud",
|
78
|
-
description: "Transaction API and Server wallets with high transaction throughput and low latency",
|
51
|
+
relayer: {
|
79
52
|
// all actions allowed
|
80
53
|
actions: [],
|
54
|
+
description: "Enable gasless transactions",
|
55
|
+
name: "relayer",
|
56
|
+
title: "Gasless Relayer",
|
57
|
+
},
|
58
|
+
rpc: {
|
59
|
+
// all actions allowed
|
60
|
+
actions: [],
|
61
|
+
description: "Accelerated RPC Edge",
|
62
|
+
name: "rpc",
|
63
|
+
title: "RPC",
|
64
|
+
},
|
65
|
+
storage: {
|
66
|
+
actions: [
|
67
|
+
{
|
68
|
+
description: "Download a file from Storage",
|
69
|
+
name: "read",
|
70
|
+
title: "Download",
|
71
|
+
},
|
72
|
+
{
|
73
|
+
description: "Upload a file to Storage",
|
74
|
+
name: "write",
|
75
|
+
title: "Upload",
|
76
|
+
},
|
77
|
+
],
|
78
|
+
description: "IPFS Upload and Download",
|
79
|
+
name: "storage",
|
80
|
+
title: "Storage",
|
81
81
|
},
|
82
82
|
};
|
83
83
|
export const SERVICE_NAMES = Object.keys(SERVICE_DEFINITIONS);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"services.js","sourceRoot":"","sources":["../../../src/core/services.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,OAAO,EAAE;QACP,
|
1
|
+
{"version":3,"file":"services.js","sourceRoot":"","sources":["../../../src/core/services.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,OAAO,EAAE;QACP,sBAAsB;QACtB,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,8BAA8B;QAC3C,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,qBAAqB;KAC7B;IACD,QAAQ,EAAE;QACR,sBAAsB;QACtB,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,gCAAgC;QAC7C,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,UAAU;KAClB;IACD,eAAe,EAAE;QACf,sBAAsB;QACtB,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,0DAA0D;QACvE,IAAI,EAAE,iBAAiB;QACvB,KAAK,EAAE,SAAS;KACjB;IAED,WAAW,EAAE;QACX,sBAAsB;QACtB,OAAO,EAAE,EAAE;QACX,WAAW,EACT,qFAAqF;QACvF,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,cAAc;KACtB;IACD,OAAO,EAAE;QACP,sBAAsB;QACtB,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,gCAAgC;QAC7C,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,SAAS;KACjB;IACD,MAAM,EAAE;QACN,sBAAsB;QACtB,OAAO,EAAE,EAAE;QACX,WAAW,EACT,kEAAkE;QACpE,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,QAAQ;KAChB;IACD,GAAG,EAAE;QACH,sBAAsB;QACtB,OAAO,EAAE,EAAE;QACX,WAAW,EACT,sHAAsH;QACxH,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,kBAAkB;KAC1B;IACD,OAAO,EAAE;QACP,sBAAsB;QACtB,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,6BAA6B;QAC1C,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,iBAAiB;KACzB;IACD,GAAG,EAAE;QACH,sBAAsB;QACtB,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,sBAAsB;QACnC,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,KAAK;KACb;IACD,OAAO,EAAE;QACP,OAAO,EAAE;YACP;gBACE,WAAW,EAAE,8BAA8B;gBAC3C,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,UAAU;aAClB;YACD;gBACE,WAAW,EAAE,0BAA0B;gBACvC,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,QAAQ;aAChB;SACF;QACD,WAAW,EAAE,0BAA0B;QACvC,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,SAAS;KACjB;CACO,CAAC;AAEX,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CACtC,mBAAmB,CACoB,CAAC;AAE1C,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAa3D,MAAM,UAAU,gBAAgB,CAAC,IAAiB;IAChD,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC;AACnC,CAAC"}
|
package/dist/esm/core/usage.js
CHANGED
@@ -1,49 +1,37 @@
|
|
1
1
|
import { z } from "zod";
|
2
|
+
/** @deprecated - Use UsageV2Event instead */
|
2
3
|
export const usageEventSchema = z.object({
|
3
|
-
source: z.string(),
|
4
|
-
action: z.string(),
|
5
4
|
/**
|
6
5
|
* The following fields are optional.
|
7
6
|
*/
|
8
7
|
accountId: z.string().optional(),
|
9
|
-
|
8
|
+
action: z.string(),
|
9
|
+
amountUSDCents: z.number().nonnegative().optional(),
|
10
|
+
amountWei: z.string().optional(),
|
10
11
|
apiKeyId: z.string().optional(),
|
11
|
-
|
12
|
-
clientId: z.string().optional(),
|
13
|
-
walletAddress: z.string().optional(),
|
14
|
-
walletType: z.string().optional(),
|
12
|
+
authenticationMethod: z.string().optional(),
|
15
13
|
chainId: z.number().int().positive().optional(),
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
fileCid: z.string().optional(),
|
20
|
-
evmMethod: z.string().optional(),
|
21
|
-
userOpHash: z.string().optional(),
|
22
|
-
gasLimit: z.number().nonnegative().optional(),
|
23
|
-
gasPricePerUnit: z.string().optional(),
|
24
|
-
transactionFeeUsd: z.number().optional(),
|
25
|
-
transactionHash: z.string().optional(),
|
26
|
-
sdkName: z.string().optional(),
|
27
|
-
sdkVersion: z.string().optional(),
|
28
|
-
sdkPlatform: z.string().optional(),
|
29
|
-
sdkOS: z.string().optional(),
|
30
|
-
productName: z.string().optional(),
|
31
|
-
transactionValue: z.string().optional(),
|
32
|
-
pathname: z.string().optional(),
|
14
|
+
chainName: z.string().optional(),
|
15
|
+
clientId: z.string().optional(),
|
16
|
+
completionTokens: z.number().int().nonnegative().optional(),
|
33
17
|
contractAddress: z.string().optional(),
|
18
|
+
creatorWalletAddress: z.string().optional(),
|
19
|
+
dstChainId: z.number().optional(),
|
20
|
+
dstChainName: z.string().optional(),
|
21
|
+
dstTokenAddress: z.string().optional(),
|
22
|
+
dstTokenSymbol: z.string().optional(),
|
23
|
+
// Used to identify the ecosystem that the an ecosystem wallet belongs too
|
24
|
+
ecosystemId: z.string().optional(),
|
25
|
+
ecosystemPartnerId: z.string().optional(),
|
34
26
|
errorCode: z.string().optional(),
|
35
|
-
|
36
|
-
|
27
|
+
evmMethod: z.string().optional(),
|
28
|
+
evmRequestParams: z.string().optional(),
|
37
29
|
extension: z.string().optional(),
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
swapId: z.string().optional(),
|
44
|
-
tokenAddress: z.string().optional(),
|
45
|
-
amountWei: z.string().optional(),
|
46
|
-
amountUSDCents: z.number().nonnegative().optional(),
|
30
|
+
fileCid: z.string().optional(),
|
31
|
+
fileSize: z.number().int().nonnegative().optional(),
|
32
|
+
functionName: z.string().optional(),
|
33
|
+
gasLimit: z.number().nonnegative().optional(),
|
34
|
+
gasPricePerUnit: z.string().optional(),
|
47
35
|
httpMethod: z
|
48
36
|
.enum([
|
49
37
|
"GET",
|
@@ -57,26 +45,39 @@ export const usageEventSchema = z.object({
|
|
57
45
|
"TRACE",
|
58
46
|
])
|
59
47
|
.optional(),
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
chainName: z.string().optional(),
|
65
|
-
tokenSymbol: z.string().optional(),
|
66
|
-
dstChainId: z.number().optional(),
|
67
|
-
dstTokenAddress: z.string().optional(),
|
68
|
-
dstChainName: z.string().optional(),
|
69
|
-
dstTokenSymbol: z.string().optional(),
|
48
|
+
httpStatusCode: z.number().int().nonnegative().optional(),
|
49
|
+
isClientEvent: z.boolean().optional(),
|
50
|
+
mimeType: z.string().optional(),
|
51
|
+
modelName: z.string().optional(),
|
70
52
|
msLatency: z.number().optional(),
|
71
|
-
|
72
|
-
|
53
|
+
msSinceQueue: z.number().nonnegative().optional(),
|
54
|
+
msSinceSend: z.number().nonnegative().optional(),
|
55
|
+
msTotalDuration: z.number().nonnegative().optional(),
|
73
56
|
onRampId: z.string().optional(),
|
74
|
-
|
75
|
-
|
57
|
+
pathname: z.string().optional(),
|
58
|
+
policyId: z.string().optional(),
|
59
|
+
productName: z.string().optional(),
|
76
60
|
promptTokens: z.number().int().nonnegative().optional(),
|
77
|
-
|
78
|
-
|
79
|
-
sessionId: z.string().optional(),
|
61
|
+
provider: z.string().optional(),
|
62
|
+
providerIp: z.string().optional(),
|
80
63
|
requestId: z.string().optional(),
|
64
|
+
retryCount: z.number().int().nonnegative().optional(),
|
65
|
+
sdkName: z.string().optional(),
|
66
|
+
sdkOS: z.string().optional(),
|
67
|
+
sdkPlatform: z.string().optional(),
|
68
|
+
sdkVersion: z.string().optional(),
|
69
|
+
secondaryProvider: z.string().optional(),
|
70
|
+
sessionId: z.string().optional(),
|
71
|
+
source: z.string(),
|
72
|
+
swapId: z.string().optional(),
|
73
|
+
toAmountUSDCents: z.number().optional(),
|
74
|
+
tokenAddress: z.string().optional(),
|
75
|
+
tokenSymbol: z.string().optional(),
|
76
|
+
transactionFeeUsd: z.number().optional(),
|
77
|
+
transactionHash: z.string().optional(),
|
78
|
+
transactionValue: z.string().optional(),
|
79
|
+
userOpHash: z.string().optional(),
|
80
|
+
walletAddress: z.string().optional(),
|
81
|
+
walletType: z.string().optional(),
|
81
82
|
});
|
82
83
|
//# sourceMappingURL=usage.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"usage.js","sourceRoot":"","sources":["../../../src/core/usage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,
|
1
|
+
{"version":3,"file":"usage.js","sourceRoot":"","sources":["../../../src/core/usage.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/index.js
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
// Exports the public service definitions.
|
2
|
-
export * from "./core/services.js";
|
3
2
|
export { fetchTeamAndProject } from "./core/api.js";
|
4
3
|
export { authorizeBundleId, authorizeDomain } from "./core/authorize/client.js";
|
5
|
-
export { rateLimitSlidingWindow } from "./core/rateLimit/strategies/sliding-window.js";
|
6
4
|
export { rateLimit } from "./core/rateLimit/index.js";
|
5
|
+
export { rateLimitSlidingWindow } from "./core/rateLimit/strategies/sliding-window.js";
|
6
|
+
export * from "./core/services.js";
|
7
7
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,0CAA0C;
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAe1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,+CAA+C,CAAC;AACvF,cAAc,oBAAoB,CAAC"}
|
package/dist/esm/mocks.js
CHANGED
@@ -1,88 +1,55 @@
|
|
1
1
|
export const validProjectResponse = {
|
2
|
+
bundleIds: [],
|
3
|
+
createdAt: new Date("2024-06-01").toISOString(),
|
4
|
+
domains: ["example.com", "*.example.com"],
|
2
5
|
id: "1",
|
6
|
+
image: "https://example.com/image.png",
|
7
|
+
lastAccessedAt: new Date("2024-06-01").toISOString(),
|
8
|
+
name: "test-project",
|
3
9
|
publishableKey: "your-api-key",
|
4
|
-
|
5
|
-
|
6
|
-
|
10
|
+
secretKeys: [
|
11
|
+
{
|
12
|
+
createdAt: new Date("2024-06-01").toISOString(),
|
13
|
+
hash: "1234567890123456789012345678901234567890123456789012345678901234",
|
14
|
+
masked: "foo...lorem",
|
15
|
+
updatedAt: new Date("2024-06-01").toISOString(),
|
16
|
+
},
|
17
|
+
],
|
7
18
|
services: [
|
8
19
|
{
|
9
|
-
name: "storage",
|
10
20
|
actions: ["read", "write"],
|
21
|
+
name: "storage",
|
11
22
|
},
|
12
23
|
{
|
13
|
-
name: "rpc",
|
14
24
|
actions: [],
|
25
|
+
name: "rpc",
|
15
26
|
},
|
16
27
|
{
|
17
|
-
name: "bundler",
|
18
28
|
actions: [],
|
19
29
|
allowedChainIds: [1, 2, 3],
|
30
|
+
name: "bundler",
|
20
31
|
},
|
21
32
|
],
|
33
|
+
slug: "test-project",
|
22
34
|
teamId: "1",
|
23
|
-
createdAt: new Date("2024-06-01").toISOString(),
|
24
35
|
updatedAt: new Date("2024-06-01").toISOString(),
|
25
|
-
|
26
|
-
name: "test-project",
|
27
|
-
slug: "test-project",
|
28
|
-
image: "https://example.com/image.png",
|
29
|
-
secretKeys: [
|
30
|
-
{
|
31
|
-
hash: "1234567890123456789012345678901234567890123456789012345678901234",
|
32
|
-
masked: "foo...lorem",
|
33
|
-
createdAt: new Date("2024-06-01").toISOString(),
|
34
|
-
updatedAt: new Date("2024-06-01").toISOString(),
|
35
|
-
},
|
36
|
-
],
|
36
|
+
walletAddresses: ["creator-address"],
|
37
37
|
};
|
38
38
|
export const validTeamResponse = {
|
39
|
-
id: "1",
|
40
|
-
name: "test-team",
|
41
|
-
slug: "test-team",
|
42
|
-
image: "https://example.com/image.png",
|
43
|
-
createdAt: new Date("2024-06-01").toISOString(),
|
44
|
-
updatedAt: new Date("2024-06-01").toISOString(),
|
45
|
-
billingPlan: "free",
|
46
|
-
supportPlan: "free",
|
47
39
|
billingEmail: "test@example.com",
|
40
|
+
billingPlan: "free",
|
48
41
|
billingStatus: "noPayment",
|
49
42
|
canCreatePublicChains: false,
|
50
|
-
enabledScopes: ["storage", "rpc", "bundler"],
|
51
|
-
isOnboarded: true,
|
52
|
-
verifiedDomain: null,
|
53
43
|
capabilities: {
|
54
|
-
rpc: {
|
55
|
-
enabled: true,
|
56
|
-
rateLimit: 1000,
|
57
|
-
},
|
58
|
-
insight: {
|
59
|
-
enabled: true,
|
60
|
-
rateLimit: 1000,
|
61
|
-
webhooks: true,
|
62
|
-
},
|
63
|
-
storage: {
|
64
|
-
enabled: true,
|
65
|
-
download: {
|
66
|
-
rateLimit: 1000,
|
67
|
-
},
|
68
|
-
upload: {
|
69
|
-
totalFileSizeBytesLimit: 1_000_000_000,
|
70
|
-
rateLimit: 1000,
|
71
|
-
},
|
72
|
-
},
|
73
|
-
nebula: {
|
74
|
-
enabled: true,
|
75
|
-
rateLimit: 1000,
|
76
|
-
},
|
77
44
|
bundler: {
|
78
45
|
enabled: true,
|
79
46
|
mainnetEnabled: true,
|
80
47
|
rateLimit: 1000,
|
81
48
|
},
|
82
49
|
embeddedWallets: {
|
83
|
-
enabled: true,
|
84
50
|
customAuth: true,
|
85
51
|
customBranding: true,
|
52
|
+
enabled: true,
|
86
53
|
sms: {
|
87
54
|
domestic: true,
|
88
55
|
international: true,
|
@@ -93,6 +60,15 @@ export const validTeamResponse = {
|
|
93
60
|
mainnetEnabled: true,
|
94
61
|
rateLimit: 100,
|
95
62
|
},
|
63
|
+
insight: {
|
64
|
+
enabled: true,
|
65
|
+
rateLimit: 1000,
|
66
|
+
webhooks: true,
|
67
|
+
},
|
68
|
+
nebula: {
|
69
|
+
enabled: true,
|
70
|
+
rateLimit: 1000,
|
71
|
+
},
|
96
72
|
pay: {
|
97
73
|
enabled: true,
|
98
74
|
rateLimit: 1000,
|
@@ -102,24 +78,49 @@ export const validTeamResponse = {
|
|
102
78
|
ecosystemWallets: true,
|
103
79
|
seats: true,
|
104
80
|
},
|
81
|
+
rpc: {
|
82
|
+
enabled: true,
|
83
|
+
rateLimit: 1000,
|
84
|
+
},
|
85
|
+
storage: {
|
86
|
+
download: {
|
87
|
+
rateLimit: 1000,
|
88
|
+
},
|
89
|
+
enabled: true,
|
90
|
+
upload: {
|
91
|
+
rateLimit: 1000,
|
92
|
+
totalFileSizeBytesLimit: 1_000_000_000,
|
93
|
+
},
|
94
|
+
},
|
105
95
|
},
|
96
|
+
createdAt: new Date("2024-06-01").toISOString(),
|
97
|
+
dedicatedSupportChannel: null,
|
98
|
+
enabledScopes: ["storage", "rpc", "bundler"],
|
99
|
+
id: "1",
|
100
|
+
image: "https://example.com/image.png",
|
101
|
+
isOnboarded: true,
|
102
|
+
name: "test-team",
|
106
103
|
planCancellationDate: null,
|
104
|
+
slug: "test-team",
|
105
|
+
supportPlan: "free",
|
107
106
|
unthreadCustomerId: null,
|
107
|
+
updatedAt: new Date("2024-06-01").toISOString(),
|
108
|
+
verifiedDomain: null,
|
108
109
|
};
|
109
110
|
export const validTeamAndProjectResponse = {
|
110
|
-
team: validTeamResponse,
|
111
|
-
project: validProjectResponse,
|
112
111
|
authMethod: "publishableKey",
|
112
|
+
project: validProjectResponse,
|
113
|
+
team: validTeamResponse,
|
113
114
|
};
|
114
115
|
export const validServiceConfig = {
|
115
116
|
apiUrl: "https://api.example.com",
|
116
|
-
serviceScope: "storage",
|
117
|
-
serviceApiKey: "service-api-key",
|
118
117
|
serviceAction: "read",
|
118
|
+
serviceApiKey: "service-api-key",
|
119
|
+
serviceScope: "storage",
|
119
120
|
};
|
120
121
|
export const validBundlerServiceConfig = {
|
121
122
|
apiUrl: "https://api.example.com",
|
122
|
-
serviceScope: "bundler",
|
123
123
|
serviceApiKey: "service-api-key",
|
124
|
+
serviceScope: "bundler",
|
124
125
|
};
|
125
126
|
//# sourceMappingURL=mocks.js.map
|
package/dist/esm/mocks.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"mocks.js","sourceRoot":"","sources":["../../src/mocks.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,oBAAoB,GAAoB;IACnD,EAAE,EAAE
|
1
|
+
{"version":3,"file":"mocks.js","sourceRoot":"","sources":["../../src/mocks.ts"],"names":[],"mappings":"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"}
|