chit402-verify 0.3.5 → 0.4.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.
- package/LICENSE +1 -1
- package/README.md +205 -17
- package/dist/anchor-trust.d.ts +144 -0
- package/dist/anchor-trust.d.ts.map +1 -0
- package/dist/anchor-trust.js +441 -0
- package/dist/anchor-trust.js.map +1 -0
- package/dist/anchor-witness.d.ts +265 -0
- package/dist/anchor-witness.d.ts.map +1 -0
- package/dist/anchor-witness.js +833 -0
- package/dist/anchor-witness.js.map +1 -0
- package/dist/base-payer.d.ts +65 -0
- package/dist/base-payer.d.ts.map +1 -0
- package/dist/base-payer.js +222 -0
- package/dist/base-payer.js.map +1 -0
- package/dist/binding.d.ts +52 -0
- package/dist/binding.d.ts.map +1 -0
- package/dist/binding.js +80 -0
- package/dist/binding.js.map +1 -0
- package/dist/canonical-preimage.d.ts +9 -0
- package/dist/canonical-preimage.d.ts.map +1 -0
- package/dist/canonical-preimage.js +25 -0
- package/dist/canonical-preimage.js.map +1 -0
- package/dist/carry-forward.d.ts +79 -0
- package/dist/carry-forward.d.ts.map +1 -0
- package/dist/carry-forward.js +184 -0
- package/dist/carry-forward.js.map +1 -0
- package/dist/cli.d.ts +18 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +2090 -0
- package/dist/cli.js.map +1 -0
- package/dist/epoch.d.ts +143 -0
- package/dist/epoch.d.ts.map +1 -0
- package/dist/epoch.js +352 -0
- package/dist/epoch.js.map +1 -0
- package/dist/head-binding.d.ts +24 -0
- package/dist/head-binding.d.ts.map +1 -0
- package/dist/head-binding.js +61 -0
- package/dist/head-binding.js.map +1 -0
- package/dist/index.d.ts +585 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1648 -0
- package/dist/index.js.map +1 -0
- package/dist/issuer-history.d.ts +151 -0
- package/dist/issuer-history.d.ts.map +1 -0
- package/dist/issuer-history.js +595 -0
- package/dist/issuer-history.js.map +1 -0
- package/dist/issuer-pin.d.ts +126 -0
- package/dist/issuer-pin.d.ts.map +1 -0
- package/dist/issuer-pin.js +567 -0
- package/dist/issuer-pin.js.map +1 -0
- package/dist/jcs.d.ts +8 -0
- package/dist/jcs.d.ts.map +1 -0
- package/dist/jcs.js +64 -0
- package/dist/jcs.js.map +1 -0
- package/dist/jws.d.ts +46 -0
- package/dist/jws.d.ts.map +1 -0
- package/dist/jws.js +129 -0
- package/dist/jws.js.map +1 -0
- package/dist/payer.d.ts +65 -0
- package/dist/payer.d.ts.map +1 -0
- package/dist/payer.js +148 -0
- package/dist/payer.js.map +1 -0
- package/dist/preimage.d.ts +78 -0
- package/dist/preimage.d.ts.map +1 -0
- package/dist/preimage.js +363 -0
- package/dist/preimage.js.map +1 -0
- package/dist/receipt-lane.d.ts +235 -0
- package/dist/receipt-lane.d.ts.map +1 -0
- package/dist/receipt-lane.js +446 -0
- package/dist/receipt-lane.js.map +1 -0
- package/dist/receipt-version.d.ts +98 -0
- package/dist/receipt-version.d.ts.map +1 -0
- package/dist/receipt-version.js +364 -0
- package/dist/receipt-version.js.map +1 -0
- package/dist/refusal.d.ts +93 -0
- package/dist/refusal.d.ts.map +1 -0
- package/dist/refusal.js +249 -0
- package/dist/refusal.js.map +1 -0
- package/dist/request-binding.d.ts +7 -0
- package/dist/request-binding.d.ts.map +1 -0
- package/dist/request-binding.js +26 -0
- package/dist/request-binding.js.map +1 -0
- package/dist/row-hash.d.ts +22 -0
- package/dist/row-hash.d.ts.map +1 -0
- package/dist/row-hash.js +26 -0
- package/dist/row-hash.js.map +1 -0
- package/dist/shell.d.ts +65 -0
- package/dist/shell.d.ts.map +1 -0
- package/dist/shell.js +268 -0
- package/dist/shell.js.map +1 -0
- package/dist/solana-payer.d.ts +99 -0
- package/dist/solana-payer.d.ts.map +1 -0
- package/dist/solana-payer.js +258 -0
- package/dist/solana-payer.js.map +1 -0
- package/dist/v11-receipt.d.ts +23 -0
- package/dist/v11-receipt.d.ts.map +1 -0
- package/dist/v11-receipt.js +368 -0
- package/dist/v11-receipt.js.map +1 -0
- package/dist/verdict.d.ts +94 -0
- package/dist/verdict.d.ts.map +1 -0
- package/dist/verdict.js +381 -0
- package/dist/verdict.js.map +1 -0
- package/issuer-history.snapshot.json +1 -0
- package/package.json +32 -22
- package/cli.js +0 -42
- package/index.cjs +0 -8
- package/index.d.ts +0 -5
- package/index.js +0 -7
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { type Es256Jwk } from './jws.js';
|
|
2
|
+
export declare const ISSUER_REGISTRATION_CONTEXT = "chit402-issuer-registration-v1";
|
|
3
|
+
export declare const ISSUER_ROTATION_CONTEXT = "chit402-issuer-rotation-v1";
|
|
4
|
+
export declare const ISSUER_PIN_VERSION = 1;
|
|
5
|
+
export declare const ISSUER_PIN_SCHEMA = "chit402.issuer_key_pin.v1";
|
|
6
|
+
export declare const ISSUER_PIN_PATH = "docs/well-known/issuer-key.json";
|
|
7
|
+
export declare const ISSUER_PIN_CHAIN_ID = "eip155:84532";
|
|
8
|
+
export declare const CITIZEN_FREEZE_SCHEMA = "chit402.freeze.v1";
|
|
9
|
+
export declare const CITIZEN_FREEZE_PURPOSE = "citizen_issuer_key";
|
|
10
|
+
export declare const ISSUER_PIN_REPO = "XFuel-Lab/chit402";
|
|
11
|
+
/**
|
|
12
|
+
* Kid of the Sepolia specimen in docs/well-known/issuer-key.json.
|
|
13
|
+
* A different kid is a rotation and needs the previous pin.
|
|
14
|
+
*/
|
|
15
|
+
export declare const PUBLISHED_ISSUER_PIN_KID = "kATmVjz6J8QvSTS-bS1NUjWaLs35o-PXYurO2blMf-c";
|
|
16
|
+
export declare const ISSUER_PIN_MISMATCH = "ISSUER_PIN_MISMATCH";
|
|
17
|
+
export declare const ISSUER_PIN_HASH_MISMATCH = "ISSUER_PIN_HASH_MISMATCH";
|
|
18
|
+
export declare const ISSUER_SELF_SIG_INVALID = "ISSUER_SELF_SIG_INVALID";
|
|
19
|
+
export declare const ISSUER_PIN_DOWNGRADE = "ISSUER_PIN_DOWNGRADE";
|
|
20
|
+
export declare const ISSUER_PIN_MUTABLE_REF = "ISSUER_PIN_MUTABLE_REF";
|
|
21
|
+
export declare const ISSUER_ROTATION_UNCONTROLLED = "ISSUER_ROTATION_UNCONTROLLED";
|
|
22
|
+
export declare const ISSUER_PIN_CHAIN_REFUSED = "ISSUER_PIN_CHAIN_REFUSED";
|
|
23
|
+
export interface IssuerPinRef {
|
|
24
|
+
commit: string;
|
|
25
|
+
path: string;
|
|
26
|
+
sha256: string;
|
|
27
|
+
}
|
|
28
|
+
export interface IssuerPinAssessment {
|
|
29
|
+
checked: boolean;
|
|
30
|
+
ok: boolean;
|
|
31
|
+
code: string | null;
|
|
32
|
+
}
|
|
33
|
+
export interface IssuerKeyPin {
|
|
34
|
+
schema: typeof ISSUER_PIN_SCHEMA;
|
|
35
|
+
version: number;
|
|
36
|
+
chain_id: string;
|
|
37
|
+
created_at: string;
|
|
38
|
+
jwk: Es256Jwk;
|
|
39
|
+
self_signature: string | null;
|
|
40
|
+
control: {
|
|
41
|
+
jws: string;
|
|
42
|
+
} | null;
|
|
43
|
+
}
|
|
44
|
+
export declare function issuerPinFileHash(bytes: string): string;
|
|
45
|
+
export declare function canonicalPublicKey(jwk: Pick<Es256Jwk, 'crv' | 'kty' | 'x' | 'y'>): string;
|
|
46
|
+
/**
|
|
47
|
+
* Registration preimage. The context, version, kid, created_at, and key
|
|
48
|
+
* are fixed fields, so a signature over another purpose or another key
|
|
49
|
+
* does not verify.
|
|
50
|
+
*/
|
|
51
|
+
export declare function registrationPreimage(input: {
|
|
52
|
+
kid: string;
|
|
53
|
+
createdAt: string;
|
|
54
|
+
jwk: Es256Jwk;
|
|
55
|
+
}): string;
|
|
56
|
+
export declare function rotationStatement(input: {
|
|
57
|
+
priorKid: string;
|
|
58
|
+
nextKid: string;
|
|
59
|
+
pinSha256: string;
|
|
60
|
+
pinCommit: string;
|
|
61
|
+
createdAt: string;
|
|
62
|
+
}): string;
|
|
63
|
+
export declare function serializeIssuerPin(doc: IssuerKeyPin): string;
|
|
64
|
+
/**
|
|
65
|
+
* URL of the pin blob at one commit. A branch, HEAD, or any non-40-hex
|
|
66
|
+
* ref returns ISSUER_PIN_MUTABLE_REF and does not build a URL.
|
|
67
|
+
*/
|
|
68
|
+
export declare function issuerPinContentUrl(commit: string, path?: string): {
|
|
69
|
+
ok: true;
|
|
70
|
+
url: string;
|
|
71
|
+
} | {
|
|
72
|
+
ok: false;
|
|
73
|
+
code: typeof ISSUER_PIN_MUTABLE_REF;
|
|
74
|
+
};
|
|
75
|
+
export declare function loadIssuerPinBytes(ref: IssuerPinRef, fetchImpl: (url: string) => Promise<Uint8Array>): Promise<{
|
|
76
|
+
ok: true;
|
|
77
|
+
bytes: string;
|
|
78
|
+
} | {
|
|
79
|
+
ok: false;
|
|
80
|
+
code: string;
|
|
81
|
+
}>;
|
|
82
|
+
export declare function readIssuerPinClaim(doc: unknown): {
|
|
83
|
+
claimed: boolean;
|
|
84
|
+
ref: IssuerPinRef | null;
|
|
85
|
+
};
|
|
86
|
+
export declare function verifyRegistrationSignature(pin: IssuerKeyPin): {
|
|
87
|
+
ok: boolean;
|
|
88
|
+
code: string | null;
|
|
89
|
+
};
|
|
90
|
+
export declare function verifyCitizenRotation(input: {
|
|
91
|
+
prior: IssuerKeyPin;
|
|
92
|
+
next: IssuerKeyPin;
|
|
93
|
+
nextHash: string;
|
|
94
|
+
nextCommit: string;
|
|
95
|
+
controlJws: string | null;
|
|
96
|
+
}): {
|
|
97
|
+
ok: true;
|
|
98
|
+
} | {
|
|
99
|
+
ok: false;
|
|
100
|
+
code: string;
|
|
101
|
+
};
|
|
102
|
+
export interface AssessIssuerPinInput {
|
|
103
|
+
receipt?: unknown;
|
|
104
|
+
head?: unknown;
|
|
105
|
+
pinBytes?: string | null;
|
|
106
|
+
sigBytes?: string | null;
|
|
107
|
+
ref?: IssuerPinRef | null;
|
|
108
|
+
witnesses?: unknown;
|
|
109
|
+
priorPinBytes?: string | null;
|
|
110
|
+
priorRef?: IssuerPinRef | null;
|
|
111
|
+
controlJws?: string | null;
|
|
112
|
+
required?: boolean;
|
|
113
|
+
/**
|
|
114
|
+
* Ignored. The specimen kid gate is not optional. A caller cannot
|
|
115
|
+
* turn it off by passing a prior pin or by setting this to false.
|
|
116
|
+
*/
|
|
117
|
+
anchorToPublished?: boolean;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Compare a receipt's issuer key to the pinned file, and to issuer_root
|
|
121
|
+
* and a /api/witnesses document when those sources are present.
|
|
122
|
+
* A receipt or head that claims a pinned era and omits the pin fails closed.
|
|
123
|
+
* No claim and no explicit pin leaves the caller on the previous path.
|
|
124
|
+
*/
|
|
125
|
+
export declare function assessIssuerPin(input: AssessIssuerPinInput): IssuerPinAssessment;
|
|
126
|
+
//# sourceMappingURL=issuer-pin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"issuer-pin.d.ts","sourceRoot":"","sources":["../src/issuer-pin.ts"],"names":[],"mappings":"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"}
|