@0xsequence/wallet-primitives 3.0.0-beta.18 → 3.0.0-beta.19
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 +1 -1
- package/.turbo/turbo-lint.log +4 -0
- package/.turbo/turbo-typecheck.log +4 -0
- package/CHANGELOG.md +6 -0
- package/dist/attestation.d.ts +15 -3
- package/dist/attestation.d.ts.map +1 -1
- package/dist/attestation.js +1 -1
- package/dist/attestation.js.map +1 -1
- package/dist/config.d.ts +40 -10
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +7 -7
- package/dist/config.js.map +1 -1
- package/dist/extensions/recovery.d.ts +4 -4
- package/dist/extensions/recovery.d.ts.map +1 -1
- package/dist/extensions/recovery.js +1 -1
- package/dist/extensions/recovery.js.map +1 -1
- package/dist/payload.d.ts.map +1 -1
- package/dist/payload.js.map +1 -1
- package/dist/signature.d.ts.map +1 -1
- package/dist/signature.js +8 -6
- package/dist/signature.js.map +1 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +1 -1
- package/dist/utils.js.map +1 -1
- package/eslint.config.js +12 -0
- package/package.json +6 -4
- package/src/attestation.ts +16 -4
- package/src/config.ts +62 -20
- package/src/extensions/recovery.ts +6 -7
- package/src/payload.ts +1 -1
- package/src/signature.ts +10 -8
- package/src/utils.ts +2 -2
- package/test/address.test.ts +9 -9
- package/test/attestation.test.ts +1 -1
- package/test/config.test.ts +1 -1
- package/test/passkeys.test.ts +3 -10
- package/test/payload.test.ts +2 -7
- package/test/precondition.test.ts +6 -8
- package/test/signature.test.ts +11 -17
- package/test/utils.test.ts +4 -4
- package/eslint.config.mjs +0 -4
package/dist/signature.js
CHANGED
|
@@ -434,7 +434,7 @@ export function fillLeaves(topology, signatureFor) {
|
|
|
434
434
|
}
|
|
435
435
|
export function encodeChainedSignature(signatures) {
|
|
436
436
|
let flag = 0x01;
|
|
437
|
-
|
|
437
|
+
const sigForCheckpointer = signatures[signatures.length - 1];
|
|
438
438
|
if (sigForCheckpointer?.configuration.checkpointer) {
|
|
439
439
|
flag |= 0x40;
|
|
440
440
|
}
|
|
@@ -509,7 +509,7 @@ export function encodeTopology(topology, options = {}) {
|
|
|
509
509
|
const encoded1 = encodeTopology(topology[1], options);
|
|
510
510
|
const isBranching = isNode(topology[1]) || isRawNode(topology[1]);
|
|
511
511
|
if (isBranching) {
|
|
512
|
-
|
|
512
|
+
const encoded1Size = minBytesFor(BigInt(encoded1.length));
|
|
513
513
|
if (encoded1Size > 15) {
|
|
514
514
|
throw new Error('Branch too large');
|
|
515
515
|
}
|
|
@@ -571,7 +571,7 @@ export function encodeTopology(topology, options = {}) {
|
|
|
571
571
|
}
|
|
572
572
|
else if (topology.signature.type === 'erc1271') {
|
|
573
573
|
let flag = FLAG_SIGNATURE_ERC1271 << 4;
|
|
574
|
-
|
|
574
|
+
const bytesForSignatureSize = minBytesFor(BigInt(topology.signature.data.length));
|
|
575
575
|
if (bytesForSignatureSize > 3) {
|
|
576
576
|
throw new Error('Signature too large');
|
|
577
577
|
}
|
|
@@ -591,7 +591,7 @@ export function encodeTopology(topology, options = {}) {
|
|
|
591
591
|
else if (topology.signature.type === 'sapient' || topology.signature.type === 'sapient_compact') {
|
|
592
592
|
let flag = (topology.signature.type === 'sapient' ? FLAG_SIGNATURE_SAPIENT : FLAG_SIGNATURE_SAPIENT_COMPACT) << 4;
|
|
593
593
|
const signatureBytes = Bytes.fromHex(topology.signature.data);
|
|
594
|
-
|
|
594
|
+
const bytesForSignatureSize = minBytesFor(BigInt(signatureBytes.length));
|
|
595
595
|
if (bytesForSignatureSize > 3) {
|
|
596
596
|
throw new Error('Signature too large');
|
|
597
597
|
}
|
|
@@ -908,7 +908,7 @@ async function recoverTopology(topology, wallet, chainId, payload, options) {
|
|
|
908
908
|
},
|
|
909
909
|
weight: topology.weight,
|
|
910
910
|
};
|
|
911
|
-
default:
|
|
911
|
+
default: {
|
|
912
912
|
const provider = 'provider' in options.provider ? options.provider.provider : options.provider;
|
|
913
913
|
const block = 'block' in options.provider ? options.provider.block : undefined;
|
|
914
914
|
const call = {
|
|
@@ -943,6 +943,7 @@ async function recoverTopology(topology, wallet, chainId, payload, options) {
|
|
|
943
943
|
};
|
|
944
944
|
}
|
|
945
945
|
}
|
|
946
|
+
}
|
|
946
947
|
}
|
|
947
948
|
case 'sapient':
|
|
948
949
|
case 'sapient_compact':
|
|
@@ -951,7 +952,7 @@ async function recoverTopology(topology, wallet, chainId, payload, options) {
|
|
|
951
952
|
case 'assume-invalid':
|
|
952
953
|
case 'assume-valid':
|
|
953
954
|
throw new Error(`unable to validate sapient signer ${topology.signature.address} signature`);
|
|
954
|
-
default:
|
|
955
|
+
default: {
|
|
955
956
|
const provider = 'provider' in options.provider ? options.provider.provider : options.provider;
|
|
956
957
|
const block = 'block' in options.provider ? options.provider.block : undefined;
|
|
957
958
|
const call = {
|
|
@@ -981,6 +982,7 @@ async function recoverTopology(topology, wallet, chainId, payload, options) {
|
|
|
981
982
|
},
|
|
982
983
|
weight: topology.weight,
|
|
983
984
|
};
|
|
985
|
+
}
|
|
984
986
|
}
|
|
985
987
|
}
|
|
986
988
|
}
|
package/dist/signature.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signature.js","sourceRoot":"","sources":["../src/signature.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"signature.js","sourceRoot":"","sources":["../src/signature.ts"],"names":[],"mappings":"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"}
|
package/dist/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,IAAI,CAAA;AAE1B,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE/C;AAGD,wBAAgB,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,KAAK,CAAC,KAAK,CAQjG;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAQrF;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,GAAG,GAChD,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,GAAG,CAiBlC;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,GAAG,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,GAAG,CAmBpH;AAED;;;;;;;GAOG;AACH,wBAAgB,MAAM,CACpB,GAAG,EAAE,GAAG,EACR,QAAQ,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC,EACrF,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GACtB,MAAM,CAGR;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,GAAG,GAAG,GAAG,CAGjG"}
|
package/dist/utils.js
CHANGED
|
@@ -5,7 +5,7 @@ export function minBytesFor(val) {
|
|
|
5
5
|
// ERC-2098
|
|
6
6
|
export function packRSY({ r, s, yParity }) {
|
|
7
7
|
const rBytes = Bytes.padLeft(Bytes.fromNumber(r), 32);
|
|
8
|
-
|
|
8
|
+
const sBytes = Bytes.padLeft(Bytes.fromNumber(s), 32);
|
|
9
9
|
if (yParity % 2 === 1) {
|
|
10
10
|
sBytes[0] |= 0x80;
|
|
11
11
|
}
|
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,IAAI,CAAA;AAE1B,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;AAC/C,CAAC;AAED,WAAW;AACX,MAAM,UAAU,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAA6C;IAClF,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IACrD,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IACrD,IAAI,OAAO,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,CAAC,CAAC,CAAE,IAAI,IAAI,CAAA;IACpB,CAAC;IAED,OAAO,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AACrC,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,GAAgB;IACxC,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;IAC1C,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IACrC,MAAM,OAAO,GAAG,CAAC,WAAW,CAAC,CAAC,CAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACtD,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC,CAAA;IAC1C,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAE,GAAG,IAAI,CAAA;IAC7B,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IAChC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,CAAA;AAC1B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,cAAiD;IAEjD,OAAO,CAAC,GAAW,EAAE,KAAU,EAAE,EAAE;QACjC,iCAAiC;QACjC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO;gBACL,QAAQ,EAAE,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;aACpC,CAAA;QACH,CAAC;QACD,+BAA+B;QAC/B,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;YAChC,OAAO;gBACL,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;aAChC,CAAA;QACH,CAAC;QACD,yCAAyC;QACzC,OAAO,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;IAC5D,CAAC,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,aAAgD;IAChF,OAAO,CAAC,GAAW,EAAE,KAAU,EAAE,EAAE;QACjC,2BAA2B;QAC3B,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,UAAU,IAAI,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjG,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAA;YAC1B,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAA;YACpB,CAAC;QACH,CAAC;QACD,+BAA+B;QAC/B,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,cAAc,IAAI,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrG,MAAM,GAAG,GAAG,KAAK,CAAC,YAAY,CAAA;YAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvB,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,CAAA;YAC5B,CAAC;QACH,CAAC;QACD,wCAAwC;QACxC,OAAO,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;IAC1D,CAAC,CAAA;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,MAAM,CACpB,GAAQ,EACR,QAAqF,EACrF,KAAuB;IAEvB,MAAM,aAAa,GAAG,QAAQ,YAAY,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAA;IACxG,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,CAAC,CAAA;AAClD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAY,EAAE,OAAqD;IAC1F,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAA;IAC/E,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,CAAA;AACvC,CAAC"}
|
package/eslint.config.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { config as baseConfig } from '@repo/eslint-config/base'
|
|
2
|
+
|
|
3
|
+
/** @type {import("eslint").Linter.Config} */
|
|
4
|
+
export default [
|
|
5
|
+
...baseConfig,
|
|
6
|
+
{
|
|
7
|
+
// files: ['**/*.{test,spec}.ts'],
|
|
8
|
+
rules: {
|
|
9
|
+
'@typescript-eslint/no-explicit-any': 'off',
|
|
10
|
+
},
|
|
11
|
+
},
|
|
12
|
+
]
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@0xsequence/wallet-primitives",
|
|
3
|
-
"version": "3.0.0-beta.
|
|
3
|
+
"version": "3.0.0-beta.19",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"publishConfig": {
|
|
@@ -14,9 +14,10 @@
|
|
|
14
14
|
}
|
|
15
15
|
},
|
|
16
16
|
"devDependencies": {
|
|
17
|
-
"@vitest/coverage-v8": "^4.0.
|
|
17
|
+
"@vitest/coverage-v8": "^4.0.18",
|
|
18
18
|
"typescript": "^5.9.3",
|
|
19
|
-
"vitest": "^4.0.
|
|
19
|
+
"vitest": "^4.0.18",
|
|
20
|
+
"@repo/eslint-config": "^0.0.1-beta.1",
|
|
20
21
|
"@repo/typescript-config": "^0.0.1-beta.1"
|
|
21
22
|
},
|
|
22
23
|
"dependencies": {
|
|
@@ -28,6 +29,7 @@
|
|
|
28
29
|
"test": "vitest run",
|
|
29
30
|
"test:coverage": "vitest run --coverage",
|
|
30
31
|
"typecheck": "tsc --noEmit",
|
|
31
|
-
"clean": "rimraf dist"
|
|
32
|
+
"clean": "rimraf dist",
|
|
33
|
+
"lint": "eslint . --max-warnings 0"
|
|
32
34
|
}
|
|
33
35
|
}
|
package/src/attestation.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Address, Bytes, Hash } from 'ox'
|
|
1
|
+
import { Address, Bytes, Hash, Hex } from 'ox'
|
|
2
2
|
|
|
3
3
|
export type Attestation = {
|
|
4
4
|
approvedSigner: Address.Address
|
|
@@ -14,6 +14,18 @@ export type AuthData = {
|
|
|
14
14
|
issuedAt: bigint // uint64
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
+
type EncodedAttestation = {
|
|
18
|
+
approvedSigner: Address.Address
|
|
19
|
+
identityType: Hex.Hex
|
|
20
|
+
issuerHash: Hex.Hex
|
|
21
|
+
audienceHash: Hex.Hex
|
|
22
|
+
applicationData: Hex.Hex
|
|
23
|
+
authData: {
|
|
24
|
+
redirectUrl: string
|
|
25
|
+
issuedAt: string
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
17
29
|
// Encoding and decoding
|
|
18
30
|
|
|
19
31
|
export function encode(attestation: Attestation): Bytes.Bytes {
|
|
@@ -76,9 +88,9 @@ export function toJson(attestation: Attestation, indent?: number): string {
|
|
|
76
88
|
return JSON.stringify(encodeForJson(attestation), null, indent)
|
|
77
89
|
}
|
|
78
90
|
|
|
79
|
-
export function encodeForJson(attestation: Attestation):
|
|
91
|
+
export function encodeForJson(attestation: Attestation): EncodedAttestation {
|
|
80
92
|
return {
|
|
81
|
-
approvedSigner: attestation.approvedSigner
|
|
93
|
+
approvedSigner: attestation.approvedSigner,
|
|
82
94
|
identityType: Bytes.toHex(attestation.identityType),
|
|
83
95
|
issuerHash: Bytes.toHex(attestation.issuerHash),
|
|
84
96
|
audienceHash: Bytes.toHex(attestation.audienceHash),
|
|
@@ -94,7 +106,7 @@ export function fromJson(json: string): Attestation {
|
|
|
94
106
|
return fromParsed(JSON.parse(json))
|
|
95
107
|
}
|
|
96
108
|
|
|
97
|
-
export function fromParsed(parsed:
|
|
109
|
+
export function fromParsed(parsed: EncodedAttestation): Attestation {
|
|
98
110
|
return {
|
|
99
111
|
approvedSigner: Address.from(parsed.approvedSigner),
|
|
100
112
|
identityType: Bytes.fromHex(parsed.identityType),
|
package/src/config.ts
CHANGED
|
@@ -2,7 +2,6 @@ import { Address, Bytes, Hash, Hex } from 'ox'
|
|
|
2
2
|
import {
|
|
3
3
|
isRawConfig,
|
|
4
4
|
isRawNestedLeaf,
|
|
5
|
-
isRawNode,
|
|
6
5
|
isRawSignerLeaf,
|
|
7
6
|
isSignedSapientSignerLeaf,
|
|
8
7
|
isSignedSignerLeaf,
|
|
@@ -55,6 +54,49 @@ export type Leaf = SignerLeaf | SapientSignerLeaf | SubdigestLeaf | AnyAddressSu
|
|
|
55
54
|
|
|
56
55
|
export type Topology = Node | Leaf
|
|
57
56
|
|
|
57
|
+
/** Encoded topology types for JSON serialization */
|
|
58
|
+
type EncodedSignerLeaf = {
|
|
59
|
+
type: 'signer'
|
|
60
|
+
address: Address.Address
|
|
61
|
+
weight: string
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
type EncodedSapientSignerLeaf = {
|
|
65
|
+
type: 'sapient-signer'
|
|
66
|
+
address: Address.Address
|
|
67
|
+
weight: string
|
|
68
|
+
imageHash: Hex.Hex
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
type EncodedSubdigestLeaf = {
|
|
72
|
+
type: 'subdigest'
|
|
73
|
+
digest: Hex.Hex
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
type EncodedAnyAddressSubdigestLeaf = {
|
|
77
|
+
type: 'any-address-subdigest'
|
|
78
|
+
digest: Hex.Hex
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
type EncodedNestedLeaf = {
|
|
82
|
+
type: 'nested'
|
|
83
|
+
tree: EncodedTopology
|
|
84
|
+
weight: string
|
|
85
|
+
threshold: string
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
type EncodedNodeLeaf = Hex.Hex
|
|
89
|
+
|
|
90
|
+
export type EncodedLeaf =
|
|
91
|
+
| EncodedSignerLeaf
|
|
92
|
+
| EncodedSapientSignerLeaf
|
|
93
|
+
| EncodedSubdigestLeaf
|
|
94
|
+
| EncodedAnyAddressSubdigestLeaf
|
|
95
|
+
| EncodedNestedLeaf
|
|
96
|
+
| EncodedNodeLeaf
|
|
97
|
+
export type EncodedNode = [EncodedTopology, EncodedTopology]
|
|
98
|
+
export type EncodedTopology = EncodedNode | EncodedLeaf
|
|
99
|
+
|
|
58
100
|
export type Config = {
|
|
59
101
|
threshold: bigint
|
|
60
102
|
checkpoint: bigint
|
|
@@ -62,39 +104,39 @@ export type Config = {
|
|
|
62
104
|
checkpointer?: Address.Address
|
|
63
105
|
}
|
|
64
106
|
|
|
65
|
-
export function isSignerLeaf(cand:
|
|
66
|
-
return typeof cand === 'object' && cand !== null && cand.type === 'signer'
|
|
107
|
+
export function isSignerLeaf(cand: unknown): cand is SignerLeaf {
|
|
108
|
+
return typeof cand === 'object' && cand !== null && 'type' in cand && cand.type === 'signer'
|
|
67
109
|
}
|
|
68
110
|
|
|
69
|
-
export function isSapientSignerLeaf(cand:
|
|
70
|
-
return typeof cand === 'object' && cand !== null && cand.type === 'sapient-signer'
|
|
111
|
+
export function isSapientSignerLeaf(cand: unknown): cand is SapientSignerLeaf {
|
|
112
|
+
return typeof cand === 'object' && cand !== null && 'type' in cand && cand.type === 'sapient-signer'
|
|
71
113
|
}
|
|
72
114
|
|
|
73
|
-
export function isSubdigestLeaf(cand:
|
|
74
|
-
return typeof cand === 'object' && cand !== null && cand.type === 'subdigest'
|
|
115
|
+
export function isSubdigestLeaf(cand: unknown): cand is SubdigestLeaf {
|
|
116
|
+
return typeof cand === 'object' && cand !== null && 'type' in cand && cand.type === 'subdigest'
|
|
75
117
|
}
|
|
76
118
|
|
|
77
|
-
export function isAnyAddressSubdigestLeaf(cand:
|
|
78
|
-
return typeof cand === 'object' && cand !== null && cand.type === 'any-address-subdigest'
|
|
119
|
+
export function isAnyAddressSubdigestLeaf(cand: unknown): cand is AnyAddressSubdigestLeaf {
|
|
120
|
+
return typeof cand === 'object' && cand !== null && 'type' in cand && cand.type === 'any-address-subdigest'
|
|
79
121
|
}
|
|
80
122
|
|
|
81
|
-
export function isNodeLeaf(cand:
|
|
82
|
-
return Hex.validate(cand) && cand.length === 66
|
|
123
|
+
export function isNodeLeaf(cand: unknown): cand is NodeLeaf {
|
|
124
|
+
return typeof cand === 'string' && Hex.validate(cand) && cand.length === 66
|
|
83
125
|
}
|
|
84
126
|
|
|
85
|
-
export function isNestedLeaf(cand:
|
|
86
|
-
return typeof cand === 'object' && cand !== null && cand.type === 'nested'
|
|
127
|
+
export function isNestedLeaf(cand: unknown): cand is NestedLeaf {
|
|
128
|
+
return typeof cand === 'object' && cand !== null && 'type' in cand && cand.type === 'nested'
|
|
87
129
|
}
|
|
88
130
|
|
|
89
|
-
export function isNode(cand:
|
|
131
|
+
export function isNode(cand: unknown): cand is Node {
|
|
90
132
|
return Array.isArray(cand) && cand.length === 2 && isTopology(cand[0]) && isTopology(cand[1])
|
|
91
133
|
}
|
|
92
134
|
|
|
93
|
-
export function isConfig(cand:
|
|
94
|
-
return typeof cand === 'object' && 'threshold' in cand && 'checkpoint' in cand && 'topology' in cand
|
|
135
|
+
export function isConfig(cand: unknown): cand is Config {
|
|
136
|
+
return typeof cand === 'object' && cand !== null && 'threshold' in cand && 'checkpoint' in cand && 'topology' in cand
|
|
95
137
|
}
|
|
96
138
|
|
|
97
|
-
export function isLeaf(cand:
|
|
139
|
+
export function isLeaf(cand: unknown): cand is Leaf {
|
|
98
140
|
return (
|
|
99
141
|
isSignerLeaf(cand) ||
|
|
100
142
|
isSapientSignerLeaf(cand) ||
|
|
@@ -105,7 +147,7 @@ export function isLeaf(cand: Topology): cand is Leaf {
|
|
|
105
147
|
)
|
|
106
148
|
}
|
|
107
149
|
|
|
108
|
-
export function isTopology(cand:
|
|
150
|
+
export function isTopology(cand: unknown): cand is Topology {
|
|
109
151
|
return isNode(cand) || isLeaf(cand)
|
|
110
152
|
}
|
|
111
153
|
|
|
@@ -310,7 +352,7 @@ export function configFromJson(json: string): Config {
|
|
|
310
352
|
}
|
|
311
353
|
}
|
|
312
354
|
|
|
313
|
-
function encodeTopology(top: Topology):
|
|
355
|
+
function encodeTopology(top: Topology): EncodedTopology {
|
|
314
356
|
if (isNode(top)) {
|
|
315
357
|
return [encodeTopology(top[0]), encodeTopology(top[1])]
|
|
316
358
|
} else if (isSignerLeaf(top)) {
|
|
@@ -350,7 +392,7 @@ function encodeTopology(top: Topology): any {
|
|
|
350
392
|
throw new Error('Invalid topology')
|
|
351
393
|
}
|
|
352
394
|
|
|
353
|
-
function decodeTopology(obj:
|
|
395
|
+
function decodeTopology(obj: EncodedTopology): Topology {
|
|
354
396
|
if (Array.isArray(obj)) {
|
|
355
397
|
if (obj.length !== 2) {
|
|
356
398
|
throw new Error('Invalid node structure in JSON')
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Abi, AbiFunction, Address, Bytes, Hex, Provider } from 'ox'
|
|
2
2
|
import * as GenericTree from '../generic-tree.js'
|
|
3
3
|
import { Signature } from '../index.js'
|
|
4
|
-
import * as Network from '../network.js'
|
|
5
4
|
import * as Payload from '../payload.js'
|
|
6
5
|
import { packRSY } from '../utils.js'
|
|
7
6
|
|
|
@@ -56,21 +55,21 @@ export type Tree = Branch | GenericTree.Node | RecoveryLeaf
|
|
|
56
55
|
/**
|
|
57
56
|
* Type guard to check if a value is a RecoveryLeaf
|
|
58
57
|
*/
|
|
59
|
-
export function isRecoveryLeaf(cand:
|
|
60
|
-
return typeof cand === 'object' && cand !== null && cand.type === 'leaf'
|
|
58
|
+
export function isRecoveryLeaf(cand: unknown): cand is RecoveryLeaf {
|
|
59
|
+
return typeof cand === 'object' && cand !== null && 'type' in cand && cand.type === 'leaf'
|
|
61
60
|
}
|
|
62
61
|
|
|
63
62
|
/**
|
|
64
63
|
* Type guard to check if a value is a Node (pair of subtrees)
|
|
65
64
|
*/
|
|
66
|
-
export function isBranch(cand:
|
|
65
|
+
export function isBranch(cand: unknown): cand is Branch {
|
|
67
66
|
return Array.isArray(cand) && cand.length === 2 && isTree(cand[0]) && isTree(cand[1])
|
|
68
67
|
}
|
|
69
68
|
|
|
70
69
|
/**
|
|
71
70
|
* Type guard to check if a value is a Topology
|
|
72
71
|
*/
|
|
73
|
-
export function isTree(cand:
|
|
72
|
+
export function isTree(cand: unknown): cand is Tree {
|
|
74
73
|
return isRecoveryLeaf(cand) || GenericTree.isNode(cand) || isBranch(cand)
|
|
75
74
|
}
|
|
76
75
|
|
|
@@ -437,10 +436,10 @@ export function fromGenericTree(tree: GenericTree.Tree): Tree {
|
|
|
437
436
|
*/
|
|
438
437
|
export function encodeCalldata(
|
|
439
438
|
wallet: Address.Address,
|
|
440
|
-
payload: Payload.Recovery<
|
|
439
|
+
payload: Payload.Recovery<Payload.MayRecoveryPayload>,
|
|
441
440
|
signer: Address.Address,
|
|
442
441
|
signature: Signature.SignatureOfSignerLeaf,
|
|
443
|
-
) {
|
|
442
|
+
): Hex.Hex {
|
|
444
443
|
let signatureBytes: Hex.Hex
|
|
445
444
|
|
|
446
445
|
if (signature.type === 'erc1271') {
|
package/src/payload.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { AbiFunction, AbiParameters, Address, Bytes, Hash, Hex } from 'ox'
|
|
2
2
|
import { getSignPayload } from 'ox/TypedData'
|
|
3
3
|
import { EXECUTE_USER_OP, RECOVER_SAPIENT_SIGNATURE } from './constants.js'
|
|
4
|
-
import { Attestation
|
|
4
|
+
import { Attestation } from './index.js'
|
|
5
5
|
import { minBytesFor } from './utils.js'
|
|
6
6
|
import { UserOperation } from 'ox/erc4337'
|
|
7
7
|
|