@zerodev/permissions 5.2.5 → 5.2.7-alpha-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 (53) hide show
  1. package/_cjs/serializeMultiChainPermissionAccounts.js +60 -0
  2. package/_cjs/serializeMultiChainPermissionAccounts.js.map +1 -0
  3. package/_cjs/signers/index.js +1 -5
  4. package/_cjs/signers/index.js.map +1 -1
  5. package/_esm/deserializePermissionAccount.js +0 -1
  6. package/_esm/deserializePermissionAccount.js.map +1 -1
  7. package/_esm/policies/types.js +0 -1
  8. package/_esm/policies/types.js.map +1 -1
  9. package/_esm/serializeMultiChainPermissionAccounts.js +57 -0
  10. package/_esm/serializeMultiChainPermissionAccounts.js.map +1 -0
  11. package/_esm/signers/index.js +0 -2
  12. package/_esm/signers/index.js.map +1 -1
  13. package/_esm/signers/toECDSASigner.js +0 -1
  14. package/_esm/signers/toECDSASigner.js.map +1 -1
  15. package/_esm/signers/toEmptyECDSASigner.js +0 -1
  16. package/_esm/signers/toEmptyECDSASigner.js.map +1 -1
  17. package/_esm/signers/toWebAuthnPubKey.js +0 -1
  18. package/_esm/signers/toWebAuthnPubKey.js.map +1 -1
  19. package/_esm/types.js +1 -2
  20. package/_esm/types.js.map +1 -1
  21. package/_types/deserializePermissionAccount.d.ts +1 -1
  22. package/_types/deserializePermissionAccount.d.ts.map +1 -1
  23. package/_types/policies/types.d.ts +1 -1
  24. package/_types/policies/types.d.ts.map +1 -1
  25. package/_types/serializeMultiChainPermissionAccounts.d.ts +9 -0
  26. package/_types/serializeMultiChainPermissionAccounts.d.ts.map +1 -0
  27. package/_types/signers/index.d.ts +0 -2
  28. package/_types/signers/index.d.ts.map +1 -1
  29. package/_types/signers/toECDSASigner.d.ts +1 -1
  30. package/_types/signers/toECDSASigner.d.ts.map +1 -1
  31. package/_types/signers/toEmptyECDSASigner.d.ts +1 -1
  32. package/_types/signers/toEmptyECDSASigner.d.ts.map +1 -1
  33. package/_types/signers/toWebAuthnPubKey.d.ts +1 -1
  34. package/_types/signers/toWebAuthnPubKey.d.ts.map +1 -1
  35. package/_types/types.d.ts +2 -2
  36. package/_types/types.d.ts.map +1 -1
  37. package/deserializePermissionAccount.ts +1 -1
  38. package/index.ts +4 -0
  39. package/package.json +1 -1
  40. package/policies/types.ts +6 -6
  41. package/serializeMultiChainPermissionAccounts.ts +113 -0
  42. package/signers/index.ts +0 -2
  43. package/signers/toECDSASigner.ts +1 -1
  44. package/signers/toEmptyECDSASigner.ts +1 -1
  45. package/signers/toWebAuthnPubKey.ts +1 -1
  46. package/types.ts +2 -2
  47. package/_cjs/signers/toRemoteSessionKeySigner.js +0 -100
  48. package/_cjs/signers/toRemoteSessionKeySigner.js.map +0 -1
  49. package/_esm/signers/toRemoteSessionKeySigner.js +0 -96
  50. package/_esm/signers/toRemoteSessionKeySigner.js.map +0 -1
  51. package/_types/signers/toRemoteSessionKeySigner.d.ts +0 -14
  52. package/_types/signers/toRemoteSessionKeySigner.d.ts.map +0 -1
  53. package/signers/toRemoteSessionKeySigner.ts +0 -144
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.serializeMultiChainPermissionAccounts = void 0;
4
+ const viem_1 = require("viem");
5
+ const utils_js_1 = require("./utils.js");
6
+ const merkletreejs_1 = require("merkletreejs");
7
+ const serializeMultiChainPermissionAccounts = async (params) => {
8
+ if (params.length === 0)
9
+ return [];
10
+ const permissionParamsPerAccounts = params.map((param) => {
11
+ if (!(0, utils_js_1.isPermissionValidatorPlugin)(param.account.kernelPluginManager)) {
12
+ throw new Error("Account plugin is not a permission validator");
13
+ }
14
+ return param.account.kernelPluginManager.getPluginSerializationParams();
15
+ });
16
+ const actions = params.map((param) => param.account.kernelPluginManager.getAction());
17
+ const validityDataPerAccounts = params.map((param) => param.account.kernelPluginManager.getValidityData());
18
+ const pluginEnableTypedDatas = await Promise.all(params.map(async (param) => {
19
+ return param.account.kernelPluginManager.getPluginsEnableTypedData(param.account.address);
20
+ }));
21
+ const enableSignatures = await Promise.all(params.map(async (param, index) => {
22
+ const leaves = pluginEnableTypedDatas.map((typedData) => {
23
+ return (0, viem_1.hashTypedData)(typedData);
24
+ });
25
+ const merkleTree = new merkletreejs_1.default(leaves, viem_1.keccak256, {
26
+ sortPairs: true
27
+ });
28
+ const merkleRoot = merkleTree.getHexRoot();
29
+ const ecdsaSig = await param.account.kernelPluginManager.sudoValidator?.signMessage({
30
+ message: {
31
+ raw: merkleRoot
32
+ }
33
+ });
34
+ if (!ecdsaSig) {
35
+ throw new Error("No ecdsaSig, check if the sudo validator is multi-chain validator");
36
+ }
37
+ const merkleProof = merkleTree.getHexProof(leaves[index]);
38
+ const encodedMerkleProof = (0, viem_1.encodeAbiParameters)([{ name: "proof", type: "bytes32[]" }], [merkleProof]);
39
+ return (0, viem_1.concatHex)([ecdsaSig, merkleRoot, encodedMerkleProof]);
40
+ }));
41
+ const accountParamsPerAccounts = await Promise.all(params.map(async (param) => {
42
+ return {
43
+ initCode: await param.account.generateInitCode(),
44
+ accountAddress: param.account.address
45
+ };
46
+ }));
47
+ const paramsToBeSerialized = params.map((param, index) => {
48
+ return (0, utils_js_1.serializePermissionAccountParams)({
49
+ permissionParams: permissionParamsPerAccounts[index],
50
+ action: actions[index],
51
+ validityData: validityDataPerAccounts[index],
52
+ accountParams: accountParamsPerAccounts[index],
53
+ enableSignature: enableSignatures[index],
54
+ privateKey: param.privateKey
55
+ });
56
+ });
57
+ return paramsToBeSerialized;
58
+ };
59
+ exports.serializeMultiChainPermissionAccounts = serializeMultiChainPermissionAccounts;
60
+ //# sourceMappingURL=serializeMultiChainPermissionAccounts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serializeMultiChainPermissionAccounts.js","sourceRoot":"","sources":["../serializeMultiChainPermissionAccounts.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SessionKeySignerMode = exports.toRemoteSessionKeySigner = exports.toEmptyECDSASigner = exports.toSignerId = exports.WebAuthnMode = exports.toWebAuthnSigner = exports.toECDSASigner = void 0;
3
+ exports.toEmptyECDSASigner = exports.toSignerId = exports.WebAuthnMode = exports.toWebAuthnSigner = exports.toECDSASigner = void 0;
4
4
  var toECDSASigner_js_1 = require("./toECDSASigner.js");
5
5
  Object.defineProperty(exports, "toECDSASigner", { enumerable: true, get: function () { return toECDSASigner_js_1.toECDSASigner; } });
6
6
  var toWebAuthnSigner_js_1 = require("./toWebAuthnSigner.js");
