@zerodev/permissions 5.2.1-alpha.9 → 5.2.1

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 (86) hide show
  1. package/_cjs/constants.js +9 -8
  2. package/_cjs/constants.js.map +1 -1
  3. package/_cjs/deserializePermissionAccount.js +2 -0
  4. package/_cjs/deserializePermissionAccount.js.map +1 -1
  5. package/_cjs/policies/index.js +3 -1
  6. package/_cjs/policies/index.js.map +1 -1
  7. package/_cjs/policies/toCallPolicy.js +2 -2
  8. package/_cjs/policies/toCallPolicy.js.map +1 -1
  9. package/_cjs/policies/toGasPolicy.js +2 -2
  10. package/_cjs/policies/toGasPolicy.js.map +1 -1
  11. package/_cjs/policies/toRateLimitPolicy.js +2 -2
  12. package/_cjs/policies/toRateLimitPolicy.js.map +1 -1
  13. package/_cjs/policies/toSignatureCallerPolicy.js +2 -2
  14. package/_cjs/policies/toSignatureCallerPolicy.js.map +1 -1
  15. package/_cjs/policies/toSudoPolicy.js +2 -2
  16. package/_cjs/policies/toSudoPolicy.js.map +1 -1
  17. package/_cjs/policies/toTimestampPolicy.js +27 -0
  18. package/_cjs/policies/toTimestampPolicy.js.map +1 -0
  19. package/_cjs/signers/index.js +3 -1
  20. package/_cjs/signers/index.js.map +1 -1
  21. package/_cjs/signers/toEmptyECDSASigner.js +30 -0
  22. package/_cjs/signers/toEmptyECDSASigner.js.map +1 -0
  23. package/_cjs/toPermissionValidator.js +3 -10
  24. package/_cjs/toPermissionValidator.js.map +1 -1
  25. package/_esm/constants.js +8 -7
  26. package/_esm/constants.js.map +1 -1
  27. package/_esm/deserializePermissionAccount.js +3 -1
  28. package/_esm/deserializePermissionAccount.js.map +1 -1
  29. package/_esm/policies/index.js +1 -0
  30. package/_esm/policies/index.js.map +1 -1
  31. package/_esm/policies/toCallPolicy.js +2 -2
  32. package/_esm/policies/toCallPolicy.js.map +1 -1
  33. package/_esm/policies/toGasPolicy.js +2 -2
  34. package/_esm/policies/toGasPolicy.js.map +1 -1
  35. package/_esm/policies/toRateLimitPolicy.js +2 -2
  36. package/_esm/policies/toRateLimitPolicy.js.map +1 -1
  37. package/_esm/policies/toSignatureCallerPolicy.js +2 -2
  38. package/_esm/policies/toSignatureCallerPolicy.js.map +1 -1
  39. package/_esm/policies/toSudoPolicy.js +2 -2
  40. package/_esm/policies/toSudoPolicy.js.map +1 -1
  41. package/_esm/policies/toTimestampPolicy.js +23 -0
  42. package/_esm/policies/toTimestampPolicy.js.map +1 -0
  43. package/_esm/signers/index.js +1 -0
  44. package/_esm/signers/index.js.map +1 -1
  45. package/_esm/signers/toEmptyECDSASigner.js +27 -0
  46. package/_esm/signers/toEmptyECDSASigner.js.map +1 -0
  47. package/_esm/toPermissionValidator.js +5 -12
  48. package/_esm/toPermissionValidator.js.map +1 -1
  49. package/_types/constants.d.ts +8 -7
  50. package/_types/constants.d.ts.map +1 -1
  51. package/_types/deserializePermissionAccount.d.ts.map +1 -1
  52. package/_types/policies/index.d.ts +1 -0
  53. package/_types/policies/index.d.ts.map +1 -1
  54. package/_types/policies/toCallPolicy.d.ts +1 -2
  55. package/_types/policies/toCallPolicy.d.ts.map +1 -1
  56. package/_types/policies/toGasPolicy.d.ts +1 -2
  57. package/_types/policies/toGasPolicy.d.ts.map +1 -1
  58. package/_types/policies/toRateLimitPolicy.d.ts +1 -2
  59. package/_types/policies/toRateLimitPolicy.d.ts.map +1 -1
  60. package/_types/policies/toSignatureCallerPolicy.d.ts +1 -2
  61. package/_types/policies/toSignatureCallerPolicy.d.ts.map +1 -1
  62. package/_types/policies/toSudoPolicy.d.ts +2 -4
  63. package/_types/policies/toSudoPolicy.d.ts.map +1 -1
  64. package/_types/policies/toTimestampPolicy.d.ts +7 -0
  65. package/_types/policies/toTimestampPolicy.d.ts.map +1 -0
  66. package/_types/signers/index.d.ts +1 -0
  67. package/_types/signers/index.d.ts.map +1 -1
  68. package/_types/signers/toEmptyECDSASigner.d.ts +4 -0
  69. package/_types/signers/toEmptyECDSASigner.d.ts.map +1 -0
  70. package/_types/toPermissionValidator.d.ts.map +1 -1
  71. package/_types/types.d.ts +14 -2
  72. package/_types/types.d.ts.map +1 -1
  73. package/constants.ts +11 -9
  74. package/deserializePermissionAccount.ts +4 -1
  75. package/package.json +4 -4
  76. package/policies/index.ts +4 -0
  77. package/policies/toCallPolicy.ts +5 -5
  78. package/policies/toGasPolicy.ts +3 -5
  79. package/policies/toRateLimitPolicy.ts +3 -5
  80. package/policies/toSignatureCallerPolicy.ts +3 -5
  81. package/policies/toSudoPolicy.ts +4 -7
  82. package/policies/toTimestampPolicy.ts +37 -0
  83. package/signers/index.ts +1 -0
  84. package/signers/toEmptyECDSASigner.ts +34 -0
  85. package/toPermissionValidator.ts +5 -16
  86. package/types.ts +10 -6
@@ -2,4 +2,5 @@ export { toECDSASigner } from "./toECDSASigner.js";
2
2
  export { toWebAuthnSigner } from "./toWebAuthnSigner.js";
3
3
  export { WebAuthnMode } from "./toWebAuthnPubKey.js";
4
4
  export { toSignerId } from "./utils/toSignerId.js";
