@pimlico/mock-paymaster 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/_cjs/helpers/abi.js +1049 -0
  3. package/_cjs/helpers/abi.js.map +1 -0
  4. package/_cjs/helpers/erc20-utils.js +52 -0
  5. package/_cjs/helpers/erc20-utils.js.map +1 -0
  6. package/_cjs/helpers/schema.js +263 -0
  7. package/_cjs/helpers/schema.js.map +1 -0
  8. package/_cjs/helpers/utils.js +38 -0
  9. package/_cjs/helpers/utils.js.map +1 -0
  10. package/_cjs/index.js +55 -0
  11. package/_cjs/index.js.map +1 -0
  12. package/_cjs/package.json +1 -0
  13. package/_cjs/relay.js +250 -0
  14. package/_cjs/relay.js.map +1 -0
  15. package/_cjs/singletonPaymasters.js +266 -0
  16. package/_cjs/singletonPaymasters.js.map +1 -0
  17. package/_esm/helpers/abi.js +1046 -0
  18. package/_esm/helpers/abi.js.map +1 -0
  19. package/_esm/helpers/erc20-utils.js +46 -0
  20. package/_esm/helpers/erc20-utils.js.map +1 -0
  21. package/_esm/helpers/schema.js +260 -0
  22. package/_esm/helpers/schema.js.map +1 -0
  23. package/_esm/helpers/utils.js +39 -0
  24. package/_esm/helpers/utils.js.map +1 -0
  25. package/_esm/index.js +52 -0
  26. package/_esm/index.js.map +1 -0
  27. package/_esm/package.json +1 -0
  28. package/_esm/relay.js +249 -0
  29. package/_esm/relay.js.map +1 -0
  30. package/_esm/singletonPaymasters.js +263 -0
  31. package/_esm/singletonPaymasters.js.map +1 -0
  32. package/_types/helpers/abi.d.ts +977 -0
  33. package/_types/helpers/abi.d.ts.map +1 -0
  34. package/_types/helpers/erc20-utils.d.ts +10 -0
  35. package/_types/helpers/erc20-utils.d.ts.map +1 -0
  36. package/_types/helpers/schema.d.ts +1091 -0
  37. package/_types/helpers/schema.d.ts.map +1 -0
  38. package/_types/helpers/utils.d.ts +15 -0
  39. package/_types/helpers/utils.d.ts.map +1 -0
  40. package/_types/index.d.ts +6 -0
  41. package/_types/index.d.ts.map +1 -0
  42. package/_types/relay.d.ts +86 -0
  43. package/_types/relay.d.ts.map +1 -0
  44. package/_types/singletonPaymasters.d.ts +93267 -0
  45. package/_types/singletonPaymasters.d.ts.map +1 -0
  46. package/helpers/abi.ts +1046 -0
  47. package/helpers/erc20-utils.ts +80 -0
  48. package/helpers/schema.ts +272 -0
  49. package/helpers/utils.ts +77 -0
  50. package/index.ts +78 -0
  51. package/package.json +38 -0
  52. package/relay.ts +430 -0
  53. package/singletonPaymasters.ts +381 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abi.js","sourceRoot":"","sources":["../../helpers/abi.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ import { concat, encodeFunctionData, getCreate2Address, hexToBigInt, pad, parseAbi, toHex } from "viem";