@@ -11,8 +11,4 @@ var toSignerId_js_1 = require("./utils/toSignerId.js");
11
11
  Object.defineProperty(exports, "toSignerId", { enumerable: true, get: function () { return toSignerId_js_1.toSignerId; } });
12
12
  var toEmptyECDSASigner_js_1 = require("./toEmptyECDSASigner.js");
13
13
  Object.defineProperty(exports, "toEmptyECDSASigner", { enumerable: true, get: function () { return toEmptyECDSASigner_js_1.toEmptyECDSASigner; } });
14
- var toRemoteSessionKeySigner_js_1 = require("./toRemoteSessionKeySigner.js");
15
- Object.defineProperty(exports, "toRemoteSessionKeySigner", { enumerable: true, get: function () { return toRemoteSessionKeySigner_js_1.toRemoteSessionKeySigner; } });
16
- var toRemoteSessionKeySigner_js_2 = require("./toRemoteSessionKeySigner.js");
17
- Object.defineProperty(exports, "SessionKeySignerMode", { enumerable: true, get: function () { return toRemoteSessionKeySigner_js_2.SessionKeySignerMode; } });
18
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../signers/index.ts"],"names":[],"mappings":";;;AAAA,uDAG2B;AAFvB,iHAAA,aAAa,OAAA;AAGjB,6DAG8B;AAF1B,uHAAA,gBAAgB,OAAA;AAGpB,6DAAoD;AAA3C,mHAAA,YAAY,OAAA;AACrB,uDAAkD;AAAzC,2GAAA,UAAU,OAAA;AACnB,iEAA4D;AAAnD,2HAAA,kBAAkB,OAAA;AAC3B,6EAAwE;AAA/D,uIAAA,wBAAwB,OAAA;AACjC,6EAAoE;AAA3D,mIAAA,oBAAoB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../signers/index.ts"],"names":[],"mappings":";;;AAAA,uDAG2B;AAFvB,iHAAA,aAAa,OAAA;AAGjB,6DAG8B;AAF1B,uHAAA,gBAAgB,OAAA;AAGpB,6DAAoD;AAA3C,mHAAA,YAAY,OAAA;AACrB,uDAAkD;AAAzC,2GAAA,UAAU,OAAA;AACnB,iEAA4D;AAAnD,2HAAA,kBAAkB,OAAA"}
@@ -6,7 +6,6 @@ import { privateKeyToAccount } from "viem/accounts";
6
6
  import { toCallPolicy, toGasPolicy, toRateLimitPolicy, toSignatureCallerPolicy, toSudoPolicy, toTimestampPolicy } from "./policies/index.js";
7
7
  import { toECDSASigner } from "./signers/toECDSASigner.js";
8
8
  import { toPermissionValidator } from "./toPermissionValidator.js";
9
- import {} from "./types.js";
10
9
  import { deserializePermissionAccountParams } from "./utils.js";