5
+ export { toEmptyECDSASigner } from "./toEmptyECDSASigner.js";
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../signers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,aAAa,EAEhB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACH,gBAAgB,EAEnB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../signers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,aAAa,EAEhB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACH,gBAAgB,EAEnB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA"}
@@ -0,0 +1,27 @@
1
+ import { constants } from "@zerodev/sdk";
2
+ import {} from "viem";
3
+ import { toAccount } from "viem/accounts";
4
+ import { ECDSA_SIGNER_CONTRACT } from "../constants.js";
5
+ export function toEmptyECDSASigner(address) {
6
+ const account = toAccount({
7
+ address,
8
+ async signMessage() {
9
+ throw new Error("Method not supported");
10
+ },
11
+ async signTransaction(_, __) {
12
+ throw new Error("Method not supported");
13
+ },
14
+ async signTypedData(_typedData) {
15
+ throw new Error("Method not supported");
16
+ }
17
+ });
18
+ return {
19
+ account,
20
+ signerContractAddress: ECDSA_SIGNER_CONTRACT,
21
+ getSignerData: () => {
22
+ return address;
23
+ },
24
+ getDummySignature: () => constants.DUMMY_ECDSA_SIG
25
+ };
26
+ }
27
+ //# sourceMappingURL=toEmptyECDSASigner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toEmptyECDSASigner.js","sourceRoot":"","sources":["../../signers/toEmptyECDSASigner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,OAAO,EAA0C,MAAM,MAAM,CAAA;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAGvD,MAAM,UAAU,kBAAkB,CAAC,OAAgB;IAC/C,MAAM,OAAO,GAAG,SAAS,CAAC;QACtB,OAAO;QACP,KAAK,CAAC,WAAW;YACb,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;QAC3C,CAAC;QACD,KAAK,CAAC,eAAe,CAAC,CAAC,EAAE,EAAE;YACvB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;QAC3C,CAAC;QACD,KAAK,CAAC,aAAa,CAKjB,UAAyD;YACvD,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;QAC3C,CAAC;KACJ,CAAC,CAAA;IACF,OAAO;QACH,OAAO;QACP,qBAAqB,EAAE,qBAAqB;QAC5C,aAAa,EAAE,GAAG,EAAE;YAChB,OAAO,OAAO,CAAA;QAClB,CAAC;QACD,iBAAiB,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,eAAe;KACrD,CAAA;AACL,CAAC"}
@@ -1,7 +1,8 @@
1
1
  import { KernelV3AccountAbi } from "@zerodev/sdk";
2
- import { getAction, getEntryPointVersion, getUserOperationHash } from "permissionless";
3
- import { concat, encodeAbiParameters, keccak256, pad, slice, zeroAddress } from "viem";
2
+ import { getEntryPointVersion, getUserOperationHash } from "permissionless";
3
+ import { concat, encodeAbiParameters, keccak256, slice, zeroAddress } from "viem";
4
4
  import { getChainId, readContract } from "viem/actions";
5
+ import { getAction } from "viem/utils";
5
6
  import { PolicyFlags } from "./constants.js";
6
7
  import { toPolicyId } from "./policies/index.js";
7
8
  import { toSignerId } from "./signers/index.js";
