@pimlico/alto 0.0.0-main.20250627T074103 → 0.0.0-main.20250702T200919
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/contracts/ERC165.sol/ERC165.json +1 -1
- package/contracts/EntryPoint.sol/EntryPoint.json +1 -1
- package/contracts/EntryPointSimulations.sol/EntryPointSimulations07.json +1 -1
- package/contracts/EntryPointSimulations.sol/EntryPointSimulations08.json +1 -1
- package/contracts/IERC165.sol/IERC165.json +1 -1
- package/contracts/SenderCreator.sol/SenderCreator.json +1 -1
- package/contracts/build-info/{004071c167bc55de.json → a404540bf9e30752.json} +1 -1
- package/esm/contracts/EntryPointSimulations.sol/EntryPointSimulations07.json +1 -1
- package/esm/contracts/EntryPointSimulations.sol/EntryPointSimulations08.json +1 -1
- package/esm/executor/executorManager.js +1 -1
- package/esm/executor/executorManager.js.map +1 -1
- package/esm/executor/filterOpsAndEstimateGas.js +3 -3
- package/esm/executor/filterOpsAndEstimateGas.js.map +1 -1
- package/esm/executor/getBundleStatus.js +2 -2
- package/esm/executor/getBundleStatus.js.map +1 -1
- package/esm/executor/userOpMonitor.d.ts +1 -1
- package/esm/executor/userOpMonitor.js +17 -17
- package/esm/executor/userOpMonitor.js.map +1 -1
- package/esm/executor/utils.js +2 -2
- package/esm/executor/utils.js.map +1 -1
- package/esm/handlers/eventManager.d.ts +9 -9
- package/esm/handlers/eventManager.js +22 -22
- package/esm/handlers/eventManager.js.map +1 -1
- package/esm/handlers/gasPriceManager.js +1 -1
- package/esm/handlers/gasPriceManager.js.map +1 -1
- package/esm/mempool/mempool.js +17 -17
- package/esm/mempool/mempool.js.map +1 -1
- package/esm/mempool/monitoring.d.ts +3 -3
- package/esm/mempool/monitoring.js +11 -11
- package/esm/mempool/monitoring.js.map +1 -1
- package/esm/mempool/reputationManager.d.ts +26 -26
- package/esm/mempool/reputationManager.js +65 -65
- package/esm/mempool/reputationManager.js.map +1 -1
- package/esm/rpc/estimation/gasEstimationHandler.d.ts +12 -11
- package/esm/rpc/estimation/gasEstimationHandler.js +21 -21
- package/esm/rpc/estimation/gasEstimationHandler.js.map +1 -1
- package/esm/rpc/estimation/gasEstimations06.d.ts +3 -3
- package/esm/rpc/estimation/gasEstimations06.js +5 -5
- package/esm/rpc/estimation/gasEstimations06.js.map +1 -1
- package/esm/rpc/estimation/gasEstimations07.d.ts +13 -11
- package/esm/rpc/estimation/gasEstimations07.js +55 -36
- package/esm/rpc/estimation/gasEstimations07.js.map +1 -1
- package/esm/rpc/estimation/utils.d.ts +3 -3
- package/esm/rpc/estimation/utils.js +2 -2
- package/esm/rpc/estimation/utils.js.map +1 -1
- package/esm/rpc/methods/boost_sendUserOperation.js +14 -15
- package/esm/rpc/methods/boost_sendUserOperation.js.map +1 -1
- package/esm/rpc/methods/eth_estimateUserOperationGas.js +27 -29
- package/esm/rpc/methods/eth_estimateUserOperationGas.js.map +1 -1
- package/esm/rpc/methods/eth_getUserOperationByHash.js +6 -6
- package/esm/rpc/methods/eth_getUserOperationByHash.js.map +1 -1
- package/esm/rpc/methods/eth_getUserOperationReceipt.js +3 -3
- package/esm/rpc/methods/eth_getUserOperationReceipt.js.map +1 -1
- package/esm/rpc/methods/eth_sendUserOperation.d.ts +2 -2
- package/esm/rpc/methods/eth_sendUserOperation.js +33 -34
- package/esm/rpc/methods/eth_sendUserOperation.js.map +1 -1
- package/esm/rpc/methods/pimlico_getUserOperationStatus.js +2 -2
- package/esm/rpc/methods/pimlico_getUserOperationStatus.js.map +1 -1
- package/esm/rpc/methods/pimlico_sendUserOperationNow.js +11 -11
- package/esm/rpc/methods/pimlico_sendUserOperationNow.js.map +1 -1
- package/esm/rpc/rpcHandler.d.ts +4 -4
- package/esm/rpc/rpcHandler.js +34 -36
- package/esm/rpc/rpcHandler.js.map +1 -1
- package/esm/rpc/validation/SafeValidator.d.ts +11 -11
- package/esm/rpc/validation/SafeValidator.js +35 -32
- package/esm/rpc/validation/SafeValidator.js.map +1 -1
- package/esm/rpc/validation/TracerResultParserV06.d.ts +2 -2
- package/esm/rpc/validation/TracerResultParserV06.js +4 -4
- package/esm/rpc/validation/TracerResultParserV06.js.map +1 -1
- package/esm/rpc/validation/TracerResultParserV07.d.ts +2 -2
- package/esm/rpc/validation/TracerResultParserV07.js +8 -8
- package/esm/rpc/validation/TracerResultParserV07.js.map +1 -1
- package/esm/rpc/validation/UnsafeValidator.d.ts +17 -17
- package/esm/rpc/validation/UnsafeValidator.js +40 -34
- package/esm/rpc/validation/UnsafeValidator.js.map +1 -1
- package/esm/store/createMemoryOutstandingStore.js +4 -4
- package/esm/store/createMemoryOutstandingStore.js.map +1 -1
- package/esm/store/createMempoolStore.js +2 -2
- package/esm/store/createMempoolStore.js.map +1 -1
- package/esm/store/createRedisOutstandingStore.js +4 -4
- package/esm/store/createRedisOutstandingStore.js.map +1 -1
- package/esm/types/interfaces.d.ts +12 -12
- package/esm/utils/entryPointOverrides.d.ts +0 -4
- package/esm/utils/entryPointOverrides.js +4 -11
- package/esm/utils/entryPointOverrides.js.map +1 -1
- package/esm/utils/helpers.d.ts +2 -2
- package/esm/utils/helpers.js +2 -2
- package/esm/utils/helpers.js.map +1 -1
- package/esm/utils/metrics.d.ts +9 -9
- package/esm/utils/metrics.js +18 -18
- package/esm/utils/metrics.js.map +1 -1
- package/esm/utils/preVerificationGasCalulator.d.ts +3 -3
- package/esm/utils/preVerificationGasCalulator.js +13 -13
- package/esm/utils/preVerificationGasCalulator.js.map +1 -1
- package/esm/utils/userop.d.ts +15 -15
- package/esm/utils/userop.js +77 -77
- package/esm/utils/userop.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pimlico_sendUserOperationNow.js","sourceRoot":"","sources":["../../../rpc/methods/pimlico_sendUserOperationNow.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,
|
|
1
|
+
{"version":3,"file":"pimlico_sendUserOperationNow.js","sourceRoot":"","sources":["../../../rpc/methods/pimlico_sendUserOperationNow.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,aAAa,EACb,WAAW,EACX,WAAW,EACX,kBAAkB,EACrB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EACH,QAAQ,EAGR,gBAAgB,EAChB,iCAAiC,EACpC,MAAM,aAAa,CAAA;AAGpB,MAAM,CAAC,MAAM,kCAAkC,GAAG,mBAAmB,CAAC;IAClE,MAAM,EAAE,8BAA8B;IACtC,MAAM,EAAE,iCAAiC;IACzC,OAAO,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE;QAClD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,6BAA6B,EAAE,CAAC;YACnD,MAAM,IAAI,QAAQ,CACd,sDAAsD,EACtD,gBAAgB,CAAC,aAAa,CACjC,CAAA;QACL,CAAC;QAED,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,MAAM,CAAA;QACnC,UAAU,CAAC,2BAA2B,CAAC,UAAU,CAAC,CAAA;QAElD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC;YAC/B,MAAM;YACN,iBAAiB,EAAE,UAAU;YAC7B,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,OAAO;YAClC,YAAY,EAAE,UAAU,CAAC,MAAM,CAAC,YAAY;SAC/C,CAAC,CAAA;QAEF,MAAM,CAAC,eAAe,EAAE,eAAe,CAAC,GACpC,MAAM,UAAU,CAAC,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;QAEzD,IAAI,CAAC,eAAe,EAAE,CAAC;YACnB,MAAM,IAAI,QAAQ,CAAC,eAAe,CAAC,CAAA;QACvC,CAAC;QAED,iBAAiB;QACjB,MAAM,UAAU,GAAe;YAC3B,MAAM;YACN,UAAU,EAAE,MAAM,aAAa,CAAC;gBAC5B,MAAM;gBACN,iBAAiB,EAAE,UAAU;gBAC7B,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,OAAO;gBAClC,YAAY,EAAE,UAAU,CAAC,MAAM,CAAC,YAAY;aAC/C,CAAC;YACF,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE;YAC1B,kBAAkB,EAAE,CAAC;SACxB,CAAA;QAED,iBAAiB;QACjB,IAAI,OAA0B,CAAA;QAC9B,IAAI,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC;YAClC,OAAO,GAAG,KAAK,CAAA;QACnB,CAAC;aAAM,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,OAAO,GAAG,KAAK,CAAA;QACnB,CAAC;aAAM,CAAC;YACJ,OAAO,GAAG,KAAK,CAAA;QACnB,CAAC;QAED,MAAM,MAAM,GAAwB;YAChC,UAAU;YACV,OAAO,EAAE,CAAC,UAAU,CAAC;YACrB,OAAO;YACP,kBAAkB,EAAE,CAAC;SACxB,CAAA;QACD,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAA;QAClE,MAAM,MAAM,GACR,MAAM,UAAU,CAAC,eAAe,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAA;QAEjE,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,MAAM,IAAI,QAAQ,CACd,0CAA0C,EAC1C,gBAAgB,CAAC,aAAa,CACjC,CAAA;QACL,CAAC;QAED,oBAAoB;QACpB,MAAM,OAAO,GACT,MAAM,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,yBAAyB,CAAC;YAC3D,IAAI,EAAE,MAAM;YACZ,eAAe,EAAE,GAAG;SACvB,CAAC,CAAA;QAEN,OAAO,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9C,CAAC;CACJ,CAAC,CAAA"}
|
package/esm/rpc/rpcHandler.d.ts
CHANGED
|
@@ -39,14 +39,14 @@ export declare class RpcHandler {
|
|
|
39
39
|
handleMethod(request: BundlerRequest, apiVersion: ApiVersion): Promise<any>;
|
|
40
40
|
ensureEntryPointIsSupported(entryPoint: Address): void;
|
|
41
41
|
ensureDebugEndpointsAreEnabled(methodName: string): void;
|
|
42
|
-
preMempoolChecks(
|
|
43
|
-
validateEip7702Auth({
|
|
44
|
-
|
|
42
|
+
preMempoolChecks(userOp: UserOperation, apiVersion: ApiVersion, boost?: boolean): Promise<[boolean, string]>;
|
|
43
|
+
validateEip7702Auth({ userOp, validateSender }: {
|
|
44
|
+
userOp: UserOperation;
|
|
45
45
|
validateSender?: boolean;
|
|
46
46
|
}): Promise<[
|
|
47
47
|
boolean,
|
|
48
48
|
string
|
|
49
49
|
]>;
|
|
50
|
-
getNonceSeq(
|
|
50
|
+
getNonceSeq(userOp: UserOperation, entryPoint: Address): Promise<bigint>;
|
|
51
51
|
}
|
|
52
52
|
//# sourceMappingURL=rpcHandler.d.ts.map
|
package/esm/rpc/rpcHandler.js
CHANGED
|
@@ -63,9 +63,9 @@ export class RpcHandler {
|
|
|
63
63
|
throw new RpcError(`${methodName} is only available in development environment`);
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
|
-
async preMempoolChecks(
|
|
66
|
+
async preMempoolChecks(userOp, apiVersion, boost = false) {
|
|
67
67
|
if (this.config.legacyTransactions &&
|
|
68
|
-
|
|
68
|
+
userOp.maxFeePerGas !== userOp.maxPriorityFeePerGas) {
|
|
69
69
|
return [
|
|
70
70
|
false,
|
|
71
71
|
"maxPriorityFeePerGas must equal maxFeePerGas on chains that don't support EIP-1559"
|
|
@@ -73,8 +73,8 @@ export class RpcHandler {
|
|
|
73
73
|
}
|
|
74
74
|
if (apiVersion !== "v1" && !this.config.safeMode && !boost) {
|
|
75
75
|
const { lowestMaxFeePerGas, lowestMaxPriorityFeePerGas } = await this.gasPriceManager.getLowestValidGasPrices();
|
|
76
|
-
const maxFeePerGas =
|
|
77
|
-
const maxPriorityFeePerGas =
|
|
76
|
+
const maxFeePerGas = userOp.maxFeePerGas;
|
|
77
|
+
const maxPriorityFeePerGas = userOp.maxPriorityFeePerGas;
|
|
78
78
|
if (maxFeePerGas < lowestMaxFeePerGas) {
|
|
79
79
|
return [
|
|
80
80
|
false,
|
|
@@ -88,23 +88,23 @@ export class RpcHandler {
|
|
|
88
88
|
];
|
|
89
89
|
}
|
|
90
90
|
}
|
|
91
|
-
if (
|
|
91
|
+
if (userOp.verificationGasLimit < 10000n) {
|
|
92
92
|
return [false, "verificationGasLimit must be at least 10000"];
|
|
93
93
|
}
|
|
94
|
-
if (!boost &&
|
|
94
|
+
if (!boost && userOp.preVerificationGas === 0n) {
|
|
95
95
|
return [
|
|
96
96
|
false,
|
|
97
97
|
"userOperation preVerification gas must be larger than 0"
|
|
98
98
|
];
|
|
99
99
|
}
|
|
100
|
-
if (
|
|
100
|
+
if (userOp.verificationGasLimit === 0n) {
|
|
101
101
|
return [
|
|
102
102
|
false,
|
|
103
103
|
"userOperation verification gas limit must be larger than 0"
|
|
104
104
|
];
|
|
105
105
|
}
|
|
106
106
|
const gasLimits = calculateAA95GasFloor({
|
|
107
|
-
userOps: [
|
|
107
|
+
userOps: [userOp],
|
|
108
108
|
beneficiary: privateKeyToAddress(generatePrivateKey())
|
|
109
109
|
});
|
|
110
110
|
if (gasLimits > this.config.maxGasPerBundle) {
|
|
@@ -115,34 +115,34 @@ export class RpcHandler {
|
|
|
115
115
|
}
|
|
116
116
|
return [true, ""];
|
|
117
117
|
}
|
|
118
|
-
async validateEip7702Auth({
|
|
119
|
-
if (!
|
|
118
|
+
async validateEip7702Auth({ userOp, validateSender = false }) {
|
|
119
|
+
if (!userOp.eip7702Auth) {
|
|
120
120
|
return [true, ""];
|
|
121
121
|
}
|
|
122
122
|
if (!this.config.codeOverrideSupport) {
|
|
123
123
|
return [false, "eip7702Auth is not supported on this chain"];
|
|
124
124
|
}
|
|
125
125
|
// Check that auth is valid.
|
|
126
|
-
const delegationDesignator = "address" in
|
|
127
|
-
?
|
|
128
|
-
:
|
|
126
|
+
const delegationDesignator = "address" in userOp.eip7702Auth
|
|
127
|
+
? userOp.eip7702Auth.address
|
|
128
|
+
: userOp.eip7702Auth.contractAddress;
|
|
129
129
|
// Fetch onchain data in parallel
|
|
130
130
|
const [sender, nonceOnChain, delegateCode] = await Promise.all([
|
|
131
131
|
validateSender
|
|
132
132
|
? recoverAuthorizationAddress({
|
|
133
133
|
authorization: {
|
|
134
134
|
address: delegationDesignator,
|
|
135
|
-
chainId:
|
|
136
|
-
nonce:
|
|
137
|
-
r:
|
|
138
|
-
s:
|
|
139
|
-
v:
|
|
140
|
-
yParity:
|
|
135
|
+
chainId: userOp.eip7702Auth.chainId,
|
|
136
|
+
nonce: userOp.eip7702Auth.nonce,
|
|
137
|
+
r: userOp.eip7702Auth.r,
|
|
138
|
+
s: userOp.eip7702Auth.s,
|
|
139
|
+
v: userOp.eip7702Auth.v,
|
|
140
|
+
yParity: userOp.eip7702Auth.yParity
|
|
141
141
|
}
|
|
142
142
|
})
|
|
143
|
-
: Promise.resolve(
|
|
143
|
+
: Promise.resolve(userOp.sender),
|
|
144
144
|
this.config.publicClient.getTransactionCount({
|
|
145
|
-
address:
|
|
145
|
+
address: userOp.sender
|
|
146
146
|
}),
|
|
147
147
|
this.eip7702CodeCache.has(delegationDesignator)
|
|
148
148
|
? Promise.resolve("has-code")
|
|
@@ -150,40 +150,40 @@ export class RpcHandler {
|
|
|
150
150
|
address: delegationDesignator
|
|
151
151
|
})
|
|
152
152
|
]);
|
|
153
|
-
if (
|
|
154
|
-
|
|
153
|
+
if (userOp.eip7702Auth.chainId !== this.config.chainId &&
|
|
154
|
+
userOp.eip7702Auth.chainId !== 0) {
|
|
155
155
|
return [
|
|
156
156
|
false,
|
|
157
157
|
"Invalid EIP-7702 authorization: The chainId does not match the userOperation sender address"
|
|
158
158
|
];
|
|
159
159
|
}
|
|
160
|
-
if (![0, 1].includes(
|
|
160
|
+
if (![0, 1].includes(userOp.eip7702Auth.yParity)) {
|
|
161
161
|
return [
|
|
162
162
|
false,
|
|
163
163
|
"Invalid EIP-7702 authorization: The yParity value must be either 0 or 1"
|
|
164
164
|
];
|
|
165
165
|
}
|
|
166
|
-
if (nonceOnChain !==
|
|
166
|
+
if (nonceOnChain !== userOp.eip7702Auth.nonce) {
|
|
167
167
|
return [
|
|
168
168
|
false,
|
|
169
169
|
"Invalid EIP-7702 authorization: The nonce does not match the userOperation sender address"
|
|
170
170
|
];
|
|
171
171
|
}
|
|
172
|
-
if (sender !==
|
|
172
|
+
if (sender !== userOp.sender) {
|
|
173
173
|
return [
|
|
174
174
|
false,
|
|
175
175
|
"Invalid EIP-7702 authorization: The recovered signer address does not match the userOperation sender address"
|
|
176
176
|
];
|
|
177
177
|
}
|
|
178
|
-
if (isVersion06(
|
|
178
|
+
if (isVersion06(userOp) && userOp.initCode !== "0x") {
|
|
179
179
|
return [
|
|
180
180
|
false,
|
|
181
181
|
"Invalid EIP-7702 authorization: UserOperation cannot contain initCode."
|
|
182
182
|
];
|
|
183
183
|
}
|
|
184
|
-
if (isVersion07(
|
|
185
|
-
|
|
186
|
-
|
|
184
|
+
if (isVersion07(userOp) &&
|
|
185
|
+
userOp.factory !== "0x7702" &&
|
|
186
|
+
userOp.factory !== null) {
|
|
187
187
|
return [
|
|
188
188
|
false,
|
|
189
189
|
"Invalid EIP-7702 authorization: UserOperation cannot contain factory that is neither null or 0x7702."
|
|
@@ -209,18 +209,16 @@ export class RpcHandler {
|
|
|
209
209
|
}
|
|
210
210
|
return [true, ""];
|
|
211
211
|
}
|
|
212
|
-
async getNonceSeq(
|
|
212
|
+
async getNonceSeq(userOp, entryPoint) {
|
|
213
213
|
const entryPointContract = getContract({
|
|
214
214
|
address: entryPoint,
|
|
215
|
-
abi: isVersion06(
|
|
216
|
-
? EntryPointV06Abi
|
|
217
|
-
: EntryPointV07Abi,
|
|
215
|
+
abi: isVersion06(userOp) ? EntryPointV06Abi : EntryPointV07Abi,
|
|
218
216
|
client: {
|
|
219
217
|
public: this.config.publicClient
|
|
220
218
|
}
|
|
221
219
|
});
|
|
222
|
-
const [nonceKey] = getNonceKeyAndSequence(
|
|
223
|
-
const getNonceResult = await entryPointContract.read.getNonce([
|
|
220
|
+
const [nonceKey] = getNonceKeyAndSequence(userOp.nonce);
|
|
221
|
+
const getNonceResult = await entryPointContract.read.getNonce([userOp.sender, nonceKey], {
|
|
224
222
|
blockTag: "latest"
|
|
225
223
|
});
|
|
226
224
|
const [_, currentNonceSeq] = getNonceKeyAndSequence(getNonceResult);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpcHandler.js","sourceRoot":"","sources":["../../rpc/rpcHandler.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"rpcHandler.js","sourceRoot":"","sources":["../../rpc/rpcHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,9 +14,9 @@ export declare class SafeValidator extends UnsafeValidator implements InterfaceV
|
|
|
14
14
|
metrics: Metrics;
|
|
15
15
|
gasPriceManager: GasPriceManager;
|
|
16
16
|
});
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
validateUserOp(args: {
|
|
18
|
+
userOp: UserOperation;
|
|
19
|
+
queuedUserOps: UserOperation[];
|
|
20
20
|
entryPoint: Address;
|
|
21
21
|
referencedContracts?: ReferencedCodeHashes;
|
|
22
22
|
}): Promise<(ValidationResult | ValidationResultWithAggregation) & {
|
|
@@ -24,28 +24,28 @@ export declare class SafeValidator extends UnsafeValidator implements InterfaceV
|
|
|
24
24
|
referencedContracts?: ReferencedCodeHashes;
|
|
25
25
|
}>;
|
|
26
26
|
getCodeHashes(addresses: string[]): Promise<ReferencedCodeHashes>;
|
|
27
|
-
getValidationResultV07(
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
getValidationResultV07(args: {
|
|
28
|
+
userOp: UserOperationV07;
|
|
29
|
+
queuedUserOps: UserOperation[];
|
|
30
30
|
entryPoint: Address;
|
|
31
31
|
codeHashes?: ReferencedCodeHashes;
|
|
32
32
|
}): Promise<(ValidationResultV07 | ValidationResultWithAggregationV07) & {
|
|
33
33
|
storageMap: StorageMap;
|
|
34
34
|
referencedContracts?: ReferencedCodeHashes;
|
|
35
35
|
}>;
|
|
36
|
-
getValidationResultV06(
|
|
37
|
-
|
|
36
|
+
getValidationResultV06(args: {
|
|
37
|
+
userOp: UserOperationV06;
|
|
38
38
|
entryPoint: Address;
|
|
39
39
|
codeHashes?: ReferencedCodeHashes;
|
|
40
40
|
}): Promise<(ValidationResultV06 | ValidationResultWithAggregationV06) & {
|
|
41
41
|
referencedContracts?: ReferencedCodeHashes;
|
|
42
42
|
storageMap: StorageMap;
|
|
43
43
|
}>;
|
|
44
|
-
getValidationResultWithTracerV06(
|
|
45
|
-
parseErrorResultV06(
|
|
44
|
+
getValidationResultWithTracerV06(userOp: UserOperationV06, entryPoint: Address): Promise<[ValidationResultV06, BundlerTracerResult]>;
|
|
45
|
+
parseErrorResultV06(userOp: UserOperationV06, errorResult: {
|
|
46
46
|
errorName: string;
|
|
47
47
|
errorArgs: any;
|
|
48
48
|
}): ValidationResult | ValidationResultWithAggregation;
|
|
49
|
-
getValidationResultWithTracerV07(
|
|
49
|
+
getValidationResultWithTracerV07(userOp: UserOperationV07, queuedUserOps: UserOperationV07[], entryPoint: Address): Promise<[ValidationResultV07, BundlerTracerResult]>;
|
|
50
50
|
}
|
|
51
51
|
//# sourceMappingURL=SafeValidator.d.ts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CodeHashGetterAbi, CodeHashGetterBytecode, EntryPointV06Abi, pimlicoSimulationsAbi, RpcError, ValidationErrors } from "../../types/index.js";
|
|
2
|
-
import { getAuthorizationStateOverrides, getAddressFromInitCodeOrPaymasterAndData,
|
|
2
|
+
import { getAuthorizationStateOverrides, getAddressFromInitCodeOrPaymasterAndData, toPackedUserOp, isVersion08, jsonStringifyWithBigint } from "../../utils/index.js";
|
|
3
3
|
import { decodeErrorResult, encodeDeployData, encodeFunctionData, zeroAddress } from "viem";
|
|
4
4
|
import { bundlerCollectorTracer } from "./BundlerCollectorTracerV07.js";
|
|
5
5
|
import { tracerResultParserV06 } from "./TracerResultParserV06.js";
|
|
@@ -16,19 +16,20 @@ export class SafeValidator extends UnsafeValidator {
|
|
|
16
16
|
});
|
|
17
17
|
this.senderManager = senderManager;
|
|
18
18
|
}
|
|
19
|
-
async
|
|
19
|
+
async validateUserOp(args) {
|
|
20
|
+
const { userOp, queuedUserOps, entryPoint, referencedContracts } = args;
|
|
20
21
|
try {
|
|
21
22
|
const validationResult = await this.getValidationResult({
|
|
22
|
-
|
|
23
|
-
|
|
23
|
+
userOp,
|
|
24
|
+
queuedUserOps,
|
|
24
25
|
entryPoint,
|
|
25
26
|
codeHashes: referencedContracts
|
|
26
27
|
});
|
|
27
|
-
this.metrics.
|
|
28
|
+
this.metrics.userOpsValidationSuccess.inc();
|
|
28
29
|
return validationResult;
|
|
29
30
|
}
|
|
30
31
|
catch (e) {
|
|
31
|
-
this.metrics.
|
|
32
|
+
this.metrics.userOpsValidationFailure.inc();
|
|
32
33
|
throw e;
|
|
33
34
|
}
|
|
34
35
|
}
|
|
@@ -57,15 +58,16 @@ export class SafeValidator extends UnsafeValidator {
|
|
|
57
58
|
addresses
|
|
58
59
|
};
|
|
59
60
|
}
|
|
60
|
-
async getValidationResultV07(
|
|
61
|
+
async getValidationResultV07(args) {
|
|
62
|
+
const { userOp, queuedUserOps, entryPoint, codeHashes } = args;
|
|
61
63
|
if (codeHashes && codeHashes.addresses.length > 0) {
|
|
62
64
|
const { hash } = await this.getCodeHashes(codeHashes.addresses);
|
|
63
65
|
if (hash !== codeHashes.hash) {
|
|
64
66
|
throw new RpcError("code hashes mismatch", ValidationErrors.OpcodeValidation);
|
|
65
67
|
}
|
|
66
68
|
}
|
|
67
|
-
const [res, tracerResult] = await this.getValidationResultWithTracerV07(
|
|
68
|
-
const [contractAddresses, storageMap] = tracerResultParserV07(
|
|
69
|
+
const [res, tracerResult] = await this.getValidationResultWithTracerV07(userOp, queuedUserOps, entryPoint);
|
|
70
|
+
const [contractAddresses, storageMap] = tracerResultParserV07(userOp, tracerResult, res, entryPoint.toLowerCase());
|
|
69
71
|
const referencedContracts = codeHashes || (await this.getCodeHashes(contractAddresses));
|
|
70
72
|
// biome-ignore lint/suspicious/noExplicitAny: it's a generic type
|
|
71
73
|
if (res === "0x") {
|
|
@@ -83,15 +85,16 @@ export class SafeValidator extends UnsafeValidator {
|
|
|
83
85
|
storageMap
|
|
84
86
|
};
|
|
85
87
|
}
|
|
86
|
-
async getValidationResultV06(
|
|
88
|
+
async getValidationResultV06(args) {
|
|
89
|
+
const { userOp, entryPoint, codeHashes } = args;
|
|
87
90
|
if (codeHashes && codeHashes.addresses.length > 0) {
|
|
88
91
|
const { hash } = await this.getCodeHashes(codeHashes.addresses);
|
|
89
92
|
if (hash !== codeHashes.hash) {
|
|
90
93
|
throw new RpcError("code hashes mismatch", ValidationErrors.OpcodeValidation);
|
|
91
94
|
}
|
|
92
95
|
}
|
|
93
|
-
const [res, tracerResult] = await this.getValidationResultWithTracerV06(
|
|
94
|
-
const [contractAddresses, storageMap] = tracerResultParserV06(
|
|
96
|
+
const [res, tracerResult] = await this.getValidationResultWithTracerV06(userOp, entryPoint);
|
|
97
|
+
const [contractAddresses, storageMap] = tracerResultParserV06(userOp, tracerResult, res, entryPoint.toLowerCase());
|
|
95
98
|
const referencedContracts = codeHashes || (await this.getCodeHashes(contractAddresses));
|
|
96
99
|
// biome-ignore lint/suspicious/noExplicitAny: it's a generic type
|
|
97
100
|
if (res === "0x") {
|
|
@@ -119,9 +122,9 @@ export class SafeValidator extends UnsafeValidator {
|
|
|
119
122
|
}
|
|
120
123
|
return validationResult;
|
|
121
124
|
}
|
|
122
|
-
async getValidationResultWithTracerV06(
|
|
125
|
+
async getValidationResultWithTracerV06(userOp, entryPoint) {
|
|
123
126
|
const stateOverrides = getAuthorizationStateOverrides({
|
|
124
|
-
|
|
127
|
+
userOps: [userOp]
|
|
125
128
|
});
|
|
126
129
|
const tracerResult = await debug_traceCall(this.config.publicClient, {
|
|
127
130
|
from: zeroAddress,
|
|
@@ -129,7 +132,7 @@ export class SafeValidator extends UnsafeValidator {
|
|
|
129
132
|
data: encodeFunctionData({
|
|
130
133
|
abi: EntryPointV06Abi,
|
|
131
134
|
functionName: "simulateValidation",
|
|
132
|
-
args: [
|
|
135
|
+
args: [userOp]
|
|
133
136
|
})
|
|
134
137
|
}, {
|
|
135
138
|
tracer: bundlerCollectorTracer,
|
|
@@ -150,7 +153,7 @@ export class SafeValidator extends UnsafeValidator {
|
|
|
150
153
|
data
|
|
151
154
|
});
|
|
152
155
|
const errFullName = `${errorName}(${errorArgs.toString()})`;
|
|
153
|
-
const errorResult = this.parseErrorResultV06(
|
|
156
|
+
const errorResult = this.parseErrorResultV06(userOp, {
|
|
154
157
|
errorName,
|
|
155
158
|
errorArgs
|
|
156
159
|
});
|
|
@@ -170,7 +173,7 @@ export class SafeValidator extends UnsafeValidator {
|
|
|
170
173
|
throw new RpcError(data);
|
|
171
174
|
}
|
|
172
175
|
}
|
|
173
|
-
parseErrorResultV06(
|
|
176
|
+
parseErrorResultV06(userOp,
|
|
174
177
|
// biome-ignore lint/suspicious/noExplicitAny: it's a generic type
|
|
175
178
|
errorResult) {
|
|
176
179
|
if (!errorResult?.errorName?.startsWith("ValidationResult")) {
|
|
@@ -219,17 +222,17 @@ export class SafeValidator extends UnsafeValidator {
|
|
|
219
222
|
returnInfo,
|
|
220
223
|
senderInfo: {
|
|
221
224
|
...senderInfo,
|
|
222
|
-
addr:
|
|
225
|
+
addr: userOp.sender
|
|
223
226
|
},
|
|
224
|
-
factoryInfo: fillEntity(
|
|
225
|
-
paymasterInfo: fillEntity(
|
|
227
|
+
factoryInfo: fillEntity(userOp.initCode, factoryInfo),
|
|
228
|
+
paymasterInfo: fillEntity(userOp.paymasterAndData, paymasterInfo),
|
|
226
229
|
aggregatorInfo: fillEntityAggregator(aggregatorInfo?.actualAggregator, aggregatorInfo?.stakeInfo)
|
|
227
230
|
};
|
|
228
231
|
}
|
|
229
|
-
async getValidationResultWithTracerV07(
|
|
230
|
-
const
|
|
231
|
-
const
|
|
232
|
-
const isV8 = isVersion08(
|
|
232
|
+
async getValidationResultWithTracerV07(userOp, queuedUserOps, entryPoint) {
|
|
233
|
+
const packedUserOp = toPackedUserOp(userOp);
|
|
234
|
+
const packedQueuedUserOps = queuedUserOps.map((uop) => toPackedUserOp(uop));
|
|
235
|
+
const isV8 = isVersion08(userOp, entryPoint);
|
|
233
236
|
const entryPointSimulationsAddress = isV8
|
|
234
237
|
? this.config.entrypointSimulationContractV8
|
|
235
238
|
: this.config.entrypointSimulationContractV7;
|
|
@@ -243,12 +246,12 @@ export class SafeValidator extends UnsafeValidator {
|
|
|
243
246
|
args: [
|
|
244
247
|
entryPointSimulationsAddress,
|
|
245
248
|
entryPoint,
|
|
246
|
-
|
|
247
|
-
|
|
249
|
+
packedQueuedUserOps,
|
|
250
|
+
packedUserOp
|
|
248
251
|
]
|
|
249
252
|
});
|
|
250
253
|
const stateOverrides = getAuthorizationStateOverrides({
|
|
251
|
-
|
|
254
|
+
userOps: [userOp]
|
|
252
255
|
});
|
|
253
256
|
const tracerResult = await debug_traceCall(this.config.publicClient, {
|
|
254
257
|
from: zeroAddress,
|
|
@@ -292,18 +295,18 @@ export class SafeValidator extends UnsafeValidator {
|
|
|
292
295
|
},
|
|
293
296
|
senderInfo: {
|
|
294
297
|
...validationResult.senderInfo,
|
|
295
|
-
addr:
|
|
298
|
+
addr: userOp.sender
|
|
296
299
|
},
|
|
297
|
-
factoryInfo:
|
|
300
|
+
factoryInfo: userOp.factory && validationResult.factoryInfo
|
|
298
301
|
? {
|
|
299
302
|
...validationResult.factoryInfo,
|
|
300
|
-
addr:
|
|
303
|
+
addr: userOp.factory
|
|
301
304
|
}
|
|
302
305
|
: undefined,
|
|
303
|
-
paymasterInfo:
|
|
306
|
+
paymasterInfo: userOp.paymaster && validationResult.paymasterInfo
|
|
304
307
|
? {
|
|
305
308
|
...validationResult.paymasterInfo,
|
|
306
|
-
addr:
|
|
309
|
+
addr: userOp.paymaster
|
|
307
310
|
}
|
|
308
311
|
: undefined,
|
|
309
312
|
aggregatorInfo: validationResult.aggregatorInfo,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SafeValidator.js","sourceRoot":"","sources":["../../../rpc/validation/SafeValidator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SafeValidator.js","sourceRoot":"","sources":["../../../rpc/validation/SafeValidator.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,11 +3,11 @@ import { type Address } from "viem";
|
|
|
3
3
|
import type { BundlerTracerResult } from "./BundlerCollectorTracerV06.js";
|
|
4
4
|
/**
|
|
5
5
|
* parse collected simulation traces and revert if they break our rules
|
|
6
|
-
* @param
|
|
6
|
+
* @param userOp the userOperation that was used in this simulation
|
|
7
7
|
* @param tracerResults the tracer return value
|
|
8
8
|
* @param validationResult output from simulateValidation
|
|
9
9
|
* @param entryPoint the entryPoint that hosted the "simulatedValidation" traced call.
|
|
10
10
|
* @return list of contract addresses referenced by this UserOp
|
|
11
11
|
*/
|
|
12
|
-
export declare function tracerResultParserV06(
|
|
12
|
+
export declare function tracerResultParserV06(userOp: UserOperationV06, tracerResults: BundlerTracerResult, validationResult: ValidationResult, entryPointAddress: Address): [string[], StorageMap];
|
|
13
13
|
//# sourceMappingURL=TracerResultParserV06.d.ts.map
|
|
@@ -329,13 +329,13 @@ const callsFromEntryPointMethodSigs = {
|
|
|
329
329
|
};
|
|
330
330
|
/**
|
|
331
331
|
* parse collected simulation traces and revert if they break our rules
|
|
332
|
-
* @param
|
|
332
|
+
* @param userOp the userOperation that was used in this simulation
|
|
333
333
|
* @param tracerResults the tracer return value
|
|
334
334
|
* @param validationResult output from simulateValidation
|
|
335
335
|
* @param entryPoint the entryPoint that hosted the "simulatedValidation" traced call.
|
|
336
336
|
* @return list of contract addresses referenced by this UserOp
|
|
337
337
|
*/
|
|
338
|
-
export function tracerResultParserV06(
|
|
338
|
+
export function tracerResultParserV06(userOp, tracerResults, validationResult, entryPointAddress) {
|
|
339
339
|
// todo: block access to no-code addresses (might need update to tracer)
|
|
340
340
|
// opcodes from [OP-011]
|
|
341
341
|
const bannedOpCodes = new Set([
|
|
@@ -377,7 +377,7 @@ export function tracerResultParserV06(userOperation, tracerResults, validationRe
|
|
|
377
377
|
if (illegalNonZeroValueCall) {
|
|
378
378
|
throw new RpcError("May not may CALL with value", ValidationErrors.OpcodeValidation);
|
|
379
379
|
}
|
|
380
|
-
const sender =
|
|
380
|
+
const sender = userOp.sender.toLowerCase();
|
|
381
381
|
// stake info per "number" level (factory, sender, paymaster)
|
|
382
382
|
// we only use stake info if we notice a memory reference that require stake
|
|
383
383
|
const stakeInfoEntities = {
|
|
@@ -465,7 +465,7 @@ export function tracerResultParserV06(userOperation, tracerResults, validationRe
|
|
|
465
465
|
// slot associated with sender is allowed (e.g. token.balanceOf(sender)
|
|
466
466
|
// but during initial UserOp (where there is an initCode), it is allowed only for staked entity
|
|
467
467
|
if (associatedWith(slot, sender, entitySlots)) {
|
|
468
|
-
if (
|
|
468
|
+
if (userOp.initCode.length > 2) {
|
|
469
469
|
// special case: account.validateUserOp is allowed to use assoc storage if factory is staked.
|
|
470
470
|
// [STO-022], [STO-021]
|
|
471
471
|
if (!(entityAddr === sender &&
|