permissionless 0.1.34 → 0.1.36

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 (37) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/_cjs/actions/erc7579/supportsExecutionMode.js +4 -4
  3. package/_cjs/actions/erc7579/supportsExecutionMode.js.map +1 -1
  4. package/_cjs/experimental/eip7677/actions/getPaymasterStubData.js +6 -2
  5. package/_cjs/experimental/eip7677/actions/getPaymasterStubData.js.map +1 -1
  6. package/_cjs/utils/encode7579CallData.js +1 -1
  7. package/_cjs/utils/encode7579CallData.js.map +1 -1
  8. package/_esm/actions/erc7579/supportsExecutionMode.js +4 -4
  9. package/_esm/actions/erc7579/supportsExecutionMode.js.map +1 -1
  10. package/_esm/experimental/eip7677/actions/getPaymasterStubData.js +6 -2
  11. package/_esm/experimental/eip7677/actions/getPaymasterStubData.js.map +1 -1
  12. package/_esm/utils/encode7579CallData.js +1 -1
  13. package/_esm/utils/encode7579CallData.js.map +1 -1
  14. package/_types/actions/erc7579/supportsExecutionMode.d.ts +3 -3
  15. package/_types/actions/erc7579/supportsExecutionMode.d.ts.map +1 -1
  16. package/_types/experimental/eip7677/actions/getPaymasterStubData.d.ts +10 -0
  17. package/_types/experimental/eip7677/actions/getPaymasterStubData.d.ts.map +1 -1
  18. package/_types/experimental/eip7677/types/paymaster.d.ts +10 -0
  19. package/_types/experimental/eip7677/types/paymaster.d.ts.map +1 -1
  20. package/actions/erc7579/supportsExecutionMode.test.ts +53 -0
  21. package/actions/erc7579/supportsExecutionMode.ts +7 -7
  22. package/actions/smartAccount/prepareUserOperationRequest.test.ts +371 -2
  23. package/actions/smartAccount.test.ts +198 -0
  24. package/clients/createBundlerClient.test.ts +26 -0
  25. package/clients/createSmartAccountClient.test.ts +55 -0
  26. package/clients/decorators/smartAccount.test.ts +55 -0
  27. package/experimental/eip7677/actions/getPaymasterStubData.test.ts +6 -0
  28. package/experimental/eip7677/actions/getPaymasterStubData.ts +10 -2
  29. package/experimental/eip7677/types/paymaster.ts +4 -0
  30. package/package.json +1 -1
  31. package/utils/deepHexlify.test.ts +57 -0
  32. package/utils/encode7579CallData.test.ts +68 -0
  33. package/utils/encode7579CallData.ts +1 -1
  34. package/utils/getAddressFromInitCodeOrPaymasterAndData.test.ts +31 -0
  35. package/utils/getEntryPointVersion.test.ts +52 -0
  36. package/utils/getPackedUserOperation.test.ts +204 -0
  37. package/utils/getRequiredPrefund.test.ts +71 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # permissionless
2
2
 
3
+ ## 0.1.36
4
+
5
+ ### Patch Changes
6
+
7
+ - f3b5d5e65c34479c8b7a3e59d96fd3fb8bc4933c: Made ExecutionMode fields optional
8
+
9
+ ## 0.1.35
10
+
11
+ ### Patch Changes
12
+
13
+ - d986d6987d94d0a3cdf46126eac170fdb8994dd1: Added Erc7677 upgrade to include sponsor & isFinal in paymaster stub data.
14
+
3
15
  ## 0.1.34
4
16
 
5
17
  ### Patch Changes
@@ -4,8 +4,8 @@ exports.supportsExecutionMode = exports.encodeExecutionMode = void 0;
4
4
  const viem_1 = require("viem");
5
5
  const utils_1 = require("../../utils/index.js");
6
6
  const signUserOperationHashWithECDSA_1 = require("../../utils/signUserOperationHashWithECDSA.js");
