ox 0.4.3 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/_cjs/core/Siwe.js +1 -1
  3. package/_cjs/core/Siwe.js.map +1 -1
  4. package/_cjs/erc4337/EntryPoint.js +1320 -0
  5. package/_cjs/erc4337/EntryPoint.js.map +1 -0
  6. package/_cjs/erc4337/RpcSchema.js +3 -0
  7. package/_cjs/erc4337/RpcSchema.js.map +1 -0
  8. package/_cjs/erc4337/UserOperation.js +152 -0
  9. package/_cjs/erc4337/UserOperation.js.map +1 -0
  10. package/_cjs/erc4337/UserOperationGas.js +31 -0
  11. package/_cjs/erc4337/UserOperationGas.js.map +1 -0
  12. package/_cjs/erc4337/UserOperationReceipt.js +35 -0
  13. package/_cjs/erc4337/UserOperationReceipt.js.map +1 -0
  14. package/_cjs/erc4337/index.js +9 -0
  15. package/_cjs/erc4337/index.js.map +1 -0
  16. package/_cjs/index.docs.js +1 -0
  17. package/_cjs/index.docs.js.map +1 -1
  18. package/_cjs/version.js +1 -1
  19. package/_esm/core/Siwe.js +1 -1
  20. package/_esm/core/Siwe.js.map +1 -1
  21. package/_esm/erc4337/EntryPoint.js +1321 -0
  22. package/_esm/erc4337/EntryPoint.js.map +1 -0
  23. package/_esm/erc4337/RpcSchema.js +2 -0
  24. package/_esm/erc4337/RpcSchema.js.map +1 -0
  25. package/_esm/erc4337/UserOperation.js +324 -0
  26. package/_esm/erc4337/UserOperation.js.map +1 -0
  27. package/_esm/erc4337/UserOperationGas.js +61 -0
  28. package/_esm/erc4337/UserOperationGas.js.map +1 -0
  29. package/_esm/erc4337/UserOperationReceipt.js +79 -0
  30. package/_esm/erc4337/UserOperationReceipt.js.map +1 -0
  31. package/_esm/erc4337/index.js +31 -0
  32. package/_esm/erc4337/index.js.map +1 -0
  33. package/_esm/index.docs.js +1 -0
  34. package/_esm/index.docs.js.map +1 -1
  35. package/_esm/version.js +1 -1
  36. package/_types/erc4337/EntryPoint.d.ts +1480 -0
  37. package/_types/erc4337/EntryPoint.d.ts.map +1 -0
  38. package/_types/erc4337/RpcSchema.d.ts +159 -0
  39. package/_types/erc4337/RpcSchema.d.ts.map +1 -0
  40. package/_types/erc4337/UserOperation.d.ts +330 -0
  41. package/_types/erc4337/UserOperation.d.ts.map +1 -0
  42. package/_types/erc4337/UserOperationGas.d.ts +62 -0
  43. package/_types/erc4337/UserOperationGas.d.ts.map +1 -0
  44. package/_types/erc4337/UserOperationReceipt.d.ts +87 -0
  45. package/_types/erc4337/UserOperationReceipt.d.ts.map +1 -0
  46. package/_types/erc4337/index.d.ts +33 -0
  47. package/_types/erc4337/index.d.ts.map +1 -0
  48. package/_types/index.docs.d.ts +1 -0
  49. package/_types/index.docs.d.ts.map +1 -1
  50. package/_types/version.d.ts +1 -1
  51. package/core/Siwe.ts +1 -1
  52. package/erc4337/EntryPoint/package.json +6 -0
  53. package/erc4337/EntryPoint.ts +1419 -0
  54. package/erc4337/RpcSchema/package.json +6 -0
  55. package/erc4337/RpcSchema.ts +179 -0
  56. package/erc4337/UserOperation/package.json +6 -0
  57. package/erc4337/UserOperation.ts +617 -0
  58. package/erc4337/UserOperationGas/package.json +6 -0
  59. package/erc4337/UserOperationGas.ts +109 -0
  60. package/erc4337/UserOperationReceipt/package.json +6 -0
  61. package/erc4337/UserOperationReceipt.ts +139 -0
  62. package/erc4337/index.ts +38 -0
  63. package/erc4337/package.json +6 -0
  64. package/index.docs.ts +1 -0
  65. package/package.json +31 -1
  66. package/version.ts +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EntryPoint.js","sourceRoot":"","sources":["../../erc4337/EntryPoint.ts"],"names":[],"mappings":"AAOA,0BAA0B;AAC1B,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB;QACE,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;YACrC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;YACjC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE;YACtC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE;YACtC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE;YACvC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE;SACxC;QACD,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YACpC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE;SACnC;QACD,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC7C,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjD,IAAI,EAAE,2BAA2B;QACjC,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE;YACN;gBACE,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;oBACrC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;oBACpC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE;oBACnC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACtC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACtC,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,OAAO,EAAE;iBAC5C;gBAED,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,OAAO;aACd;YACD;gBACE,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;oBAClC,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,SAAS,EAAE;iBAC7C;gBAED,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,OAAO;aACd;YACD;gBACE,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;oBAClC,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,SAAS,EAAE;iBAC7C;gBAED,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,OAAO;aACd;YACD;gBACE,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;oBAClC,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,SAAS,EAAE;iBAC7C;gBAED,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,OAAO;aACd;SACF;QACD,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE;YACN;gBACE,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;oBACrC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;oBACpC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE;oBACnC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACtC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACtC,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,OAAO,EAAE;iBAC5C;gBAED,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,OAAO;aACd;YACD;gBACE,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;oBAClC,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,SAAS,EAAE;iBAC7C;gBAED,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,OAAO;aACd;YACD;gBACE,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;oBAClC,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,SAAS,EAAE;iBAC7C;gBAED,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,OAAO;aACd;YACD;gBACE,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;oBAClC,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,SAAS,EAAE;iBAC7C;gBAED,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,OAAO;aACd;YACD;gBACE,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;oBACvC;wBACE,UAAU,EAAE;4BACV,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;4BAClC;gCACE,IAAI,EAAE,iBAAiB;gCACvB,IAAI,EAAE,SAAS;6BAChB;yBACF;wBAED,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,OAAO;qBACd;iBACF;gBAED,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,OAAO;aACd;SACF;QACD,IAAI,EAAE,iCAAiC;QACvC,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBAEb,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,IAAI;gBAEb,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,OAAO;KACd;IACD,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,OAAO,EAAE;IACxE;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBAEb,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBAEb,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,4BAA4B;QAClC,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBAEb,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBAEb,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBAEb,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBAEb,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,IAAI;gBAEb,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,IAAI;gBAEb,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;aAChB;YACD,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE;YACjD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBAEb,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,IAAI;gBAEb,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,OAAO;aACd;SACF;QACD,IAAI,EAAE,2BAA2B;QACjC,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBAEb,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,uBAAuB;QAC7B,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACxC,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;YACnC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;YACnC,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,OAAO,EAAE;SAC5C;QACD,IAAI,EAAE,6BAA6B;QACnC,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QACrD,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC9C,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACxC,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC9C,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACvC,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YACpC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;YAChC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;YAClC,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC3C,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE;SACzC;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC9C,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE;YACP;gBACE,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;oBACpC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;oBAChC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;oBAClC,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC3C,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE;iBACzC;gBAED,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,OAAO;aACd;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;YACnC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE;SACjC;QACD,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC7C,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QAC7C,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;oBACnC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;oBAClC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;oBACnC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;oBACnC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE;oBACzC;wBACE,IAAI,EAAE,sBAAsB;wBAC5B,IAAI,EAAE,SAAS;qBAChB;oBACD;wBACE,IAAI,EAAE,oBAAoB;wBAC1B,IAAI,EAAE,SAAS;qBAChB;oBACD,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE;oBACzC;wBACE,IAAI,EAAE,sBAAsB;wBAC5B,IAAI,EAAE,SAAS;qBAChB;oBACD,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,OAAO,EAAE;oBAC3C,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE;iBACrC;gBAED,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,OAAO;aACd;SACF;QACD,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACxC,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,UAAU,EAAE;oBACV;wBACE,UAAU,EAAE;4BACV,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;4BACnC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;4BAClC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;4BACnC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;4BACnC;gCACE,IAAI,EAAE,cAAc;gCACpB,IAAI,EAAE,SAAS;6BAChB;4BACD;gCACE,IAAI,EAAE,sBAAsB;gCAC5B,IAAI,EAAE,SAAS;6BAChB;4BACD;gCACE,IAAI,EAAE,oBAAoB;gCAC1B,IAAI,EAAE,SAAS;6BAChB;4BACD;gCACE,IAAI,EAAE,cAAc;gCACpB,IAAI,EAAE,SAAS;6BAChB;4BACD;gCACE,IAAI,EAAE,sBAAsB;gCAC5B,IAAI,EAAE,SAAS;6BAChB;4BACD;gCACE,IAAI,EAAE,kBAAkB;gCACxB,IAAI,EAAE,OAAO;6BACd;4BACD,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE;yBACrC;wBAED,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,SAAS;qBAChB;oBACD;wBACE,IAAI,EAAE,YAAY;wBAClB,IAAI,EAAE,SAAS;qBAChB;oBACD,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE;iBACrC;gBAED,IAAI,EAAE,kBAAkB;gBACxB,IAAI,EAAE,SAAS;aAChB;YACD,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE;SACzC;QACD,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;oBACnC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;oBAClC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;oBACnC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;oBACnC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE;oBACzC;wBACE,IAAI,EAAE,sBAAsB;wBAC5B,IAAI,EAAE,SAAS;qBAChB;oBACD;wBACE,IAAI,EAAE,oBAAoB;wBAC1B,IAAI,EAAE,SAAS;qBAChB;oBACD,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE;oBACzC;wBACE,IAAI,EAAE,sBAAsB;wBAC5B,IAAI,EAAE,SAAS;qBAChB;oBACD,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,OAAO,EAAE;oBAC3C,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE;iBACrC;gBAED,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,SAAS;aAChB;YACD,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE;SACzC;QACD,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC1C,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;YACnC;gBACE,UAAU,EAAE;oBACV;wBACE,UAAU,EAAE;4BACV,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;4BACnC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;4BAClC;gCACE,IAAI,EAAE,cAAc;gCACpB,IAAI,EAAE,SAAS;6BAChB;4BACD;gCACE,IAAI,EAAE,sBAAsB;gCAC5B,IAAI,EAAE,SAAS;6BAChB;4BACD;gCACE,IAAI,EAAE,oBAAoB;gCAC1B,IAAI,EAAE,SAAS;6BAChB;4BACD,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;4BACtC;gCACE,IAAI,EAAE,cAAc;gCACpB,IAAI,EAAE,SAAS;6BAChB;4BACD;gCACE,IAAI,EAAE,sBAAsB;gCAC5B,IAAI,EAAE,SAAS;6BAChB;yBACF;wBAED,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,OAAO;qBACd;oBACD,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;oBACvC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;oBACpC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC1C,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;iBACtC;gBAED,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,OAAO;aACd;YACD,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE;SACnC;QACD,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACrD,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YAC7B,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;SAC9B;QACD,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACxC,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;oBACnC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;oBAClC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;oBACnC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;oBACnC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE;oBACzC;wBACE,IAAI,EAAE,sBAAsB;wBAC5B,IAAI,EAAE,SAAS;qBAChB;oBACD;wBACE,IAAI,EAAE,oBAAoB;wBAC1B,IAAI,EAAE,SAAS;qBAChB;oBACD,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE;oBACzC;wBACE,IAAI,EAAE,sBAAsB;wBAC5B,IAAI,EAAE,SAAS;qBAChB;oBACD,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,OAAO,EAAE;oBAC3C,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE;iBACrC;gBAED,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,OAAO;aACd;YACD,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;YACnC,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE;SAC1C;QACD,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;oBACnC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;oBAClC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;oBACnC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;oBACnC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE;oBACzC;wBACE,IAAI,EAAE,sBAAsB;wBAC5B,IAAI,EAAE,SAAS;qBAChB;oBACD;wBACE,IAAI,EAAE,oBAAoB;wBAC1B,IAAI,EAAE,SAAS;qBAChB;oBACD,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE;oBACzC;wBACE,IAAI,EAAE,sBAAsB;wBAC5B,IAAI,EAAE,SAAS;qBAChB;oBACD,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,OAAO,EAAE;oBAC3C,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE;iBACrC;gBAED,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,OAAO;aACd;SACF;QACD,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,SAAS;aAChB;YACD,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE;SAC5C;QACD,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD,EAAE,eAAe,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;CACvC,CAAA;AAEV,0BAA0B;AAC1B,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB;QACE,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE;YACjC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE;SAC/B;QACD,IAAI,EAAE,mBAAmB;QACzB,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YACpC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE;SACnC;QACD,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YACpC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE;YAClC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE;SACjC;QACD,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QAC/C,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,OAAO;KACd;IACD,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,8BAA8B,EAAE,IAAI,EAAE,OAAO,EAAE;IACnE;QACE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC7C,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjD,IAAI,EAAE,2BAA2B;QACjC,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBAEb,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,IAAI;gBAEb,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,OAAO;KACd;IACD,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,OAAO,EAAE;IACxE;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBAEb,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBAEb,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,IAAI;gBAEb,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,OAAO;aACd;SACF;QACD,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBAEb,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,4BAA4B;QAClC,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBAEb,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBAEb,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBAEb,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBAEb,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,IAAI;gBAEb,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,IAAI;gBAEb,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;aAChB;YACD,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE;YACjD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBAEb,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,IAAI;gBAEb,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,4BAA4B;QAClC,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBAEb,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,IAAI;gBAEb,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,OAAO;aACd;SACF;QACD,IAAI,EAAE,2BAA2B;QACjC,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBAEb,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QACrD,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC9C,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACxC,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;YACnC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE;SAChC;QACD,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC9C,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACvC,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YACpC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;YAChC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;YAClC,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC3C,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE;SACzC;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC9C,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE;YACP;gBACE,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;oBACpC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;oBAChC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;oBAClC,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC3C,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE;iBACzC;gBAED,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,OAAO;aACd;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;YACnC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE;SACjC;QACD,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC7C,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QAC7C,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;oBACnC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;oBAClC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;oBACnC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;oBACnC;wBACE,IAAI,EAAE,kBAAkB;wBACxB,IAAI,EAAE,SAAS;qBAChB;oBACD;wBACE,IAAI,EAAE,oBAAoB;wBAC1B,IAAI,EAAE,SAAS;qBAChB;oBACD,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;oBACpC,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,OAAO,EAAE;oBAC3C,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE;iBACrC;gBAED,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,OAAO;aACd;SACF;QACD,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACxC,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,UAAU,EAAE;oBACV;wBACE,UAAU,EAAE;4BACV,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;4BACnC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;4BAClC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;4BACnC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;4BACnC;gCACE,IAAI,EAAE,kBAAkB;gCACxB,IAAI,EAAE,SAAS;6BAChB;4BACD;gCACE,IAAI,EAAE,oBAAoB;gCAC1B,IAAI,EAAE,SAAS;6BAChB;4BACD,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;4BACpC;gCACE,IAAI,EAAE,kBAAkB;gCACxB,IAAI,EAAE,OAAO;6BACd;4BACD,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE;yBACrC;wBAED,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,SAAS;qBAChB;oBACD;wBACE,IAAI,EAAE,YAAY;wBAClB,IAAI,EAAE,SAAS;qBAChB;oBACD,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE;iBACrC;gBAED,IAAI,EAAE,kBAAkB;gBACxB,IAAI,EAAE,SAAS;aAChB;YACD,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE;SACzC;QACD,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;oBACnC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;oBAClC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;oBACnC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;oBACnC;wBACE,IAAI,EAAE,kBAAkB;wBACxB,IAAI,EAAE,SAAS;qBAChB;oBACD;wBACE,IAAI,EAAE,oBAAoB;wBAC1B,IAAI,EAAE,SAAS;qBAChB;oBACD,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;oBACpC,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,OAAO,EAAE;oBAC3C,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE;iBACrC;gBAED,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,SAAS;aAChB;YACD,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE;SACzC;QACD,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC1C,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;YACnC;gBACE,UAAU,EAAE;oBACV;wBACE,UAAU,EAAE;4BACV,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;4BACnC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;4BAClC;gCACE,IAAI,EAAE,sBAAsB;gCAC5B,IAAI,EAAE,SAAS;6BAChB;4BACD;gCACE,IAAI,EAAE,cAAc;gCACpB,IAAI,EAAE,SAAS;6BAChB;4BACD;gCACE,IAAI,EAAE,+BAA+B;gCACrC,IAAI,EAAE,SAAS;6BAChB;4BACD;gCACE,IAAI,EAAE,yBAAyB;gCAC/B,IAAI,EAAE,SAAS;6BAChB;4BACD;gCACE,IAAI,EAAE,oBAAoB;gCAC1B,IAAI,EAAE,SAAS;6BAChB;4BACD,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;4BACtC;gCACE,IAAI,EAAE,cAAc;gCACpB,IAAI,EAAE,SAAS;6BAChB;4BACD;gCACE,IAAI,EAAE,sBAAsB;gCAC5B,IAAI,EAAE,SAAS;6BAChB;yBACF;wBAED,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,OAAO;qBACd;oBACD,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;oBACvC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;oBACpC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC1C,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;iBACtC;gBAED,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,OAAO;aACd;YACD,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE;SACnC;QACD,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACrD,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YAC7B,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;SAC9B;QACD,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACxC,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QACjD,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QACrC,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,SAAS;aAChB;YACD,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE;SAC5C;QACD,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD,EAAE,eAAe,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;CACvC,CAAA;AAEV,8BAA8B;AAC9B,MAAM,CAAC,MAAM,UAAU,GAAG,4CAAqD,CAAA;AAE/E,8BAA8B;AAC9B,MAAM,CAAC,MAAM,UAAU,GAAG,4CAAqD,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=RpcSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RpcSchema.js","sourceRoot":"","sources":["../../erc4337/RpcSchema.ts"],"names":[],"mappings":""}
