@safe-global/relay-kit 3.1.0-alpha.0 → 3.1.0-alpha.1

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 (27) hide show
  1. package/dist/src/packs/safe-4337/Safe4337Pack.d.ts +11 -5
  2. package/dist/src/packs/safe-4337/Safe4337Pack.js +111 -95
  3. package/dist/src/packs/safe-4337/Safe4337Pack.js.map +1 -1
  4. package/dist/src/packs/safe-4337/Safe4337Pack.test.js +218 -29
  5. package/dist/src/packs/safe-4337/Safe4337Pack.test.js.map +1 -1
  6. package/dist/src/packs/safe-4337/SafeOperation.d.ts +3 -1
  7. package/dist/src/packs/safe-4337/SafeOperation.js +2 -1
  8. package/dist/src/packs/safe-4337/SafeOperation.js.map +1 -1
  9. package/dist/src/packs/safe-4337/SafeOperation.test.js +5 -0
  10. package/dist/src/packs/safe-4337/SafeOperation.test.js.map +1 -1
  11. package/dist/src/packs/safe-4337/constants.d.ts +2 -0
  12. package/dist/src/packs/safe-4337/constants.js +3 -1
  13. package/dist/src/packs/safe-4337/constants.js.map +1 -1
  14. package/dist/src/packs/safe-4337/testing-utils/fixtures.d.ts +36 -0
  15. package/dist/src/packs/safe-4337/testing-utils/fixtures.js +41 -5
  16. package/dist/src/packs/safe-4337/testing-utils/fixtures.js.map +1 -1
  17. package/dist/src/packs/safe-4337/testing-utils/helpers.js +0 -1
  18. package/dist/src/packs/safe-4337/testing-utils/helpers.js.map +1 -1
  19. package/dist/src/packs/safe-4337/types.d.ts +2 -4
  20. package/dist/src/packs/safe-4337/utils/entrypoint.d.ts +4 -0
  21. package/dist/src/packs/safe-4337/utils/entrypoint.js +23 -0
  22. package/dist/src/packs/safe-4337/utils/entrypoint.js.map +1 -0
  23. package/dist/src/packs/safe-4337/utils.d.ts +61 -5
  24. package/dist/src/packs/safe-4337/utils.js +131 -9
  25. package/dist/src/packs/safe-4337/utils.js.map +1 -1
  26. package/dist/tsconfig.build.tsbuildinfo +1 -1
  27. package/package.json +3 -3
@@ -1,5 +1,6 @@
1
1
  import { SigningMethod } from '@safe-global/protocol-kit';
2
2
  import { RelayKitBasePack } from '../../RelayKitBasePack';
3
+ import { SafeOperationResponse } from '@safe-global/safe-core-sdk-types';
3
4
  import EthSafeOperation from './SafeOperation';
4
5
  import { EstimateFeeProps, Safe4337CreateTransactionProps, Safe4337ExecutableProps, Safe4337InitOptions, Safe4337Options, UserOperationReceipt, UserOperationWithPayload } from './types';
5
6
  /**
@@ -25,7 +26,7 @@ export declare class Safe4337Pack extends RelayKitBasePack<{
25
26
  *
26
27
  * @param {Safe4337Options} options - The initialization parameters.
27
28
  */
28
- constructor({ protocolKit, bundlerClient, publicClient, bundlerUrl, paymasterOptions, entryPointAddress, safe4337ModuleAddress }: Safe4337Options);
29
+ constructor({ protocolKit, bundlerClient, bundlerUrl, paymasterOptions, entryPointAddress, safe4337ModuleAddress }: Safe4337Options);
29
30
  /**
30
31
  * Initializes a Safe4337Pack class.
31
32
  * This method creates the protocolKit instance based on the input parameters.
@@ -57,18 +58,23 @@ export declare class Safe4337Pack extends RelayKitBasePack<{
57
58
  /**
58
59
  * Signs a safe operation.
59
60
  *
60
- * @param {EthSafeOperation} safeOperation - The SafeOperation to sign.
61
+ * @param {EthSafeOperation | SafeOperationResponse} safeOperation - The SafeOperation to sign. It can be:
62
+ * - A response from the API (Tx Service)
63
+ * - An instance of EthSafeOperation
61
64
  * @param {SigningMethod} signingMethod - The signing method to use.
62
65
  * @return {Promise<EthSafeOperation>} The Promise object will resolve to the signed SafeOperation.
63
66
  */
64
- signSafeOperation(safeOperation: EthSafeOperation, signingMethod?: SigningMethod): Promise<EthSafeOperation>;
67
+ signSafeOperation(safeOperation: EthSafeOperation | SafeOperationResponse, signingMethod?: SigningMethod): Promise<EthSafeOperation>;
65
68
  /**
66
69
  * Executes the relay transaction.
67
70
  *
68
- * @param {EthSafeOperation} safeOperation - The SafeOperation to execute.
71
+ * @param {Safe4337ExecutableProps} props - The parameters for the transaction execution.
72
+ * @param {EthSafeOperation | SafeOperationResponse} props.executable - The SafeOperation to execute. It can be:
73
+ * - A response from the API (Tx Service)
74
+ * - An instance of EthSafeOperation
69
75
  * @return {Promise<string>} The user operation hash.
70
76
  */
71
- executeTransaction({ executable: safeOperation }: Safe4337ExecutableProps): Promise<string>;
77
+ executeTransaction({ executable }: Safe4337ExecutableProps): Promise<string>;
72
78
  /**
73
79
  * Return a UserOperation based on a hash (userOpHash) returned by eth_sendUserOperation
74
80
  *
@@ -36,7 +36,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
36
36
  var __importDefault = (this && this.__importDefault) || function (mod) {
37
37
  return (mod && mod.__esModule) ? mod : { "default": mod };
38
38
  };
39
- var _Safe4337Pack_instances, _Safe4337Pack_BUNDLER_URL, _Safe4337Pack_ENTRYPOINT_ADDRESS, _Safe4337Pack_SAFE_4337_MODULE_ADDRESS, _Safe4337Pack_bundlerClient, _Safe4337Pack_publicClient, _Safe4337Pack_paymasterOptions, _Safe4337Pack_getSafeUserOperationHash, _Safe4337Pack_sendUserOperation, _Safe4337Pack_signTypedData, _Safe4337Pack_getAccountNonce, _Safe4337Pack_encodeExecuteUserOpCallData, _Safe4337Pack_encodeMultiSendCallData;
39
+ var _Safe4337Pack_instances, _Safe4337Pack_BUNDLER_URL, _Safe4337Pack_ENTRYPOINT_ADDRESS, _Safe4337Pack_SAFE_4337_MODULE_ADDRESS, _Safe4337Pack_bundlerClient, _Safe4337Pack_paymasterOptions, _Safe4337Pack_toSafeOperation, _Safe4337Pack_getSafeNonceFromEntrypoint, _Safe4337Pack_encodeExecuteUserOpCallData;
40
40
  Object.defineProperty(exports, "__esModule", { value: true });
41
41
  exports.Safe4337Pack = void 0;
42
42
  const ethers_1 = require("ethers");
@@ -48,9 +48,11 @@ const safe_modules_deployments_1 = require("@safe-global/safe-modules-deployment
48
48
  const SafeOperation_1 = __importDefault(require("./SafeOperation"));
49
49
  const constants_1 = require("./constants");
50
50
  const utils_1 = require("./utils");
51
+ const entrypoint_1 = require("./utils/entrypoint");
51
52
  const PimlicoFeeEstimator_1 = require("./estimators/PimlicoFeeEstimator");
52
53
  const MAX_ERC20_AMOUNT_TO_APPROVE = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn;
53
- /*
54
+ const EQ_OR_GT_1_4_1 = '>=1.4.1';
55
+ /**
54
56
  Some of the contracts used in the PoC app are still experimental, and not included in
55
57
  the production deployment packages, thus we need to hardcode their addresses here.
56
58
  Deployment commit: https://github.com/safe-global/safe-modules/commit/3853f34f31837e0a0aee47a4452564278f8c62ba
@@ -75,18 +77,16 @@ class Safe4337Pack extends RelayKitBasePack_1.RelayKitBasePack {
75
77
  *
76
78
  * @param {Safe4337Options} options - The initialization parameters.
77
79
  */