11
10
  export const deserializePermissionAccount = async (client, entryPointAddress, modularPermissionAccountParams, modularSigner) => {
12
11
  const entryPointVersion = getEntryPointVersion(entryPointAddress);
@@ -1 +1 @@
1
- {"version":3,"file":"deserializePermissionAccount.js","sourceRoot":"","sources":["../deserializePermissionAccount.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deserializePermissionAccount.js","sourceRoot":"","sources":["../deserializePermissionAccount.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- import {} from "abitype";
2
1
  export var CallType;
3
2
  (function (CallType) {
4
3
  CallType["CALL"] = "0x00";
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../policies/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyD,MAAM,SAAS,CAAA;AAa/E,MAAM,CAAN,IAAY,QAIX;AAJD,WAAY,QAAQ;IAChB,yBAAa,CAAA;IACb,+BAAmB,CAAA;IACnB,kCAAsB,CAAA;AAC1B,CAAC,EAJW,QAAQ,KAAR,QAAQ,QAInB;AAED,MAAM,CAAN,IAAY,cAOX;AAPD,WAAY,cAAc;IACtB,qDAAS,CAAA;IACT,mEAAgB,CAAA;IAChB,6DAAa,CAAA;IACb,qFAAyB,CAAA;IACzB,+EAAsB,CAAA;IACtB,6DAAa,CAAA;AACjB,CAAC,EAPW,cAAc,KAAd,cAAc,QAOzB"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../policies/types.ts"],"names":[],"mappings":"AAaA,MAAM,CAAN,IAAY,QAIX;AAJD,WAAY,QAAQ;IAChB,yBAAa,CAAA;IACb,+BAAmB,CAAA;IACnB,kCAAsB,CAAA;AAC1B,CAAC,EAJW,QAAQ,KAAR,QAAQ,QAInB;AAED,MAAM,CAAN,IAAY,cAOX;AAPD,WAAY,cAAc;IACtB,qDAAS,CAAA;IACT,mEAAgB,CAAA;IAChB,6DAAa,CAAA;IACb,qFAAyB,CAAA;IACzB,+EAAsB,CAAA;IACtB,6DAAa,CAAA;AACjB,CAAC,EAPW,cAAc,KAAd,cAAc,QAOzB"}
@@ -0,0 +1,57 @@
1
+ import { hashTypedData, keccak256, encodeAbiParameters, concatHex } from "viem";
2
+ import { isPermissionValidatorPlugin, serializePermissionAccountParams } from "./utils.js";
3
+ import MerkleTree from "merkletreejs";
4
+ export const serializeMultiChainPermissionAccounts = async (params) => {
5
+ if (params.length === 0)
6
+ return [];
7
+ const permissionParamsPerAccounts = params.map((param) => {
8
+ if (!isPermissionValidatorPlugin(param.account.kernelPluginManager)) {
9
+ throw new Error("Account plugin is not a permission validator");
10
+ }
11
+ return param.account.kernelPluginManager.getPluginSerializationParams();
12
+ });
13
+ const actions = params.map((param) => param.account.kernelPluginManager.getAction());
14
+ const validityDataPerAccounts = params.map((param) => param.account.kernelPluginManager.getValidityData());
15
+ const pluginEnableTypedDatas = await Promise.all(params.map(async (param) => {
16
+ return param.account.kernelPluginManager.getPluginsEnableTypedData(param.account.address);
17
+ }));
18
+ // get enable signatures for multi-chain validator
19
+ const enableSignatures = await Promise.all(params.map(async (param, index) => {
20
+ const leaves = pluginEnableTypedDatas.map((typedData) => {
21
+ return hashTypedData(typedData);
22
+ });
23
+ const merkleTree = new MerkleTree(leaves, keccak256, {
24
+ sortPairs: true
25
+ });
26
+ const merkleRoot = merkleTree.getHexRoot();
27
+ const ecdsaSig = await param.account.kernelPluginManager.sudoValidator?.signMessage({
28
+ message: {
29
+ raw: merkleRoot
30
+ }
31
+ });
32
+ if (!ecdsaSig) {
33
+ throw new Error("No ecdsaSig, check if the sudo validator is multi-chain validator");
34
+ }
35
+ const merkleProof = merkleTree.getHexProof(leaves[index]);
36
+ const encodedMerkleProof = encodeAbiParameters([{ name: "proof", type: "bytes32[]" }], [merkleProof]);
37
+ return concatHex([ecdsaSig, merkleRoot, encodedMerkleProof]);
38
+ }));
39
+ const accountParamsPerAccounts = await Promise.all(params.map(async (param) => {
40
+ return {
41
+ initCode: await param.account.generateInitCode(),
42
+ accountAddress: param.account.address
43
+ };
44
+ }));
45
+ const paramsToBeSerialized = params.map((param, index) => {
46
+ return serializePermissionAccountParams({
47
+ permissionParams: permissionParamsPerAccounts[index],
48
+ action: actions[index],
49
+ validityData: validityDataPerAccounts[index],
50
+ accountParams: accountParamsPerAccounts[index],
51
+ enableSignature: enableSignatures[index],
52
+ privateKey: param.privateKey
53
+ });
54
+ });
55
+ return paramsToBeSerialized;
56
+ };
57
+ //# sourceMappingURL=serializeMultiChainPermissionAccounts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serializeMultiChainPermissionAccounts.js","sourceRoot":"","sources":["../serializeMultiChainPermissionAccounts.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,aAAa,EACb,SAAS,EAET,mBAAmB,EACnB,SAAS,EACZ,MAAM,MAAM,CAAA;AACb,OAAO,EACH,2BAA2B,EAC3B,gCAAgC,EACnC,MAAM,YAAY,CAAA;AAEnB,OAAO,UAAU,MAAM,cAAc,CAAA;AAQrC,MAAM,CAAC,MAAM,qCAAqC,GAAG,KAAK,EAGtD,MAAwD,EACvC,EAAE;IACnB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IAElC,MAAM,2BAA2B,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACrD,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAClE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;QACnE,CAAC;QACD,OACI,KAAK,CAAC,OAAO,CAAC,mBACjB,CAAC,4BAA4B,EAAE,CAAA;IACpC,CAAC,CAAC,CAAA;IAEF,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACjC,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,SAAS,EAAE,CAChD,CAAA;IAED,MAAM,uBAAuB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACjD,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,eAAe,EAAE,CACtD,CAAA;IAED,MAAM,sBAAsB,GAAG,MAAM,OAAO,CAAC,GAAG,CAC5C,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACvB,OAAO,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,yBAAyB,CAC9D,KAAK,CAAC,OAAO,CAAC,OAAO,CACxB,CAAA;IACL,CAAC,CAAC,CACL,CAAA;IAED,kDAAkD;IAClD,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,GAAG,CACtC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QAC9B,MAAM,MAAM,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;YACpD,OAAO,aAAa,CAAC,SAAS,CAAC,CAAA;QACnC,CAAC,CAAC,CAAA;QAEF,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE;YACjD,SAAS,EAAE,IAAI;SAClB,CAAC,CAAA;QAEF,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,EAAS,CAAA;QAEjD,MAAM,QAAQ,GACV,MAAM,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,aAAa,EAAE,WAAW,CAC9D;YACI,OAAO,EAAE;gBACL,GAAG,EAAE,UAAU;aAClB;SACJ,CACJ,CAAA;QAEL,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CACX,mEAAmE,CACtE,CAAA;QACL,CAAC;QAED,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAU,CAAA;QAClE,MAAM,kBAAkB,GAAG,mBAAmB,CAC1C,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,EACtC,CAAC,WAAW,CAAC,CAChB,CAAA;QACD,OAAO,SAAS,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,kBAAkB,CAAC,CAAC,CAAA;IAChE,CAAC,CAAC,CACL,CAAA;IAED,MAAM,wBAAwB,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9C,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACvB,OAAO;YACH,QAAQ,EAAE,MAAM,KAAK,CAAC,OAAO,CAAC,gBAAgB,EAAE;YAChD,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;SACxC,CAAA;IACL,CAAC,CAAC,CACL,CAAA;IAED,MAAM,oBAAoB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACrD,OAAO,gCAAgC,CAAC;YACpC,gBAAgB,EAAE,2BAA2B,CAAC,KAAK,CAAC;YACpD,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC;YACtB,YAAY,EAAE,uBAAuB,CAAC,KAAK,CAAC;YAC5C,aAAa,EAAE,wBAAwB,CAAC,KAAK,CAAC;YAC9C,eAAe,EAAE,gBAAgB,CAAC,KAAK,CAAC;YACxC,UAAU,EAAE,KAAK,CAAC,UAAU;SAC/B,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;IAEF,OAAO,oBAAoB,CAAA;AAC/B,CAAC,CAAA"}
@@ -3,6 +3,4 @@ export { toWebAuthnSigner } from "./toWebAuthnSigner.js";
3
3
  export { WebAuthnMode } from "./toWebAuthnPubKey.js";
4
4
  export { toSignerId } from "./utils/toSignerId.js";
5
5
  export { toEmptyECDSASigner } from "./toEmptyECDSASigner.js";
6
- export { toRemoteSessionKeySigner } from "./toRemoteSessionKeySigner.js";
7
- export { SessionKeySignerMode } from "./toRemoteSessionKeySigner.js";
8
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;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAA;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,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"}
@@ -1,6 +1,5 @@
1
1
  import { constants, fixSignedData } from "@zerodev/sdk";
2
2
  import { SignTransactionNotSupportedBySmartAccount } from "permissionless/accounts";
3
- import {} from "viem";
4
3
  import { toAccount } from "viem/accounts";
5
4
  import { ECDSA_SIGNER_CONTRACT } from "../constants.js";
6
5
  export function toECDSASigner({ signer, signerContractAddress = ECDSA_SIGNER_CONTRACT }) {
@@ -1 +1 @@
1
- {"version":3,"file":"toECDSASigner.js","sourceRoot":"","sources":["../../signers/toECDSASigner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAEvD,OAAO,EACH,yCAAyC,EAE5C,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAA6D,MAAM,MAAM,CAAA;AAChF,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAUvD,MAAM,UAAU,aAAa,CAG3B,EACE,MAAM,EACN,qBAAqB,GAAG,qBAAqB,EACH;IAC1C,MAAM,UAAU,GAAiB;QAC7B,GAAG,MAAM;QACT,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE;YACvB,MAAM,IAAI,yCAAyC,EAAE,CAAA;QACzD,CAAC;KACY,CAAA;IACjB,MAAM,OAAO,GAAG,SAAS,CAAC;QACtB,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,KAAK,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE;YACzB,OAAO,aAAa,CAAC,MAAM,UAAU,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;QACnE,CAAC;QACD,KAAK,CAAC,eAAe,CAAC,CAAC,EAAE,EAAE;YACvB,MAAM,IAAI,yCAAyC,EAAE,CAAA;QACzD,CAAC;QACD,KAAK,CAAC,aAAa,CAKjB,SAAwD;YACtD,OAAO,aAAa,CAChB,MAAM,UAAU,CAAC,aAAa,CAA2B;gBACrD,GAAG,SAAS;aACf,CAAC,CACL,CAAA;QACL,CAAC;KACJ,CAAC,CAAA;IACF,OAAO;QACH,OAAO;QACP,qBAAqB;QACrB,aAAa,EAAE,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,OAAO,CAAA;QAC7B,CAAC;QACD,iBAAiB,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,eAAe;KACrD,CAAA;AACL,CAAC"}
1
+ {"version":3,"file":"toECDSASigner.js","sourceRoot":"","sources":["../../signers/toECDSASigner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAEvD,OAAO,EACH,yCAAyC,EAE5C,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAUvD,MAAM,UAAU,aAAa,CAG3B,EACE,MAAM,EACN,qBAAqB,GAAG,qBAAqB,EACH;IAC1C,MAAM,UAAU,GAAiB;QAC7B,GAAG,MAAM;QACT,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE;YACvB,MAAM,IAAI,yCAAyC,EAAE,CAAA;QACzD,CAAC;KACY,CAAA;IACjB,MAAM,OAAO,GAAG,SAAS,CAAC;QACtB,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,KAAK,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE;YACzB,OAAO,aAAa,CAAC,MAAM,UAAU,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;QACnE,CAAC;QACD,KAAK,CAAC,eAAe,CAAC,CAAC,EAAE,EAAE;YACvB,MAAM,IAAI,yCAAyC,EAAE,CAAA;QACzD,CAAC;QACD,KAAK,CAAC,aAAa,CAKjB,SAAwD;YACtD,OAAO,aAAa,CAChB,MAAM,UAAU,CAAC,aAAa,CAA2B;gBACrD,GAAG,SAAS;aACf,CAAC,CACL,CAAA;QACL,CAAC;KACJ,CAAC,CAAA;IACF,OAAO;QACH,OAAO;QACP,qBAAqB;QACrB,aAAa,EAAE,GAAG,EAAE;YAChB,OAAO,UAAU,CAAC,OAAO,CAAA;QAC7B,CAAC;QACD,iBAAiB,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,eAAe;KACrD,CAAA;AACL,CAAC"}
@@ -1,5 +1,4 @@
1
1
  import { constants } from "@zerodev/sdk";
2
- import {} from "viem";
3
2
  import { toAccount } from "viem/accounts";
4
3
  import { ECDSA_SIGNER_CONTRACT } from "../constants.js";
5
4
  export function toEmptyECDSASigner(address) {
@@ -1 +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
+ {"version":3,"file":"toEmptyECDSASigner.js","sourceRoot":"","sources":["../../signers/toEmptyECDSASigner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAGxC,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,6 +1,5 @@
1
1
  import { Buffer } from "buffer";
2
2
  import { keccak256 } from "viem";
3
- import {} from "./toWebAuthnSigner.js";
4
3
  import { b64ToBytes, uint8ArrayToHexString } from "./webAuthnUtils.js";
5
4
  export var WebAuthnMode;
6
5
  (function (WebAuthnMode) {
@@ -1 +1 @@
1
- {"version":3,"file":"toWebAuthnPubKey.js","sourceRoot":"","sources":["../../signers/toWebAuthnPubKey.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toWebAuthnPubKey.js","sourceRoot":"","sources":["../../signers/toWebAuthnPubKey.ts"],"names":[],"mappings":"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"}
package/_esm/types.js CHANGED
@@ -1,3 +1,2 @@
1
- import {} from "@zerodev/sdk";
2
- import { PolicyFlags } from "./constants.js";
1
+ export {};
3
2
  //# sourceMappingURL=types.js.map
package/_esm/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,MAAM,cAAc,CAAA;AAInD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../types.ts"],"names":[],"mappings":""}
@@ -2,7 +2,7 @@ import { createKernelAccount } from "@zerodev/sdk";
2
2
  import type { ValidatorInitData } from "@zerodev/sdk/types";
3
3
  import type { EntryPoint } from "permissionless/types";
4
4
  import type { Hex } from "viem";
5
- import { type Policy } from "./types.js";
5
+ import type { Policy } from "./types.js";
6
6
  import type { ModularSigner } from "./types.js";
7
7
  export declare const deserializePermissionAccount: <entryPoint extends EntryPoint>(client: Parameters<typeof createKernelAccount>[0], entryPointAddress: entryPoint, modularPermissionAccountParams: string, modularSigner?: ModularSigner) => Promise<import("@zerodev/sdk").KernelSmartAccount<entryPoint, import("viem").Transport, import("viem").Chain | undefined>>;
8
8
  export declare const createPolicyFromParams: (policy: Policy) => Promise<Policy>;
@@ -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;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"}
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,KAAK,EAAE,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"}
@@ -1,4 +1,4 @@
1
- import { type ExtractAbiFunction, type ExtractAbiFunctionNames } from "abitype";
1
+ import type { ExtractAbiFunction, ExtractAbiFunctionNames } from "abitype";
2
2
  import type { Abi, AbiFunction, AbiParameter, AbiParameterKind, AbiParameterToPrimitiveType, AbiStateMutability, Address, Hex, Narrow } from "viem";
3
3
  export declare enum CallType {
4
4
  CALL = "0x00",
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../policies/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../policies/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { KernelSmartAccount } from "@zerodev/sdk";
2
+ import type { EntryPoint } from "permissionless/types";
3
+ import { type Hex } from "viem";
4
+ export type MultiChainPermissionAccountsParams<entryPoint extends EntryPoint> = {
5
+ account: KernelSmartAccount<entryPoint>;
6
+ privateKey?: Hex;
7
+ };
8
+ export declare const serializeMultiChainPermissionAccounts: <entryPoint extends EntryPoint>(params: MultiChainPermissionAccountsParams<entryPoint>[]) => Promise<string[]>;
9
+ //# sourceMappingURL=serializeMultiChainPermissionAccounts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serializeMultiChainPermissionAccounts.d.ts","sourceRoot":"","sources":["../serializeMultiChainPermissionAccounts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAGH,KAAK,GAAG,EAGX,MAAM,MAAM,CAAA;AAQb,MAAM,MAAM,kCAAkC,CAAC,UAAU,SAAS,UAAU,IACxE;IACI,OAAO,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAA;IACvC,UAAU,CAAC,EAAE,GAAG,CAAA;CACnB,CAAA;AAEL,eAAO,MAAM,qCAAqC,+FAI/C,QAAQ,MAAM,EAAE,CAsFlB,CAAA"}
@@ -3,6 +3,4 @@ export { toWebAuthnSigner, type WebAuthnModularSignerParams } from "./toWebAuthn
3
3
  export { WebAuthnMode } from "./toWebAuthnPubKey.js";
4
4
  export { toSignerId } from "./utils/toSignerId.js";
5
5
  export { toEmptyECDSASigner } from "./toEmptyECDSASigner.js";
6
- export { toRemoteSessionKeySigner } from "./toRemoteSessionKeySigner.js";
7
- export { SessionKeySignerMode } from "./toRemoteSessionKeySigner.js";
8
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;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAA;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,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"}
@@ -1,5 +1,5 @@
1
1
  import { type SmartAccountSigner } from "permissionless/accounts";
2
- import { type Address } from "viem";
2
+ import type { Address } from "viem";
3
3
  import type { ModularSigner, ModularSignerParams } from "../types.js";
4
4
  export type ECDSAModularSignerParams<TSource extends string = "custom", TAddress extends Address = Address> = ModularSignerParams & {
5
5
  signer: SmartAccountSigner<TSource, TAddress>;
@@ -1 +1 @@
1
- {"version":3,"file":"toECDSASigner.d.ts","sourceRoot":"","sources":["../../signers/toECDSASigner.ts"],"names":[],"mappings":"AAEA,OAAO,EAEH,KAAK,kBAAkB,EAC1B,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,KAAK,OAAO,EAA+C,MAAM,MAAM,CAAA;AAGhF,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAErE,MAAM,MAAM,wBAAwB,CAChC,OAAO,SAAS,MAAM,GAAG,QAAQ,EACjC,QAAQ,SAAS,OAAO,GAAG,OAAO,IAClC,mBAAmB,GAAG;IACtB,MAAM,EAAE,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;CAChD,CAAA;AAED,wBAAgB,aAAa,CACzB,OAAO,SAAS,MAAM,GAAG,QAAQ,EACjC,QAAQ,SAAS,OAAO,GAAG,OAAO,EACpC,EACE,MAAM,EACN,qBAA6C,EAChD,EAAE,wBAAwB,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,aAAa,CAoC7D"}
1
+ {"version":3,"file":"toECDSASigner.d.ts","sourceRoot":"","sources":["../../signers/toECDSASigner.ts"],"names":[],"mappings":"AAEA,OAAO,EAEH,KAAK,kBAAkB,EAC1B,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,EAAE,OAAO,EAAqC,MAAM,MAAM,CAAA;AAGtE,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAErE,MAAM,MAAM,wBAAwB,CAChC,OAAO,SAAS,MAAM,GAAG,QAAQ,EACjC,QAAQ,SAAS,OAAO,GAAG,OAAO,IAClC,mBAAmB,GAAG;IACtB,MAAM,EAAE,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;CAChD,CAAA;AAED,wBAAgB,aAAa,CACzB,OAAO,SAAS,MAAM,GAAG,QAAQ,EACjC,QAAQ,SAAS,OAAO,GAAG,OAAO,EACpC,EACE,MAAM,EACN,qBAA6C,EAChD,EAAE,wBAAwB,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,aAAa,CAoC7D"}
@@ -1,4 +1,4 @@
1
- import { type Address } from "viem";
1
+ import type { Address } from "viem";
2
2
  import type { ModularSigner } from "../types.js";
3
3
  export declare function toEmptyECDSASigner(address: Address): ModularSigner;
4
4
  //# sourceMappingURL=toEmptyECDSASigner.d.ts.map
@@ -1 +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
+ {"version":3,"file":"toEmptyECDSASigner.d.ts","sourceRoot":"","sources":["../../signers/toEmptyECDSASigner.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAuB,MAAM,MAAM,CAAA;AAGxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,CA0BlE"}
@@ -1,4 +1,4 @@
1
- import { type WebAuthnKey } from "./toWebAuthnSigner.js";
1
+ import type { WebAuthnKey } from "./toWebAuthnSigner.js";
2
2
  export declare enum WebAuthnMode {
3
3
  Register = "register",
4
4
  Login = "login"
@@ -1 +1 @@
1
- {"version":3,"file":"toWebAuthnPubKey.d.ts","sourceRoot":"","sources":["../../signers/toWebAuthnPubKey.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAGxD,oBAAY,YAAY;IACpB,QAAQ,aAAa;IACrB,KAAK,UAAU;CAClB;AAED,eAAO,MAAM,gBAAgB;iBAKZ,MAAM;sBACD,MAAM;UAClB,YAAY;MAClB,QAAQ,WAAW,CAsItB,CAAA"}
1
+ {"version":3,"file":"toWebAuthnPubKey.d.ts","sourceRoot":"","sources":["../../signers/toWebAuthnPubKey.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAGxD,oBAAY,YAAY;IACpB,QAAQ,aAAa;IACrB,KAAK,UAAU;CAClB;AAED,eAAO,MAAM,gBAAgB;iBAKZ,MAAM;sBACD,MAAM;UAClB,YAAY;MAClB,QAAQ,WAAW,CAsItB,CAAA"}
package/_types/types.d.ts CHANGED
@@ -1,8 +1,8 @@
1
- import { type KernelValidator } from "@zerodev/sdk";
1
+ import type { KernelValidator } from "@zerodev/sdk";
2
2
  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
- import { PolicyFlags } from "./constants.js";
5
+ import type { PolicyFlags } from "./constants.js";
6
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;
@@ -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,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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,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,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACjD,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"}
@@ -20,7 +20,7 @@ import {
20
20
  } from "./policies/index.js"
21
21
  import { toECDSASigner } from "./signers/toECDSASigner.js"
22
22
  import { toPermissionValidator } from "./toPermissionValidator.js"
23
- import { type Policy } from "./types.js"
23
+ import type { Policy } from "./types.js"
24
24
  import type { ModularSigner } from "./types.js"
25
25
  import { deserializePermissionAccountParams } from "./utils.js"
26
26
 
package/index.ts CHANGED
@@ -1,5 +1,9 @@
1
1
  export type * from "./types.js"
2
2
  export { toPermissionValidator } from "./toPermissionValidator.js"
3
3
  export { serializePermissionAccount } from "./serializePermissionAccount.js"
4
+ export {
5
+ type MultiChainPermissionAccountsParams,
6
+ serializeMultiChainPermissionAccounts
7
+ } from "./serializeMultiChainPermissionAccounts.js"
4
8
  export { deserializePermissionAccount } from "./deserializePermissionAccount.js"
5
9
  export * from "./constants.js"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zerodev/permissions",
3
- "version": "5.2.5",
3
+ "version": "5.2.7-alpha-0",
4
4
  "author": "ZeroDev",
5
5
  "main": "./_cjs/index.js",
6
6
  "module": "./_esm/index.js",
package/policies/types.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { type ExtractAbiFunction, type ExtractAbiFunctionNames } from "abitype"
1
+ import type { ExtractAbiFunction, ExtractAbiFunctionNames } from "abitype"
2
2
  import type {
3
3
  Abi,
4
4
  AbiFunction,
@@ -73,8 +73,8 @@ export type GetFunctionArgs<
73
73
  : TArgs extends readonly []
74
74
  ? { args?: never }
75
75
  : {
76
- args?: TArgs
77
- }
76
+ args?: TArgs
77
+ }
78
78
 
79
79
  export type Permission<
80
80
  TAbi extends Abi | readonly unknown[],
@@ -88,9 +88,9 @@ export type Permission<
88
88
  ? { abi?: Narrow<TAbi> } & GetFunctionArgs<TAbi, TFunctionName>
89
89
  : _FunctionName extends string
90
90
  ? { abi?: [Narrow<TAbi[number]>] } & GetFunctionArgs<
91
- TAbi,
92
- _FunctionName
93
- >
91
+ TAbi,
92
+ _FunctionName
93
+ >
94
94
  : never)
95
95
 
96
96
  export type CombinedArgs<
@@ -0,0 +1,113 @@
1
+ import type { KernelSmartAccount } from "@zerodev/sdk"
2
+ import MerkleTree from "merkletreejs"
3
+ import type { EntryPoint } from "permissionless/types"
4
+ import {
5
+ type Hex,
6
+ concatHex,
7
+ encodeAbiParameters,
8
+ hashTypedData,
9
+ keccak256
10
+ } from "viem"
11
+ import type { PermissionPlugin } from "./types.js"
12
+ import {
13
+ isPermissionValidatorPlugin,
14
+ serializePermissionAccountParams
15
+ } from "./utils.js"
16
+
17
+ export type MultiChainPermissionAccountsParams<entryPoint extends EntryPoint> =
18
+ {
19
+ account: KernelSmartAccount<entryPoint>
20
+ privateKey?: Hex
21
+ }
22
+
23
+ export const serializeMultiChainPermissionAccounts = async <
24
+ entryPoint extends EntryPoint
25
+ >(
26
+ params: MultiChainPermissionAccountsParams<entryPoint>[]
27
+ ): Promise<string[]> => {
28
+ if (params.length === 0) return []
29
+
30
+ const permissionParamsPerAccounts = params.map((param) => {
31
+ if (!isPermissionValidatorPlugin(param.account.kernelPluginManager)) {
32
+ throw new Error("Account plugin is not a permission validator")
33
+ }
34
+ return (
35
+ param.account.kernelPluginManager as PermissionPlugin<entryPoint>
36
+ ).getPluginSerializationParams()
37
+ })
38
+
39
+ const actions = params.map((param) =>
40
+ param.account.kernelPluginManager.getAction()
41
+ )
42
+
43
+ const validityDataPerAccounts = params.map((param) =>
44
+ param.account.kernelPluginManager.getValidityData()
45
+ )
46
+
47
+ const pluginEnableTypedDatas = await Promise.all(
48
+ params.map(async (param) => {
49
+ return param.account.kernelPluginManager.getPluginsEnableTypedData(
50
+ param.account.address
51
+ )
52
+ })
53
+ )
54
+
55
+ // get enable signatures for multi-chain validator
56
+ const enableSignatures = await Promise.all(
57
+ params.map(async (param, index) => {
58
+ const leaves = pluginEnableTypedDatas.map((typedData) => {
59
+ return hashTypedData(typedData)
60
+ })
61
+
62
+ const merkleTree = new MerkleTree(leaves, keccak256, {
63
+ sortPairs: true
64
+ })
65
+
66
+ const merkleRoot = merkleTree.getHexRoot() as Hex
67
+
68
+ const ecdsaSig =
69
+ await param.account.kernelPluginManager.sudoValidator?.signMessage(
70
+ {
71
+ message: {
72
+ raw: merkleRoot
73
+ }
74
+ }
75
+ )
76
+
77
+ if (!ecdsaSig) {
78
+ throw new Error(
79
+ "No ecdsaSig, check if the sudo validator is multi-chain validator"
80
+ )
81
+ }
82
+
83
+ const merkleProof = merkleTree.getHexProof(leaves[index]) as Hex[]
84
+ const encodedMerkleProof = encodeAbiParameters(
85
+ [{ name: "proof", type: "bytes32[]" }],
86
+ [merkleProof]
87
+ )
88
+ return concatHex([ecdsaSig, merkleRoot, encodedMerkleProof])
89
+ })
90
+ )
91
+
92
+ const accountParamsPerAccounts = await Promise.all(
93
+ params.map(async (param) => {
94
+ return {
95
+ initCode: await param.account.generateInitCode(),
96
+ accountAddress: param.account.address
97
+ }
98
+ })
99
+ )
100
+
101
+ const paramsToBeSerialized = params.map((param, index) => {
102
+ return serializePermissionAccountParams({
103
+ permissionParams: permissionParamsPerAccounts[index],
104
+ action: actions[index],
105
+ validityData: validityDataPerAccounts[index],
106
+ accountParams: accountParamsPerAccounts[index],
107
+ enableSignature: enableSignatures[index],
108
+ privateKey: param.privateKey
109
+ })
110
+ })
111
+
112
+ return paramsToBeSerialized
113
+ }
package/signers/index.ts CHANGED
@@ -9,5 +9,3 @@ export {
9
9
  export { WebAuthnMode } from "./toWebAuthnPubKey.js"
10
10
  export { toSignerId } from "./utils/toSignerId.js"
11
11
  export { toEmptyECDSASigner } from "./toEmptyECDSASigner.js"
12
- export { toRemoteSessionKeySigner } from "./toRemoteSessionKeySigner.js"
13
- export { SessionKeySignerMode } from "./toRemoteSessionKeySigner.js"
@@ -4,7 +4,7 @@ import {
4
4
  SignTransactionNotSupportedBySmartAccount,
5
5
  type SmartAccountSigner
6
6
  } from "permissionless/accounts"
7
- import { type Address, type LocalAccount, type TypedDataDefinition } from "viem"
7
+ import type { Address, LocalAccount, TypedDataDefinition } from "viem"
8
8
  import { toAccount } from "viem/accounts"
9
9
  import { ECDSA_SIGNER_CONTRACT } from "../constants.js"
10
10
  import type { ModularSigner, ModularSignerParams } from "../types.js"
@@ -1,6 +1,6 @@
1
1
  import { constants } from "@zerodev/sdk"
2
2
  import type { TypedData } from "abitype"
3
- import { type Address, type TypedDataDefinition } from "viem"
3
+ import type { Address, TypedDataDefinition } from "viem"
4
4
  import { toAccount } from "viem/accounts"
5
5
  import { ECDSA_SIGNER_CONTRACT } from "../constants.js"
6
6
  import type { ModularSigner } from "../types.js"
@@ -1,6 +1,6 @@
1
1
  import { Buffer } from "buffer"
2
2
  import { type Hex, keccak256 } from "viem"
3
- import { type WebAuthnKey } from "./toWebAuthnSigner.js"
3
+ import type { WebAuthnKey } from "./toWebAuthnSigner.js"
4
4
  import { b64ToBytes, uint8ArrayToHexString } from "./webAuthnUtils.js"
5
5
 
6
6
  export enum WebAuthnMode {
package/types.ts CHANGED
@@ -1,8 +1,8 @@
1
- import { type KernelValidator } from "@zerodev/sdk"
1
+ import type { KernelValidator } from "@zerodev/sdk"
2
2
  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
- import { PolicyFlags } from "./constants.js"
5
+ import type { PolicyFlags } from "./constants.js"
6
6
  import type {
7
7
  CallPolicyParams,
8
8
  GasPolicyParams,
@@ -1,100 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toRemoteSessionKeySigner = exports.SessionKeySignerMode = void 0;
4
- const sdk_1 = require("@zerodev/sdk");
5
- const accounts_1 = require("permissionless/accounts");
6
- const viem_1 = require("viem");
7
- const accounts_2 = require("viem/accounts");
8
- const constants_js_1 = require("../constants.js");
9
- var SessionKeySignerMode;
10
- (function (SessionKeySignerMode) {
11
- SessionKeySignerMode["Create"] = "create";
12
- SessionKeySignerMode["Get"] = "get";
13
- })(SessionKeySignerMode || (exports.SessionKeySignerMode = SessionKeySignerMode = {}));
14
- async function toRemoteSessionKeySigner({ apiKey, keyAddress, sessionKeyStorageUrl = "https://keys.zerodev.app/wallet/v1", mode = SessionKeySignerMode.Get, signerContractAddress = constants_js_1.ECDSA_SIGNER_CONTRACT }) {
15
- if (mode === SessionKeySignerMode.Create) {
16
- try {
17
- const response = await fetch(`${sessionKeyStorageUrl}/key-pair`, {
18
- method: "POST",
19
- headers: {
20
- "Content-Type": "application/json",
21
- "x-api-key": apiKey
22
- }
23
- });
24
- if (!response.ok) {
25
- const errorBody = await response.json();
26
- throw new Error(`Request failed with status code ${response.status}: ${errorBody.message}`);
27
- }
28
- const createTurnkeyWalletResult = await response.json();
29
- keyAddress = createTurnkeyWalletResult.walletAddress;
30
- }
31
- catch (error) {
32
- const errorMessage = error instanceof Error
33
- ? error.message
34
- : "An unknown error occurred";
35
- throw new Error(`An unexpected error occurred: ${errorMessage}`);
36
- }
37
- }
38
- if (!keyAddress) {
39
- throw new Error("Wallet address should be provided on get mode");
40
- }
41
- const signMessageWithTurnkeyWallet = async (message) => {
42
- try {
43
- const response = await fetch(`${sessionKeyStorageUrl}/sign-message`, {
44
- method: "POST",
45
- headers: {
46
- "Content-Type": "application/json",
47
- "x-api-key": apiKey
48
- },
49
- body: JSON.stringify({
50
- keyAddress,
51
- message
52
- })
53
- });
54
- if (!response.ok) {
55
- const errorBody = await response.json();
56
- throw new Error(`Request failed with status code ${response.status}: ${errorBody.message || "An unknown error occurred"}`);
57
- }
58
- const signMessageResult = await response.json();
59
- return signMessageResult.signature;
60
- }
61
- catch (error) {
62
- const errorMessage = error instanceof Error
63
- ? error.message
64
- : "An unknown error occurred";
65
- throw new Error(`An unexpected error occurred: ${errorMessage}`);
66
- }
67
- };
68
- const account = (0, accounts_2.toAccount)({
69
- address: keyAddress,
70
- async signMessage({ message }) {
71
- return (0, sdk_1.fixSignedData)(await signMessageWithTurnkeyWallet(message));
72
- },
73
- async signTransaction(_, __) {
74
- throw new accounts_1.SignTransactionNotSupportedBySmartAccount();
75
- },
76
- async signTypedData(typedData) {
77
- const { domain, message, primaryType } = typedData;
78
- const types = {
79
- EIP712Domain: (0, viem_1.getTypesForEIP712Domain)({ domain }),
80
- ...typedData.types
81
- };
82
- (0, viem_1.validateTypedData)({ domain, message, primaryType, types });
83
- const hash = (0, viem_1.hashTypedData)(typedData);
84
- return (0, sdk_1.fixSignedData)(await signMessageWithTurnkeyWallet(hash));
85
- }
86
- });
87
- return {
88
- account,
89
- signerContractAddress,
90
- getSignerData: () => {
91
- if (!keyAddress) {
92
- throw new Error("Wallet address not found");
93
- }
94
- return keyAddress;
95
- },
96
- getDummySignature: () => sdk_1.constants.DUMMY_ECDSA_SIG
97
- };
98
- }
99
- exports.toRemoteSessionKeySigner = toRemoteSessionKeySigner;
100
- //# sourceMappingURL=toRemoteSessionKeySigner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"toRemoteSessionKeySigner.js","sourceRoot":"","sources":["../../signers/toRemoteSessionKeySigner.ts"],"names":[],"mappings":";;;AAAA,sCAAuD;AAEvD,sDAAmF;AACnF,+BAQa;AACb,4CAAyC;AACzC,kDAAuD;AAGvD,IAAY,oBAGX;AAHD,WAAY,oBAAoB;IAC5B,yCAAiB,CAAA;IACjB,mCAAW,CAAA;AACf,CAAC,EAHW,oBAAoB,oCAApB,oBAAoB,QAG/B;AASM,KAAK,UAAU,wBAAwB,CAAC,EAC3C,MAAM,EACN,UAAU,EACV,oBAAoB,GAAG,oCAAoC,EAC3D,IAAI,GAAG,oBAAoB,CAAC,GAAG,EAC/B,qBAAqB,GAAG,oCAAqB,EACjB;IAC5B,IAAI,IAAI,KAAK,oBAAoB,CAAC,MAAM,EAAE,CAAC;QACvC,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,oBAAoB,WAAW,EAAE;gBAC7D,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACL,cAAc,EAAE,kBAAkB;oBAClC,WAAW,EAAE,MAAM;iBACtB;aACJ,CAAC,CAAA;YAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACf,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;gBACvC,MAAM,IAAI,KAAK,CACX,mCAAmC,QAAQ,CAAC,MAAM,KAAK,SAAS,CAAC,OAAO,EAAE,CAC7E,CAAA;YACL,CAAC;YAED,MAAM,yBAAyB,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;YACvD,UAAU,GAAG,yBAAyB,CAAC,aAAa,CAAA;QACxD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,YAAY,GACd,KAAK,YAAY,KAAK;gBAClB,CAAC,CAAC,KAAK,CAAC,OAAO;gBACf,CAAC,CAAC,2BAA2B,CAAA;YACrC,MAAM,IAAI,KAAK,CAAC,iCAAiC,YAAY,EAAE,CAAC,CAAA;QACpE,CAAC;IACL,CAAC;IAED,IAAI,CAAC,UAAU,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA;IACpE,CAAC;IAED,MAAM,4BAA4B,GAAG,KAAK,EAAE,OAAwB,EAAE,EAAE;QACpE,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CACxB,GAAG,oBAAoB,eAAe,EACtC;gBACI,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACL,cAAc,EAAE,kBAAkB;oBAClC,WAAW,EAAE,MAAM;iBACtB;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACjB,UAAU;oBACV,OAAO;iBACV,CAAC;aACL,CACJ,CAAA;YAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACf,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;gBACvC,MAAM,IAAI,KAAK,CACX,mCAAmC,QAAQ,CAAC,MAAM,KAC9C,SAAS,CAAC,OAAO,IAAI,2BACzB,EAAE,CACL,CAAA;YACL,CAAC;YAED,MAAM,iBAAiB,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;YAC/C,OAAO,iBAAiB,CAAC,SAAS,CAAA;QACtC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,YAAY,GACd,KAAK,YAAY,KAAK;gBAClB,CAAC,CAAC,KAAK,CAAC,OAAO;gBACf,CAAC,CAAC,2BAA2B,CAAA;YACrC,MAAM,IAAI,KAAK,CAAC,iCAAiC,YAAY,EAAE,CAAC,CAAA;QACpE,CAAC;IACL,CAAC,CAAA;IAED,MAAM,OAAO,GAAG,IAAA,oBAAS,EAAC;QACtB,OAAO,EAAE,UAAU;QACnB,KAAK,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE;YACzB,OAAO,IAAA,mBAAa,EAAC,MAAM,4BAA4B,CAAC,OAAO,CAAC,CAAC,CAAA;QACrE,CAAC;QACD,KAAK,CAAC,eAAe,CAAC,CAAC,EAAE,EAAE;YACvB,MAAM,IAAI,oDAAyC,EAAE,CAAA;QACzD,CAAC;QACD,KAAK,CAAC,aAAa,CAKjB,SAAwD;YACtD,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAClC,SAA+C,CAAA;YAEnD,MAAM,KAAK,GAAG;gBACV,YAAY,EAAE,IAAA,8BAAuB,EAAC,EAAE,MAAM,EAAE,CAAC;gBACjD,GAAG,SAAS,CAAC,KAAK;aACrB,CAAA;YAED,IAAA,wBAAiB,EAAC,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAA;YAE1D,MAAM,IAAI,GAAG,IAAA,oBAAa,EAAC,SAAS,CAAC,CAAA;YACrC,OAAO,IAAA,mBAAa,EAAC,MAAM,4BAA4B,CAAC,IAAI,CAAC,CAAC,CAAA;QAClE,CAAC;KACJ,CAAC,CAAA;IACF,OAAO;QACH,OAAO;QACP,qBAAqB;QACrB,aAAa,EAAE,GAAG,EAAE;YAChB,IAAI,CAAC,UAAU,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;YAC/C,CAAC;YACD,OAAO,UAAU,CAAA;QACrB,CAAC;QACD,iBAAiB,EAAE,GAAG,EAAE,CAAC,eAAS,CAAC,eAAe;KACrD,CAAA;AACL,CAAC;AAnHD,4DAmHC"}
@@ -1,96 +0,0 @@
1
- import { constants, fixSignedData } from "@zerodev/sdk";
2
- import { SignTransactionNotSupportedBySmartAccount } from "permissionless/accounts";
3
- import { getTypesForEIP712Domain, hashTypedData, validateTypedData } from "viem";
4
- import { toAccount } from "viem/accounts";
5
- import { ECDSA_SIGNER_CONTRACT } from "../constants.js";
6
- export var SessionKeySignerMode;
7
- (function (SessionKeySignerMode) {
8
- SessionKeySignerMode["Create"] = "create";
9
- SessionKeySignerMode["Get"] = "get";
10
- })(SessionKeySignerMode || (SessionKeySignerMode = {}));
11
- export async function toRemoteSessionKeySigner({ apiKey, keyAddress, sessionKeyStorageUrl = "https://keys.zerodev.app/wallet/v1", mode = SessionKeySignerMode.Get, signerContractAddress = ECDSA_SIGNER_CONTRACT }) {
12
- if (mode === SessionKeySignerMode.Create) {
13
- try {
14
- const response = await fetch(`${sessionKeyStorageUrl}/key-pair`, {
15
- method: "POST",
16
- headers: {
17
- "Content-Type": "application/json",
18
- "x-api-key": apiKey
19
- }
20
- });
21
- if (!response.ok) {
22
- const errorBody = await response.json();
23
- throw new Error(`Request failed with status code ${response.status}: ${errorBody.message}`);
24
- }
25
- const createTurnkeyWalletResult = await response.json();
26
- keyAddress = createTurnkeyWalletResult.walletAddress;
27
- }
28
- catch (error) {
29
- const errorMessage = error instanceof Error
30
- ? error.message
31
- : "An unknown error occurred";
32
- throw new Error(`An unexpected error occurred: ${errorMessage}`);
33
- }
34
- }
35
- if (!keyAddress) {
36
- throw new Error("Wallet address should be provided on get mode");
37
- }
38
- const signMessageWithTurnkeyWallet = async (message) => {
39
- try {
40
- const response = await fetch(`${sessionKeyStorageUrl}/sign-message`, {
41
- method: "POST",
42
- headers: {
43
- "Content-Type": "application/json",
44
- "x-api-key": apiKey
45
- },
46
- body: JSON.stringify({
47
- keyAddress,
48
- message
49
- })
50
- });
51
- if (!response.ok) {
52
- const errorBody = await response.json();
53
- throw new Error(`Request failed with status code ${response.status}: ${errorBody.message || "An unknown error occurred"}`);
54
- }
55
- const signMessageResult = await response.json();
56
- return signMessageResult.signature;
57
- }
58
- catch (error) {
59
- const errorMessage = error instanceof Error
60
- ? error.message
61
- : "An unknown error occurred";
62
- throw new Error(`An unexpected error occurred: ${errorMessage}`);
63
- }
64
- };
65
- const account = toAccount({
66
- address: keyAddress,
67
- async signMessage({ message }) {
68
- return fixSignedData(await signMessageWithTurnkeyWallet(message));
69
- },
70
- async signTransaction(_, __) {
71
- throw new SignTransactionNotSupportedBySmartAccount();
72
- },
73
- async signTypedData(typedData) {
74
- const { domain, message, primaryType } = typedData;
75
- const types = {
76
- EIP712Domain: getTypesForEIP712Domain({ domain }),
77
- ...typedData.types
78
- };
79
- validateTypedData({ domain, message, primaryType, types });
80
- const hash = hashTypedData(typedData);
81
- return fixSignedData(await signMessageWithTurnkeyWallet(hash));
82
- }
83
- });
84
- return {
85
- account,
86
- signerContractAddress,
87
- getSignerData: () => {
88
- if (!keyAddress) {
89
- throw new Error("Wallet address not found");
90
- }
91
- return keyAddress;
92
- },
93
- getDummySignature: () => constants.DUMMY_ECDSA_SIG
94
- };
95
- }
96
- //# sourceMappingURL=toRemoteSessionKeySigner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"toRemoteSessionKeySigner.js","sourceRoot":"","sources":["../../signers/toRemoteSessionKeySigner.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- import { type Hex } from "viem";
2
- import type { ModularSigner, ModularSignerParams } from "../types.js";
3
- export declare enum SessionKeySignerMode {
4
- Create = "create",
5
- Get = "get"
6
- }
7
- export type SessionKeyModularSignerParams = ModularSignerParams & {
8
- apiKey: string;
9
- sessionKeyStorageUrl?: string;
10
- keyAddress?: Hex;
11
- mode?: SessionKeySignerMode;
12
- };
13
- export declare function toRemoteSessionKeySigner({ apiKey, keyAddress, sessionKeyStorageUrl, mode, signerContractAddress }: SessionKeyModularSignerParams): Promise<ModularSigner>;
14
- //# sourceMappingURL=toRemoteSessionKeySigner.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"toRemoteSessionKeySigner.d.ts","sourceRoot":"","sources":["../../signers/toRemoteSessionKeySigner.ts"],"names":[],"mappings":"AAGA,OAAO,EACH,KAAK,GAAG,EAOX,MAAM,MAAM,CAAA;AAGb,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAErE,oBAAY,oBAAoB;IAC5B,MAAM,WAAW;IACjB,GAAG,QAAQ;CACd;AAED,MAAM,MAAM,6BAA6B,GAAG,mBAAmB,GAAG;IAC9D,MAAM,EAAE,MAAM,CAAA;IACd,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,UAAU,CAAC,EAAE,GAAG,CAAA;IAChB,IAAI,CAAC,EAAE,oBAAoB,CAAA;CAC9B,CAAA;AAED,wBAAsB,wBAAwB,CAAC,EAC3C,MAAM,EACN,UAAU,EACV,oBAA2D,EAC3D,IAA+B,EAC/B,qBAA6C,EAChD,EAAE,6BAA6B,GAAG,OAAO,CAAC,aAAa,CAAC,CA6GxD"}
@@ -1,144 +0,0 @@
1
- import { constants, fixSignedData } from "@zerodev/sdk"
2
- import type { TypedData } from "abitype"
3
- import { SignTransactionNotSupportedBySmartAccount } from "permissionless/accounts"
4
- import {
5
- type Hex,
6
- type SignTypedDataParameters,
7
- type SignableMessage,
8
- type TypedDataDefinition,
9
- getTypesForEIP712Domain,
10
- hashTypedData,
11
- validateTypedData
12
- } from "viem"
13
- import { toAccount } from "viem/accounts"
14
- import { ECDSA_SIGNER_CONTRACT } from "../constants.js"
15
- import type { ModularSigner, ModularSignerParams } from "../types.js"
16
-
17
- export enum SessionKeySignerMode {
18
- Create = "create",
19
- Get = "get"
20
- }
21
-
22
- export type SessionKeyModularSignerParams = ModularSignerParams & {
23
- apiKey: string
24
- sessionKeyStorageUrl?: string
25
- keyAddress?: Hex
26
- mode?: SessionKeySignerMode
27
- }
28
-
29
- export async function toRemoteSessionKeySigner({
30
- apiKey,
31
- keyAddress,
32
- sessionKeyStorageUrl = "https://keys.zerodev.app/wallet/v1",
33
- mode = SessionKeySignerMode.Get,
34
- signerContractAddress = ECDSA_SIGNER_CONTRACT
35
- }: SessionKeyModularSignerParams): Promise<ModularSigner> {
36
- if (mode === SessionKeySignerMode.Create) {
37
- try {
38
- const response = await fetch(`${sessionKeyStorageUrl}/key-pair`, {
39
- method: "POST",
40
- headers: {
41
- "Content-Type": "application/json",
42
- "x-api-key": apiKey
43
- }
44
- })
45
-
46
- if (!response.ok) {
47
- const errorBody = await response.json()
48
- throw new Error(
49
- `Request failed with status code ${response.status}: ${errorBody.message}`
50
- )
51
- }
52
-
53
- const createTurnkeyWalletResult = await response.json()
54
- keyAddress = createTurnkeyWalletResult.walletAddress
55
- } catch (error) {
56
- const errorMessage =
57
- error instanceof Error
58
- ? error.message
59
- : "An unknown error occurred"
60
- throw new Error(`An unexpected error occurred: ${errorMessage}`)
61
- }
62
- }
63
-
64
- if (!keyAddress) {
65
- throw new Error("Wallet address should be provided on get mode")
66
- }
67
-
68
- const signMessageWithTurnkeyWallet = async (message: SignableMessage) => {
69
- try {
70
- const response = await fetch(
71
- `${sessionKeyStorageUrl}/sign-message`,
72
- {
73
- method: "POST",
74
- headers: {
75
- "Content-Type": "application/json",
76
- "x-api-key": apiKey
77
- },
78
- body: JSON.stringify({
79
- keyAddress,
80
- message
81
- })
82
- }
83
- )
84
-
85
- if (!response.ok) {
86
- const errorBody = await response.json()
87
- throw new Error(
88
- `Request failed with status code ${response.status}: ${
89
- errorBody.message || "An unknown error occurred"
90
- }`
91
- )
92
- }
93
-
94
- const signMessageResult = await response.json()
95
- return signMessageResult.signature
96
- } catch (error) {
97
- const errorMessage =
98
- error instanceof Error
99
- ? error.message
100
- : "An unknown error occurred"
101
- throw new Error(`An unexpected error occurred: ${errorMessage}`)
102
- }
103
- }
104
-
105
- const account = toAccount({
106
- address: keyAddress,
107
- async signMessage({ message }) {
108
- return fixSignedData(await signMessageWithTurnkeyWallet(message))
109
- },
110
- async signTransaction(_, __) {
111
- throw new SignTransactionNotSupportedBySmartAccount()
112
- },
113
- async signTypedData<
114
- const TTypedData extends TypedData | Record<string, unknown>,
115
- TPrimaryType extends
116
- | keyof TTypedData
117
- | "EIP712Domain" = keyof TTypedData
118
- >(typedData: TypedDataDefinition<TTypedData, TPrimaryType>) {
119
- const { domain, message, primaryType } =
120
- typedData as unknown as SignTypedDataParameters
121
-
122
- const types = {
123
- EIP712Domain: getTypesForEIP712Domain({ domain }),
124
- ...typedData.types
125
- }
126
-
127
- validateTypedData({ domain, message, primaryType, types })
128
-
129
- const hash = hashTypedData(typedData)
130
- return fixSignedData(await signMessageWithTurnkeyWallet(hash))
131
- }
132
- })
133
- return {
134
- account,
135
- signerContractAddress,
136
- getSignerData: () => {
137
- if (!keyAddress) {
138
- throw new Error("Wallet address not found")
139
- }
140
- return keyAddress
141
- },
142
- getDummySignature: () => constants.DUMMY_ECDSA_SIG
143
- }
144
- }