@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.
- package/dist/src/packs/safe-4337/Safe4337Pack.d.ts +11 -5
- package/dist/src/packs/safe-4337/Safe4337Pack.js +111 -95
- package/dist/src/packs/safe-4337/Safe4337Pack.js.map +1 -1
- package/dist/src/packs/safe-4337/Safe4337Pack.test.js +218 -29
- 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 +0 -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 +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 +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,
|
|
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,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,
|
|
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,
|
|
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:
|
|
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:
|
|
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 ${
|
|
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,
|
|
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
|
|
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({
|
|
255
267
|
protocolKit,
|
|
256
268
|
bundlerClient,
|
|
257
|
-
publicClient,
|
|
258
269
|
paymasterOptions,
|
|
259
270
|
bundlerUrl,
|
|
260
|
-
entryPointAddress:
|
|
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, [
|
|
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",
|
|
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:
|
|
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 =
|
|
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
|
|
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 =
|
|
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(
|
|
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:
|
|
422
|
-
validAfter:
|
|
447
|
+
validUntil: safeOp.data.validUntil,
|
|
448
|
+
validAfter: safeOp.data.validAfter
|
|
423
449
|
});
|
|
424
|
-
|
|
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 {
|
|
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
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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(),
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
__classPrivateFieldGet(this,
|
|
497
|
-
|
|
498
|
-
|
|
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
|
-
|
|
522
|
-
|
|
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}
|
|
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
|
|
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,
|
|
543
|
-
const newNonce = await contract.getNonce(
|
|
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":"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"}
|
|
1
|
+
{"version":3,"file":"Safe4337Pack.js","sourceRoot":"","sources":["../../../../src/packs/safe-4337/Safe4337Pack.ts"],"names":[],"mappings":"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"}
|