@safe-global/relay-kit 3.1.0-alpha.0 → 3.1.0-alpha.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/dist/src/index.d.ts +1 -0
- package/dist/src/index.js +6 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/packs/gelato/GelatoRelayPack.test.js +1 -1
- package/dist/src/packs/gelato/GelatoRelayPack.test.js.map +1 -1
- package/dist/src/packs/safe-4337/Safe4337Pack.d.ts +11 -5
- package/dist/src/packs/safe-4337/Safe4337Pack.js +146 -114
- package/dist/src/packs/safe-4337/Safe4337Pack.js.map +1 -1
- package/dist/src/packs/safe-4337/Safe4337Pack.test.js +234 -38
- package/dist/src/packs/safe-4337/Safe4337Pack.test.js.map +1 -1
- package/dist/src/packs/safe-4337/SafeOperation.d.ts +6 -1
- package/dist/src/packs/safe-4337/SafeOperation.js +7 -1
- package/dist/src/packs/safe-4337/SafeOperation.js.map +1 -1
- package/dist/src/packs/safe-4337/SafeOperation.test.js +10 -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/estimators/PimlicoFeeEstimator.js +2 -1
- package/dist/src/packs/safe-4337/estimators/PimlicoFeeEstimator.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 +0 -1
- package/dist/src/packs/safe-4337/testing-utils/helpers.js.map +1 -1
- package/dist/src/packs/safe-4337/types.d.ts +11 -8
- 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 +61 -5
- package/dist/src/packs/safe-4337/utils.js +131 -9
- package/dist/src/packs/safe-4337/utils.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +4 -4
|
@@ -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_chainId, _Safe4337Pack_paymasterOptions, _Safe4337Pack_toSafeOperation, _Safe4337Pack_timestamp, _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,18 +48,17 @@ 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
|
|
57
59
|
*/
|
|
58
60
|
// FIXME: use the production deployment packages instead of a hardcoded address
|
|
59
61
|
const SAFE_WEBAUTHN_SHARED_SIGNER_ADDRESS = '0x608Cf2e3412c6BDA14E6D8A0a7D27c4240FeD6F1';
|
|
60
|
-
// FIXME: use the production deployment packages instead of a hardcoded address
|
|
61
|
-
// Sepolia only
|
|
62
|
-
const P256_VERIFIER_ADDRESS = '0xcA89CBa4813D5B40AeC6E57A30d0Eeb500d6531b'; // FCLP256Verifier
|
|
63
62
|
/**
|
|
64
63
|
* Safe4337Pack class that extends RelayKitBasePack.
|
|
65
64
|
* This class provides an implementation of the ERC-4337 that enables Safe accounts to wrk with UserOperations.
|
|
@@ -75,18 +74,18 @@ class Safe4337Pack extends RelayKitBasePack_1.RelayKitBasePack {
|
|
|
75
74
|
*
|
|
76
75
|
* @param {Safe4337Options} options - The initialization parameters.
|
|
77
76
|
*/
|
|
78
|
-
constructor({ protocolKit, bundlerClient,
|
|
77
|
+
constructor({ protocolKit, bundlerClient, bundlerUrl, chainId, paymasterOptions, entryPointAddress, safe4337ModuleAddress }) {
|
|
79
78
|
super(protocolKit);
|
|
80
79
|
_Safe4337Pack_instances.add(this);
|
|
81
80
|
_Safe4337Pack_BUNDLER_URL.set(this, void 0);
|
|
82
81
|
_Safe4337Pack_ENTRYPOINT_ADDRESS.set(this, void 0);
|
|
83
82
|
_Safe4337Pack_SAFE_4337_MODULE_ADDRESS.set(this, '0x');
|
|
84
83
|
_Safe4337Pack_bundlerClient.set(this, void 0);
|
|
85
|
-
|
|
84
|
+
_Safe4337Pack_chainId.set(this, void 0);
|
|
86
85
|
_Safe4337Pack_paymasterOptions.set(this, void 0);
|
|
87
86
|
__classPrivateFieldSet(this, _Safe4337Pack_BUNDLER_URL, bundlerUrl, "f");
|
|
88
87
|
__classPrivateFieldSet(this, _Safe4337Pack_bundlerClient, bundlerClient, "f");
|
|
89
|
-
__classPrivateFieldSet(this,
|
|
88
|
+
__classPrivateFieldSet(this, _Safe4337Pack_chainId, chainId, "f");
|
|
90
89
|
__classPrivateFieldSet(this, _Safe4337Pack_paymasterOptions, paymasterOptions, "f");
|
|
91
90
|
__classPrivateFieldSet(this, _Safe4337Pack_ENTRYPOINT_ADDRESS, entryPointAddress, "f");
|
|
92
91
|
__classPrivateFieldSet(this, _Safe4337Pack_SAFE_4337_MODULE_ADDRESS, safe4337ModuleAddress, "f");
|
|
@@ -102,17 +101,20 @@ class Safe4337Pack extends RelayKitBasePack_1.RelayKitBasePack {
|
|
|
102
101
|
* @return {Promise<Safe4337Pack>} The Promise object that will be resolved into an instance of Safe4337Pack.
|
|
103
102
|
*/
|
|
104
103
|
static async init(initOptions) {
|
|
105
|
-
const { provider, signer, options, bundlerUrl,
|
|
104
|
+
const { provider, signer, options, bundlerUrl, customContracts, paymasterOptions } = initOptions;
|
|
106
105
|
let protocolKit;
|
|
107
106
|
const bundlerClient = (0, utils_1.getEip4337BundlerProvider)(bundlerUrl);
|
|
108
|
-
const publicClient = (0, utils_1.getEip1193Provider)(rpcUrl);
|
|
109
107
|
const chainId = await bundlerClient.send(constants_1.RPC_4337_CALLS.CHAIN_ID, []);
|
|
110
108
|
let addModulesLibAddress = customContracts?.addModulesLibAddress;
|
|
111
109
|
const network = parseInt(chainId, 16).toString();
|
|
110
|
+
const safeModulesVersion = initOptions.safeModulesVersion || constants_1.DEFAULT_SAFE_MODULES_VERSION;
|
|
111
|
+
if ((0, satisfies_1.default)(safeModulesVersion, entrypoint_1.EQ_OR_GT_0_3_0)) {
|
|
112
|
+
throw new Error(`Incompatibility detected: Safe modules version ${safeModulesVersion} is not supported. The SDK can use 0.2.0 only.`);
|
|
113
|
+
}
|
|
112
114
|
if (!addModulesLibAddress) {
|
|
113
115
|
const addModulesDeployment = (0, safe_modules_deployments_1.getAddModulesLibDeployment)({
|
|
114
116
|
released: true,
|
|
115
|
-
version:
|
|
117
|
+
version: safeModulesVersion,
|
|
116
118
|
network
|
|
117
119
|
});
|
|
118
120
|
addModulesLibAddress = addModulesDeployment?.networkAddresses[network];
|
|
@@ -121,13 +123,13 @@ class Safe4337Pack extends RelayKitBasePack_1.RelayKitBasePack {
|
|
|
121
123
|
if (!safe4337ModuleAddress) {
|
|
122
124
|
const safe4337ModuleDeployment = (0, safe_modules_deployments_1.getSafe4337ModuleDeployment)({
|
|
123
125
|
released: true,
|
|
124
|
-
version:
|
|
126
|
+
version: safeModulesVersion,
|
|
125
127
|
network
|
|
126
128
|
});
|
|
127
129
|
safe4337ModuleAddress = safe4337ModuleDeployment?.networkAddresses[network];
|
|
128
130
|
}
|
|
129
131
|
if (!addModulesLibAddress || !safe4337ModuleAddress) {
|
|
130
|
-
throw new Error(`Safe4337Module and/or AddModulesLib not available for chain ${network} and modules version ${
|
|
132
|
+
throw new Error(`Safe4337Module and/or AddModulesLib not available for chain ${network} and modules version ${safeModulesVersion}`);
|
|
131
133
|
}
|
|
132
134
|
// Existing Safe
|
|
133
135
|
if ('safeAddress' in options) {
|
|
@@ -137,7 +139,7 @@ class Safe4337Pack extends RelayKitBasePack_1.RelayKitBasePack {
|
|
|
137
139
|
safeAddress: options.safeAddress
|
|
138
140
|
});
|
|
139
141
|
const safeVersion = await protocolKit.getContractVersion();
|
|
140
|
-
const isSafeVersion4337Compatible = (0, satisfies_1.default)(safeVersion,
|
|
142
|
+
const isSafeVersion4337Compatible = (0, satisfies_1.default)(safeVersion, EQ_OR_GT_1_4_1);
|
|
141
143
|
if (!isSafeVersion4337Compatible) {
|
|
142
144
|
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
145
|
}
|
|
@@ -167,35 +169,32 @@ class Safe4337Pack extends RelayKitBasePack_1.RelayKitBasePack {
|
|
|
167
169
|
operation: safe_core_sdk_types_1.OperationType.DelegateCall // DelegateCall required for enabling the 4337 module
|
|
168
170
|
};
|
|
169
171
|
const setupTransactions = [enable4337ModuleTransaction];
|
|
170
|
-
const
|
|
171
|
-
|
|
172
|
+
const isApproveTransactionRequired = !!paymasterOptions &&
|
|
173
|
+
!paymasterOptions.isSponsored &&
|
|
174
|
+
!!paymasterOptions.paymasterTokenAddress;
|
|
172
175
|
if (isApproveTransactionRequired) {
|
|
173
176
|
const { paymasterAddress, amountToApprove = MAX_ERC20_AMOUNT_TO_APPROVE } = paymasterOptions;
|
|
174
177
|
// second transaction: approve ERC-20 paymaster token
|
|
175
178
|
const approveToPaymasterTransaction = {
|
|
176
|
-
to: paymasterTokenAddress,
|
|
179
|
+
to: paymasterOptions.paymasterTokenAddress,
|
|
177
180
|
data: constants_1.INTERFACES.encodeFunctionData('approve', [paymasterAddress, amountToApprove]),
|
|
178
181
|
value: '0',
|
|
179
182
|
operation: safe_core_sdk_types_1.OperationType.Call // Call for approve
|
|
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
|
}
|
|
196
195
|
const passkeyOwnerConfiguration = {
|
|
197
196
|
...passkeySigner.coordinates,
|
|
198
|
-
verifiers:
|
|
197
|
+
verifiers: passkeySigner.verifierAddress
|
|
199
198
|
};
|
|
200
199
|
const sharedSignerTransaction = {
|
|
201
200
|
to: SAFE_WEBAUTHN_SHARED_SIGNER_ADDRESS,
|
|
@@ -244,20 +243,33 @@ class Safe4337Pack extends RelayKitBasePack_1.RelayKitBasePack {
|
|
|
244
243
|
}
|
|
245
244
|
});
|
|
246
245
|
}
|
|
247
|
-
let
|
|
248
|
-
if (
|
|
249
|
-
|
|
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({
|
|
267
|
+
chainId: BigInt(chainId),
|
|
255
268
|
protocolKit,
|
|
256
269
|
bundlerClient,
|
|
257
|
-
publicClient,
|
|
258
270
|
paymasterOptions,
|
|
259
271
|
bundlerUrl,
|
|
260
|
-
entryPointAddress:
|
|
272
|
+
entryPointAddress: selectedEntryPoint,
|
|
261
273
|
safe4337ModuleAddress
|
|
262
274
|
});
|
|
263
275
|
}
|
|
@@ -270,6 +282,7 @@ class Safe4337Pack extends RelayKitBasePack_1.RelayKitBasePack {
|
|
|
270
282
|
* @return {Promise<EthSafeOperation>} The Promise object that will be resolved into the gas estimation.
|
|
271
283
|
*/
|
|
272
284
|
async getEstimateFee({ safeOperation, feeEstimator = new PimlicoFeeEstimator_1.PimlicoFeeEstimator() }) {
|
|
285
|
+
const threshold = await this.protocolKit.getThreshold();
|
|
273
286
|
const setupEstimationData = await feeEstimator?.setupEstimation?.({
|
|
274
287
|
bundlerUrl: __classPrivateFieldGet(this, _Safe4337Pack_BUNDLER_URL, "f"),
|
|
275
288
|
entryPoint: __classPrivateFieldGet(this, _Safe4337Pack_ENTRYPOINT_ADDRESS, "f"),
|
|
@@ -278,7 +291,10 @@ class Safe4337Pack extends RelayKitBasePack_1.RelayKitBasePack {
|
|
|
278
291
|
if (setupEstimationData) {
|
|
279
292
|
safeOperation.addEstimations(setupEstimationData);
|
|
280
293
|
}
|
|
281
|
-
const estimateUserOperationGas = await __classPrivateFieldGet(this, _Safe4337Pack_bundlerClient, "f").send(constants_1.RPC_4337_CALLS.ESTIMATE_USER_OPERATION_GAS, [
|
|
294
|
+
const estimateUserOperationGas = await __classPrivateFieldGet(this, _Safe4337Pack_bundlerClient, "f").send(constants_1.RPC_4337_CALLS.ESTIMATE_USER_OPERATION_GAS, [
|
|
295
|
+
(0, utils_1.userOperationToHexValues)((0, utils_1.addDummySignature)(safeOperation.toUserOperation(), SAFE_WEBAUTHN_SHARED_SIGNER_ADDRESS, threshold)),
|
|
296
|
+
__classPrivateFieldGet(this, _Safe4337Pack_ENTRYPOINT_ADDRESS, "f")
|
|
297
|
+
]);
|
|
282
298
|
if (estimateUserOperationGas) {
|
|
283
299
|
safeOperation.addEstimations({
|
|
284
300
|
preVerificationGas: BigInt(estimateUserOperationGas.preVerificationGas),
|
|
@@ -299,7 +315,7 @@ class Safe4337Pack extends RelayKitBasePack_1.RelayKitBasePack {
|
|
|
299
315
|
throw new Error('No paymaster url provided for a sponsored transaction');
|
|
300
316
|
}
|
|
301
317
|
const paymasterEstimation = await feeEstimator?.getPaymasterEstimation?.({
|
|
302
|
-
userOperation: safeOperation.toUserOperation(),
|
|
318
|
+
userOperation: (0, utils_1.addDummySignature)(safeOperation.toUserOperation(), SAFE_WEBAUTHN_SHARED_SIGNER_ADDRESS, threshold),
|
|
303
319
|
paymasterUrl: __classPrivateFieldGet(this, _Safe4337Pack_paymasterOptions, "f").paymasterUrl,
|
|
304
320
|
entryPoint: __classPrivateFieldGet(this, _Safe4337Pack_ENTRYPOINT_ADDRESS, "f"),
|
|
305
321
|
sponsorshipPolicyId: __classPrivateFieldGet(this, _Safe4337Pack_paymasterOptions, "f").sponsorshipPolicyId
|
|
@@ -321,17 +337,19 @@ class Safe4337Pack extends RelayKitBasePack_1.RelayKitBasePack {
|
|
|
321
337
|
*/
|
|
322
338
|
async createTransaction({ transactions, options = {} }) {
|
|
323
339
|
const safeAddress = await this.protocolKit.getAddress();
|
|
324
|
-
const nonce = await __classPrivateFieldGet(this, _Safe4337Pack_instances, "m",
|
|
340
|
+
const nonce = await __classPrivateFieldGet(this, _Safe4337Pack_instances, "m", _Safe4337Pack_getSafeNonceFromEntrypoint).call(this, safeAddress);
|
|
325
341
|
const { amountToApprove, validUntil, validAfter, feeEstimator } = options;
|
|
326
342
|
if (amountToApprove) {
|
|
327
|
-
|
|
343
|
+
const paymasterOptions = __classPrivateFieldGet(this, _Safe4337Pack_paymasterOptions, "f");
|
|
344
|
+
if (!paymasterOptions.paymasterTokenAddress) {
|
|
328
345
|
throw new Error('Paymaster must be initialized');
|
|
329
346
|
}
|
|
330
|
-
const paymasterAddress = __classPrivateFieldGet(this, _Safe4337Pack_paymasterOptions, "f").paymasterAddress;
|
|
331
|
-
const paymasterTokenAddress = __classPrivateFieldGet(this, _Safe4337Pack_paymasterOptions, "f").paymasterTokenAddress;
|
|
332
347
|
const approveToPaymasterTransaction = {
|
|
333
|
-
to: paymasterTokenAddress,
|
|
334
|
-
data: constants_1.INTERFACES.encodeFunctionData('approve', [
|
|
348
|
+
to: paymasterOptions.paymasterTokenAddress,
|
|
349
|
+
data: constants_1.INTERFACES.encodeFunctionData('approve', [
|
|
350
|
+
paymasterOptions.paymasterAddress,
|
|
351
|
+
amountToApprove
|
|
352
|
+
]),
|
|
335
353
|
value: '0',
|
|
336
354
|
operation: safe_core_sdk_types_1.OperationType.Call // Call for approve
|
|
337
355
|
};
|
|
@@ -343,11 +361,13 @@ class Safe4337Pack extends RelayKitBasePack_1.RelayKitBasePack {
|
|
|
343
361
|
? __classPrivateFieldGet(this, _Safe4337Pack_instances, "m", _Safe4337Pack_encodeExecuteUserOpCallData).call(this, {
|
|
344
362
|
to: multiSendAddress,
|
|
345
363
|
value: '0',
|
|
346
|
-
data:
|
|
364
|
+
data: (0, utils_1.encodeMultiSendCallData)(transactions),
|
|
347
365
|
operation: safe_core_sdk_types_1.OperationType.DelegateCall
|
|
348
366
|
})
|
|
349
367
|
: __classPrivateFieldGet(this, _Safe4337Pack_instances, "m", _Safe4337Pack_encodeExecuteUserOpCallData).call(this, transactions[0]);
|
|
350
|
-
const paymasterAndData = __classPrivateFieldGet(this, _Safe4337Pack_paymasterOptions, "f")
|
|
368
|
+
const paymasterAndData = __classPrivateFieldGet(this, _Safe4337Pack_paymasterOptions, "f") && 'paymasterAddress' in __classPrivateFieldGet(this, _Safe4337Pack_paymasterOptions, "f")
|
|
369
|
+
? __classPrivateFieldGet(this, _Safe4337Pack_paymasterOptions, "f").paymasterAddress
|
|
370
|
+
: '0x';
|
|
351
371
|
const userOperation = {
|
|
352
372
|
sender: safeAddress,
|
|
353
373
|
nonce: nonce,
|
|
@@ -366,6 +386,8 @@ class Safe4337Pack extends RelayKitBasePack_1.RelayKitBasePack {
|
|
|
366
386
|
userOperation.initCode = await this.protocolKit.getInitCode();
|
|
367
387
|
}
|
|
368
388
|
const safeOperation = new SafeOperation_1.default(userOperation, {
|
|
389
|
+
chainId: __classPrivateFieldGet(this, _Safe4337Pack_chainId, "f"),
|
|
390
|
+
moduleAddress: __classPrivateFieldGet(this, _Safe4337Pack_SAFE_4337_MODULE_ADDRESS, "f"),
|
|
369
391
|
entryPoint: __classPrivateFieldGet(this, _Safe4337Pack_ENTRYPOINT_ADDRESS, "f"),
|
|
370
392
|
validUntil,
|
|
371
393
|
validAfter
|
|
@@ -378,29 +400,44 @@ class Safe4337Pack extends RelayKitBasePack_1.RelayKitBasePack {
|
|
|
378
400
|
/**
|
|
379
401
|
* Signs a safe operation.
|
|
380
402
|
*
|
|
381
|
-
* @param {EthSafeOperation} safeOperation - The SafeOperation to sign.
|
|
403
|
+
* @param {EthSafeOperation | SafeOperationResponse} safeOperation - The SafeOperation to sign. It can be:
|
|
404
|
+
* - A response from the API (Tx Service)
|
|
405
|
+
* - An instance of EthSafeOperation
|
|
382
406
|
* @param {SigningMethod} signingMethod - The signing method to use.
|
|
383
407
|
* @return {Promise<EthSafeOperation>} The Promise object will resolve to the signed SafeOperation.
|
|
384
408
|
*/
|
|
385
409
|
async signSafeOperation(safeOperation, signingMethod = protocol_kit_1.SigningMethod.ETH_SIGN_TYPED_DATA_V4) {
|
|
386
|
-
|
|
410
|
+
let safeOp;
|
|
411
|
+
if ((0, safe_core_sdk_types_1.isSafeOperationResponse)(safeOperation)) {
|
|
412
|
+
safeOp = __classPrivateFieldGet(this, _Safe4337Pack_instances, "m", _Safe4337Pack_toSafeOperation).call(this, safeOperation);
|
|
413
|
+
}
|
|
414
|
+
else {
|
|
415
|
+
safeOp = safeOperation;
|
|
416
|
+
}
|
|
387
417
|
const safeProvider = this.protocolKit.getSafeProvider();
|
|
388
418
|
const signerAddress = await safeProvider.getSignerAddress();
|
|
389
|
-
const
|
|
419
|
+
const isPasskeySigner = await safeProvider.isPasskeySigner();
|
|
390
420
|
if (!signerAddress) {
|
|
391
421
|
throw new Error('There is no signer address available to sign the SafeOperation');
|
|
392
422
|
}
|
|
393
|
-
const
|
|
394
|
-
|
|
423
|
+
const isOwner = await this.protocolKit.isOwner(signerAddress);
|
|
424
|
+
const isSafeDeployed = await this.protocolKit.isSafeDeployed();
|
|
425
|
+
if ((!isOwner && isSafeDeployed) || (!isSafeDeployed && !isPasskeySigner && !isOwner)) {
|
|
395
426
|
throw new Error('UserOperations can only be signed by Safe owners');
|
|
396
427
|
}
|
|
397
428
|
let signature;
|
|
398
|
-
const isPasskeySigner = await safeProvider.isPasskeySigner();
|
|
399
429
|
if (isPasskeySigner) {
|
|
400
|
-
const safeOpHash =
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
430
|
+
const safeOpHash = safeOp.getHash();
|
|
431
|
+
// if the Safe is not deployed we force the Shared Signer signature
|
|
432
|
+
if (!isSafeDeployed) {
|
|
433
|
+
const passkeySignature = await this.protocolKit.signHash(safeOpHash);
|
|
434
|
+
// SafeWebAuthnSharedSigner signature
|
|
435
|
+
signature = new protocol_kit_1.EthSafeSignature(SAFE_WEBAUTHN_SHARED_SIGNER_ADDRESS, passkeySignature.data, true // passkeys are contract signatures
|
|
436
|
+
);
|
|
437
|
+
}
|
|
438
|
+
else {
|
|
439
|
+
signature = await this.protocolKit.signHash(safeOpHash);
|
|
440
|
+
}
|
|
404
441
|
}
|
|
405
442
|
else {
|
|
406
443
|
if (signingMethod in
|
|
@@ -409,19 +446,21 @@ class Safe4337Pack extends RelayKitBasePack_1.RelayKitBasePack {
|
|
|
409
446
|
protocol_kit_1.SigningMethod.ETH_SIGN_TYPED_DATA_V3,
|
|
410
447
|
protocol_kit_1.SigningMethod.ETH_SIGN_TYPED_DATA
|
|
411
448
|
]) {
|
|
412
|
-
signature = await
|
|
449
|
+
signature = await (0, utils_1.signSafeOp)(safeOp.data, this.protocolKit.getSafeProvider(), __classPrivateFieldGet(this, _Safe4337Pack_SAFE_4337_MODULE_ADDRESS, "f"));
|
|
413
450
|
}
|
|
414
451
|
else {
|
|
415
|
-
const safeOpHash =
|
|
452
|
+
const safeOpHash = safeOp.getHash();
|
|
416
453
|
signature = await this.protocolKit.signHash(safeOpHash);
|
|
417
454
|
}
|
|
418
455
|
}
|
|
419
|
-
const signedSafeOperation = new SafeOperation_1.default(
|
|
456
|
+
const signedSafeOperation = new SafeOperation_1.default(safeOp.toUserOperation(), {
|
|
457
|
+
chainId: __classPrivateFieldGet(this, _Safe4337Pack_chainId, "f"),
|
|
458
|
+
moduleAddress: __classPrivateFieldGet(this, _Safe4337Pack_SAFE_4337_MODULE_ADDRESS, "f"),
|
|
420
459
|
entryPoint: __classPrivateFieldGet(this, _Safe4337Pack_ENTRYPOINT_ADDRESS, "f"),
|
|
421
|
-
validUntil:
|
|
422
|
-
validAfter:
|
|
460
|
+
validUntil: safeOp.data.validUntil,
|
|
461
|
+
validAfter: safeOp.data.validAfter
|
|
423
462
|
});
|
|
424
|
-
|
|
463
|
+
safeOp.signatures.forEach((signature) => {
|
|
425
464
|
signedSafeOperation.addSignature(signature);
|
|
426
465
|
});
|
|
427
466
|
signedSafeOperation.addSignature(signature);
|
|
@@ -430,12 +469,25 @@ class Safe4337Pack extends RelayKitBasePack_1.RelayKitBasePack {
|
|
|
430
469
|
/**
|
|
431
470
|
* Executes the relay transaction.
|
|
432
471
|
*
|
|
433
|
-
* @param {
|
|
472
|
+
* @param {Safe4337ExecutableProps} props - The parameters for the transaction execution.
|
|
473
|
+
* @param {EthSafeOperation | SafeOperationResponse} props.executable - The SafeOperation to execute. It can be:
|
|
474
|
+
* - A response from the API (Tx Service)
|
|
475
|
+
* - An instance of EthSafeOperation
|
|
434
476
|
* @return {Promise<string>} The user operation hash.
|
|
435
477
|
*/
|
|
436
|
-
async executeTransaction({ executable
|
|
478
|
+
async executeTransaction({ executable }) {
|
|
479
|
+
let safeOperation;
|
|
480
|
+
if ((0, safe_core_sdk_types_1.isSafeOperationResponse)(executable)) {
|
|
481
|
+
safeOperation = __classPrivateFieldGet(this, _Safe4337Pack_instances, "m", _Safe4337Pack_toSafeOperation).call(this, executable);
|
|
482
|
+
}
|
|
483
|
+
else {
|
|
484
|
+
safeOperation = executable;
|
|
485
|
+
}
|
|
437
486
|
const userOperation = safeOperation.toUserOperation();
|
|
438
|
-
return __classPrivateFieldGet(this,
|
|
487
|
+
return __classPrivateFieldGet(this, _Safe4337Pack_bundlerClient, "f").send(constants_1.RPC_4337_CALLS.SEND_USER_OPERATION, [
|
|
488
|
+
(0, utils_1.userOperationToHexValues)(userOperation),
|
|
489
|
+
__classPrivateFieldGet(this, _Safe4337Pack_ENTRYPOINT_ADDRESS, "f")
|
|
490
|
+
]);
|
|
439
491
|
}
|
|
440
492
|
/**
|
|
441
493
|
* Return a UserOperation based on a hash (userOpHash) returned by eth_sendUserOperation
|
|
@@ -444,8 +496,7 @@ class Safe4337Pack extends RelayKitBasePack_1.RelayKitBasePack {
|
|
|
444
496
|
* @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
497
|
*/
|
|
446
498
|
async getUserOperationByHash(userOpHash) {
|
|
447
|
-
|
|
448
|
-
return userOperation;
|
|
499
|
+
return __classPrivateFieldGet(this, _Safe4337Pack_bundlerClient, "f").send(constants_1.RPC_4337_CALLS.GET_USER_OPERATION_BY_HASH, [userOpHash]);
|
|
449
500
|
}
|
|
450
501
|
/**
|
|
451
502
|
* Return a UserOperation receipt based on a hash (userOpHash) returned by eth_sendUserOperation
|
|
@@ -454,8 +505,7 @@ class Safe4337Pack extends RelayKitBasePack_1.RelayKitBasePack {
|
|
|
454
505
|
* @returns {UserOperationReceipt} - null in case the UserOperation is not yet included in a block, or UserOperationReceipt object
|
|
455
506
|
*/
|
|
456
507
|
async getUserOperationReceipt(userOpHash) {
|
|
457
|
-
|
|
458
|
-
return userOperationReceipt;
|
|
508
|
+
return __classPrivateFieldGet(this, _Safe4337Pack_bundlerClient, "f").send(constants_1.RPC_4337_CALLS.GET_USER_OPERATION_RECEIPT, [userOpHash]);
|
|
459
509
|
}
|
|
460
510
|
/**
|
|
461
511
|
* Returns an array of the entryPoint addresses supported by the client.
|
|
@@ -464,8 +514,7 @@ class Safe4337Pack extends RelayKitBasePack_1.RelayKitBasePack {
|
|
|
464
514
|
* @returns {string[]} - The supported entry points.
|
|
465
515
|
*/
|
|
466
516
|
async getSupportedEntryPoints() {
|
|
467
|
-
|
|
468
|
-
return supportedEntryPoints;
|
|
517
|
+
return __classPrivateFieldGet(this, _Safe4337Pack_bundlerClient, "f").send(constants_1.RPC_4337_CALLS.SUPPORTED_ENTRY_POINTS, []);
|
|
469
518
|
}
|
|
470
519
|
/**
|
|
471
520
|
* Returns EIP-155 Chain ID.
|
|
@@ -473,60 +522,47 @@ class Safe4337Pack extends RelayKitBasePack_1.RelayKitBasePack {
|
|
|
473
522
|
* @returns {string} - The chain id.
|
|
474
523
|
*/
|
|
475
524
|
async getChainId() {
|
|
476
|
-
|
|
477
|
-
return chainId;
|
|
525
|
+
return __classPrivateFieldGet(this, _Safe4337Pack_bundlerClient, "f").send(constants_1.RPC_4337_CALLS.CHAIN_ID, []);
|
|
478
526
|
}
|
|
479
527
|
}
|
|
480
528
|
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(),
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
__classPrivateFieldGet(this,
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
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)
|
|
529
|
+
_Safe4337Pack_BUNDLER_URL = new WeakMap(), _Safe4337Pack_ENTRYPOINT_ADDRESS = new WeakMap(), _Safe4337Pack_SAFE_4337_MODULE_ADDRESS = new WeakMap(), _Safe4337Pack_bundlerClient = new WeakMap(), _Safe4337Pack_chainId = new WeakMap(), _Safe4337Pack_paymasterOptions = new WeakMap(), _Safe4337Pack_instances = new WeakSet(), _Safe4337Pack_toSafeOperation = function _Safe4337Pack_toSafeOperation(safeOperationResponse) {
|
|
530
|
+
const { validUntil, validAfter, userOperation } = safeOperationResponse;
|
|
531
|
+
const safeOperation = new SafeOperation_1.default({
|
|
532
|
+
sender: userOperation?.sender || '0x',
|
|
533
|
+
nonce: userOperation?.nonce?.toString() || '0',
|
|
534
|
+
initCode: userOperation?.initCode || '',
|
|
535
|
+
callData: userOperation?.callData || '',
|
|
536
|
+
callGasLimit: BigInt(userOperation?.callGasLimit || 0n),
|
|
537
|
+
verificationGasLimit: BigInt(userOperation?.verificationGasLimit || 0),
|
|
538
|
+
preVerificationGas: BigInt(userOperation?.preVerificationGas || 0),
|
|
539
|
+
maxFeePerGas: BigInt(userOperation?.maxFeePerGas || 0),
|
|
540
|
+
maxPriorityFeePerGas: BigInt(userOperation?.maxPriorityFeePerGas || 0),
|
|
541
|
+
paymasterAndData: ethers_1.ethers.hexlify(ethers_1.ethers.concat([userOperation?.paymaster || '0x', userOperation?.paymasterData || '0x'])),
|
|
542
|
+
signature: safeOperationResponse.preparedSignature || '0x'
|
|
543
|
+
}, {
|
|
544
|
+
chainId: __classPrivateFieldGet(this, _Safe4337Pack_chainId, "f"),
|
|
545
|
+
moduleAddress: __classPrivateFieldGet(this, _Safe4337Pack_SAFE_4337_MODULE_ADDRESS, "f"),
|
|
546
|
+
entryPoint: userOperation?.entryPoint || __classPrivateFieldGet(this, _Safe4337Pack_ENTRYPOINT_ADDRESS, "f"),
|
|
547
|
+
validAfter: __classPrivateFieldGet(this, _Safe4337Pack_instances, "m", _Safe4337Pack_timestamp).call(this, validAfter),
|
|
548
|
+
validUntil: __classPrivateFieldGet(this, _Safe4337Pack_instances, "m", _Safe4337Pack_timestamp).call(this, validUntil)
|
|
520
549
|
});
|
|
521
|
-
|
|
522
|
-
|
|
550
|
+
if (safeOperationResponse.confirmations) {
|
|
551
|
+
safeOperationResponse.confirmations.forEach((confirmation) => {
|
|
552
|
+
safeOperation.addSignature(new protocol_kit_1.EthSafeSignature(confirmation.owner, confirmation.signature));
|
|
553
|
+
});
|
|
554
|
+
}
|
|
555
|
+
return safeOperation;
|
|
556
|
+
}, _Safe4337Pack_timestamp = function _Safe4337Pack_timestamp(date) {
|
|
557
|
+
return date ? new Date(date).getTime() / 1000 : undefined;
|
|
558
|
+
}, _Safe4337Pack_getSafeNonceFromEntrypoint =
|
|
523
559
|
/**
|
|
524
560
|
* Gets account nonce from the bundler.
|
|
525
561
|
*
|
|
526
|
-
* @param {string}
|
|
562
|
+
* @param {string} safeAddress - Account address for which the nonce is to be fetched.
|
|
527
563
|
* @returns {Promise<string>} The Promise object will resolve to the account nonce.
|
|
528
564
|
*/
|
|
529
|
-
async function
|
|
565
|
+
async function _Safe4337Pack_getSafeNonceFromEntrypoint(safeAddress) {
|
|
530
566
|
const abi = [
|
|
531
567
|
{
|
|
532
568
|
inputs: [
|
|
@@ -539,8 +575,8 @@ async function _Safe4337Pack_getAccountNonce(sender) {
|
|
|
539
575
|
type: 'function'
|
|
540
576
|
}
|
|
541
577
|
];
|
|
542
|
-
const contract = new ethers_1.ethers.Contract(__classPrivateFieldGet(this, _Safe4337Pack_ENTRYPOINT_ADDRESS, "f") || '0x', abi,
|
|
543
|
-
const newNonce = await contract.getNonce(
|
|
578
|
+
const contract = new ethers_1.ethers.Contract(__classPrivateFieldGet(this, _Safe4337Pack_ENTRYPOINT_ADDRESS, "f") || '0x', abi, this.protocolKit.getSafeProvider().getExternalProvider());
|
|
579
|
+
const newNonce = await contract.getNonce(safeAddress, BigInt(0));
|
|
544
580
|
return newNonce.toString();
|
|
545
581
|
}, _Safe4337Pack_encodeExecuteUserOpCallData = function _Safe4337Pack_encodeExecuteUserOpCallData(transaction) {
|
|
546
582
|
return constants_1.INTERFACES.encodeFunctionData('executeUserOp', [
|
|
@@ -549,9 +585,5 @@ async function _Safe4337Pack_getAccountNonce(sender) {
|
|
|
549
585
|
transaction.data,
|
|
550
586
|
transaction.operation || safe_core_sdk_types_1.OperationType.Call
|
|
551
587
|
]);
|
|
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
588
|
};
|
|
557
589
|
//# sourceMappingURL=Safe4337Pack.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Safe4337Pack.js","sourceRoot":"","sources":["../../../../src/packs/safe-4337/Safe4337Pack.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Safe4337Pack.js","sourceRoot":"","sources":["../../../../src/packs/safe-4337/Safe4337Pack.ts"],"names":[],"mappings":"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"}
|