@zerodev/permissions 5.2.1-alpha.8 → 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.
- package/_cjs/constants.js +9 -8
- package/_cjs/constants.js.map +1 -1
- package/_cjs/deserializePermissionAccount.js +8 -7
- package/_cjs/deserializePermissionAccount.js.map +1 -1
- package/_cjs/policies/index.js +3 -1
- package/_cjs/policies/index.js.map +1 -1
- package/_cjs/policies/toCallPolicy.js +2 -2
- package/_cjs/policies/toCallPolicy.js.map +1 -1
- package/_cjs/policies/toGasPolicy.js +2 -2
- package/_cjs/policies/toGasPolicy.js.map +1 -1
- package/_cjs/policies/toRateLimitPolicy.js +2 -2
- package/_cjs/policies/toRateLimitPolicy.js.map +1 -1
- package/_cjs/policies/toSignatureCallerPolicy.js +2 -2
- package/_cjs/policies/toSignatureCallerPolicy.js.map +1 -1
- package/_cjs/policies/toSudoPolicy.js +2 -2
- package/_cjs/policies/toSudoPolicy.js.map +1 -1
- package/_cjs/policies/toTimestampPolicy.js +27 -0
- package/_cjs/policies/toTimestampPolicy.js.map +1 -0
- package/_cjs/signers/index.js +3 -1
- package/_cjs/signers/index.js.map +1 -1
- package/_cjs/signers/toEmptyECDSASigner.js +30 -0
- package/_cjs/signers/toEmptyECDSASigner.js.map +1 -0
- package/_cjs/toPermissionValidator.js +3 -10
- package/_cjs/toPermissionValidator.js.map +1 -1
- package/_esm/constants.js +8 -7
- package/_esm/constants.js.map +1 -1
- package/_esm/deserializePermissionAccount.js +10 -9
- package/_esm/deserializePermissionAccount.js.map +1 -1
- package/_esm/policies/index.js +1 -0
- package/_esm/policies/index.js.map +1 -1
- package/_esm/policies/toCallPolicy.js +2 -2
- package/_esm/policies/toCallPolicy.js.map +1 -1
- package/_esm/policies/toGasPolicy.js +2 -2
- package/_esm/policies/toGasPolicy.js.map +1 -1
- package/_esm/policies/toRateLimitPolicy.js +2 -2
- package/_esm/policies/toRateLimitPolicy.js.map +1 -1
- package/_esm/policies/toSignatureCallerPolicy.js +2 -2
- package/_esm/policies/toSignatureCallerPolicy.js.map +1 -1
- package/_esm/policies/toSudoPolicy.js +2 -2
- package/_esm/policies/toSudoPolicy.js.map +1 -1
- package/_esm/policies/toTimestampPolicy.js +23 -0
- package/_esm/policies/toTimestampPolicy.js.map +1 -0
- package/_esm/signers/index.js +1 -0
- package/_esm/signers/index.js.map +1 -1
- package/_esm/signers/toEmptyECDSASigner.js +27 -0
- package/_esm/signers/toEmptyECDSASigner.js.map +1 -0
- package/_esm/toPermissionValidator.js +5 -12
- package/_esm/toPermissionValidator.js.map +1 -1
- package/_types/constants.d.ts +8 -7
- package/_types/constants.d.ts.map +1 -1
- package/_types/deserializePermissionAccount.d.ts.map +1 -1
- package/_types/policies/index.d.ts +1 -0
- package/_types/policies/index.d.ts.map +1 -1
- package/_types/policies/toCallPolicy.d.ts +1 -2
- package/_types/policies/toCallPolicy.d.ts.map +1 -1
- package/_types/policies/toGasPolicy.d.ts +1 -2
- package/_types/policies/toGasPolicy.d.ts.map +1 -1
- package/_types/policies/toRateLimitPolicy.d.ts +1 -2
- package/_types/policies/toRateLimitPolicy.d.ts.map +1 -1
- package/_types/policies/toSignatureCallerPolicy.d.ts +1 -2
- package/_types/policies/toSignatureCallerPolicy.d.ts.map +1 -1
- package/_types/policies/toSudoPolicy.d.ts +2 -4
- package/_types/policies/toSudoPolicy.d.ts.map +1 -1
- package/_types/policies/toTimestampPolicy.d.ts +7 -0
- package/_types/policies/toTimestampPolicy.d.ts.map +1 -0
- package/_types/signers/index.d.ts +1 -0
- package/_types/signers/index.d.ts.map +1 -1
- package/_types/signers/toEmptyECDSASigner.d.ts +4 -0
- package/_types/signers/toEmptyECDSASigner.d.ts.map +1 -0
- package/_types/toPermissionValidator.d.ts.map +1 -1
- package/_types/types.d.ts +14 -2
- package/_types/types.d.ts.map +1 -1
- package/constants.ts +11 -9
- package/deserializePermissionAccount.ts +15 -9
- package/package.json +4 -4
- package/policies/index.ts +4 -0
- package/policies/toCallPolicy.ts +5 -5
- package/policies/toGasPolicy.ts +3 -5
- package/policies/toRateLimitPolicy.ts +3 -5
- package/policies/toSignatureCallerPolicy.ts +3 -5
- package/policies/toSudoPolicy.ts +4 -7
- package/policies/toTimestampPolicy.ts +37 -0
- package/signers/index.ts +1 -0
- package/signers/toEmptyECDSASigner.ts +34 -0
- package/toPermissionValidator.ts +5 -16
- package/types.ts +10 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toSignatureCallerPolicy.js","sourceRoot":"","sources":["../../policies/toSignatureCallerPolicy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,SAAS,EAAE,mBAAmB,EAAE,MAAM,MAAM,CAAA;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"toSignatureCallerPolicy.js","sourceRoot":"","sources":["../../policies/toSignatureCallerPolicy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,SAAS,EAAE,mBAAmB,EAAE,MAAM,MAAM,CAAA;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAA;AAO3D,MAAM,UAAU,uBAAuB,CAAC,EACpC,aAAa,GAAG,yBAAyB,EACzC,UAAU,GAAG,WAAW,CAAC,kBAAkB,EAC3C,cAAc,EACY;IAC1B,OAAO;QACH,aAAa,EAAE,GAAG,EAAE;YAChB,OAAO,mBAAmB,CACtB,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,EAC/C,CAAC,cAAc,CAAC,CACnB,CAAA;QACL,CAAC;QACD,oBAAoB,EAAE,GAAG,EAAE;YACvB,OAAO,SAAS,CAAC,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,CAAA;QACjD,CAAC;QACD,YAAY,EAAE;YACV,IAAI,EAAE,kBAAkB;YACxB,aAAa;YACb,UAAU;YACV,cAAc;SAC6C;KAClE,CAAA;AACL,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { concatHex } from "viem";
|
|
2
2
|
import { PolicyFlags, SUDO_POLICY_CONTRACT } from "../constants.js";
|
|
3
|
-
export function toSudoPolicy({ policyAddress = SUDO_POLICY_CONTRACT, policyFlag = PolicyFlags.FOR_ALL_VALIDATION
|
|
3
|
+
export function toSudoPolicy({ policyAddress = SUDO_POLICY_CONTRACT, policyFlag = PolicyFlags.FOR_ALL_VALIDATION }) {
|
|
4
4
|
return {
|
|
5
5
|
getPolicyData: () => {
|
|
6
6
|
return "0x";
|
|
@@ -9,7 +9,7 @@ export function toSudoPolicy({ policyAddress = SUDO_POLICY_CONTRACT, policyFlag
|
|
|
9
9
|
return concatHex([policyFlag, policyAddress]);
|
|
10
10
|
},
|
|
11
11
|
policyParams: {
|
|
12
|
-
type,
|
|
12
|
+
type: "sudo",
|
|
13
13
|
policyAddress,
|
|
14
14
|
policyFlag
|
|
15
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toSudoPolicy.js","sourceRoot":"","sources":["../../policies/toSudoPolicy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAA;AAChC,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"toSudoPolicy.js","sourceRoot":"","sources":["../../policies/toSudoPolicy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAA;AAChC,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAKnE,MAAM,UAAU,YAAY,CAAC,EACzB,aAAa,GAAG,oBAAoB,EACpC,UAAU,GAAG,WAAW,CAAC,kBAAkB,EAC5B;IACf,OAAO;QACH,aAAa,EAAE,GAAG,EAAE;YAChB,OAAO,IAAI,CAAA;QACf,CAAC;QACD,oBAAoB,EAAE,GAAG,EAAE;YACvB,OAAO,SAAS,CAAC,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,CAAA;QACjD,CAAC;QACD,YAAY,EAAE;YACV,IAAI,EAAE,MAAM;YACZ,aAAa;YACb,UAAU;SAC0B;KAC3C,CAAA;AACL,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { concatHex, encodeAbiParameters } from "viem";
|
|
2
|
+
import { PolicyFlags, TIMESTAMP_POLICY_CONTRACT } from "../constants.js";
|
|
3
|
+
export function toTimestampPolicy({ policyAddress = TIMESTAMP_POLICY_CONTRACT, policyFlag = PolicyFlags.FOR_ALL_VALIDATION, validAfter = 0, validUntil = 0 }) {
|
|
4
|
+
return {
|
|
5
|
+
getPolicyData: () => {
|
|
6
|
+
return encodeAbiParameters([
|
|
7
|
+
{ name: "validAfter", type: "uint48" },
|
|
8
|
+
{ name: "validUntil", type: "uint48" }
|
|
9
|
+
], [validAfter, validUntil]);
|
|
10
|
+
},
|
|
11
|
+
getPolicyInfoInBytes: () => {
|
|
12
|
+
return concatHex([policyFlag, policyAddress]);
|
|
13
|
+
},
|
|
14
|
+
policyParams: {
|
|
15
|
+
type: "timestamp",
|
|
16
|
+
policyAddress,
|
|
17
|
+
policyFlag,
|
|
18
|
+
validAfter,
|
|
19
|
+
validUntil
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=toTimestampPolicy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toTimestampPolicy.js","sourceRoot":"","sources":["../../policies/toTimestampPolicy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,MAAM,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAA;AAQxE,MAAM,UAAU,iBAAiB,CAAC,EAC9B,aAAa,GAAG,yBAAyB,EACzC,UAAU,GAAG,WAAW,CAAC,kBAAkB,EAC3C,UAAU,GAAG,CAAC,EACd,UAAU,GAAG,CAAC,EACM;IACpB,OAAO;QACH,aAAa,EAAE,GAAG,EAAE;YAChB,OAAO,mBAAmB,CACtB;gBACI,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACtC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE;aACzC,EACD,CAAC,UAAU,EAAE,UAAU,CAAC,CAC3B,CAAA;QACL,CAAC;QACD,oBAAoB,EAAE,GAAG,EAAE;YACvB,OAAO,SAAS,CAAC,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,CAAA;QACjD,CAAC;QACD,YAAY,EAAE;YACV,IAAI,EAAE,WAAW;YACjB,aAAa;YACb,UAAU;YACV,UAAU;YACV,UAAU;SACoC;KACrD,CAAA;AACL,CAAC"}
|
package/_esm/signers/index.js
CHANGED
|
@@ -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 {
|
|
3
|
-
import { concat, encodeAbiParameters, keccak256,
|
|
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,
|
|
1
|
+
{"version":3,"file":"toPermissionValidator.js","sourceRoot":"","sources":["../toPermissionValidator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAE3E,OAAO,EAMH,MAAM,EACN,mBAAmB,EACnB,SAAS,EACT,KAAK,EACL,WAAW,EACd,MAAM,MAAM,CAAA;AACb,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,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,EACZ,cAAc,CACjB,CAAC;oBACE,GAAG,EAAE,kBAAkB;oBACvB,OAAO,EAAE,oBAAoB;oBAC7B,YAAY,EAAE,kBAAkB;oBAChC,IAAI,EAAE,CAAC,eAAe,EAAE,CAAC;iBAC5B,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"}
|
package/_types/constants.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
export declare const
|
|
2
|
-
export declare const
|
|
3
|
-
export declare const
|
|
4
|
-
export declare const
|
|
5
|
-
export declare const RATE_LIMIT_POLICY_CONTRACT = "
|
|
6
|
-
export declare const
|
|
7
|
-
export declare const SUDO_POLICY_CONTRACT = "
|
|
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,
|
|
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,
|
|
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
|
|
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;
|
|
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
|
|
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;
|
|
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
|
|
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;
|
|
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
|
|
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;
|
|
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
|
-
|
|
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,
|
|
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 @@
|
|
|
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":"
|
|
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>
|
|
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;
|
package/_types/types.d.ts.map
CHANGED
|
@@ -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,
|
|
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
|
-
"
|
|
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
|
-
"
|
|
11
|
-
export const
|
|
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",
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import {
|
|
2
|
+
KernelFactoryStakerAbi,
|
|
3
|
+
KernelV3AccountAbi,
|
|
4
|
+
createKernelAccount
|
|
5
|
+
} from "@zerodev/sdk"
|
|
3
6
|
import { toKernelPluginManager } from "@zerodev/sdk/accounts"
|
|
4
7
|
import type { ValidatorInitData } from "@zerodev/sdk/types"
|
|
5
8
|
import { getEntryPointVersion } from "permissionless"
|
|
@@ -12,7 +15,8 @@ import {
|
|
|
12
15
|
toGasPolicy,
|
|
13
16
|
toRateLimitPolicy,
|
|
14
17
|
toSignatureCallerPolicy,
|
|
15
|
-
toSudoPolicy
|
|
18
|
+
toSudoPolicy,
|
|
19
|
+
toTimestampPolicy
|
|
16
20
|
} from "./policies/index.js"
|
|
17
21
|
import { toECDSASigner } from "./signers/toECDSASigner.js"
|
|
18
22
|
import { toPermissionValidator } from "./toPermissionValidator.js"
|
|
@@ -90,6 +94,8 @@ export const createPolicyFromParams = async (policy: Policy) => {
|
|
|
90
94
|
return await toSignatureCallerPolicy(policy.policyParams)
|
|
91
95
|
case "sudo":
|
|
92
96
|
return await toSudoPolicy(policy.policyParams)
|
|
97
|
+
case "timestamp":
|
|
98
|
+
return await toTimestampPolicy(policy.policyParams)
|
|
93
99
|
default:
|
|
94
100
|
throw new Error("Unsupported policy type")
|
|
95
101
|
}
|
|
@@ -98,16 +104,16 @@ export const createPolicyFromParams = async (policy: Policy) => {
|
|
|
98
104
|
export const decodeParamsFromInitCode = (initCode: Hex) => {
|
|
99
105
|
let index: bigint | undefined
|
|
100
106
|
let validatorInitData: ValidatorInitData | undefined
|
|
101
|
-
const
|
|
102
|
-
abi:
|
|
107
|
+
const deployWithFactoryFunctionData = decodeFunctionData({
|
|
108
|
+
abi: KernelFactoryStakerAbi,
|
|
103
109
|
data: `0x${initCode.slice(42)}`
|
|
104
110
|
})
|
|
105
|
-
if (!
|
|
106
|
-
if (
|
|
107
|
-
index =
|
|
111
|
+
if (!deployWithFactoryFunctionData) throw new Error("Invalid initCode")
|
|
112
|
+
if (deployWithFactoryFunctionData.functionName === "deployWithFactory") {
|
|
113
|
+
index = BigInt(deployWithFactoryFunctionData.args[2])
|
|
108
114
|
const initializeFunctionData = decodeFunctionData({
|
|
109
115
|
abi: KernelV3AccountAbi,
|
|
110
|
-
data:
|
|
116
|
+
data: deployWithFactoryFunctionData.args[1]
|
|
111
117
|
})
|
|
112
118
|
if (!initializeFunctionData) throw new Error("Invalid initCode")
|
|
113
119
|
if (initializeFunctionData.functionName === "initialize") {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zerodev/permissions",
|
|
3
|
-
"version": "5.2.1
|
|
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.
|
|
60
|
-
"@zerodev/sdk": "^5.2.1
|
|
61
|
-
"permissionless": "^0.1.
|
|
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"
|
package/policies/toCallPolicy.ts
CHANGED
|
@@ -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
|
}
|
package/policies/toGasPolicy.ts
CHANGED
|
@@ -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
|
}
|