@pimlico/alto 0.0.0-main.20250908T105720 → 0.0.0-main.20250930T125129

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.
Files changed (99) hide show
  1. package/esm/cli/config/bundler.d.ts +12 -0
  2. package/esm/cli/config/bundler.js +2 -0
  3. package/esm/cli/config/bundler.js.map +1 -1
  4. package/esm/cli/config/options.js +11 -0
  5. package/esm/cli/config/options.js.map +1 -1
  6. package/esm/cli/setupServer.js +11 -11
  7. package/esm/cli/setupServer.js.map +1 -1
  8. package/esm/cli/shutDown.d.ts +5 -5
  9. package/esm/cli/shutDown.js +20 -60
  10. package/esm/cli/shutDown.js.map +1 -1
  11. package/esm/executor/{userOpMonitor.d.ts → bundleManager.d.ts} +4 -4
  12. package/esm/executor/{userOpMonitor.js → bundleManager.js} +50 -37
  13. package/esm/executor/bundleManager.js.map +1 -0
  14. package/esm/executor/executorManager.d.ts +4 -4
  15. package/esm/executor/executorManager.js +23 -24
  16. package/esm/executor/executorManager.js.map +1 -1
  17. package/esm/executor/index.d.ts +1 -1
  18. package/esm/executor/index.js +1 -1
  19. package/esm/executor/senderManager/createRedisSenderManager.js +1 -2
  20. package/esm/executor/senderManager/createRedisSenderManager.js.map +1 -1
  21. package/esm/handlers/arbitrumGasPriceManager.js +2 -2
  22. package/esm/handlers/gasPriceManager.js +3 -3
  23. package/esm/handlers/mantleGasPriceManager.js +4 -4
  24. package/esm/handlers/optimismManager.js +1 -1
  25. package/esm/mempool/mempool.d.ts +3 -11
  26. package/esm/mempool/mempool.js +91 -93
  27. package/esm/mempool/mempool.js.map +1 -1
  28. package/esm/mempool/monitoring.d.ts +1 -1
  29. package/esm/mempool/monitoring.js +30 -21
  30. package/esm/mempool/monitoring.js.map +1 -1
  31. package/esm/receiptCache/createMemoryReceiptCache.js +8 -5
  32. package/esm/receiptCache/createMemoryReceiptCache.js.map +1 -1
  33. package/esm/receiptCache/createRedisReceiptCache.js +13 -11
  34. package/esm/receiptCache/createRedisReceiptCache.js.map +1 -1
  35. package/esm/receiptCache/index.d.ts +4 -1
  36. package/esm/receiptCache/index.js.map +1 -1
  37. package/esm/rpc/methods/eth_getUserOperationReceipt.js +1 -1
  38. package/esm/rpc/methods/pimlico_sendUserOperationNow.js +4 -1
  39. package/esm/rpc/methods/pimlico_sendUserOperationNow.js.map +1 -1
  40. package/esm/rpc/rpcHandler.d.ts +4 -4
  41. package/esm/rpc/rpcHandler.js +3 -3
  42. package/esm/store/createMempoolStore.d.ts +1 -1
  43. package/esm/store/createMempoolStore.js +51 -143
  44. package/esm/store/createMempoolStore.js.map +1 -1
  45. package/esm/store/index.d.ts +4 -75
  46. package/esm/store/index.js +4 -1
  47. package/esm/store/index.js.map +1 -1
  48. package/esm/store/outstanding/index.d.ts +13 -0
  49. package/esm/store/outstanding/index.js +16 -0
  50. package/esm/store/outstanding/index.js.map +1 -0
  51. package/esm/store/{createMemoryOutstandingStore.d.ts → outstanding/memory.d.ts} +11 -10
  52. package/esm/store/outstanding/memory.js +249 -0
  53. package/esm/store/outstanding/memory.js.map +1 -0
  54. package/esm/store/outstanding/redis.d.ts +11 -0
  55. package/esm/store/outstanding/redis.js +201 -0
  56. package/esm/store/outstanding/redis.js.map +1 -0
  57. package/esm/store/outstanding/types.d.ts +18 -0
  58. package/esm/store/outstanding/types.js +2 -0
  59. package/esm/store/outstanding/types.js.map +1 -0
  60. package/esm/store/processing/index.d.ts +11 -0
  61. package/esm/store/processing/index.js +17 -0
  62. package/esm/store/processing/index.js.map +1 -0
  63. package/esm/store/processing/memory.d.ts +14 -0
  64. package/esm/store/processing/memory.js +46 -0
  65. package/esm/store/processing/memory.js.map +1 -0
  66. package/esm/store/processing/redis.d.ts +21 -0
  67. package/esm/store/processing/redis.js +69 -0
  68. package/esm/store/processing/redis.js.map +1 -0
  69. package/esm/store/processing/types.d.ts +9 -0
  70. package/esm/store/processing/types.js +2 -0
  71. package/esm/store/processing/types.js.map +1 -0
  72. package/esm/store/types.d.ts +49 -0
  73. package/esm/store/types.js +2 -0
  74. package/esm/store/types.js.map +1 -0
  75. package/esm/utils/minMaxQueue/createRedisMinMaxQueue.d.ts +23 -2
  76. package/esm/utils/minMaxQueue/createRedisMinMaxQueue.js +83 -60
  77. package/esm/utils/minMaxQueue/createRedisMinMaxQueue.js.map +1 -1
  78. package/esm/utils/minMaxQueue/index.d.ts +2 -2
  79. package/esm/utils/minMaxQueue/index.js +2 -2
  80. package/esm/utils/minMaxQueue/index.js.map +1 -1
  81. package/esm/utils/userop.d.ts +1 -0
  82. package/esm/utils/userop.js +6 -0
  83. package/esm/utils/userop.js.map +1 -1
  84. package/package.json +1 -1
  85. package/esm/cli/config/redisKeys.d.ts +0 -9
  86. package/esm/cli/config/redisKeys.js +0 -16
  87. package/esm/cli/config/redisKeys.js.map +0 -1
  88. package/esm/executor/userOpMonitor.js.map +0 -1
  89. package/esm/store/createMemoryOutstandingStore.js +0 -240
  90. package/esm/store/createMemoryOutstandingStore.js.map +0 -1
  91. package/esm/store/createRedisOutstandingStore.d.ts +0 -28
  92. package/esm/store/createRedisOutstandingStore.js +0 -341
  93. package/esm/store/createRedisOutstandingStore.js.map +0 -1
  94. package/esm/store/createRedisStore.d.ts +0 -10
  95. package/esm/store/createRedisStore.js +0 -128
  96. package/esm/store/createRedisStore.js.map +0 -1
  97. package/esm/store/createStore.d.ts +0 -6
  98. package/esm/store/createStore.js +0 -66
  99. package/esm/store/createStore.js.map +0 -1
