permissionless 0.0.18 → 0.0.19

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 (70) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/_cjs/accounts/biconomy/signerToBiconomySmartAccount.js +1 -1
  3. package/_cjs/accounts/biconomy/signerToBiconomySmartAccount.js.map +1 -1
  4. package/_cjs/accounts/index.js +3 -1
  5. package/_cjs/accounts/index.js.map +1 -1
  6. package/_cjs/accounts/kernel/signerToEcdsaKernelSmartAccount.js +1 -1
  7. package/_cjs/accounts/kernel/signerToEcdsaKernelSmartAccount.js.map +1 -1
  8. package/_cjs/accounts/signerToSafeSmartAccount.js +1 -1
  9. package/_cjs/accounts/signerToSafeSmartAccount.js.map +1 -1
  10. package/_cjs/accounts/signerToSimpleSmartAccount.js +1 -1
  11. package/_cjs/accounts/signerToSimpleSmartAccount.js.map +1 -1
  12. package/_cjs/actions/pimlico/sponsorUserOperation.js +3 -1
  13. package/_cjs/actions/pimlico/sponsorUserOperation.js.map +1 -1
  14. package/_cjs/actions/smartAccount/prepareUserOperationRequest.js +7 -11
  15. package/_cjs/actions/smartAccount/prepareUserOperationRequest.js.map +1 -1
  16. package/_cjs/actions/smartAccount.js +3 -1
  17. package/_cjs/actions/smartAccount.js.map +1 -1
  18. package/_cjs/actions/stackup/sponsorUserOperation.js +3 -1
  19. package/_cjs/actions/stackup/sponsorUserOperation.js.map +1 -1
  20. package/_cjs/utils/index.js +6 -1
  21. package/_cjs/utils/index.js.map +1 -1
  22. package/_esm/accounts/biconomy/signerToBiconomySmartAccount.js +1 -1
  23. package/_esm/accounts/biconomy/signerToBiconomySmartAccount.js.map +1 -1
  24. package/_esm/accounts/index.js +2 -1
  25. package/_esm/accounts/index.js.map +1 -1
  26. package/_esm/accounts/kernel/signerToEcdsaKernelSmartAccount.js +1 -1
  27. package/_esm/accounts/kernel/signerToEcdsaKernelSmartAccount.js.map +1 -1
  28. package/_esm/accounts/signerToSafeSmartAccount.js +1 -1
  29. package/_esm/accounts/signerToSafeSmartAccount.js.map +1 -1
  30. package/_esm/accounts/signerToSimpleSmartAccount.js +1 -1
  31. package/_esm/accounts/signerToSimpleSmartAccount.js.map +1 -1
  32. package/_esm/actions/pimlico/sponsorUserOperation.js +3 -1
  33. package/_esm/actions/pimlico/sponsorUserOperation.js.map +1 -1
  34. package/_esm/actions/smartAccount/prepareUserOperationRequest.js +7 -11
  35. package/_esm/actions/smartAccount/prepareUserOperationRequest.js.map +1 -1
  36. package/_esm/actions/smartAccount.js +2 -1
  37. package/_esm/actions/smartAccount.js.map +1 -1
  38. package/_esm/actions/stackup/sponsorUserOperation.js +3 -1
  39. package/_esm/actions/stackup/sponsorUserOperation.js.map +1 -1
  40. package/_esm/utils/index.js +3 -1
  41. package/_esm/utils/index.js.map +1 -1
  42. package/_types/accounts/index.d.ts +2 -1
  43. package/_types/accounts/index.d.ts.map +1 -1
  44. package/_types/accounts/types.d.ts +2 -2
  45. package/_types/accounts/types.d.ts.map +1 -1
  46. package/_types/actions/pimlico/sponsorUserOperation.d.ts +2 -7
  47. package/_types/actions/pimlico/sponsorUserOperation.d.ts.map +1 -1
  48. package/_types/actions/smartAccount/prepareUserOperationRequest.d.ts +2 -7
  49. package/_types/actions/smartAccount/prepareUserOperationRequest.d.ts.map +1 -1
  50. package/_types/actions/smartAccount.d.ts +2 -1
  51. package/_types/actions/smartAccount.d.ts.map +1 -1
  52. package/_types/actions/stackup/sponsorUserOperation.d.ts +2 -7
  53. package/_types/actions/stackup/sponsorUserOperation.d.ts.map +1 -1
  54. package/_types/utils/index.d.ts +4 -2
  55. package/_types/utils/index.d.ts.map +1 -1
  56. package/_types/utils/signUserOperationHashWithECDSA.d.ts +2 -2
  57. package/accounts/biconomy/signerToBiconomySmartAccount.ts +1 -1
  58. package/accounts/index.ts +3 -0
  59. package/accounts/kernel/signerToEcdsaKernelSmartAccount.ts +1 -1
  60. package/accounts/signerToSafeSmartAccount.ts +1 -1
  61. package/accounts/signerToSimpleSmartAccount.ts +1 -1
  62. package/accounts/types.ts +2 -2
  63. package/actions/pimlico/sponsorUserOperation.ts +6 -8
  64. package/actions/smartAccount/prepareUserOperationRequest.ts +10 -23
  65. package/actions/smartAccount.ts +8 -1
  66. package/actions/stackup/sponsorUserOperation.ts +6 -8
  67. package/package.json +1 -1
  68. package/utils/index.ts +7 -0
  69. package/utils/signUserOperationHashWithECDSA.ts +2 -2
  70. package/utils/deepHexlify.test.ts +0 -35
@@ -40,11 +40,13 @@ export const sponsorUserOperation = async (client, args) => {
40
40
  args.entryPoint
41
41
  ]
42
42
  });
43
- return {
43
+ const userOperation = {
44
+ ...args.userOperation,
44
45
  paymasterAndData: response.paymasterAndData,
45
46
  preVerificationGas: BigInt(response.preVerificationGas),
46
47
  verificationGasLimit: BigInt(response.verificationGasLimit),
47
48
  callGasLimit: BigInt(response.callGasLimit)
48
49
  };
50
+ return userOperation;
49
51
  };
50
52
  //# sourceMappingURL=sponsorUserOperation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sponsorUserOperation.js","sourceRoot":"","sources":["../../../actions/pimlico/sponsorUserOperation.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAqBxD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EAKrC,MAAuE,EACvE,IAA2C,EACJ,EAAE;IACzC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAClC,MAAM,EAAE,yBAAyB;QACjC,MAAM,EAAE,IAAI,CAAC,mBAAmB;YAC5B,CAAC,CAAC;gBACI,WAAW,CACP,IAAI,CAAC,aAAa,CACW;gBACjC,IAAI,CAAC,UAAU;gBACf;oBACI,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;iBAChD;aACJ;YACH,CAAC,CAAC;gBACI,WAAW,CACP,IAAI,CAAC,aAAa,CACW;gBACjC,IAAI,CAAC,UAAU;aAClB;KACV,CAAC,CAAA;IAEF,OAAO;QACH,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;QAC3C,kBAAkB,EAAE,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QACvD,oBAAoB,EAAE,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QAC3D,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC;KAC9C,CAAA;AACL,CAAC,CAAA"}