7
- function parseCallType(executionMode) {
8
- switch (executionMode) {
7
+ function parseCallType(callType) {
8
+ switch (callType) {
9
9
  case "call":
10
10
  return "0x00";
11
11
  case "delegatecall":
@@ -19,8 +19,8 @@ function encodeExecutionMode({ type, revertOnError, selector, context }) {
19
19
  (0, viem_1.toHex)((0, viem_1.toBytes)(parseCallType(type), { size: 1 })),
20
20
  (0, viem_1.toHex)((0, viem_1.toBytes)(revertOnError ? "0x01" : "0x00", { size: 1 })),
21
21
  (0, viem_1.toHex)((0, viem_1.toBytes)("0x0", { size: 4 })),
22
- (0, viem_1.toHex)((0, viem_1.toBytes)(selector, { size: 4 })),
23
- (0, viem_1.toHex)((0, viem_1.toBytes)(context, { size: 22 }))
22
+ (0, viem_1.toHex)((0, viem_1.toBytes)(selector ?? "0x", { size: 4 })),
23
+ (0, viem_1.toHex)((0, viem_1.toBytes)(context ?? "0x", { size: 22 }))
24
24
  ]);
25
25
  }
26
26
  exports.encodeExecutionMode = encodeExecutionMode;
@@ -1 +1 @@
1
- {"version":3,"file":"supportsExecutionMode.js","sourceRoot":"","sources":["../../../actions/erc7579/supportsExecutionMode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"supportsExecutionMode.js","sourceRoot":"","sources":["../../../actions/erc7579/supportsExecutionMode.ts"],"names":[],"mappings":"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"}
@@ -28,7 +28,9 @@ async function getPaymasterStubData(client, { userOperation, entryPoint, context
28
28
  if (entryPointVersion === "v0.6") {
29
29
  const responseV06 = response;
30
30
  return {
31
- paymasterAndData: responseV06.paymasterAndData
31
+ paymasterAndData: responseV06.paymasterAndData,
32
+ sponsor: responseV06.sponsor,
33
+ isFinal: responseV06.isFinal
32
34
  };
33
35
  }
34
36
  const responseV07 = response;
@@ -40,7 +42,9 @@ async function getPaymasterStubData(client, { userOperation, entryPoint, context
40
42
  : undefined,
41
43
  paymasterPostOpGasLimit: responseV07.paymasterPostOpGasLimit
42
44
  ? BigInt(responseV07.paymasterPostOpGasLimit)
43
- : undefined
45
+ : undefined,
46
+ sponsor: responseV07.sponsor,
47
+ isFinal: responseV07.isFinal
44
48
  };
45
49
  }
46
50
  exports.getPaymasterStubData = getPaymasterStubData;
@@ -1 +1 @@
1
- {"version":3,"file":"getPaymasterStubData.js","sourceRoot":"","sources":["../../../../experimental/eip7677/actions/getPaymasterStubData.ts"],"names":[],"mappings":";;;AAAA,+BASa;AAQb,0CAAkE;AAiE3D,KAAK,UAAU,oBAAoB,CAMtC,MAKC,EACD,EACI,aAAa,EACb,UAAU,EACV,OAAO,EACP,KAAK,EAC6D;IAEtE,MAAM,OAAO,GAAG,KAAK,EAAE,EAAE,IAAI,MAAM,CAAC,KAAK,EAAE,EAAE,CAAA;IAE7C,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,MAAM,IAAI,yBAAkB,EAAE,CAAA;IAClC,CAAC;IAED,MAAM,MAAM,GAWF,OAAO;QACb,CAAC,CAAC;YACI,IAAA,mBAAW,EAAC,aAAa,CAExB;YACD,UAAU;YACV,IAAA,YAAK,EAAC,OAAO,CAAC;YACd,OAAO;SACV;QACH,CAAC,CAAC;YACI,IAAA,mBAAW,EAAC,aAAa,CAExB;YACD,UAAU;YACV,IAAA,YAAK,EAAC,OAAO,CAAC;SACjB,CAAA;IAEP,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAClC,MAAM,EAAE,yBAAyB;QACjC,MAAM;KACT,CAAC,CAAA;IAEF,MAAM,iBAAiB,GAAG,IAAA,4BAAoB,EAAC,UAAU,CAAC,CAAA;IAE1D,IAAI,iBAAiB,KAAK,MAAM,EAAE,CAAC;QAC/B,MAAM,WAAW,GACb,QAA0E,CAAA;QAE9E,OAAO;YACH,gBAAgB,EAAE,WAAW,CAAC,gBAAgB;SACF,CAAA;IACpD,CAAC;IAED,MAAM,WAAW,GACb,QAA0E,CAAA;IAE9E,OAAO;QACH,SAAS,EAAE,WAAW,CAAC,SAAS;QAChC,aAAa,EAAE,WAAW,CAAC,aAAa;QACxC,6BAA6B,EAAE,WAAW,CAAC,6BAA6B;YACpE,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,6BAA6B,CAAC;YACnD,CAAC,CAAC,SAAS;QACf,uBAAuB,EAAE,WAAW,CAAC,uBAAuB;YACxD,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,uBAAuB,CAAC;YAC7C,CAAC,CAAC,SAAS;KAC6B,CAAA;AACpD,CAAC;AAlFD,oDAkFC"}
1
+ {"version":3,"file":"getPaymasterStubData.js","sourceRoot":"","sources":["../../../../experimental/eip7677/actions/getPaymasterStubData.ts"],"names":[],"mappings":";;;AAAA,+BASa;AAQb,0CAAkE;AAqE3D,KAAK,UAAU,oBAAoB,CAMtC,MAKC,EACD,EACI,aAAa,EACb,UAAU,EACV,OAAO,EACP,KAAK,EAC6D;IAEtE,MAAM,OAAO,GAAG,KAAK,EAAE,EAAE,IAAI,MAAM,CAAC,KAAK,EAAE,EAAE,CAAA;IAE7C,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,MAAM,IAAI,yBAAkB,EAAE,CAAA;IAClC,CAAC;IAED,MAAM,MAAM,GAWF,OAAO;QACb,CAAC,CAAC;YACI,IAAA,mBAAW,EAAC,aAAa,CAExB;YACD,UAAU;YACV,IAAA,YAAK,EAAC,OAAO,CAAC;YACd,OAAO;SACV;QACH,CAAC,CAAC;YACI,IAAA,mBAAW,EAAC,aAAa,CAExB;YACD,UAAU;YACV,IAAA,YAAK,EAAC,OAAO,CAAC;SACjB,CAAA;IAEP,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAClC,MAAM,EAAE,yBAAyB;QACjC,MAAM;KACT,CAAC,CAAA;IAEF,MAAM,iBAAiB,GAAG,IAAA,4BAAoB,EAAC,UAAU,CAAC,CAAA;IAE1D,IAAI,iBAAiB,KAAK,MAAM,EAAE,CAAC;QAC/B,MAAM,WAAW,GACb,QAA0E,CAAA;QAE9E,OAAO;YACH,gBAAgB,EAAE,WAAW,CAAC,gBAAgB;YAC9C,OAAO,EAAE,WAAW,CAAC,OAAO;YAC5B,OAAO,EAAE,WAAW,CAAC,OAAO;SACgB,CAAA;IACpD,CAAC;IAED,MAAM,WAAW,GACb,QAA0E,CAAA;IAE9E,OAAO;QACH,SAAS,EAAE,WAAW,CAAC,SAAS;QAChC,aAAa,EAAE,WAAW,CAAC,aAAa;QACxC,6BAA6B,EAAE,WAAW,CAAC,6BAA6B;YACpE,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,6BAA6B,CAAC;YACnD,CAAC,CAAC,SAAS;QACf,uBAAuB,EAAE,WAAW,CAAC,uBAAuB;YACxD,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,uBAAuB,CAAC;YAC7C,CAAC,CAAC,SAAS;QACf,OAAO,EAAE,WAAW,CAAC,OAAO;QAC5B,OAAO,EAAE,WAAW,CAAC,OAAO;KACgB,CAAA;AACpD,CAAC;AAtFD,oDAsFC"}
@@ -5,7 +5,7 @@ const viem_1 = require("viem");
5
5
  const supportsExecutionMode_1 = require("../actions/erc7579/supportsExecutionMode.js");
6
6
  function encode7579CallData({ mode, callData }) {
7
7
  if (Array.isArray(callData) && mode?.type !== "batchcall") {
8
- throw new Error(`mode ${mode} does not supported for batchcall calldata`);
8
+ throw new Error(`mode ${JSON.stringify(mode)} does not supported for batchcall calldata`);
9
9
  }
10
10
  const executeAbi = [
11
11
  {
@@ -1 +1 @@
1
- {"version":3,"file":"encode7579CallData.js","sourceRoot":"","sources":["../../utils/encode7579CallData.ts"],"names":[],"mappings":";;;AAAA,+BAOa;AACb,oFAIiD;AAiBjD,SAAgB,kBAAkB,CAA4B,EAC1D,IAAI,EACJ,QAAQ,EACqB;IAC7B,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,IAAI,KAAK,WAAW,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CACX,QAAQ,IAAI,4CAA4C,CAC3D,CAAA;IACL,CAAC;IAED,MAAM,UAAU,GAAG;QACf;YACI,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,SAAS;YACf,MAAM,EAAE;gBACJ;oBACI,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,SAAS;oBACf,YAAY,EAAE,UAAU;iBAC3B;gBACD;oBACI,IAAI,EAAE,mBAAmB;oBACzB,IAAI,EAAE,OAAO;oBACb,YAAY,EAAE,OAAO;iBACxB;aACJ;YACD,OAAO,EAAE,EAAE;YACX,eAAe,EAAE,SAAS;SAC7B;KACK,CAAA;IAEV,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAA,yBAAkB,EAAC;YACtB,GAAG,EAAE,UAAU;YACf,YAAY,EAAE,SAAS;YACvB,IAAI,EAAE;gBACF,IAAA,2CAAmB,EAAC,IAAI,CAAC;gBACzB,IAAA,0BAAmB,EACf;oBACI;wBACI,IAAI,EAAE,gBAAgB;wBACtB,IAAI,EAAE,SAAS;wBACf,UAAU,EAAE;4BACR;gCACI,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,SAAS;6BAClB;4BACD;gCACI,IAAI,EAAE,OAAO;gCACb,IAAI,EAAE,SAAS;6BAClB;4BACD;gCACI,IAAI,EAAE,UAAU;gCAChB,IAAI,EAAE,OAAO;6BAChB;yBACJ;qBACJ;iBACJ,EACD;oBACI,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;wBACjB,OAAO;4BACH,MAAM,EAAE,GAAG,CAAC,EAAE;4BACd,KAAK,EAAE,GAAG,CAAC,KAAK;4BAChB,QAAQ,EAAE,GAAG,CAAC,IAAI;yBACrB,CAAA;oBACL,CAAC,CAAC;iBACL,CACJ;aACJ;SACJ,CAAC,CAAA;IACN,CAAC;IAED,OAAO,IAAA,yBAAkB,EAAC;QACtB,GAAG,EAAE,UAAU;QACf,YAAY,EAAE,SAAS;QACvB,IAAI,EAAE;YACF,IAAA,2CAAmB,EAAC,IAAI,CAAC;YACzB,IAAA,gBAAS,EAAC;gBACN,QAAQ,CAAC,EAAE;gBACX,IAAA,YAAK,EAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;gBACnC,QAAQ,CAAC,IAAI;aAChB,CAAC;SACL;KACJ,CAAC,CAAA;AACN,CAAC;AApFD,gDAoFC"}
1
+ {"version":3,"file":"encode7579CallData.js","sourceRoot":"","sources":["../../utils/encode7579CallData.ts"],"names":[],"mappings":";;;AAAA,+BAOa;AACb,oFAIiD;AAiBjD,SAAgB,kBAAkB,CAA4B,EAC1D,IAAI,EACJ,QAAQ,EACqB;IAC7B,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,IAAI,KAAK,WAAW,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CACX,QAAQ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,4CAA4C,CAC3E,CAAA;IACL,CAAC;IAED,MAAM,UAAU,GAAG;QACf;YACI,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,SAAS;YACf,MAAM,EAAE;gBACJ;oBACI,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,SAAS;oBACf,YAAY,EAAE,UAAU;iBAC3B;gBACD;oBACI,IAAI,EAAE,mBAAmB;oBACzB,IAAI,EAAE,OAAO;oBACb,YAAY,EAAE,OAAO;iBACxB;aACJ;YACD,OAAO,EAAE,EAAE;YACX,eAAe,EAAE,SAAS;SAC7B;KACK,CAAA;IAEV,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAA,yBAAkB,EAAC;YACtB,GAAG,EAAE,UAAU;YACf,YAAY,EAAE,SAAS;YACvB,IAAI,EAAE;gBACF,IAAA,2CAAmB,EAAC,IAAI,CAAC;gBACzB,IAAA,0BAAmB,EACf;oBACI;wBACI,IAAI,EAAE,gBAAgB;wBACtB,IAAI,EAAE,SAAS;wBACf,UAAU,EAAE;4BACR;gCACI,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,SAAS;6BAClB;4BACD;gCACI,IAAI,EAAE,OAAO;gCACb,IAAI,EAAE,SAAS;6BAClB;4BACD;gCACI,IAAI,EAAE,UAAU;gCAChB,IAAI,EAAE,OAAO;6BAChB;yBACJ;qBACJ;iBACJ,EACD;oBACI,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;wBACjB,OAAO;4BACH,MAAM,EAAE,GAAG,CAAC,EAAE;4BACd,KAAK,EAAE,GAAG,CAAC,KAAK;4BAChB,QAAQ,EAAE,GAAG,CAAC,IAAI;yBACrB,CAAA;oBACL,CAAC,CAAC;iBACL,CACJ;aACJ;SACJ,CAAC,CAAA;IACN,CAAC;IAED,OAAO,IAAA,yBAAkB,EAAC;QACtB,GAAG,EAAE,UAAU;QACf,YAAY,EAAE,SAAS;QACvB,IAAI,EAAE;YACF,IAAA,2CAAmB,EAAC,IAAI,CAAC;YACzB,IAAA,gBAAS,EAAC;gBACN,QAAQ,CAAC,EAAE;gBACX,IAAA,YAAK,EAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;gBACnC,QAAQ,CAAC,IAAI;aAChB,CAAC;SACL;KACJ,CAAC,CAAA;AACN,CAAC;AApFD,gDAoFC"}
@@ -1,8 +1,8 @@
1
1
  import { ContractFunctionExecutionError, decodeFunctionResult, encodeFunctionData, encodePacked, toBytes, toHex } from "viem";
2
2
  import { parseAccount } from "../../utils/index.js";
3
3
  import { AccountOrClientNotFoundError } from "../../utils/signUserOperationHashWithECDSA.js";
4
- function parseCallType(executionMode) {
5
- switch (executionMode) {
4
+ function parseCallType(callType) {
5
+ switch (callType) {
6
6
  case "call":
7
7
  return "0x00";
8
8
  case "delegatecall":
@@ -16,8 +16,8 @@ export function encodeExecutionMode({ type, revertOnError, selector, context })
16
16
  toHex(toBytes(parseCallType(type), { size: 1 })),
17
17
  toHex(toBytes(revertOnError ? "0x01" : "0x00", { size: 1 })),
18
18
  toHex(toBytes("0x0", { size: 4 })),
19
- toHex(toBytes(selector, { size: 4 })),
20
- toHex(toBytes(context, { size: 22 }))
19
+ toHex(toBytes(selector ?? "0x", { size: 4 })),
20
+ toHex(toBytes(context ?? "0x", { size: 22 }))
21
21
  ]);
22
22
  }
23
23
  export async function supportsExecutionMode(client, args) {
@@ -1 +1 @@
1
- {"version":3,"file":"supportsExecutionMode.js","sourceRoot":"","sources":["../../../actions/erc7579/supportsExecutionMode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"supportsExecutionMode.js","sourceRoot":"","sources":["../../../actions/erc7579/supportsExecutionMode.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,8BAA8B,EAG9B,oBAAoB,EACpB,kBAAkB,EAClB,YAAY,EACZ,OAAO,EACP,KAAK,EACR,MAAM,MAAM,CAAA;AAIb,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,4BAA4B,EAAE,MAAM,4CAA4C,CAAA;AAmBzF,SAAS,aAAa,CAAC,QAAkB;IACrC,QAAQ,QAAQ,EAAE,CAAC;QACf,KAAK,MAAM;YACP,OAAO,MAAM,CAAA;QACjB,KAAK,cAAc;YACf,OAAO,MAAM,CAAA;QACjB,KAAK,WAAW;YACZ,OAAO,MAAM,CAAA;IACrB,CAAC;AACL,CAAC;AAED,MAAM,UAAU,mBAAmB,CAA4B,EAC3D,IAAI,EACJ,aAAa,EACb,QAAQ,EACR,OAAO,EACe;IACtB,OAAO,YAAY,CACf,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,EACnD;QACI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QAChD,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QAC5D,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QAClC,KAAK,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QAC7C,KAAK,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;KAChD,CACJ,CAAA;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAMvC,MAAiD,EACjD,IAA2E;IAE3E,MAAM,EACF,OAAO,EAAE,QAAQ,GAAG,MAAM,CAAC,OAAO,EAClC,IAAI,EACJ,aAAa,EACb,QAAQ,EACR,OAAO,EACV,GAAG,IAAI,CAAA;IAER,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,MAAM,IAAI,4BAA4B,CAAC;YACnC,QAAQ,EAAE,sCAAsC;SACnD,CAAC,CAAA;IACN,CAAC;IAED,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,CAA8B,CAAA;IAEnE,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAA;IAEnC,MAAM,WAAW,GAAG,mBAAmB,CAAC;QACpC,IAAI;QACJ,aAAa;QACb,QAAQ;QACR,OAAO;KACV,CAAC,CAAA;IAEF,MAAM,GAAG,GAAG;QACR;YACI,IAAI,EAAE,uBAAuB;YAC7B,IAAI,EAAE,UAAU;YAChB,eAAe,EAAE,MAAM;YACvB,MAAM,EAAE;gBACJ;oBACI,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,aAAa;iBACtB;aACJ;YACD,OAAO,EAAE;gBACL;oBACI,IAAI,EAAE,MAAM;iBACf;aACJ;SACJ;KACK,CAAA;IAEV,IAAI,CAAC;QACD,OAAO,MAAM,YAAY,CAAC,YAAY,CAAC;YACnC,GAAG;YACH,YAAY,EAAE,uBAAuB;YACrC,IAAI,EAAE,CAAC,WAAW,CAAC;YACnB,OAAO,EAAE,OAAO,CAAC,OAAO;SAC3B,CAAC,CAAA;IACN,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,IAAI,KAAK,YAAY,8BAA8B,EAAE,CAAC;YAClD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,CAAA;YAC1C,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,cAAc,EAAE,CAAA;YAElD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC;gBACnC,OAAO,EAAE,OAAO;gBAChB,WAAW,EAAE,WAAW;gBACxB,EAAE,EAAE,OAAO,CAAC,OAAO;gBACnB,IAAI,EAAE,kBAAkB,CAAC;oBACrB,GAAG;oBACH,YAAY,EAAE,uBAAuB;oBACrC,IAAI,EAAE,CAAC,WAAW,CAAC;iBACtB,CAAC;aACL,CAAC,CAAA;YAEF,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;YAChD,CAAC;YAED,OAAO,oBAAoB,CAAC;gBACxB,GAAG;gBACH,YAAY,EAAE,uBAAuB;gBACrC,IAAI,EAAE,MAAM,CAAC,IAAI;aACpB,CAAC,CAAA;QACN,CAAC;QAED,MAAM,KAAK,CAAA;IACf,CAAC;AACL,CAAC"}
@@ -25,7 +25,9 @@ export async function getPaymasterStubData(client, { userOperation, entryPoint,
25
25
  if (entryPointVersion === "v0.6") {
26
26
  const responseV06 = response;
27
27
  return {
28
- paymasterAndData: responseV06.paymasterAndData
28
+ paymasterAndData: responseV06.paymasterAndData,
29
+ sponsor: responseV06.sponsor,
30
+ isFinal: responseV06.isFinal
29
31
  };
30
32
  }
31
33
  const responseV07 = response;
@@ -37,7 +39,9 @@ export async function getPaymasterStubData(client, { userOperation, entryPoint,
37
39
  : undefined,
38
40
  paymasterPostOpGasLimit: responseV07.paymasterPostOpGasLimit
39
41
  ? BigInt(responseV07.paymasterPostOpGasLimit)
40
- : undefined
42
+ : undefined,
43
+ sponsor: responseV07.sponsor,
44
+ isFinal: responseV07.isFinal
41
45
  };
42
46
  }
43
47
  //# sourceMappingURL=getPaymasterStubData.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getPaymasterStubData.js","sourceRoot":"","sources":["../../../../experimental/eip7677/actions/getPaymasterStubData.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,kBAAkB,EAKlB,KAAK,EACR,MAAM,MAAM,CAAA;AAQb,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAiElE,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAMtC,MAKC,EACD,EACI,aAAa,EACb,UAAU,EACV,OAAO,EACP,KAAK,EAC6D;IAEtE,MAAM,OAAO,GAAG,KAAK,EAAE,EAAE,IAAI,MAAM,CAAC,KAAK,EAAE,EAAE,CAAA;IAE7C,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,MAAM,IAAI,kBAAkB,EAAE,CAAA;IAClC,CAAC;IAED,MAAM,MAAM,GAWF,OAAO;QACb,CAAC,CAAC;YACI,WAAW,CAAC,aAAa,CAExB;YACD,UAAU;YACV,KAAK,CAAC,OAAO,CAAC;YACd,OAAO;SACV;QACH,CAAC,CAAC;YACI,WAAW,CAAC,aAAa,CAExB;YACD,UAAU;YACV,KAAK,CAAC,OAAO,CAAC;SACjB,CAAA;IAEP,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAClC,MAAM,EAAE,yBAAyB;QACjC,MAAM;KACT,CAAC,CAAA;IAEF,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAA;IAE1D,IAAI,iBAAiB,KAAK,MAAM,EAAE,CAAC;QAC/B,MAAM,WAAW,GACb,QAA0E,CAAA;QAE9E,OAAO;YACH,gBAAgB,EAAE,WAAW,CAAC,gBAAgB;SACF,CAAA;IACpD,CAAC;IAED,MAAM,WAAW,GACb,QAA0E,CAAA;IAE9E,OAAO;QACH,SAAS,EAAE,WAAW,CAAC,SAAS;QAChC,aAAa,EAAE,WAAW,CAAC,aAAa;QACxC,6BAA6B,EAAE,WAAW,CAAC,6BAA6B;YACpE,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,6BAA6B,CAAC;YACnD,CAAC,CAAC,SAAS;QACf,uBAAuB,EAAE,WAAW,CAAC,uBAAuB;YACxD,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,uBAAuB,CAAC;YAC7C,CAAC,CAAC,SAAS;KAC6B,CAAA;AACpD,CAAC"}
1
+ {"version":3,"file":"getPaymasterStubData.js","sourceRoot":"","sources":["../../../../experimental/eip7677/actions/getPaymasterStubData.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,kBAAkB,EAKlB,KAAK,EACR,MAAM,MAAM,CAAA;AAQb,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAqElE,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAMtC,MAKC,EACD,EACI,aAAa,EACb,UAAU,EACV,OAAO,EACP,KAAK,EAC6D;IAEtE,MAAM,OAAO,GAAG,KAAK,EAAE,EAAE,IAAI,MAAM,CAAC,KAAK,EAAE,EAAE,CAAA;IAE7C,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,MAAM,IAAI,kBAAkB,EAAE,CAAA;IAClC,CAAC;IAED,MAAM,MAAM,GAWF,OAAO;QACb,CAAC,CAAC;YACI,WAAW,CAAC,aAAa,CAExB;YACD,UAAU;YACV,KAAK,CAAC,OAAO,CAAC;YACd,OAAO;SACV;QACH,CAAC,CAAC;YACI,WAAW,CAAC,aAAa,CAExB;YACD,UAAU;YACV,KAAK,CAAC,OAAO,CAAC;SACjB,CAAA;IAEP,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAClC,MAAM,EAAE,yBAAyB;QACjC,MAAM;KACT,CAAC,CAAA;IAEF,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAA;IAE1D,IAAI,iBAAiB,KAAK,MAAM,EAAE,CAAC;QAC/B,MAAM,WAAW,GACb,QAA0E,CAAA;QAE9E,OAAO;YACH,gBAAgB,EAAE,WAAW,CAAC,gBAAgB;YAC9C,OAAO,EAAE,WAAW,CAAC,OAAO;YAC5B,OAAO,EAAE,WAAW,CAAC,OAAO;SACgB,CAAA;IACpD,CAAC;IAED,MAAM,WAAW,GACb,QAA0E,CAAA;IAE9E,OAAO;QACH,SAAS,EAAE,WAAW,CAAC,SAAS;QAChC,aAAa,EAAE,WAAW,CAAC,aAAa;QACxC,6BAA6B,EAAE,WAAW,CAAC,6BAA6B;YACpE,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,6BAA6B,CAAC;YACnD,CAAC,CAAC,SAAS;QACf,uBAAuB,EAAE,WAAW,CAAC,uBAAuB;YACxD,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,uBAAuB,CAAC;YAC7C,CAAC,CAAC,SAAS;QACf,OAAO,EAAE,WAAW,CAAC,OAAO;QAC5B,OAAO,EAAE,WAAW,CAAC,OAAO;KACgB,CAAA;AACpD,CAAC"}
@@ -2,7 +2,7 @@ import { concatHex, encodeAbiParameters, encodeFunctionData, toHex } from "viem"
2
2
  import { encodeExecutionMode } from "../actions/erc7579/supportsExecutionMode.js";
3
3
  export function encode7579CallData({ mode, callData }) {
4
4
  if (Array.isArray(callData) && mode?.type !== "batchcall") {
5
- throw new Error(`mode ${mode} does not supported for batchcall calldata`);
5
+ throw new Error(`mode ${JSON.stringify(mode)} does not supported for batchcall calldata`);
6
6
  }
7
7
  const executeAbi = [
8
8
  {
@@ -1 +1 @@
1
- {"version":3,"file":"encode7579CallData.js","sourceRoot":"","sources":["../../utils/encode7579CallData.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,SAAS,EACT,mBAAmB,EACnB,kBAAkB,EAClB,KAAK,EACR,MAAM,MAAM,CAAA;AACb,OAAO,EAGH,mBAAmB,EACtB,MAAM,0CAA0C,CAAA;AAiBjD,MAAM,UAAU,kBAAkB,CAA4B,EAC1D,IAAI,EACJ,QAAQ,EACqB;IAC7B,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,IAAI,KAAK,WAAW,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CACX,QAAQ,IAAI,4CAA4C,CAC3D,CAAA;IACL,CAAC;IAED,MAAM,UAAU,GAAG;QACf;YACI,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,SAAS;YACf,MAAM,EAAE;gBACJ;oBACI,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,SAAS;oBACf,YAAY,EAAE,UAAU;iBAC3B;gBACD;oBACI,IAAI,EAAE,mBAAmB;oBACzB,IAAI,EAAE,OAAO;oBACb,YAAY,EAAE,OAAO;iBACxB;aACJ;YACD,OAAO,EAAE,EAAE;YACX,eAAe,EAAE,SAAS;SAC7B;KACK,CAAA;IAEV,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,OAAO,kBAAkB,CAAC;YACtB,GAAG,EAAE,UAAU;YACf,YAAY,EAAE,SAAS;YACvB,IAAI,EAAE;gBACF,mBAAmB,CAAC,IAAI,CAAC;gBACzB,mBAAmB,CACf;oBACI;wBACI,IAAI,EAAE,gBAAgB;wBACtB,IAAI,EAAE,SAAS;wBACf,UAAU,EAAE;4BACR;gCACI,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,SAAS;6BAClB;4BACD;gCACI,IAAI,EAAE,OAAO;gCACb,IAAI,EAAE,SAAS;6BAClB;4BACD;gCACI,IAAI,EAAE,UAAU;gCAChB,IAAI,EAAE,OAAO;6BAChB;yBACJ;qBACJ;iBACJ,EACD;oBACI,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;wBACjB,OAAO;4BACH,MAAM,EAAE,GAAG,CAAC,EAAE;4BACd,KAAK,EAAE,GAAG,CAAC,KAAK;4BAChB,QAAQ,EAAE,GAAG,CAAC,IAAI;yBACrB,CAAA;oBACL,CAAC,CAAC;iBACL,CACJ;aACJ;SACJ,CAAC,CAAA;IACN,CAAC;IAED,OAAO,kBAAkB,CAAC;QACtB,GAAG,EAAE,UAAU;QACf,YAAY,EAAE,SAAS;QACvB,IAAI,EAAE;YACF,mBAAmB,CAAC,IAAI,CAAC;YACzB,SAAS,CAAC;gBACN,QAAQ,CAAC,EAAE;gBACX,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;gBACnC,QAAQ,CAAC,IAAI;aAChB,CAAC;SACL;KACJ,CAAC,CAAA;AACN,CAAC"}
1
+ {"version":3,"file":"encode7579CallData.js","sourceRoot":"","sources":["../../utils/encode7579CallData.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,SAAS,EACT,mBAAmB,EACnB,kBAAkB,EAClB,KAAK,EACR,MAAM,MAAM,CAAA;AACb,OAAO,EAGH,mBAAmB,EACtB,MAAM,0CAA0C,CAAA;AAiBjD,MAAM,UAAU,kBAAkB,CAA4B,EAC1D,IAAI,EACJ,QAAQ,EACqB;IAC7B,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,IAAI,KAAK,WAAW,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CACX,QAAQ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,4CAA4C,CAC3E,CAAA;IACL,CAAC;IAED,MAAM,UAAU,GAAG;QACf;YACI,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,SAAS;YACf,MAAM,EAAE;gBACJ;oBACI,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,SAAS;oBACf,YAAY,EAAE,UAAU;iBAC3B;gBACD;oBACI,IAAI,EAAE,mBAAmB;oBACzB,IAAI,EAAE,OAAO;oBACb,YAAY,EAAE,OAAO;iBACxB;aACJ;YACD,OAAO,EAAE,EAAE;YACX,eAAe,EAAE,SAAS;SAC7B;KACK,CAAA;IAEV,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,OAAO,kBAAkB,CAAC;YACtB,GAAG,EAAE,UAAU;YACf,YAAY,EAAE,SAAS;YACvB,IAAI,EAAE;gBACF,mBAAmB,CAAC,IAAI,CAAC;gBACzB,mBAAmB,CACf;oBACI;wBACI,IAAI,EAAE,gBAAgB;wBACtB,IAAI,EAAE,SAAS;wBACf,UAAU,EAAE;4BACR;gCACI,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,SAAS;6BAClB;4BACD;gCACI,IAAI,EAAE,OAAO;gCACb,IAAI,EAAE,SAAS;6BAClB;4BACD;gCACI,IAAI,EAAE,UAAU;gCAChB,IAAI,EAAE,OAAO;6BAChB;yBACJ;qBACJ;iBACJ,EACD;oBACI,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;wBACjB,OAAO;4BACH,MAAM,EAAE,GAAG,CAAC,EAAE;4BACd,KAAK,EAAE,GAAG,CAAC,KAAK;4BAChB,QAAQ,EAAE,GAAG,CAAC,IAAI;yBACrB,CAAA;oBACL,CAAC,CAAC;iBACL,CACJ;aACJ;SACJ,CAAC,CAAA;IACN,CAAC;IAED,OAAO,kBAAkB,CAAC;QACtB,GAAG,EAAE,UAAU;QACf,YAAY,EAAE,SAAS;QACvB,IAAI,EAAE;YACF,mBAAmB,CAAC,IAAI,CAAC;YACzB,SAAS,CAAC;gBACN,QAAQ,CAAC,EAAE;gBACX,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;gBACnC,QAAQ,CAAC,IAAI;aAChB,CAAC;SACL;KACJ,CAAC,CAAA;AACN,CAAC"}
@@ -5,9 +5,9 @@ import type { EntryPoint } from "../../types/entrypoint";
5
5
  export type CallType = "call" | "delegatecall" | "batchcall";
6
6
  export type ExecutionMode<callType extends CallType> = {
7
7
  type: callType;
8
- revertOnError: boolean;
9
- selector: Hex;
10
- context: Hex;
8
+ revertOnError?: boolean;
9
+ selector?: Hex;
10
+ context?: Hex;
11
11
  };
12
12
  export type SupportsExecutionModeParameters<TEntryPoint extends EntryPoint, TSmartAccount extends SmartAccount<TEntryPoint> | undefined = SmartAccount<TEntryPoint> | undefined, callType extends CallType = CallType> = GetAccountParameter<TEntryPoint, TSmartAccount> & ExecutionMode<callType>;
13
13
  export declare function encodeExecutionMode<callType extends CallType>({ type, revertOnError, selector, context }: ExecutionMode<callType>): Hex;
@@ -1 +1 @@
1
- {"version":3,"file":"supportsExecutionMode.d.ts","sourceRoot":"","sources":["../../../actions/erc7579/supportsExecutionMode.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,KAAK,EACV,KAAK,MAAM,EAEX,KAAK,GAAG,EACR,KAAK,SAAS,EAMjB,MAAM,MAAM,CAAA;AACb,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,KAAK,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAIxD,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,cAAc,GAAG,WAAW,CAAA;AAE5D,MAAM,MAAM,aAAa,CAAC,QAAQ,SAAS,QAAQ,IAAI;IACnD,IAAI,EAAE,QAAQ,CAAA;IACd,aAAa,EAAE,OAAO,CAAA;IACtB,QAAQ,EAAE,GAAG,CAAA;IACb,OAAO,EAAE,GAAG,CAAA;CACf,CAAA;AAED,MAAM,MAAM,+BAA+B,CACvC,WAAW,SAAS,UAAU,EAC9B,aAAa,SAAS,YAAY,CAAC,WAAW,CAAC,GAAG,SAAS,GACrD,YAAY,CAAC,WAAW,CAAC,GACzB,SAAS,EACf,QAAQ,SAAS,QAAQ,GAAG,QAAQ,IACpC,mBAAmB,CAAC,WAAW,EAAE,aAAa,CAAC,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAA;AAa7E,wBAAgB,mBAAmB,CAAC,QAAQ,SAAS,QAAQ,EAAE,EAC3D,IAAI,EACJ,aAAa,EACb,QAAQ,EACR,OAAO,EACV,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,GAAG,CAW/B;AAED,wBAAsB,qBAAqB,CACvC,WAAW,SAAS,UAAU,EAC9B,aAAa,SAAS,YAAY,CAAC,WAAW,CAAC,GAAG,SAAS,EAC3D,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EAEpD,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,CAAC,EACjD,IAAI,EAAE,QAAQ,CAAC,+BAA+B,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,GAC5E,OAAO,CAAC,OAAO,CAAC,CAiFlB"}
1
+ {"version":3,"file":"supportsExecutionMode.d.ts","sourceRoot":"","sources":["../../../actions/erc7579/supportsExecutionMode.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,KAAK,EACV,KAAK,MAAM,EAEX,KAAK,GAAG,EACR,KAAK,SAAS,EAMjB,MAAM,MAAM,CAAA;AACb,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,KAAK,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAIxD,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,cAAc,GAAG,WAAW,CAAA;AAE5D,MAAM,MAAM,aAAa,CAAC,QAAQ,SAAS,QAAQ,IAAI;IACnD,IAAI,EAAE,QAAQ,CAAA;IACd,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,EAAE,GAAG,CAAA;IACd,OAAO,CAAC,EAAE,GAAG,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,+BAA+B,CACvC,WAAW,SAAS,UAAU,EAC9B,aAAa,SAAS,YAAY,CAAC,WAAW,CAAC,GAAG,SAAS,GACrD,YAAY,CAAC,WAAW,CAAC,GACzB,SAAS,EACf,QAAQ,SAAS,QAAQ,GAAG,QAAQ,IACpC,mBAAmB,CAAC,WAAW,EAAE,aAAa,CAAC,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAA;AAa7E,wBAAgB,mBAAmB,CAAC,QAAQ,SAAS,QAAQ,EAAE,EAC3D,IAAI,EACJ,aAAa,EACb,QAAQ,EACR,OAAO,EACV,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,GAAG,CAW/B;AAED,wBAAsB,qBAAqB,CACvC,WAAW,SAAS,UAAU,EAC9B,aAAa,SAAS,YAAY,CAAC,WAAW,CAAC,GAAG,SAAS,EAC3D,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EAEpD,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,CAAC,EACjD,IAAI,EAAE,QAAQ,CAAC,+BAA+B,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,GAC5E,OAAO,CAAC,OAAO,CAAC,CAiFlB"}
@@ -43,11 +43,21 @@ export type GetPaymasterStubDataParameters<TEntryPoint extends EntryPoint, TChai
43
43
  } & GetChainParameter<TChain, TChainOverride>;
44
44
  export type GetPaymasterStubDataReturnType<TEntryPoint extends EntryPoint> = GetEntryPointVersion<TEntryPoint> extends "v0.6" ? {
45
45
  paymasterAndData: Hex;
46
+ sponsor?: {
47
+ name: string;
48
+ icon?: string;
49
+ };
50
+ isFinal?: boolean;
46
51
  } : {
47
52
  paymaster: Hex;
48
53
  paymasterData: Hex;
49
54
  paymasterVerificationGasLimit?: bigint;
50
55
  paymasterPostOpGasLimit?: bigint;
56
+ sponsor?: {
57
+ name: string;
58
+ icon?: string;
59
+ };
60
+ isFinal?: boolean;
51
61
  };
52
62
  export declare function getPaymasterStubData<TEntryPoint extends EntryPoint, TChain extends Chain | undefined, TTransport extends Transport = Transport, TChainOverride extends Chain | undefined = Chain | undefined>(client: Client<TTransport, TChain, undefined, Eip7677RpcSchema<TEntryPoint>>, { userOperation, entryPoint, context, chain }: GetPaymasterStubDataParameters<TEntryPoint, TChain, TChainOverride>): Promise<GetPaymasterStubDataReturnType<TEntryPoint>>;
53
63
  //# sourceMappingURL=getPaymasterStubData.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getPaymasterStubData.d.ts","sourceRoot":"","sources":["../../../../experimental/eip7677/actions/getPaymasterStubData.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getPaymasterStubData.d.ts","sourceRoot":"","sources":["../../../../experimental/eip7677/actions/getPaymasterStubData.ts"],"names":[],"mappings":"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"}
@@ -9,11 +9,21 @@ export type GetRpcPaymasterStubDataParameters<entryPoint extends EntryPoint> = [
9
9
  ];
10
10
  export type GetRpcPaymasterStubDataReturnType<entryPoint extends EntryPoint> = GetEntryPointVersion<entryPoint> extends "v0.6" ? {
11
11
  paymasterAndData: Hex;
12
+ sponsor?: {
13
+ name: string;
14
+ icon?: string;
15
+ };
16
+ isFinal?: boolean;
12
17
  } : {
13
18
  paymaster: Hex;
14
19
  paymasterData: Hex;
15
20
  paymasterVerificationGasLimit?: Hex | null;
16
21
  paymasterPostOpGasLimit?: Hex | null;
22
+ sponsor?: {
23
+ name: string;
24
+ icon?: string;
25
+ };
26
+ isFinal?: boolean;
17
27
  };
18
28
  export type GetRpcPaymasterDataParameters<entryPoint extends EntryPoint> = [
19
29
  userOperation: UserOperationWithBigIntAsHex<GetEntryPointVersion<entryPoint>>,
@@ -1 +1 @@
1
- {"version":3,"file":"paymaster.d.ts","sourceRoot":"","sources":["../../../../experimental/eip7677/types/paymaster.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AAC/B,OAAO,KAAK,EACR,UAAU,EACV,oBAAoB,EACvB,MAAM,2BAA2B,CAAA;AAClC,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAA;AAEhF,MAAM,MAAM,iCAAiC,CAAC,UAAU,SAAS,UAAU,IAAI;IAC3E,aAAa,EAAE,4BAA4B,CACvC,oBAAoB,CAAC,UAAU,CAAC,CACnC;IACD,UAAU,EAAE,UAAU;IACtB,OAAO,EAAE,GAAG;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CACpC,CAAA;AAED,MAAM,MAAM,iCAAiC,CAAC,UAAU,SAAS,UAAU,IACvE,oBAAoB,CAAC,UAAU,CAAC,SAAS,MAAM,GACzC;IACI,gBAAgB,EAAE,GAAG,CAAA;CACxB,GACD;IACI,SAAS,EAAE,GAAG,CAAA;IACd,aAAa,EAAE,GAAG,CAAA;IAClB,6BAA6B,CAAC,EAAE,GAAG,GAAG,IAAI,CAAA;IAC1C,uBAAuB,CAAC,EAAE,GAAG,GAAG,IAAI,CAAA;CACvC,CAAA;AAEX,MAAM,MAAM,6BAA6B,CAAC,UAAU,SAAS,UAAU,IAAI;IACvE,aAAa,EAAE,4BAA4B,CACvC,oBAAoB,CAAC,UAAU,CAAC,CACnC;IACD,UAAU,EAAE,UAAU;IACtB,OAAO,EAAE,GAAG;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CACpC,CAAA;AAED,MAAM,MAAM,6BAA6B,CAAC,UAAU,SAAS,UAAU,IACnE,oBAAoB,CAAC,UAAU,CAAC,SAAS,MAAM,GACzC;IACI,gBAAgB,EAAE,GAAG,CAAA;CACxB,GACD;IACI,SAAS,EAAE,GAAG,CAAA;IACd,aAAa,EAAE,GAAG,CAAA;CACrB,CAAA;AAEX,MAAM,MAAM,gBAAgB,CAAC,UAAU,SAAS,UAAU,IAAI;IAC1D;QACI,MAAM,EAAE,yBAAyB,CAAA;QACjC,UAAU,EAAE,iCAAiC,CAAC,UAAU,CAAC,CAAA;QACzD,UAAU,EAAE,iCAAiC,CAAC,UAAU,CAAC,CAAA;KAC5D;IACD;QACI,MAAM,EAAE,qBAAqB,CAAA;QAC7B,UAAU,EAAE,6BAA6B,CAAC,UAAU,CAAC,CAAA;QACrD,UAAU,EAAE,6BAA6B,CAAC,UAAU,CAAC,CAAA;KACxD;CACJ,CAAA"}
1
+ {"version":3,"file":"paymaster.d.ts","sourceRoot":"","sources":["../../../../experimental/eip7677/types/paymaster.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AAC/B,OAAO,KAAK,EACR,UAAU,EACV,oBAAoB,EACvB,MAAM,2BAA2B,CAAA;AAClC,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAA;AAEhF,MAAM,MAAM,iCAAiC,CAAC,UAAU,SAAS,UAAU,IAAI;IAC3E,aAAa,EAAE,4BAA4B,CACvC,oBAAoB,CAAC,UAAU,CAAC,CACnC;IACD,UAAU,EAAE,UAAU;IACtB,OAAO,EAAE,GAAG;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CACpC,CAAA;AAED,MAAM,MAAM,iCAAiC,CAAC,UAAU,SAAS,UAAU,IACvE,oBAAoB,CAAC,UAAU,CAAC,SAAS,MAAM,GACzC;IACI,gBAAgB,EAAE,GAAG,CAAA;IACrB,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACzC,OAAO,CAAC,EAAE,OAAO,CAAA;CACpB,GACD;IACI,SAAS,EAAE,GAAG,CAAA;IACd,aAAa,EAAE,GAAG,CAAA;IAClB,6BAA6B,CAAC,EAAE,GAAG,GAAG,IAAI,CAAA;IAC1C,uBAAuB,CAAC,EAAE,GAAG,GAAG,IAAI,CAAA;IACpC,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACzC,OAAO,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAEX,MAAM,MAAM,6BAA6B,CAAC,UAAU,SAAS,UAAU,IAAI;IACvE,aAAa,EAAE,4BAA4B,CACvC,oBAAoB,CAAC,UAAU,CAAC,CACnC;IACD,UAAU,EAAE,UAAU;IACtB,OAAO,EAAE,GAAG;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CACpC,CAAA;AAED,MAAM,MAAM,6BAA6B,CAAC,UAAU,SAAS,UAAU,IACnE,oBAAoB,CAAC,UAAU,CAAC,SAAS,MAAM,GACzC;IACI,gBAAgB,EAAE,GAAG,CAAA;CACxB,GACD;IACI,SAAS,EAAE,GAAG,CAAA;IACd,aAAa,EAAE,GAAG,CAAA;CACrB,CAAA;AAEX,MAAM,MAAM,gBAAgB,CAAC,UAAU,SAAS,UAAU,IAAI;IAC1D;QACI,MAAM,EAAE,yBAAyB,CAAA;QACjC,UAAU,EAAE,iCAAiC,CAAC,UAAU,CAAC,CAAA;QACzD,UAAU,EAAE,iCAAiC,CAAC,UAAU,CAAC,CAAA;KAC5D;IACD;QACI,MAAM,EAAE,qBAAqB,CAAA;QAC7B,UAAU,EAAE,6BAA6B,CAAC,UAAU,CAAC,CAAA;QACrD,UAAU,EAAE,6BAA6B,CAAC,UAAU,CAAC,CAAA;KACxD;CACJ,CAAA"}
@@ -63,6 +63,59 @@ describe.each(getCoreSmartAccounts())(
63
63
  supportsExecutionModeBatchCallBeforeDeployPostDeploy
64
64
  ).toBe(true)
65
65
 
66
+ expect(supportsExecutionModeBatchCallBeforeDeploy).toBe(
67
+ supportsExecutionModeBatchCallBeforeDeployPostDeploy
68
+ )
69
+ }
70
+ )
71
+ testWithRpc.skipIf(!getErc7579SmartAccountClient)(
72
+ "supportsExecutionMode",
73
+ async ({ rpc }) => {
74
+ const { anvilRpc, altoRpc, paymasterRpc } = rpc
75
+
76
+ if (!getErc7579SmartAccountClient) {
77
+ throw new Error("getErc7579SmartAccountClient not defined")
78
+ }
79
+
80
+ const smartClient = await getErc7579SmartAccountClient({
81
+ entryPoint: ENTRYPOINT_ADDRESS_V07,
82
+ privateKey: generatePrivateKey(),
83
+ altoRpc: altoRpc,
84
+ anvilRpc: anvilRpc,
85
+ paymasterClient: getPimlicoPaymasterClient({
86
+ entryPoint: ENTRYPOINT_ADDRESS_V07,
87
+ paymasterRpc
88
+ })
89
+ })
90
+
91
+ const supportsExecutionModeBatchCallBeforeDeploy =
92
+ await supportsExecutionMode(smartClient as any, {
93
+ account: smartClient.account as any,
94
+ type: "delegatecall"
95
+ })
96
+
97
+ expect(supportsExecutionModeBatchCallBeforeDeploy).toBe(true)
98
+
99
+ // deploy account
100
+ await smartClient.sendTransaction({
101
+ to: zeroAddress,
102
+ value: 0n,
103
+ data: "0x"
104
+ })
105
+
106
+ const supportsExecutionModeBatchCallBeforeDeployPostDeploy =
107
+ await supportsExecutionMode(smartClient as any, {
108
+ account: smartClient.account as any,
109
+ type: "batchcall",
110
+ revertOnError: false,
111
+ selector: "0x0",
112
+ context: "0x"
113
+ })
114
+
115
+ expect(
116
+ supportsExecutionModeBatchCallBeforeDeployPostDeploy
117
+ ).toBe(true)
118
+
66
119
  expect(supportsExecutionModeBatchCallBeforeDeploy).toBe(
67
120
  supportsExecutionModeBatchCallBeforeDeployPostDeploy
68
121
  )
@@ -20,9 +20,9 @@ export type CallType = "call" | "delegatecall" | "batchcall"
20
20
 
21
21
  export type ExecutionMode<callType extends CallType> = {
22
22
  type: callType
23
- revertOnError: boolean
24
- selector: Hex
25
- context: Hex
23
+ revertOnError?: boolean
24
+ selector?: Hex
25
+ context?: Hex
26
26
  }
27
27
 
28
28
  export type SupportsExecutionModeParameters<
@@ -33,8 +33,8 @@ export type SupportsExecutionModeParameters<
33
33
  callType extends CallType = CallType
34
34
  > = GetAccountParameter<TEntryPoint, TSmartAccount> & ExecutionMode<callType>
35
35
 
36
- function parseCallType(executionMode: CallType) {
37
- switch (executionMode) {
36
+ function parseCallType(callType: CallType) {
37
+ switch (callType) {
38
38
  case "call":
39
39
  return "0x00"
40
40
  case "delegatecall":
@@ -56,8 +56,8 @@ export function encodeExecutionMode<callType extends CallType>({
56
56
  toHex(toBytes(parseCallType(type), { size: 1 })),
57
57
  toHex(toBytes(revertOnError ? "0x01" : "0x00", { size: 1 })),
58
58
  toHex(toBytes("0x0", { size: 4 })),
59
- toHex(toBytes(selector, { size: 4 })),
60
- toHex(toBytes(context, { size: 22 }))
59
+ toHex(toBytes(selector ?? "0x", { size: 4 })),
60
+ toHex(toBytes(context ?? "0x", { size: 22 }))
61
61
  ]
62
62
  )
63
63
  }