@@ -0,0 +1,69 @@
1
+ import { isDeployment } from "../../utils/index.js";
2
+ import { Redis } from "ioredis";
3
+ export class RedisProcessingStore {
4
+ redis;
5
+ processingUserOpsSet; // set of userOpHashes being processed
6
+ processingSenderNonceSet; // set of "sender:nonce" being processed
7
+ processingDeploymentSet; // set of senders with deployments being processed
8
+ encodeSenderNonceId(sender, nonce) {
9
+ return `${sender}:${nonce}`;
10
+ }
11
+ constructor({ config, entryPoint, redisEndpoint }) {
12
+ this.redis = new Redis(redisEndpoint);
13
+ const redisPrefix = `${config.redisKeyPrefix}:${config.chainId}:${entryPoint}:processing`;
14
+ this.processingUserOpsSet = `${redisPrefix}:userOps`;
15
+ this.processingSenderNonceSet = `${redisPrefix}:senderNonce`;
16
+ this.processingDeploymentSet = `${redisPrefix}:deployment`;
17
+ }
18
+ async addProcessing(userOpInfo) {
19
+ const { userOpHash, userOp } = userOpInfo;
20
+ const isDeploymentOp = isDeployment(userOp);
21
+ const senderNonceId = this.encodeSenderNonceId(userOp.sender, userOp.nonce);
22
+ // Use MULTI for atomic operation in single round trip
23
+ const multi = this.redis.multi();
24
+ multi.sadd(this.processingUserOpsSet, userOpHash);
25
+ multi.sadd(this.processingSenderNonceSet, senderNonceId);
26
+ if (isDeploymentOp) {
27
+ multi.sadd(this.processingDeploymentSet, userOp.sender);
28
+ }
29
+ await multi.exec();
30
+ }
31
+ async removeProcessing(userOpInfo) {
32
+ const { userOpHash, userOp } = userOpInfo;
33
+ const isDeploymentOp = isDeployment(userOp);
34
+ const senderNonceId = this.encodeSenderNonceId(userOp.sender, userOp.nonce);
35
+ // Use MULTI for atomic removal in single round trip
36
+ const multi = this.redis.multi();
37
+ multi.srem(this.processingUserOpsSet, userOpHash);
38
+ multi.srem(this.processingSenderNonceSet, senderNonceId);
39
+ if (isDeploymentOp) {
40
+ multi.srem(this.processingDeploymentSet, userOp.sender);
41
+ }
42
+ await multi.exec();
43
+ }
44
+ async isProcessing(userOpHash) {
45
+ const isMember = await this.redis.sismember(this.processingUserOpsSet, userOpHash);
46
+ return isMember === 1;
47
+ }
48
+ async wouldConflict(userOp) {
49
+ const senderNonceId = this.encodeSenderNonceId(userOp.sender, userOp.nonce);
50
+ // Use MULTI for atomic read in single round trip
51
+ const multi = this.redis.multi();
52
+ multi.sismember(this.processingDeploymentSet, userOp.sender);
53
+ multi.sismember(this.processingSenderNonceSet, senderNonceId);
54
+ const results = await multi.exec();
55
+ if (!results)
56
+ return undefined;
57
+ const [deploymentResult, nonceResult] = results;
58
+ const hasDeployment = deploymentResult?.[1] === 1;
59
+ const hasNonce = nonceResult?.[1] === 1;
60
+ if (hasDeployment) {
61
+ return "deployment_conflict";
62
+ }
63
+ if (hasNonce) {
64
+ return "nonce_conflict";
65
+ }
66
+ return undefined;
67
+ }
68
+ }
69
+ //# sourceMappingURL=redis.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redis.js","sourceRoot":"","sources":["../../../store/processing/redis.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAI/B,MAAM,OAAO,oBAAoB;IACrB,KAAK,CAAO;IAEZ,oBAAoB,CAAQ,CAAC,sCAAsC;IACnE,wBAAwB,CAAQ,CAAC,wCAAwC;IACzE,uBAAuB,CAAQ,CAAC,kDAAkD;IAElF,mBAAmB,CAAC,MAAe,EAAE,KAAa;QACtD,OAAO,GAAG,MAAM,IAAI,KAAK,EAAE,CAAA;IAC/B,CAAC;IAED,YAAY,EACR,MAAM,EACN,UAAU,EACV,aAAa,EAKhB;QACG,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,aAAa,CAAC,CAAA;QAErC,MAAM,WAAW,GAAG,GAAG,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,OAAO,IAAI,UAAU,aAAa,CAAA;QACzF,IAAI,CAAC,oBAAoB,GAAG,GAAG,WAAW,UAAU,CAAA;QACpD,IAAI,CAAC,wBAAwB,GAAG,GAAG,WAAW,cAAc,CAAA;QAC5D,IAAI,CAAC,uBAAuB,GAAG,GAAG,WAAW,aAAa,CAAA;IAC9D,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,UAAsB;QACtC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,UAAU,CAAA;QACzC,MAAM,cAAc,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;QAC3C,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAC1C,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,KAAK,CACf,CAAA;QAED,sDAAsD;QACtD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;QAChC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAA;QACjD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,aAAa,CAAC,CAAA;QAExD,IAAI,cAAc,EAAE,CAAC;YACjB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;QAC3D,CAAC;QAED,MAAM,KAAK,CAAC,IAAI,EAAE,CAAA;IACtB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,UAAsB;QACzC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,UAAU,CAAA;QACzC,MAAM,cAAc,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;QAC3C,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAC1C,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,KAAK,CACf,CAAA;QAED,oDAAoD;QACpD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;QAChC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAA;QACjD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,aAAa,CAAC,CAAA;QAExD,IAAI,cAAc,EAAE,CAAC;YACjB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;QAC3D,CAAC;QAED,MAAM,KAAK,CAAC,IAAI,EAAE,CAAA;IACtB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,UAAe;QAC9B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CACvC,IAAI,CAAC,oBAAoB,EACzB,UAAU,CACb,CAAA;QACD,OAAO,QAAQ,KAAK,CAAC,CAAA;IACzB,CAAC;IAED,KAAK,CAAC,aAAa,CACf,MAAqB;QAErB,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAC1C,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,KAAK,CACf,CAAA;QAED,iDAAiD;QACjD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;QAChC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,uBAAuB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;QAC5D,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,wBAAwB,EAAE,aAAa,CAAC,CAAA;QAE7D,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,CAAA;QAClC,IAAI,CAAC,OAAO;YAAE,OAAO,SAAS,CAAA;QAE9B,MAAM,CAAC,gBAAgB,EAAE,WAAW,CAAC,GAAG,OAAO,CAAA;QAC/C,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;QACjD,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;QAEvC,IAAI,aAAa,EAAE,CAAC;YAChB,OAAO,qBAAqB,CAAA;QAChC,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACX,OAAO,gBAAgB,CAAA;QAC3B,CAAC;QAED,OAAO,SAAS,CAAA;IACpB,CAAC;CACJ"}
@@ -0,0 +1,9 @@
1
+ import type { UserOpInfo, UserOperation } from "../../types/index.js";
2
+ import type { Hex } from "viem";
3
+ export interface ProcessingStore {
4
+ addProcessing(userOp: UserOpInfo): Promise<void>;
5
+ removeProcessing(userOp: UserOpInfo): Promise<void>;
6
+ isProcessing(userOpHash: Hex): Promise<boolean>;
7
+ wouldConflict(userOp: UserOperation): Promise<"nonce_conflict" | "deployment_conflict" | undefined>;
8
+ }
9
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../store/processing/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,49 @@
1
+ import type { Address } from "abitype";
2
+ import type { HexData32, UserOpInfo, UserOperation } from "../types/schemas.js";
3
+ import type { ConflictingOutstandingType } from "./outstanding/index.js";
4
+ export type StoreType = "outstanding" | "processing";
5
+ export type ValidationResult = {
6
+ valid: true;
7
+ } | {
8
+ valid: false;
9
+ reason: string;
10
+ };
11
+ export type EntryPointUserOpInfoParam = {
12
+ entryPoint: Address;
13
+ userOpInfo: UserOpInfo;
14
+ };
15
+ export type EntryPointUserOpInfosParam = {
16
+ entryPoint: Address;
17
+ userOpInfos: UserOpInfo[];
18
+ };
19
+ export type EntryPointUserOpHashParam = {
20
+ entryPoint: Address;
21
+ userOpHash: HexData32;
22
+ };
23
+ export type MempoolStore = {
24
+ popOutstanding: (entryPoint: Address, count: number) => Promise<UserOpInfo[]>;
25
+ addOutstanding: (args: EntryPointUserOpInfosParam) => Promise<void>;
26
+ removeOutstanding: (args: EntryPointUserOpHashParam) => Promise<void>;
27
+ dumpOutstanding: (entryPoint: Address) => Promise<UserOpInfo[]>;
28
+ addProcessing: (args: EntryPointUserOpInfoParam) => Promise<void>;
29
+ removeProcessing: (args: EntryPointUserOpInfoParam) => Promise<void>;
30
+ checkDuplicatesAndConflicts: (args: {
31
+ entryPoint: Address;
32
+ userOp: UserOperation;
33
+ userOpHash: HexData32;
34
+ }) => Promise<ValidationResult>;
35
+ popConflictingOustanding: (args: {
36
+ entryPoint: Address;
37
+ userOp: UserOperation;
38
+ }) => Promise<ConflictingOutstandingType>;
39
+ validateSenderLimits: (args: {
40
+ entryPoint: Address;
41
+ userOp: UserOperation;
42
+ }) => Promise<ValidationResult>;
43
+ getQueuedOutstandingUserOps: (args: {
44
+ userOp: UserOperation;
45
+ entryPoint: Address;
46
+ }) => Promise<UserOperation[]>;
47
+ clearOutstanding: (entryPoint: Address) => Promise<void>;
48
+ };
49
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../store/types.ts"],"names":[],"mappings":""}
@@ -1,8 +1,29 @@
1
+ /**
2
+ * MinMaxQueue implementation in Redis using a single sorted set
3
+ *
4
+ * ## Data Structure
5
+ * - Uses a Redis sorted set where:
6
+ * - Score: timestamp when value was added (seconds since epoch)
7
+ * - Member: the actual bigint value (stored as string)
8
+ *
9
+ * ## Flow
10
+ * 1. **Adding values**: New values are added/updated with current timestamp as score
11
+ * 2. **Reading values**: Queries filter out expired entries based on timestamp
12
+ * 3. **Cleanup**: Background process runs every minute to remove expired entries
13
+ *
14
+ * ## Optimization Strategy
15
+ * - Lazy cleanup: expired entries filtered on read, bulk removed by background process (removing is expensive)
16
+ *
17
+ * ## TTL Management
18
+ * - Entries expire based on `queueValidity` (configured via `gasPriceExpiry`)
19
+ * - Background cleanup prevents unbounded growth
20
+ * - Read operations ignore expired entries without removing them
21
+ */
1
22
  import type { MinMaxQueue } from "./index.js";
2
23
  import type { AltoConfig } from "../../createConfig.js";