1
+ {"version":3,"file":"sponsorUserOperation.js","sourceRoot":"","sources":["../../../actions/pimlico/sponsorUserOperation.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAgBxD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EAKrC,MAAuE,EACvE,IAA2C,EACJ,EAAE;IACzC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAClC,MAAM,EAAE,yBAAyB;QACjC,MAAM,EAAE,IAAI,CAAC,mBAAmB;YAC5B,CAAC,CAAC;gBACI,WAAW,CACP,IAAI,CAAC,aAAa,CACW;gBACjC,IAAI,CAAC,UAAU;gBACf;oBACI,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;iBAChD;aACJ;YACH,CAAC,CAAC;gBACI,WAAW,CACP,IAAI,CAAC,aAAa,CACW;gBACjC,IAAI,CAAC,UAAU;aAClB;KACV,CAAC,CAAA;IAEF,MAAM,aAAa,GAAkB;QACjC,GAAG,IAAI,CAAC,aAAa;QACrB,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;QAC3C,kBAAkB,EAAE,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QACvD,oBAAoB,EAAE,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QAC3D,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC;KAC9C,CAAA;IAED,OAAO,aAAa,CAAA;AACxB,CAAC,CAAA"}
@@ -7,24 +7,23 @@ export async function prepareUserOperationRequest(client, args) {
7
7
  if (!account_)
8
8
  throw new AccountOrClientNotFoundError();
9
9
  const account = parseAccount(account_);
10
- const [sender, nonce, initCode, signature, callData, gasEstimation] = await Promise.all([
10
+ const [sender, nonce, initCode, callData, gasEstimation] = await Promise.all([
11
11
  partialUserOperation.sender || account.address,
12
12
  partialUserOperation.nonce || account.getNonce(),
13
13
  partialUserOperation.initCode || account.getInitCode(),
14
- partialUserOperation.signature || account.getDummySignature(),
15
14
  partialUserOperation.callData,
16
15
  !partialUserOperation.maxFeePerGas ||
17
16
  !partialUserOperation.maxPriorityFeePerGas
18
17
  ? estimateFeesPerGas(account.client)
19
18
  : undefined
20
19
  ]);
21
- const userOperation = {
20
+ let userOperation = {
22
21
  sender,
23
22
  nonce,
24
23
  initCode,
25
- signature,
26
24
  callData,
27
25
  paymasterAndData: "0x",
26
+ signature: partialUserOperation.signature || "0x",
28
27
  maxFeePerGas: partialUserOperation.maxFeePerGas ||
29
28
  gasEstimation?.maxFeePerGas ||
30
29
  0n,
@@ -35,17 +34,14 @@ export async function prepareUserOperationRequest(client, args) {
35
34
  verificationGasLimit: partialUserOperation.verificationGasLimit || 0n,
36
35
  preVerificationGas: partialUserOperation.preVerificationGas || 0n
37
36
  };
37
+ if (userOperation.signature === "0x") {
38
+ userOperation.signature = await account.getDummySignature(userOperation);
39
+ }
38
40
  if (sponsorUserOperation) {
39
- const { callGasLimit, verificationGasLimit, preVerificationGas, paymasterAndData } = await sponsorUserOperation({
41
+ userOperation = await sponsorUserOperation({
40
42
  userOperation,
41
43
  entryPoint: account.entryPoint
42
44
  });
43
- userOperation.paymasterAndData = paymasterAndData;
44
- userOperation.callGasLimit = userOperation.callGasLimit || callGasLimit;
45
- userOperation.verificationGasLimit =
46
- userOperation.verificationGasLimit || verificationGasLimit;
47
- userOperation.preVerificationGas =
48
- userOperation.preVerificationGas || preVerificationGas;
49
45
  }
50
46
  else if (!userOperation.callGasLimit ||
51
47
  !userOperation.verificationGasLimit ||
@@ -1 +1 @@
1
- {"version":3,"file":"prepareUserOperationRequest.js","sourceRoot":"","sources":["../../../actions/smartAccount/prepareUserOperationRequest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prepareUserOperationRequest.js","sourceRoot":"","sources":["../../../actions/smartAccount/prepareUserOperationRequest.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAOjD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EACH,4BAA4B,EAC5B,YAAY,EACf,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAA;AA8BjF,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAK7C,MAA4C,EAC5C,IAAqD;IAErD,MAAM,EACF,OAAO,EAAE,QAAQ,GAAG,MAAM,CAAC,OAAO,EAClC,aAAa,EAAE,oBAAoB,EACnC,oBAAoB,EACvB,GAAG,IAAI,CAAA;IACR,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,4BAA4B,EAAE,CAAA;IAEvD,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAiB,CAAA;IAEtD,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,CAAC,GACpD,MAAM,OAAO,CAAC,GAAG,CAAC;QACd,oBAAoB,CAAC,MAAM,IAAI,OAAO,CAAC,OAAO;QAC9C,oBAAoB,CAAC,KAAK,IAAI,OAAO,CAAC,QAAQ,EAAE;QAChD,oBAAoB,CAAC,QAAQ,IAAI,OAAO,CAAC,WAAW,EAAE;QACtD,oBAAoB,CAAC,QAAQ;QAC7B,CAAC,oBAAoB,CAAC,YAAY;YAClC,CAAC,oBAAoB,CAAC,oBAAoB;YACtC,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC;YACpC,CAAC,CAAC,SAAS;KAClB,CAAC,CAAA;IAEN,IAAI,aAAa,GAAkB;QAC/B,MAAM;QACN,KAAK;QACL,QAAQ;QACR,QAAQ;QACR,gBAAgB,EAAE,IAAI;QACtB,SAAS,EAAE,oBAAoB,CAAC,SAAS,IAAI,IAAI;QACjD,YAAY,EACR,oBAAoB,CAAC,YAAY;YACjC,aAAa,EAAE,YAAY;YAC3B,EAAE;QACN,oBAAoB,EAChB,oBAAoB,CAAC,oBAAoB;YACzC,aAAa,EAAE,oBAAoB;YACnC,EAAE;QACN,YAAY,EAAE,oBAAoB,CAAC,YAAY,IAAI,EAAE;QACrD,oBAAoB,EAAE,oBAAoB,CAAC,oBAAoB,IAAI,EAAE;QACrE,kBAAkB,EAAE,oBAAoB,CAAC,kBAAkB,IAAI,EAAE;KACpE,CAAA;IAED,IAAI,aAAa,CAAC,SAAS,KAAK,IAAI,EAAE;QAClC,aAAa,CAAC,SAAS,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAA;KAC3E;IAED,IAAI,oBAAoB,EAAE;QACtB,aAAa,GAAG,MAAM,oBAAoB,CAAC;YACvC,aAAa;YACb,UAAU,EAAE,OAAO,CAAC,UAAU;SACjC,CAAC,CAAA;KACL;SAAM,IACH,CAAC,aAAa,CAAC,YAAY;QAC3B,CAAC,aAAa,CAAC,oBAAoB;QACnC,CAAC,aAAa,CAAC,kBAAkB,EACnC;QACE,MAAM,aAAa,GAAG,MAAM,SAAS,CACjC,MAAM,EACN,wBAAwB,CAC3B,CAAC;YACE,aAAa,EAAE;gBACX,GAAG,aAAa;aACnB;YACD,UAAU,EAAE,OAAO,CAAC,UAAU;SACjC,CAAC,CAAA;QAEF,aAAa,CAAC,YAAY;YACtB,aAAa,CAAC,YAAY,IAAI,aAAa,CAAC,YAAY,CAAA;QAC5D,aAAa,CAAC,oBAAoB;YAC9B,aAAa,CAAC,oBAAoB;gBAClC,aAAa,CAAC,oBAAoB,CAAA;QACtC,aAAa,CAAC,kBAAkB;YAC5B,aAAa,CAAC,kBAAkB,IAAI,aAAa,CAAC,kBAAkB,CAAA;KAC3E;IAED,OAAO,aAAa,CAAA;AACxB,CAAC"}
@@ -5,5 +5,6 @@ import { sendUserOperation } from "./smartAccount/sendUserOperation.js";
5
5
  import { signMessage } from "./smartAccount/signMessage.js";
6
6
  import { signTypedData } from "./smartAccount/signTypedData.js";
7
7
  import { sendTransactions } from "./smartAccount/sendTransactions.js";
8
- export { deployContract, prepareUserOperationRequest, sendTransaction, sendUserOperation, signMessage, signTypedData, sendTransactions };
8
+ import { writeContract } from "./smartAccount/writeContract.js";
9
+ export { deployContract, prepareUserOperationRequest, sendTransaction, sendUserOperation, signMessage, signTypedData, sendTransactions, writeContract };
9
10
  //# sourceMappingURL=smartAccount.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"smartAccount.js","sourceRoot":"","sources":["../../actions/smartAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,cAAc,EACjB,MAAM,kCAAkC,CAAA;AAEzC,OAAO,EAIH,2BAA2B,EAC9B,MAAM,+CAA+C,CAAA;AAEtD,OAAO,EAEH,eAAe,EAClB,MAAM,mCAAmC,CAAA;AAE1C,OAAO,EAGH,iBAAiB,EACpB,MAAM,qCAAqC,CAAA;AAE5C,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAE/D,OAAO,EAEH,gBAAgB,EACnB,MAAM,oCAAoC,CAAA;AAE3C,OAAO,EACH,cAAc,EAEd,2BAA2B,EAG3B,eAAe,EACf,iBAAiB,EAGjB,WAAW,EACX,aAAa,EAGb,gBAAgB,EAEnB,CAAA"}
1
+ {"version":3,"file":"smartAccount.js","sourceRoot":"","sources":["../../actions/smartAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,cAAc,EACjB,MAAM,kCAAkC,CAAA;AAEzC,OAAO,EAIH,2BAA2B,EAC9B,MAAM,+CAA+C,CAAA;AAEtD,OAAO,EAEH,eAAe,EAClB,MAAM,mCAAmC,CAAA;AAE1C,OAAO,EAGH,iBAAiB,EACpB,MAAM,qCAAqC,CAAA;AAE5C,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAE/D,OAAO,EAEH,gBAAgB,EACnB,MAAM,oCAAoC,CAAA;AAE3C,OAAO,EAEH,aAAa,EAChB,MAAM,iCAAiC,CAAA;AAExC,OAAO,EACH,cAAc,EAEd,2BAA2B,EAG3B,eAAe,EACf,iBAAiB,EAGjB,WAAW,EACX,aAAa,EAGb,gBAAgB,EAGhB,aAAa,EAChB,CAAA"}
@@ -34,11 +34,13 @@ export const sponsorUserOperation = async (client, args) => {
34
34
  args.context
35
35
  ]
36
36
  });
37
- return {
37
+ const userOperation = {
38
+ ...args.userOperation,
38
39
  paymasterAndData: response.paymasterAndData,
39
40
  preVerificationGas: BigInt(response.preVerificationGas),
40
41
  verificationGasLimit: BigInt(response.verificationGasLimit),
41
42
  callGasLimit: BigInt(response.callGasLimit)
42
43
  };
44
+ return userOperation;
43
45
  };
44
46
  //# sourceMappingURL=sponsorUserOperation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sponsorUserOperation.js","sourceRoot":"","sources":["../../../actions/stackup/sponsorUserOperation.ts"],"names":[],"mappings":"AAEA,OAAO,EAA+B,MAAM,0BAA0B,CAAA;AAMtE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAqBxD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EACrC,MAA8B,EAC9B,IAAoC,EACG,EAAE;IACzC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAClC,MAAM,EAAE,yBAAyB;QACjC,MAAM,EAAE;YACJ,WAAW,CAAC,IAAI,CAAC,aAAa,CAAiC;YAC/D,IAAI,CAAC,UAAU;YACf,IAAI,CAAC,OAAO;SACf;KACJ,CAAC,CAAA;IAEF,OAAO;QACH,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;QAC3C,kBAAkB,EAAE,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QACvD,oBAAoB,EAAE,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QAC3D,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC;KAC9C,CAAA;AACL,CAAC,CAAA"}
1
+ {"version":3,"file":"sponsorUserOperation.js","sourceRoot":"","sources":["../../../actions/stackup/sponsorUserOperation.ts"],"names":[],"mappings":"AAEA,OAAO,EAA+B,MAAM,0BAA0B,CAAA;AAMtE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAgBxD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EACrC,MAA8B,EAC9B,IAAoC,EACG,EAAE;IACzC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAClC,MAAM,EAAE,yBAAyB;QACjC,MAAM,EAAE;YACJ,WAAW,CAAC,IAAI,CAAC,aAAa,CAAiC;YAC/D,IAAI,CAAC,UAAU;YACf,IAAI,CAAC,OAAO;SACf;KACJ,CAAC,CAAA;IAEF,MAAM,aAAa,GAAkB;QACjC,GAAG,IAAI,CAAC,aAAa;QACrB,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;QAC3C,kBAAkB,EAAE,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QACvD,oBAAoB,EAAE,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QAC3D,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC;KAC9C,CAAA;IAED,OAAO,aAAa,CAAA;AACxB,CAAC,CAAA"}
@@ -1,3 +1,5 @@
1
+ import { deepHexlify, transactionReceiptStatus } from "./deepHexlify.js";
2
+ import { getAction } from "./getAction.js";
1
3
  import { getRequiredPrefund } from "./getRequiredPrefund.js";
2
4
  import { getUserOperationHash } from "./getUserOperationHash.js";
3
5
  import { AccountOrClientNotFoundError, signUserOperationHashWithECDSA } from "./signUserOperationHashWithECDSA.js";
@@ -7,5 +9,5 @@ export function parseAccount(account) {
7
9
  return { address: account, type: "json-rpc" };
8
10
  return account;
9
11
  }
10
- export { getUserOperationHash, getRequiredPrefund, walletClientToCustomSigner, signUserOperationHashWithECDSA, AccountOrClientNotFoundError };
12
+ export { transactionReceiptStatus, deepHexlify, getAction, getUserOperationHash, getRequiredPrefund, walletClientToCustomSigner, signUserOperationHashWithECDSA, AccountOrClientNotFoundError };
11
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../utils/index.ts"],"names":[],"mappings":"AACA,OAAO,EAEH,kBAAkB,EACrB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAEH,oBAAoB,EACvB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EACH,4BAA4B,EAC5B,8BAA8B,EACjC,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAA;AAE5E,MAAM,UAAU,YAAY,CAAC,OAA0B;IACnD,IAAI,OAAO,OAAO,KAAK,QAAQ;QAC3B,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAA;IACjD,OAAO,OAAO,CAAA;AAClB,CAAC;AAED,OAAO,EACH,oBAAoB,EACpB,kBAAkB,EAClB,0BAA0B,EAG1B,8BAA8B,EAC9B,4BAA4B,EAC/B,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../utils/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAA;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAEH,kBAAkB,EACrB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAEH,oBAAoB,EACvB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EACH,4BAA4B,EAE5B,8BAA8B,EACjC,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAA;AAE5E,MAAM,UAAU,YAAY,CAAC,OAA0B;IACnD,IAAI,OAAO,OAAO,KAAK,QAAQ;QAC3B,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAA;IACjD,OAAO,OAAO,CAAA;AAClB,CAAC;AAED,OAAO,EACH,wBAAwB,EACxB,WAAW,EACX,SAAS,EACT,oBAAoB,EACpB,kBAAkB,EAClB,0BAA0B,EAG1B,8BAA8B,EAE9B,4BAA4B,EAC/B,CAAA"}
@@ -4,6 +4,7 @@ import { privateKeyToSafeSmartAccount } from "./privateKeyToSafeSmartAccount.js"
4
4
  import { type SafeSmartAccount, type SafeVersion, signerToSafeSmartAccount } from "./signerToSafeSmartAccount.js";
5
5
  import { type KernelEcdsaSmartAccount, signerToEcdsaKernelSmartAccount } from "./kernel/signerToEcdsaKernelSmartAccount.js";
6
6
  import { type BiconomySmartAccount, signerToBiconomySmartAccount } from "./biconomy/signerToBiconomySmartAccount.js";
7
+ import { privateKeyToBiconomySmartAccount } from "./biconomy/privateKeyToBiconomySmartAccount.js";
7
8
  import { SignTransactionNotSupportedBySmartAccount, type SmartAccount, type SmartAccountSigner } from "./types.js";
8
- export { type SafeVersion, type SmartAccountSigner, type SafeSmartAccount, signerToSafeSmartAccount, type SimpleSmartAccount, signerToSimpleSmartAccount, SignTransactionNotSupportedBySmartAccount, privateKeyToSimpleSmartAccount, type SmartAccount, privateKeyToSafeSmartAccount, type KernelEcdsaSmartAccount, signerToEcdsaKernelSmartAccount, type BiconomySmartAccount, signerToBiconomySmartAccount };
9
+ export { type SafeVersion, type SmartAccountSigner, type SafeSmartAccount, signerToSafeSmartAccount, type SimpleSmartAccount, signerToSimpleSmartAccount, SignTransactionNotSupportedBySmartAccount, privateKeyToBiconomySmartAccount, privateKeyToSimpleSmartAccount, type SmartAccount, privateKeyToSafeSmartAccount, type KernelEcdsaSmartAccount, signerToEcdsaKernelSmartAccount, type BiconomySmartAccount, signerToBiconomySmartAccount };
9
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../accounts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAA;AAEpF,OAAO,EACH,KAAK,kBAAkB,EACvB,0BAA0B,EAC7B,MAAM,iCAAiC,CAAA;AAExC,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAA;AAEhF,OAAO,EACH,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,wBAAwB,EAC3B,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EACH,KAAK,uBAAuB,EAC5B,+BAA+B,EAClC,MAAM,6CAA6C,CAAA;AAEpD,OAAO,EACH,KAAK,oBAAoB,EACzB,4BAA4B,EAC/B,MAAM,4CAA4C,CAAA;AAEnD,OAAO,EACH,yCAAyC,EACzC,KAAK,YAAY,EACjB,KAAK,kBAAkB,EAC1B,MAAM,YAAY,CAAA;AAEnB,OAAO,EACH,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,wBAAwB,EACxB,KAAK,kBAAkB,EACvB,0BAA0B,EAC1B,yCAAyC,EACzC,8BAA8B,EAC9B,KAAK,YAAY,EACjB,4BAA4B,EAC5B,KAAK,uBAAuB,EAC5B,+BAA+B,EAC/B,KAAK,oBAAoB,EACzB,4BAA4B,EAC/B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../accounts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAA;AAEpF,OAAO,EACH,KAAK,kBAAkB,EACvB,0BAA0B,EAC7B,MAAM,iCAAiC,CAAA;AAExC,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAA;AAEhF,OAAO,EACH,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,wBAAwB,EAC3B,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EACH,KAAK,uBAAuB,EAC5B,+BAA+B,EAClC,MAAM,6CAA6C,CAAA;AAEpD,OAAO,EACH,KAAK,oBAAoB,EACzB,4BAA4B,EAC/B,MAAM,4CAA4C,CAAA;AAEnD,OAAO,EAAE,gCAAgC,EAAE,MAAM,gDAAgD,CAAA;AAEjG,OAAO,EACH,yCAAyC,EACzC,KAAK,YAAY,EACjB,KAAK,kBAAkB,EAC1B,MAAM,YAAY,CAAA;AAEnB,OAAO,EACH,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,wBAAwB,EACxB,KAAK,kBAAkB,EACvB,0BAA0B,EAC1B,yCAAyC,EACzC,gCAAgC,EAChC,8BAA8B,EAC9B,KAAK,YAAY,EACjB,4BAA4B,EAC5B,KAAK,uBAAuB,EAC5B,+BAA+B,EAC/B,KAAK,oBAAoB,EACzB,4BAA4B,EAC/B,CAAA"}
@@ -21,12 +21,12 @@ export type SmartAccount<Name extends string = string, transport extends Transpo
21
21
  value: bigint;
22
22
  data: Hex;
23
23
  }[]) => Promise<Hex>;
24
- getDummySignature(): Promise<Hex>;
24
+ getDummySignature(userOperation: UserOperation): Promise<Hex>;
25
25
  encodeDeployCallData: <TAbi extends Abi | readonly unknown[] = Abi>({ abi, args, bytecode }: {
26
26
  abi: TAbi;
27
27
  bytecode: Hex;
28
28
  } & GetConstructorArgs<TAbi>) => Promise<Hex>;
29
- signUserOperation: (UserOperation: UserOperation) => Promise<Hex>;
29
+ signUserOperation: (userOperation: UserOperation) => Promise<Hex>;
30
30
  };
31
31
  export type SmartAccountSigner<TSource extends string, TAddress extends Address = Address> = Omit<LocalAccount<TSource, TAddress>, "signTransaction">;
32
32
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../accounts/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,GAAG,EACR,KAAK,OAAO,EACZ,SAAS,EACT,KAAK,MAAM,EACX,KAAK,kBAAkB,EACvB,KAAK,GAAG,EACR,KAAK,YAAY,EACpB,MAAM,MAAM,CAAA;AACb,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,MAAM,CAAA;AAC5C,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAEtD,qBAAa,yCAA0C,SAAQ,SAAS;IAC3D,IAAI,SAA8C;gBAC/C,EAAE,QAAQ,EAAE,GAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAO;CAYvD;AAED,MAAM,MAAM,YAAY,CACpB,IAAI,SAAS,MAAM,GAAG,MAAM,EAC5B,SAAS,SAAS,SAAS,GAAG,SAAS,EACvC,KAAK,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,IACnD,YAAY,CAAC,IAAI,CAAC,GAAG;IACrB,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;IAChC,UAAU,EAAE,OAAO,CAAA;IACnB,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAA;IAC/B,WAAW,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAA;IAC/B,cAAc,EAAE,CACZ,IAAI,EACE;QACI,EAAE,EAAE,OAAO,CAAA;QACX,KAAK,EAAE,MAAM,CAAA;QACb,IAAI,EAAE,GAAG,CAAA;KACZ,GACD;QACI,EAAE,EAAE,OAAO,CAAA;QACX,KAAK,EAAE,MAAM,CAAA;QACb,IAAI,EAAE,GAAG,CAAA;KACZ,EAAE,KACR,OAAO,CAAC,GAAG,CAAC,CAAA;IACjB,iBAAiB,IAAI,OAAO,CAAC,GAAG,CAAC,CAAA;IACjC,oBAAoB,EAAE,CAAC,IAAI,SAAS,GAAG,GAAG,SAAS,OAAO,EAAE,GAAG,GAAG,EAAE,EAChE,GAAG,EACH,IAAI,EACJ,QAAQ,EACX,EAAE;QAAE,GAAG,EAAE,IAAI,CAAC;QAAC,QAAQ,EAAE,GAAG,CAAA;KAAE,GAAG,kBAAkB,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;IAC3E,iBAAiB,EAAE,CAAC,aAAa,EAAE,aAAa,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;CACpE,CAAA;AAED,MAAM,MAAM,kBAAkB,CAC1B,OAAO,SAAS,MAAM,EACtB,QAAQ,SAAS,OAAO,GAAG,OAAO,IAClC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,iBAAiB,CAAC,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../accounts/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,GAAG,EACR,KAAK,OAAO,EACZ,SAAS,EACT,KAAK,MAAM,EACX,KAAK,kBAAkB,EACvB,KAAK,GAAG,EACR,KAAK,YAAY,EACpB,MAAM,MAAM,CAAA;AACb,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,MAAM,CAAA;AAC5C,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAEtD,qBAAa,yCAA0C,SAAQ,SAAS;IAC3D,IAAI,SAA8C;gBAC/C,EAAE,QAAQ,EAAE,GAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAO;CAYvD;AAED,MAAM,MAAM,YAAY,CACpB,IAAI,SAAS,MAAM,GAAG,MAAM,EAC5B,SAAS,SAAS,SAAS,GAAG,SAAS,EACvC,KAAK,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,IACnD,YAAY,CAAC,IAAI,CAAC,GAAG;IACrB,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;IAChC,UAAU,EAAE,OAAO,CAAA;IACnB,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAA;IAC/B,WAAW,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAA;IAC/B,cAAc,EAAE,CACZ,IAAI,EACE;QACI,EAAE,EAAE,OAAO,CAAA;QACX,KAAK,EAAE,MAAM,CAAA;QACb,IAAI,EAAE,GAAG,CAAA;KACZ,GACD;QACI,EAAE,EAAE,OAAO,CAAA;QACX,KAAK,EAAE,MAAM,CAAA;QACb,IAAI,EAAE,GAAG,CAAA;KACZ,EAAE,KACR,OAAO,CAAC,GAAG,CAAC,CAAA;IACjB,iBAAiB,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IAC7D,oBAAoB,EAAE,CAAC,IAAI,SAAS,GAAG,GAAG,SAAS,OAAO,EAAE,GAAG,GAAG,EAAE,EAChE,GAAG,EACH,IAAI,EACJ,QAAQ,EACX,EAAE;QAAE,GAAG,EAAE,IAAI,CAAC;QAAC,QAAQ,EAAE,GAAG,CAAA;KAAE,GAAG,kBAAkB,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;IAC3E,iBAAiB,EAAE,CAAC,aAAa,EAAE,aAAa,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;CACpE,CAAA;AAED,MAAM,MAAM,kBAAkB,CAC1B,OAAO,SAAS,MAAM,EACtB,QAAQ,SAAS,OAAO,GAAG,OAAO,IAClC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,iBAAiB,CAAC,CAAA"}
@@ -1,4 +1,4 @@
1
- import type { Account, Address, Chain, Client, Hex, Transport } from "viem";
1
+ import type { Account, Address, Chain, Client, Transport } from "viem";
2
2
  import type { PartialBy } from "viem/types/utils";
3
3
  import type { PimlicoPaymasterRpcSchema } from "../../types/pimlico.js";
4
4
  import type { UserOperation } from "../../types/userOperation.js";
@@ -7,12 +7,7 @@ export type PimlocoSponsorUserOperationParameters = {
7
7
  entryPoint: Address;
8
8
  sponsorshipPolicyId?: string;
9
9
  };
10
- export type SponsorUserOperationReturnType = {
11
- paymasterAndData: Hex;
12
- preVerificationGas: bigint;
13
- verificationGasLimit: bigint;
14
- callGasLimit: bigint;
15
- };
10
+ export type SponsorUserOperationReturnType = UserOperation;
16
11
  /**
17
12
  * Returns paymasterAndData & updated gas parameters required to sponsor a userOperation.
18
13
  *
@@ -1 +1 @@
1
- {"version":3,"file":"sponsorUserOperation.d.ts","sourceRoot":"","sources":["../../../actions/pimlico/sponsorUserOperation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,MAAM,CAAA;AAC3E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAA;AACvE,OAAO,KAAK,EACR,aAAa,EAEhB,MAAM,8BAA8B,CAAA;AAGrC,MAAM,MAAM,qCAAqC,GAAG;IAChD,aAAa,EAAE,SAAS,CACpB,aAAa,EACX,cAAc,GACd,oBAAoB,GACpB,sBAAsB,GACtB,kBAAkB,CACvB,CAAA;IACD,UAAU,EAAE,OAAO,CAAA;IACnB,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC/B,CAAA;AAED,MAAM,MAAM,8BAA8B,GAAG;IACzC,gBAAgB,EAAE,GAAG,CAAA;IACrB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,oBAAoB,EAAE,MAAM,CAAA;IAC5B,YAAY,EAAE,MAAM,CAAA;CACvB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,oBAAoB,8OAMvB,qCAAqC,KAC5C,QAAQ,8BAA8B,CA2BxC,CAAA"}
1
+ {"version":3,"file":"sponsorUserOperation.d.ts","sourceRoot":"","sources":["../../../actions/pimlico/sponsorUserOperation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,MAAM,CAAA;AACtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAA;AACvE,OAAO,KAAK,EACR,aAAa,EAEhB,MAAM,8BAA8B,CAAA;AAGrC,MAAM,MAAM,qCAAqC,GAAG;IAChD,aAAa,EAAE,SAAS,CACpB,aAAa,EACX,cAAc,GACd,oBAAoB,GACpB,sBAAsB,GACtB,kBAAkB,CACvB,CAAA;IACD,UAAU,EAAE,OAAO,CAAA;IACnB,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC/B,CAAA;AAED,MAAM,MAAM,8BAA8B,GAAG,aAAa,CAAA;AAE1D;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,oBAAoB,8OAMvB,qCAAqC,KAC5C,QAAQ,8BAA8B,CA8BxC,CAAA"}
@@ -1,16 +1,11 @@
1
- import type { Address, Chain, Client, Hex, Transport } from "viem";
1
+ import type { Address, Chain, Client, Transport } from "viem";
2
2
  import type { SmartAccount } from "../../accounts/types.js";
3
3
  import type { GetAccountParameter, PartialBy, UserOperation } from "../../types/index.js";
4
4
  export type SponsorUserOperationMiddleware = {
5
5
  sponsorUserOperation?: (args: {
6
6
  userOperation: UserOperation;
7
7
  entryPoint: Address;
8
- }) => Promise<{
9
- paymasterAndData: Hex;
10
- preVerificationGas: bigint;
11
- verificationGasLimit: bigint;
12
- callGasLimit: bigint;
13
- }>;
8
+ }) => Promise<UserOperation>;
14
9
  };
15
10
  export type PrepareUserOperationRequestParameters<TAccount extends SmartAccount | undefined = SmartAccount | undefined> = {
16
11
  userOperation: PartialBy<UserOperation, "nonce" | "sender" | "initCode" | "callGasLimit" | "verificationGasLimit" | "preVerificationGas" | "maxFeePerGas" | "maxPriorityFeePerGas" | "paymasterAndData" | "signature">;
@@ -1 +1 @@
1
- {"version":3,"file":"prepareUserOperationRequest.d.ts","sourceRoot":"","sources":["../../../actions/smartAccount/prepareUserOperationRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,MAAM,CAAA;AAElE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,KAAK,EACR,mBAAmB,EACnB,SAAS,EACT,aAAa,EAChB,MAAM,sBAAsB,CAAA;AAQ7B,MAAM,MAAM,8BAA8B,GAAG;IACzC,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE;QAC1B,aAAa,EAAE,aAAa,CAAA;QAC5B,UAAU,EAAE,OAAO,CAAA;KACtB,KAAK,OAAO,CAAC;QACV,gBAAgB,EAAE,GAAG,CAAA;QACrB,kBAAkB,EAAE,MAAM,CAAA;QAC1B,oBAAoB,EAAE,MAAM,CAAA;QAC5B,YAAY,EAAE,MAAM,CAAA;KACvB,CAAC,CAAA;CACL,CAAA;AAED,MAAM,MAAM,qCAAqC,CAC7C,QAAQ,SAAS,YAAY,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,IACpE;IACA,aAAa,EAAE,SAAS,CACpB,aAAa,EACX,OAAO,GACP,QAAQ,GACR,UAAU,GACV,cAAc,GACd,sBAAsB,GACtB,oBAAoB,GACpB,cAAc,GACd,sBAAsB,GACtB,kBAAkB,GAClB,WAAW,CAChB,CAAA;CACJ,GAAG,mBAAmB,CAAC,QAAQ,CAAC,GAC7B,8BAA8B,CAAA;AAElC,MAAM,MAAM,qCAAqC,GAAG,aAAa,CAAA;AAEjE,wBAAsB,2BAA2B,CAC7C,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACpD,QAAQ,SAAS,YAAY,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,EAEpE,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAC5C,IAAI,EAAE,qCAAqC,CAAC,QAAQ,CAAC,GACtD,OAAO,CAAC,qCAAqC,CAAC,CAoFhD"}
1
+ {"version":3,"file":"prepareUserOperationRequest.d.ts","sourceRoot":"","sources":["../../../actions/smartAccount/prepareUserOperationRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,MAAM,CAAA;AAE7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,KAAK,EACR,mBAAmB,EACnB,SAAS,EACT,aAAa,EAChB,MAAM,sBAAsB,CAAA;AAQ7B,MAAM,MAAM,8BAA8B,GAAG;IACzC,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE;QAC1B,aAAa,EAAE,aAAa,CAAA;QAC5B,UAAU,EAAE,OAAO,CAAA;KACtB,KAAK,OAAO,CAAC,aAAa,CAAC,CAAA;CAC/B,CAAA;AAED,MAAM,MAAM,qCAAqC,CAC7C,QAAQ,SAAS,YAAY,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,IACpE;IACA,aAAa,EAAE,SAAS,CACpB,aAAa,EACX,OAAO,GACP,QAAQ,GACR,UAAU,GACV,cAAc,GACd,sBAAsB,GACtB,oBAAoB,GACpB,cAAc,GACd,sBAAsB,GACtB,kBAAkB,GAClB,WAAW,CAChB,CAAA;CACJ,GAAG,mBAAmB,CAAC,QAAQ,CAAC,GAC7B,8BAA8B,CAAA;AAElC,MAAM,MAAM,qCAAqC,GAAG,aAAa,CAAA;AAEjE,wBAAsB,2BAA2B,CAC7C,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACpD,QAAQ,SAAS,YAAY,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,EAEpE,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAC5C,IAAI,EAAE,qCAAqC,CAAC,QAAQ,CAAC,GACtD,OAAO,CAAC,qCAAqC,CAAC,CA4EhD"}
@@ -5,5 +5,6 @@ import { type SendUserOperationParameters, type SendUserOperationReturnType, sen
5
5
  import { signMessage } from "./smartAccount/signMessage.js";
6
6
  import { signTypedData } from "./smartAccount/signTypedData.js";
7
7
  import { type SendTransactionsWithPaymasterParameters, sendTransactions } from "./smartAccount/sendTransactions.js";
8
- export { deployContract, type DeployContractParametersWithPaymaster, prepareUserOperationRequest, type PrepareUserOperationRequestParameters, type PrepareUserOperationRequestReturnType, sendTransaction, sendUserOperation, type SendUserOperationParameters, type SendUserOperationReturnType, signMessage, signTypedData, type SendTransactionWithPaymasterParameters, type SponsorUserOperationMiddleware, sendTransactions, type SendTransactionsWithPaymasterParameters };
8
+ import { type WriteContractWithPaymasterParameters, writeContract } from "./smartAccount/writeContract.js";
9
+ export { deployContract, type DeployContractParametersWithPaymaster, prepareUserOperationRequest, type PrepareUserOperationRequestParameters, type PrepareUserOperationRequestReturnType, sendTransaction, sendUserOperation, type SendUserOperationParameters, type SendUserOperationReturnType, signMessage, signTypedData, type SendTransactionWithPaymasterParameters, type SponsorUserOperationMiddleware, sendTransactions, type SendTransactionsWithPaymasterParameters, type WriteContractWithPaymasterParameters, writeContract };
9
10
  //# sourceMappingURL=smartAccount.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"smartAccount.d.ts","sourceRoot":"","sources":["../../actions/smartAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,qCAAqC,EAC1C,cAAc,EACjB,MAAM,kCAAkC,CAAA;AAEzC,OAAO,EACH,KAAK,qCAAqC,EAC1C,KAAK,qCAAqC,EAC1C,KAAK,8BAA8B,EACnC,2BAA2B,EAC9B,MAAM,+CAA+C,CAAA;AAEtD,OAAO,EACH,KAAK,sCAAsC,EAC3C,eAAe,EAClB,MAAM,mCAAmC,CAAA;AAE1C,OAAO,EACH,KAAK,2BAA2B,EAChC,KAAK,2BAA2B,EAChC,iBAAiB,EACpB,MAAM,qCAAqC,CAAA;AAE5C,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAE/D,OAAO,EACH,KAAK,uCAAuC,EAC5C,gBAAgB,EACnB,MAAM,oCAAoC,CAAA;AAE3C,OAAO,EACH,cAAc,EACd,KAAK,qCAAqC,EAC1C,2BAA2B,EAC3B,KAAK,qCAAqC,EAC1C,KAAK,qCAAqC,EAC1C,eAAe,EACf,iBAAiB,EACjB,KAAK,2BAA2B,EAChC,KAAK,2BAA2B,EAChC,WAAW,EACX,aAAa,EACb,KAAK,sCAAsC,EAC3C,KAAK,8BAA8B,EACnC,gBAAgB,EAChB,KAAK,uCAAuC,EAC/C,CAAA"}
1
+ {"version":3,"file":"smartAccount.d.ts","sourceRoot":"","sources":["../../actions/smartAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,qCAAqC,EAC1C,cAAc,EACjB,MAAM,kCAAkC,CAAA;AAEzC,OAAO,EACH,KAAK,qCAAqC,EAC1C,KAAK,qCAAqC,EAC1C,KAAK,8BAA8B,EACnC,2BAA2B,EAC9B,MAAM,+CAA+C,CAAA;AAEtD,OAAO,EACH,KAAK,sCAAsC,EAC3C,eAAe,EAClB,MAAM,mCAAmC,CAAA;AAE1C,OAAO,EACH,KAAK,2BAA2B,EAChC,KAAK,2BAA2B,EAChC,iBAAiB,EACpB,MAAM,qCAAqC,CAAA;AAE5C,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAE/D,OAAO,EACH,KAAK,uCAAuC,EAC5C,gBAAgB,EACnB,MAAM,oCAAoC,CAAA;AAE3C,OAAO,EACH,KAAK,oCAAoC,EACzC,aAAa,EAChB,MAAM,iCAAiC,CAAA;AAExC,OAAO,EACH,cAAc,EACd,KAAK,qCAAqC,EAC1C,2BAA2B,EAC3B,KAAK,qCAAqC,EAC1C,KAAK,qCAAqC,EAC1C,eAAe,EACf,iBAAiB,EACjB,KAAK,2BAA2B,EAChC,KAAK,2BAA2B,EAChC,WAAW,EACX,aAAa,EACb,KAAK,sCAAsC,EAC3C,KAAK,8BAA8B,EACnC,gBAAgB,EAChB,KAAK,uCAAuC,EAC5C,KAAK,oCAAoC,EACzC,aAAa,EAChB,CAAA"}
@@ -1,4 +1,4 @@
1
- import type { Address, Hex } from "viem";
1
+ import type { Address } from "viem";
2
2
  import type { PartialBy } from "viem/types/utils";
3
3
  import { type StackupPaymasterClient } from "../../clients/stackup.js";
4
4
  import type { StackupPaymasterContext } from "../../types/stackup.js";
@@ -8,12 +8,7 @@ export type SponsorUserOperationParameters = {
8
8
  entryPoint: Address;
9
9
  context: StackupPaymasterContext;
10
10
  };
11
- export type SponsorUserOperationReturnType = {
12
- paymasterAndData: Hex;
13
- preVerificationGas: bigint;
14
- verificationGasLimit: bigint;
15
- callGasLimit: bigint;
16
- };
11
+ export type SponsorUserOperationReturnType = UserOperation;
17
12
  /**
18
13
  * Returns paymasterAndData & updated gas parameters required to sponsor a userOperation.
19
14
  *
@@ -1 +1 @@
1
- {"version":3,"file":"sponsorUserOperation.d.ts","sourceRoot":"","sources":["../../../actions/stackup/sponsorUserOperation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AACxC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AACtE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AACrE,OAAO,KAAK,EACR,aAAa,EAEhB,MAAM,8BAA8B,CAAA;AAGrC,MAAM,MAAM,8BAA8B,GAAG;IACzC,aAAa,EAAE,SAAS,CACpB,aAAa,EACX,cAAc,GACd,oBAAoB,GACpB,sBAAsB,GACtB,kBAAkB,CACvB,CAAA;IACD,UAAU,EAAE,OAAO,CAAA;IACnB,OAAO,EAAE,uBAAuB,CAAA;CACnC,CAAA;AAED,MAAM,MAAM,8BAA8B,GAAG;IACzC,gBAAgB,EAAE,GAAG,CAAA;IACrB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,oBAAoB,EAAE,MAAM,CAAA;IAC5B,YAAY,EAAE,MAAM,CAAA;CACvB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,oBAAoB,WACrB,sBAAsB,QACxB,8BAA8B,KACrC,QAAQ,8BAA8B,CAgBxC,CAAA"}
1
+ {"version":3,"file":"sponsorUserOperation.d.ts","sourceRoot":"","sources":["../../../actions/stackup/sponsorUserOperation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AACnC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AACtE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AACrE,OAAO,KAAK,EACR,aAAa,EAEhB,MAAM,8BAA8B,CAAA;AAGrC,MAAM,MAAM,8BAA8B,GAAG;IACzC,aAAa,EAAE,SAAS,CACpB,aAAa,EACX,cAAc,GACd,oBAAoB,GACpB,sBAAsB,GACtB,kBAAkB,CACvB,CAAA;IACD,UAAU,EAAE,OAAO,CAAA;IACnB,OAAO,EAAE,uBAAuB,CAAA;CACnC,CAAA;AAED,MAAM,MAAM,8BAA8B,GAAG,aAAa,CAAA;AAE1D;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,oBAAoB,WACrB,sBAAsB,QACxB,8BAA8B,KACrC,QAAQ,8BAA8B,CAmBxC,CAAA"}
@@ -1,8 +1,10 @@
1
1
  import type { Account, Address } from "viem";
2
+ import { deepHexlify, transactionReceiptStatus } from "./deepHexlify.js";
3
+ import { getAction } from "./getAction.js";
2
4
  import { type GetRequiredPrefundReturnType, getRequiredPrefund } from "./getRequiredPrefund.js";
3
5
  import { type GetUserOperationHashParams, getUserOperationHash } from "./getUserOperationHash.js";
4
- import { AccountOrClientNotFoundError, signUserOperationHashWithECDSA } from "./signUserOperationHashWithECDSA.js";
6
+ import { AccountOrClientNotFoundError, type SignUserOperationHashWithECDSAParams, signUserOperationHashWithECDSA } from "./signUserOperationHashWithECDSA.js";
5
7
  import { walletClientToCustomSigner } from "./walletClientToCustomSigner.js";
6
8
  export declare function parseAccount(account: Address | Account): Account;
7
- export { getUserOperationHash, getRequiredPrefund, walletClientToCustomSigner, type GetRequiredPrefundReturnType, type GetUserOperationHashParams, signUserOperationHashWithECDSA, AccountOrClientNotFoundError };
9
+ export { transactionReceiptStatus, deepHexlify, getAction, getUserOperationHash, getRequiredPrefund, walletClientToCustomSigner, type GetRequiredPrefundReturnType, type GetUserOperationHashParams, signUserOperationHashWithECDSA, type SignUserOperationHashWithECDSAParams, AccountOrClientNotFoundError };
8
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAC5C,OAAO,EACH,KAAK,4BAA4B,EACjC,kBAAkB,EACrB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EACH,KAAK,0BAA0B,EAC/B,oBAAoB,EACvB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EACH,4BAA4B,EAC5B,8BAA8B,EACjC,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAA;AAE5E,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAIhE;AAED,OAAO,EACH,oBAAoB,EACpB,kBAAkB,EAClB,0BAA0B,EAC1B,KAAK,4BAA4B,EACjC,KAAK,0BAA0B,EAC/B,8BAA8B,EAC9B,4BAA4B,EAC/B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAC5C,OAAO,EAAE,WAAW,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAA;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EACH,KAAK,4BAA4B,EACjC,kBAAkB,EACrB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EACH,KAAK,0BAA0B,EAC/B,oBAAoB,EACvB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EACH,4BAA4B,EAC5B,KAAK,oCAAoC,EACzC,8BAA8B,EACjC,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAA;AAE5E,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAIhE;AAED,OAAO,EACH,wBAAwB,EACxB,WAAW,EACX,SAAS,EACT,oBAAoB,EACpB,kBAAkB,EAClB,0BAA0B,EAC1B,KAAK,4BAA4B,EACjC,KAAK,0BAA0B,EAC/B,8BAA8B,EAC9B,KAAK,oCAAoC,EACzC,4BAA4B,EAC/B,CAAA"}
@@ -1,7 +1,7 @@
1
1
  import { type Account, type Address, BaseError, type Chain, type Hash, type Hex, type Transport } from "viem";
2
2
  import { type GetAccountParameterWithClient } from "../types/index.js";
3
3
  import type { UserOperation } from "../types/userOperation.js";
4
- export type signUserOperationHashWithECDSAParams<TTransport extends Transport = Transport, TChain extends Chain | undefined = Chain | undefined, TAccount extends Account | undefined = Account | undefined> = GetAccountParameterWithClient<TTransport, TChain, TAccount> & ({
4
+ export type SignUserOperationHashWithECDSAParams<TTransport extends Transport = Transport, TChain extends Chain | undefined = Chain | undefined, TAccount extends Account | undefined = Account | undefined> = GetAccountParameterWithClient<TTransport, TChain, TAccount> & ({
5
5
  hash: Hash;
6
6
  userOperation?: undefined;
7
7
  entryPoint?: undefined;
@@ -41,5 +41,5 @@ export declare class AccountOrClientNotFoundError extends BaseError {
41
41
  * // Returns "0x7d9ae17d5e617e4bf3221dfcb69d64d824959e5ae2ef7078c6ddc3a4fe26c8301ab39277c61160dca68ca90071eb449d9fb2fbbc78b3614d9d7282c860270e291c"
42
42
  *
43
43
  */
44
- export declare const signUserOperationHashWithECDSA: <TTransport extends Transport = Transport, TChain extends Chain | undefined = Chain | undefined, TAccount extends Account | undefined = Account | undefined>({ client, account: account_, hash, userOperation, chainId, entryPoint }: signUserOperationHashWithECDSAParams<TTransport, TChain, TAccount>) => Promise<Hex>;
44
+ export declare const signUserOperationHashWithECDSA: <TTransport extends Transport = Transport, TChain extends Chain | undefined = Chain | undefined, TAccount extends Account | undefined = Account | undefined>({ client, account: account_, hash, userOperation, chainId, entryPoint }: SignUserOperationHashWithECDSAParams<TTransport, TChain, TAccount>) => Promise<Hex>;
45
45
  //# sourceMappingURL=signUserOperationHashWithECDSA.d.ts.map
@@ -354,7 +354,7 @@ export async function signerToBiconomySmartAccount<
354
354
  },
355
355
 
356
356
  // Get simple dummy signature for ECDSA module authorization
357
- async getDummySignature() {
357
+ async getDummySignature(_userOperation) {
358
358
  const moduleAddress =
359
359
  BICONOMY_ADDRESSES.ECDSA_OWNERSHIP_REGISTRY_MODULE
360
360
  const dynamicPart = moduleAddress.substring(2).padEnd(40, "0")
package/accounts/index.ts CHANGED
@@ -23,6 +23,8 @@ import {
23
23
  signerToBiconomySmartAccount
24
24
  } from "./biconomy/signerToBiconomySmartAccount.js"
25
25
 
26
+ import { privateKeyToBiconomySmartAccount } from "./biconomy/privateKeyToBiconomySmartAccount.js"
27
+
26
28
  import {
27
29
  SignTransactionNotSupportedBySmartAccount,
28
30
  type SmartAccount,
@@ -37,6 +39,7 @@ export {
37
39
  type SimpleSmartAccount,
38
40
  signerToSimpleSmartAccount,
39
41
  SignTransactionNotSupportedBySmartAccount,
42
+ privateKeyToBiconomySmartAccount,
40
43
  privateKeyToSimpleSmartAccount,
41
44
  type SmartAccount,
42
45
  privateKeyToSafeSmartAccount,
@@ -354,7 +354,7 @@ export async function signerToEcdsaKernelSmartAccount<
354
354
  },
355
355
 
356
356
  // Get simple dummy signature
357
- async getDummySignature() {
357
+ async getDummySignature(_userOperation) {
358
358
  return "0x00000000fffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c"
359
359
  }
360
360
  }
@@ -772,7 +772,7 @@ export async function signerToSafeSmartAccount<
772
772
  args: [to, value, data, 0]
773
773
  })
774
774
  },
775
- async getDummySignature() {
775
+ async getDummySignature(_userOperation) {
776
776
  return "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
777
777
  }
778
778
  }
@@ -259,7 +259,7 @@ export async function signerToSimpleSmartAccount<
259
259
  args: [to, value, data]
260
260
  })
261
261
  },
262
- async getDummySignature() {
262
+ async getDummySignature(_userOperation) {
263
263
  return "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c"
264
264
  }
265
265
  }
package/accounts/types.ts CHANGED
@@ -48,13 +48,13 @@ export type SmartAccount<
48
48
  data: Hex
49
49
  }[]
50
50
  ) => Promise<Hex>
51
- getDummySignature(): Promise<Hex>
51
+ getDummySignature(userOperation: UserOperation): Promise<Hex>
52
52
  encodeDeployCallData: <TAbi extends Abi | readonly unknown[] = Abi>({
53
53
  abi,
54
54
  args,
55
55
  bytecode
56
56
  }: { abi: TAbi; bytecode: Hex } & GetConstructorArgs<TAbi>) => Promise<Hex>
57
- signUserOperation: (UserOperation: UserOperation) => Promise<Hex>
57
+ signUserOperation: (userOperation: UserOperation) => Promise<Hex>
58
58
  }