2
+ import { getAnvilWalletClient, getPublicClient } from "./utils.js";
3
+ const ERC20_BYTECODE = concat([
4
+ "0x60a060405234801561001057600080fd5b50604051610ff0380380610ff083398101604081905261002f9161022c565b6040518060400160405280600981526020016805465737445524332360bc1b8152506040518060400160405280600381526020016205432360ec1b815250816003908161007c919061034d565b506004610089828261034d565b5050506100a63369d3c21bcecceda10000006100b160201b60201c565b60ff166080526104a3565b6001600160a01b0382166100e457600060405163ec442f0560e01b81526004016100db9190610430565b60405180910390fd5b6100f0600083836100f4565b5050565b6001600160a01b03831661011f5780600260008282546101149190610454565b9091555061017e9050565b6001600160a01b0383166000908152602081905260409020548181101561015f5783818360405163391434e360e21b81526004016100db9392919061046d565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b03821661019a576002805482900390556101b9565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516101fc9190610495565b60405180910390a3505050565b60ff8116811461021857600080fd5b50565b805161022681610209565b92915050565b60006020828403121561024157610241600080fd5b600061024d848461021b565b949350505050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052602260045260246000fd5b60028104600182168061029557607f821691505b6020821081036102a7576102a761026b565b50919050565b60006102266102b98381565b90565b6102c5836102ad565b815460001960089490940293841b1916921b91909117905550565b60006102ed8184846102bc565b505050565b818110156100f0576103056000826102e0565b6001016102f2565b601f8211156102ed576000818152602090206020601f850104810160208510156103345750805b6103466020601f8601048301826102f2565b5050505050565b81516001600160401b0381111561036657610366610255565b6103708254610281565b61037b82828561030d565b6020601f8311600181146103af57600084156103975750858201515b600019600886021c1981166002860217865550610408565b600085815260208120601f198616915b828110156103df57888501518255602094850194600190920191016103bf565b868310156103fb5784890151600019601f89166008021c191682555b6001600288020188555050505b505050505050565b60006001600160a01b038216610226565b61042a81610410565b82525050565b602081016102268284610421565b634e487b7160e01b600052601160045260246000fd5b808201808211156102265761022661043e565b8061042a565b6060810161047b8286610421565b6104886020830185610467565b61024d6040830184610467565b602081016102268284610467565b608051610b326104be60003960006101650152610b326000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c8063313ce56711610081578063a9059cbb1161005b578063a9059cbb146101cf578063dd62ed3e146101e2578063fb4dcefa1461022857600080fd5b8063313ce5671461016357806370a082311461019157806395d89b41146101c757600080fd5b806318160ddd116100b257806318160ddd1461012c57806323b872dd1461013d5780632d688ca81461015057600080fd5b806305ea5c22146100d957806306fdde03146100ee578063095ea7b31461010c575b600080fd5b6100ec6100e7366004610868565b61023b565b005b6100f661024b565b604051610103919061092c565b60405180910390f35b61011f61011a366004610944565b6102dd565b604051610103919061098b565b6002545b604051610103919061099f565b61011f61014b366004610868565b6102f7565b6100ec61015e366004610944565b61031b565b7f000000000000000000000000000000000000000000000000000000000000000060405161010391906109b6565b61013061019f3660046109c4565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6100f6610329565b61011f6101dd366004610944565b610338565b6101306101f03660046109ed565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b6100ec6102363660046109ed565b610346565b61024683838361037c565b505050565b60606003805461025a90610a4f565b80601f016020809104026020016040519081016040528092919081815260200182805461028690610a4f565b80156102d35780601f106102a8576101008083540402835291602001916102d3565b820191906000526020600020905b8154815290600101906020018083116102b657829003601f168201915b5050505050905090565b6000336102eb81858561037c565b60019150505b92915050565b600033610305858285610389565b610310858585610441565b506001949350505050565b61032582826104ec565b5050565b60606004805461025a90610a4f565b6000336102eb818585610441565b61032582826103778573ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b610441565b6102468383836001610548565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461043b578181101561042c578281836040517ffb8f41b200000000000000000000000000000000000000000000000000000000815260040161042393929190610a84565b60405180910390fd5b61043b84848484036000610548565b50505050565b73ffffffffffffffffffffffffffffffffffffffff83166104915760006040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081526004016104239190610aac565b73ffffffffffffffffffffffffffffffffffffffff82166104e15760006040517fec442f050000000000000000000000000000000000000000000000000000000081526004016104239190610aac565b61024683838361068e565b73ffffffffffffffffffffffffffffffffffffffff821661053c5760006040517fec442f050000000000000000000000000000000000000000000000000000000081526004016104239190610aac565b6103256000838361068e565b73ffffffffffffffffffffffffffffffffffffffff84166105985760006040517fe602df050000000000000000000000000000000000000000000000000000000081526004016104239190610aac565b73ffffffffffffffffffffffffffffffffffffffff83166105e85760006040517f94280d620000000000000000000000000000000000000000000000000000000081526004016104239190610aac565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160209081526040808320938716835292905220829055801561043b578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610680919061099f565b60405180910390a350505050565b73ffffffffffffffffffffffffffffffffffffffff83166106c65780600260008282546106bb9190610ae9565b909155506107589050565b73ffffffffffffffffffffffffffffffffffffffff83166000908152602081905260409020548181101561072c578381836040517fe450d38c00000000000000000000000000000000000000000000000000000000815260040161042393929190610a84565b73ffffffffffffffffffffffffffffffffffffffff841660009081526020819052604090209082900390555b73ffffffffffffffffffffffffffffffffffffffff8216610781576002805482900390556107ad565b73ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090208054820190555b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161080a919061099f565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff82166102f1565b61083e81610817565b811461084957600080fd5b50565b80356102f181610835565b8061083e565b80356102f181610857565b60008060006060848603121561088057610880600080fd5b600061088c868661084c565b935050602061089d8682870161084c565b92505060406108ae8682870161085d565b9150509250925092565b60005b838110156108d35781810151838201526020016108bb565b50506000910152565b60006108e6825190565b8084526020840193506108fd8185602086016108b8565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920192915050565b6020808252810161093d81846108dc565b9392505050565b6000806040838503121561095a5761095a600080fd5b6000610966858561084c565b92505060206109778582860161085d565b9150509250929050565b8015155b82525050565b602081016102f18284610981565b80610985565b602081016102f18284610999565b60ff8116610985565b602081016102f182846109ad565b6000602082840312156109d9576109d9600080fd5b60006109e5848461084c565b949350505050565b60008060408385031215610a0357610a03600080fd5b6000610a0f858561084c565b92505060206109778582860161084c565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600281046001821680610a6357607f821691505b602082108103610a7557610a75610a20565b50919050565b61098581610817565b60608101610a928286610a7b565b610a9f6020830185610999565b6109e56040830184610999565b602081016102f18284610a7b565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156102f1576102f1610aba56fea2646970667358221220d40f68e247510ec8b7876d327ac47b949de248d0626aaf2670151c5e84ee6b4a64736f6c634300081a0033",
5
+ pad(toHex(18n)) // constructor args (token_decimals)
6
+ ]);
7
+ export const deployErc20Token = async (walletClient, publicClient) => {
8
+ if ((await publicClient.getCode({ address: ERC20_ADDRESS })) === undefined) {
9
+ await walletClient.sendTransaction({
10
+ to: "0x4e59b44847b379578588920ca78fbf26c0b4956c",
11
+ data: concat([
12
+ "0x0000000000000000000000000000000000000000000000000000000000000000",
13
+ ERC20_BYTECODE
14
+ ])
15
+ });
16
+ }
17
+ };
18
+ export const tokenBalanceOf = async (holder, anvilRpc) => {
19
+ const publicClient = getPublicClient(anvilRpc);
20
+ const balance = await publicClient.call({
21
+ to: ERC20_ADDRESS,
22
+ value: 0n,
23
+ data: encodeFunctionData({
24
+ abi: parseAbi(["function balanceOf(address)"]),
25
+ args: [holder]
26
+ })
27
+ });
28
+ return hexToBigInt(balance.data ?? "0x");
29
+ };
30
+ export const sudoMintTokens = async ({ amount, to, anvilRpc }) => {
31
+ const walletClient = getAnvilWalletClient({ addressIndex: 0, anvilRpc });
32
+ await walletClient.sendTransaction({
33
+ to: ERC20_ADDRESS,
34
+ value: 0n,
35
+ data: encodeFunctionData({
36
+ abi: parseAbi(["function sudoMint(address, uint256)"]),
37
+ args: [to, amount]
38
+ })
39
+ });
40
+ };
41
+ export const ERC20_ADDRESS = getCreate2Address({
42
+ from: "0x4e59b44847b379578588920ca78fbf26c0b4956c",
43
+ salt: "0x0000000000000000000000000000000000000000000000000000000000000000",
44
+ bytecode: ERC20_BYTECODE
45
+ });
46
+ //# sourceMappingURL=erc20-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"erc20-utils.js","sourceRoot":"","sources":["../../helpers/erc20-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAOH,MAAM,EACN,kBAAkB,EAClB,iBAAiB,EACjB,WAAW,EACX,GAAG,EACH,QAAQ,EACR,KAAK,EACR,MAAM,MAAM,CAAA;AACb,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAElE,MAAM,cAAc,GAAG,MAAM,CAAC;IAC1B,o+PAAo+P;IACp+P,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,oCAAoC;CACvD,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EACjC,YAAqD,EACrD,YAA0B,EAC5B,EAAE;IACA,IACI,CAAC,MAAM,YAAY,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC,KAAK,SAAS,EACxE,CAAC;QACC,MAAM,YAAY,CAAC,eAAe,CAAC;YAC/B,EAAE,EAAE,4CAA4C;YAChD,IAAI,EAAE,MAAM,CAAC;gBACT,oEAAoE;gBACpE,cAAc;aACjB,CAAC;SACL,CAAC,CAAA;IACN,CAAC;AACL,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAAE,MAAe,EAAE,QAAgB,EAAE,EAAE;IACtE,MAAM,YAAY,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAA;IAE9C,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC;QACpC,EAAE,EAAE,aAAa;QACjB,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,kBAAkB,CAAC;YACrB,GAAG,EAAE,QAAQ,CAAC,CAAC,6BAA6B,CAAC,CAAC;YAC9C,IAAI,EAAE,CAAC,MAAM,CAAC;SACjB,CAAC;KACL,CAAC,CAAA;IAEF,OAAO,WAAW,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,CAAA;AAC5C,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAAE,EACjC,MAAM,EACN,EAAE,EACF,QAAQ,EAKX,EAAE,EAAE;IACD,MAAM,YAAY,GAAG,oBAAoB,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;IAExE,MAAM,YAAY,CAAC,eAAe,CAAC;QAC/B,EAAE,EAAE,aAAa;QACjB,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,kBAAkB,CAAC;YACrB,GAAG,EAAE,QAAQ,CAAC,CAAC,qCAAqC,CAAC,CAAC;YACtD,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC;SACrB,CAAC;KACL,CAAC,CAAA;AACN,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,iBAAiB,CAAC;IAC3C,IAAI,EAAE,4CAA4C;IAClD,IAAI,EAAE,oEAAoE;IAC1E,QAAQ,EAAE,cAAc;CAC3B,CAAC,CAAA"}
@@ -0,0 +1,260 @@
1
+ import { getAddress } from "viem";
2
+ import { z } from "zod";
3
+ export var ValidationErrors;
4
+ (function (ValidationErrors) {
5
+ ValidationErrors[ValidationErrors["InvalidFields"] = -32602] = "InvalidFields";
6
+ ValidationErrors[ValidationErrors["InsufficientBalance"] = -32603] = "InsufficientBalance";
7
+ ValidationErrors[ValidationErrors["UnsupportedEntryPoint"] = -32604] = "UnsupportedEntryPoint";
8
+ })(ValidationErrors || (ValidationErrors = {}));
9
+ export class InternalBundlerError extends Error {
10
+ constructor(msg) {
11
+ let message = msg;
12
+ if (!msg) {
13
+ message = "Internal error from bundler";
14
+ }
15
+ super(message);
16
+ }
17
+ }
18
+ export class RpcError extends Error {
19
+ // error codes from: https://eips.ethereum.org/EIPS/eip-1474
20
+ constructor(msg, code, data = undefined) {
21
+ super(msg);
22
+ Object.defineProperty(this, "code", {
23
+ enumerable: true,
24
+ configurable: true,
25
+ writable: true,
26
+ value: code
27
+ });
28
+ Object.defineProperty(this, "data", {
29
+ enumerable: true,
30
+ configurable: true,
31
+ writable: true,
32
+ value: data
33
+ });
34
+ }
35
+ }
36
+ const hexDataPattern = /^0x[0-9A-Fa-f]*$/;
37
+ const addressPattern = /^0x[0-9,a-f,A-F]{40}$/;
38
+ export const addressSchema = z
39
+ .string()
40
+ .regex(addressPattern, { message: "not a valid hex address" })
41
+ .transform((val) => getAddress(val));
42
+ export const hexNumberSchema = z
43
+ .string()
44
+ .regex(hexDataPattern)
45
+ .or(z.number())
46
+ .or(z.bigint())
47
+ .superRefine((data, ctx) => {
48
+ // This function is used to refine the input and provide a context where you have access to the path.
49
+ try {
50
+ BigInt(data); // Attempt to convert to BigInt to validate it can be done
51
+ }
52
+ catch {
53
+ ctx.addIssue({
54
+ code: "custom",
55
+ message: "Invalid input, expected a value that can be converted to bigint."
56
+ });
57
+ }
58
+ })
59
+ .transform((val) => BigInt(val));
60
+ export const hexDataSchema = z
61
+ .string()
62
+ .regex(hexDataPattern, { message: "not valid hex data" })
63
+ .transform((val) => val.toLowerCase());
64
+ const userOperationSchemaPaymasterV6 = z
65
+ .object({
66
+ sender: addressSchema,
67
+ nonce: hexNumberSchema,
68
+ initCode: hexDataSchema,
69
+ callData: hexDataSchema,
70
+ callGasLimit: hexNumberSchema.default(1n),
71
+ verificationGasLimit: hexNumberSchema.default(1n),
72
+ preVerificationGas: hexNumberSchema.default(1n),
73
+ maxPriorityFeePerGas: hexNumberSchema,
74
+ maxFeePerGas: hexNumberSchema,
75
+ paymasterAndData: hexDataSchema
76
+ .nullable()
77
+ .optional()
78
+ .transform((val) => val ?? undefined),
79
+ signature: hexDataSchema.optional().transform((val) => {
80
+ if (val === undefined) {
81
+ return "0x";
82
+ }
83
+ return val;
84
+ })
85
+ })
86
+ .strict()
87
+ .transform((val) => {
88
+ return val;
89
+ });
90
+ const userOperationSchemaPaymasterV7 = z
91
+ .object({
92
+ sender: addressSchema,
93
+ nonce: hexNumberSchema,
94
+ factory: addressSchema.optional().transform((val) => val ?? undefined),
95
+ factoryData: hexDataSchema
96
+ .optional()
97
+ .transform((val) => val ?? undefined),
98
+ callData: hexDataSchema,
99
+ callGasLimit: hexNumberSchema.default(1n),
100
+ verificationGasLimit: hexNumberSchema.default(1n),
101
+ preVerificationGas: hexNumberSchema.default(1n),
102
+ maxFeePerGas: hexNumberSchema,
103
+ maxPriorityFeePerGas: hexNumberSchema,
104
+ paymaster: addressSchema
105
+ .nullable()
106
+ .optional()
107
+ .transform((val) => val ?? undefined),
108
+ paymasterVerificationGasLimit: hexNumberSchema
109
+ .nullable()
110
+ .optional()
111
+ .transform((val) => val ?? undefined),
112
+ paymasterPostOpGasLimit: hexNumberSchema
113
+ .nullable()
114
+ .optional()
115
+ .transform((val) => val ?? undefined),
116
+ paymasterData: hexDataSchema
117
+ .nullable()
118
+ .optional()
119
+ .transform((val) => val ?? undefined),
120
+ signature: hexDataSchema.optional().transform((val) => {
121
+ if (val === undefined) {
122
+ return "0x";
123
+ }
124
+ return val;
125
+ })
126
+ })
127
+ .strict()
128
+ .transform((val) => {
129
+ return val;
130
+ });
131
+ export const jsonRpcResultSchema = z
132
+ .object({
133
+ jsonrpc: z.literal("2.0"),
134
+ id: z.number(),
135
+ result: z.unknown()
136
+ })
137
+ .strict();
138
+ export const jsonRpcSchema = z
139
+ .object({
140
+ jsonrpc: z.literal("2.0"),
141
+ id: z.number(),
142
+ method: z.string(),
143
+ params: z.array(z.unknown()).optional().default([])
144
+ })
145
+ .strict();
146
+ export const pmSponsorUserOperationParamsSchema = z.tuple([
147
+ z.union([userOperationSchemaPaymasterV6, userOperationSchemaPaymasterV7]),
148
+ addressSchema
149
+ ]);
150
+ const eip7677UserOperationSchemaV6 = z
151
+ .object({
152
+ sender: addressSchema,
153
+ nonce: hexNumberSchema,
154
+ initCode: hexDataSchema,
155
+ callData: hexDataSchema,
156
+ callGasLimit: hexNumberSchema,
157
+ verificationGasLimit: hexNumberSchema,
158
+ preVerificationGas: hexNumberSchema,
159
+ maxPriorityFeePerGas: hexNumberSchema,
160
+ maxFeePerGas: hexNumberSchema,
161
+ paymasterAndData: hexDataSchema
162
+ .nullable()
163
+ .optional()
164
+ .transform((_) => {
165
+ return "0x";
166
+ }),
167
+ signature: hexDataSchema
168
+ .nullable()
169
+ .optional()
170
+ .transform((_) => {
171
+ return "0x";
172
+ })
173
+ })
174
+ .strict()
175
+ .transform((val) => {
176
+ return val;
177
+ });
178
+ const eip7677UserOperationSchemaV7 = z
179
+ .object({
180
+ sender: addressSchema,
181
+ nonce: hexNumberSchema,
182
+ factory: addressSchema
183
+ .nullable()
184
+ .optional()
185
+ .transform((val) => val ?? null),
186
+ factoryData: hexDataSchema
187
+ .nullable()
188
+ .optional()
189
+ .transform((val) => val ?? null),
190
+ callData: hexDataSchema,
191
+ callGasLimit: hexNumberSchema,
192
+ verificationGasLimit: hexNumberSchema,
193
+ preVerificationGas: hexNumberSchema,
194
+ maxFeePerGas: hexNumberSchema,
195
+ maxPriorityFeePerGas: hexNumberSchema,
196
+ paymaster: addressSchema
197
+ .nullable()
198
+ .optional()
199
+ .transform((val) => val ?? null),
200
+ paymasterVerificationGasLimit: hexNumberSchema
201
+ .nullable()
202
+ .optional()
203
+ .transform((val) => val ?? null),
204
+ paymasterPostOpGasLimit: hexNumberSchema
205
+ .nullable()
206
+ .optional()
207
+ .transform((val) => val ?? null),
208
+ paymasterData: hexDataSchema
209
+ .nullable()
210
+ .optional()
211
+ .transform((val) => val ?? null),
212
+ signature: hexDataSchema.optional().transform((val) => {
213
+ if (val === undefined) {
214
+ return "0x";
215
+ }
216
+ return val;
217
+ })
218
+ })
219
+ .strict()
220
+ .transform((val) => {
221
+ return val;
222
+ });
223
+ const eip7677UserOperationSchema = z.union([
224
+ eip7677UserOperationSchemaV6,
225
+ eip7677UserOperationSchemaV7
226
+ ]);
227
+ export const pmGetPaymasterData = z
228
+ .union([
229
+ z.tuple([
230
+ eip7677UserOperationSchema,
231
+ addressSchema,
232
+ hexNumberSchema,
233
+ z.union([z.object({ token: addressSchema }), z.null()])
234
+ ]),
235
+ z.tuple([eip7677UserOperationSchema, addressSchema, hexNumberSchema])
236
+ ])
237
+ .transform((val) => {
238
+ return [val[0], val[1], val[2], val[3] ?? null];
239
+ });
240
+ export const pmGetPaymasterStubDataParamsSchema = z
241
+ .union([
242
+ z.tuple([
243
+ eip7677UserOperationSchema,
244
+ addressSchema,
245
+ hexNumberSchema,
246
+ z.union([z.object({ token: addressSchema }), z.null()])
247
+ ]),
248
+ z.tuple([eip7677UserOperationSchema, addressSchema, hexNumberSchema])
249
+ ])
250
+ .transform((val) => {
251
+ return [val[0], val[1], val[2], val[3] ?? null];
252
+ });
253
+ export const pimlicoGetTokenQuotesSchema = z.tuple([
254
+ z.object({
255
+ tokens: z.array(addressSchema)
256
+ }),
257
+ addressSchema, // entryPoint
258
+ hexNumberSchema
259
+ ]);
260
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../helpers/schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import { http, createPublicClient, createWalletClient } from "viem";
2
+ import { mnemonicToAccount } from "viem/accounts";
3
+ import { foundry } from "viem/chains";
4
+ import { ERC20_ADDRESS } from "./erc20-utils.js";
5
+ import { RpcError, ValidationErrors } from "./schema.js";
6
+ /// Returns the bigger of two BigInts.
7
+ export const maxBigInt = (a, b) => {
8
+ return a > b ? a : b;
9
+ };
10
+ export const getPublicClient = (anvilRpc) => {
11
+ const transport = http(anvilRpc, {
12
+ // onFetchRequest: async (req) => {
13
+ // console.log(await req.json(), "request")
14
+ // }
15
+ //onFetchResponse: async (response) => {
16
+ // console.log(await response.clone().json(), "response")
17
+ //}
18
+ });
19
+ return createPublicClient({
20
+ chain: foundry,
21
+ transport: transport,
22
+ pollingInterval: 100
23
+ });
24
+ };
25
+ export const getAnvilWalletClient = ({ addressIndex, anvilRpc }) => {
26
+ return createWalletClient({
27
+ account: mnemonicToAccount("test test test test test test test test test test test junk", {
28
+ addressIndex
29
+ }),
30
+ chain: foundry,
31
+ transport: http(anvilRpc)
32
+ });
33
+ };
34
+ export const isTokenSupported = async (token) => {
35
+ if (token !== ERC20_ADDRESS) {
36
+ throw new RpcError("Token is not supported", ValidationErrors.InvalidFields);
37
+ }
38
+ };
39
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../helpers/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,IAAI,EAOJ,kBAAkB,EAClB,kBAAkB,EACrB,MAAM,MAAM,CAAA;AACb,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAExD,sCAAsC;AACtC,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE;IAC9C,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACxB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAC3B,QAAgB,EACc,EAAE;IAChC,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE;IAC7B,mCAAmC;IACnC,+CAA+C;IAC/C,IAAI;IACJ,wCAAwC;IACxC,4DAA4D;IAC5D,GAAG;KACN,CAAC,CAAA;IAEF,OAAO,kBAAkB,CAAC;QACtB,KAAK,EAAE,OAAO;QACd,SAAS,EAAE,SAAS;QACpB,eAAe,EAAE,GAAG;KACvB,CAAC,CAAA;AACN,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,EACjC,YAAY,EACZ,QAAQ,EACiC,EAI3C,EAAE;IACA,OAAO,kBAAkB,CAAC;QACtB,OAAO,EAAE,iBAAiB,CACtB,6DAA6D,EAC7D;YACI,YAAY;SACf,CACJ;QACD,KAAK,EAAE,OAAO;QACd,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC;KAC5B,CAAC,CAAA;AACN,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,KAAc,EAAE,EAAE;IACrD,IAAI,KAAK,KAAK,aAAa,EAAE,CAAC;QAC1B,MAAM,IAAI,QAAQ,CACd,wBAAwB,EACxB,gBAAgB,CAAC,aAAa,CACjC,CAAA;IACL,CAAC;AACL,CAAC,CAAA"}
package/_esm/index.js ADDED
@@ -0,0 +1,52 @@
1
+ import cors from "@fastify/cors";
2
+ import Fastify from "fastify";
3
+ import { defineInstance } from "prool";
4
+ import { http, createPublicClient } from "viem";
5
+ import { createBundlerClient } from "viem/account-abstraction";
6
+ import { foundry } from "viem/chains";
7
+ import { deployErc20Token } from "./helpers/erc20-utils.js";
8
+ import { getAnvilWalletClient } from "./helpers/utils.js";
9
+ import { createRpcHandler } from "./relay.js";
10
+ import { SingletonPaymasterV06, SingletonPaymasterV07 } from "./singletonPaymasters.js";
11
+ export const paymaster = defineInstance(({ anvilRpc, port: _port, altoRpc }) => {
12
+ const app = Fastify({});
13
+ return {
14
+ _internal: {},
15
+ host: "localhost",
16
+ port: _port,
17
+ name: "mock-paymaster",
18
+ start: async ({ port = _port }) => {
19
+ const walletClient = getAnvilWalletClient({
20
+ anvilRpc,
21
+ addressIndex: 1
22
+ });
23
+ const publicClient = createPublicClient({
24
+ transport: http(anvilRpc),
25
+ chain: foundry
26
+ });
27
+ const bundler = createBundlerClient({
28
+ chain: foundry,
29
+ transport: http(altoRpc)
30
+ });
31
+ const singletonPaymasterV07 = new SingletonPaymasterV07(walletClient, anvilRpc);
32
+ const singletonPaymasterV06 = new SingletonPaymasterV06(walletClient, anvilRpc);
33
+ await singletonPaymasterV06.setup();
34
+ await singletonPaymasterV07.setup();
35
+ await deployErc20Token(walletClient, publicClient);
36
+ app.register(cors, {
37
+ origin: "*",
38
+ methods: ["POST", "GET", "OPTIONS"]
39
+ });
40
+ const rpcHandler = createRpcHandler(bundler, singletonPaymasterV07, singletonPaymasterV06);
41
+ app.post("/", {}, rpcHandler);
42
+ app.get("/ping", async (_request, reply) => {
43
+ return reply.code(200).send({ message: "pong" });
44
+ });
45
+ await app.listen({ host: "localhost", port });
46
+ },
47
+ stop: async () => {
48
+ app.close();
49
+ }
50
+ };
51
+ });
52
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,eAAe,CAAA;AAChC,OAAO,OAAO,MAAM,SAAS,CAAA;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,MAAM,CAAA;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EACH,qBAAqB,EACrB,qBAAqB,EACxB,MAAM,0BAA0B,CAAA;AAEjC,MAAM,CAAC,MAAM,SAAS,GAAG,cAAc,CACnC,CAAC,EACG,QAAQ,EACR,IAAI,EAAE,KAAK,EACX,OAAO,EAC2C,EAAE,EAAE;IACtD,MAAM,GAAG,GAAG,OAAO,CAAC,EAAE,CAAC,CAAA;IAEvB,OAAO;QACH,SAAS,EAAE,EAAE;QACb,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,gBAAgB;QACtB,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,GAAG,KAAK,EAAE,EAAE,EAAE;YAC9B,MAAM,YAAY,GAAG,oBAAoB,CAAC;gBACtC,QAAQ;gBACR,YAAY,EAAE,CAAC;aAClB,CAAC,CAAA;YACF,MAAM,YAAY,GAAG,kBAAkB,CAAC;gBACpC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC;gBACzB,KAAK,EAAE,OAAO;aACjB,CAAC,CAAA;YACF,MAAM,OAAO,GAAG,mBAAmB,CAAC;gBAChC,KAAK,EAAE,OAAO;gBACd,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC;aAC3B,CAAC,CAAA;YAEF,MAAM,qBAAqB,GAAG,IAAI,qBAAqB,CACnD,YAAY,EACZ,QAAQ,CACX,CAAA;YACD,MAAM,qBAAqB,GAAG,IAAI,qBAAqB,CACnD,YAAY,EACZ,QAAQ,CACX,CAAA;YAED,MAAM,qBAAqB,CAAC,KAAK,EAAE,CAAA;YACnC,MAAM,qBAAqB,CAAC,KAAK,EAAE,CAAA;YACnC,MAAM,gBAAgB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;YAElD,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE;gBACf,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC;aACtC,CAAC,CAAA;YAEF,MAAM,UAAU,GAAG,gBAAgB,CAC/B,OAAO,EACP,qBAAqB,EACrB,qBAAqB,CACxB,CAAA;YACD,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,UAAU,CAAC,CAAA;YAE7B,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE;gBACvC,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAA;YACpD,CAAC,CAAC,CAAA;YAEF,MAAM,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAA;QACjD,CAAC;QACD,IAAI,EAAE,KAAK,IAAI,EAAE;YACb,GAAG,CAAC,KAAK,EAAE,CAAA;QACf,CAAC;KACJ,CAAA;AACL,CAAC,CACJ,CAAA"}
@@ -0,0 +1 @@
1
+ {"type": "module","sideEffects":false}