ox 0.4.3 → 0.5.0
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/CHANGELOG.md +12 -0
- package/_cjs/core/Siwe.js +1 -1
- package/_cjs/core/Siwe.js.map +1 -1
- package/_cjs/erc4337/EntryPoint.js +1320 -0
- package/_cjs/erc4337/EntryPoint.js.map +1 -0
- package/_cjs/erc4337/RpcSchema.js +3 -0
- package/_cjs/erc4337/RpcSchema.js.map +1 -0
- package/_cjs/erc4337/UserOperation.js +152 -0
- package/_cjs/erc4337/UserOperation.js.map +1 -0
- package/_cjs/erc4337/UserOperationGas.js +31 -0
- package/_cjs/erc4337/UserOperationGas.js.map +1 -0
- package/_cjs/erc4337/UserOperationReceipt.js +35 -0
- package/_cjs/erc4337/UserOperationReceipt.js.map +1 -0
- package/_cjs/erc4337/index.js +9 -0
- package/_cjs/erc4337/index.js.map +1 -0
- package/_cjs/index.docs.js +1 -0
- package/_cjs/index.docs.js.map +1 -1
- package/_cjs/version.js +1 -1
- package/_esm/core/Siwe.js +1 -1
- package/_esm/core/Siwe.js.map +1 -1
- package/_esm/erc4337/EntryPoint.js +1321 -0
- package/_esm/erc4337/EntryPoint.js.map +1 -0
- package/_esm/erc4337/RpcSchema.js +2 -0
- package/_esm/erc4337/RpcSchema.js.map +1 -0
- package/_esm/erc4337/UserOperation.js +324 -0
- package/_esm/erc4337/UserOperation.js.map +1 -0
- package/_esm/erc4337/UserOperationGas.js +61 -0
- package/_esm/erc4337/UserOperationGas.js.map +1 -0
- package/_esm/erc4337/UserOperationReceipt.js +79 -0
- package/_esm/erc4337/UserOperationReceipt.js.map +1 -0
- package/_esm/erc4337/index.js +31 -0
- package/_esm/erc4337/index.js.map +1 -0
- package/_esm/index.docs.js +1 -0
- package/_esm/index.docs.js.map +1 -1
- package/_esm/version.js +1 -1
- package/_types/erc4337/EntryPoint.d.ts +1480 -0
- package/_types/erc4337/EntryPoint.d.ts.map +1 -0
- package/_types/erc4337/RpcSchema.d.ts +159 -0
- package/_types/erc4337/RpcSchema.d.ts.map +1 -0
- package/_types/erc4337/UserOperation.d.ts +330 -0
- package/_types/erc4337/UserOperation.d.ts.map +1 -0
- package/_types/erc4337/UserOperationGas.d.ts +62 -0
- package/_types/erc4337/UserOperationGas.d.ts.map +1 -0
- package/_types/erc4337/UserOperationReceipt.d.ts +87 -0
- package/_types/erc4337/UserOperationReceipt.d.ts.map +1 -0
- package/_types/erc4337/index.d.ts +33 -0
- package/_types/erc4337/index.d.ts.map +1 -0
- package/_types/index.docs.d.ts +1 -0
- package/_types/index.docs.d.ts.map +1 -1
- package/_types/version.d.ts +1 -1
- package/core/Siwe.ts +1 -1
- package/erc4337/EntryPoint/package.json +6 -0
- package/erc4337/EntryPoint.ts +1419 -0
- package/erc4337/RpcSchema/package.json +6 -0
- package/erc4337/RpcSchema.ts +179 -0
- package/erc4337/UserOperation/package.json +6 -0
- package/erc4337/UserOperation.ts +617 -0
- package/erc4337/UserOperationGas/package.json +6 -0
- package/erc4337/UserOperationGas.ts +109 -0
- package/erc4337/UserOperationReceipt/package.json +6 -0
- package/erc4337/UserOperationReceipt.ts +139 -0
- package/erc4337/index.ts +38 -0
- package/erc4337/package.json +6 -0
- package/index.docs.ts +1 -0
- package/package.json +31 -1
- package/version.ts +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EntryPoint.js","sourceRoot":"","sources":["../../erc4337/EntryPoint.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RpcSchema.js","sourceRoot":"","sources":["../../erc4337/RpcSchema.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,324 @@
|
|
|
1
|
+
import * as AbiParameters from '../core/AbiParameters.js';
|
|
2
|
+
import * as Hash from '../core/Hash.js';
|
|
3
|
+
import * as Hex from '../core/Hex.js';
|
|
4
|
+
import * as Signature from '../core/Signature.js';
|
|
5
|
+
/**
|
|
6
|
+
* Instantiates a {@link ox#UserOperation.UserOperation} from a provided input.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```ts twoslash
|
|
10
|
+
* import { Value } from 'ox'
|
|
11
|
+
* import { UserOperation } from 'ox/erc4337'
|
|
12
|
+
*
|
|
13
|
+
* const userOperation = UserOperation.from({
|
|
14
|
+
* callData: '0xdeadbeef',
|
|
15
|
+
* callGasLimit: 300_000n,
|
|
16
|
+
* maxFeePerGas: Value.fromGwei('20'),
|
|
17
|
+
* maxPriorityFeePerGas: Value.fromGwei('2'),
|
|
18
|
+
* nonce: 69n,
|
|
19
|
+
* preVerificationGas: 100_000n,
|
|
20
|
+
* sender: '0x9f1fdab6458c5fc642fa0f4c5af7473c46837357',
|
|
21
|
+
* verificationGasLimit: 100_000n,
|
|
22
|
+
* })
|
|
23
|
+
* ```
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ### Attaching Signatures
|
|
27
|
+
*
|
|
28
|
+
* ```ts twoslash
|
|
29
|
+
* import { Secp256k1, Value } from 'ox'
|
|
30
|
+
* import { UserOperation } from 'ox/erc4337'
|
|
31
|
+
*
|
|
32
|
+
* const userOperation = UserOperation.from({
|
|
33
|
+
* callData: '0xdeadbeef',
|
|
34
|
+
* callGasLimit: 300_000n,
|
|
35
|
+
* maxFeePerGas: Value.fromGwei('20'),
|
|
36
|
+
* maxPriorityFeePerGas: Value.fromGwei('2'),
|
|
37
|
+
* nonce: 69n,
|
|
38
|
+
* preVerificationGas: 100_000n,
|
|
39
|
+
* sender: '0x9f1fdab6458c5fc642fa0f4c5af7473c46837357',
|
|
40
|
+
* verificationGasLimit: 100_000n,
|
|
41
|
+
* })
|
|
42
|
+
*
|
|
43
|
+
* const payload = UserOperation.getSignPayload(userOperation, {
|
|
44
|
+
* chainId: 1,
|
|
45
|
+
* entryPointAddress: '0x1234567890123456789012345678901234567890',
|
|
46
|
+
* entryPointVersion: '0.7',
|
|
47
|
+
* })
|
|
48
|
+
*
|
|
49
|
+
* const signature = Secp256k1.sign({ payload, privateKey: '0x...' })
|
|
50
|
+
*
|
|
51
|
+
* const userOperation_signed = UserOperation.from(userOperation, { signature }) // [!code focus]
|
|
52
|
+
* ```
|
|
53
|
+
*
|
|
54
|
+
* @param userOperation - The user operation to instantiate.
|
|
55
|
+
* @returns User Operation.
|
|
56
|
+
*/
|
|
57
|
+
export function from(userOperation, options = {}) {
|
|
58
|
+
const signature = (() => {
|
|
59
|
+
if (!options.signature)
|
|
60
|
+
return undefined;
|
|
61
|
+
if (typeof options.signature === 'string')
|
|
62
|
+
return options.signature;
|
|
63
|
+
return Signature.toHex(options.signature);
|
|
64
|
+
})();
|
|
65
|
+
return { ...userOperation, signature };
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Converts an {@link ox#UserOperation.Rpc} to an {@link ox#UserOperation.UserOperation}.
|
|
69
|
+
*
|
|
70
|
+
* @example
|
|
71
|
+
* ```ts twoslash
|
|
72
|
+
* import { UserOperation } from 'ox/erc4337'
|
|
73
|
+
*
|
|
74
|
+
* const userOperation = UserOperation.fromRpc({
|
|
75
|
+
* callData: '0xdeadbeef',
|
|
76
|
+
* callGasLimit: '0x69420',
|
|
77
|
+
* maxFeePerGas: '0x2ca6ae494',
|
|
78
|
+
* maxPriorityFeePerGas: '0x41cc3c0',
|
|
79
|
+
* nonce: '0x357',
|
|
80
|
+
* preVerificationGas: '0x69420',
|
|
81
|
+
* signature: '0x',
|
|
82
|
+
* sender: '0x1234567890123456789012345678901234567890',
|
|
83
|
+
* verificationGasLimit: '0x69420',
|
|
84
|
+
* })
|
|
85
|
+
* ```
|
|
86
|
+
*
|
|
87
|
+
* @param rpc - The RPC user operation to convert.
|
|
88
|
+
* @returns An instantiated {@link ox#UserOperation.UserOperation}.
|
|
89
|
+
*/
|
|
90
|
+
export function fromRpc(rpc) {
|
|
91
|
+
return {
|
|
92
|
+
...rpc,
|
|
93
|
+
callGasLimit: BigInt(rpc.callGasLimit),
|
|
94
|
+
maxFeePerGas: BigInt(rpc.maxFeePerGas),
|
|
95
|
+
maxPriorityFeePerGas: BigInt(rpc.maxPriorityFeePerGas),
|
|
96
|
+
nonce: BigInt(rpc.nonce),
|
|
97
|
+
preVerificationGas: BigInt(rpc.preVerificationGas),
|
|
98
|
+
verificationGasLimit: BigInt(rpc.verificationGasLimit),
|
|
99
|
+
...(rpc.paymasterPostOpGasLimit && {
|
|
100
|
+
paymasterPostOpGasLimit: BigInt(rpc.paymasterPostOpGasLimit),
|
|
101
|
+
}),
|
|
102
|
+
...(rpc.paymasterVerificationGasLimit && {
|
|
103
|
+
paymasterVerificationGasLimit: BigInt(rpc.paymasterVerificationGasLimit),
|
|
104
|
+
}),
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Obtains the signing payload for a {@link ox#UserOperation.UserOperation}.
|
|
109
|
+
*
|
|
110
|
+
* @example
|
|
111
|
+
* ```ts twoslash
|
|
112
|
+
* import { Secp256k1, Value } from 'ox'
|
|
113
|
+
* import { UserOperation } from 'ox/erc4337'
|
|
114
|
+
*
|
|
115
|
+
* const userOperation = UserOperation.from({
|
|
116
|
+
* callData: '0xdeadbeef',
|
|
117
|
+
* callGasLimit: 300_000n,
|
|
118
|
+
* maxFeePerGas: Value.fromGwei('20'),
|
|
119
|
+
* maxPriorityFeePerGas: Value.fromGwei('2'),
|
|
120
|
+
* nonce: 69n,
|
|
121
|
+
* preVerificationGas: 100_000n,
|
|
122
|
+
* sender: '0x9f1fdab6458c5fc642fa0f4c5af7473c46837357',
|
|
123
|
+
* verificationGasLimit: 100_000n,
|
|
124
|
+
* })
|
|
125
|
+
*
|
|
126
|
+
* const payload = UserOperation.getSignPayload(userOperation, { // [!code focus]
|
|
127
|
+
* chainId: 1, // [!code focus]
|
|
128
|
+
* entryPointAddress: '0x1234567890123456789012345678901234567890', // [!code focus]
|
|
129
|
+
* entryPointVersion: '0.6', // [!code focus]
|
|
130
|
+
* }) // [!code focus]
|
|
131
|
+
*
|
|
132
|
+
* const signature = Secp256k1.sign({ payload, privateKey: '0x...' })
|
|
133
|
+
* ```
|
|
134
|
+
*
|
|
135
|
+
* @param userOperation - The user operation to get the sign payload for.
|
|
136
|
+
* @returns The signing payload for the user operation.
|
|
137
|
+
*/
|
|
138
|
+
export function getSignPayload(userOperation, options) {
|
|
139
|
+
return hash(userOperation, options);
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Hashes a {@link ox#UserOperation.UserOperation}. This is the "user operation hash".
|
|
143
|
+
*
|
|
144
|
+
* @example
|
|
145
|
+
* ```ts twoslash
|
|
146
|
+
* import { Value } from 'ox'
|
|
147
|
+
* import { UserOperation } from 'ox/erc4337'
|
|
148
|
+
*
|
|
149
|
+
* const userOperation = UserOperation.hash({
|
|
150
|
+
* callData: '0xdeadbeef',
|
|
151
|
+
* callGasLimit: 300_000n,
|
|
152
|
+
* maxFeePerGas: Value.fromGwei('20'),
|
|
153
|
+
* maxPriorityFeePerGas: Value.fromGwei('2'),
|
|
154
|
+
* nonce: 69n,
|
|
155
|
+
* preVerificationGas: 100_000n,
|
|
156
|
+
* sender: '0x9f1fdab6458c5fc642fa0f4c5af7473c46837357',
|
|
157
|
+
* verificationGasLimit: 100_000n,
|
|
158
|
+
* }, {
|
|
159
|
+
* chainId: 1,
|
|
160
|
+
* entryPointAddress: '0x1234567890123456789012345678901234567890',
|
|
161
|
+
* entryPointVersion: '0.6',
|
|
162
|
+
* })
|
|
163
|
+
* ```
|
|
164
|
+
*
|
|
165
|
+
* @param userOperation - The user operation to hash.
|
|
166
|
+
* @returns The hash of the user operation.
|
|
167
|
+
*/
|
|
168
|
+
export function hash(userOperation, options) {
|
|
169
|
+
const { chainId, entryPointAddress, entryPointVersion } = options;
|
|
170
|
+
const { callData, callGasLimit, initCode, factory, factoryData, maxFeePerGas, maxPriorityFeePerGas, nonce, paymaster, paymasterAndData, paymasterData, paymasterPostOpGasLimit, paymasterVerificationGasLimit, preVerificationGas, sender, verificationGasLimit, } = userOperation;
|
|
171
|
+
const packedUserOp = (() => {
|
|
172
|
+
if (entryPointVersion === '0.6') {
|
|
173
|
+
return AbiParameters.encode([
|
|
174
|
+
{ type: 'address' },
|
|
175
|
+
{ type: 'uint256' },
|
|
176
|
+
{ type: 'bytes32' },
|
|
177
|
+
{ type: 'bytes32' },
|
|
178
|
+
{ type: 'uint256' },
|
|
179
|
+
{ type: 'uint256' },
|
|
180
|
+
{ type: 'uint256' },
|
|
181
|
+
{ type: 'uint256' },
|
|
182
|
+
{ type: 'uint256' },
|
|
183
|
+
{ type: 'bytes32' },
|
|
184
|
+
], [
|
|
185
|
+
sender,
|
|
186
|
+
nonce,
|
|
187
|
+
Hash.keccak256(initCode ?? '0x'),
|
|
188
|
+
Hash.keccak256(callData),
|
|
189
|
+
callGasLimit,
|
|
190
|
+
verificationGasLimit,
|
|
191
|
+
preVerificationGas,
|
|
192
|
+
maxFeePerGas,
|
|
193
|
+
maxPriorityFeePerGas,
|
|
194
|
+
Hash.keccak256(paymasterAndData ?? '0x'),
|
|
195
|
+
]);
|
|
196
|
+
}
|
|
197
|
+
if (entryPointVersion === '0.7') {
|
|
198
|
+
const accountGasLimits = Hex.concat(Hex.padLeft(Hex.fromNumber(verificationGasLimit), 16), Hex.padLeft(Hex.fromNumber(callGasLimit), 16));
|
|
199
|
+
const gasFees = Hex.concat(Hex.padLeft(Hex.fromNumber(maxPriorityFeePerGas), 16), Hex.padLeft(Hex.fromNumber(maxFeePerGas), 16));
|
|
200
|
+
const initCode_hashed = Hash.keccak256(factory && factoryData ? Hex.concat(factory, factoryData) : '0x');
|
|
201
|
+
const paymasterAndData_hashed = Hash.keccak256(paymaster
|
|
202
|
+
? Hex.concat(paymaster, Hex.padLeft(Hex.fromNumber(paymasterVerificationGasLimit || 0), 16), Hex.padLeft(Hex.fromNumber(paymasterPostOpGasLimit || 0), 16), paymasterData || '0x')
|
|
203
|
+
: '0x');
|
|
204
|
+
return AbiParameters.encode([
|
|
205
|
+
{ type: 'address' },
|
|
206
|
+
{ type: 'uint256' },
|
|
207
|
+
{ type: 'bytes32' },
|
|
208
|
+
{ type: 'bytes32' },
|
|
209
|
+
{ type: 'bytes32' },
|
|
210
|
+
{ type: 'uint256' },
|
|
211
|
+
{ type: 'bytes32' },
|
|
212
|
+
{ type: 'bytes32' },
|
|
213
|
+
], [
|
|
214
|
+
sender,
|
|
215
|
+
nonce,
|
|
216
|
+
initCode_hashed,
|
|
217
|
+
Hash.keccak256(callData),
|
|
218
|
+
accountGasLimits,
|
|
219
|
+
preVerificationGas,
|
|
220
|
+
gasFees,
|
|
221
|
+
paymasterAndData_hashed,
|
|
222
|
+
]);
|
|
223
|
+
}
|
|
224
|
+
throw new Error(`entryPointVersion "${entryPointVersion}" not supported.`);
|
|
225
|
+
})();
|
|
226
|
+
return Hash.keccak256(AbiParameters.encode([{ type: 'bytes32' }, { type: 'address' }, { type: 'uint256' }], [Hash.keccak256(packedUserOp), entryPointAddress, BigInt(chainId)]));
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Transforms a User Operation into "packed" format.
|
|
230
|
+
*
|
|
231
|
+
* @example
|
|
232
|
+
* ```ts twoslash
|
|
233
|
+
* import { Value } from 'ox'
|
|
234
|
+
* import { UserOperation } from 'ox/erc4337'
|
|
235
|
+
*
|
|
236
|
+
* const packed = UserOperation.toPacked({
|
|
237
|
+
* callData: '0xdeadbeef',
|
|
238
|
+
* callGasLimit: 300_000n,
|
|
239
|
+
* maxFeePerGas: Value.fromGwei('20'),
|
|
240
|
+
* maxPriorityFeePerGas: Value.fromGwei('2'),
|
|
241
|
+
* nonce: 69n,
|
|
242
|
+
* preVerificationGas: 100_000n,
|
|
243
|
+
* sender: '0x9f1fdab6458c5fc642fa0f4c5af7473c46837357',
|
|
244
|
+
* signature: '0x...',
|
|
245
|
+
* verificationGasLimit: 100_000n,
|
|
246
|
+
* })
|
|
247
|
+
* ```
|
|
248
|
+
*
|
|
249
|
+
* @param userOperation - The user operation to transform.
|
|
250
|
+
* @returns The packed user operation.
|
|
251
|
+
*/
|
|
252
|
+
export function toPacked(userOperation) {
|
|
253
|
+
const { callGasLimit, callData, factory, factoryData, maxPriorityFeePerGas, maxFeePerGas, nonce, paymaster, paymasterData, paymasterPostOpGasLimit, paymasterVerificationGasLimit, sender, signature, verificationGasLimit, } = userOperation;
|
|
254
|
+
const accountGasLimits = Hex.concat(Hex.padLeft(Hex.fromNumber(verificationGasLimit || 0n), 16), Hex.padLeft(Hex.fromNumber(callGasLimit || 0n), 16));
|
|
255
|
+
const initCode = factory && factoryData ? Hex.concat(factory, factoryData) : '0x';
|
|
256
|
+
const gasFees = Hex.concat(Hex.padLeft(Hex.fromNumber(maxPriorityFeePerGas || 0n), 16), Hex.padLeft(Hex.fromNumber(maxFeePerGas || 0n), 16));
|
|
257
|
+
const paymasterAndData = paymaster
|
|
258
|
+
? Hex.concat(paymaster, Hex.padLeft(Hex.fromNumber(paymasterVerificationGasLimit || 0n), 16), Hex.padLeft(Hex.fromNumber(paymasterPostOpGasLimit || 0n), 16), paymasterData || '0x')
|
|
259
|
+
: '0x';
|
|
260
|
+
const preVerificationGas = userOperation.preVerificationGas ?? 0n;
|
|
261
|
+
return {
|
|
262
|
+
accountGasLimits,
|
|
263
|
+
callData,
|
|
264
|
+
initCode,
|
|
265
|
+
gasFees,
|
|
266
|
+
nonce,
|
|
267
|
+
paymasterAndData,
|
|
268
|
+
preVerificationGas,
|
|
269
|
+
sender,
|
|
270
|
+
signature,
|
|
271
|
+
};
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* Converts a {@link ox#UserOperation.UserOperation} to a {@link ox#UserOperation.Rpc}.
|
|
275
|
+
*
|
|
276
|
+
* @example
|
|
277
|
+
* ```ts twoslash
|
|
278
|
+
* import { Value } from 'ox'
|
|
279
|
+
* import { UserOperation } from 'ox/erc4337'
|
|
280
|
+
*
|
|
281
|
+
* const userOperation = UserOperation.toRpc({
|
|
282
|
+
* callData: '0xdeadbeef',
|
|
283
|
+
* callGasLimit: 300_000n,
|
|
284
|
+
* maxFeePerGas: Value.fromGwei('20'),
|
|
285
|
+
* maxPriorityFeePerGas: Value.fromGwei('2'),
|
|
286
|
+
* nonce: 69n,
|
|
287
|
+
* preVerificationGas: 100_000n,
|
|
288
|
+
* sender: '0x9f1fdab6458c5fc642fa0f4c5af7473c46837357',
|
|
289
|
+
* verificationGasLimit: 100_000n,
|
|
290
|
+
* })
|
|
291
|
+
* ```
|
|
292
|
+
*
|
|
293
|
+
* @param userOperation - The user operation to convert.
|
|
294
|
+
* @returns An RPC-formatted user operation.
|
|
295
|
+
*/
|
|
296
|
+
export function toRpc(userOperation) {
|
|
297
|
+
const rpc = {};
|
|
298
|
+
rpc.callData = userOperation.callData;
|
|
299
|
+
rpc.callGasLimit = Hex.fromNumber(userOperation.callGasLimit);
|
|
300
|
+
rpc.maxFeePerGas = Hex.fromNumber(userOperation.maxFeePerGas);
|
|
301
|
+
rpc.maxPriorityFeePerGas = Hex.fromNumber(userOperation.maxPriorityFeePerGas);
|
|
302
|
+
rpc.nonce = Hex.fromNumber(userOperation.nonce);
|
|
303
|
+
rpc.preVerificationGas = Hex.fromNumber(userOperation.preVerificationGas);
|
|
304
|
+
rpc.sender = userOperation.sender;
|
|
305
|
+
rpc.verificationGasLimit = Hex.fromNumber(userOperation.verificationGasLimit);
|
|
306
|
+
if (userOperation.factory)
|
|
307
|
+
rpc.factory = userOperation.factory;
|
|
308
|
+
if (userOperation.factoryData)
|
|
309
|
+
rpc.factoryData = userOperation.factoryData;
|
|
310
|
+
if (userOperation.initCode)
|
|
311
|
+
rpc.initCode = userOperation.initCode;
|
|
312
|
+
if (userOperation.paymaster)
|
|
313
|
+
rpc.paymaster = userOperation.paymaster;
|
|
314
|
+
if (userOperation.paymasterData)
|
|
315
|
+
rpc.paymasterData = userOperation.paymasterData;
|
|
316
|
+
if (typeof userOperation.paymasterPostOpGasLimit === 'bigint')
|
|
317
|
+
rpc.paymasterPostOpGasLimit = Hex.fromNumber(userOperation.paymasterPostOpGasLimit);
|
|
318
|
+
if (typeof userOperation.paymasterVerificationGasLimit === 'bigint')
|
|
319
|
+
rpc.paymasterVerificationGasLimit = Hex.fromNumber(userOperation.paymasterVerificationGasLimit);
|
|
320
|
+
if (userOperation.signature)
|
|
321
|
+
rpc.signature = userOperation.signature;
|
|
322
|
+
return rpc;
|
|
323
|
+
}
|
|
324
|
+
//# sourceMappingURL=UserOperation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserOperation.js","sourceRoot":"","sources":["../../erc4337/UserOperation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import * as Hex from '../core/Hex.js';
|
|
2
|
+
/**
|
|
3
|
+
* Converts an {@link ox#UserOperationGas.Rpc} to an {@link ox#UserOperationGas.UserOperationGas}.
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* ```ts twoslash
|
|
7
|
+
* import { UserOperationGas } from 'ox/erc4337'
|
|
8
|
+
*
|
|
9
|
+
* const userOperationGas = UserOperationGas.fromRpc({
|
|
10
|
+
* callGasLimit: '0x69420',
|
|
11
|
+
* preVerificationGas: '0x69420',
|
|
12
|
+
* verificationGasLimit: '0x69420',
|
|
13
|
+
* })
|
|
14
|
+
* ```
|
|
15
|
+
*
|
|
16
|
+
* @param rpc - The RPC user operation gas to convert.
|
|
17
|
+
* @returns An instantiated {@link ox#UserOperationGas.UserOperationGas}.
|
|
18
|
+
*/
|
|
19
|
+
export function fromRpc(rpc) {
|
|
20
|
+
return {
|
|
21
|
+
...rpc,
|
|
22
|
+
callGasLimit: BigInt(rpc.callGasLimit),
|
|
23
|
+
preVerificationGas: BigInt(rpc.preVerificationGas),
|
|
24
|
+
verificationGasLimit: BigInt(rpc.verificationGasLimit),
|
|
25
|
+
...(rpc.paymasterVerificationGasLimit && {
|
|
26
|
+
paymasterVerificationGasLimit: BigInt(rpc.paymasterVerificationGasLimit),
|
|
27
|
+
}),
|
|
28
|
+
...(rpc.paymasterPostOpGasLimit && {
|
|
29
|
+
paymasterPostOpGasLimit: BigInt(rpc.paymasterPostOpGasLimit),
|
|
30
|
+
}),
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Converts a {@link ox#UserOperationGas.UserOperationGas} to a {@link ox#UserOperationGas.Rpc}.
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* ```ts twoslash
|
|
38
|
+
* import { UserOperationGas } from 'ox/erc4337'
|
|
39
|
+
*
|
|
40
|
+
* const userOperationGas = UserOperationGas.toRpc({
|
|
41
|
+
* callGasLimit: 300_000n,
|
|
42
|
+
* preVerificationGas: 100_000n,
|
|
43
|
+
* verificationGasLimit: 100_000n,
|
|
44
|
+
* })
|
|
45
|
+
* ```
|
|
46
|
+
*
|
|
47
|
+
* @param userOperationGas - The user operation gas to convert.
|
|
48
|
+
* @returns An RPC-formatted user operation gas.
|
|
49
|
+
*/
|
|
50
|
+
export function toRpc(userOperationGas) {
|
|
51
|
+
const rpc = {};
|
|
52
|
+
rpc.callGasLimit = Hex.fromNumber(userOperationGas.callGasLimit);
|
|
53
|
+
rpc.preVerificationGas = Hex.fromNumber(userOperationGas.preVerificationGas);
|
|
54
|
+
rpc.verificationGasLimit = Hex.fromNumber(userOperationGas.verificationGasLimit);
|
|
55
|
+
if (typeof userOperationGas.paymasterVerificationGasLimit === 'bigint')
|
|
56
|
+
rpc.paymasterVerificationGasLimit = Hex.fromNumber(userOperationGas.paymasterVerificationGasLimit);
|
|
57
|
+
if (typeof userOperationGas.paymasterPostOpGasLimit === 'bigint')
|
|
58
|
+
rpc.paymasterPostOpGasLimit = Hex.fromNumber(userOperationGas.paymasterPostOpGasLimit);
|
|
59
|
+
return rpc;
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=UserOperationGas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserOperationGas.js","sourceRoot":"","sources":["../../erc4337/UserOperationGas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAA;AAwCrC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,OAAO,CAAC,GAAQ;IAC9B,OAAO;QACL,GAAG,GAAG;QACN,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC;QACtC,kBAAkB,EAAE,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC;QAClD,oBAAoB,EAAE,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC;QACtD,GAAG,CAAC,GAAG,CAAC,6BAA6B,IAAI;YACvC,6BAA6B,EAAE,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC;SACzE,CAAC;QACF,GAAG,CAAC,GAAG,CAAC,uBAAuB,IAAI;YACjC,uBAAuB,EAAE,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC;SAC7D,CAAC;KACiB,CAAA;AACvB,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,KAAK,CAAC,gBAAkC;IACtD,MAAM,GAAG,GAAG,EAAS,CAAA;IAErB,GAAG,CAAC,YAAY,GAAG,GAAG,CAAC,UAAU,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAA;IAChE,GAAG,CAAC,kBAAkB,GAAG,GAAG,CAAC,UAAU,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAA;IAC5E,GAAG,CAAC,oBAAoB,GAAG,GAAG,CAAC,UAAU,CACvC,gBAAgB,CAAC,oBAAoB,CACtC,CAAA;IAED,IAAI,OAAO,gBAAgB,CAAC,6BAA6B,KAAK,QAAQ;QACpE,GAAG,CAAC,6BAA6B,GAAG,GAAG,CAAC,UAAU,CAChD,gBAAgB,CAAC,6BAA6B,CAC/C,CAAA;IACH,IAAI,OAAO,gBAAgB,CAAC,uBAAuB,KAAK,QAAQ;QAC9D,GAAG,CAAC,uBAAuB,GAAG,GAAG,CAAC,UAAU,CAC1C,gBAAgB,CAAC,uBAAuB,CACzC,CAAA;IAEH,OAAO,GAAG,CAAA;AACZ,CAAC"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import * as Hex from '../core/Hex.js';
|
|
2
|
+
import * as Log from '../core/Log.js';
|
|
3
|
+
import * as TransactionReceipt from '../core/TransactionReceipt.js';
|
|
4
|
+
/**
|
|
5
|
+
* Converts an {@link ox#UserOperationReceipt.Rpc} to an {@link ox#UserOperationReceipt.UserOperationReceipt}.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```ts twoslash
|
|
9
|
+
* // @noErrors
|
|
10
|
+
* import { UserOperationReceipt } from 'ox/erc4337'
|
|
11
|
+
*
|
|
12
|
+
* const userOperationReceipt = UserOperationReceipt.fromRpc({
|
|
13
|
+
* actualGasCost: '0x1',
|
|
14
|
+
* actualGasUsed: '0x2',
|
|
15
|
+
* entryPoint: '0x0000000071727de22e5e9d8baf0edac6f37da032',
|
|
16
|
+
* logs: [],
|
|
17
|
+
* nonce: '0x1',
|
|
18
|
+
* receipt: { ... },
|
|
19
|
+
* sender: '0xE911628bF8428C23f179a07b081325cAe376DE1f',
|
|
20
|
+
* success: true,
|
|
21
|
+
* userOpHash: '0x5ab163e9b2f30549274c7c567ca0696edf9ef1aa476d9784d22974468fdb24d8',
|
|
22
|
+
* })
|
|
23
|
+
* ```
|
|
24
|
+
*
|
|
25
|
+
* @param rpc - The RPC user operation receipt to convert.
|
|
26
|
+
* @returns An instantiated {@link ox#UserOperationReceipt.UserOperationReceipt}.
|
|
27
|
+
*/
|
|
28
|
+
export function fromRpc(rpc) {
|
|
29
|
+
return {
|
|
30
|
+
...rpc,
|
|
31
|
+
actualGasCost: BigInt(rpc.actualGasCost),
|
|
32
|
+
actualGasUsed: BigInt(rpc.actualGasUsed),
|
|
33
|
+
logs: rpc.logs.map((log) => Log.fromRpc(log)),
|
|
34
|
+
nonce: BigInt(rpc.nonce),
|
|
35
|
+
receipt: TransactionReceipt.fromRpc(rpc.receipt),
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Converts a {@link ox#UserOperationReceipt.UserOperationReceipt} to a {@link ox#UserOperationReceipt.Rpc}.
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* ```ts twoslash
|
|
43
|
+
* // @noErrors
|
|
44
|
+
* import { UserOperationReceipt } from 'ox/erc4337'
|
|
45
|
+
*
|
|
46
|
+
* const userOperationReceipt = UserOperationReceipt.toRpc({
|
|
47
|
+
* actualGasCost: 1n,
|
|
48
|
+
* actualGasUsed: 2n,
|
|
49
|
+
* entryPoint: '0x0000000071727de22e5e9d8baf0edac6f37da032',
|
|
50
|
+
* logs: [],
|
|
51
|
+
* nonce: 1n,
|
|
52
|
+
* receipt: { ... },
|
|
53
|
+
* sender: '0xE911628bF8428C23f179a07b081325cAe376DE1f',
|
|
54
|
+
* success: true,
|
|
55
|
+
* userOpHash: '0x5ab163e9b2f30549274c7c567ca0696edf9ef1aa476d9784d22974468fdb24d8',
|
|
56
|
+
* })
|
|
57
|
+
* ```
|
|
58
|
+
*
|
|
59
|
+
* @param userOperationReceipt - The user operation receipt to convert.
|
|
60
|
+
* @returns An RPC-formatted user operation receipt.
|
|
61
|
+
*/
|
|
62
|
+
export function toRpc(userOperationReceipt) {
|
|
63
|
+
const rpc = {};
|
|
64
|
+
rpc.actualGasCost = Hex.fromNumber(userOperationReceipt.actualGasCost);
|
|
65
|
+
rpc.actualGasUsed = Hex.fromNumber(userOperationReceipt.actualGasUsed);
|
|
66
|
+
rpc.entryPoint = userOperationReceipt.entryPoint;
|
|
67
|
+
rpc.logs = userOperationReceipt.logs.map((log) => Log.toRpc(log));
|
|
68
|
+
rpc.nonce = Hex.fromNumber(userOperationReceipt.nonce);
|
|
69
|
+
rpc.receipt = TransactionReceipt.toRpc(userOperationReceipt.receipt);
|
|
70
|
+
rpc.sender = userOperationReceipt.sender;
|
|
71
|
+
rpc.success = userOperationReceipt.success;
|
|
72
|
+
rpc.userOpHash = userOperationReceipt.userOpHash;
|
|
73
|
+
if (userOperationReceipt.paymaster)
|
|
74
|
+
rpc.paymaster = userOperationReceipt.paymaster;
|
|
75
|
+
if (userOperationReceipt.reason)
|
|
76
|
+
rpc.reason = userOperationReceipt.reason;
|
|
77
|
+
return rpc;
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=UserOperationReceipt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserOperationReceipt.js","sourceRoot":"","sources":["../../erc4337/UserOperationReceipt.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAA;AACrC,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAA;AACrC,OAAO,KAAK,kBAAkB,MAAM,+BAA+B,CAAA;AA0DnE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,OAAO,CAAC,GAAQ;IAC9B,OAAO;QACL,GAAG,GAAG;QACN,aAAa,EAAE,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC;QACxC,aAAa,EAAE,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC;QACxC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC7C,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;QACxB,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;KACzB,CAAA;AAC3B,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,KAAK,CAAC,oBAA0C;IAC9D,MAAM,GAAG,GAAG,EAAS,CAAA;IAErB,GAAG,CAAC,aAAa,GAAG,GAAG,CAAC,UAAU,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAA;IACtE,GAAG,CAAC,aAAa,GAAG,GAAG,CAAC,UAAU,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAA;IACtE,GAAG,CAAC,UAAU,GAAG,oBAAoB,CAAC,UAAU,CAAA;IAChD,GAAG,CAAC,IAAI,GAAG,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;IACjE,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,UAAU,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAA;IACtD,GAAG,CAAC,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAA;IACpE,GAAG,CAAC,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAA;IACxC,GAAG,CAAC,OAAO,GAAG,oBAAoB,CAAC,OAAO,CAAA;IAC1C,GAAG,CAAC,UAAU,GAAG,oBAAoB,CAAC,UAAU,CAAA;IAEhD,IAAI,oBAAoB,CAAC,SAAS;QAChC,GAAG,CAAC,SAAS,GAAG,oBAAoB,CAAC,SAAS,CAAA;IAChD,IAAI,oBAAoB,CAAC,MAAM;QAAE,GAAG,CAAC,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAA;IAEzE,OAAO,GAAG,CAAA;AACZ,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utility functions and types for working with [ERC-4337 EntryPoints](https://eips.ethereum.org/EIPS/eip-4337).
|
|
3
|
+
*
|
|
4
|
+
* @category ERC-4337
|
|
5
|
+
*/
|
|
6
|
+
export * as EntryPoint from './EntryPoint.js';
|
|
7
|
+
/**
|
|
8
|
+
* Utility types for working with ERC-4337 JSON-RPC schemas.
|
|
9
|
+
*
|
|
10
|
+
* @category ERC-4337
|
|
11
|
+
*/
|
|
12
|
+
export * as RpcSchema from './RpcSchema.js';
|
|
13
|
+
/**
|
|
14
|
+
* Utility functions and types for working with [ERC-4337 User Operations](https://eips.ethereum.org/EIPS/eip-4337).
|
|
15
|
+
*
|
|
16
|
+
* @category ERC-4337
|
|
17
|
+
*/
|
|
18
|
+
export * as UserOperation from './UserOperation.js';
|
|
19
|
+
/**
|
|
20
|
+
* Utility functions and types for working with [ERC-4337 User Operation Gas](https://eips.ethereum.org/EIPS/eip-4337).
|
|
21
|
+
*
|
|
22
|
+
* @category ERC-4337
|
|
23
|
+
*/
|
|
24
|
+
export * as UserOperationGas from './UserOperationGas.js';
|
|
25
|
+
/**
|
|
26
|
+
* Utility functions and types for working with [ERC-4337 User Operation Receipts](https://eips.ethereum.org/EIPS/eip-4337).
|
|
27
|
+
*
|
|
28
|
+
* @category ERC-4337
|
|
29
|
+
*/
|
|
30
|
+
export * as UserOperationReceipt from './UserOperationReceipt.js';
|
|
31
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../erc4337/index.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;;;GAIG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C;;;;GAIG;AACH,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AAEnD;;;;GAIG;AACH,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAA;AAEzD;;;;GAIG;AACH,OAAO,KAAK,oBAAoB,MAAM,2BAA2B,CAAA"}
|
package/_esm/index.docs.js
CHANGED
package/_esm/index.docs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.docs.js","sourceRoot":"","sources":["../index.docs.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,2FAA2F;AAC3F,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.docs.js","sourceRoot":"","sources":["../index.docs.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,2FAA2F;AAC3F,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA"}
|
package/_esm/version.js
CHANGED