@@ -77,19 +78,11 @@ export async function toPermissionValidator(client, { signer, policies, entryPoi
77
78
  },
78
79
  isEnabled: async (kernelAccountAddress, _selector) => {
79
80
  try {
80
- const permissionConfig = await getAction(client, readContract)({
81
+ const permissionConfig = await getAction(client, readContract, "readContract")({
81
82
  abi: KernelV3AccountAbi,
82
83
  address: kernelAccountAddress,
83
84
  functionName: "permissionConfig",
84
- args: [
85
- concat([
86
- "0x00",
87
- pad(getPermissionId(), {
88
- size: 20,
89
- dir: "right"
90
- })
91
- ])
92
- ]
85
+ args: [getPermissionId()]
93
86
  });
94
87
  return permissionConfig.signer === signer.signerContractAddress;
95
88
  }
@@ -1 +1 @@
1
- {"version":3,"file":"toPermissionValidator.js","sourceRoot":"","sources":["../toPermissionValidator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,EACH,SAAS,EACT,oBAAoB,EACpB,oBAAoB,EACvB,MAAM,gBAAgB,CAAA;AAEvB,OAAO,EAMH,MAAM,EACN,mBAAmB,EACnB,SAAS,EACT,GAAG,EACH,KAAK,EACL,WAAW,EACd,MAAM,MAAM,CAAA;AACb,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAO/C,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAKvC,MAA6C,EAC7C,EACI,MAAM,EACN,QAAQ,EACR,UAAU,EAAE,iBAAiB,EAC7B,IAAI,GAAG,WAAW,CAAC,kBAAkB,EAChB;IAEzB,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,CAAA;IACxC,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,CAAA;IAEjE,IAAI,iBAAiB,KAAK,MAAM,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;IACvD,CAAC;IAED,MAAM,aAAa,GAAG,KAAK,EACvB,qBAA+B,EACnB,EAAE;QACd,MAAM,UAAU,GAAG,mBAAmB,CAClC,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAClD;YACI;gBACI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACvB,MAAM,CAAC;oBACH,MAAM,CAAC,oBAAoB,EAAE;oBAC7B,MAAM,CAAC,aAAa,EAAE;iBACzB,CAAC,CACL;gBACD,MAAM,CAAC;oBACH,IAAI;oBACJ,MAAM,CAAC,qBAAqB;oBAC5B,MAAM,CAAC,aAAa,EAAE;iBACzB,CAAC;aACL;SACJ,CACJ,CAAA;QACD,OAAO,UAAU,CAAA;IACrB,CAAC,CAAA;IAED,MAAM,eAAe,GAAG,GAAQ,EAAE;QAC9B,MAAM,OAAO,GAAG,mBAAmB,CAC/B,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAClD,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CACrD,CAAA;QACD,OAAO,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAC1C,CAAC,CAAA;IAED,OAAO;QACH,GAAG,MAAM,CAAC,OAAO;QACjB,aAAa,EAAE,YAAY;QAC3B,OAAO,EAAE,WAAW;QACpB,MAAM,EAAE,qBAAqB;QAC7B,aAAa;QACb,aAAa,EAAE,eAAe;QAE9B,WAAW,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;YAC/B,OAAO,MAAM,CAAC;gBACV,MAAM;gBACN,MAAM,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC;aAChD,CAAC,CAAA;QACN,CAAC;QACD,aAAa,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;YAC/B,OAAO,MAAM,CAAC;gBACV,MAAM;gBACN,MAAM,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC;aAChD,CAAC,CAAA;QACN,CAAC;QAED,iBAAiB,EAAE,KAAK,EAAE,aAAa,EAAgB,EAAE;YACrD,MAAM,UAAU,GAAG,oBAAoB,CAAC;gBACpC,aAAa,EAAE,EAAE,GAAG,aAAa,EAAE,SAAS,EAAE,IAAI,EAAE;gBACpD,UAAU,EAAE,iBAAiB;gBAC7B,OAAO;aACV,CAAC,CAAA;YAEF,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;gBAC/C,OAAO,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE;aAC/B,CAAC,CAAA;YACF,OAAO,MAAM,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAA;QACtC,CAAC;QAED,KAAK,CAAC,WAAW,CAAC,eAAyB,EAAE,cAAuB;YAChE,IAAI,cAAc,EAAE,CAAC;gBACjB,OAAO,cAAc,CAAA;YACzB,CAAC;YACD,OAAO,EAAE,CAAA;QACb,CAAC;QAED,KAAK,CAAC,iBAAiB,CAAC,cAAc;YAClC,OAAO,MAAM,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAA;QACvD,CAAC;QACD,4BAA4B,EAAE,GAAmB,EAAE;YAC/C,OAAO;gBACH,QAAQ;aACX,CAAA;QACL,CAAC;QACD,SAAS,EAAE,KAAK,EACZ,oBAA6B,EAC7B,SAAc,EACE,EAAE;YAClB,IAAI,CAAC;gBACD,MAAM,gBAAgB,GAAG,MAAM,SAAS,CACpC,MAAM,EACN,YAAY,CACf,CAAC;oBACE,GAAG,EAAE,kBAAkB;oBACvB,OAAO,EAAE,oBAAoB;oBAC7B,YAAY,EAAE,kBAAkB;oBAChC,IAAI,EAAE;wBACF,MAAM,CAAC;4BACH,MAAM;4BACN,GAAG,CAAC,eAAe,EAAE,EAAE;gCACnB,IAAI,EAAE,EAAE;gCACR,GAAG,EAAE,OAAO;6BACf,CAAC;yBACL,CAAC;qBACL;iBACJ,CAAC,CAAA;gBACF,OAAO,gBAAgB,CAAC,MAAM,KAAK,MAAM,CAAC,qBAAqB,CAAA;YACnE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,OAAO,KAAK,CAAA;YAChB,CAAC;QACL,CAAC;KACJ,CAAA;AACL,CAAC"}
1
+ {"version":3,"file":"toPermissionValidator.js","sourceRoot":"","sources":["../toPermissionValidator.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
- export declare const CALL_POLICY_CONTRACT = "0xc4a1aaED053Fc02717358a377A2d695bCdFA3B8A";
2
- export declare const ECDSA_SIGNER_CONTRACT = "0x8Ed04D0B000777c87e701696cf6B9710733Df96a";
3
- export declare const GAS_POLICY_CONTRACT = "0x50FD84A0A1D1683e1dafC5009876B38773fc8E3A";
4
- export declare const SIGNATURE_POLICY_CONTRACT = "0x19a3E696fFdFEDfadb22297DB223B9ca501523dD";
5
- export declare const RATE_LIMIT_POLICY_CONTRACT = "0xdB6e5F9a18f0F6Fa0861cB60f94Cf7f7374E8270";
6
- export declare const WEBAUTHN_SIGNER_CONTRACT = "0xD71E0e2AFf9D4d93b20F615e6aC2ac7e0795b472";
7
- export declare const SUDO_POLICY_CONTRACT = "0x6D14FC570e2bE7D74a6926ea54f190d690855851";
1
+ export declare const ECDSA_SIGNER_CONTRACT = "0x6A6F069E2a08c2468e7724Ab3250CdBFBA14D4FF";
2
+ export declare const WEBAUTHN_SIGNER_CONTRACT = "0x8AA55d4BfAE101609078681A69B5bc3181516612";
3
+ export declare const CALL_POLICY_CONTRACT = "0xe4Fec84B7B002273ecC86baa65a831ddB92d30a8";
4
+ export declare const GAS_POLICY_CONTRACT = "0xaeFC5AbC67FfD258abD0A3E54f65E70326F84b23";
5
+ export declare const RATE_LIMIT_POLICY_CONTRACT = "0xf63d4139B25c836334edD76641356c6b74C86873";
6
+ export declare const SIGNATURE_POLICY_CONTRACT = "0xF6A936c88D97E6fad13b98d2FD731Ff17eeD591d";
7
+ export declare const SUDO_POLICY_CONTRACT = "0x67b436caD8a6D025DF6C82C5BB43fbF11fC5B9B7";
8
+ export declare const TIMESTAMP_POLICY_CONTRACT = "0xB9f8f524bE6EcD8C945b1b87f9ae5C192FdCE20F";
8
9
  export declare enum PolicyFlags {
9
10
  FOR_ALL_VALIDATION = "0x0000",
10
11
  NOT_FOR_VALIDATE_USEROP = "0x0001",
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,+CAA+C,CAAA;AAChF,eAAO,MAAM,qBAAqB,+CACc,CAAA;AAChD,eAAO,MAAM,mBAAmB,+CAA+C,CAAA;AAC/E,eAAO,MAAM,yBAAyB,+CACU,CAAA;AAChD,eAAO,MAAM,0BAA0B,+CACS,CAAA;AAChD,eAAO,MAAM,wBAAwB,+CACW,CAAA;AAChD,eAAO,MAAM,oBAAoB,+CAA+C,CAAA;AAEhF,oBAAY,WAAW;IACnB,kBAAkB,WAAW;IAC7B,uBAAuB,WAAW;IAClC,oBAAoB,WAAW;CAClC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,+CACc,CAAA;AAChD,eAAO,MAAM,wBAAwB,+CACW,CAAA;AAChD,eAAO,MAAM,oBAAoB,+CAA+C,CAAA;AAChF,eAAO,MAAM,mBAAmB,+CAA+C,CAAA;AAC/E,eAAO,MAAM,0BAA0B,+CACS,CAAA;AAChD,eAAO,MAAM,yBAAyB,+CACU,CAAA;AAChD,eAAO,MAAM,oBAAoB,+CAA+C,CAAA;AAChF,eAAO,MAAM,yBAAyB,+CACU,CAAA;AAEhD,oBAAY,WAAW;IACnB,kBAAkB,WAAW;IAC7B,uBAAuB,WAAW;IAClC,oBAAoB,WAAW;CAClC"}
@@ -1 +1 @@
1
- {"version":3,"file":"deserializePermissionAccount.d.ts","sourceRoot":"","sources":["../deserializePermissionAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,mBAAmB,EACtB,MAAM,cAAc,CAAA;AAErB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAE3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AAY/B,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAG/C,eAAO,MAAM,4BAA4B,0CAG7B,WAAW,0BAA0B,CAAC,CAAC,CAAC,CAAC,iEAEjB,MAAM,kBACtB,aAAa,+HAkDhC,CAAA;AAED,eAAO,MAAM,sBAAsB,WAAkB,MAAM,oBAe1D,CAAA;AAED,eAAO,MAAM,wBAAwB,aAAc,GAAG;;;CA0BrD,CAAA"}
1
+ {"version":3,"file":"deserializePermissionAccount.d.ts","sourceRoot":"","sources":["../deserializePermissionAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,mBAAmB,EACtB,MAAM,cAAc,CAAA;AAErB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAE3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AAa/B,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAG/C,eAAO,MAAM,4BAA4B,0CAG7B,WAAW,0BAA0B,CAAC,CAAC,CAAC,CAAC,iEAEjB,MAAM,kBACtB,aAAa,+HAkDhC,CAAA;AAED,eAAO,MAAM,sBAAsB,WAAkB,MAAM,oBAiB1D,CAAA;AAED,eAAO,MAAM,wBAAwB,aAAc,GAAG;;;CA0BrD,CAAA"}
@@ -5,4 +5,5 @@ export { toCallPolicy, type CallPolicyParams } from "./toCallPolicy.js";
5
5
  export { toPolicyId } from "./utils/toPolicyId.js";
6
6
  export { toSudoPolicy, type SudoPolicyParams } from "./toSudoPolicy.js";
7
7
  export { CallType, ParamCondition } from "./types.js";
8
+ export { toTimestampPolicy, type TimestampPolicyParams } from "./toTimestampPolicy.js";
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../policies/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACpE,OAAO,EACH,uBAAuB,EACvB,KAAK,2BAA2B,EACnC,MAAM,8BAA8B,CAAA;AACrC,OAAO,EACH,iBAAiB,EACjB,KAAK,qBAAqB,EAC7B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,YAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACvE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../policies/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACpE,OAAO,EACH,uBAAuB,EACvB,KAAK,2BAA2B,EACnC,MAAM,8BAA8B,CAAA;AACrC,OAAO,EACH,iBAAiB,EACjB,KAAK,qBAAqB,EAC7B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,YAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACvE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AACrD,OAAO,EACH,iBAAiB,EACjB,KAAK,qBAAqB,EAC7B,MAAM,wBAAwB,CAAA"}
@@ -3,7 +3,6 @@ import type { Policy, PolicyParams } from "../types.js";
3
3
  import { type Permission } from "./types.js";
4
4
  export type CallPolicyParams<TAbi extends Abi | readonly unknown[], TFunctionName extends string | undefined = string> = PolicyParams & {
5
5
  permissions?: Permission<TAbi, TFunctionName>[];
6
- type?: "call";
7
6
  };
8
- export declare function toCallPolicy<TAbi extends Abi | readonly unknown[], TFunctionName extends string | undefined = string>({ policyAddress, policyFlag, permissions, type }: CallPolicyParams<TAbi, TFunctionName>): Policy;
7
+ export declare function toCallPolicy<TAbi extends Abi | readonly unknown[], TFunctionName extends string | undefined = string>({ policyAddress, policyFlag, permissions }: CallPolicyParams<TAbi, TFunctionName>): Policy;
9
8
  //# sourceMappingURL=toCallPolicy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"toCallPolicy.d.ts","sourceRoot":"","sources":["../../policies/toCallPolicy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AAI/B,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAKvD,OAAO,EAAY,KAAK,UAAU,EAAE,MAAM,YAAY,CAAA;AAEtD,MAAM,MAAM,gBAAgB,CACxB,IAAI,SAAS,GAAG,GAAG,SAAS,OAAO,EAAE,EACrC,aAAa,SAAS,MAAM,GAAG,SAAS,GAAG,MAAM,IACjD,YAAY,GAAG;IACf,WAAW,CAAC,EAAE,UAAU,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE,CAAA;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,wBAAgB,YAAY,CACxB,IAAI,SAAS,GAAG,GAAG,SAAS,OAAO,EAAE,EACrC,aAAa,SAAS,MAAM,GAAG,SAAS,GAAG,MAAM,EACnD,EACE,aAAoC,EACpC,UAA2C,EAC3C,WAAgB,EAChB,IAAa,EAChB,EAAE,gBAAgB,CAAC,IAAI,EAAE,aAAa,CAAC,GAAG,MAAM,CAqChD"}
1
+ {"version":3,"file":"toCallPolicy.d.ts","sourceRoot":"","sources":["../../policies/toCallPolicy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AAI/B,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAKvD,OAAO,EAAY,KAAK,UAAU,EAAE,MAAM,YAAY,CAAA;AAEtD,MAAM,MAAM,gBAAgB,CACxB,IAAI,SAAS,GAAG,GAAG,SAAS,OAAO,EAAE,EACrC,aAAa,SAAS,MAAM,GAAG,SAAS,GAAG,MAAM,IACjD,YAAY,GAAG;IACf,WAAW,CAAC,EAAE,UAAU,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE,CAAA;CAClD,CAAA;AAED,wBAAgB,YAAY,CACxB,IAAI,SAAS,GAAG,GAAG,SAAS,OAAO,EAAE,EACrC,aAAa,SAAS,MAAM,GAAG,SAAS,GAAG,MAAM,EACnD,EACE,aAAoC,EACpC,UAA2C,EAC3C,WAAgB,EACnB,EAAE,gBAAgB,CAAC,IAAI,EAAE,aAAa,CAAC,GAAG,MAAM,CAuChD"}
@@ -4,7 +4,6 @@ export type GasPolicyParams = PolicyParams & {
4
4
  allowed?: bigint;
5
5
  enforcePaymaster?: boolean;
6
6
  allowedPaymaster?: Address;
7
- type?: "gas";
8
7
  };
9
- export declare function toGasPolicy({ policyAddress, policyFlag, allowed, enforcePaymaster, allowedPaymaster, type }: GasPolicyParams): Policy;
8
+ export declare function toGasPolicy({ policyAddress, policyFlag, allowed, enforcePaymaster, allowedPaymaster }: GasPolicyParams): Policy;
10
9
  //# sourceMappingURL=toGasPolicy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"toGasPolicy.d.ts","sourceRoot":"","sources":["../../policies/toGasPolicy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAA+C,MAAM,MAAM,CAAA;AAGhF,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAEvD,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG;IACzC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,IAAI,CAAC,EAAE,KAAK,CAAA;CACf,CAAA;AAED,wBAAgB,WAAW,CAAC,EACxB,aAAmC,EACnC,UAA2C,EAC3C,OAAY,EACZ,gBAAwB,EACxB,gBAA8B,EAC9B,IAAY,EACf,EAAE,eAAe,GAAG,MAAM,CAwB1B"}
1
+ {"version":3,"file":"toGasPolicy.d.ts","sourceRoot":"","sources":["../../policies/toGasPolicy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAA+C,MAAM,MAAM,CAAA;AAGhF,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAEvD,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG;IACzC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC7B,CAAA;AAED,wBAAgB,WAAW,CAAC,EACxB,aAAmC,EACnC,UAA2C,EAC3C,OAAY,EACZ,gBAAwB,EACxB,gBAA8B,EACjC,EAAE,eAAe,GAAG,MAAM,CAwB1B"}
@@ -3,7 +3,6 @@ export type RateLimitPolicyParams = PolicyParams & {
3
3
  interval?: number;
4
4
  count: number;
5
5
  startAt?: number;
6
- type?: "rate-limit";
7
6
  };
8
- export declare function toRateLimitPolicy({ policyAddress, policyFlag, interval, count, startAt, type }: RateLimitPolicyParams): Policy;
7
+ export declare function toRateLimitPolicy({ policyAddress, policyFlag, interval, count, startAt }: RateLimitPolicyParams): Policy;
9
8
  //# sourceMappingURL=toRateLimitPolicy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"toRateLimitPolicy.d.ts","sourceRoot":"","sources":["../../policies/toRateLimitPolicy.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAEvD,MAAM,MAAM,qBAAqB,GAAG,YAAY,GAAG;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,YAAY,CAAA;CACtB,CAAA;AAED,wBAAgB,iBAAiB,CAAC,EAC9B,aAA0C,EAC1C,UAA2C,EAC3C,QAAY,EACZ,KAAK,EACL,OAAW,EACX,IAAmB,EACtB,EAAE,qBAAqB,GAAG,MAAM,CAuBhC"}
1
+ {"version":3,"file":"toRateLimitPolicy.d.ts","sourceRoot":"","sources":["../../policies/toRateLimitPolicy.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAEvD,MAAM,MAAM,qBAAqB,GAAG,YAAY,GAAG;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,wBAAgB,iBAAiB,CAAC,EAC9B,aAA0C,EAC1C,UAA2C,EAC3C,QAAY,EACZ,KAAK,EACL,OAAW,EACd,EAAE,qBAAqB,GAAG,MAAM,CAuBhC"}
@@ -2,7 +2,6 @@ import { type Address } from "viem";
2
2
  import type { Policy, PolicyParams } from "../types.js";
3
3
  export type SignatureCallerPolicyParams = PolicyParams & {
4
4
  allowedCallers: Address[];
5
- type?: "signature-caller";
6
5
  };
7
- export declare function toSignatureCallerPolicy({ policyAddress, policyFlag, allowedCallers, type }: SignatureCallerPolicyParams): Policy;
6
+ export declare function toSignatureCallerPolicy({ policyAddress, policyFlag, allowedCallers }: SignatureCallerPolicyParams): Policy;
8
7
  //# sourceMappingURL=toSignatureCallerPolicy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"toSignatureCallerPolicy.d.ts","sourceRoot":"","sources":["../../policies/toSignatureCallerPolicy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAkC,MAAM,MAAM,CAAA;AAGnE,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAEvD,MAAM,MAAM,2BAA2B,GAAG,YAAY,GAAG;IACrD,cAAc,EAAE,OAAO,EAAE,CAAA;IACzB,IAAI,CAAC,EAAE,kBAAkB,CAAA;CAC5B,CAAA;AAED,wBAAgB,uBAAuB,CAAC,EACpC,aAAyC,EACzC,UAA2C,EAC3C,cAAc,EACd,IAAyB,EAC5B,EAAE,2BAA2B,GAAG,MAAM,CAkBtC"}
1
+ {"version":3,"file":"toSignatureCallerPolicy.d.ts","sourceRoot":"","sources":["../../policies/toSignatureCallerPolicy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAkC,MAAM,MAAM,CAAA;AAGnE,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAEvD,MAAM,MAAM,2BAA2B,GAAG,YAAY,GAAG;IACrD,cAAc,EAAE,OAAO,EAAE,CAAA;CAC5B,CAAA;AAED,wBAAgB,uBAAuB,CAAC,EACpC,aAAyC,EACzC,UAA2C,EAC3C,cAAc,EACjB,EAAE,2BAA2B,GAAG,MAAM,CAkBtC"}
@@ -1,6 +1,4 @@
1
1
  import type { Policy, PolicyParams } from "../types.js";
2
- export type SudoPolicyParams = PolicyParams & {
3
- type?: "sudo";
4
- };
5
- export declare function toSudoPolicy({ policyAddress, policyFlag, type }: SudoPolicyParams): Policy;
2
+ export type SudoPolicyParams = PolicyParams;
3
+ export declare function toSudoPolicy({ policyAddress, policyFlag }: SudoPolicyParams): Policy;
6
4
  //# sourceMappingURL=toSudoPolicy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"toSudoPolicy.d.ts","sourceRoot":"","sources":["../../policies/toSudoPolicy.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAEvD,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,wBAAgB,YAAY,CAAC,EACzB,aAAoC,EACpC,UAA2C,EAC3C,IAAa,EAChB,EAAE,gBAAgB,GAAG,MAAM,CAc3B"}
1
+ {"version":3,"file":"toSudoPolicy.d.ts","sourceRoot":"","sources":["../../policies/toSudoPolicy.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAEvD,MAAM,MAAM,gBAAgB,GAAG,YAAY,CAAA;AAE3C,wBAAgB,YAAY,CAAC,EACzB,aAAoC,EACpC,UAA2C,EAC9C,EAAE,gBAAgB,GAAG,MAAM,CAc3B"}
@@ -0,0 +1,7 @@
1
+ import type { Policy, PolicyParams } from "../types.js";
2
+ export type TimestampPolicyParams = PolicyParams & {
3
+ validAfter?: number;
4
+ validUntil?: number;
5
+ };
6
+ export declare function toTimestampPolicy({ policyAddress, policyFlag, validAfter, validUntil }: TimestampPolicyParams): Policy;
7
+ //# sourceMappingURL=toTimestampPolicy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toTimestampPolicy.d.ts","sourceRoot":"","sources":["../../policies/toTimestampPolicy.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAEvD,MAAM,MAAM,qBAAqB,GAAG,YAAY,GAAG;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,wBAAgB,iBAAiB,CAAC,EAC9B,aAAyC,EACzC,UAA2C,EAC3C,UAAc,EACd,UAAc,EACjB,EAAE,qBAAqB,GAAG,MAAM,CAsBhC"}
@@ -2,4 +2,5 @@ export { toECDSASigner, type ECDSAModularSignerParams } from "./toECDSASigner.js
2
2
  export { toWebAuthnSigner, type WebAuthnModularSignerParams } from "./toWebAuthnSigner.js";
3
3
  export { WebAuthnMode } from "./toWebAuthnPubKey.js";
4
4
  export { toSignerId } from "./utils/toSignerId.js";
5
+ export { toEmptyECDSASigner } from "./toEmptyECDSASigner.js";
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../signers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,aAAa,EACb,KAAK,wBAAwB,EAChC,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACH,gBAAgB,EAChB,KAAK,2BAA2B,EACnC,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../signers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,aAAa,EACb,KAAK,wBAAwB,EAChC,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACH,gBAAgB,EAChB,KAAK,2BAA2B,EACnC,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { type Address } from "viem";
2
+ import type { ModularSigner } from "../types.js";
3
+ export declare function toEmptyECDSASigner(address: Address): ModularSigner;
4
+ //# sourceMappingURL=toEmptyECDSASigner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toEmptyECDSASigner.d.ts","sourceRoot":"","sources":["../../signers/toEmptyECDSASigner.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,OAAO,EAA4B,MAAM,MAAM,CAAA;AAG7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,CA0BlE"}
@@ -1 +1 @@
1
- {"version":3,"file":"toPermissionValidator.d.ts","sourceRoot":"","sources":["../toPermissionValidator.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,EAEH,KAAK,KAAK,EACV,KAAK,MAAM,EAEX,KAAK,SAAS,EAOjB,MAAM,MAAM,CAAA;AAKb,OAAO,KAAK,EAER,gBAAgB,EAChB,sBAAsB,EACzB,MAAM,YAAY,CAAA;AAEnB,wBAAsB,qBAAqB,CACvC,UAAU,SAAS,UAAU,EAC7B,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EAEpD,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,EAC7C,EACI,MAAM,EACN,QAAQ,EACR,UAAU,EAAE,iBAAiB,EAC7B,IAAqC,EACxC,EAAE,sBAAsB,GAC1B,OAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAqHvC"}
1
+ {"version":3,"file":"toPermissionValidator.d.ts","sourceRoot":"","sources":["../toPermissionValidator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,EAEH,KAAK,KAAK,EACV,KAAK,MAAM,EAEX,KAAK,SAAS,EAMjB,MAAM,MAAM,CAAA;AAMb,OAAO,KAAK,EAER,gBAAgB,EAChB,sBAAsB,EACzB,MAAM,YAAY,CAAA;AAEnB,wBAAsB,qBAAqB,CACvC,UAAU,SAAS,UAAU,EAC7B,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EAEpD,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,EAC7C,EACI,MAAM,EACN,QAAQ,EACR,UAAU,EAAE,iBAAiB,EAC7B,IAAqC,EACxC,EAAE,sBAAsB,GAC1B,OAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CA8GvC"}
package/_types/types.d.ts CHANGED
@@ -3,7 +3,7 @@ import type { Action, PluginValidityData } from "@zerodev/sdk/types";
3
3
  import type { EntryPoint } from "permissionless/types/entrypoint";
4
4
  import type { Abi, Address, Hex, LocalAccount } from "viem";
5
5
  import { PolicyFlags } from "./constants.js";
6
- import type { CallPolicyParams, GasPolicyParams, RateLimitPolicyParams, SignatureCallerPolicyParams, SudoPolicyParams } from "./policies/index.js";
6
+ import type { CallPolicyParams, GasPolicyParams, RateLimitPolicyParams, SignatureCallerPolicyParams, SudoPolicyParams, TimestampPolicyParams } from "./policies/index.js";
7
7
  export type PermissionPlugin<entryPoint extends EntryPoint> = KernelValidator<entryPoint, "PermissionValidator"> & {
8
8
  getPluginSerializationParams: () => PermissionData;
9
9
  };
@@ -23,7 +23,19 @@ export type ModularSigner = {
23
23
  export type Policy = {
24
24
  getPolicyData: () => Hex;
25
25
  getPolicyInfoInBytes: () => Hex;
26
- policyParams: CallPolicyParams<Abi | readonly unknown[], string> | GasPolicyParams | RateLimitPolicyParams | SignatureCallerPolicyParams | SudoPolicyParams;
26
+ policyParams: (CallPolicyParams<Abi | readonly unknown[], string> & {
27
+ type: "call";
28
+ }) | (GasPolicyParams & {
29
+ type: "gas";
30
+ }) | (RateLimitPolicyParams & {
31
+ type: "rate-limit";
32
+ }) | (SignatureCallerPolicyParams & {
33
+ type: "signature-caller";
34
+ }) | (SudoPolicyParams & {
35
+ type: "sudo";
36
+ }) | (TimestampPolicyParams & {
37
+ type: "timestamp";
38
+ });
27
39
  };
28
40
  export type PermissionPluginParams = {
29
41
  signer: ModularSigner;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,KAAK,EACR,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,2BAA2B,EAC3B,gBAAgB,EACnB,MAAM,qBAAqB,CAAA;AAE5B,MAAM,MAAM,gBAAgB,CAAC,UAAU,SAAS,UAAU,IAAI,eAAe,CACzE,UAAU,EACV,qBAAqB,CACxB,GAAG;IACA,4BAA4B,EAAE,MAAM,cAAc,CAAA;CACrD,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAC9B,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAClC,CAAA;AACD,MAAM,MAAM,YAAY,GAAG;IACvB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,UAAU,CAAC,EAAE,WAAW,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IACxB,OAAO,EAAE,YAAY,CAAA;IACrB,qBAAqB,EAAE,OAAO,CAAA;IAC9B,aAAa,EAAE,MAAM,GAAG,CAAA;IACxB,iBAAiB,EAAE,MAAM,GAAG,CAAA;CAC/B,CAAA;AAED,MAAM,MAAM,MAAM,GAAG;IACjB,aAAa,EAAE,MAAM,GAAG,CAAA;IACxB,oBAAoB,EAAE,MAAM,GAAG,CAAA;IAE/B,YAAY,EACN,gBAAgB,CAAC,GAAG,GAAG,SAAS,OAAO,EAAE,EAAE,MAAM,CAAC,GAClD,eAAe,GACf,qBAAqB,GACrB,2BAA2B,GAC3B,gBAAgB,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACjC,MAAM,EAAE,aAAa,CAAA;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,UAAU,EAAE,UAAU,CAAA;IACtB,IAAI,CAAC,EAAE,WAAW,CAAA;CACrB,CAAA;AAED,MAAM,WAAW,cAAc;IAC3B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CACtB;AAED,MAAM,MAAM,6BAA6B,GAAG;IACxC,QAAQ,EAAE,GAAG,CAAA;IACb,cAAc,EAAE,OAAO,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IAClC,gBAAgB,EAAE,cAAc,CAAA;IAChC,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,kBAAkB,CAAA;IAChC,aAAa,EAAE,6BAA6B,CAAA;IAC5C,eAAe,CAAC,EAAE,GAAG,CAAA;IACrB,UAAU,CAAC,EAAE,GAAG,CAAA;CACnB,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,KAAK,EACR,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,2BAA2B,EAC3B,gBAAgB,EAChB,qBAAqB,EACxB,MAAM,qBAAqB,CAAA;AAE5B,MAAM,MAAM,gBAAgB,CAAC,UAAU,SAAS,UAAU,IAAI,eAAe,CACzE,UAAU,EACV,qBAAqB,CACxB,GAAG;IACA,4BAA4B,EAAE,MAAM,cAAc,CAAA;CACrD,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAC9B,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAClC,CAAA;AACD,MAAM,MAAM,YAAY,GAAG;IACvB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,UAAU,CAAC,EAAE,WAAW,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IACxB,OAAO,EAAE,YAAY,CAAA;IACrB,qBAAqB,EAAE,OAAO,CAAA;IAC9B,aAAa,EAAE,MAAM,GAAG,CAAA;IACxB,iBAAiB,EAAE,MAAM,GAAG,CAAA;CAC/B,CAAA;AAED,MAAM,MAAM,MAAM,GAAG;IACjB,aAAa,EAAE,MAAM,GAAG,CAAA;IACxB,oBAAoB,EAAE,MAAM,GAAG,CAAA;IAE/B,YAAY,EACN,CAAC,gBAAgB,CAAC,GAAG,GAAG,SAAS,OAAO,EAAE,EAAE,MAAM,CAAC,GAAG;QAClD,IAAI,EAAE,MAAM,CAAA;KACf,CAAC,GACF,CAAC,eAAe,GAAG;QAAE,IAAI,EAAE,KAAK,CAAA;KAAE,CAAC,GACnC,CAAC,qBAAqB,GAAG;QAAE,IAAI,EAAE,YAAY,CAAA;KAAE,CAAC,GAChD,CAAC,2BAA2B,GAAG;QAAE,IAAI,EAAE,kBAAkB,CAAA;KAAE,CAAC,GAC5D,CAAC,gBAAgB,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,GACrC,CAAC,qBAAqB,GAAG;QAAE,IAAI,EAAE,WAAW,CAAA;KAAE,CAAC,CAAA;CACxD,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACjC,MAAM,EAAE,aAAa,CAAA;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,UAAU,EAAE,UAAU,CAAA;IACtB,IAAI,CAAC,EAAE,WAAW,CAAA;CACrB,CAAA;AAED,MAAM,WAAW,cAAc;IAC3B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CACtB;AAED,MAAM,MAAM,6BAA6B,GAAG;IACxC,QAAQ,EAAE,GAAG,CAAA;IACb,cAAc,EAAE,OAAO,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IAClC,gBAAgB,EAAE,cAAc,CAAA;IAChC,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,kBAAkB,CAAA;IAChC,aAAa,EAAE,6BAA6B,CAAA;IAC5C,eAAe,CAAC,EAAE,GAAG,CAAA;IACrB,UAAU,CAAC,EAAE,GAAG,CAAA;CACnB,CAAA"}
package/constants.ts CHANGED
@@ -1,14 +1,16 @@
1
- export const CALL_POLICY_CONTRACT = "0xc4a1aaED053Fc02717358a377A2d695bCdFA3B8A"
2
1
  export const ECDSA_SIGNER_CONTRACT =
3
- "0x8Ed04D0B000777c87e701696cf6B9710733Df96a"
4
- export const GAS_POLICY_CONTRACT = "0x50FD84A0A1D1683e1dafC5009876B38773fc8E3A"
5
- export const SIGNATURE_POLICY_CONTRACT =
6
- "0x19a3E696fFdFEDfadb22297DB223B9ca501523dD"
7
- export const RATE_LIMIT_POLICY_CONTRACT =
8
- "0xdB6e5F9a18f0F6Fa0861cB60f94Cf7f7374E8270"
2
+ "0x6A6F069E2a08c2468e7724Ab3250CdBFBA14D4FF"
9
3
  export const WEBAUTHN_SIGNER_CONTRACT =
10
- "0xD71E0e2AFf9D4d93b20F615e6aC2ac7e0795b472"
11
- export const SUDO_POLICY_CONTRACT = "0x6D14FC570e2bE7D74a6926ea54f190d690855851"
4
+ "0x8AA55d4BfAE101609078681A69B5bc3181516612"
5
+ export const CALL_POLICY_CONTRACT = "0xe4Fec84B7B002273ecC86baa65a831ddB92d30a8"
6
+ export const GAS_POLICY_CONTRACT = "0xaeFC5AbC67FfD258abD0A3E54f65E70326F84b23"
7
+ export const RATE_LIMIT_POLICY_CONTRACT =
8
+ "0xf63d4139B25c836334edD76641356c6b74C86873"
9
+ export const SIGNATURE_POLICY_CONTRACT =
10
+ "0xF6A936c88D97E6fad13b98d2FD731Ff17eeD591d"
11
+ export const SUDO_POLICY_CONTRACT = "0x67b436caD8a6D025DF6C82C5BB43fbF11fC5B9B7"
12
+ export const TIMESTAMP_POLICY_CONTRACT =
13
+ "0xB9f8f524bE6EcD8C945b1b87f9ae5C192FdCE20F"
12
14
 
13
15
  export enum PolicyFlags {
14
16
  FOR_ALL_VALIDATION = "0x0000",
@@ -15,7 +15,8 @@ import {
15
15
  toGasPolicy,
16
16
  toRateLimitPolicy,
17
17
  toSignatureCallerPolicy,
18
- toSudoPolicy
18
+ toSudoPolicy,
19
+ toTimestampPolicy
19
20
  } from "./policies/index.js"
20
21
  import { toECDSASigner } from "./signers/toECDSASigner.js"
21
22
  import { toPermissionValidator } from "./toPermissionValidator.js"
@@ -93,6 +94,8 @@ export const createPolicyFromParams = async (policy: Policy) => {
93
94
  return await toSignatureCallerPolicy(policy.policyParams)
94
95
  case "sudo":
95
96
  return await toSudoPolicy(policy.policyParams)
97
+ case "timestamp":
98
+ return await toTimestampPolicy(policy.policyParams)
96
99
  default:
97
100
  throw new Error("Unsupported policy type")
98
101
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zerodev/permissions",
3
- "version": "5.2.1-alpha.9",
3
+ "version": "5.2.1",
4
4
  "author": "ZeroDev",
5
5
  "main": "./_cjs/index.js",
6
6
  "module": "./_esm/index.js",
@@ -56,8 +56,8 @@
56
56
  "@simplewebauthn/browser": "^9.0.1"
57
57
  },
58
58
  "peerDependencies": {
59
- "viem": "^2.0.0",
60
- "@zerodev/sdk": "^5.2.1-alpha-1",
61
- "permissionless": "^0.1.4"
59
+ "viem": "^2.9.17",
60
+ "@zerodev/sdk": "^5.2.1",
61
+ "permissionless": "^0.1.17"
62
62
  }
63
63
  }
package/policies/index.ts CHANGED
@@ -11,3 +11,7 @@ export { toCallPolicy, type CallPolicyParams } from "./toCallPolicy.js"
11
11
  export { toPolicyId } from "./utils/toPolicyId.js"
12
12
  export { toSudoPolicy, type SudoPolicyParams } from "./toSudoPolicy.js"
13
13
  export { CallType, ParamCondition } from "./types.js"
14
+ export {
15
+ toTimestampPolicy,
16
+ type TimestampPolicyParams
17
+ } from "./toTimestampPolicy.js"
@@ -14,7 +14,6 @@ export type CallPolicyParams<
14
14
  TFunctionName extends string | undefined = string
15
15
  > = PolicyParams & {
16
16
  permissions?: Permission<TAbi, TFunctionName>[]
17
- type?: "call"
18
17
  }
19
18
 
20
19
  export function toCallPolicy<
@@ -23,8 +22,7 @@ export function toCallPolicy<
23
22
  >({
24
23
  policyAddress = CALL_POLICY_CONTRACT,
25
24
  policyFlag = PolicyFlags.FOR_ALL_VALIDATION,
26
- permissions = [],
27
- type = "call"
25
+ permissions = []
28
26
  }: CallPolicyParams<TAbi, TFunctionName>): Policy {
29
27
  const generatedPermissionParams = permissions?.map((perm) =>
30
28
  getPermissionFromABI({
@@ -56,10 +54,12 @@ export function toCallPolicy<
56
54
  return concatHex([policyFlag, policyAddress])
57
55
  },
58
56
  policyParams: {
59
- type,
57
+ type: "call",
60
58
  policyAddress,
61
59
  policyFlag,
62
60
  permissions
63
- } as unknown as CallPolicyParams<Abi | readonly unknown[], string>
61
+ } as unknown as CallPolicyParams<Abi | readonly unknown[], string> & {
62
+ type: "call"
63
+ }
64
64
  }
65
65
  }
@@ -7,7 +7,6 @@ export type GasPolicyParams = PolicyParams & {
7
7
  allowed?: bigint
8
8
  enforcePaymaster?: boolean
9
9
  allowedPaymaster?: Address
10
- type?: "gas"
11
10
  }
12
11
 
13
12
  export function toGasPolicy({
@@ -15,8 +14,7 @@ export function toGasPolicy({
15
14
  policyFlag = PolicyFlags.FOR_ALL_VALIDATION,
16
15
  allowed = 0n,
17
16
  enforcePaymaster = false,
18
- allowedPaymaster = zeroAddress,
19
- type = "gas"
17
+ allowedPaymaster = zeroAddress
20
18
  }: GasPolicyParams): Policy {
21
19
  return {
22
20
  getPolicyData: () => {
@@ -33,12 +31,12 @@ export function toGasPolicy({
33
31
  return concatHex([policyFlag, policyAddress])
34
32
  },
35
33
  policyParams: {
36
- type,
34
+ type: "gas",
37
35
  policyAddress,
38
36
  policyFlag,
39
37
  allowed,
40
38
  enforcePaymaster,
41
39
  allowedPaymaster
42
- }
40
+ } as GasPolicyParams & { type: "gas" }
43
41
  }
44
42
  }
@@ -7,7 +7,6 @@ export type RateLimitPolicyParams = PolicyParams & {
7
7
  interval?: number
8
8
  count: number
9
9
  startAt?: number
10
- type?: "rate-limit"
11
10
  }
12
11
 
13
12
  export function toRateLimitPolicy({
@@ -15,8 +14,7 @@ export function toRateLimitPolicy({
15
14
  policyFlag = PolicyFlags.FOR_ALL_VALIDATION,
16
15
  interval = 0,
17
16
  count,
18
- startAt = 0,
19
- type = "rate-limit"
17
+ startAt = 0
20
18
  }: RateLimitPolicyParams): Policy {
21
19
  return {
22
20
  getPolicyData: () => {
@@ -32,12 +30,12 @@ export function toRateLimitPolicy({
32
30
  return concatHex([policyFlag, policyAddress])
33
31
  },
34
32
  policyParams: {
35
- type,
33
+ type: "rate-limit",
36
34
  policyAddress,
37
35
  policyFlag,
38
36
  interval,
39
37
  count,
40
38
  startAt
41
- }
39
+ } as RateLimitPolicyParams & { type: "rate-limit" }
42
40
  }
43
41
  }
@@ -5,14 +5,12 @@ import type { Policy, PolicyParams } from "../types.js"
5
5
 
6
6
  export type SignatureCallerPolicyParams = PolicyParams & {
7
7
  allowedCallers: Address[]
8
- type?: "signature-caller"
9
8
  }
10
9
 
11
10
  export function toSignatureCallerPolicy({
12
11
  policyAddress = SIGNATURE_POLICY_CONTRACT,
13
12
  policyFlag = PolicyFlags.FOR_ALL_VALIDATION,
14
- allowedCallers,
15
- type = "signature-caller"
13
+ allowedCallers
16
14
  }: SignatureCallerPolicyParams): Policy {
17
15
  return {
18
16
  getPolicyData: () => {
@@ -25,10 +23,10 @@ export function toSignatureCallerPolicy({
25
23
  return concatHex([policyFlag, policyAddress])
26
24
  },
27
25
  policyParams: {
28
- type,
26
+ type: "signature-caller",
29
27
  policyAddress,
30
28
  policyFlag,
31
29
  allowedCallers
32
- }
30
+ } as SignatureCallerPolicyParams & { type: "signature-caller" }
33
31
  }
34
32
  }
@@ -2,14 +2,11 @@ import { concatHex } from "viem"
2
2
  import { PolicyFlags, SUDO_POLICY_CONTRACT } from "../constants.js"
3
3
  import type { Policy, PolicyParams } from "../types.js"
4
4
 
5
- export type SudoPolicyParams = PolicyParams & {
6
- type?: "sudo"
7
- }
5
+ export type SudoPolicyParams = PolicyParams
8
6
 
9
7
  export function toSudoPolicy({
10
8
  policyAddress = SUDO_POLICY_CONTRACT,
11
- policyFlag = PolicyFlags.FOR_ALL_VALIDATION,
12
- type = "sudo"
9
+ policyFlag = PolicyFlags.FOR_ALL_VALIDATION
13
10
  }: SudoPolicyParams): Policy {
14
11
  return {
15
12
  getPolicyData: () => {
@@ -19,9 +16,9 @@ export function toSudoPolicy({
19
16
  return concatHex([policyFlag, policyAddress])
20
17
  },
21
18
  policyParams: {
22
- type,
19
+ type: "sudo",
23
20
  policyAddress,
24
21
  policyFlag
25
- }
22
+ } as SudoPolicyParams & { type: "sudo" }
26
23
  }
27
24
  }
@@ -0,0 +1,37 @@
1
+ import { concatHex, encodeAbiParameters } from "viem"
2
+ import { PolicyFlags, TIMESTAMP_POLICY_CONTRACT } from "../constants.js"
3
+ import type { Policy, PolicyParams } from "../types.js"
4
+
5
+ export type TimestampPolicyParams = PolicyParams & {
6
+ validAfter?: number
7
+ validUntil?: number
8
+ }
9
+
10
+ export function toTimestampPolicy({
11
+ policyAddress = TIMESTAMP_POLICY_CONTRACT,
12
+ policyFlag = PolicyFlags.FOR_ALL_VALIDATION,
13
+ validAfter = 0,
14
+ validUntil = 0
15
+ }: TimestampPolicyParams): Policy {
16
+ return {
17
+ getPolicyData: () => {
18
+ return encodeAbiParameters(
19
+ [
20
+ { name: "validAfter", type: "uint48" },
21
+ { name: "validUntil", type: "uint48" }
22
+ ],
23
+ [validAfter, validUntil]
24
+ )
25
+ },
26
+ getPolicyInfoInBytes: () => {
27
+ return concatHex([policyFlag, policyAddress])
28
+ },
29
+ policyParams: {
30
+ type: "timestamp",
31
+ policyAddress,
32
+ policyFlag,
33
+ validAfter,
34
+ validUntil
35
+ } as TimestampPolicyParams & { type: "timestamp" }
36
+ }
37
+ }
package/signers/index.ts CHANGED
@@ -8,3 +8,4 @@ export {
8
8
  } from "./toWebAuthnSigner.js"
9
9
  export { WebAuthnMode } from "./toWebAuthnPubKey.js"
10
10
  export { toSignerId } from "./utils/toSignerId.js"
11
+ export { toEmptyECDSASigner } from "./toEmptyECDSASigner.js"