@safe-global/relay-kit 3.0.0 → 3.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/src/packs/safe-4337/Safe4337Pack.d.ts +11 -5
- package/dist/src/packs/safe-4337/Safe4337Pack.js +104 -85
- package/dist/src/packs/safe-4337/Safe4337Pack.js.map +1 -1
- package/dist/src/packs/safe-4337/Safe4337Pack.test.js +83 -25
- package/dist/src/packs/safe-4337/Safe4337Pack.test.js.map +1 -1
- package/dist/src/packs/safe-4337/SafeOperation.d.ts +3 -1
- package/dist/src/packs/safe-4337/SafeOperation.js +2 -1
- package/dist/src/packs/safe-4337/SafeOperation.js.map +1 -1
- package/dist/src/packs/safe-4337/SafeOperation.test.js +5 -0
- package/dist/src/packs/safe-4337/SafeOperation.test.js.map +1 -1
- package/dist/src/packs/safe-4337/constants.d.ts +2 -0
- package/dist/src/packs/safe-4337/constants.js +3 -1
- package/dist/src/packs/safe-4337/constants.js.map +1 -1
- package/dist/src/packs/safe-4337/testing-utils/fixtures.d.ts +36 -0
- package/dist/src/packs/safe-4337/testing-utils/fixtures.js +41 -5
- package/dist/src/packs/safe-4337/testing-utils/fixtures.js.map +1 -1
- package/dist/src/packs/safe-4337/testing-utils/helpers.js +6 -1
- package/dist/src/packs/safe-4337/testing-utils/helpers.js.map +1 -1
- package/dist/src/packs/safe-4337/types.d.ts +2 -4
- package/dist/src/packs/safe-4337/utils/entrypoint.d.ts +4 -0
- package/dist/src/packs/safe-4337/utils/entrypoint.js +23 -0
- package/dist/src/packs/safe-4337/utils/entrypoint.js.map +1 -0
- package/dist/src/packs/safe-4337/utils.d.ts +32 -5
- package/dist/src/packs/safe-4337/utils.js +71 -9
- package/dist/src/packs/safe-4337/utils.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +9 -7
package/README.md
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# Relay Kit
|
|
2
2
|
|
|
3
|
-
[](https://badge.fury.io/js/%40safe-global%2Frelay-kit)
|
|
4
4
|
[](https://github.com/safe-global/safe-core-sdk/releases)
|
|
5
5
|
[](https://github.com/safe-global/safe-core-sdk/blob/main/LICENSE.md)
|
|
6
6
|
|
|
7
|
-
The Relay Kit
|
|
7
|
+
The Relay Kit enables ERC-4337 with Safe and allows users to pay for the transaction fees from their Safe account balance using the blockchain native token or ERC-20 tokens, or to get their transactions sponsored.
|
|
8
8
|
|
|
9
9
|
## Table of contents
|
|
10
10
|
|
|
@@ -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,
|
|
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 {
|
|
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
|
|
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,
|
|
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,8 +48,10 @@ 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;
|
|
54
|
+
const EQ_OR_GT_1_4_1 = '>=1.4.1';
|
|
53
55
|
/**
|
|
54
56
|
* Safe4337Pack class that extends RelayKitBasePack.
|
|
55
57
|
* This class provides an implementation of the ERC-4337 that enables Safe accounts to wrk with UserOperations.
|
|
@@ -65,18 +67,16 @@ class Safe4337Pack extends RelayKitBasePack_1.RelayKitBasePack {
|
|
|
65
67
|
*
|
|
66
68
|
* @param {Safe4337Options} options - The initialization parameters.
|
|
67
69
|
*/
|
|
68
|
-
constructor({ protocolKit, bundlerClient,
|
|
70
|
+
constructor({ protocolKit, bundlerClient, bundlerUrl, paymasterOptions, entryPointAddress, safe4337ModuleAddress }) {
|
|
69
71
|
super(protocolKit);
|
|
70
72
|
_Safe4337Pack_instances.add(this);
|
|
71
73
|
_Safe4337Pack_BUNDLER_URL.set(this, void 0);
|
|
72
74
|
_Safe4337Pack_ENTRYPOINT_ADDRESS.set(this, void 0);
|
|
73
75
|
_Safe4337Pack_SAFE_4337_MODULE_ADDRESS.set(this, '0x');
|
|
74
76
|
_Safe4337Pack_bundlerClient.set(this, void 0);
|
|
75
|
-
_Safe4337Pack_publicClient.set(this, void 0);
|
|
76
77
|
_Safe4337Pack_paymasterOptions.set(this, void 0);
|
|
77
78
|
__classPrivateFieldSet(this, _Safe4337Pack_BUNDLER_URL, bundlerUrl, "f");
|
|
78
79
|
__classPrivateFieldSet(this, _Safe4337Pack_bundlerClient, bundlerClient, "f");
|
|
79
|
-
__classPrivateFieldSet(this, _Safe4337Pack_publicClient, publicClient, "f");
|
|
80
80
|
__classPrivateFieldSet(this, _Safe4337Pack_paymasterOptions, paymasterOptions, "f");
|
|
81
81
|
__classPrivateFieldSet(this, _Safe4337Pack_ENTRYPOINT_ADDRESS, entryPointAddress, "f");
|
|
82
82
|
__classPrivateFieldSet(this, _Safe4337Pack_SAFE_4337_MODULE_ADDRESS, safe4337ModuleAddress, "f");
|
|
@@ -92,17 +92,20 @@ class Safe4337Pack extends RelayKitBasePack_1.RelayKitBasePack {
|
|
|
92
92
|
* @return {Promise<Safe4337Pack>} The Promise object that will be resolved into an instance of Safe4337Pack.
|
|
93
93
|
*/
|
|
94
94
|
static async init(initOptions) {
|
|
95
|
-
const { provider, signer, options, bundlerUrl,
|
|
95
|
+
const { provider, signer, options, bundlerUrl, customContracts, paymasterOptions } = initOptions;
|
|
96
96
|
let protocolKit;
|
|
97
97
|
const bundlerClient = (0, utils_1.getEip4337BundlerProvider)(bundlerUrl);
|
|
98
|
-
const publicClient = (0, utils_1.getEip1193Provider)(rpcUrl);
|
|
99
98
|
const chainId = await bundlerClient.send(constants_1.RPC_4337_CALLS.CHAIN_ID, []);
|
|
100
99
|
let addModulesLibAddress = customContracts?.addModulesLibAddress;
|
|
101
100
|
const network = parseInt(chainId, 16).toString();
|
|
101
|
+
const safeModulesVersion = initOptions.safeModulesVersion || constants_1.DEFAULT_SAFE_MODULES_VERSION;
|
|
102
|
+
if ((0, satisfies_1.default)(safeModulesVersion, entrypoint_1.EQ_OR_GT_0_3_0)) {
|
|
103
|
+
throw new Error(`Incompatibility detected: Safe modules version ${safeModulesVersion} is not supported. The SDK can use 0.2.0 only.`);
|
|
104
|
+
}
|
|
102
105
|
if (!addModulesLibAddress) {
|
|
103
106
|
const addModulesDeployment = (0, safe_modules_deployments_1.getAddModulesLibDeployment)({
|
|
104
107
|
released: true,
|
|
105
|
-
version:
|
|
108
|
+
version: safeModulesVersion,
|
|
106
109
|
network
|
|
107
110
|
});
|
|
108
111
|
addModulesLibAddress = addModulesDeployment?.networkAddresses[network];
|
|
@@ -111,13 +114,13 @@ class Safe4337Pack extends RelayKitBasePack_1.RelayKitBasePack {
|
|
|
111
114
|
if (!safe4337ModuleAddress) {
|
|
112
115
|
const safe4337ModuleDeployment = (0, safe_modules_deployments_1.getSafe4337ModuleDeployment)({
|
|
113
116
|
released: true,
|
|
114
|
-
version:
|
|
117
|
+
version: safeModulesVersion,
|
|
115
118
|
network
|
|
116
119
|
});
|
|
117
120
|
safe4337ModuleAddress = safe4337ModuleDeployment?.networkAddresses[network];
|
|
118
121
|
}
|
|
119
122
|
if (!addModulesLibAddress || !safe4337ModuleAddress) {
|
|
120
|
-
throw new Error(`Safe4337Module and/or AddModulesLib not available for chain ${network} and modules version ${
|
|
123
|
+
throw new Error(`Safe4337Module and/or AddModulesLib not available for chain ${network} and modules version ${safeModulesVersion}`);
|
|
121
124
|
}
|
|
122
125
|
// Existing Safe
|
|
123
126
|
if ('safeAddress' in options) {
|
|
@@ -127,7 +130,7 @@ class Safe4337Pack extends RelayKitBasePack_1.RelayKitBasePack {
|
|
|
127
130
|
safeAddress: options.safeAddress
|
|
128
131
|
});
|
|
129
132
|
const safeVersion = await protocolKit.getContractVersion();
|
|
130
|
-
const isSafeVersion4337Compatible = (0, satisfies_1.default)(safeVersion,
|
|
133
|
+
const isSafeVersion4337Compatible = (0, satisfies_1.default)(safeVersion, EQ_OR_GT_1_4_1);
|
|
131
134
|
if (!isSafeVersion4337Compatible) {
|
|
132
135
|
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.`);
|
|
133
136
|
}
|
|
@@ -197,20 +200,32 @@ class Safe4337Pack extends RelayKitBasePack_1.RelayKitBasePack {
|
|
|
197
200
|
}
|
|
198
201
|
});
|
|
199
202
|
}
|
|
200
|
-
let
|
|
201
|
-
if (
|
|
202
|
-
|
|
203
|
+
let selectedEntryPoint;
|
|
204
|
+
if (customContracts?.entryPointAddress) {
|
|
205
|
+
const requiredSafeModulesVersion = (0, entrypoint_1.entryPointToSafeModules)(customContracts?.entryPointAddress);
|
|
206
|
+
if (!(0, satisfies_1.default)(safeModulesVersion, requiredSafeModulesVersion))
|
|
207
|
+
throw new Error(`The selected entrypoint ${customContracts?.entryPointAddress} is not compatible with version ${safeModulesVersion} of Safe modules`);
|
|
208
|
+
selectedEntryPoint = customContracts?.entryPointAddress;
|
|
209
|
+
}
|
|
210
|
+
else {
|
|
211
|
+
const supportedEntryPoints = await bundlerClient.send(constants_1.RPC_4337_CALLS.SUPPORTED_ENTRY_POINTS, []);
|
|
203
212
|
if (!supportedEntryPoints.length) {
|
|
204
213
|
throw new Error('No entrypoint provided or available through the bundler');
|
|
205
214
|
}
|
|
215
|
+
selectedEntryPoint = supportedEntryPoints.find((entryPoint) => {
|
|
216
|
+
const requiredSafeModulesVersion = (0, entrypoint_1.entryPointToSafeModules)(entryPoint);
|
|
217
|
+
return (0, satisfies_1.default)(safeModulesVersion, requiredSafeModulesVersion);
|
|
218
|
+
});
|
|
219
|
+
if (!selectedEntryPoint) {
|
|
220
|
+
throw new Error(`Incompatibility detected: None of the entrypoints provided by the bundler is compatible with the Safe modules version ${safeModulesVersion}`);
|
|
221
|
+
}
|
|
206
222
|
}
|
|
207
223
|
return new Safe4337Pack({
|
|
208
224
|
protocolKit,
|
|
209
225
|
bundlerClient,
|
|
210
|
-
publicClient,
|
|
211
226
|
paymasterOptions,
|
|
212
227
|
bundlerUrl,
|
|
213
|
-
entryPointAddress:
|
|
228
|
+
entryPointAddress: selectedEntryPoint,
|
|
214
229
|
safe4337ModuleAddress
|
|
215
230
|
});
|
|
216
231
|
}
|
|
@@ -231,7 +246,10 @@ class Safe4337Pack extends RelayKitBasePack_1.RelayKitBasePack {
|
|
|
231
246
|
if (setupEstimationData) {
|
|
232
247
|
safeOperation.addEstimations(setupEstimationData);
|
|
233
248
|
}
|
|
234
|
-
const estimateUserOperationGas = await __classPrivateFieldGet(this, _Safe4337Pack_bundlerClient, "f").send(constants_1.RPC_4337_CALLS.ESTIMATE_USER_OPERATION_GAS, [
|
|
249
|
+
const estimateUserOperationGas = await __classPrivateFieldGet(this, _Safe4337Pack_bundlerClient, "f").send(constants_1.RPC_4337_CALLS.ESTIMATE_USER_OPERATION_GAS, [
|
|
250
|
+
(0, utils_1.userOperationToHexValues)((0, utils_1.addDummySignature)(safeOperation.toUserOperation(), await this.protocolKit.getOwners())),
|
|
251
|
+
__classPrivateFieldGet(this, _Safe4337Pack_ENTRYPOINT_ADDRESS, "f")
|
|
252
|
+
]);
|
|
235
253
|
if (estimateUserOperationGas) {
|
|
236
254
|
safeOperation.addEstimations({
|
|
237
255
|
preVerificationGas: BigInt(estimateUserOperationGas.preVerificationGas),
|
|
@@ -274,7 +292,7 @@ class Safe4337Pack extends RelayKitBasePack_1.RelayKitBasePack {
|
|
|
274
292
|
*/
|
|
275
293
|
async createTransaction({ transactions, options = {} }) {
|
|
276
294
|
const safeAddress = await this.protocolKit.getAddress();
|
|
277
|
-
const nonce = await __classPrivateFieldGet(this, _Safe4337Pack_instances, "m",
|
|
295
|
+
const nonce = await __classPrivateFieldGet(this, _Safe4337Pack_instances, "m", _Safe4337Pack_getSafeNonceFromEntrypoint).call(this, safeAddress);
|
|
278
296
|
const { amountToApprove, validUntil, validAfter, feeEstimator } = options;
|
|
279
297
|
if (amountToApprove) {
|
|
280
298
|
if (!__classPrivateFieldGet(this, _Safe4337Pack_paymasterOptions, "f") || !__classPrivateFieldGet(this, _Safe4337Pack_paymasterOptions, "f").paymasterTokenAddress) {
|
|
@@ -296,7 +314,7 @@ class Safe4337Pack extends RelayKitBasePack_1.RelayKitBasePack {
|
|
|
296
314
|
? __classPrivateFieldGet(this, _Safe4337Pack_instances, "m", _Safe4337Pack_encodeExecuteUserOpCallData).call(this, {
|
|
297
315
|
to: multiSendAddress,
|
|
298
316
|
value: '0',
|
|
299
|
-
data:
|
|
317
|
+
data: (0, utils_1.encodeMultiSendCallData)(transactions),
|
|
300
318
|
operation: safe_core_sdk_types_1.OperationType.DelegateCall
|
|
301
319
|
})
|
|
302
320
|
: __classPrivateFieldGet(this, _Safe4337Pack_instances, "m", _Safe4337Pack_encodeExecuteUserOpCallData).call(this, transactions[0]);
|
|
@@ -319,6 +337,7 @@ class Safe4337Pack extends RelayKitBasePack_1.RelayKitBasePack {
|
|
|
319
337
|
userOperation.initCode = await this.protocolKit.getInitCode();
|
|
320
338
|
}
|
|
321
339
|
const safeOperation = new SafeOperation_1.default(userOperation, {
|
|
340
|
+
moduleAddress: __classPrivateFieldGet(this, _Safe4337Pack_SAFE_4337_MODULE_ADDRESS, "f"),
|
|
322
341
|
entryPoint: __classPrivateFieldGet(this, _Safe4337Pack_ENTRYPOINT_ADDRESS, "f"),
|
|
323
342
|
validUntil,
|
|
324
343
|
validAfter
|
|
@@ -331,11 +350,20 @@ class Safe4337Pack extends RelayKitBasePack_1.RelayKitBasePack {
|
|
|
331
350
|
/**
|
|
332
351
|
* Signs a safe operation.
|
|
333
352
|
*
|
|
334
|
-
* @param {EthSafeOperation} safeOperation - The SafeOperation to sign.
|
|
353
|
+
* @param {EthSafeOperation | SafeOperationResponse} safeOperation - The SafeOperation to sign. It can be:
|
|
354
|
+
* - A response from the API (Tx Service)
|
|
355
|
+
* - An instance of EthSafeOperation
|
|
335
356
|
* @param {SigningMethod} signingMethod - The signing method to use.
|
|
336
357
|
* @return {Promise<EthSafeOperation>} The Promise object will resolve to the signed SafeOperation.
|
|
337
358
|
*/
|
|
338
359
|
async signSafeOperation(safeOperation, signingMethod = protocol_kit_1.SigningMethod.ETH_SIGN_TYPED_DATA_V4) {
|
|
360
|
+
let safeOp;
|
|
361
|
+
if ((0, safe_core_sdk_types_1.isSafeOperationResponse)(safeOperation)) {
|
|
362
|
+
safeOp = __classPrivateFieldGet(this, _Safe4337Pack_instances, "m", _Safe4337Pack_toSafeOperation).call(this, safeOperation);
|
|
363
|
+
}
|
|
364
|
+
else {
|
|
365
|
+
safeOp = safeOperation;
|
|
366
|
+
}
|
|
339
367
|
const owners = await this.protocolKit.getOwners();
|
|
340
368
|
const signerAddress = await this.protocolKit.getSafeProvider().getSignerAddress();
|
|
341
369
|
if (!signerAddress) {
|
|
@@ -349,19 +377,20 @@ class Safe4337Pack extends RelayKitBasePack_1.RelayKitBasePack {
|
|
|
349
377
|
if (signingMethod === protocol_kit_1.SigningMethod.ETH_SIGN_TYPED_DATA_V4 ||
|
|
350
378
|
signingMethod === protocol_kit_1.SigningMethod.ETH_SIGN_TYPED_DATA_V3 ||
|
|
351
379
|
signingMethod === protocol_kit_1.SigningMethod.ETH_SIGN_TYPED_DATA) {
|
|
352
|
-
signature = await
|
|
380
|
+
signature = await (0, utils_1.signSafeOp)(safeOp.data, this.protocolKit.getSafeProvider(), __classPrivateFieldGet(this, _Safe4337Pack_SAFE_4337_MODULE_ADDRESS, "f"));
|
|
353
381
|
}
|
|
354
382
|
else {
|
|
355
383
|
const chainId = await this.protocolKit.getSafeProvider().getChainId();
|
|
356
|
-
const safeOpHash =
|
|
384
|
+
const safeOpHash = (0, utils_1.calculateSafeUserOperationHash)(safeOp.data, chainId, __classPrivateFieldGet(this, _Safe4337Pack_SAFE_4337_MODULE_ADDRESS, "f"));
|
|
357
385
|
signature = await this.protocolKit.signHash(safeOpHash);
|
|
358
386
|
}
|
|
359
|
-
const signedSafeOperation = new SafeOperation_1.default(
|
|
387
|
+
const signedSafeOperation = new SafeOperation_1.default(safeOp.toUserOperation(), {
|
|
388
|
+
moduleAddress: __classPrivateFieldGet(this, _Safe4337Pack_SAFE_4337_MODULE_ADDRESS, "f"),
|
|
360
389
|
entryPoint: __classPrivateFieldGet(this, _Safe4337Pack_ENTRYPOINT_ADDRESS, "f"),
|
|
361
|
-
validUntil:
|
|
362
|
-
validAfter:
|
|
390
|
+
validUntil: safeOp.data.validUntil,
|
|
391
|
+
validAfter: safeOp.data.validAfter
|
|
363
392
|
});
|
|
364
|
-
|
|
393
|
+
safeOp.signatures.forEach((signature) => {
|
|
365
394
|
signedSafeOperation.addSignature(signature);
|
|
366
395
|
});
|
|
367
396
|
signedSafeOperation.addSignature(signature);
|
|
@@ -370,12 +399,25 @@ class Safe4337Pack extends RelayKitBasePack_1.RelayKitBasePack {
|
|
|
370
399
|
/**
|
|
371
400
|
* Executes the relay transaction.
|
|
372
401
|
*
|
|
373
|
-
* @param {
|
|
402
|
+
* @param {Safe4337ExecutableProps} props - The parameters for the transaction execution.
|
|
403
|
+
* @param {EthSafeOperation | SafeOperationResponse} props.executable - The SafeOperation to execute. It can be:
|
|
404
|
+
* - A response from the API (Tx Service)
|
|
405
|
+
* - An instance of EthSafeOperation
|
|
374
406
|
* @return {Promise<string>} The user operation hash.
|
|
375
407
|
*/
|
|
376
|
-
async executeTransaction({ executable
|
|
408
|
+
async executeTransaction({ executable }) {
|
|
409
|
+
let safeOperation;
|
|
410
|
+
if ((0, safe_core_sdk_types_1.isSafeOperationResponse)(executable)) {
|
|
411
|
+
safeOperation = __classPrivateFieldGet(this, _Safe4337Pack_instances, "m", _Safe4337Pack_toSafeOperation).call(this, executable);
|
|
412
|
+
}
|
|
413
|
+
else {
|
|
414
|
+
safeOperation = executable;
|
|
415
|
+
}
|
|
377
416
|
const userOperation = safeOperation.toUserOperation();
|
|
378
|
-
return __classPrivateFieldGet(this,
|
|
417
|
+
return __classPrivateFieldGet(this, _Safe4337Pack_bundlerClient, "f").send(constants_1.RPC_4337_CALLS.SEND_USER_OPERATION, [
|
|
418
|
+
(0, utils_1.userOperationToHexValues)(userOperation),
|
|
419
|
+
__classPrivateFieldGet(this, _Safe4337Pack_ENTRYPOINT_ADDRESS, "f")
|
|
420
|
+
]);
|
|
379
421
|
}
|
|
380
422
|
/**
|
|
381
423
|
* Return a UserOperation based on a hash (userOpHash) returned by eth_sendUserOperation
|
|
@@ -384,8 +426,7 @@ class Safe4337Pack extends RelayKitBasePack_1.RelayKitBasePack {
|
|
|
384
426
|
* @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
|
|
385
427
|
*/
|
|
386
428
|
async getUserOperationByHash(userOpHash) {
|
|
387
|
-
|
|
388
|
-
return userOperation;
|
|
429
|
+
return __classPrivateFieldGet(this, _Safe4337Pack_bundlerClient, "f").send(constants_1.RPC_4337_CALLS.GET_USER_OPERATION_BY_HASH, [userOpHash]);
|
|
389
430
|
}
|
|
390
431
|
/**
|
|
391
432
|
* Return a UserOperation receipt based on a hash (userOpHash) returned by eth_sendUserOperation
|
|
@@ -394,8 +435,7 @@ class Safe4337Pack extends RelayKitBasePack_1.RelayKitBasePack {
|
|
|
394
435
|
* @returns {UserOperationReceipt} - null in case the UserOperation is not yet included in a block, or UserOperationReceipt object
|
|
395
436
|
*/
|
|
396
437
|
async getUserOperationReceipt(userOpHash) {
|
|
397
|
-
|
|
398
|
-
return userOperationReceipt;
|
|
438
|
+
return __classPrivateFieldGet(this, _Safe4337Pack_bundlerClient, "f").send(constants_1.RPC_4337_CALLS.GET_USER_OPERATION_RECEIPT, [userOpHash]);
|
|
399
439
|
}
|
|
400
440
|
/**
|
|
401
441
|
* Returns an array of the entryPoint addresses supported by the client.
|
|
@@ -404,8 +444,7 @@ class Safe4337Pack extends RelayKitBasePack_1.RelayKitBasePack {
|
|
|
404
444
|
* @returns {string[]} - The supported entry points.
|
|
405
445
|
*/
|
|
406
446
|
async getSupportedEntryPoints() {
|
|
407
|
-
|
|
408
|
-
return supportedEntryPoints;
|
|
447
|
+
return __classPrivateFieldGet(this, _Safe4337Pack_bundlerClient, "f").send(constants_1.RPC_4337_CALLS.SUPPORTED_ENTRY_POINTS, []);
|
|
409
448
|
}
|
|
410
449
|
/**
|
|
411
450
|
* Returns EIP-155 Chain ID.
|
|
@@ -413,60 +452,44 @@ class Safe4337Pack extends RelayKitBasePack_1.RelayKitBasePack {
|
|
|
413
452
|
* @returns {string} - The chain id.
|
|
414
453
|
*/
|
|
415
454
|
async getChainId() {
|
|
416
|
-
|
|
417
|
-
return chainId;
|
|
455
|
+
return __classPrivateFieldGet(this, _Safe4337Pack_bundlerClient, "f").send(constants_1.RPC_4337_CALLS.CHAIN_ID, []);
|
|
418
456
|
}
|
|
419
457
|
}
|
|
420
458
|
exports.Safe4337Pack = Safe4337Pack;
|
|
421
|
-
_Safe4337Pack_BUNDLER_URL = new WeakMap(), _Safe4337Pack_ENTRYPOINT_ADDRESS = new WeakMap(), _Safe4337Pack_SAFE_4337_MODULE_ADDRESS = new WeakMap(), _Safe4337Pack_bundlerClient = new WeakMap(),
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
__classPrivateFieldGet(this,
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
* Signs typed data.
|
|
441
|
-
*
|
|
442
|
-
* @param {SafeUserOperation} safeUserOperation - Safe user operation to sign.
|
|
443
|
-
* @return {Promise<SafeSignature>} The SafeSignature object containing the data and the signatures.
|
|
444
|
-
*/
|
|
445
|
-
async function _Safe4337Pack_signTypedData(safeUserOperation) {
|
|
446
|
-
const safeProvider = this.protocolKit.getSafeProvider();
|
|
447
|
-
const signer = (await safeProvider.getExternalSigner());
|
|
448
|
-
const chainId = await safeProvider.getChainId();
|
|
449
|
-
const signerAddress = await signer.getAddress();
|
|
450
|
-
const signature = await signer.signTypedData({
|
|
451
|
-
chainId,
|
|
452
|
-
verifyingContract: __classPrivateFieldGet(this, _Safe4337Pack_SAFE_4337_MODULE_ADDRESS, "f")
|
|
453
|
-
}, constants_1.EIP712_SAFE_OPERATION_TYPE, {
|
|
454
|
-
...safeUserOperation,
|
|
455
|
-
nonce: ethers_1.ethers.toBeHex(safeUserOperation.nonce),
|
|
456
|
-
validAfter: ethers_1.ethers.toBeHex(safeUserOperation.validAfter),
|
|
457
|
-
validUntil: ethers_1.ethers.toBeHex(safeUserOperation.validUntil),
|
|
458
|
-
maxFeePerGas: ethers_1.ethers.toBeHex(safeUserOperation.maxFeePerGas),
|
|
459
|
-
maxPriorityFeePerGas: ethers_1.ethers.toBeHex(safeUserOperation.maxPriorityFeePerGas)
|
|
459
|
+
_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) {
|
|
460
|
+
const { validUntil, validAfter, userOperation } = safeOperationResponse;
|
|
461
|
+
const safeOperation = new SafeOperation_1.default({
|
|
462
|
+
sender: userOperation?.sender || '0x',
|
|
463
|
+
nonce: userOperation?.nonce?.toString() || '0',
|
|
464
|
+
initCode: userOperation?.initCode || '',
|
|
465
|
+
callData: userOperation?.callData || '',
|
|
466
|
+
callGasLimit: BigInt(userOperation?.callGasLimit || 0n),
|
|
467
|
+
verificationGasLimit: BigInt(userOperation?.verificationGasLimit || 0),
|
|
468
|
+
preVerificationGas: BigInt(userOperation?.preVerificationGas || 0),
|
|
469
|
+
maxFeePerGas: BigInt(userOperation?.maxFeePerGas || 0),
|
|
470
|
+
maxPriorityFeePerGas: BigInt(userOperation?.maxPriorityFeePerGas || 0),
|
|
471
|
+
paymasterAndData: userOperation?.paymasterData || '0x',
|
|
472
|
+
signature: userOperation?.signature || '0x'
|
|
473
|
+
}, {
|
|
474
|
+
moduleAddress: __classPrivateFieldGet(this, _Safe4337Pack_SAFE_4337_MODULE_ADDRESS, "f"),
|
|
475
|
+
entryPoint: userOperation?.entryPoint || __classPrivateFieldGet(this, _Safe4337Pack_ENTRYPOINT_ADDRESS, "f"),
|
|
476
|
+
validAfter: validAfter ? new Date(validAfter).getTime() : undefined,
|
|
477
|
+
validUntil: validUntil ? new Date(validUntil).getTime() : undefined
|
|
460
478
|
});
|
|
461
|
-
|
|
462
|
-
|
|
479
|
+
if (safeOperationResponse.confirmations) {
|
|
480
|
+
safeOperationResponse.confirmations.forEach((confirmation) => {
|
|
481
|
+
safeOperation.addSignature(new protocol_kit_1.EthSafeSignature(confirmation.owner, confirmation.signature));
|
|
482
|
+
});
|
|
483
|
+
}
|
|
484
|
+
return safeOperation;
|
|
485
|
+
}, _Safe4337Pack_getSafeNonceFromEntrypoint =
|
|
463
486
|
/**
|
|
464
487
|
* Gets account nonce from the bundler.
|
|
465
488
|
*
|
|
466
|
-
* @param {string}
|
|
489
|
+
* @param {string} safeAddress - Account address for which the nonce is to be fetched.
|
|
467
490
|
* @returns {Promise<string>} The Promise object will resolve to the account nonce.
|
|
468
491
|
*/
|
|
469
|
-
async function
|
|
492
|
+
async function _Safe4337Pack_getSafeNonceFromEntrypoint(safeAddress) {
|
|
470
493
|
const abi = [
|
|
471
494
|
{
|
|
472
495
|
inputs: [
|
|
@@ -479,8 +502,8 @@ async function _Safe4337Pack_getAccountNonce(sender) {
|
|
|
479
502
|
type: 'function'
|
|
480
503
|
}
|
|
481
504
|
];
|
|
482
|
-
const contract = new ethers_1.ethers.Contract(__classPrivateFieldGet(this, _Safe4337Pack_ENTRYPOINT_ADDRESS, "f") || '0x', abi,
|
|
483
|
-
const newNonce = await contract.getNonce(
|
|
505
|
+
const contract = new ethers_1.ethers.Contract(__classPrivateFieldGet(this, _Safe4337Pack_ENTRYPOINT_ADDRESS, "f") || '0x', abi, this.protocolKit.getSafeProvider().getExternalProvider());
|
|
506
|
+
const newNonce = await contract.getNonce(safeAddress, BigInt(0));
|
|
484
507
|
return newNonce.toString();
|
|
485
508
|
}, _Safe4337Pack_encodeExecuteUserOpCallData = function _Safe4337Pack_encodeExecuteUserOpCallData(transaction) {
|
|
486
509
|
return constants_1.INTERFACES.encodeFunctionData('executeUserOp', [
|
|
@@ -489,9 +512,5 @@ async function _Safe4337Pack_getAccountNonce(sender) {
|
|
|
489
512
|
transaction.data,
|
|
490
513
|
transaction.operation || safe_core_sdk_types_1.OperationType.Call
|
|
491
514
|
]);
|
|
492
|
-
}, _Safe4337Pack_encodeMultiSendCallData = function _Safe4337Pack_encodeMultiSendCallData(transactions) {
|
|
493
|
-
return constants_1.INTERFACES.encodeFunctionData('multiSend', [
|
|
494
|
-
(0, protocol_kit_1.encodeMultiSendData)(transactions.map((tx) => ({ ...tx, operation: tx.operation ?? safe_core_sdk_types_1.OperationType.Call })))
|
|
495
|
-
]);
|
|
496
515
|
};
|
|
497
516
|
//# 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,0EAMkC;AAClC,8EAA0E;AAC1E,0EAMyC;AACzC,oFAG8C;AAC9C,oEAA8C;AAW9C,2CAMoB;AACpB,mCAAiG;AACjG,0EAAsE;AAEtE,MAAM,2BAA2B,GAC/B,mEAAmE,CAAA;AAErE;;;;;;;;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,IAAI,YAAY,GAAG,oBAAoB,CAAA;YACvC,IAAI,cAAc,GAAG,sBAAU,CAAC,kBAAkB,CAAC,eAAe,EAAE,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;YAE9F,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,MAAM,4BAA4B,GAAG;oBACnC,EAAE,EAAE,oBAAoB;oBACxB,KAAK,EAAE,GAAG;oBACV,IAAI,EAAE,sBAAU,CAAC,kBAAkB,CAAC,eAAe,EAAE,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC;oBAC/E,SAAS,EAAE,mCAAa,CAAC,YAAY,CAAC,qDAAqD;iBAC5F,CAAA;gBAED,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,MAAM,UAAU,GAAG,CAAC,4BAA4B,EAAE,6BAA6B,CAAC,CAAA;gBAEhF,MAAM,SAAS,GAAG,sBAAU,CAAC,kBAAkB,CAAC,WAAW,EAAE;oBAC3D,IAAA,kCAAmB,EAAC,UAAU,CAAC;iBAChC,CAAC,CAAA;gBAEF,MAAM,iBAAiB,GAAG,MAAM,IAAA,mCAAoB,EAAC;oBACnD,YAAY,EAAE,IAAI,2BAAY,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;oBACpD,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,gCAAoB;iBACzD,CAAC,CAAA;gBAEF,YAAY,GAAG,MAAM,iBAAiB,CAAC,UAAU,EAAE,CAAA;gBACnD,cAAc,GAAG,SAAS,CAAA;YAC5B,CAAC;YAED,WAAW,GAAG,MAAM,sBAAI,CAAC,IAAI,CAAC;gBAC5B,QAAQ;gBACR,MAAM;gBACN,aAAa,EAAE;oBACb,oBAAoB,EAAE;wBACpB,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,gCAAoB;wBACxD,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,aAAa,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC,gBAAgB,EAAE,CAAA;QACjF,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,IACE,aAAa,KAAK,4BAAa,CAAC,sBAAsB;YACtD,aAAa,KAAK,4BAAa,CAAC,sBAAsB;YACtD,aAAa,KAAK,4BAAa,CAAC,mBAAmB,EACnD,CAAC;YACD,SAAS,GAAG,MAAM,uBAAA,IAAI,4DAAe,MAAnB,IAAI,EAAgB,aAAa,CAAC,IAAI,CAAC,CAAA;QAC3D,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC,UAAU,EAAE,CAAA;YACrE,MAAM,UAAU,GAAG,uBAAA,IAAI,uEAA0B,MAA9B,IAAI,EAA2B,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;YAE9E,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;QACzD,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;AA3lBD,oCA2lBC;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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"}
|