59
59
 
60
60
  export type SmartAccountSigner<
@@ -1,4 +1,4 @@
1
- import type { Account, Address, Chain, Client, Hex, Transport } from "viem"
1
+ import type { Account, Address, Chain, Client, Transport } from "viem"
2
2
  import type { PartialBy } from "viem/types/utils"
3
3
  import type { PimlicoPaymasterRpcSchema } from "../../types/pimlico.js"
4
4
  import type {
@@ -19,12 +19,7 @@ export type PimlocoSponsorUserOperationParameters = {
19
19
  sponsorshipPolicyId?: string
20
20
  }
21
21
 
22
- export type SponsorUserOperationReturnType = {
23
- paymasterAndData: Hex
24
- preVerificationGas: bigint
25
- verificationGasLimit: bigint
26
- callGasLimit: bigint
27
- }
22
+ export type SponsorUserOperationReturnType = UserOperation
28
23
 
29
24
  /**
30
25
  * Returns paymasterAndData & updated gas parameters required to sponsor a userOperation.
@@ -79,10 +74,13 @@ export const sponsorUserOperation = async <
79
74
  ]
80
75
  })
81
76
 
82
- return {
77
+ const userOperation: UserOperation = {
78
+ ...args.userOperation,
83
79
  paymasterAndData: response.paymasterAndData,
84
80
  preVerificationGas: BigInt(response.preVerificationGas),
85
81
  verificationGasLimit: BigInt(response.verificationGasLimit),
86
82
  callGasLimit: BigInt(response.callGasLimit)
87
83
  }
84
+
85
+ return userOperation
88
86
  }
@@ -1,4 +1,4 @@
1
- import type { Address, Chain, Client, Hex, Transport } from "viem"
1
+ import type { Address, Chain, Client, Transport } from "viem"
2
2
  import { estimateFeesPerGas } from "viem/actions"
3
3
  import type { SmartAccount } from "../../accounts/types.js"
4
4
  import type {
@@ -17,12 +17,7 @@ export type SponsorUserOperationMiddleware = {
17
17
  sponsorUserOperation?: (args: {
18
18
  userOperation: UserOperation
19
19
  entryPoint: Address
20
- }) => Promise<{
21
- paymasterAndData: Hex
22
- preVerificationGas: bigint
23
- verificationGasLimit: bigint
24
- callGasLimit: bigint
25
- }>
20
+ }) => Promise<UserOperation>
26
21
  }
27
22
 
28
23
  export type PrepareUserOperationRequestParameters<
@@ -63,12 +58,11 @@ export async function prepareUserOperationRequest<
63
58
 
64
59
  const account = parseAccount(account_) as SmartAccount
65
60
 
66
- const [sender, nonce, initCode, signature, callData, gasEstimation] =
61
+ const [sender, nonce, initCode, callData, gasEstimation] =
67
62
  await Promise.all([
68
63
  partialUserOperation.sender || account.address,
69
64
  partialUserOperation.nonce || account.getNonce(),
70
65
  partialUserOperation.initCode || account.getInitCode(),
71
- partialUserOperation.signature || account.getDummySignature(),
72
66
  partialUserOperation.callData,
73
67
  !partialUserOperation.maxFeePerGas ||
74
68
  !partialUserOperation.maxPriorityFeePerGas
@@ -76,13 +70,13 @@ export async function prepareUserOperationRequest<
76
70
  : undefined
77
71
  ])
78
72
 
79
- const userOperation: UserOperation = {
73
+ let userOperation: UserOperation = {
80
74
  sender,
81
75
  nonce,
82
76
  initCode,
83
- signature,
84
77
  callData,
85
78
  paymasterAndData: "0x",
79
+ signature: partialUserOperation.signature || "0x",
86
80
  maxFeePerGas:
87
81
  partialUserOperation.maxFeePerGas ||
88
82
  gasEstimation?.maxFeePerGas ||
@@ -96,22 +90,15 @@ export async function prepareUserOperationRequest<
96
90
  preVerificationGas: partialUserOperation.preVerificationGas || 0n
97
91
  }
98
92
 
93
+ if (userOperation.signature === "0x") {
94
+ userOperation.signature = await account.getDummySignature(userOperation)
95
+ }
96
+
99
97
  if (sponsorUserOperation) {
100
- const {
101
- callGasLimit,
102
- verificationGasLimit,
103
- preVerificationGas,
104
- paymasterAndData
105
- } = await sponsorUserOperation({
98
+ userOperation = await sponsorUserOperation({
106
99
  userOperation,
107
100
  entryPoint: account.entryPoint
108
101
  })
109
- userOperation.paymasterAndData = paymasterAndData
110
- userOperation.callGasLimit = userOperation.callGasLimit || callGasLimit
111
- userOperation.verificationGasLimit =
112
- userOperation.verificationGasLimit || verificationGasLimit
113
- userOperation.preVerificationGas =
114
- userOperation.preVerificationGas || preVerificationGas
115
102
  } else if (
116
103
  !userOperation.callGasLimit ||
117
104
  !userOperation.verificationGasLimit ||
@@ -30,6 +30,11 @@ import {
30
30
  sendTransactions
31
31
  } from "./smartAccount/sendTransactions.js"
32
32
 
33
+ import {
34
+ type WriteContractWithPaymasterParameters,
35
+ writeContract
36
+ } from "./smartAccount/writeContract.js"
37
+
33
38
  export {
34
39
  deployContract,
35
40
  type DeployContractParametersWithPaymaster,
@@ -45,5 +50,7 @@ export {
45
50
  type SendTransactionWithPaymasterParameters,
46
51
  type SponsorUserOperationMiddleware,
47
52
  sendTransactions,
48
- type SendTransactionsWithPaymasterParameters
53
+ type SendTransactionsWithPaymasterParameters,
54
+ type WriteContractWithPaymasterParameters,
55
+ writeContract
49
56
  }
@@ -1,4 +1,4 @@
1
- import type { Address, Hex } from "viem"
1
+ import type { Address } from "viem"
2
2
  import type { PartialBy } from "viem/types/utils"
3
3
  import { type StackupPaymasterClient } from "../../clients/stackup.js"
4
4
  import type { StackupPaymasterContext } from "../../types/stackup.js"
@@ -20,12 +20,7 @@ export type SponsorUserOperationParameters = {
20
20
  context: StackupPaymasterContext
21
21
  }
22
22
 
23
- export type SponsorUserOperationReturnType = {
24
- paymasterAndData: Hex
25
- preVerificationGas: bigint
26
- verificationGasLimit: bigint
27
- callGasLimit: bigint
28
- }
23
+ export type SponsorUserOperationReturnType = UserOperation
29
24
 
30
25
  /**
31
26
  * Returns paymasterAndData & updated gas parameters required to sponsor a userOperation.
@@ -65,10 +60,13 @@ export const sponsorUserOperation = async (
65
60
  ]
66
61
  })
67
62
 
68
- return {
63
+ const userOperation: UserOperation = {
64
+ ...args.userOperation,
69
65
  paymasterAndData: response.paymasterAndData,
70
66
  preVerificationGas: BigInt(response.preVerificationGas),
71
67
  verificationGasLimit: BigInt(response.verificationGasLimit),
72
68
  callGasLimit: BigInt(response.callGasLimit)
73
69
  }
70
+
71
+ return userOperation
74
72
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "permissionless",
3
- "version": "0.0.18",
3
+ "version": "0.0.19",
4
4
  "author": "Pimlico",
5
5
  "main": "./_cjs/index.js",
6
6
  "module": "./_esm/index.js",
package/utils/index.ts CHANGED
@@ -1,4 +1,6 @@
1
1
  import type { Account, Address } from "viem"
2
+ import { deepHexlify, transactionReceiptStatus } from "./deepHexlify.js"
3
+ import { getAction } from "./getAction.js"
2
4
  import {
3
5
  type GetRequiredPrefundReturnType,
4
6
  getRequiredPrefund
@@ -9,6 +11,7 @@ import {
9
11
  } from "./getUserOperationHash.js"
10
12
  import {
11
13
  AccountOrClientNotFoundError,
14
+ type SignUserOperationHashWithECDSAParams,
12
15
  signUserOperationHashWithECDSA
13
16
  } from "./signUserOperationHashWithECDSA.js"
14
17
  import { walletClientToCustomSigner } from "./walletClientToCustomSigner.js"
@@ -20,11 +23,15 @@ export function parseAccount(account: Address | Account): Account {
20
23
  }
21
24
 
22
25
  export {
26
+ transactionReceiptStatus,
27
+ deepHexlify,
28
+ getAction,
23
29
  getUserOperationHash,
24
30
  getRequiredPrefund,
25
31
  walletClientToCustomSigner,
26
32
  type GetRequiredPrefundReturnType,
27
33
  type GetUserOperationHashParams,
28
34
  signUserOperationHashWithECDSA,
35
+ type SignUserOperationHashWithECDSAParams,
29
36
  AccountOrClientNotFoundError
30
37
  }