@0xsequence/wallet-primitives 0.0.0-20250520201059
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/.turbo/turbo-build.log +5 -0
- package/CHANGELOG.md +7 -0
- package/LICENSE +202 -0
- package/dist/address.d.ts +5 -0
- package/dist/address.d.ts.map +1 -0
- package/dist/address.js +7 -0
- package/dist/address.js.map +1 -0
- package/dist/attestation.d.ts +24 -0
- package/dist/attestation.d.ts.map +1 -0
- package/dist/attestation.js +77 -0
- package/dist/attestation.js.map +1 -0
- package/dist/config.d.ts +85 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +381 -0
- package/dist/config.js.map +1 -0
- package/dist/constants.d.ts +173 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +31 -0
- package/dist/constants.js.map +1 -0
- package/dist/context.d.ts +9 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +8 -0
- package/dist/context.js.map +1 -0
- package/dist/erc-6492.d.ts +19 -0
- package/dist/erc-6492.d.ts.map +1 -0
- package/dist/erc-6492.js +64 -0
- package/dist/erc-6492.js.map +1 -0
- package/dist/extensions/index.d.ts +9 -0
- package/dist/extensions/index.d.ts.map +1 -0
- package/dist/extensions/index.js +7 -0
- package/dist/extensions/index.js.map +1 -0
- package/dist/extensions/passkeys.d.ts +31 -0
- package/dist/extensions/passkeys.d.ts.map +1 -0
- package/dist/extensions/passkeys.js +224 -0
- package/dist/extensions/passkeys.js.map +1 -0
- package/dist/extensions/recovery.d.ts +310 -0
- package/dist/extensions/recovery.d.ts.map +1 -0
- package/dist/extensions/recovery.js +444 -0
- package/dist/extensions/recovery.js.map +1 -0
- package/dist/generic-tree.d.ts +14 -0
- package/dist/generic-tree.d.ts.map +1 -0
- package/dist/generic-tree.js +34 -0
- package/dist/generic-tree.js.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +16 -0
- package/dist/index.js.map +1 -0
- package/dist/network.d.ts +15 -0
- package/dist/network.d.ts.map +1 -0
- package/dist/network.js +24 -0
- package/dist/network.js.map +1 -0
- package/dist/payload.d.ts +108 -0
- package/dist/payload.d.ts.map +1 -0
- package/dist/payload.js +627 -0
- package/dist/payload.js.map +1 -0
- package/dist/permission.d.ts +73 -0
- package/dist/permission.d.ts.map +1 -0
- package/dist/permission.js +188 -0
- package/dist/permission.js.map +1 -0
- package/dist/session-config.d.ts +113 -0
- package/dist/session-config.d.ts.map +1 -0
- package/dist/session-config.js +554 -0
- package/dist/session-config.js.map +1 -0
- package/dist/session-signature.d.ts +24 -0
- package/dist/session-signature.d.ts.map +1 -0
- package/dist/session-signature.js +141 -0
- package/dist/session-signature.js.map +1 -0
- package/dist/signature.d.ts +108 -0
- package/dist/signature.d.ts.map +1 -0
- package/dist/signature.js +1079 -0
- package/dist/signature.js.map +1 -0
- package/dist/utils.d.ts +45 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +100 -0
- package/dist/utils.js.map +1 -0
- package/eslint.config.mjs +4 -0
- package/package.json +27 -0
- package/src/address.ts +19 -0
- package/src/attestation.ts +114 -0
- package/src/config.ts +521 -0
- package/src/constants.ts +39 -0
- package/src/context.ts +16 -0
- package/src/erc-6492.ts +97 -0
- package/src/extensions/index.ts +14 -0
- package/src/extensions/passkeys.ts +283 -0
- package/src/extensions/recovery.ts +542 -0
- package/src/generic-tree.ts +55 -0
- package/src/index.ts +15 -0
- package/src/network.ts +37 -0
- package/src/payload.ts +825 -0
- package/src/permission.ts +252 -0
- package/src/session-config.ts +681 -0
- package/src/session-signature.ts +197 -0
- package/src/signature.ts +1398 -0
- package/src/utils.ts +114 -0
- package/tsconfig.json +10 -0
package/dist/config.js
ADDED
|
@@ -0,0 +1,381 @@
|
|
|
1
|
+
import { Address, Bytes, Hash, Hex } from 'ox';
|
|
2
|
+
import { isRawConfig, isRawNestedLeaf, isRawSignerLeaf, isSignedSapientSignerLeaf, isSignedSignerLeaf, } from './signature.js';
|
|
3
|
+
export function isSignerLeaf(cand) {
|
|
4
|
+
return typeof cand === 'object' && cand !== null && cand.type === 'signer';
|
|
5
|
+
}
|
|
6
|
+
export function isSapientSignerLeaf(cand) {
|
|
7
|
+
return typeof cand === 'object' && cand !== null && cand.type === 'sapient-signer';
|
|
8
|
+
}
|
|
9
|
+
export function isSubdigestLeaf(cand) {
|
|
10
|
+
return typeof cand === 'object' && cand !== null && cand.type === 'subdigest';
|
|
11
|
+
}
|
|
12
|
+
export function isAnyAddressSubdigestLeaf(cand) {
|
|
13
|
+
return typeof cand === 'object' && cand !== null && cand.type === 'any-address-subdigest';
|
|
14
|
+
}
|
|
15
|
+
export function isNodeLeaf(cand) {
|
|
16
|
+
return Hex.validate(cand) && cand.length === 66;
|
|
17
|
+
}
|
|
18
|
+
export function isNestedLeaf(cand) {
|
|
19
|
+
return typeof cand === 'object' && cand !== null && cand.type === 'nested';
|
|
20
|
+
}
|
|
21
|
+
export function isNode(cand) {
|
|
22
|
+
return Array.isArray(cand) && cand.length === 2 && isTopology(cand[0]) && isTopology(cand[1]);
|
|
23
|
+
}
|
|
24
|
+
export function isConfig(cand) {
|
|
25
|
+
return typeof cand === 'object' && 'threshold' in cand && 'checkpoint' in cand && 'topology' in cand;
|
|
26
|
+
}
|
|
27
|
+
export function isLeaf(cand) {
|
|
28
|
+
return (isSignerLeaf(cand) ||
|
|
29
|
+
isSapientSignerLeaf(cand) ||
|
|
30
|
+
isSubdigestLeaf(cand) ||
|
|
31
|
+
isAnyAddressSubdigestLeaf(cand) ||
|
|
32
|
+
isNodeLeaf(cand) ||
|
|
33
|
+
isNestedLeaf(cand));
|
|
34
|
+
}
|
|
35
|
+
export function isTopology(cand) {
|
|
36
|
+
return isNode(cand) || isLeaf(cand);
|
|
37
|
+
}
|
|
38
|
+
export function getSigners(configuration) {
|
|
39
|
+
const signers = new Set();
|
|
40
|
+
const sapientSigners = new Set();
|
|
41
|
+
let isComplete = true;
|
|
42
|
+
const scan = (topology) => {
|
|
43
|
+
if (isNode(topology)) {
|
|
44
|
+
scan(topology[0]);
|
|
45
|
+
scan(topology[1]);
|
|
46
|
+
}
|
|
47
|
+
else if (isSignerLeaf(topology)) {
|
|
48
|
+
if (topology.weight) {
|
|
49
|
+
signers.add(topology.address);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
else if (isSapientSignerLeaf(topology)) {
|
|
53
|
+
sapientSigners.add({ address: topology.address, imageHash: topology.imageHash });
|
|
54
|
+
}
|
|
55
|
+
else if (isNodeLeaf(topology)) {
|
|
56
|
+
isComplete = false;
|
|
57
|
+
}
|
|
58
|
+
else if (isNestedLeaf(topology)) {
|
|
59
|
+
if (topology.weight) {
|
|
60
|
+
scan(topology.tree);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
scan(isConfig(configuration) ? configuration.topology : configuration);
|
|
65
|
+
return { signers: Array.from(signers), sapientSigners: Array.from(sapientSigners), isComplete };
|
|
66
|
+
}
|
|
67
|
+
export function findSignerLeaf(configuration, address) {
|
|
68
|
+
if (isConfig(configuration)) {
|
|
69
|
+
return findSignerLeaf(configuration.topology, address);
|
|
70
|
+
}
|
|
71
|
+
else if (isNode(configuration)) {
|
|
72
|
+
return findSignerLeaf(configuration[0], address) || findSignerLeaf(configuration[1], address);
|
|
73
|
+
}
|
|
74
|
+
else if (isSignerLeaf(configuration)) {
|
|
75
|
+
if (Address.isEqual(configuration.address, address)) {
|
|
76
|
+
return configuration;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
else if (isSapientSignerLeaf(configuration)) {
|
|
80
|
+
if (Address.isEqual(configuration.address, address)) {
|
|
81
|
+
return configuration;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return undefined;
|
|
85
|
+
}
|
|
86
|
+
export function getWeight(topology, canSign) {
|
|
87
|
+
topology = isRawConfig(topology) || isConfig(topology) ? topology.topology : topology;
|
|
88
|
+
if (isSignedSignerLeaf(topology)) {
|
|
89
|
+
return { weight: topology.weight, maxWeight: topology.weight };
|
|
90
|
+
}
|
|
91
|
+
else if (isSignerLeaf(topology)) {
|
|
92
|
+
return { weight: 0n, maxWeight: canSign(topology) ? topology.weight : 0n };
|
|
93
|
+
}
|
|
94
|
+
else if (isRawSignerLeaf(topology)) {
|
|
95
|
+
return { weight: topology.weight, maxWeight: topology.weight };
|
|
96
|
+
}
|
|
97
|
+
else if (isSignedSapientSignerLeaf(topology)) {
|
|
98
|
+
return { weight: topology.weight, maxWeight: topology.weight };
|
|
99
|
+
}
|
|
100
|
+
else if (isSapientSignerLeaf(topology)) {
|
|
101
|
+
return { weight: 0n, maxWeight: canSign(topology) ? topology.weight : 0n };
|
|
102
|
+
}
|
|
103
|
+
else if (isSubdigestLeaf(topology)) {
|
|
104
|
+
return { weight: 0n, maxWeight: 0n };
|
|
105
|
+
}
|
|
106
|
+
else if (isAnyAddressSubdigestLeaf(topology)) {
|
|
107
|
+
return { weight: 0n, maxWeight: 0n };
|
|
108
|
+
}
|
|
109
|
+
else if (isRawNestedLeaf(topology)) {
|
|
110
|
+
const { weight, maxWeight } = getWeight(topology.tree, canSign);
|
|
111
|
+
return {
|
|
112
|
+
weight: weight >= topology.threshold ? topology.weight : 0n,
|
|
113
|
+
maxWeight: maxWeight >= topology.threshold ? topology.weight : 0n,
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
else if (isNodeLeaf(topology)) {
|
|
117
|
+
return { weight: 0n, maxWeight: 0n };
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
const [left, right] = [getWeight(topology[0], canSign), getWeight(topology[1], canSign)];
|
|
121
|
+
return { weight: left.weight + right.weight, maxWeight: left.maxWeight + right.maxWeight };
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
export function hashConfiguration(topology) {
|
|
125
|
+
if (isConfig(topology)) {
|
|
126
|
+
let root = hashConfiguration(topology.topology);
|
|
127
|
+
root = Hash.keccak256(Bytes.concat(root, Bytes.padLeft(Bytes.fromNumber(topology.threshold), 32)));
|
|
128
|
+
root = Hash.keccak256(Bytes.concat(root, Bytes.padLeft(Bytes.fromNumber(topology.checkpoint), 32)));
|
|
129
|
+
root = Hash.keccak256(Bytes.concat(root, Bytes.padLeft(Bytes.fromHex(topology.checkpointer ?? '0x0000000000000000000000000000000000000000'), 32)));
|
|
130
|
+
return root;
|
|
131
|
+
}
|
|
132
|
+
if (isSignerLeaf(topology)) {
|
|
133
|
+
return Hash.keccak256(Bytes.concat(Bytes.fromString('Sequence signer:\n'), Bytes.fromHex(topology.address), Bytes.padLeft(Bytes.fromNumber(topology.weight), 32)));
|
|
134
|
+
}
|
|
135
|
+
if (isSapientSignerLeaf(topology)) {
|
|
136
|
+
return Hash.keccak256(Bytes.concat(Bytes.fromString('Sequence sapient config:\n'), Bytes.fromHex(topology.address), Bytes.padLeft(Bytes.fromNumber(topology.weight), 32), Bytes.padLeft(Bytes.fromHex(topology.imageHash), 32)));
|
|
137
|
+
}
|
|
138
|
+
if (isSubdigestLeaf(topology)) {
|
|
139
|
+
return Hash.keccak256(Bytes.concat(Bytes.fromString('Sequence static digest:\n'), Bytes.fromHex(topology.digest)));
|
|
140
|
+
}
|
|
141
|
+
if (isAnyAddressSubdigestLeaf(topology)) {
|
|
142
|
+
return Hash.keccak256(Bytes.concat(Bytes.fromString('Sequence any address subdigest:\n'), Bytes.fromHex(topology.digest)));
|
|
143
|
+
}
|
|
144
|
+
if (isNodeLeaf(topology)) {
|
|
145
|
+
return Bytes.fromHex(topology);
|
|
146
|
+
}
|
|
147
|
+
if (isNestedLeaf(topology)) {
|
|
148
|
+
return Hash.keccak256(Bytes.concat(Bytes.fromString('Sequence nested config:\n'), hashConfiguration(topology.tree), Bytes.padLeft(Bytes.fromNumber(topology.threshold), 32), Bytes.padLeft(Bytes.fromNumber(topology.weight), 32)));
|
|
149
|
+
}
|
|
150
|
+
if (isNode(topology)) {
|
|
151
|
+
return Hash.keccak256(Bytes.concat(hashConfiguration(topology[0]), hashConfiguration(topology[1])));
|
|
152
|
+
}
|
|
153
|
+
throw new Error('Invalid topology');
|
|
154
|
+
}
|
|
155
|
+
export function flatLeavesToTopology(leaves) {
|
|
156
|
+
if (leaves.length === 0) {
|
|
157
|
+
throw new Error('Cannot create topology from empty leaves');
|
|
158
|
+
}
|
|
159
|
+
if (leaves.length === 1) {
|
|
160
|
+
return leaves[0];
|
|
161
|
+
}
|
|
162
|
+
if (leaves.length === 2) {
|
|
163
|
+
return [leaves[0], leaves[1]];
|
|
164
|
+
}
|
|
165
|
+
return [
|
|
166
|
+
flatLeavesToTopology(leaves.slice(0, leaves.length / 2)),
|
|
167
|
+
flatLeavesToTopology(leaves.slice(leaves.length / 2)),
|
|
168
|
+
];
|
|
169
|
+
}
|
|
170
|
+
export function configToJson(config) {
|
|
171
|
+
return JSON.stringify({
|
|
172
|
+
threshold: config.threshold.toString(),
|
|
173
|
+
checkpoint: config.checkpoint.toString(),
|
|
174
|
+
topology: encodeTopology(config.topology),
|
|
175
|
+
checkpointer: config.checkpointer,
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
export function configFromJson(json) {
|
|
179
|
+
const parsed = JSON.parse(json);
|
|
180
|
+
return {
|
|
181
|
+
threshold: BigInt(parsed.threshold),
|
|
182
|
+
checkpoint: BigInt(parsed.checkpoint),
|
|
183
|
+
checkpointer: parsed.checkpointer,
|
|
184
|
+
topology: decodeTopology(parsed.topology),
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
function encodeTopology(top) {
|
|
188
|
+
if (isNode(top)) {
|
|
189
|
+
return [encodeTopology(top[0]), encodeTopology(top[1])];
|
|
190
|
+
}
|
|
191
|
+
else if (isSignerLeaf(top)) {
|
|
192
|
+
return {
|
|
193
|
+
type: 'signer',
|
|
194
|
+
address: top.address,
|
|
195
|
+
weight: top.weight.toString(),
|
|
196
|
+
};
|
|
197
|
+
}
|
|
198
|
+
else if (isSapientSignerLeaf(top)) {
|
|
199
|
+
return {
|
|
200
|
+
type: 'sapient-signer',
|
|
201
|
+
address: top.address,
|
|
202
|
+
weight: top.weight.toString(),
|
|
203
|
+
imageHash: top.imageHash,
|
|
204
|
+
};
|
|
205
|
+
}
|
|
206
|
+
else if (isSubdigestLeaf(top)) {
|
|
207
|
+
return {
|
|
208
|
+
type: 'subdigest',
|
|
209
|
+
digest: top.digest,
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
else if (isAnyAddressSubdigestLeaf(top)) {
|
|
213
|
+
return {
|
|
214
|
+
type: 'any-address-subdigest',
|
|
215
|
+
digest: top.digest,
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
else if (isNodeLeaf(top)) {
|
|
219
|
+
return top;
|
|
220
|
+
}
|
|
221
|
+
else if (isNestedLeaf(top)) {
|
|
222
|
+
return {
|
|
223
|
+
type: 'nested',
|
|
224
|
+
tree: encodeTopology(top.tree),
|
|
225
|
+
weight: top.weight.toString(),
|
|
226
|
+
threshold: top.threshold.toString(),
|
|
227
|
+
};
|
|
228
|
+
}
|
|
229
|
+
throw new Error('Invalid topology');
|
|
230
|
+
}
|
|
231
|
+
function decodeTopology(obj) {
|
|
232
|
+
if (Array.isArray(obj)) {
|
|
233
|
+
if (obj.length !== 2) {
|
|
234
|
+
throw new Error('Invalid node structure in JSON');
|
|
235
|
+
}
|
|
236
|
+
return [decodeTopology(obj[0]), decodeTopology(obj[1])];
|
|
237
|
+
}
|
|
238
|
+
if (typeof obj === 'string') {
|
|
239
|
+
return obj;
|
|
240
|
+
}
|
|
241
|
+
switch (obj.type) {
|
|
242
|
+
case 'signer':
|
|
243
|
+
return {
|
|
244
|
+
type: 'signer',
|
|
245
|
+
address: obj.address,
|
|
246
|
+
weight: BigInt(obj.weight),
|
|
247
|
+
};
|
|
248
|
+
case 'sapient-signer':
|
|
249
|
+
return {
|
|
250
|
+
type: 'sapient-signer',
|
|
251
|
+
address: obj.address,
|
|
252
|
+
weight: BigInt(obj.weight),
|
|
253
|
+
imageHash: obj.imageHash,
|
|
254
|
+
};
|
|
255
|
+
case 'subdigest':
|
|
256
|
+
return {
|
|
257
|
+
type: 'subdigest',
|
|
258
|
+
digest: obj.digest,
|
|
259
|
+
};
|
|
260
|
+
case 'any-address-subdigest':
|
|
261
|
+
return {
|
|
262
|
+
type: 'any-address-subdigest',
|
|
263
|
+
digest: obj.digest,
|
|
264
|
+
};
|
|
265
|
+
case 'nested':
|
|
266
|
+
return {
|
|
267
|
+
type: 'nested',
|
|
268
|
+
tree: decodeTopology(obj.tree),
|
|
269
|
+
weight: BigInt(obj.weight),
|
|
270
|
+
threshold: BigInt(obj.threshold),
|
|
271
|
+
};
|
|
272
|
+
default:
|
|
273
|
+
throw new Error('Invalid type in topology JSON');
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
export function normalizeSignerSignature(signature) {
|
|
277
|
+
if (signature instanceof Promise) {
|
|
278
|
+
return { signature };
|
|
279
|
+
}
|
|
280
|
+
else if (typeof signature === 'object' &&
|
|
281
|
+
signature &&
|
|
282
|
+
'signature' in signature &&
|
|
283
|
+
signature.signature instanceof Promise) {
|
|
284
|
+
return signature;
|
|
285
|
+
}
|
|
286
|
+
else {
|
|
287
|
+
return { signature: Promise.resolve(signature) };
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
export function mergeTopology(a, b) {
|
|
291
|
+
if (isNode(a) && isNode(b)) {
|
|
292
|
+
return [mergeTopology(a[0], b[0]), mergeTopology(a[1], b[1])];
|
|
293
|
+
}
|
|
294
|
+
if (isNode(a) && !isNode(b)) {
|
|
295
|
+
if (!isNodeLeaf(b)) {
|
|
296
|
+
throw new Error('Topology mismatch: cannot merge node with non-node that is not a node leaf');
|
|
297
|
+
}
|
|
298
|
+
const hb = hashConfiguration(b);
|
|
299
|
+
if (!Bytes.isEqual(hb, hashConfiguration(a))) {
|
|
300
|
+
throw new Error('Topology mismatch: node hash does not match');
|
|
301
|
+
}
|
|
302
|
+
return a;
|
|
303
|
+
}
|
|
304
|
+
if (!isNode(a) && isNode(b)) {
|
|
305
|
+
if (!isNodeLeaf(a)) {
|
|
306
|
+
throw new Error('Topology mismatch: cannot merge node with non-node that is not a node leaf');
|
|
307
|
+
}
|
|
308
|
+
const ha = hashConfiguration(a);
|
|
309
|
+
if (!Bytes.isEqual(ha, hashConfiguration(b))) {
|
|
310
|
+
throw new Error('Topology mismatch: node hash does not match');
|
|
311
|
+
}
|
|
312
|
+
return b;
|
|
313
|
+
}
|
|
314
|
+
return mergeLeaf(a, b);
|
|
315
|
+
}
|
|
316
|
+
function mergeLeaf(a, b) {
|
|
317
|
+
if (isNodeLeaf(a) && isNodeLeaf(b)) {
|
|
318
|
+
if (!Hex.isEqual(a, b)) {
|
|
319
|
+
throw new Error('Topology mismatch: different node leaves');
|
|
320
|
+
}
|
|
321
|
+
return a;
|
|
322
|
+
}
|
|
323
|
+
if (isNodeLeaf(a) && !isNodeLeaf(b)) {
|
|
324
|
+
const hb = hashConfiguration(b);
|
|
325
|
+
if (!Bytes.isEqual(hb, Bytes.fromHex(a))) {
|
|
326
|
+
throw new Error('Topology mismatch: node leaf hash does not match');
|
|
327
|
+
}
|
|
328
|
+
return b;
|
|
329
|
+
}
|
|
330
|
+
if (!isNodeLeaf(a) && isNodeLeaf(b)) {
|
|
331
|
+
const ha = hashConfiguration(a);
|
|
332
|
+
if (!Bytes.isEqual(ha, Bytes.fromHex(b))) {
|
|
333
|
+
throw new Error('Topology mismatch: node leaf hash does not match');
|
|
334
|
+
}
|
|
335
|
+
return a;
|
|
336
|
+
}
|
|
337
|
+
if (isSignerLeaf(a) && isSignerLeaf(b)) {
|
|
338
|
+
if (a.address !== b.address || a.weight !== b.weight) {
|
|
339
|
+
throw new Error('Topology mismatch: signer fields differ');
|
|
340
|
+
}
|
|
341
|
+
if (!!a.signed !== !!b.signed || !!a.signature !== !!b.signature) {
|
|
342
|
+
throw new Error('Topology mismatch: signer signature fields differ');
|
|
343
|
+
}
|
|
344
|
+
return a;
|
|
345
|
+
}
|
|
346
|
+
if (isSapientSignerLeaf(a) && isSapientSignerLeaf(b)) {
|
|
347
|
+
if (a.address !== b.address || a.weight !== b.weight || a.imageHash !== b.imageHash) {
|
|
348
|
+
throw new Error('Topology mismatch: sapient signer fields differ');
|
|
349
|
+
}
|
|
350
|
+
if (!!a.signed !== !!b.signed || !!a.signature !== !!b.signature) {
|
|
351
|
+
throw new Error('Topology mismatch: sapient signature fields differ');
|
|
352
|
+
}
|
|
353
|
+
return a;
|
|
354
|
+
}
|
|
355
|
+
if (isSubdigestLeaf(a) && isSubdigestLeaf(b)) {
|
|
356
|
+
if (!Bytes.isEqual(Bytes.fromHex(a.digest), Bytes.fromHex(b.digest))) {
|
|
357
|
+
throw new Error('Topology mismatch: subdigest fields differ');
|
|
358
|
+
}
|
|
359
|
+
return a;
|
|
360
|
+
}
|
|
361
|
+
if (isAnyAddressSubdigestLeaf(a) && isAnyAddressSubdigestLeaf(b)) {
|
|
362
|
+
if (!Bytes.isEqual(Bytes.fromHex(a.digest), Bytes.fromHex(b.digest))) {
|
|
363
|
+
throw new Error('Topology mismatch: any-address-subdigest fields differ');
|
|
364
|
+
}
|
|
365
|
+
return a;
|
|
366
|
+
}
|
|
367
|
+
if (isNestedLeaf(a) && isNestedLeaf(b)) {
|
|
368
|
+
if (a.weight !== b.weight || a.threshold !== b.threshold) {
|
|
369
|
+
throw new Error('Topology mismatch: nested leaf fields differ');
|
|
370
|
+
}
|
|
371
|
+
const mergedTree = mergeTopology(a.tree, b.tree);
|
|
372
|
+
return {
|
|
373
|
+
type: 'nested',
|
|
374
|
+
weight: a.weight,
|
|
375
|
+
threshold: a.threshold,
|
|
376
|
+
tree: mergedTree,
|
|
377
|
+
};
|
|
378
|
+
}
|
|
379
|
+
throw new Error('Topology mismatch: incompatible leaf types');
|
|
380
|
+
}
|
|
381
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
import { Address, Hex } from 'ox';
|
|
2
|
+
export declare const DEFAULT_CREATION_CODE: Hex.Hex;
|
|
3
|
+
export declare const DefaultFactory: Address.Address;
|
|
4
|
+
export declare const DefaultStage1: Address.Address;
|
|
5
|
+
export declare const DefaultStage2: Address.Address;
|
|
6
|
+
export declare const DefaultGuest: Address.Address;
|
|
7
|
+
export declare const DefaultSessionManager: Address.Address;
|
|
8
|
+
export declare const IS_VALID_SIGNATURE: {
|
|
9
|
+
readonly name: "isValidSignature";
|
|
10
|
+
readonly type: "function";
|
|
11
|
+
readonly stateMutability: "view";
|
|
12
|
+
readonly inputs: readonly [{
|
|
13
|
+
readonly type: "bytes32";
|
|
14
|
+
readonly name: "_hash";
|
|
15
|
+
}, {
|
|
16
|
+
readonly type: "bytes";
|
|
17
|
+
readonly name: "_signature";
|
|
18
|
+
}];
|
|
19
|
+
readonly outputs: readonly [{
|
|
20
|
+
readonly type: "bytes4";
|
|
21
|
+
readonly name: "magicValue";
|
|
22
|
+
}];
|
|
23
|
+
};
|
|
24
|
+
export declare const DEPLOY: {
|
|
25
|
+
readonly name: "deploy";
|
|
26
|
+
readonly type: "function";
|
|
27
|
+
readonly stateMutability: "payable";
|
|
28
|
+
readonly inputs: readonly [{
|
|
29
|
+
readonly type: "address";
|
|
30
|
+
readonly name: "_mainModule";
|
|
31
|
+
}, {
|
|
32
|
+
readonly type: "bytes32";
|
|
33
|
+
readonly name: "_salt";
|
|
34
|
+
}];
|
|
35
|
+
readonly outputs: readonly [{
|
|
36
|
+
readonly type: "address";
|
|
37
|
+
readonly name: "_contract";
|
|
38
|
+
}];
|
|
39
|
+
};
|
|
40
|
+
export declare const GET_IMPLEMENTATION: {
|
|
41
|
+
readonly name: "getImplementation";
|
|
42
|
+
readonly type: "function";
|
|
43
|
+
readonly stateMutability: "view";
|
|
44
|
+
readonly inputs: readonly [];
|
|
45
|
+
readonly outputs: readonly [{
|
|
46
|
+
readonly type: "address";
|
|
47
|
+
}];
|
|
48
|
+
};
|
|
49
|
+
export declare const IMAGE_HASH: {
|
|
50
|
+
readonly name: "imageHash";
|
|
51
|
+
readonly type: "function";
|
|
52
|
+
readonly stateMutability: "view";
|
|
53
|
+
readonly inputs: readonly [];
|
|
54
|
+
readonly outputs: readonly [{
|
|
55
|
+
readonly type: "bytes32";
|
|
56
|
+
}];
|
|
57
|
+
};
|
|
58
|
+
export declare const READ_NONCE: {
|
|
59
|
+
readonly name: "readNonce";
|
|
60
|
+
readonly type: "function";
|
|
61
|
+
readonly stateMutability: "view";
|
|
62
|
+
readonly inputs: readonly [{
|
|
63
|
+
readonly type: "uint256";
|
|
64
|
+
readonly name: "_space";
|
|
65
|
+
}];
|
|
66
|
+
readonly outputs: readonly [{
|
|
67
|
+
readonly type: "uint256";
|
|
68
|
+
}];
|
|
69
|
+
};
|
|
70
|
+
export declare const EXECUTE: {
|
|
71
|
+
readonly name: "execute";
|
|
72
|
+
readonly type: "function";
|
|
73
|
+
readonly stateMutability: "nonpayable";
|
|
74
|
+
readonly inputs: readonly [{
|
|
75
|
+
readonly type: "bytes";
|
|
76
|
+
readonly name: "_payload";
|
|
77
|
+
}, {
|
|
78
|
+
readonly type: "bytes";
|
|
79
|
+
readonly name: "_signature";
|
|
80
|
+
}];
|
|
81
|
+
readonly outputs: readonly [];
|
|
82
|
+
};
|
|
83
|
+
export declare const UPDATE_IMAGE_HASH: {
|
|
84
|
+
readonly name: "updateImageHash";
|
|
85
|
+
readonly type: "function";
|
|
86
|
+
readonly stateMutability: "nonpayable";
|
|
87
|
+
readonly inputs: readonly [{
|
|
88
|
+
readonly type: "bytes32";
|
|
89
|
+
readonly name: "_imageHash";
|
|
90
|
+
}];
|
|
91
|
+
readonly outputs: readonly [];
|
|
92
|
+
};
|
|
93
|
+
export declare const RECOVER_SAPIENT_SIGNATURE: {
|
|
94
|
+
readonly name: "recoverSapientSignature";
|
|
95
|
+
readonly type: "function";
|
|
96
|
+
readonly stateMutability: "view";
|
|
97
|
+
readonly inputs: readonly [{
|
|
98
|
+
readonly type: "tuple";
|
|
99
|
+
readonly components: readonly [{
|
|
100
|
+
readonly type: "uint8";
|
|
101
|
+
readonly name: "kind";
|
|
102
|
+
}, {
|
|
103
|
+
readonly type: "bool";
|
|
104
|
+
readonly name: "noChainId";
|
|
105
|
+
}, {
|
|
106
|
+
readonly type: "tuple[]";
|
|
107
|
+
readonly components: readonly [{
|
|
108
|
+
readonly type: "address";
|
|
109
|
+
readonly name: "to";
|
|
110
|
+
}, {
|
|
111
|
+
readonly type: "uint256";
|
|
112
|
+
readonly name: "value";
|
|
113
|
+
}, {
|
|
114
|
+
readonly type: "bytes";
|
|
115
|
+
readonly name: "data";
|
|
116
|
+
}, {
|
|
117
|
+
readonly type: "uint256";
|
|
118
|
+
readonly name: "gasLimit";
|
|
119
|
+
}, {
|
|
120
|
+
readonly type: "bool";
|
|
121
|
+
readonly name: "delegateCall";
|
|
122
|
+
}, {
|
|
123
|
+
readonly type: "bool";
|
|
124
|
+
readonly name: "onlyFallback";
|
|
125
|
+
}, {
|
|
126
|
+
readonly type: "uint256";
|
|
127
|
+
readonly name: "behaviorOnError";
|
|
128
|
+
}];
|
|
129
|
+
readonly name: "calls";
|
|
130
|
+
}, {
|
|
131
|
+
readonly type: "uint256";
|
|
132
|
+
readonly name: "space";
|
|
133
|
+
}, {
|
|
134
|
+
readonly type: "uint256";
|
|
135
|
+
readonly name: "nonce";
|
|
136
|
+
}, {
|
|
137
|
+
readonly type: "bytes";
|
|
138
|
+
readonly name: "message";
|
|
139
|
+
}, {
|
|
140
|
+
readonly type: "bytes32";
|
|
141
|
+
readonly name: "imageHash";
|
|
142
|
+
}, {
|
|
143
|
+
readonly type: "bytes32";
|
|
144
|
+
readonly name: "digest";
|
|
145
|
+
}, {
|
|
146
|
+
readonly type: "address[]";
|
|
147
|
+
readonly name: "parentWallets";
|
|
148
|
+
}];
|
|
149
|
+
readonly name: "_payload";
|
|
150
|
+
}, {
|
|
151
|
+
readonly type: "bytes";
|
|
152
|
+
readonly name: "_signature";
|
|
153
|
+
}];
|
|
154
|
+
readonly outputs: readonly [{
|
|
155
|
+
readonly type: "bytes32";
|
|
156
|
+
}];
|
|
157
|
+
};
|
|
158
|
+
export declare const RECOVER_SAPIENT_SIGNATURE_COMPACT: {
|
|
159
|
+
readonly name: "recoverSapientSignatureCompact";
|
|
160
|
+
readonly type: "function";
|
|
161
|
+
readonly stateMutability: "view";
|
|
162
|
+
readonly inputs: readonly [{
|
|
163
|
+
readonly type: "bytes32";
|
|
164
|
+
readonly name: "_digest";
|
|
165
|
+
}, {
|
|
166
|
+
readonly type: "bytes";
|
|
167
|
+
readonly name: "_signature";
|
|
168
|
+
}];
|
|
169
|
+
readonly outputs: readonly [{
|
|
170
|
+
readonly type: "bytes32";
|
|
171
|
+
}];
|
|
172
|
+
};
|
|
173
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,OAAO,EAAE,GAAG,EAAE,MAAM,IAAI,CAAA;AAEtC,eAAO,MAAM,qBAAqB,EAAE,GAAG,CAAC,GACsD,CAAA;AAE9F,eAAO,MAAM,cAAc,EAAE,OAAO,CAAC,OAAsD,CAAA;AAC3F,eAAO,MAAM,aAAa,EAAE,OAAO,CAAC,OAAsD,CAAA;AAC1F,eAAO,MAAM,aAAa,EAAE,OAAO,CAAC,OAAsD,CAAA;AAC1F,eAAO,MAAM,YAAY,EAAE,OAAO,CAAC,OAAsD,CAAA;AACzF,eAAO,MAAM,qBAAqB,EAAE,OAAO,CAAC,OAAsD,CAAA;AAGlG,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;CAE1B,CAAA;AAGL,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;CAEd,CAAA;AAGL,eAAO,MAAM,kBAAkB;;;;;;;;CAAgF,CAAA;AAG/G,eAAO,MAAM,UAAU;;;;;;;;CAAwE,CAAA;AAC/F,eAAO,MAAM,UAAU;;;;;;;;;;;CAAoF,CAAA;AAC3G,eAAO,MAAM,OAAO;;;;;;;;;;;;CAAiG,CAAA;AACrH,eAAO,MAAM,iBAAiB;;;;;;;;;CAAyE,CAAA;AAGvG,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAEjC,CAAA;AAGL,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;CAEzC,CAAA"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Abi } from 'ox';
|
|
2
|
+
export const DEFAULT_CREATION_CODE = '0x603e600e3d39601e805130553df33d3d34601c57363d3d373d363d30545af43d82803e903d91601c57fd5bf3';
|
|
3
|
+
export const DefaultFactory = '0xe068ec288d8b4Aaf7F7FC028Ce0797a7a353EF2d';
|
|
4
|
+
export const DefaultStage1 = '0x302608CcdCc540761A0ec89C9d8Fa195dc8049C6';
|
|
5
|
+
export const DefaultStage2 = '0x80cF586AFaCb3Cae77d84aFEBcC92382eDCF3A02';
|
|
6
|
+
export const DefaultGuest = '0x75e19AA6241D84C290658131857824B4eeF10dfF';
|
|
7
|
+
export const DefaultSessionManager = '0x81Fa4b986f958CB02A3A6c10aa38056dCd701941';
|
|
8
|
+
// ERC1271
|
|
9
|
+
export const IS_VALID_SIGNATURE = Abi.from([
|
|
10
|
+
'function isValidSignature(bytes32 _hash, bytes memory _signature) public view returns (bytes4 magicValue)',
|
|
11
|
+
])[0];
|
|
12
|
+
// Factory
|
|
13
|
+
export const DEPLOY = Abi.from([
|
|
14
|
+
'function deploy(address _mainModule, bytes32 _salt) public payable returns (address _contract)',
|
|
15
|
+
])[0];
|
|
16
|
+
// Stage1Module
|
|
17
|
+
export const GET_IMPLEMENTATION = Abi.from(['function getImplementation() external view returns (address)'])[0];
|
|
18
|
+
// Stage2Module
|
|
19
|
+
export const IMAGE_HASH = Abi.from(['function imageHash() external view returns (bytes32)'])[0];
|
|
20
|
+
export const READ_NONCE = Abi.from(['function readNonce(uint256 _space) public view returns (uint256)'])[0];
|
|
21
|
+
export const EXECUTE = Abi.from(['function execute(bytes calldata _payload, bytes calldata _signature) external'])[0];
|
|
22
|
+
export const UPDATE_IMAGE_HASH = Abi.from(['function updateImageHash(bytes32 _imageHash) external'])[0];
|
|
23
|
+
// Sapient
|
|
24
|
+
export const RECOVER_SAPIENT_SIGNATURE = Abi.from([
|
|
25
|
+
'function recoverSapientSignature((uint8 kind,bool noChainId,(address to,uint256 value,bytes data,uint256 gasLimit,bool delegateCall,bool onlyFallback,uint256 behaviorOnError)[] calls,uint256 space,uint256 nonce,bytes message,bytes32 imageHash,bytes32 digest,address[] parentWallets) calldata _payload, bytes calldata _signature) external view returns (bytes32)',
|
|
26
|
+
])[0];
|
|
27
|
+
// SapientCompact
|
|
28
|
+
export const RECOVER_SAPIENT_SIGNATURE_COMPACT = Abi.from([
|
|
29
|
+
'function recoverSapientSignatureCompact(bytes32 _digest, bytes calldata _signature) external view returns (bytes32)',
|
|
30
|
+
])[0];
|
|
31
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAgB,MAAM,IAAI,CAAA;AAEtC,MAAM,CAAC,MAAM,qBAAqB,GAChC,4FAA4F,CAAA;AAE9F,MAAM,CAAC,MAAM,cAAc,GAAoB,4CAA4C,CAAA;AAC3F,MAAM,CAAC,MAAM,aAAa,GAAoB,4CAA4C,CAAA;AAC1F,MAAM,CAAC,MAAM,aAAa,GAAoB,4CAA4C,CAAA;AAC1F,MAAM,CAAC,MAAM,YAAY,GAAoB,4CAA4C,CAAA;AACzF,MAAM,CAAC,MAAM,qBAAqB,GAAoB,4CAA4C,CAAA;AAElG,UAAU;AACV,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAC,IAAI,CAAC;IACzC,2GAA2G;CAC5G,CAAC,CAAC,CAAC,CAAC,CAAA;AAEL,UAAU;AACV,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC;IAC7B,gGAAgG;CACjG,CAAC,CAAC,CAAC,CAAC,CAAA;AAEL,eAAe;AACf,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,8DAA8D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAE/G,eAAe;AACf,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,sDAAsD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAC/F,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,kEAAkE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAC3G,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,+EAA+E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACrH,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,uDAAuD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAEvG,UAAU;AACV,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,CAAC,IAAI,CAAC;IAChD,0WAA0W;CAC3W,CAAC,CAAC,CAAC,CAAC,CAAA;AAEL,iBAAiB;AACjB,MAAM,CAAC,MAAM,iCAAiC,GAAG,GAAG,CAAC,IAAI,CAAC;IACxD,qHAAqH;CACtH,CAAC,CAAC,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,IAAI,CAAA;AAGjC,MAAM,MAAM,OAAO,GAAG;IACpB,OAAO,EAAE,OAAO,CAAC,OAAO,CAAA;IACxB,MAAM,EAAE,OAAO,CAAC,OAAO,CAAA;IACvB,MAAM,EAAE,OAAO,CAAC,OAAO,CAAA;IACvB,YAAY,EAAE,GAAG,CAAC,GAAG,CAAA;CACtB,CAAA;AAED,eAAO,MAAM,IAAI,EAAE,OAKlB,CAAA"}
|
package/dist/context.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { DEFAULT_CREATION_CODE, DefaultFactory, DefaultStage1, DefaultStage2 } from './constants.js';
|
|
2
|
+
export const Dev1 = {
|
|
3
|
+
factory: DefaultFactory,
|
|
4
|
+
stage1: DefaultStage1,
|
|
5
|
+
stage2: DefaultStage2,
|
|
6
|
+
creationCode: DEFAULT_CREATION_CODE,
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AASpG,MAAM,CAAC,MAAM,IAAI,GAAY;IAC3B,OAAO,EAAE,cAAc;IACvB,MAAM,EAAE,aAAa;IACrB,MAAM,EAAE,aAAa;IACrB,YAAY,EAAE,qBAAqB;CACpC,CAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Address, Bytes, Hex, Provider } from 'ox';
|
|
2
|
+
import { Context } from './context.js';
|
|
3
|
+
export declare function deploy<T extends Bytes.Bytes | Hex.Hex>(deployHash: T, context: Context): {
|
|
4
|
+
to: Address.Address;
|
|
5
|
+
data: T;
|
|
6
|
+
};
|
|
7
|
+
export declare function wrap<T extends Bytes.Bytes | Hex.Hex>(signature: T, { to, data }: {
|
|
8
|
+
to: Address.Address;
|
|
9
|
+
data: Bytes.Bytes | Hex.Hex;
|
|
10
|
+
}): T;
|
|
11
|
+
export declare function decode<T extends Bytes.Bytes | Hex.Hex>(signature: T): {
|
|
12
|
+
signature: T;
|
|
13
|
+
erc6492?: {
|
|
14
|
+
to: Address.Address;
|
|
15
|
+
data: T;
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
export declare function isValid(address: Address.Address, messageHash: Bytes.Bytes | Hex.Hex, encodedSignature: Bytes.Bytes | Hex.Hex, provider: Provider.Provider): Promise<boolean>;
|
|
19
|
+
//# sourceMappingURL=erc-6492.d.ts.map
|