3
- export declare const createRedisMinMaxQueue: ({ config, keyPrefix, redisEndpoint }: {
24
+ export declare const createRedisMinMaxQueue: ({ config, queueName, redisEndpoint }: {
4
25
  config: AltoConfig;
5
- keyPrefix: string;
26
+ queueName: string;
6
27
  redisEndpoint: string;
7
28
  }) => MinMaxQueue;
8
29
  //# sourceMappingURL=createRedisMinMaxQueue.d.ts.map
@@ -1,106 +1,129 @@
1
+ /**
2
+ * MinMaxQueue implementation in Redis using a single sorted set
3
+ *
4
+ * ## Data Structure
5
+ * - Uses a Redis sorted set where:
6
+ * - Score: timestamp when value was added (seconds since epoch)
7
+ * - Member: the actual bigint value (stored as string)
8
+ *
9
+ * ## Flow
10
+ * 1. **Adding values**: New values are added/updated with current timestamp as score
11
+ * 2. **Reading values**: Queries filter out expired entries based on timestamp
12
+ * 3. **Cleanup**: Background process runs every minute to remove expired entries
13
+ *
14
+ * ## Optimization Strategy
15
+ * - Lazy cleanup: expired entries filtered on read, bulk removed by background process (removing is expensive)
16
+ *
17
+ * ## TTL Management
18
+ * - Entries expire based on `queueValidity` (configured via `gasPriceExpiry`)
19
+ * - Background cleanup prevents unbounded growth
20
+ * - Read operations ignore expired entries without removing them
21
+ */
1
22
  import Redis from "ioredis";
2
23
  import * as sentry from "@sentry/node";
3
- // Sorted TTL queue, one queue to keep track of values and other queue to keep track of TTL.
4
24
  class SortedTtlSet {
5
25
  redis;
6
- valueKey;
7
- timestampKey;
26
+ redisKey; // Single sorted set: score = timestamp, member = value
8
27
  queueValidity;
9
- constructor({ keyPrefix, config, redisEndpoint }) {
28
+ cleanupInterval = null;
29
+ constructor({ queueName, config, redisEndpoint }) {
10
30
  const redis = new Redis(redisEndpoint);
11
31
  const queueValidity = config.gasPriceExpiry;
12
- const redisKey = `${config.chainId}:${keyPrefix}`;
13
32
  this.redis = redis;
14
- this.valueKey = `${redisKey}:value`;
15
- this.timestampKey = `${redisKey}:timestamp`;
33
+ this.redisKey = `${config.redisKeyPrefix}:${config.chainId}:${queueName}`;
16
34
  this.queueValidity = queueValidity;
35
+ // Start background cleanup every minute
36
+ this.startBackgroundCleanup();
37
+ }
38
+ startBackgroundCleanup() {
39
+ // Run cleanup every minute
40
+ this.cleanupInterval = setInterval(() => {
41
+ this.cleanup().catch((err) => {
42
+ sentry.captureException(err);
43
+ });
44
+ }, 60 * 1000);
45
+ // Allow process to exit even if interval is active
46
+ if (this.cleanupInterval.unref) {
47
+ this.cleanupInterval.unref();
48
+ }
49
+ }
50
+ async cleanup() {
51
+ const cutoffTime = Date.now() / 1_000 - this.queueValidity * 5;
52
+ await this.redis.zremrangebyscore(this.redisKey, "-inf", `(${cutoffTime}`);
17
53
  }
18
54
  async add(value, logger) {
19
55
  try {
20
- await this.pruneExpiredEntries(logger);
21
56
  if (value === 0n) {
22
57
  return;
23
58
  }
24
59
  const now = Date.now() / 1_000;
25
60
  const valueStr = value.toString();
26
- // Check if value exists in the value set
27
- const exists = await this.redis.zscore(this.valueKey, valueStr);
28
- if (exists) {
29
- // If value exists, only update its timestamp
30
- const multi = this.redis.multi();
31
- multi.zrem(this.timestampKey, valueStr); // Remove old timestamp
32
- multi.zadd(this.timestampKey, now, valueStr); // Add new timestamp
33
- await multi.exec();
34
- }
35
- else {
36
- // If it's a new value, add entry to timestamp and value queues
37
- const multi = this.redis.multi();
38
- multi.zadd(this.timestampKey, now, valueStr);
39
- multi.zadd(this.valueKey, valueStr, valueStr);
40
- await multi.exec();
41
- }
61
+ // Add or update (if exists) with current timestamp
62
+ await this.redis.zadd(this.redisKey, now, valueStr);
42
63
  }
43
64
  catch (err) {
44
65
  logger.error({ err }, "Failed to save value to minMaxQueue");
45
66
  sentry.captureException(err);
46
67
  }
47
68
  }
48
- async pruneExpiredEntries(logger) {
69
+ getValidCutoffTime() {
70
+ return Date.now() / 1_000 - this.queueValidity;
71
+ }
72
+ async getMin(logger) {
49
73
  try {
50
- const timestamp = Date.now() / 1_000;
51
- const cutoffTime = timestamp - this.queueValidity;
52
- // Get expired unique IDs from time queue
53
- const expiredMembers = await this.redis.zrangebyscore(this.timestampKey, "-inf", `(${cutoffTime}` // exclusive upper bound
54
- );
55
- if (expiredMembers.length) {
56
- const multi = this.redis.multi();
57
- // Remove expired entries from both sets
58
- multi.zrem(this.timestampKey, ...expiredMembers);
59
- multi.zrem(this.valueKey, ...expiredMembers);
60
- await multi.exec();
74
+ // Get all valid (non-expired) values
75
+ const validValues = await this.redis.zrangebyscore(this.redisKey, this.getValidCutoffTime(), "+inf");
76
+ if (validValues.length === 0) {
77
+ return null;
61
78
  }
79
+ // Find minimum value among valid entries
80
+ const bigIntValues = validValues.map((v) => BigInt(v));
81
+ return bigIntValues.reduce((min, val) => (val < min ? val : min));
62
82
  }
63
83
  catch (err) {
64
- logger.error({ err }, "Failed to prune expired entries");
84
+ logger.error({ err }, "Failed to get min value");
65
85
  sentry.captureException(err);
66
- }
67
- }
68
- async getMin(logger) {
69
- // Prune expired entries
70
- await this.pruneExpiredEntries(logger);
71
- // Get the smallest value from the value set
72
- const values = await this.redis.zrange(this.valueKey, 0, 0);
73
- if (values.length === 0) {
74
86
  return null;
75
87
  }
76
- return BigInt(values[0]);
77
88
  }
78
89
  async getMax(logger) {
79
- // Prune expired entries
80
- await this.pruneExpiredEntries(logger);
81
- // Get the largest value from the value set (using reverse range)
82
- const values = await this.redis.zrange(this.valueKey, -1, -1);
83
- if (values.length === 0) {
90
+ try {
91
+ // Get all valid (non-expired) values
92
+ const validValues = await this.redis.zrangebyscore(this.redisKey, this.getValidCutoffTime(), "+inf");
93
+ if (validValues.length === 0) {
94
+ return null;
95
+ }
96
+ // Find maximum value among valid entries
97
+ const bigIntValues = validValues.map((v) => BigInt(v));
98
+ return bigIntValues.reduce((max, val) => (val > max ? val : max));
99
+ }
100
+ catch (err) {
101
+ logger.error({ err }, "Failed to get max value");
102
+ sentry.captureException(err);
84
103
  return null;
85
104
  }
86
- return BigInt(values[0]);
87
105
  }
88
106
  async getLatestValue(logger) {
89
- // Prune expired entries
90
- await this.pruneExpiredEntries(logger);
91
- // Get the member with highest TTL (most recent timestamp)
92
- const values = await this.redis.zrange(this.timestampKey, -1, -1);
93
- if (values.length === 0) {
107
+ try {
108
+ // Get the most recently added value (highest timestamp) that's still valid
109
+ const validValues = await this.redis.zrevrangebyscore(this.redisKey, "+inf", this.getValidCutoffTime(), "LIMIT", 0, 1);
110
+ if (validValues.length === 0) {
111
+ return null;
112
+ }
113
+ return BigInt(validValues[0]);
114
+ }
115
+ catch (err) {
116
+ logger.error({ err }, "Failed to get latest value");
117
+ sentry.captureException(err);
94
118
  return null;
95
119
  }
96
- return BigInt(values[0]);
97
120
  }
98
121
  }
99
- export const createRedisMinMaxQueue = ({ config, keyPrefix, redisEndpoint }) => {
122
+ export const createRedisMinMaxQueue = ({ config, queueName, redisEndpoint }) => {
100
123
  const queue = new SortedTtlSet({
101
124
  config,
102
125
  redisEndpoint,
103
- keyPrefix: `${keyPrefix}:minMaxQueue`
126
+ queueName
104
127
  });
105
128
  const logger = config.getLogger({ module: "minMaxQueue" }, {
106
129
  level: config.logLevel
@@ -1 +1 @@
1
- {"version":3,"file":"createRedisMinMaxQueue.js","sourceRoot":"","sources":["../../../utils/minMaxQueue/createRedisMinMaxQueue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,SAAS,CAAA;AAG3B,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AAItC,4FAA4F;AAC5F,MAAM,YAAY;IACd,KAAK,CAAO;IACZ,QAAQ,CAAQ;IAChB,YAAY,CAAQ;IACpB,aAAa,CAAQ;IAErB,YAAY,EACR,SAAS,EACT,MAAM,EACN,aAAa,EAKhB;QACG,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,aAAa,CAAC,CAAA;QACtC,MAAM,aAAa,GAAG,MAAM,CAAC,cAAc,CAAA;QAE3C,MAAM,QAAQ,GAAG,GAAG,MAAM,CAAC,OAAO,IAAI,SAAS,EAAE,CAAA;QAEjD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,QAAQ,GAAG,GAAG,QAAQ,QAAQ,CAAA;QACnC,IAAI,CAAC,YAAY,GAAG,GAAG,QAAQ,YAAY,CAAA;QAC3C,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;IACtC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,KAAa,EAAE,MAAc;QACnC,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAA;YACtC,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;gBACf,OAAM;YACV,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAA;YAC9B,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAA;YAEjC,yCAAyC;YACzC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;YAE/D,IAAI,MAAM,EAAE,CAAC;gBACT,6CAA6C;gBAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;gBAChC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA,CAAC,uBAAuB;gBAC/D,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAA,CAAC,oBAAoB;gBACjE,MAAM,KAAK,CAAC,IAAI,EAAE,CAAA;YACtB,CAAC;iBAAM,CAAC;gBACJ,+DAA+D;gBAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;gBAChC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAA;gBAC5C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;gBAC7C,MAAM,KAAK,CAAC,IAAI,EAAE,CAAA;YACtB,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,qCAAqC,CAAC,CAAA;YAC5D,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAA;QAChC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,MAAc;QACpC,IAAI,CAAC;YACD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAA;YACpC,MAAM,UAAU,GAAG,SAAS,GAAG,IAAI,CAAC,aAAa,CAAA;YAEjD,yCAAyC;YACzC,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CACjD,IAAI,CAAC,YAAY,EACjB,MAAM,EACN,IAAI,UAAU,EAAE,CAAC,wBAAwB;aAC5C,CAAA;YAED,IAAI,cAAc,CAAC,MAAM,EAAE,CAAC;gBACxB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;gBAEhC,wCAAwC;gBACxC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,cAAc,CAAC,CAAA;gBAChD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,cAAc,CAAC,CAAA;gBAC5C,MAAM,KAAK,CAAC,IAAI,EAAE,CAAA;YACtB,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,iCAAiC,CAAC,CAAA;YACxD,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAA;QAChC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAAc;QACvB,wBAAwB;QACxB,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAA;QAEtC,4CAA4C;QAC5C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QAC3D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,IAAI,CAAA;QACf,CAAC;QAED,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IAC5B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAAc;QACvB,wBAAwB;QACxB,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAA;QAEtC,iEAAiE;QACjE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAC7D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,IAAI,CAAA;QACf,CAAC;QAED,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IAC5B,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,MAAc;QAC/B,wBAAwB;QACxB,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAA;QAEtC,0DAA0D;QAC1D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QACjE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,IAAI,CAAA;QACf,CAAC;QACD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IAC5B,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,EACnC,MAAM,EACN,SAAS,EACT,aAAa,EAKhB,EAAe,EAAE;IACd,MAAM,KAAK,GAAG,IAAI,YAAY,CAAC;QAC3B,MAAM;QACN,aAAa;QACb,SAAS,EAAE,GAAG,SAAS,cAAc;KACxC,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAC3B,EAAE,MAAM,EAAE,aAAa,EAAE,EACzB;QACI,KAAK,EAAE,MAAM,CAAC,QAAQ;KACzB,CACJ,CAAA;IAED,OAAO;QACH,SAAS,EAAE,KAAK,EAAE,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC;QAC5D,cAAc,EAAE,KAAK,IAAI,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC;QACxD,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;QAC7C,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;KAChD,CAAA;AACL,CAAC,CAAA"}
1
+ {"version":3,"file":"createRedisMinMaxQueue.js","sourceRoot":"","sources":["../../../utils/minMaxQueue/createRedisMinMaxQueue.ts"],"names":[],"mappings":"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"}
@@ -5,8 +5,8 @@ export interface MinMaxQueue {
5
5
  getMinValue(): Promise<bigint | null>;
6
6
  getMaxValue(): Promise<bigint | null>;
7
7
  }
8
- export declare const createMinMaxQueue: ({ config, keyPrefix }: {
8
+ export declare const createMinMaxQueue: ({ config, queueName }: {
9
9
  config: AltoConfig;
10
- keyPrefix: string;
10
+ queueName: string;
11
11
  }) => MinMaxQueue;
12
12
  //# sourceMappingURL=index.d.ts.map
@@ -1,10 +1,10 @@
1
1
  import { createMemoryMinMaxQueue } from "./createMemoryMinMaxQueue.js";
2
2
  import { createRedisMinMaxQueue } from "./createRedisMinMaxQueue.js";
3
- export const createMinMaxQueue = ({ config, keyPrefix }) => {
3
+ export const createMinMaxQueue = ({ config, queueName }) => {
4
4
  if (config.enableHorizontalScaling && config.redisEndpoint) {
5
5
  return createRedisMinMaxQueue({
6
6
  config,
7
- keyPrefix,
7
+ queueName: queueName,
8
8
  redisEndpoint: config.redisEndpoint
9
9
  });
10
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../utils/minMaxQueue/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AASjE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAC9B,MAAM,EACN,SAAS,EAC+B,EAAe,EAAE;IACzD,IAAI,MAAM,CAAC,uBAAuB,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACzD,OAAO,sBAAsB,CAAC;YAC1B,MAAM;YACN,SAAS;YACT,aAAa,EAAE,MAAM,CAAC,aAAa;SACtC,CAAC,CAAA;IACN,CAAC;IAED,OAAO,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;AAC9C,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../utils/minMaxQueue/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AASjE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAC9B,MAAM,EACN,SAAS,EAC+B,EAAe,EAAE;IACzD,IAAI,MAAM,CAAC,uBAAuB,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACzD,OAAO,sBAAsB,CAAC;YAC1B,MAAM;YACN,SAAS,EAAE,SAAS;YACpB,aAAa,EAAE,MAAM,CAAC,aAAa;SACtC,CAAC,CAAA;IACN,CAAC;IAED,OAAO,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;AAC9C,CAAC,CAAA"}
@@ -3,6 +3,7 @@ import { type Address, type Hex, type PublicClient, type TransactionReceipt } fr
3
3
  export declare function isVersion06(operation: UserOperation): operation is UserOperation06;
4
4
  export declare function isVersion07(operation: UserOperation): operation is UserOperation07;
5
5
  export declare function isVersion08(operation: UserOperation, entryPointAddress: Address): operation is UserOperation07;
6
+ export declare function isDeployment(userOp: UserOperation): boolean;
6
7
  export declare function getInitCode(unpackedUserOp: UserOperation07): `0x${string}`;
7
8
  export declare function unPackInitCode(initCode: Hex): {
8
9
  factory: null;
@@ -15,6 +15,12 @@ export function isVersion07(operation) {
15
15
  export function isVersion08(operation, entryPointAddress) {
16
16
  return entryPointAddress.startsWith("0x4337");
17
17
  }
18
+ // Check if a userOperation is a deployment operation
19
+ export function isDeployment(userOp) {
20
+ const isV6Deployment = isVersion06(userOp) && !!userOp.initCode && userOp.initCode !== "0x";
21
+ const isV7Deployment = isVersion07(userOp) && !!userOp.factory && userOp.factory !== "0x";
22
+ return isV6Deployment || isV7Deployment;
23
+ }
18
24
  export function getInitCode(unpackedUserOp) {
19
25
  return unpackedUserOp.factory
20
26
  ? concat([
@@ -1 +1 @@
1
- {"version":3,"file":"userop.js","sourceRoot":"","sources":["../../utils/userop.ts"],"names":[],"mappings":"AAAA,OAAO,EAMH,SAAS,EACT,aAAa,EAChB,MAAM,aAAa,CAAA;AACpB,OAAO,EAKH,MAAM,EACN,cAAc,EACd,mBAAmB,EACnB,UAAU,EACV,UAAU,EACV,SAAS,EACT,GAAG,EACH,IAAI,EACJ,KAAK,EACL,KAAK,EACL,WAAW,EACd,MAAM,MAAM,CAAA;AACb,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,8BAA8B,EAAE,MAAM,WAAW,CAAA;AAE1D,oDAAoD;AACpD,MAAM,UAAU,WAAW,CACvB,SAAwB;IAExB,OAAO,UAAU,IAAI,SAAS,IAAI,kBAAkB,IAAI,SAAS,CAAA;AACrE,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,WAAW,CACvB,SAAwB;IAExB,OAAO,SAAS,IAAI,SAAS,IAAI,WAAW,IAAI,SAAS,CAAA;AAC7D,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,WAAW,CACvB,SAAwB,EACxB,iBAA0B;IAE1B,OAAO,iBAAiB,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;AACjD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,cAA+B;IACvD,OAAO,cAAc,CAAC,OAAO;QACzB,CAAC,CAAC,MAAM,CAAC;YACH,cAAc,CAAC,OAAO,KAAK,QAAQ;gBAC/B,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,OAAO,EAAE;oBACxB,GAAG,EAAE,OAAO;oBACZ,IAAI,EAAE,EAAE;iBACX,CAAC;gBACJ,CAAC,CAAC,cAAc,CAAC,OAAO;YAC5B,cAAc,CAAC,WAAW,IAAK,IAAY;SAC9C,CAAC;QACJ,CAAC,CAAC,IAAI,CAAA;AACd,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,QAAa;IACxC,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO;YACH,OAAO,EAAE,IAAI;YACb,WAAW,EAAE,IAAI;SACpB,CAAA;IACL,CAAC;IAED,OAAO;QACH,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3C,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;KAChE,CAAA;AACL,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,cAA+B;IAC/D,OAAO,MAAM,CAAC;QACV,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,oBAAoB,CAAC,EAAE;YAC5C,IAAI,EAAE,EAAE;SACX,CAAC;QACF,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;KACxD,CAAC,CAAA;AACN,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,gBAAqB;IACxD,OAAO;QACH,oBAAoB,EAAE,MAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5D,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;KACpD,CAAA;AACL,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,cAA+B;IACxD,OAAO,MAAM,CAAC;QACV,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,oBAAoB,CAAC,EAAE;YAC5C,IAAI,EAAE,EAAE;SACX,CAAC;QACF,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;KACxD,CAAC,CAAA;AACN,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,SAAc;IAC1C,OAAO;QACH,oBAAoB,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACrD,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;KAC7C,CAAA;AACL,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,cAA+B;IAC/D,OAAO,cAAc,CAAC,SAAS;QAC3B,CAAC,CAAC,MAAM,CAAC;YACH,cAAc,CAAC,SAAS;YACxB,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,6BAA6B,IAAI,EAAE,CAAC,EAAE;gBAC3D,IAAI,EAAE,EAAE;aACX,CAAC;YACF,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,uBAAuB,IAAI,EAAE,CAAC,EAAE;gBACrD,IAAI,EAAE,EAAE;aACX,CAAC;YACF,cAAc,CAAC,aAAa,IAAK,IAAY;SAChD,CAAC;QACJ,CAAC,CAAC,IAAI,CAAA;AACd,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,gBAAqB;IACxD,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;QAC5B,OAAO;YACH,SAAS,EAAE,IAAI;YACf,6BAA6B,EAAE,IAAI;YACnC,uBAAuB,EAAE,IAAI;YAC7B,aAAa,EAAE,IAAI;SACtB,CAAA;IACL,CAAC;IAED,MAAM,oBAAoB,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAA;IAEnD,OAAO;QACH,SAAS,EAAE,UAAU,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACrD,6BAA6B,EAAE,MAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACtE,uBAAuB,EAAE,MAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAChE,aAAa,EACT,oBAAoB,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;KACrE,CAAA;AACL,CAAC;AAED,MAAM,UAAU,cAAc,CAC1B,cAA+B;IAE/B,OAAO;QACH,MAAM,EAAE,cAAc,CAAC,MAAM;QAC7B,KAAK,EAAE,cAAc,CAAC,KAAK;QAC3B,QAAQ,EAAE,WAAW,CAAC,cAAc,CAAC;QACrC,QAAQ,EAAE,cAAc,CAAC,QAAQ;QACjC,gBAAgB,EAAE,mBAAmB,CAAC,cAAc,CAAC;QACrD,kBAAkB,EAAE,cAAc,CAAC,kBAAkB;QACrD,OAAO,EAAE,YAAY,CAAC,cAAc,CAAC;QACrC,gBAAgB,EAAE,mBAAmB,CAAC,cAAc,CAAC;QACrD,SAAS,EAAE,cAAc,CAAC,SAAS;KACtC,CAAA;AACL,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,WAAW,CAAC,GAAQ;IAChC,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAA;IACpB,CAAC;IACD,IAAI,GAAG,IAAI,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,KAAK,SAAS,EAAE,CAAC;QACrE,OAAO,GAAG,CAAA;IACd,CAAC;IAED,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC,GAAG,CAAC,CAAA;IACrB,CAAC;IAED,IAAI,GAAG,CAAC,YAAY,IAAI,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACtD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAC3C,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAA;IACnD,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM;IAC1B,8FAA8F;IAC9F,CAAC,GAAQ,EAAE,GAAW,EAAE,EAAE;QACtB,GAAG,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;QAChC,OAAO,GAAG,CAAA;IACd,CAAC,EACD,EAAE,CACL,CAAA;AACL,CAAC;AAED,MAAM,UAAU,wCAAwC,CACpD,IAAS;IAET,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,OAAO,IAAI,CAAA;IACf,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;QACpB,OAAO,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;IACxC,CAAC;IACD,OAAO,IAAI,CAAA;AACf,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAC7B,MAAM,EACN,iBAAiB,EACjB,OAAO,EAKV,EAAE,EAAE;IACD,MAAM,IAAI,GAAG,SAAS,CAClB,mBAAmB,CACf;QACI;YACI,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,SAAS;SAClB;QACD;YACI,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,SAAS;SAClB;QACD;YACI,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,SAAS;SAClB;QACD;YACI,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,SAAS;SAClB;QACD;YACI,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,SAAS;SAClB;QACD;YACI,IAAI,EAAE,sBAAsB;YAC5B,IAAI,EAAE,SAAS;SAClB;QACD;YACI,IAAI,EAAE,oBAAoB;YAC1B,IAAI,EAAE,SAAS;SAClB;QACD;YACI,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,SAAS;SAClB;QACD;YACI,IAAI,EAAE,sBAAsB;YAC5B,IAAI,EAAE,SAAS;SAClB;QACD;YACI,IAAI,EAAE,sBAAsB;YAC5B,IAAI,EAAE,SAAS;SAClB;KACJ,EACD;QACI,MAAM,CAAC,MAAM;QACb,MAAM,CAAC,KAAK;QACZ,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC1B,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC1B,MAAM,CAAC,YAAY;QACnB,MAAM,CAAC,oBAAoB;QAC3B,MAAM,CAAC,kBAAkB;QACzB,MAAM,CAAC,YAAY;QACnB,MAAM,CAAC,oBAAoB;QAC3B,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC;KACrC,CACJ,CACJ,CAAA;IAED,OAAO,SAAS,CACZ,mBAAmB,CACf;QACI;YACI,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,SAAS;SAClB;QACD;YACI,IAAI,EAAE,mBAAmB;YACzB,IAAI,EAAE,SAAS;SAClB;QACD;YACI,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,SAAS;SAClB;KACJ,EACD,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAC7C,CACJ,CAAA;AACL,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAC7B,MAAM,EACN,iBAAiB,EACjB,OAAO,EAKV,EAAE,EAAE;IACD,MAAM,IAAI,GAAG,SAAS,CAClB,mBAAmB,CACf;QACI;YACI,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,SAAS;SAClB;QACD;YACI,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,SAAS;SAClB;QACD;YACI,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,SAAS;SAClB;QACD;YACI,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,SAAS;SAClB;QACD;YACI,IAAI,EAAE,kBAAkB;YACxB,IAAI,EAAE,SAAS;SAClB;QACD;YACI,IAAI,EAAE,oBAAoB;YAC1B,IAAI,EAAE,SAAS;SAClB;QACD;YACI,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,SAAS;SAClB;QACD;YACI,IAAI,EAAE,sBAAsB;YAC5B,IAAI,EAAE,SAAS;SAClB;KACJ,EACD;QACI,MAAM,CAAC,MAAM;QACb,MAAM,CAAC,KAAK;QACZ,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC1B,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC1B,MAAM,CAAC,gBAAgB;QACvB,MAAM,CAAC,kBAAkB;QACzB,MAAM,CAAC,OAAO;QACd,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC;KACrC,CACJ,CACJ,CAAA;IAED,OAAO,SAAS,CACZ,mBAAmB,CACf;QACI;YACI,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,SAAS;SAClB;QACD;YACI,IAAI,EAAE,mBAAmB;YACzB,IAAI,EAAE,SAAS;SAClB;QACD;YACI,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,SAAS;SAClB;KACJ,EACD,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAC7C,CACJ,CAAA;AACL,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,EACnC,MAAM,EACN,iBAAiB,EACjB,YAAY,EAMf,EAAE,EAAE;IACD,MAAM,YAAY,GAAG,cAAc,CAAC,MAAM,CAAC,CAAA;IAE3C,uCAAuC;IACvC,MAAM,cAAc,GAAG,8BAA8B,CAAC;QAClD,OAAO,EAAE,CAAC,MAAM,CAAC;KACpB,CAAC,CAAA;IAEF,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC;QACzC,OAAO,EAAE,iBAAiB;QAC1B,GAAG,EAAE;YACD;gBACI,MAAM,EAAE;oBACJ;wBACI,UAAU,EAAE;4BACR,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;4BACnC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;4BAClC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;4BACnC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;4BACnC,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,SAAS,EAAE;4BAC7C,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,SAAS,EAAE;4BAC/C,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;4BACpC,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,OAAO,EAAE;4BAC3C,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE;yBACvC;wBACD,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,OAAO;qBAChB;iBACJ;gBACD,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;gBACxC,eAAe,EAAE,MAAM;gBACvB,IAAI,EAAE,UAAU;aACnB;SACJ;QACD,YAAY,EAAE,eAAe;QAC7B,IAAI,EAAE,CAAC,YAAY,CAAC;QACpB,aAAa,EAAE;YACX,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBAC7C,OAAO,EAAE,OAAkB;gBAC3B,IAAI,EAAE,cAAc,CAAC,OAAkB,CAAC,EAAE,IAAI,IAAI,IAAI;aACzD,CAAC,CAAC;SACN;KACJ,CAAC,CAAA;IAEF,OAAO,IAAI,CAAA;AACf,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAC1B,MAAM,EACN,iBAAiB,EACjB,OAAO,EACP,YAAY,EAMf,EAAE,EAAE;IACD,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QACtB,OAAO,gBAAgB,CAAC;YACpB,MAAM;YACN,iBAAiB;YACjB,OAAO;SACV,CAAC,CAAA;IACN,CAAC;IAED,IAAI,WAAW,CAAC,MAAM,EAAE,iBAAiB,CAAC,EAAE,CAAC;QACzC,OAAO,gBAAgB,CAAC;YACpB,MAAM;YACN,iBAAiB;YACjB,OAAO;YACP,YAAY;SACf,CAAC,CAAA;IACN,CAAC;IAED,OAAO,gBAAgB,CAAC;QACpB,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC;QAC9B,iBAAiB;QACjB,OAAO;KACV,CAAC,CAAA;AACN,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,KAAa,EAAE,EAAE;IACpD,MAAM,QAAQ,GAAG,KAAK,IAAI,GAAG,CAAA,CAAC,0BAA0B;IACxD,MAAM,aAAa,GAAG,KAAK,GAAG,mBAAmB,CAAA,CAAC,wBAAwB;IAE1E,OAAO,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAA;AACpC,CAAC,CAAA;AAED,MAAM,UAAU,gBAAgB,CAC5B,YAAiC;IAEjC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,cAAc,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;IAEtE,MAAM,EAAE,YAAY,EAAE,oBAAoB,EAAE,GAAG,sBAAsB,CACjE,YAAY,CAAC,gBAAgB,CAChC,CAAA;IAED,MAAM,EAAE,YAAY,EAAE,oBAAoB,EAAE,GAAG,eAAe,CAC1D,YAAY,CAAC,OAAO,CACvB,CAAA;IAED,MAAM,EACF,SAAS,EACT,6BAA6B,EAC7B,uBAAuB,EACvB,aAAa,EAChB,GAAG,sBAAsB,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAA;IAEzD,OAAO;QACH,MAAM,EAAE,YAAY,CAAC,MAAM;QAC3B,KAAK,EAAE,YAAY,CAAC,KAAK;QACzB,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE,WAAW;QACxB,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAC/B,YAAY,EAAE,YAAY;QAC1B,oBAAoB,EAAE,oBAAoB;QAC1C,kBAAkB,EAAE,YAAY,CAAC,kBAAkB;QACnD,YAAY,EAAE,YAAY;QAC1B,oBAAoB,EAAE,oBAAoB;QAC1C,SAAS,EAAE,SAAS;QACpB,6BAA6B,EAAE,6BAA6B;QAC5D,uBAAuB,EAAE,uBAAuB;QAChD,aAAa,EAAE,aAAa;QAC5B,SAAS,EAAE,YAAY,CAAC,SAAS;KACpC,CAAA;AACL,CAAC;AAED,MAAM,UAAU,kBAAkB,CAC9B,UAAe,EACf,OAA2B;IAE3B,IAAI,UAAU,GAAY,WAAW,CAAA;IACrC,IAAI,YAA6B,CAAA;IACjC,IAAI,eAUW,CAAA;IAEf,IAAI,UAAU,GAAG,CAAC,CAAC,CAAA;IACnB,IAAI,gBAAgB,GAAG,CAAC,CAAC,CAAA;IAEzB,iEAAiE;IACjE,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QACvD,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC/B,IAAI,CAAC;YACD,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,cAAc,CAAC;gBACvC,GAAG,EAAE;oBACD,UAAU,CAAC;wBACP,GAAG,EAAE,eAAe;wBACpB,IAAI,EAAE,oBAAoB;qBAC7B,CAAC;oBACF,UAAU,CAAC;wBACP,GAAG,EAAE,eAAe;wBACpB,IAAI,EAAE,2BAA2B;qBACpC,CAAC;oBACF,UAAU,CAAC;wBACP,GAAG,EAAE,eAAe;wBACpB,IAAI,EAAE,iBAAiB;qBAC1B,CAAC;iBACL;gBACD,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,MAAM,EAAE,GAAG,CAAC,MAAM;aACrB,CAAC,CAAA;YAEF,IAAI,SAAS,KAAK,iBAAiB,EAAE,CAAC;gBAClC,oFAAoF;gBACpF,UAAU,GAAG,KAAK,CAAA;YACtB,CAAC;YAED,IACI,SAAS,KAAK,2BAA2B;gBACzC,IAAI,CAAC,UAAU,KAAK,UAAU,EAChC,CAAC;gBACC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAA;YACpC,CAAC;YAED,IAAI,SAAS,KAAK,oBAAoB,EAAE,CAAC;gBACrC,IAAI,IAAI,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;oBACjC,gBAAgB,GAAG,KAAK,CAAA;oBACxB,UAAU,GAAG,GAAG,CAAC,OAAO,CAAA;oBACxB,eAAe,GAAG,IAAI,CAAA;oBACtB,MAAK;gBACT,CAAC;gBACD,mEAAmE;gBACnE,UAAU,GAAG,KAAK,CAAA;YACtB,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC,CAAA,CAAC;IAClB,CAAC;IAED,IAAI,gBAAgB,KAAK,CAAC,CAAC,IAAI,UAAU,KAAK,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;IACpD,CAAC;IAED,0DAA0D;IAC1D,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,EAAE,gBAAgB,CAAC,CAAA;IACzE,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;IACzD,MAAM,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC;QACtC,GAAG,OAAO;QACV,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAC/C,CAAC,CAAA;IAEF,IAAI,SAAS,GAAwB,eAAe,CAAC,SAAS,CAAA;IAC9D,IAAI,SAAS,KAAK,WAAW,EAAE,CAAC;QAC5B,SAAS,GAAG,SAAS,CAAA;IACzB,CAAC;IAED,MAAM,aAAa,GAAyB;QACxC,UAAU;QACV,UAAU;QACV,SAAS;QACT,MAAM,EAAE,eAAe,CAAC,MAAM;QAC9B,KAAK,EAAE,eAAe,CAAC,KAAK;QAC5B,aAAa,EAAE,eAAe,CAAC,aAAa;QAC5C,aAAa,EAAE,eAAe,CAAC,aAAa;QAC5C,OAAO,EAAE,eAAe,CAAC,OAAO;QAChC,MAAM,EAAE,YAAY;QACpB,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,aAAa;KACzB,CAAA;IAED,OAAO,aAAa,CAAA;AACxB,CAAC"}
1
+ {"version":3,"file":"userop.js","sourceRoot":"","sources":["../../utils/userop.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pimlico/alto",
3
- "version": "0.0.0-main.20250908T105720",
3
+ "version": "0.0.0-main.20250930T125129",
4
4
  "description": "A performant and modular ERC-4337 Bundler written in Typescript",
5
5
  "repository": "https://github.com/pimlicolabs/alto.git",
6
6
  "author": "Pimlico",
@@ -1,9 +0,0 @@
1
- import type { AltoConfig } from "../../createConfig.js";
2
- export declare const getRedisKeys: (config: AltoConfig) => {
3
- mempoolQueue: string;
4
- userOpReceiptCachePrefix: string;
5
- userOpStatusQueue: string;
6
- gasPriceQueue: string;
7
- senderManagerQueue: string;
8
- };
9
- //# sourceMappingURL=redisKeys.d.ts.map
@@ -1,16 +0,0 @@
1
- export const getRedisKeys = (config) => {
2
- const prefix = `${config.redisKeyPrefix}:${config.chainId}`;
3
- return {
4
- // Mempool queue
5
- mempoolQueue: `${prefix}:outstanding-mempool`,
6
- // User operation receipt cache - returns just the key prefix for receipt cache
7
- userOpReceiptCachePrefix: `${prefix}:receipt-cache`,
8
- // User operation status
9
- userOpStatusQueue: `${prefix}:userop-status`,
10
- // Gas price queue
11
- gasPriceQueue: `${prefix}:gas-price`,
12
- // Sender manager queue
13
- senderManagerQueue: `${prefix}:sender-manager`
14
- };
15
- };
16
- //# sourceMappingURL=redisKeys.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"redisKeys.js","sourceRoot":"","sources":["../../../cli/config/redisKeys.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAAkB,EAAE,EAAE;IAC/C,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,OAAO,EAAE,CAAA;IAE3D,OAAO;QACH,gBAAgB;QAChB,YAAY,EAAE,GAAG,MAAM,sBAAsB;QAE7C,+EAA+E;QAC/E,wBAAwB,EAAE,GAAG,MAAM,gBAAgB;QAEnD,wBAAwB;QACxB,iBAAiB,EAAE,GAAG,MAAM,gBAAgB;QAE5C,kBAAkB;QAClB,aAAa,EAAE,GAAG,MAAM,YAAY;QAEpC,uBAAuB;QACvB,kBAAkB,EAAE,GAAG,MAAM,iBAAiB;KACjD,CAAA;AACL,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"userOpMonitor.js","sourceRoot":"","sources":["../../executor/userOpMonitor.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAIvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAMH,+BAA+B,EAC/B,cAAc,EACd,UAAU,EACV,UAAU,EACb,MAAM,MAAM,CAAA;AACb,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAE1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,EAAqB,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEtE,MAAM,OAAO,aAAa;IACd,iBAAiB,CAA4B;IAC7C,MAAM,CAAY;IAClB,OAAO,CAAS;IAChB,OAAO,CAAS;IAChB,MAAM,CAAQ;IACd,OAAO,CAAS;IAChB,YAAY,CAAc;IAC1B,aAAa,CAAe;IAC5B,iBAAiB,CAA6C;IAC9D,cAAc,GAAqC,IAAI,GAAG,EAAE,CAAA;IAC5D,YAAY,CAAc;IAC1B,eAAe,CAAiB;IAExC,YAAY,EACR,MAAM,EACN,OAAO,EACP,OAAO,EACP,OAAO,EACP,iBAAiB,EACjB,YAAY,EACZ,aAAa,EACb,eAAe,EAUlB;QACG,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAA;QAC1C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAChC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QAClC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAA;QAC7B,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;QACtC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,SAAS,CAC1B,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAC5B;YACI,KAAK,EAAE,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,QAAQ;SACpD,CACJ,CAAA;QAED,2BAA2B;QAC3B,IAAI,CAAC,YAAY,GAAG,kBAAkB,CAClC,MAAM,EACN,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,gBAAgB;SACjC,CAAA;IACL,CAAC;IAED,iBAAiB;QACb,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAA;IACnD,CAAC;IAED,WAAW,CACP,cAAqC;QAErC,OAAO,OAAO,CAAC,GAAG,CACd,cAAc,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YAC1B,OAAO,eAAe,CAAC;gBACnB,eAAe,EAAE,MAAM;gBACvB,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;gBACtC,MAAM,EAAE,IAAI,CAAC,MAAM;aACtB,CAAC,CAAA;QACN,CAAC,CAAC,CACL,CAAA;IACL,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,EACxB,eAAe,EACf,aAAa,EACb,sBAAsB,EAKzB;QACG,MAAM,EAAE,MAAM,EAAE,GAAG,eAAe,CAAA;QAClC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM,CAAA;QACtC,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,aAAa,CAAA;QAEtE,iBAAiB;QACjB,MAAM,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAA;QAE/C,sBAAsB;QACtB,mCAAmC;QACnC,OAAO,CAAC,KAAK,IAAI,EAAE;YACf,KAAK,MAAM,UAAU,IAAI,OAAO,EAAE,CAAC;gBAC/B,MAAM,aAAa,GAAG,cAAc,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA;gBAE3D,oBAAoB;gBACpB,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CACvB,UAAU,CAAC,UAAU,EACrB,aAAa,CAChB,CAAA;gBAED,MAAM,IAAI,CAAC,qBAAqB,CAC5B,UAAU,EACV,aAAa,EACb,eAAe,EACf,WAAW,EACX,UAAU,EACV,sBAAsB,CACzB,CAAA;YACL,CAAC;QACL,CAAC,CAAC,EAAE,CAAA;IACR,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,qBAAqB,CAAC,EACxB,eAAe,EACf,sBAAsB,EACtB,aAAa,EACb,KAAK,EAMR;QACG,MAAM,EAAE,MAAM,EAAE,GAAG,eAAe,CAAA;QAClC,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,GAAG,aAAa,CAAA;QAEtD,MAAM,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAA;QAE/C,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB;YACjD,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,CAAC,KAAK,EAAE,aAAa;gBACrB,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC,CAAA;QAEhD,qCAAqC;QACrC,OAAO,CAAC,KAAK,IAAI,EAAE;YACf,uCAAuC;YACvC,MAAM,eAAe,GAAG,MAAM,uBAAuB,CAAC;gBAClD,YAAY,EAAE,MAAM;gBACpB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,cAAc;aACjB,CAAC,CAAA;YAEF,2CAA2C;YAC3C,IAAI,eAAe,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACvC,MAAM,EAAE,eAAe,EAAE,GAAG,eAAe,CAAA;gBAE3C,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC;oBAC/B,OAAO,EAAE,eAAe;oBACxB,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,MAAM,EAAE,qBAAqB;iBAChC,CAAC,CAAA;YACN,CAAC;YAED,MAAM,EAAE,eAAe,EAAE,GAAG,eAAe,CAAA;YAE3C,kBAAkB;YAClB,iFAAiF;YACjF,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;gBACrC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC;oBACtC,UAAU;oBACV,UAAU,EAAE,eAAe,CAAC,MAAM,CAAC,UAAU;oBAC7C,UAAU,EAAE;wBACR,eAAe,CAAC,eAAe;wBAC/B,GAAG,eAAe,CAAC,yBAAyB;qBAC/C;oBACD,sBAAsB;iBACzB,CAAC,CAAA;gBAEF,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;oBACzB,MAAM,EAAE,UAAU,EAAE,GAAG,UAAU,CAAA;oBAEjC,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,UAAU,EAAE;wBAC3C,MAAM,EAAE,QAAQ;wBAChB,eAAe;qBAClB,CAAC,CAAA;oBAEF,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAC/B,UAAU,EACV,eAAe,EACf,WAAW,CACd,CAAA;oBAED,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ;wBACI,UAAU;wBACV,eAAe;qBAClB,EACD,wBAAwB,CAC3B,CAAA;oBAED,IAAI,CAAC,OAAO,CAAC,cAAc;yBACtB,MAAM,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;yBAC9B,GAAG,CAAC,CAAC,CAAC,CAAA;gBACf,CAAC;YACL,CAAC,CAAC,CAAA;QACN,CAAC,CAAC,EAAE,CAAA;IACR,CAAC;IAEM,WAAW,CAAC,eAAoC;QACnD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,EAAE,eAAe,CAAC,CAAA;IACjE,CAAC;IAED,aAAa;IACb,KAAK,CAAC,uBAAuB;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAA;QAEpC,IAAI,KAAK,IAAI,GAAG,GAAG,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC;YACnE,OAAO,KAAK,CAAC,KAAK,CAAA;QACtB,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,cAAc,EAAE,CAAA;QACnE,IAAI,CAAC,iBAAiB,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,EAAE,CAAA;QAC/D,OAAO,WAAW,CAAA;IACtB,CAAC;IAED,kDAAkD;IAC1C,KAAK,CAAC,mBAAmB,CAAC,eAAoC;QAClE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,eAAe,CAAA;QAC5C,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM,CAAA;QAEtC,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAA;QACxC,MAAM,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAA;QACtD,MAAM,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAA;IACtE,CAAC;IAED,+CAA+C;IACxC,kBAAkB,CAAC,eAAoC;QAC1D,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;IACnD,CAAC;IAEO,KAAK,CAAC,qBAAqB,CAC/B,UAAsB,EACtB,aAAmC,EACnC,eAAqB,EACrB,WAAmB,EACnB,UAAmB,EACnB,sBAA8B;QAE9B,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,EAAE,cAAc,EAAE,GAC5D,UAAU,CAAA;QAEd,MAAM,eAAe,GAAG,sBAAsB,GAAG,cAAc,CAAA;QAC/D,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAE,EAChD,kBAAkB,CACrB,CAAA;QAED,gBAAgB;QAChB,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,UAAU,EAAE;YAC3C,MAAM,EAAE,UAAU;YAClB,eAAe;SAClB,CAAC,CAAA;QAEF,aAAa;QACb,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,GAAG,EAAE,CAAA;QAEhE,yBAAyB;QACzB,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;YACxB,IAAI,CAAC,YAAY,CAAC,mBAAmB,CACjC,UAAU,EACV,eAAe,EACf,WAAW,CACd,CAAA;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,YAAY,CAAC,4BAA4B,CAC1C,UAAU,EACV,eAAe,EACf,aAAa,CAAC,MAAM,IAAI,IAAI,EAC5B,WAAW,CACd,CAAA;QACL,CAAC;QAED,gBAAgB;QAChB,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAA;QACpE,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAA;QAElE,oBAAoB;QACpB,MAAM,eAAe,GAAG,IAAI,CAAC,sBAAsB,CAC/C,aAAa,EACb,MAAM,CAAC,MAAM,CAChB,CAAA;QACD,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAC7C,MAAM,EACN,UAAU,EACV,eAAe,CAClB,CAAA;IACL,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,EAClB,UAAU,EACV,UAAU,EACV,UAAU,EACV,sBAAsB,EACtB,cAAc,GAAG,CAAC,EAOrB;QACG,MAAM,EAAE,UAAU,EAAE,GAAG,UAAU,CAAA;QAEjC,6BAA6B;QAC7B,IAAI,CAAC;YACD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAA;YAE7D,IACI,aAAa;gBACb,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,eAAe,CAAC,EAC5D,CAAC;gBACC,MAAM,EAAE,OAAO,EAAE,GAAG,aAAa,CAAA;gBACjC,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,GAAG,OAAO,CAAA;gBAEhD,oBAAoB;gBACpB,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CACvB,UAAU,CAAC,UAAU,EACrB,aAAa,CAChB,CAAA;gBAED,MAAM,IAAI,CAAC,qBAAqB,CAC5B,UAAU,EACV,aAAa,EACb,eAAe,EACf,WAAW,EACX,UAAU,EACV,sBAAsB,CACzB,CAAA;gBAED,qCAAqC;gBACrC,OAAO,UAAU,CAAA;YACrB,CAAC;YAED,IAAI,aAAa,EAAE,CAAC;gBAChB,MAAM,eAAe,GAAG,aAAa,CAAC,OAAO,CAAC,eAAe,CAAA;gBAC7D,MAAM,WAAW,GAAG,aAAa,CAAC,OAAO,CAAC,WAAW,CAAA;gBAErD,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,UAAU,EAAE;oBAC3C,MAAM,EAAE,UAAU;oBAClB,eAAe;iBAClB,CAAC,CAAA;gBAEF,IAAI,CAAC,YAAY,CAAC,mBAAmB,CACjC,UAAU,EACV,eAAe,EACf,WAAW,CACd,CAAA;gBAED,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ;oBACI,UAAU;iBACb,EACD,0BAA0B,CAC7B,CAAA;gBAED,iBAAiB;gBACjB,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,GAAG,EAAE,CAAA;gBAEhE,wCAAwC;gBACxC,OAAO,UAAU,CAAA;YACrB,CAAC;YAED,IAAI,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;gBAClD,OAAO,WAAW,CAAA;YACtB,CAAC;YAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC3B,UAAU,CAAC,GAAG,EAAE;oBACZ,OAAO,CACH,IAAI,CAAC,eAAe,CAAC;wBACjB,UAAU;wBACV,UAAU;wBACV,UAAU;wBACV,sBAAsB;wBACtB,cAAc,EAAE,cAAc,GAAG,CAAC;qBACrC,CAAC,CACL,CAAA;gBACL,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,CAAA;YACzD,CAAC,CAAC,CAAA;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CACb;gBACI,UAAU;gBACV,KAAK;aACR,EACD,gCAAgC,CACnC,CAAA;YAED,OAAO,WAAW,CAAA;QACtB,CAAC;IACL,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,UAAqB;QACxC,oBAAoB;QACpB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QACtD,IAAI,MAAM,EAAE,CAAC;YACT,OAAO,MAAM,CAAA;QACjB,CAAC;QAED,IAAI,SAA6B,CAAA;QACjC,IAAI,OAA6B,CAAA;QACjC,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YAC1C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAA;YAExD,SAAS,GAAG,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;YAC3D,IAAI,SAAS,GAAG,EAAE,EAAE,CAAC;gBACjB,SAAS,GAAG,EAAE,CAAA;YAClB,CAAC;YAED,OAAO,GAAG,QAAQ,CAAA;QACtB,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC;YACxD,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;YAChC,KAAK,EAAE,UAAU,CAAC;gBACd,GAAG,EAAE,eAAe;gBACpB,IAAI,EAAE,oBAAoB;aAC7B,CAAC;YACF,SAAS;YACT,OAAO;YACP,IAAI,EAAE;gBACF,UAAU;aACb;SACJ,CAAC,CAAA;QAEF,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAA;QACf,CAAC;QAED,MAAM,kBAAkB,GAAG,YAAY,CAAC,CAAC,CAAC,CAAA;QAC1C,kEAAkE;QAClE,IACI,kBAAkB,CAAC,IAAI,CAAC,aAAa,KAAK,SAAS;YACnD,kBAAkB,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS;YAC5C,kBAAkB,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS;YAC3C,kBAAkB,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS;YAChD,kBAAkB,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS;YAC7C,kBAAkB,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS;YAC/C,kBAAkB,CAAC,IAAI,CAAC,aAAa,KAAK,SAAS,EACrD,CAAC;YACC,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;QAC/D,CAAC;QAED,MAAM,MAAM,GAAG,kBAAkB,CAAC,eAAe,CAAA;QACjD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YAClB,sBAAsB;YACtB,OAAO,IAAI,CAAA;QACf,CAAC;QAED,MAAM,qBAAqB,GAAG,KAAK,EAC/B,MAAiB,EACU,EAAE;YAC7B,MAAM,UAAU,GAAG,EAAE,CAAA;YAErB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;gBACpD,IAAI,CAAC;oBACD,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAA;oBAE7C,MAAM,kBAAkB,GACpB,MAAM,YAAY,CAAC,qBAAqB,CAAC;wBACrC,IAAI,EAAE,MAAM;qBACf,CAAC,CAAA;oBAEN,IAAI,iBAAiB,GACjB,kBAAkB,CAAC,iBAAiB;wBACnC,kBAA0B,CAAC,QAAQ;wBACpC,SAAS,CAAA;oBAEb,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;wBAClC,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC,cAAc,CAAC;4BACzC,IAAI,EAAE,MAAM;yBACf,CAAC,CAAA;wBACF,iBAAiB,GAAG,EAAE,CAAC,QAAQ,IAAI,SAAS,CAAA;oBAChD,CAAC;oBAED,IAAI,iBAAiB,EAAE,CAAC;wBACpB,kBAAkB,CAAC,iBAAiB,GAAG,iBAAiB,CAAA;oBAC5D,CAAC;oBAED,OAAO,kBAAkB,CAAA;gBAC7B,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACT,IAAI,CAAC,YAAY,+BAA+B,EAAE,CAAC;wBAC/C,IAAI,OAAO,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC;4BAC3B,iCAAiC;4BACjC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAC1B,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC,CACjD,CAAA;4BACD,SAAQ;wBACZ,CAAC;wBAED,sCAAsC;wBACtC,MAAM,IAAI,KAAK,CACX,uCAAuC,UAAU,oBAAoB,MAAM,EAAE,CAChF,CAAA;oBACL,CAAC;oBAED,MAAM,CAAC,CAAA;gBACX,CAAC;YACL,CAAC;YAED,8DAA8D;YAC9D,MAAM,IAAI,KAAK,CAAC,yCAAyC,MAAM,EAAE,CAAC,CAAA;QACtE,CAAC,CAAA;QAED,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,MAAM,CAAC,CAAA;QACnD,MAAM,aAAa,GAAG,kBAAkB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QAE7D,qCAAqC;QACrC,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,aAAa,CAAC,CAAA;QAEtD,OAAO,aAAa,CAAA;IACxB,CAAC;IAEO,sBAAsB,CAC1B,aAAkB,EAClB,MAAe;QAEf,OAAO,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAQ,EAAE,EAAE;YAChD,IAAI,CAAC;gBACD,MAAM,EAAE,IAAI,EAAE,GAAG,cAAc,CAAC;oBAC5B,GAAG,EAAE,eAAe;oBACpB,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,SAAS,EAAE,iBAAiB;oBAC5B,MAAM,EAAE,GAAG,CAAC,MAAyB;iBACxC,CAAC,CAAA;gBACF,OAAO,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,MAAM,CAAA;YAC7C,CAAC;YAAC,MAAM,CAAC;gBACL,OAAO,KAAK,CAAA;YAChB,CAAC;QACL,CAAC,CAAC,CAAA;IACN,CAAC;CACJ"}