78
- constructor({ protocolKit, bundlerClient, publicClient, bundlerUrl, paymasterOptions, entryPointAddress, safe4337ModuleAddress }) {
80
+ constructor({ protocolKit, bundlerClient, bundlerUrl, paymasterOptions, entryPointAddress, safe4337ModuleAddress }) {
79
81
  super(protocolKit);
80
82
  _Safe4337Pack_instances.add(this);
81
83
  _Safe4337Pack_BUNDLER_URL.set(this, void 0);
82
84
  _Safe4337Pack_ENTRYPOINT_ADDRESS.set(this, void 0);
83
85
  _Safe4337Pack_SAFE_4337_MODULE_ADDRESS.set(this, '0x');
84
86
  _Safe4337Pack_bundlerClient.set(this, void 0);
85
- _Safe4337Pack_publicClient.set(this, void 0);
86
87
  _Safe4337Pack_paymasterOptions.set(this, void 0);
87
88
  __classPrivateFieldSet(this, _Safe4337Pack_BUNDLER_URL, bundlerUrl, "f");
88
89
  __classPrivateFieldSet(this, _Safe4337Pack_bundlerClient, bundlerClient, "f");
89
- __classPrivateFieldSet(this, _Safe4337Pack_publicClient, publicClient, "f");
90
90
  __classPrivateFieldSet(this, _Safe4337Pack_paymasterOptions, paymasterOptions, "f");
91
91
  __classPrivateFieldSet(this, _Safe4337Pack_ENTRYPOINT_ADDRESS, entryPointAddress, "f");
92
92
  __classPrivateFieldSet(this, _Safe4337Pack_SAFE_4337_MODULE_ADDRESS, safe4337ModuleAddress, "f");
@@ -102,17 +102,20 @@ class Safe4337Pack extends RelayKitBasePack_1.RelayKitBasePack {
102
102
  * @return {Promise<Safe4337Pack>} The Promise object that will be resolved into an instance of Safe4337Pack.
103
103
  */
104
104
  static async init(initOptions) {
105
- const { provider, signer, options, bundlerUrl, rpcUrl, customContracts, paymasterOptions } = initOptions;
105
+ const { provider, signer, options, bundlerUrl, customContracts, paymasterOptions } = initOptions;
106
106
  let protocolKit;
107
107
  const bundlerClient = (0, utils_1.getEip4337BundlerProvider)(bundlerUrl);
108
- const publicClient = (0, utils_1.getEip1193Provider)(rpcUrl);
109
108
  const chainId = await bundlerClient.send(constants_1.RPC_4337_CALLS.CHAIN_ID, []);
110
109
  let addModulesLibAddress = customContracts?.addModulesLibAddress;
111
110
  const network = parseInt(chainId, 16).toString();
111
+ const safeModulesVersion = initOptions.safeModulesVersion || constants_1.DEFAULT_SAFE_MODULES_VERSION;
112
+ if ((0, satisfies_1.default)(safeModulesVersion, entrypoint_1.EQ_OR_GT_0_3_0)) {
113
+ throw new Error(`Incompatibility detected: Safe modules version ${safeModulesVersion} is not supported. The SDK can use 0.2.0 only.`);
114
+ }
112
115
  if (!addModulesLibAddress) {
113
116
  const addModulesDeployment = (0, safe_modules_deployments_1.getAddModulesLibDeployment)({
114
117
  released: true,
115
- version: initOptions.safeModulesVersion || constants_1.DEFAULT_SAFE_MODULES_VERSION,
118
+ version: safeModulesVersion,
116
119
  network
117
120
  });
118
121
  addModulesLibAddress = addModulesDeployment?.networkAddresses[network];
@@ -121,13 +124,13 @@ class Safe4337Pack extends RelayKitBasePack_1.RelayKitBasePack {
121
124
  if (!safe4337ModuleAddress) {
122
125
  const safe4337ModuleDeployment = (0, safe_modules_deployments_1.getSafe4337ModuleDeployment)({
123
126
  released: true,
124
- version: initOptions.safeModulesVersion || constants_1.DEFAULT_SAFE_MODULES_VERSION,
127
+ version: safeModulesVersion,
125
128
  network
126
129
  });
127
130
  safe4337ModuleAddress = safe4337ModuleDeployment?.networkAddresses[network];
128
131
  }
129
132
  if (!addModulesLibAddress || !safe4337ModuleAddress) {
130
- throw new Error(`Safe4337Module and/or AddModulesLib not available for chain ${network} and modules version ${constants_1.DEFAULT_SAFE_MODULES_VERSION}`);
133
+ throw new Error(`Safe4337Module and/or AddModulesLib not available for chain ${network} and modules version ${safeModulesVersion}`);
131
134
  }
132
135
  // Existing Safe
133
136
  if ('safeAddress' in options) {
@@ -137,7 +140,7 @@ class Safe4337Pack extends RelayKitBasePack_1.RelayKitBasePack {
137
140
  safeAddress: options.safeAddress
138
141
  });
139
142
  const safeVersion = await protocolKit.getContractVersion();
140
- const isSafeVersion4337Compatible = (0, satisfies_1.default)(safeVersion, '>=1.4.1');
143
+ const isSafeVersion4337Compatible = (0, satisfies_1.default)(safeVersion, EQ_OR_GT_1_4_1);
141
144
  if (!isSafeVersion4337Compatible) {
142
145
  throw new Error(`Incompatibility detected: The current Safe Account version (${safeVersion}) is not supported. EIP-4337 requires the Safe to use at least v1.4.1.`);
143
146
  }
@@ -180,16 +183,12 @@ class Safe4337Pack extends RelayKitBasePack_1.RelayKitBasePack {
180
183
  };
181
184
  setupTransactions.push(approveToPaymasterTransaction);
182
185
  }
183
- const safeProvider = await protocol_kit_1.SafeProvider.init(provider, signer);
186
+ const safeProvider = await protocol_kit_1.SafeProvider.init(provider, signer, safeVersion);
184
187
  // third transaction: passkey support via shared signer SafeWebAuthnSharedSigner
185
188
  // see: https://github.com/safe-global/safe-modules/blob/main/modules/passkey/contracts/4337/experimental/README.md
186
189
  const isPasskeySigner = await safeProvider.isPasskeySigner();
187
190
  if (isPasskeySigner) {
188
191
  const passkeySigner = (await safeProvider.getExternalSigner());
189
- const ownerAddress = await passkeySigner.getAddress();
190
- if (!options.owners.includes(ownerAddress)) {
191
- options.owners.push(ownerAddress);
192
- }
193
192
  if (!options.owners.includes(SAFE_WEBAUTHN_SHARED_SIGNER_ADDRESS)) {
194
193
  options.owners.push(SAFE_WEBAUTHN_SHARED_SIGNER_ADDRESS);
195
194
  }
@@ -244,20 +243,32 @@ class Safe4337Pack extends RelayKitBasePack_1.RelayKitBasePack {
244
243
  }
245
244
  });
246
245
  }
247
- let supportedEntryPoints;
248
- if (!customContracts?.entryPointAddress) {
249
- supportedEntryPoints = await bundlerClient.send(constants_1.RPC_4337_CALLS.SUPPORTED_ENTRY_POINTS, []);
246
+ let selectedEntryPoint;
247
+ if (customContracts?.entryPointAddress) {
248
+ const requiredSafeModulesVersion = (0, entrypoint_1.entryPointToSafeModules)(customContracts?.entryPointAddress);
249
+ if (!(0, satisfies_1.default)(safeModulesVersion, requiredSafeModulesVersion))
250
+ throw new Error(`The selected entrypoint ${customContracts?.entryPointAddress} is not compatible with version ${safeModulesVersion} of Safe modules`);
251
+ selectedEntryPoint = customContracts?.entryPointAddress;
252
+ }
253
+ else {
254
+ const supportedEntryPoints = await bundlerClient.send(constants_1.RPC_4337_CALLS.SUPPORTED_ENTRY_POINTS, []);
250
255
  if (!supportedEntryPoints.length) {
251
256
  throw new Error('No entrypoint provided or available through the bundler');
252
257
  }
258
+ selectedEntryPoint = supportedEntryPoints.find((entryPoint) => {
259
+ const requiredSafeModulesVersion = (0, entrypoint_1.entryPointToSafeModules)(entryPoint);
260
+ return (0, satisfies_1.default)(safeModulesVersion, requiredSafeModulesVersion);
261
+ });
262
+ if (!selectedEntryPoint) {
263
+ throw new Error(`Incompatibility detected: None of the entrypoints provided by the bundler is compatible with the Safe modules version ${safeModulesVersion}`);
264
+ }
253
265
  }
254
266
  return new Safe4337Pack({
255
267
  protocolKit,
256
268
  bundlerClient,
257
- publicClient,
258
269
  paymasterOptions,
259
270
  bundlerUrl,
260
- entryPointAddress: customContracts?.entryPointAddress || supportedEntryPoints[0],
271
+ entryPointAddress: selectedEntryPoint,
261
272
  safe4337ModuleAddress
262
273
  });
263
274
  }
@@ -270,6 +281,7 @@ class Safe4337Pack extends RelayKitBasePack_1.RelayKitBasePack {
270
281
  * @return {Promise<EthSafeOperation>} The Promise object that will be resolved into the gas estimation.
271
282
  */
272
283
  async getEstimateFee({ safeOperation, feeEstimator = new PimlicoFeeEstimator_1.PimlicoFeeEstimator() }) {
284
+ const threshold = await this.protocolKit.getThreshold();
273
285
  const setupEstimationData = await feeEstimator?.setupEstimation?.({
274
286
  bundlerUrl: __classPrivateFieldGet(this, _Safe4337Pack_BUNDLER_URL, "f"),
275
287
  entryPoint: __classPrivateFieldGet(this, _Safe4337Pack_ENTRYPOINT_ADDRESS, "f"),
@@ -278,7 +290,10 @@ class Safe4337Pack extends RelayKitBasePack_1.RelayKitBasePack {
278
290
  if (setupEstimationData) {
279
291
  safeOperation.addEstimations(setupEstimationData);
280
292
  }
281
- const estimateUserOperationGas = await __classPrivateFieldGet(this, _Safe4337Pack_bundlerClient, "f").send(constants_1.RPC_4337_CALLS.ESTIMATE_USER_OPERATION_GAS, [(0, utils_1.userOperationToHexValues)(safeOperation.toUserOperation()), __classPrivateFieldGet(this, _Safe4337Pack_ENTRYPOINT_ADDRESS, "f")]);
293
+ const estimateUserOperationGas = await __classPrivateFieldGet(this, _Safe4337Pack_bundlerClient, "f").send(constants_1.RPC_4337_CALLS.ESTIMATE_USER_OPERATION_GAS, [
294
+ (0, utils_1.userOperationToHexValues)((0, utils_1.addDummySignature)(safeOperation.toUserOperation(), SAFE_WEBAUTHN_SHARED_SIGNER_ADDRESS, threshold)),
295
+ __classPrivateFieldGet(this, _Safe4337Pack_ENTRYPOINT_ADDRESS, "f")
296
+ ]);
282
297
  if (estimateUserOperationGas) {
283
298
  safeOperation.addEstimations({
284
299
  preVerificationGas: BigInt(estimateUserOperationGas.preVerificationGas),
@@ -299,7 +314,7 @@ class Safe4337Pack extends RelayKitBasePack_1.RelayKitBasePack {
299
314
  throw new Error('No paymaster url provided for a sponsored transaction');
300
315
  }
301
316
  const paymasterEstimation = await feeEstimator?.getPaymasterEstimation?.({
302
- userOperation: safeOperation.toUserOperation(),
317
+ userOperation: (0, utils_1.addDummySignature)(safeOperation.toUserOperation(), SAFE_WEBAUTHN_SHARED_SIGNER_ADDRESS, threshold),
303
318
  paymasterUrl: __classPrivateFieldGet(this, _Safe4337Pack_paymasterOptions, "f").paymasterUrl,
304
319
  entryPoint: __classPrivateFieldGet(this, _Safe4337Pack_ENTRYPOINT_ADDRESS, "f"),
305
320
  sponsorshipPolicyId: __classPrivateFieldGet(this, _Safe4337Pack_paymasterOptions, "f").sponsorshipPolicyId
@@ -321,7 +336,7 @@ class Safe4337Pack extends RelayKitBasePack_1.RelayKitBasePack {
321
336
  */
322
337
  async createTransaction({ transactions, options = {} }) {
323
338
  const safeAddress = await this.protocolKit.getAddress();
324
- const nonce = await __classPrivateFieldGet(this, _Safe4337Pack_instances, "m", _Safe4337Pack_getAccountNonce).call(this, safeAddress);
339
+ const nonce = await __classPrivateFieldGet(this, _Safe4337Pack_instances, "m", _Safe4337Pack_getSafeNonceFromEntrypoint).call(this, safeAddress);
325
340
  const { amountToApprove, validUntil, validAfter, feeEstimator } = options;
326
341
  if (amountToApprove) {
327
342
  if (!__classPrivateFieldGet(this, _Safe4337Pack_paymasterOptions, "f") || !__classPrivateFieldGet(this, _Safe4337Pack_paymasterOptions, "f").paymasterTokenAddress) {
@@ -343,7 +358,7 @@ class Safe4337Pack extends RelayKitBasePack_1.RelayKitBasePack {
343
358
  ? __classPrivateFieldGet(this, _Safe4337Pack_instances, "m", _Safe4337Pack_encodeExecuteUserOpCallData).call(this, {
344
359
  to: multiSendAddress,
345
360
  value: '0',
346
- data: __classPrivateFieldGet(this, _Safe4337Pack_instances, "m", _Safe4337Pack_encodeMultiSendCallData).call(this, transactions),
361
+ data: (0, utils_1.encodeMultiSendCallData)(transactions),
347
362
  operation: safe_core_sdk_types_1.OperationType.DelegateCall
348
363
  })
349
364
  : __classPrivateFieldGet(this, _Safe4337Pack_instances, "m", _Safe4337Pack_encodeExecuteUserOpCallData).call(this, transactions[0]);
@@ -366,6 +381,7 @@ class Safe4337Pack extends RelayKitBasePack_1.RelayKitBasePack {
366
381
  userOperation.initCode = await this.protocolKit.getInitCode();
367
382
  }
368
383
  const safeOperation = new SafeOperation_1.default(userOperation, {
384
+ moduleAddress: __classPrivateFieldGet(this, _Safe4337Pack_SAFE_4337_MODULE_ADDRESS, "f"),
369
385
  entryPoint: __classPrivateFieldGet(this, _Safe4337Pack_ENTRYPOINT_ADDRESS, "f"),
370
386
  validUntil,
371
387
  validAfter
@@ -378,26 +394,35 @@ class Safe4337Pack extends RelayKitBasePack_1.RelayKitBasePack {
378
394
  /**
379
395
  * Signs a safe operation.
380
396
  *
381
- * @param {EthSafeOperation} safeOperation - The SafeOperation to sign.
397
+ * @param {EthSafeOperation | SafeOperationResponse} safeOperation - The SafeOperation to sign. It can be:
398
+ * - A response from the API (Tx Service)
399
+ * - An instance of EthSafeOperation
382
400
  * @param {SigningMethod} signingMethod - The signing method to use.
383
401
  * @return {Promise<EthSafeOperation>} The Promise object will resolve to the signed SafeOperation.
384
402
  */
385
403
  async signSafeOperation(safeOperation, signingMethod = protocol_kit_1.SigningMethod.ETH_SIGN_TYPED_DATA_V4) {
404
+ let safeOp;
405
+ if ((0, safe_core_sdk_types_1.isSafeOperationResponse)(safeOperation)) {
406
+ safeOp = __classPrivateFieldGet(this, _Safe4337Pack_instances, "m", _Safe4337Pack_toSafeOperation).call(this, safeOperation);
407
+ }
408
+ else {
409
+ safeOp = safeOperation;
410
+ }
386
411
  const owners = await this.protocolKit.getOwners();
387
412
  const safeProvider = this.protocolKit.getSafeProvider();
388
413
  const signerAddress = await safeProvider.getSignerAddress();
389
414
  const chainId = await safeProvider.getChainId();
415
+ const isPasskeySigner = await safeProvider.isPasskeySigner();
390
416
  if (!signerAddress) {
391
417
  throw new Error('There is no signer address available to sign the SafeOperation');
392
418
  }
393
419
  const addressIsOwner = owners.some((owner) => signerAddress && owner.toLowerCase() === signerAddress.toLowerCase());
394
- if (!addressIsOwner) {
420
+ if (!addressIsOwner && !isPasskeySigner) {
395
421
  throw new Error('UserOperations can only be signed by Safe owners');
396
422
  }
397
423
  let signature;
398
- const isPasskeySigner = await safeProvider.isPasskeySigner();
399
424
  if (isPasskeySigner) {
400
- const safeOpHash = __classPrivateFieldGet(this, _Safe4337Pack_instances, "m", _Safe4337Pack_getSafeUserOperationHash).call(this, safeOperation.data, chainId);
425
+ const safeOpHash = (0, utils_1.calculateSafeUserOperationHash)(safeOp.data, chainId, __classPrivateFieldGet(this, _Safe4337Pack_SAFE_4337_MODULE_ADDRESS, "f"));
401
426
  const passkeySignature = await this.protocolKit.signHash(safeOpHash);
402
427
  // SafeWebAuthnSharedSigner signature
403
428
  signature = new protocol_kit_1.EthSafeSignature(SAFE_WEBAUTHN_SHARED_SIGNER_ADDRESS, passkeySignature.data, true);
@@ -409,19 +434,20 @@ class Safe4337Pack extends RelayKitBasePack_1.RelayKitBasePack {
409
434
  protocol_kit_1.SigningMethod.ETH_SIGN_TYPED_DATA_V3,
410
435
  protocol_kit_1.SigningMethod.ETH_SIGN_TYPED_DATA
411
436
  ]) {
412
- signature = await __classPrivateFieldGet(this, _Safe4337Pack_instances, "m", _Safe4337Pack_signTypedData).call(this, safeOperation.data);
437
+ signature = await (0, utils_1.signSafeOp)(safeOp.data, this.protocolKit.getSafeProvider(), __classPrivateFieldGet(this, _Safe4337Pack_SAFE_4337_MODULE_ADDRESS, "f"));
413
438
  }
414
439
  else {
415
- const safeOpHash = __classPrivateFieldGet(this, _Safe4337Pack_instances, "m", _Safe4337Pack_getSafeUserOperationHash).call(this, safeOperation.data, chainId);
440
+ const safeOpHash = (0, utils_1.calculateSafeUserOperationHash)(safeOp.data, chainId, __classPrivateFieldGet(this, _Safe4337Pack_SAFE_4337_MODULE_ADDRESS, "f"));
416
441
  signature = await this.protocolKit.signHash(safeOpHash);
417
442
  }
418
443
  }
419
- const signedSafeOperation = new SafeOperation_1.default(safeOperation.toUserOperation(), {
444
+ const signedSafeOperation = new SafeOperation_1.default(safeOp.toUserOperation(), {
445
+ moduleAddress: __classPrivateFieldGet(this, _Safe4337Pack_SAFE_4337_MODULE_ADDRESS, "f"),
420
446
  entryPoint: __classPrivateFieldGet(this, _Safe4337Pack_ENTRYPOINT_ADDRESS, "f"),
421
- validUntil: safeOperation.data.validUntil,
422
- validAfter: safeOperation.data.validAfter
447
+ validUntil: safeOp.data.validUntil,
448
+ validAfter: safeOp.data.validAfter
423
449
  });
424
- signedSafeOperation.signatures.forEach((signature) => {
450
+ safeOp.signatures.forEach((signature) => {
425
451
  signedSafeOperation.addSignature(signature);
426
452
  });
427
453
  signedSafeOperation.addSignature(signature);
@@ -430,12 +456,25 @@ class Safe4337Pack extends RelayKitBasePack_1.RelayKitBasePack {
430
456
  /**
431
457
  * Executes the relay transaction.
432
458
  *
433
- * @param {EthSafeOperation} safeOperation - The SafeOperation to execute.
459
+ * @param {Safe4337ExecutableProps} props - The parameters for the transaction execution.
460
+ * @param {EthSafeOperation | SafeOperationResponse} props.executable - The SafeOperation to execute. It can be:
461
+ * - A response from the API (Tx Service)
462
+ * - An instance of EthSafeOperation
434
463
  * @return {Promise<string>} The user operation hash.
435
464
  */
436
- async executeTransaction({ executable: safeOperation }) {
465
+ async executeTransaction({ executable }) {
466
+ let safeOperation;
467
+ if ((0, safe_core_sdk_types_1.isSafeOperationResponse)(executable)) {
468
+ safeOperation = __classPrivateFieldGet(this, _Safe4337Pack_instances, "m", _Safe4337Pack_toSafeOperation).call(this, executable);
469
+ }
470
+ else {
471
+ safeOperation = executable;
472
+ }
437
473
  const userOperation = safeOperation.toUserOperation();
438
- return __classPrivateFieldGet(this, _Safe4337Pack_instances, "m", _Safe4337Pack_sendUserOperation).call(this, userOperation);
474
+ return __classPrivateFieldGet(this, _Safe4337Pack_bundlerClient, "f").send(constants_1.RPC_4337_CALLS.SEND_USER_OPERATION, [
475
+ (0, utils_1.userOperationToHexValues)(userOperation),
476
+ __classPrivateFieldGet(this, _Safe4337Pack_ENTRYPOINT_ADDRESS, "f")
477
+ ]);
439
478
  }
440
479
  /**
441
480
  * Return a UserOperation based on a hash (userOpHash) returned by eth_sendUserOperation
@@ -444,8 +483,7 @@ class Safe4337Pack extends RelayKitBasePack_1.RelayKitBasePack {
444
483
  * @returns {UserOperation} - null in case the UserOperation is not yet included in a block, or a full UserOperation, with the addition of entryPoint, blockNumber, blockHash and transactionHash
445
484
  */
446
485
  async getUserOperationByHash(userOpHash) {
447
- const userOperation = await __classPrivateFieldGet(this, _Safe4337Pack_bundlerClient, "f").send(constants_1.RPC_4337_CALLS.GET_USER_OPERATION_BY_HASH, [userOpHash]);
448
- return userOperation;
486
+ return __classPrivateFieldGet(this, _Safe4337Pack_bundlerClient, "f").send(constants_1.RPC_4337_CALLS.GET_USER_OPERATION_BY_HASH, [userOpHash]);
449
487
  }
450
488
  /**
451
489
  * Return a UserOperation receipt based on a hash (userOpHash) returned by eth_sendUserOperation
@@ -454,8 +492,7 @@ class Safe4337Pack extends RelayKitBasePack_1.RelayKitBasePack {
454
492
  * @returns {UserOperationReceipt} - null in case the UserOperation is not yet included in a block, or UserOperationReceipt object
455
493
  */
456
494
  async getUserOperationReceipt(userOpHash) {
457
- const userOperationReceipt = await __classPrivateFieldGet(this, _Safe4337Pack_bundlerClient, "f").send(constants_1.RPC_4337_CALLS.GET_USER_OPERATION_RECEIPT, [userOpHash]);
458
- return userOperationReceipt;
495
+ return __classPrivateFieldGet(this, _Safe4337Pack_bundlerClient, "f").send(constants_1.RPC_4337_CALLS.GET_USER_OPERATION_RECEIPT, [userOpHash]);
459
496
  }
460
497
  /**
461
498
  * Returns an array of the entryPoint addresses supported by the client.
@@ -464,8 +501,7 @@ class Safe4337Pack extends RelayKitBasePack_1.RelayKitBasePack {
464
501
  * @returns {string[]} - The supported entry points.
465
502
  */
466
503
  async getSupportedEntryPoints() {
467
- const supportedEntryPoints = await __classPrivateFieldGet(this, _Safe4337Pack_bundlerClient, "f").send(constants_1.RPC_4337_CALLS.SUPPORTED_ENTRY_POINTS, []);
468
- return supportedEntryPoints;
504
+ return __classPrivateFieldGet(this, _Safe4337Pack_bundlerClient, "f").send(constants_1.RPC_4337_CALLS.SUPPORTED_ENTRY_POINTS, []);
469
505
  }
470
506
  /**
471
507
  * Returns EIP-155 Chain ID.
@@ -473,60 +509,44 @@ class Safe4337Pack extends RelayKitBasePack_1.RelayKitBasePack {
473
509
  * @returns {string} - The chain id.
474
510
  */
475
511
  async getChainId() {
476
- const chainId = await __classPrivateFieldGet(this, _Safe4337Pack_bundlerClient, "f").send(constants_1.RPC_4337_CALLS.CHAIN_ID, []);
477
- return chainId;
512
+ return __classPrivateFieldGet(this, _Safe4337Pack_bundlerClient, "f").send(constants_1.RPC_4337_CALLS.CHAIN_ID, []);
478
513
  }
479
514
  }
480
515
  exports.Safe4337Pack = Safe4337Pack;
481
- _Safe4337Pack_BUNDLER_URL = new WeakMap(), _Safe4337Pack_ENTRYPOINT_ADDRESS = new WeakMap(), _Safe4337Pack_SAFE_4337_MODULE_ADDRESS = new WeakMap(), _Safe4337Pack_bundlerClient = new WeakMap(), _Safe4337Pack_publicClient = new WeakMap(), _Safe4337Pack_paymasterOptions = new WeakMap(), _Safe4337Pack_instances = new WeakSet(), _Safe4337Pack_getSafeUserOperationHash = function _Safe4337Pack_getSafeUserOperationHash(safeUserOperation, chainId) {
482
- return ethers_1.ethers.TypedDataEncoder.hash({
483
- chainId,
484
- verifyingContract: __classPrivateFieldGet(this, _Safe4337Pack_SAFE_4337_MODULE_ADDRESS, "f")
485
- }, constants_1.EIP712_SAFE_OPERATION_TYPE, safeUserOperation);
486
- }, _Safe4337Pack_sendUserOperation =
487
- /**
488
- * Send the UserOperation to the bundler.
489
- *
490
- * @param {UserOperation} userOpWithSignature - The signed UserOperation to send to the bundler.
491
- * @return {Promise<string>} The hash.
492
- */
493
- async function _Safe4337Pack_sendUserOperation(userOpWithSignature) {
494
- return await __classPrivateFieldGet(this, _Safe4337Pack_bundlerClient, "f").send(constants_1.RPC_4337_CALLS.SEND_USER_OPERATION, [
495
- (0, utils_1.userOperationToHexValues)(userOpWithSignature),
496
- __classPrivateFieldGet(this, _Safe4337Pack_ENTRYPOINT_ADDRESS, "f")
497
- ]);
498
- }, _Safe4337Pack_signTypedData =
499
- /**
500
- * Signs typed data.
501
- *
502
- * @param {SafeUserOperation} safeUserOperation - Safe user operation to sign.
503
- * @return {Promise<SafeSignature>} The SafeSignature object containing the data and the signatures.
504
- */
505
- async function _Safe4337Pack_signTypedData(safeUserOperation) {
506
- const safeProvider = this.protocolKit.getSafeProvider();
507
- const signer = (await safeProvider.getExternalSigner());
508
- const chainId = await safeProvider.getChainId();
509
- const signerAddress = await signer.getAddress();
510
- const signature = await signer.signTypedData({
511
- chainId,
512
- verifyingContract: __classPrivateFieldGet(this, _Safe4337Pack_SAFE_4337_MODULE_ADDRESS, "f")
513
- }, constants_1.EIP712_SAFE_OPERATION_TYPE, {
514
- ...safeUserOperation,
515
- nonce: ethers_1.ethers.toBeHex(safeUserOperation.nonce),
516
- validAfter: ethers_1.ethers.toBeHex(safeUserOperation.validAfter),
517
- validUntil: ethers_1.ethers.toBeHex(safeUserOperation.validUntil),
518
- maxFeePerGas: ethers_1.ethers.toBeHex(safeUserOperation.maxFeePerGas),
519
- maxPriorityFeePerGas: ethers_1.ethers.toBeHex(safeUserOperation.maxPriorityFeePerGas)
516
+ _Safe4337Pack_BUNDLER_URL = new WeakMap(), _Safe4337Pack_ENTRYPOINT_ADDRESS = new WeakMap(), _Safe4337Pack_SAFE_4337_MODULE_ADDRESS = new WeakMap(), _Safe4337Pack_bundlerClient = new WeakMap(), _Safe4337Pack_paymasterOptions = new WeakMap(), _Safe4337Pack_instances = new WeakSet(), _Safe4337Pack_toSafeOperation = function _Safe4337Pack_toSafeOperation(safeOperationResponse) {
517
+ const { validUntil, validAfter, userOperation } = safeOperationResponse;
518
+ const safeOperation = new SafeOperation_1.default({
519
+ sender: userOperation?.sender || '0x',
520
+ nonce: userOperation?.nonce?.toString() || '0',
521
+ initCode: userOperation?.initCode || '',
522
+ callData: userOperation?.callData || '',
523
+ callGasLimit: BigInt(userOperation?.callGasLimit || 0n),
524
+ verificationGasLimit: BigInt(userOperation?.verificationGasLimit || 0),
525
+ preVerificationGas: BigInt(userOperation?.preVerificationGas || 0),
526
+ maxFeePerGas: BigInt(userOperation?.maxFeePerGas || 0),
527
+ maxPriorityFeePerGas: BigInt(userOperation?.maxPriorityFeePerGas || 0),
528
+ paymasterAndData: userOperation?.paymasterData || '0x',
529
+ signature: userOperation?.signature || '0x'
530
+ }, {
531
+ moduleAddress: __classPrivateFieldGet(this, _Safe4337Pack_SAFE_4337_MODULE_ADDRESS, "f"),
532
+ entryPoint: userOperation?.entryPoint || __classPrivateFieldGet(this, _Safe4337Pack_ENTRYPOINT_ADDRESS, "f"),
533
+ validAfter: validAfter ? new Date(validAfter).getTime() : undefined,
534
+ validUntil: validUntil ? new Date(validUntil).getTime() : undefined
520
535
  });
521
- return new protocol_kit_1.EthSafeSignature(signerAddress, signature);
522
- }, _Safe4337Pack_getAccountNonce =
536
+ if (safeOperationResponse.confirmations) {
537
+ safeOperationResponse.confirmations.forEach((confirmation) => {
538
+ safeOperation.addSignature(new protocol_kit_1.EthSafeSignature(confirmation.owner, confirmation.signature));
539
+ });
540
+ }
541
+ return safeOperation;
542
+ }, _Safe4337Pack_getSafeNonceFromEntrypoint =
523
543
  /**
524
544
  * Gets account nonce from the bundler.
525
545
  *
526
- * @param {string} sender - Account address for which the nonce is to be fetched.
546
+ * @param {string} safeAddress - Account address for which the nonce is to be fetched.
527
547
  * @returns {Promise<string>} The Promise object will resolve to the account nonce.
528
548
  */
529
- async function _Safe4337Pack_getAccountNonce(sender) {
549
+ async function _Safe4337Pack_getSafeNonceFromEntrypoint(safeAddress) {
530
550
  const abi = [
531
551
  {
532
552
  inputs: [
@@ -539,8 +559,8 @@ async function _Safe4337Pack_getAccountNonce(sender) {
539
559
  type: 'function'
540
560
  }
541
561
  ];
542
- const contract = new ethers_1.ethers.Contract(__classPrivateFieldGet(this, _Safe4337Pack_ENTRYPOINT_ADDRESS, "f") || '0x', abi, __classPrivateFieldGet(this, _Safe4337Pack_publicClient, "f"));
543
- const newNonce = await contract.getNonce(sender, BigInt(0));
562
+ const contract = new ethers_1.ethers.Contract(__classPrivateFieldGet(this, _Safe4337Pack_ENTRYPOINT_ADDRESS, "f") || '0x', abi, this.protocolKit.getSafeProvider().getExternalProvider());
563
+ const newNonce = await contract.getNonce(safeAddress, BigInt(0));
544
564
  return newNonce.toString();
545
565
  }, _Safe4337Pack_encodeExecuteUserOpCallData = function _Safe4337Pack_encodeExecuteUserOpCallData(transaction) {
546
566
  return constants_1.INTERFACES.encodeFunctionData('executeUserOp', [
@@ -549,9 +569,5 @@ async function _Safe4337Pack_getAccountNonce(sender) {
549
569
  transaction.data,
550
570
  transaction.operation || safe_core_sdk_types_1.OperationType.Call
551
571
  ]);
552
- }, _Safe4337Pack_encodeMultiSendCallData = function _Safe4337Pack_encodeMultiSendCallData(transactions) {
553
- return constants_1.INTERFACES.encodeFunctionData('multiSend', [
554
- (0, protocol_kit_1.encodeMultiSendData)(transactions.map((tx) => ({ ...tx, operation: tx.operation ?? safe_core_sdk_types_1.OperationType.Call })))
555
- ]);
556
572
  };
557
573
  //# sourceMappingURL=Safe4337Pack.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Safe4337Pack.js","sourceRoot":"","sources":["../../../../src/packs/safe-4337/Safe4337Pack.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAA+B;AAC/B,2EAAwD;AACxD,0EAOkC;AAClC,8EAA0E;AAC1E,0EAMyC;AACzC,oFAG8C;AAC9C,oEAA8C;AAW9C,2CAMoB;AACpB,mCAAiG;AACjG,0EAAsE;AAEtE,MAAM,2BAA2B,GAC/B,mEAAmE,CAAA;AAErE;;;;EAIE;AACF,+EAA+E;AAC/E,MAAM,mCAAmC,GAAG,4CAA4C,CAAA;AAExF,+EAA+E;AAC/E,eAAe;AACf,MAAM,qBAAqB,GAAG,4CAA4C,CAAA,CAAC,kBAAkB;AAE7F;;;;;;;;GAQG;AACH,MAAa,YAAa,SAAQ,mCAOhC;IAWA;;;;OAIG;IACH,YAAY,EACV,WAAW,EACX,aAAa,EACb,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACL;QAChB,KAAK,CAAC,WAAW,CAAC,CAAA;;QAxBpB,4CAAoB;QAEpB,mDAA2B;QAC3B,iDAAoC,IAAI,EAAA;QAExC,8CAAsC;QACtC,6CAAqC;QAErC,iDAAoC;QAkBlC,uBAAA,IAAI,6BAAgB,UAAU,MAAA,CAAA;QAE9B,uBAAA,IAAI,+BAAkB,aAAa,MAAA,CAAA;QACnC,uBAAA,IAAI,8BAAiB,YAAY,MAAA,CAAA;QAEjC,uBAAA,IAAI,kCAAqB,gBAAgB,MAAA,CAAA;QAEzC,uBAAA,IAAI,oCAAuB,iBAAiB,MAAA,CAAA;QAC5C,uBAAA,IAAI,0CAA6B,qBAAqB,MAAA,CAAA;IACxD,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,WAAgC;QAChD,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,GACxF,WAAW,CAAA;QACb,IAAI,WAAiB,CAAA;QACrB,MAAM,aAAa,GAAG,IAAA,iCAAyB,EAAC,UAAU,CAAC,CAAA;QAC3D,MAAM,YAAY,GAAG,IAAA,0BAAkB,EAAC,MAAM,CAAC,CAAA;QAC/C,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,0BAAc,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;QAErE,IAAI,oBAAoB,GAAG,eAAe,EAAE,oBAAoB,CAAA;QAChE,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAA;QAEhD,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC1B,MAAM,oBAAoB,GAAG,IAAA,qDAA0B,EAAC;gBACtD,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,WAAW,CAAC,kBAAkB,IAAI,wCAA4B;gBACvE,OAAO;aACR,CAAC,CAAA;YACF,oBAAoB,GAAG,oBAAoB,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAA;QACxE,CAAC;QAED,IAAI,qBAAqB,GAAG,eAAe,EAAE,qBAAqB,CAAA;QAClE,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC3B,MAAM,wBAAwB,GAAG,IAAA,sDAA2B,EAAC;gBAC3D,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,WAAW,CAAC,kBAAkB,IAAI,wCAA4B;gBACvE,OAAO;aACR,CAAC,CAAA;YACF,qBAAqB,GAAG,wBAAwB,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAA;QAC7E,CAAC;QAED,IAAI,CAAC,oBAAoB,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CACb,+DAA+D,OAAO,wBAAwB,wCAA4B,EAAE,CAC7H,CAAA;QACH,CAAC;QAED,gBAAgB;QAChB,IAAI,aAAa,IAAI,OAAO,EAAE,CAAC;YAC7B,WAAW,GAAG,MAAM,sBAAI,CAAC,IAAI,CAAC;gBAC5B,QAAQ;gBACR,MAAM;gBACN,WAAW,EAAE,OAAO,CAAC,WAAW;aACjC,CAAC,CAAA;YAEF,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,kBAAkB,EAAE,CAAA;YAC1D,MAAM,2BAA2B,GAAG,IAAA,mBAAe,EAAC,WAAW,EAAE,SAAS,CAAC,CAAA;YAE3E,IAAI,CAAC,2BAA2B,EAAE,CAAC;gBACjC,MAAM,IAAI,KAAK,CACb,+DAA+D,WAAW,wEAAwE,CACnJ,CAAA;YACH,CAAC;YAED,MAAM,WAAW,GAAG,CAAC,MAAM,WAAW,CAAC,UAAU,EAAE,CAAa,CAAA;YAChE,MAAM,mBAAmB,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,qBAAqB,CAAC,CAAA;YAE1F,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CACb,2HAA2H,qBAAqB,yBAAyB,CAC1K,CAAA;YACH,CAAC;YAED,MAAM,mBAAmB,GAAG,MAAM,WAAW,CAAC,kBAAkB,EAAE,CAAA;YAClE,MAAM,4BAA4B,GAAG,mBAAmB,KAAK,qBAAqB,CAAA;YAElF,IAAI,CAAC,4BAA4B,EAAE,CAAC;gBAClC,MAAM,IAAI,KAAK,CACb,qIAAqI,qBAAqB,4BAA4B,CACvL,CAAA;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,iGAAiG;YACjG,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;gBAC1C,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAA;YAC3E,CAAC;YAED,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,gCAAoB,CAAA;YAE/D,2DAA2D;YAE3D,8CAA8C;YAC9C,MAAM,2BAA2B,GAAG;gBAClC,EAAE,EAAE,oBAAoB;gBACxB,KAAK,EAAE,GAAG;gBACV,IAAI,EAAE,sBAAU,CAAC,kBAAkB,CAAC,eAAe,EAAE,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC;gBAC/E,SAAS,EAAE,mCAAa,CAAC,YAAY,CAAC,qDAAqD;aAC5F,CAAA;YAED,MAAM,iBAAiB,GAAG,CAAC,2BAA2B,CAAC,CAAA;YAEvD,MAAM,EAAE,WAAW,EAAE,qBAAqB,EAAE,GAAG,gBAAgB,IAAI,EAAE,CAAA;YAErE,MAAM,4BAA4B,GAChC,CAAC,CAAC,gBAAgB,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,qBAAqB,CAAA;YAE/D,IAAI,4BAA4B,EAAE,CAAC;gBACjC,MAAM,EAAE,gBAAgB,EAAE,eAAe,GAAG,2BAA2B,EAAE,GAAG,gBAAgB,CAAA;gBAE5F,qDAAqD;gBACrD,MAAM,6BAA6B,GAAG;oBACpC,EAAE,EAAE,qBAAqB;oBACzB,IAAI,EAAE,sBAAU,CAAC,kBAAkB,CAAC,SAAS,EAAE,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;oBACnF,KAAK,EAAE,GAAG;oBACV,SAAS,EAAE,mCAAa,CAAC,IAAI,CAAC,mBAAmB;iBAClD,CAAA;gBAED,iBAAiB,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAA;YACvD,CAAC;YAED,MAAM,YAAY,GAAG,MAAM,2BAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;YAE9D,gFAAgF;YAChF,mHAAmH;YACnH,MAAM,eAAe,GAAG,MAAM,YAAY,CAAC,eAAe,EAAE,CAAA;YAE5D,IAAI,eAAe,EAAE,CAAC;gBACpB,MAAM,aAAa,GAAG,CAAC,MAAM,YAAY,CAAC,iBAAiB,EAAE,CAAkB,CAAA;gBAC/E,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE,CAAA;gBAErD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;oBAC3C,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;gBACnC,CAAC;gBAED,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mCAAmC,CAAC,EAAE,CAAC;oBAClE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAA;gBAC1D,CAAC;gBAED,MAAM,yBAAyB,GAAG;oBAChC,GAAG,aAAa,CAAC,WAAW;oBAC5B,SAAS,EAAE,qBAAqB;iBACjC,CAAA;gBAED,MAAM,uBAAuB,GAAG;oBAC9B,EAAE,EAAE,mCAAmC;oBACvC,KAAK,EAAE,GAAG;oBACV,IAAI,EAAE,sBAAU,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC,yBAAyB,CAAC,CAAC;oBAC7E,SAAS,EAAE,mCAAa,CAAC,YAAY,CAAC,6GAA6G;iBACpJ,CAAA;gBAED,iBAAiB,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;YACjD,CAAC;YAED,IAAI,YAAY,CAAA;YAChB,IAAI,cAAc,CAAA;YAElB,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAA;YAE5C,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,iBAAiB,GAAG,MAAM,IAAA,mCAAoB,EAAC;oBACnD,YAAY;oBACZ,WAAW;iBACZ,CAAC,CAAA;gBAEF,MAAM,SAAS,GAAG,sBAAU,CAAC,kBAAkB,CAAC,WAAW,EAAE;oBAC3D,IAAA,kCAAmB,EAAC,iBAAiB,CAAC;iBACvC,CAAC,CAAA;gBAEF,YAAY,GAAG,MAAM,iBAAiB,CAAC,UAAU,EAAE,CAAA;gBACnD,cAAc,GAAG,SAAS,CAAA;YAC5B,CAAC;iBAAM,CAAC;gBACN,YAAY,GAAG,2BAA2B,CAAC,EAAE,CAAA;gBAC7C,cAAc,GAAG,2BAA2B,CAAC,IAAI,CAAA;YACnD,CAAC;YAED,WAAW,GAAG,MAAM,sBAAI,CAAC,IAAI,CAAC;gBAC5B,QAAQ;gBACR,MAAM;gBACN,aAAa,EAAE;oBACb,oBAAoB,EAAE;wBACpB,WAAW;wBACX,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,SAAS;qBAC1C;oBACD,iBAAiB,EAAE;wBACjB,MAAM,EAAE,OAAO,CAAC,MAAM;wBACtB,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,EAAE,EAAE,YAAY;wBAChB,IAAI,EAAE,cAAc;wBACpB,eAAe,EAAE,qBAAqB;wBACtC,YAAY,EAAE,eAAM,CAAC,WAAW;wBAChC,OAAO,EAAE,CAAC;wBACV,eAAe,EAAE,eAAM,CAAC,WAAW;qBACpC;iBACF;aACF,CAAC,CAAA;QACJ,CAAC;QAED,IAAI,oBAAoB,CAAA;QAExB,IAAI,CAAC,eAAe,EAAE,iBAAiB,EAAE,CAAC;YACxC,oBAAoB,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,0BAAc,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAA;YAE1F,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,CAAC;gBACjC,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAA;YAC5E,CAAC;QACH,CAAC;QAED,OAAO,IAAI,YAAY,CAAC;YACtB,WAAW;YACX,aAAa;YACb,YAAY;YACZ,gBAAgB;YAChB,UAAU;YACV,iBAAiB,EAAE,eAAe,EAAE,iBAAiB,IAAI,oBAAoB,CAAC,CAAC,CAAC;YAChF,qBAAqB;SACtB,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;OAOG;IAEH,KAAK,CAAC,cAAc,CAAC,EACnB,aAAa,EACb,YAAY,GAAG,IAAI,yCAAmB,EAAE,EACvB;QACjB,MAAM,mBAAmB,GAAG,MAAM,YAAY,EAAE,eAAe,EAAE,CAAC;YAChE,UAAU,EAAE,uBAAA,IAAI,iCAAa;YAC7B,UAAU,EAAE,uBAAA,IAAI,wCAAoB;YACpC,aAAa,EAAE,aAAa,CAAC,eAAe,EAAE;SAC/C,CAAC,CAAA;QAEF,IAAI,mBAAmB,EAAE,CAAC;YACxB,aAAa,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAA;QACnD,CAAC;QAED,MAAM,wBAAwB,GAAG,MAAM,uBAAA,IAAI,mCAAe,CAAC,IAAI,CAC7D,0BAAc,CAAC,2BAA2B,EAC1C,CAAC,IAAA,gCAAwB,EAAC,aAAa,CAAC,eAAe,EAAE,CAAC,EAAE,uBAAA,IAAI,wCAAoB,CAAC,CACtF,CAAA;QAED,IAAI,wBAAwB,EAAE,CAAC;YAC7B,aAAa,CAAC,cAAc,CAAC;gBAC3B,kBAAkB,EAAE,MAAM,CAAC,wBAAwB,CAAC,kBAAkB,CAAC;gBACvE,oBAAoB,EAAE,MAAM,CAAC,wBAAwB,CAAC,oBAAoB,CAAC;gBAC3E,YAAY,EAAE,MAAM,CAAC,wBAAwB,CAAC,YAAY,CAAC;aAC5D,CAAC,CAAA;QACJ,CAAC;QAED,MAAM,oBAAoB,GAAG,MAAM,YAAY,EAAE,gBAAgB,EAAE,CAAC;YAClE,UAAU,EAAE,uBAAA,IAAI,iCAAa;YAC7B,UAAU,EAAE,uBAAA,IAAI,wCAAoB;YACpC,aAAa,EAAE,aAAa,CAAC,eAAe,EAAE;SAC/C,CAAC,CAAA;QAEF,IAAI,oBAAoB,EAAE,CAAC;YACzB,aAAa,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAA;QACpD,CAAC;QAED,IAAI,uBAAA,IAAI,sCAAkB,EAAE,WAAW,EAAE,CAAC;YACxC,IAAI,CAAC,uBAAA,IAAI,sCAAkB,CAAC,YAAY,EAAE,CAAC;gBACzC,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAA;YAC1E,CAAC;YAED,MAAM,mBAAmB,GAAG,MAAM,YAAY,EAAE,sBAAsB,EAAE,CAAC;gBACvE,aAAa,EAAE,aAAa,CAAC,eAAe,EAAE;gBAC9C,YAAY,EAAE,uBAAA,IAAI,sCAAkB,CAAC,YAAY;gBACjD,UAAU,EAAE,uBAAA,IAAI,wCAAoB;gBACpC,mBAAmB,EAAE,uBAAA,IAAI,sCAAkB,CAAC,mBAAmB;aAChE,CAAC,CAAA;YAEF,aAAa,CAAC,IAAI,CAAC,gBAAgB;gBACjC,mBAAmB,EAAE,gBAAgB,IAAI,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAA;YAE9E,IAAI,mBAAmB,EAAE,CAAC;gBACxB,aAAa,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAA;YACnD,CAAC;QACH,CAAC;QAED,OAAO,aAAa,CAAA;IACtB,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,iBAAiB,CAAC,EACtB,YAAY,EACZ,OAAO,GAAG,EAAE,EACmB;QAC/B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAA;QACvD,MAAM,KAAK,GAAG,MAAM,uBAAA,IAAI,8DAAiB,MAArB,IAAI,EAAkB,WAAW,CAAC,CAAA;QAEtD,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,OAAO,CAAA;QAEzE,IAAI,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,uBAAA,IAAI,sCAAkB,IAAI,CAAC,uBAAA,IAAI,sCAAkB,CAAC,qBAAqB,EAAE,CAAC;gBAC7E,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;YAClD,CAAC;YAED,MAAM,gBAAgB,GAAG,uBAAA,IAAI,sCAAkB,CAAC,gBAAgB,CAAA;YAChE,MAAM,qBAAqB,GAAG,uBAAA,IAAI,sCAAkB,CAAC,qBAAqB,CAAA;YAE1E,MAAM,6BAA6B,GAAG;gBACpC,EAAE,EAAE,qBAAqB;gBACzB,IAAI,EAAE,sBAAU,CAAC,kBAAkB,CAAC,SAAS,EAAE,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;gBACnF,KAAK,EAAE,GAAG;gBACV,SAAS,EAAE,mCAAa,CAAC,IAAI,CAAC,mBAAmB;aAClD,CAAA;YAED,YAAY,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAA;QAClD,CAAC;QAED,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAA;QACvC,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,mBAAmB,EAAE,CAAA;QAErE,MAAM,QAAQ,GAAG,OAAO;YACtB,CAAC,CAAC,uBAAA,IAAI,0EAA6B,MAAjC,IAAI,EAA8B;gBAChC,EAAE,EAAE,gBAAgB;gBACpB,KAAK,EAAE,GAAG;gBACV,IAAI,EAAE,uBAAA,IAAI,sEAAyB,MAA7B,IAAI,EAA0B,YAAY,CAAC;gBACjD,SAAS,EAAE,mCAAa,CAAC,YAAY;aACtC,CAAC;YACJ,CAAC,CAAC,uBAAA,IAAI,0EAA6B,MAAjC,IAAI,EAA8B,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;QAEtD,MAAM,gBAAgB,GAAG,uBAAA,IAAI,sCAAkB,EAAE,gBAAgB,IAAI,IAAI,CAAA;QAEzE,MAAM,aAAa,GAAkB;YACnC,MAAM,EAAE,WAAW;YACnB,KAAK,EAAE,KAAK;YACZ,QAAQ,EAAE,IAAI;YACd,QAAQ;YACR,YAAY,EAAE,EAAE;YAChB,oBAAoB,EAAE,EAAE;YACxB,kBAAkB,EAAE,EAAE;YACtB,YAAY,EAAE,EAAE;YAChB,oBAAoB,EAAE,EAAE;YACxB,gBAAgB;YAChB,SAAS,EAAE,IAAI;SAChB,CAAA;QAED,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAA;QAE9D,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,aAAa,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAA;QAC/D,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,uBAAgB,CAAC,aAAa,EAAE;YACxD,UAAU,EAAE,uBAAA,IAAI,wCAAoB;YACpC,UAAU;YACV,UAAU;SACX,CAAC,CAAA;QAEF,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC;YAC/B,aAAa;YACb,YAAY;SACb,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,iBAAiB,CACrB,aAA+B,EAC/B,gBAA+B,4BAAa,CAAC,sBAAsB;QAEnE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAA;QACjD,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAA;QACvD,MAAM,aAAa,GAAG,MAAM,YAAY,CAAC,gBAAgB,EAAE,CAAA;QAC3D,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,CAAA;QAE/C,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAA;QACnF,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAChC,CAAC,KAAa,EAAE,EAAE,CAAC,aAAa,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,aAAa,CAAC,WAAW,EAAE,CACxF,CAAA;QAED,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;QACrE,CAAC;QAED,IAAI,SAAwB,CAAA;QAE5B,MAAM,eAAe,GAAG,MAAM,YAAY,CAAC,eAAe,EAAE,CAAA;QAE5D,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,UAAU,GAAG,uBAAA,IAAI,uEAA0B,MAA9B,IAAI,EAA2B,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;YAE9E,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;YAEpE,qCAAqC;YACrC,SAAS,GAAG,IAAI,+BAAgB,CAC9B,mCAAmC,EACnC,gBAAgB,CAAC,IAAI,EACrB,IAAI,CACL,CAAA;QACH,CAAC;aAAM,CAAC;YACN,IACE,aAAa;gBACb;oBACE,4BAAa,CAAC,sBAAsB;oBACpC,4BAAa,CAAC,sBAAsB;oBACpC,4BAAa,CAAC,mBAAmB;iBAClC,EACD,CAAC;gBACD,SAAS,GAAG,MAAM,uBAAA,IAAI,4DAAe,MAAnB,IAAI,EAAgB,aAAa,CAAC,IAAI,CAAC,CAAA;YAC3D,CAAC;iBAAM,CAAC;gBACN,MAAM,UAAU,GAAG,uBAAA,IAAI,uEAA0B,MAA9B,IAAI,EAA2B,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;gBAE9E,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;YACzD,CAAC;QACH,CAAC;QAED,MAAM,mBAAmB,GAAG,IAAI,uBAAgB,CAAC,aAAa,CAAC,eAAe,EAAE,EAAE;YAChF,UAAU,EAAE,uBAAA,IAAI,wCAAoB;YACpC,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,UAAU;YACzC,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,UAAU;SAC1C,CAAC,CAAA;QAEF,mBAAmB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAwB,EAAE,EAAE;YAClE,mBAAmB,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;QAC7C,CAAC,CAAC,CAAA;QAEF,mBAAmB,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;QAE3C,OAAO,mBAAmB,CAAA;IAC5B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,kBAAkB,CAAC,EACvB,UAAU,EAAE,aAAa,EACD;QACxB,MAAM,aAAa,GAAG,aAAa,CAAC,eAAe,EAAE,CAAA;QAErD,OAAO,uBAAA,IAAI,gEAAmB,MAAvB,IAAI,EAAoB,aAAa,CAAC,CAAA;IAC/C,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,sBAAsB,CAAC,UAAkB;QAC7C,MAAM,aAAa,GAAG,MAAM,uBAAA,IAAI,mCAAe,CAAC,IAAI,CAClD,0BAAc,CAAC,0BAA0B,EACzC,CAAC,UAAU,CAAC,CACb,CAAA;QAED,OAAO,aAAa,CAAA;IACtB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,uBAAuB,CAAC,UAAkB;QAC9C,MAAM,oBAAoB,GAAG,MAAM,uBAAA,IAAI,mCAAe,CAAC,IAAI,CACzD,0BAAc,CAAC,0BAA0B,EACzC,CAAC,UAAU,CAAC,CACb,CAAA;QAED,OAAO,oBAAoB,CAAA;IAC7B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,uBAAuB;QAC3B,MAAM,oBAAoB,GAAG,MAAM,uBAAA,IAAI,mCAAe,CAAC,IAAI,CACzD,0BAAc,CAAC,sBAAsB,EACrC,EAAE,CACH,CAAA;QAED,OAAO,oBAAoB,CAAA;IAC7B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAU;QACd,MAAM,OAAO,GAAG,MAAM,uBAAA,IAAI,mCAAe,CAAC,IAAI,CAAC,0BAAc,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;QAE3E,OAAO,OAAO,CAAA;IAChB,CAAC;CAqHF;AA/pBD,oCA+pBC;gaA5G2B,iBAAoC,EAAE,OAAe;IAC7E,OAAO,eAAM,CAAC,gBAAgB,CAAC,IAAI,CACjC;QACE,OAAO;QACP,iBAAiB,EAAE,uBAAA,IAAI,8CAA0B;KAClD,EACD,sCAA0B,EAC1B,iBAAiB,CAClB,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH,KAAK,0CAAoB,mBAAkC;IACzD,OAAO,MAAM,uBAAA,IAAI,mCAAe,CAAC,IAAI,CAAC,0BAAc,CAAC,mBAAmB,EAAE;QACxE,IAAA,gCAAwB,EAAC,mBAAmB,CAAC;QAC7C,uBAAA,IAAI,wCAAoB;KACzB,CAAC,CAAA;AACJ,CAAC;AAED;;;;;GAKG;AACH,KAAK,sCAAgB,iBAAoC;IACvD,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAA;IACvD,MAAM,MAAM,GAAG,CAAC,MAAM,YAAY,CAAC,iBAAiB,EAAE,CAAkB,CAAA;IACxE,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,CAAA;IAC/C,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,CAAA;IAC/C,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,aAAa,CAC1C;QACE,OAAO;QACP,iBAAiB,EAAE,uBAAA,IAAI,8CAA0B;KAClD,EACD,sCAA0B,EAC1B;QACE,GAAG,iBAAiB;QACpB,KAAK,EAAE,eAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC;QAC9C,UAAU,EAAE,eAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC;QACxD,UAAU,EAAE,eAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC;QACxD,YAAY,EAAE,eAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,YAAY,CAAC;QAC5D,oBAAoB,EAAE,eAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,oBAAoB,CAAC;KAC7E,CACF,CAAA;IACD,OAAO,IAAI,+BAAgB,CAAC,aAAa,EAAE,SAAS,CAAC,CAAA;AACvD,CAAC;AAED;;;;;GAKG;AACH,KAAK,wCAAkB,MAAc;IACnC,MAAM,GAAG,GAAG;QACV;YACE,MAAM,EAAE;gBACN,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE;aACjC;YACD,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;YAC7C,eAAe,EAAE,MAAM;YACvB,IAAI,EAAE,UAAU;SACjB;KACF,CAAA;IAED,MAAM,QAAQ,GAAG,IAAI,eAAM,CAAC,QAAQ,CAAC,uBAAA,IAAI,wCAAoB,IAAI,IAAI,EAAE,GAAG,EAAE,uBAAA,IAAI,kCAAc,CAAC,CAAA;IAE/F,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IAE3D,OAAO,QAAQ,CAAC,QAAQ,EAAE,CAAA;AAC5B,CAAC,iGAQ4B,WAAgC;IAC3D,OAAO,sBAAU,CAAC,kBAAkB,CAAC,eAAe,EAAE;QACpD,WAAW,CAAC,EAAE;QACd,WAAW,CAAC,KAAK;QACjB,WAAW,CAAC,IAAI;QAChB,WAAW,CAAC,SAAS,IAAI,mCAAa,CAAC,IAAI;KAC5C,CAAC,CAAA;AACJ,CAAC,yFAQwB,YAAmC;IAC1D,OAAO,sBAAU,CAAC,kBAAkB,CAAC,WAAW,EAAE;QAChD,IAAA,kCAAmB,EACjB,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,SAAS,IAAI,mCAAa,CAAC,IAAI,EAAE,CAAC,CAAC,CACrF;KACF,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"Safe4337Pack.js","sourceRoot":"","sources":["../../../../src/packs/safe-4337/Safe4337Pack.ts"],"names":[],"mappings":"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"}