@zerodev/permissions 5.2.8 → 5.2.9
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/serializeMultiChainPermissionAccounts.js +21 -18
- package/_cjs/serializeMultiChainPermissionAccounts.js.map +1 -1
- package/_esm/serializeMultiChainPermissionAccounts.js +21 -18
- package/_esm/serializeMultiChainPermissionAccounts.js.map +1 -1
- package/_types/serializeMultiChainPermissionAccounts.d.ts.map +1 -1
- package/package.json +1 -1
- package/serializeMultiChainPermissionAccounts.ts +30 -31
|
@@ -26,6 +26,25 @@ const serializeMultiChainPermissionAccounts = async (params) => {
|
|
|
26
26
|
});
|
|
27
27
|
const merkleRoot = merkleTree.getHexRoot();
|
|
28
28
|
const toEthSignedMessageHash = (0, viem_1.hashMessage)({ raw: merkleRoot });
|
|
29
|
+
let signature = "0x";
|
|
30
|
+
if (params[0].account.kernelPluginManager.sudoValidator?.source ===
|
|
31
|
+
"MultiChainECDSAValidator") {
|
|
32
|
+
signature =
|
|
33
|
+
await params[0].account.kernelPluginManager.sudoValidator?.signMessage({
|
|
34
|
+
message: {
|
|
35
|
+
raw: merkleRoot
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
if (params[0].account.kernelPluginManager.sudoValidator?.source ===
|
|
40
|
+
"MultiChainWebAuthnValidator") {
|
|
41
|
+
signature =
|
|
42
|
+
await params[0].account.kernelPluginManager.sudoValidator?.signMessage({
|
|
43
|
+
message: {
|
|
44
|
+
raw: toEthSignedMessageHash
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
}
|
|
29
48
|
const enableSignatures = await Promise.all(params.map(async (param, index) => {
|
|
30
49
|
if (!param.account.kernelPluginManager.sudoValidator) {
|
|
31
50
|
throw new Error("No sudo validator found, check if sudo validator is multi-chain validator");
|
|
@@ -34,26 +53,10 @@ const serializeMultiChainPermissionAccounts = async (params) => {
|
|
|
34
53
|
const encodedMerkleProof = (0, viem_1.encodeAbiParameters)([{ name: "proof", type: "bytes32[]" }], [merkleProof]);
|
|
35
54
|
if (param.account.kernelPluginManager.sudoValidator.source ===
|
|
36
55
|
"MultiChainECDSAValidator") {
|
|
37
|
-
|
|
38
|
-
message: {
|
|
39
|
-
raw: merkleRoot
|
|
40
|
-
}
|
|
41
|
-
});
|
|
42
|
-
if (!ecdsaSig) {
|
|
43
|
-
throw new Error("No enable signature, check if the sudo validator is MultiChainECDSAValidator");
|
|
44
|
-
}
|
|
45
|
-
return (0, viem_1.concatHex)([ecdsaSig, merkleRoot, encodedMerkleProof]);
|
|
56
|
+
return (0, viem_1.concatHex)([signature, merkleRoot, encodedMerkleProof]);
|
|
46
57
|
}
|
|
47
58
|
if (param.account.kernelPluginManager.sudoValidator.source ===
|
|
48
59
|
"MultiChainWebAuthnValidator") {
|
|
49
|
-
const webauthnSig = await params[0].account.kernelPluginManager.sudoValidator?.signMessage({
|
|
50
|
-
message: {
|
|
51
|
-
raw: toEthSignedMessageHash
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
|
-
if (!webauthnSig) {
|
|
55
|
-
throw new Error("No enable signature, check if the sudo validator is MultiChainWebAuthnValidator");
|
|
56
|
-
}
|
|
57
60
|
const merkleData = (0, viem_1.concatHex)([merkleRoot, encodedMerkleProof]);
|
|
58
61
|
return (0, viem_1.encodeAbiParameters)([
|
|
59
62
|
{
|
|
@@ -64,7 +67,7 @@ const serializeMultiChainPermissionAccounts = async (params) => {
|
|
|
64
67
|
name: "signature",
|
|
65
68
|
type: "bytes"
|
|
66
69
|
}
|
|
67
|
-
], [merkleData,
|
|
70
|
+
], [merkleData, signature]);
|
|
68
71
|
}
|
|
69
72
|
throw new Error("Unknown multi-chain validator");
|
|
70
73
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serializeMultiChainPermissionAccounts.js","sourceRoot":"","sources":["../serializeMultiChainPermissionAccounts.ts"],"names":[],"mappings":";;;AACA,+CAAyC;AAEzC,+BAOa;AAEb,yCAGmB;AAQZ,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,IAAA,sCAA2B,EAAC,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;IAGD,MAAM,MAAM,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;QACpD,OAAO,IAAA,oBAAa,EAAC,SAAS,CAAC,CAAA;IACnC,CAAC,CAAC,CAAA;IAEF,MAAM,UAAU,GAAG,IAAI,yBAAU,CAAC,MAAM,EAAE,gBAAS,EAAE;QACjD,SAAS,EAAE,IAAI;KAClB,CAAC,CAAA;IAEF,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,EAAS,CAAA;IAEjD,MAAM,sBAAsB,GAAG,IAAA,kBAAW,EAAC,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"serializeMultiChainPermissionAccounts.js","sourceRoot":"","sources":["../serializeMultiChainPermissionAccounts.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,25 @@ export const serializeMultiChainPermissionAccounts = async (params) => {
|
|
|
24
24
|
});
|
|
25
25
|
const merkleRoot = merkleTree.getHexRoot();
|
|
26
26
|
const toEthSignedMessageHash = hashMessage({ raw: merkleRoot });
|
|
27
|
+
let signature = "0x";
|
|
28
|
+
if (params[0].account.kernelPluginManager.sudoValidator?.source ===
|
|
29
|
+
"MultiChainECDSAValidator") {
|
|
30
|
+
signature =
|
|
31
|
+
await params[0].account.kernelPluginManager.sudoValidator?.signMessage({
|
|
32
|
+
message: {
|
|
33
|
+
raw: merkleRoot
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
if (params[0].account.kernelPluginManager.sudoValidator?.source ===
|
|
38
|
+
"MultiChainWebAuthnValidator") {
|
|
39
|
+
signature =
|
|
40
|
+
await params[0].account.kernelPluginManager.sudoValidator?.signMessage({
|
|
41
|
+
message: {
|
|
42
|
+
raw: toEthSignedMessageHash
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
}
|
|
27
46
|
// get enable signatures for multi-chain validator
|
|
28
47
|
const enableSignatures = await Promise.all(params.map(async (param, index) => {
|
|
29
48
|
if (!param.account.kernelPluginManager.sudoValidator) {
|
|
@@ -33,26 +52,10 @@ export const serializeMultiChainPermissionAccounts = async (params) => {
|
|
|
33
52
|
const encodedMerkleProof = encodeAbiParameters([{ name: "proof", type: "bytes32[]" }], [merkleProof]);
|
|
34
53
|
if (param.account.kernelPluginManager.sudoValidator.source ===
|
|
35
54
|
"MultiChainECDSAValidator") {
|
|
36
|
-
|
|
37
|
-
message: {
|
|
38
|
-
raw: merkleRoot
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
if (!ecdsaSig) {
|
|
42
|
-
throw new Error("No enable signature, check if the sudo validator is MultiChainECDSAValidator");
|
|
43
|
-
}
|
|
44
|
-
return concatHex([ecdsaSig, merkleRoot, encodedMerkleProof]);
|
|
55
|
+
return concatHex([signature, merkleRoot, encodedMerkleProof]);
|
|
45
56
|
}
|
|
46
57
|
if (param.account.kernelPluginManager.sudoValidator.source ===
|
|
47
58
|
"MultiChainWebAuthnValidator") {
|
|
48
|
-
const webauthnSig = await params[0].account.kernelPluginManager.sudoValidator?.signMessage({
|
|
49
|
-
message: {
|
|
50
|
-
raw: toEthSignedMessageHash
|
|
51
|
-
}
|
|
52
|
-
});
|
|
53
|
-
if (!webauthnSig) {
|
|
54
|
-
throw new Error("No enable signature, check if the sudo validator is MultiChainWebAuthnValidator");
|
|
55
|
-
}
|
|
56
59
|
const merkleData = concatHex([merkleRoot, encodedMerkleProof]);
|
|
57
60
|
return encodeAbiParameters([
|
|
58
61
|
{
|
|
@@ -63,7 +66,7 @@ export const serializeMultiChainPermissionAccounts = async (params) => {
|
|
|
63
66
|
name: "signature",
|
|
64
67
|
type: "bytes"
|
|
65
68
|
}
|
|
66
|
-
], [merkleData,
|
|
69
|
+
], [merkleData, signature]);
|
|
67
70
|
}
|
|
68
71
|
throw new Error("Unknown multi-chain validator");
|
|
69
72
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serializeMultiChainPermissionAccounts.js","sourceRoot":"","sources":["../serializeMultiChainPermissionAccounts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,OAAO,EAEH,SAAS,EACT,mBAAmB,EACnB,WAAW,EACX,aAAa,EACb,SAAS,EACZ,MAAM,MAAM,CAAA;AAEb,OAAO,EACH,2BAA2B,EAC3B,gCAAgC,EACnC,MAAM,YAAY,CAAA;AAQnB,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,0CAA0C;IAC1C,MAAM,MAAM,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;QACpD,OAAO,aAAa,CAAC,SAAS,CAAC,CAAA;IACnC,CAAC,CAAC,CAAA;IAEF,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE;QACjD,SAAS,EAAE,IAAI;KAClB,CAAC,CAAA;IAEF,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,EAAS,CAAA;IAEjD,MAAM,sBAAsB,GAAG,WAAW,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAA;IAE/D,
|
|
1
|
+
{"version":3,"file":"serializeMultiChainPermissionAccounts.js","sourceRoot":"","sources":["../serializeMultiChainPermissionAccounts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serializeMultiChainPermissionAccounts.d.ts","sourceRoot":"","sources":["../serializeMultiChainPermissionAccounts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAEtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EACH,KAAK,GAAG,EAMX,MAAM,MAAM,CAAA;AAOb,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,
|
|
1
|
+
{"version":3,"file":"serializeMultiChainPermissionAccounts.d.ts","sourceRoot":"","sources":["../serializeMultiChainPermissionAccounts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAEtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EACH,KAAK,GAAG,EAMX,MAAM,MAAM,CAAA;AAOb,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,CAoIlB,CAAA"}
|
package/package.json
CHANGED
|
@@ -66,6 +66,34 @@ export const serializeMultiChainPermissionAccounts = async <
|
|
|
66
66
|
|
|
67
67
|
const toEthSignedMessageHash = hashMessage({ raw: merkleRoot })
|
|
68
68
|
|
|
69
|
+
let signature: Hex = "0x"
|
|
70
|
+
if (
|
|
71
|
+
params[0].account.kernelPluginManager.sudoValidator?.source ===
|
|
72
|
+
"MultiChainECDSAValidator"
|
|
73
|
+
) {
|
|
74
|
+
signature =
|
|
75
|
+
await params[0].account.kernelPluginManager.sudoValidator?.signMessage(
|
|
76
|
+
{
|
|
77
|
+
message: {
|
|
78
|
+
raw: merkleRoot
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
)
|
|
82
|
+
}
|
|
83
|
+
if (
|
|
84
|
+
params[0].account.kernelPluginManager.sudoValidator?.source ===
|
|
85
|
+
"MultiChainWebAuthnValidator"
|
|
86
|
+
) {
|
|
87
|
+
signature =
|
|
88
|
+
await params[0].account.kernelPluginManager.sudoValidator?.signMessage(
|
|
89
|
+
{
|
|
90
|
+
message: {
|
|
91
|
+
raw: toEthSignedMessageHash
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
)
|
|
95
|
+
}
|
|
96
|
+
|
|
69
97
|
// get enable signatures for multi-chain validator
|
|
70
98
|
const enableSignatures = await Promise.all(
|
|
71
99
|
params.map(async (param, index) => {
|
|
@@ -83,41 +111,12 @@ export const serializeMultiChainPermissionAccounts = async <
|
|
|
83
111
|
param.account.kernelPluginManager.sudoValidator.source ===
|
|
84
112
|
"MultiChainECDSAValidator"
|
|
85
113
|
) {
|
|
86
|
-
|
|
87
|
-
await params[0].account.kernelPluginManager.sudoValidator?.signMessage(
|
|
88
|
-
{
|
|
89
|
-
message: {
|
|
90
|
-
raw: merkleRoot
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
)
|
|
94
|
-
|
|
95
|
-
if (!ecdsaSig) {
|
|
96
|
-
throw new Error(
|
|
97
|
-
"No enable signature, check if the sudo validator is MultiChainECDSAValidator"
|
|
98
|
-
)
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
return concatHex([ecdsaSig, merkleRoot, encodedMerkleProof])
|
|
114
|
+
return concatHex([signature, merkleRoot, encodedMerkleProof])
|
|
102
115
|
}
|
|
103
116
|
if (
|
|
104
117
|
param.account.kernelPluginManager.sudoValidator.source ===
|
|
105
118
|
"MultiChainWebAuthnValidator"
|
|
106
119
|
) {
|
|
107
|
-
const webauthnSig =
|
|
108
|
-
await params[0].account.kernelPluginManager.sudoValidator?.signMessage(
|
|
109
|
-
{
|
|
110
|
-
message: {
|
|
111
|
-
raw: toEthSignedMessageHash
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
)
|
|
115
|
-
|
|
116
|
-
if (!webauthnSig) {
|
|
117
|
-
throw new Error(
|
|
118
|
-
"No enable signature, check if the sudo validator is MultiChainWebAuthnValidator"
|
|
119
|
-
)
|
|
120
|
-
}
|
|
121
120
|
const merkleData = concatHex([merkleRoot, encodedMerkleProof])
|
|
122
121
|
return encodeAbiParameters(
|
|
123
122
|
[
|
|
@@ -130,7 +129,7 @@ export const serializeMultiChainPermissionAccounts = async <
|
|
|
130
129
|
type: "bytes"
|
|
131
130
|
}
|
|
132
131
|
],
|
|
133
|
-
[merkleData,
|
|
132
|
+
[merkleData, signature]
|
|
134
133
|
)
|
|
135
134
|
}
|
|
136
135
|
throw new Error("Unknown multi-chain validator")
|