@@ -0,0 +1,324 @@
1
+ import * as AbiParameters from '../core/AbiParameters.js';
2
+ import * as Hash from '../core/Hash.js';
3
+ import * as Hex from '../core/Hex.js';
4
+ import * as Signature from '../core/Signature.js';
5
+ /**
6
+ * Instantiates a {@link ox#UserOperation.UserOperation} from a provided input.
7
+ *
8
+ * @example
9
+ * ```ts twoslash
10
+ * import { Value } from 'ox'
11
+ * import { UserOperation } from 'ox/erc4337'
12
+ *
13
+ * const userOperation = UserOperation.from({
14
+ * callData: '0xdeadbeef',
15
+ * callGasLimit: 300_000n,
16
+ * maxFeePerGas: Value.fromGwei('20'),
17
+ * maxPriorityFeePerGas: Value.fromGwei('2'),
18
+ * nonce: 69n,
19
+ * preVerificationGas: 100_000n,
20
+ * sender: '0x9f1fdab6458c5fc642fa0f4c5af7473c46837357',
21
+ * verificationGasLimit: 100_000n,
22
+ * })
23
+ * ```
24
+ *
25
+ * @example
26
+ * ### Attaching Signatures
27
+ *
28
+ * ```ts twoslash
29
+ * import { Secp256k1, Value } from 'ox'
30
+ * import { UserOperation } from 'ox/erc4337'
31
+ *
32
+ * const userOperation = UserOperation.from({
33
+ * callData: '0xdeadbeef',
34
+ * callGasLimit: 300_000n,
35
+ * maxFeePerGas: Value.fromGwei('20'),
36
+ * maxPriorityFeePerGas: Value.fromGwei('2'),
37
+ * nonce: 69n,
38
+ * preVerificationGas: 100_000n,
39
+ * sender: '0x9f1fdab6458c5fc642fa0f4c5af7473c46837357',
40
+ * verificationGasLimit: 100_000n,
41
+ * })
42
+ *
43
+ * const payload = UserOperation.getSignPayload(userOperation, {
44
+ * chainId: 1,
45
+ * entryPointAddress: '0x1234567890123456789012345678901234567890',
46
+ * entryPointVersion: '0.7',
47
+ * })
48
+ *
49
+ * const signature = Secp256k1.sign({ payload, privateKey: '0x...' })
50
+ *
51
+ * const userOperation_signed = UserOperation.from(userOperation, { signature }) // [!code focus]
52
+ * ```
53
+ *
54
+ * @param userOperation - The user operation to instantiate.
55
+ * @returns User Operation.
56
+ */
57
+ export function from(userOperation, options = {}) {
58
+ const signature = (() => {
59
+ if (!options.signature)
60
+ return undefined;
61
+ if (typeof options.signature === 'string')
62
+ return options.signature;
63
+ return Signature.toHex(options.signature);
64
+ })();
65
+ return { ...userOperation, signature };
66
+ }
67
+ /**
68
+ * Converts an {@link ox#UserOperation.Rpc} to an {@link ox#UserOperation.UserOperation}.
69
+ *
70
+ * @example
71
+ * ```ts twoslash
72
+ * import { UserOperation } from 'ox/erc4337'
73
+ *
74
+ * const userOperation = UserOperation.fromRpc({
75
+ * callData: '0xdeadbeef',
76
+ * callGasLimit: '0x69420',
77
+ * maxFeePerGas: '0x2ca6ae494',
78
+ * maxPriorityFeePerGas: '0x41cc3c0',
79
+ * nonce: '0x357',
80
+ * preVerificationGas: '0x69420',
81
+ * signature: '0x',
82
+ * sender: '0x1234567890123456789012345678901234567890',
83
+ * verificationGasLimit: '0x69420',
84
+ * })
85
+ * ```
86
+ *
87
+ * @param rpc - The RPC user operation to convert.
88
+ * @returns An instantiated {@link ox#UserOperation.UserOperation}.
89
+ */
90
+ export function fromRpc(rpc) {
91
+ return {
92
+ ...rpc,
93
+ callGasLimit: BigInt(rpc.callGasLimit),
94
+ maxFeePerGas: BigInt(rpc.maxFeePerGas),
95
+ maxPriorityFeePerGas: BigInt(rpc.maxPriorityFeePerGas),
96
+ nonce: BigInt(rpc.nonce),
97
+ preVerificationGas: BigInt(rpc.preVerificationGas),
98
+ verificationGasLimit: BigInt(rpc.verificationGasLimit),
99
+ ...(rpc.paymasterPostOpGasLimit && {
100
+ paymasterPostOpGasLimit: BigInt(rpc.paymasterPostOpGasLimit),
101
+ }),
102
+ ...(rpc.paymasterVerificationGasLimit && {
103
+ paymasterVerificationGasLimit: BigInt(rpc.paymasterVerificationGasLimit),
104
+ }),
105
+ };
106
+ }
107
+ /**
108
+ * Obtains the signing payload for a {@link ox#UserOperation.UserOperation}.
109
+ *
110
+ * @example
111
+ * ```ts twoslash
112
+ * import { Secp256k1, Value } from 'ox'
113
+ * import { UserOperation } from 'ox/erc4337'
114
+ *
115
+ * const userOperation = UserOperation.from({
116
+ * callData: '0xdeadbeef',
117
+ * callGasLimit: 300_000n,
118
+ * maxFeePerGas: Value.fromGwei('20'),
119
+ * maxPriorityFeePerGas: Value.fromGwei('2'),
120
+ * nonce: 69n,
121
+ * preVerificationGas: 100_000n,
122
+ * sender: '0x9f1fdab6458c5fc642fa0f4c5af7473c46837357',
123
+ * verificationGasLimit: 100_000n,
124
+ * })
125
+ *
126
+ * const payload = UserOperation.getSignPayload(userOperation, { // [!code focus]
127
+ * chainId: 1, // [!code focus]
128
+ * entryPointAddress: '0x1234567890123456789012345678901234567890', // [!code focus]
129
+ * entryPointVersion: '0.6', // [!code focus]
130
+ * }) // [!code focus]
131
+ *
132
+ * const signature = Secp256k1.sign({ payload, privateKey: '0x...' })
133
+ * ```
134
+ *
135
+ * @param userOperation - The user operation to get the sign payload for.
136
+ * @returns The signing payload for the user operation.
137
+ */
138
+ export function getSignPayload(userOperation, options) {
139
+ return hash(userOperation, options);
140
+ }
141
+ /**
142
+ * Hashes a {@link ox#UserOperation.UserOperation}. This is the "user operation hash".
143
+ *
144
+ * @example
145
+ * ```ts twoslash
146
+ * import { Value } from 'ox'
147
+ * import { UserOperation } from 'ox/erc4337'
148
+ *
149
+ * const userOperation = UserOperation.hash({
150
+ * callData: '0xdeadbeef',
151
+ * callGasLimit: 300_000n,
152
+ * maxFeePerGas: Value.fromGwei('20'),
153
+ * maxPriorityFeePerGas: Value.fromGwei('2'),
154
+ * nonce: 69n,
155
+ * preVerificationGas: 100_000n,
156
+ * sender: '0x9f1fdab6458c5fc642fa0f4c5af7473c46837357',
157
+ * verificationGasLimit: 100_000n,
158
+ * }, {
159
+ * chainId: 1,
160
+ * entryPointAddress: '0x1234567890123456789012345678901234567890',
161
+ * entryPointVersion: '0.6',
162
+ * })
163
+ * ```
164
+ *
165
+ * @param userOperation - The user operation to hash.
166
+ * @returns The hash of the user operation.
167
+ */
168
+ export function hash(userOperation, options) {
169
+ const { chainId, entryPointAddress, entryPointVersion } = options;
170
+ const { callData, callGasLimit, initCode, factory, factoryData, maxFeePerGas, maxPriorityFeePerGas, nonce, paymaster, paymasterAndData, paymasterData, paymasterPostOpGasLimit, paymasterVerificationGasLimit, preVerificationGas, sender, verificationGasLimit, } = userOperation;
171
+ const packedUserOp = (() => {
172
+ if (entryPointVersion === '0.6') {
173
+ return AbiParameters.encode([
174
+ { type: 'address' },
175
+ { type: 'uint256' },
176
+ { type: 'bytes32' },
177
+ { type: 'bytes32' },
178
+ { type: 'uint256' },
179
+ { type: 'uint256' },
180
+ { type: 'uint256' },
181
+ { type: 'uint256' },
182
+ { type: 'uint256' },
183
+ { type: 'bytes32' },
184
+ ], [
185
+ sender,
186
+ nonce,
187
+ Hash.keccak256(initCode ?? '0x'),
188
+ Hash.keccak256(callData),
189
+ callGasLimit,
190
+ verificationGasLimit,
191
+ preVerificationGas,
192
+ maxFeePerGas,
193
+ maxPriorityFeePerGas,
194
+ Hash.keccak256(paymasterAndData ?? '0x'),
195
+ ]);
196
+ }
197
+ if (entryPointVersion === '0.7') {
198
+ const accountGasLimits = Hex.concat(Hex.padLeft(Hex.fromNumber(verificationGasLimit), 16), Hex.padLeft(Hex.fromNumber(callGasLimit), 16));
199
+ const gasFees = Hex.concat(Hex.padLeft(Hex.fromNumber(maxPriorityFeePerGas), 16), Hex.padLeft(Hex.fromNumber(maxFeePerGas), 16));
200
+ const initCode_hashed = Hash.keccak256(factory && factoryData ? Hex.concat(factory, factoryData) : '0x');
201
+ const paymasterAndData_hashed = Hash.keccak256(paymaster
202
+ ? Hex.concat(paymaster, Hex.padLeft(Hex.fromNumber(paymasterVerificationGasLimit || 0), 16), Hex.padLeft(Hex.fromNumber(paymasterPostOpGasLimit || 0), 16), paymasterData || '0x')
203
+ : '0x');
204
+ return AbiParameters.encode([
205
+ { type: 'address' },
206
+ { type: 'uint256' },
207
+ { type: 'bytes32' },
208
+ { type: 'bytes32' },
209
+ { type: 'bytes32' },
210
+ { type: 'uint256' },
211
+ { type: 'bytes32' },
212
+ { type: 'bytes32' },
213
+ ], [
214
+ sender,
215
+ nonce,
216
+ initCode_hashed,
217
+ Hash.keccak256(callData),
218
+ accountGasLimits,
219
+ preVerificationGas,
220
+ gasFees,
221
+ paymasterAndData_hashed,
222
+ ]);
223
+ }
224
+ throw new Error(`entryPointVersion "${entryPointVersion}" not supported.`);
225
+ })();
226
+ return Hash.keccak256(AbiParameters.encode([{ type: 'bytes32' }, { type: 'address' }, { type: 'uint256' }], [Hash.keccak256(packedUserOp), entryPointAddress, BigInt(chainId)]));
227
+ }
228
+ /**
229
+ * Transforms a User Operation into "packed" format.
230
+ *
231
+ * @example
232
+ * ```ts twoslash
233
+ * import { Value } from 'ox'
234
+ * import { UserOperation } from 'ox/erc4337'
235
+ *
236
+ * const packed = UserOperation.toPacked({
237
+ * callData: '0xdeadbeef',
238
+ * callGasLimit: 300_000n,
239
+ * maxFeePerGas: Value.fromGwei('20'),
240
+ * maxPriorityFeePerGas: Value.fromGwei('2'),
241
+ * nonce: 69n,
242
+ * preVerificationGas: 100_000n,
243
+ * sender: '0x9f1fdab6458c5fc642fa0f4c5af7473c46837357',
244
+ * signature: '0x...',
245
+ * verificationGasLimit: 100_000n,
246
+ * })
247
+ * ```
248
+ *
249
+ * @param userOperation - The user operation to transform.
250
+ * @returns The packed user operation.
251
+ */
252
+ export function toPacked(userOperation) {
253
+ const { callGasLimit, callData, factory, factoryData, maxPriorityFeePerGas, maxFeePerGas, nonce, paymaster, paymasterData, paymasterPostOpGasLimit, paymasterVerificationGasLimit, sender, signature, verificationGasLimit, } = userOperation;
254
+ const accountGasLimits = Hex.concat(Hex.padLeft(Hex.fromNumber(verificationGasLimit || 0n), 16), Hex.padLeft(Hex.fromNumber(callGasLimit || 0n), 16));
255
+ const initCode = factory && factoryData ? Hex.concat(factory, factoryData) : '0x';
256
+ const gasFees = Hex.concat(Hex.padLeft(Hex.fromNumber(maxPriorityFeePerGas || 0n), 16), Hex.padLeft(Hex.fromNumber(maxFeePerGas || 0n), 16));
257
+ const paymasterAndData = paymaster
258
+ ? Hex.concat(paymaster, Hex.padLeft(Hex.fromNumber(paymasterVerificationGasLimit || 0n), 16), Hex.padLeft(Hex.fromNumber(paymasterPostOpGasLimit || 0n), 16), paymasterData || '0x')
259
+ : '0x';
260
+ const preVerificationGas = userOperation.preVerificationGas ?? 0n;
261
+ return {
262
+ accountGasLimits,
263
+ callData,
264
+ initCode,
265
+ gasFees,
266
+ nonce,
267
+ paymasterAndData,
268
+ preVerificationGas,
269
+ sender,
270
+ signature,
271
+ };
272
+ }
273
+ /**
274
+ * Converts a {@link ox#UserOperation.UserOperation} to a {@link ox#UserOperation.Rpc}.
275
+ *
276
+ * @example
277
+ * ```ts twoslash
278
+ * import { Value } from 'ox'
279
+ * import { UserOperation } from 'ox/erc4337'
280
+ *
281
+ * const userOperation = UserOperation.toRpc({
282
+ * callData: '0xdeadbeef',
283
+ * callGasLimit: 300_000n,
284
+ * maxFeePerGas: Value.fromGwei('20'),
285
+ * maxPriorityFeePerGas: Value.fromGwei('2'),
286
+ * nonce: 69n,
287
+ * preVerificationGas: 100_000n,
288
+ * sender: '0x9f1fdab6458c5fc642fa0f4c5af7473c46837357',
289
+ * verificationGasLimit: 100_000n,
290
+ * })
291
+ * ```
292
+ *
293
+ * @param userOperation - The user operation to convert.
294
+ * @returns An RPC-formatted user operation.
295
+ */
296
+ export function toRpc(userOperation) {
297
+ const rpc = {};
298
+ rpc.callData = userOperation.callData;
299
+ rpc.callGasLimit = Hex.fromNumber(userOperation.callGasLimit);
300
+ rpc.maxFeePerGas = Hex.fromNumber(userOperation.maxFeePerGas);
301
+ rpc.maxPriorityFeePerGas = Hex.fromNumber(userOperation.maxPriorityFeePerGas);
302
+ rpc.nonce = Hex.fromNumber(userOperation.nonce);
303
+ rpc.preVerificationGas = Hex.fromNumber(userOperation.preVerificationGas);
304
+ rpc.sender = userOperation.sender;
305
+ rpc.verificationGasLimit = Hex.fromNumber(userOperation.verificationGasLimit);
306
+ if (userOperation.factory)
307
+ rpc.factory = userOperation.factory;
308
+ if (userOperation.factoryData)
309
+ rpc.factoryData = userOperation.factoryData;
310
+ if (userOperation.initCode)
311
+ rpc.initCode = userOperation.initCode;
312
+ if (userOperation.paymaster)
313
+ rpc.paymaster = userOperation.paymaster;
314
+ if (userOperation.paymasterData)
315
+ rpc.paymasterData = userOperation.paymasterData;
316
+ if (typeof userOperation.paymasterPostOpGasLimit === 'bigint')
317
+ rpc.paymasterPostOpGasLimit = Hex.fromNumber(userOperation.paymasterPostOpGasLimit);
318
+ if (typeof userOperation.paymasterVerificationGasLimit === 'bigint')
319
+ rpc.paymasterVerificationGasLimit = Hex.fromNumber(userOperation.paymasterVerificationGasLimit);
320
+ if (userOperation.signature)
321
+ rpc.signature = userOperation.signature;
322
+ return rpc;
323
+ }
324
+ //# sourceMappingURL=UserOperation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserOperation.js","sourceRoot":"","sources":["../../erc4337/UserOperation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ import * as Hex from '../core/Hex.js';
2
+ /**
3
+ * Converts an {@link ox#UserOperationGas.Rpc} to an {@link ox#UserOperationGas.UserOperationGas}.
4
+ *
5
+ * @example
6
+ * ```ts twoslash
7
+ * import { UserOperationGas } from 'ox/erc4337'
8
+ *
9
+ * const userOperationGas = UserOperationGas.fromRpc({
10
+ * callGasLimit: '0x69420',
11
+ * preVerificationGas: '0x69420',
12
+ * verificationGasLimit: '0x69420',
13
+ * })
14
+ * ```
15
+ *
16
+ * @param rpc - The RPC user operation gas to convert.
17
+ * @returns An instantiated {@link ox#UserOperationGas.UserOperationGas}.
18
+ */
19
+ export function fromRpc(rpc) {
20
+ return {
21
+ ...rpc,
22
+ callGasLimit: BigInt(rpc.callGasLimit),
23
+ preVerificationGas: BigInt(rpc.preVerificationGas),
24
+ verificationGasLimit: BigInt(rpc.verificationGasLimit),
25
+ ...(rpc.paymasterVerificationGasLimit && {
26
+ paymasterVerificationGasLimit: BigInt(rpc.paymasterVerificationGasLimit),
27
+ }),
28
+ ...(rpc.paymasterPostOpGasLimit && {
29
+ paymasterPostOpGasLimit: BigInt(rpc.paymasterPostOpGasLimit),
30
+ }),
31
+ };
32
+ }
33
+ /**
34
+ * Converts a {@link ox#UserOperationGas.UserOperationGas} to a {@link ox#UserOperationGas.Rpc}.
35
+ *
36
+ * @example
37
+ * ```ts twoslash
38
+ * import { UserOperationGas } from 'ox/erc4337'
39
+ *
40
+ * const userOperationGas = UserOperationGas.toRpc({
41
+ * callGasLimit: 300_000n,
42
+ * preVerificationGas: 100_000n,
43
+ * verificationGasLimit: 100_000n,
44
+ * })
45
+ * ```
46
+ *
47
+ * @param userOperationGas - The user operation gas to convert.
48
+ * @returns An RPC-formatted user operation gas.
49
+ */
50
+ export function toRpc(userOperationGas) {
51
+ const rpc = {};
52
+ rpc.callGasLimit = Hex.fromNumber(userOperationGas.callGasLimit);
53
+ rpc.preVerificationGas = Hex.fromNumber(userOperationGas.preVerificationGas);
54
+ rpc.verificationGasLimit = Hex.fromNumber(userOperationGas.verificationGasLimit);
55
+ if (typeof userOperationGas.paymasterVerificationGasLimit === 'bigint')
56
+ rpc.paymasterVerificationGasLimit = Hex.fromNumber(userOperationGas.paymasterVerificationGasLimit);
57
+ if (typeof userOperationGas.paymasterPostOpGasLimit === 'bigint')
58
+ rpc.paymasterPostOpGasLimit = Hex.fromNumber(userOperationGas.paymasterPostOpGasLimit);
59
+ return rpc;
60
+ }
61
+ //# sourceMappingURL=UserOperationGas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserOperationGas.js","sourceRoot":"","sources":["../../erc4337/UserOperationGas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAA;AAwCrC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,OAAO,CAAC,GAAQ;IAC9B,OAAO;QACL,GAAG,GAAG;QACN,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC;QACtC,kBAAkB,EAAE,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC;QAClD,oBAAoB,EAAE,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC;QACtD,GAAG,CAAC,GAAG,CAAC,6BAA6B,IAAI;YACvC,6BAA6B,EAAE,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC;SACzE,CAAC;QACF,GAAG,CAAC,GAAG,CAAC,uBAAuB,IAAI;YACjC,uBAAuB,EAAE,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC;SAC7D,CAAC;KACiB,CAAA;AACvB,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,KAAK,CAAC,gBAAkC;IACtD,MAAM,GAAG,GAAG,EAAS,CAAA;IAErB,GAAG,CAAC,YAAY,GAAG,GAAG,CAAC,UAAU,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAA;IAChE,GAAG,CAAC,kBAAkB,GAAG,GAAG,CAAC,UAAU,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAA;IAC5E,GAAG,CAAC,oBAAoB,GAAG,GAAG,CAAC,UAAU,CACvC,gBAAgB,CAAC,oBAAoB,CACtC,CAAA;IAED,IAAI,OAAO,gBAAgB,CAAC,6BAA6B,KAAK,QAAQ;QACpE,GAAG,CAAC,6BAA6B,GAAG,GAAG,CAAC,UAAU,CAChD,gBAAgB,CAAC,6BAA6B,CAC/C,CAAA;IACH,IAAI,OAAO,gBAAgB,CAAC,uBAAuB,KAAK,QAAQ;QAC9D,GAAG,CAAC,uBAAuB,GAAG,GAAG,CAAC,UAAU,CAC1C,gBAAgB,CAAC,uBAAuB,CACzC,CAAA;IAEH,OAAO,GAAG,CAAA;AACZ,CAAC"}
@@ -0,0 +1,79 @@
1
+ import * as Hex from '../core/Hex.js';
2
+ import * as Log from '../core/Log.js';
3
+ import * as TransactionReceipt from '../core/TransactionReceipt.js';
4
+ /**
5
+ * Converts an {@link ox#UserOperationReceipt.Rpc} to an {@link ox#UserOperationReceipt.UserOperationReceipt}.
6
+ *
7
+ * @example
8
+ * ```ts twoslash
9
+ * // @noErrors
10
+ * import { UserOperationReceipt } from 'ox/erc4337'
11
+ *
12
+ * const userOperationReceipt = UserOperationReceipt.fromRpc({
13
+ * actualGasCost: '0x1',
14
+ * actualGasUsed: '0x2',
15
+ * entryPoint: '0x0000000071727de22e5e9d8baf0edac6f37da032',
16
+ * logs: [],
17
+ * nonce: '0x1',
18
+ * receipt: { ... },
19
+ * sender: '0xE911628bF8428C23f179a07b081325cAe376DE1f',
20
+ * success: true,
21
+ * userOpHash: '0x5ab163e9b2f30549274c7c567ca0696edf9ef1aa476d9784d22974468fdb24d8',
22
+ * })
23
+ * ```
24
+ *
25
+ * @param rpc - The RPC user operation receipt to convert.
26
+ * @returns An instantiated {@link ox#UserOperationReceipt.UserOperationReceipt}.
27
+ */
28
+ export function fromRpc(rpc) {
29
+ return {
30
+ ...rpc,
31
+ actualGasCost: BigInt(rpc.actualGasCost),
32
+ actualGasUsed: BigInt(rpc.actualGasUsed),
33
+ logs: rpc.logs.map((log) => Log.fromRpc(log)),
34
+ nonce: BigInt(rpc.nonce),
35
+ receipt: TransactionReceipt.fromRpc(rpc.receipt),
36
+ };
37
+ }
38
+ /**
39
+ * Converts a {@link ox#UserOperationReceipt.UserOperationReceipt} to a {@link ox#UserOperationReceipt.Rpc}.
40
+ *
41
+ * @example
42
+ * ```ts twoslash
43
+ * // @noErrors
44
+ * import { UserOperationReceipt } from 'ox/erc4337'
45
+ *
46
+ * const userOperationReceipt = UserOperationReceipt.toRpc({
47
+ * actualGasCost: 1n,
48
+ * actualGasUsed: 2n,
49
+ * entryPoint: '0x0000000071727de22e5e9d8baf0edac6f37da032',
50
+ * logs: [],
51
+ * nonce: 1n,
52
+ * receipt: { ... },
53
+ * sender: '0xE911628bF8428C23f179a07b081325cAe376DE1f',
54
+ * success: true,
55
+ * userOpHash: '0x5ab163e9b2f30549274c7c567ca0696edf9ef1aa476d9784d22974468fdb24d8',
56
+ * })
57
+ * ```
58
+ *
59
+ * @param userOperationReceipt - The user operation receipt to convert.
60
+ * @returns An RPC-formatted user operation receipt.
61
+ */
62
+ export function toRpc(userOperationReceipt) {
63
+ const rpc = {};
64
+ rpc.actualGasCost = Hex.fromNumber(userOperationReceipt.actualGasCost);
65
+ rpc.actualGasUsed = Hex.fromNumber(userOperationReceipt.actualGasUsed);
66
+ rpc.entryPoint = userOperationReceipt.entryPoint;
67
+ rpc.logs = userOperationReceipt.logs.map((log) => Log.toRpc(log));
68
+ rpc.nonce = Hex.fromNumber(userOperationReceipt.nonce);
69
+ rpc.receipt = TransactionReceipt.toRpc(userOperationReceipt.receipt);
70
+ rpc.sender = userOperationReceipt.sender;
71
+ rpc.success = userOperationReceipt.success;
72
+ rpc.userOpHash = userOperationReceipt.userOpHash;
73
+ if (userOperationReceipt.paymaster)
74
+ rpc.paymaster = userOperationReceipt.paymaster;
75
+ if (userOperationReceipt.reason)
76
+ rpc.reason = userOperationReceipt.reason;
77
+ return rpc;
78
+ }
79
+ //# sourceMappingURL=UserOperationReceipt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserOperationReceipt.js","sourceRoot":"","sources":["../../erc4337/UserOperationReceipt.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAA;AACrC,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAA;AACrC,OAAO,KAAK,kBAAkB,MAAM,+BAA+B,CAAA;AA0DnE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,OAAO,CAAC,GAAQ;IAC9B,OAAO;QACL,GAAG,GAAG;QACN,aAAa,EAAE,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC;QACxC,aAAa,EAAE,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC;QACxC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC7C,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;QACxB,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;KACzB,CAAA;AAC3B,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,KAAK,CAAC,oBAA0C;IAC9D,MAAM,GAAG,GAAG,EAAS,CAAA;IAErB,GAAG,CAAC,aAAa,GAAG,GAAG,CAAC,UAAU,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAA;IACtE,GAAG,CAAC,aAAa,GAAG,GAAG,CAAC,UAAU,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAA;IACtE,GAAG,CAAC,UAAU,GAAG,oBAAoB,CAAC,UAAU,CAAA;IAChD,GAAG,CAAC,IAAI,GAAG,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;IACjE,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,UAAU,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAA;IACtD,GAAG,CAAC,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAA;IACpE,GAAG,CAAC,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAA;IACxC,GAAG,CAAC,OAAO,GAAG,oBAAoB,CAAC,OAAO,CAAA;IAC1C,GAAG,CAAC,UAAU,GAAG,oBAAoB,CAAC,UAAU,CAAA;IAEhD,IAAI,oBAAoB,CAAC,SAAS;QAChC,GAAG,CAAC,SAAS,GAAG,oBAAoB,CAAC,SAAS,CAAA;IAChD,IAAI,oBAAoB,CAAC,MAAM;QAAE,GAAG,CAAC,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAA;IAEzE,OAAO,GAAG,CAAA;AACZ,CAAC"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Utility functions and types for working with [ERC-4337 EntryPoints](https://eips.ethereum.org/EIPS/eip-4337).
3
+ *
4
+ * @category ERC-4337
5
+ */
6
+ export * as EntryPoint from './EntryPoint.js';
7
+ /**
8
+ * Utility types for working with ERC-4337 JSON-RPC schemas.
9
+ *
10
+ * @category ERC-4337
11
+ */
12
+ export * as RpcSchema from './RpcSchema.js';
13
+ /**
14
+ * Utility functions and types for working with [ERC-4337 User Operations](https://eips.ethereum.org/EIPS/eip-4337).
15
+ *
16
+ * @category ERC-4337
17
+ */
18
+ export * as UserOperation from './UserOperation.js';
19
+ /**
20
+ * Utility functions and types for working with [ERC-4337 User Operation Gas](https://eips.ethereum.org/EIPS/eip-4337).
21
+ *
22
+ * @category ERC-4337
23
+ */
24
+ export * as UserOperationGas from './UserOperationGas.js';
25
+ /**
26
+ * Utility functions and types for working with [ERC-4337 User Operation Receipts](https://eips.ethereum.org/EIPS/eip-4337).
27
+ *
28
+ * @category ERC-4337
29
+ */
30
+ export * as UserOperationReceipt from './UserOperationReceipt.js';
31
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../erc4337/index.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;;;GAIG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C;;;;GAIG;AACH,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AAEnD;;;;GAIG;AACH,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAA;AAEzD;;;;GAIG;AACH,OAAO,KAAK,oBAAoB,MAAM,2BAA2B,CAAA"}
@@ -1,5 +1,6 @@
1
1
  // @ts-nocheck
2
2
  /** Used by api-extractor for docgen. https://github.com/microsoft/rushstack/issues/3557 */
3
3
  export * from './index.js';
4
+ export * from './erc4337/index.js';
4
5
  export * from './erc6492/index.js';
5
6
  //# sourceMappingURL=index.docs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.docs.js","sourceRoot":"","sources":["../index.docs.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,2FAA2F;AAC3F,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.docs.js","sourceRoot":"","sources":["../index.docs.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,2FAA2F;AAC3F,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA"}
package/_esm/version.js CHANGED
@@ -1,3 +1,3 @@
1
1
  /** @internal */
2
- export const version = '0.4.3';
2
+ export const version = '0.5.0';
3
3
  //# sourceMappingURL=version.js.map