burnledger 0.1.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/README.md +166 -0
- package/dist/cjs/client.d.ts +84 -0
- package/dist/cjs/client.d.ts.map +1 -0
- package/dist/cjs/client.js +275 -0
- package/dist/cjs/client.js.map +1 -0
- package/dist/cjs/crypto-browser.d.ts +7 -0
- package/dist/cjs/crypto-browser.d.ts.map +1 -0
- package/dist/cjs/crypto-browser.js +37 -0
- package/dist/cjs/crypto-browser.js.map +1 -0
- package/dist/cjs/crypto-node.d.ts +4 -0
- package/dist/cjs/crypto-node.d.ts.map +1 -0
- package/dist/cjs/crypto-node.js +30 -0
- package/dist/cjs/crypto-node.js.map +1 -0
- package/dist/cjs/crypto.d.ts +6 -0
- package/dist/cjs/crypto.d.ts.map +1 -0
- package/dist/cjs/crypto.js +4 -0
- package/dist/cjs/crypto.js.map +1 -0
- package/dist/cjs/errors.d.ts +76 -0
- package/dist/cjs/errors.d.ts.map +1 -0
- package/dist/cjs/errors.js +119 -0
- package/dist/cjs/errors.js.map +1 -0
- package/dist/cjs/http.d.ts +35 -0
- package/dist/cjs/http.d.ts.map +1 -0
- package/dist/cjs/http.js +136 -0
- package/dist/cjs/http.js.map +1 -0
- package/dist/cjs/index.browser.d.ts +31 -0
- package/dist/cjs/index.browser.d.ts.map +1 -0
- package/dist/cjs/index.browser.js +54 -0
- package/dist/cjs/index.browser.js.map +1 -0
- package/dist/cjs/index.d.ts +26 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +50 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/models.d.ts +119 -0
- package/dist/cjs/models.d.ts.map +1 -0
- package/dist/cjs/models.js +144 -0
- package/dist/cjs/models.js.map +1 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/pagination.d.ts +21 -0
- package/dist/cjs/pagination.d.ts.map +1 -0
- package/dist/cjs/pagination.js +50 -0
- package/dist/cjs/pagination.js.map +1 -0
- package/dist/cjs/verify.d.ts +47 -0
- package/dist/cjs/verify.d.ts.map +1 -0
- package/dist/cjs/verify.js +471 -0
- package/dist/cjs/verify.js.map +1 -0
- package/dist/cjs/webhooks.d.ts +17 -0
- package/dist/cjs/webhooks.d.ts.map +1 -0
- package/dist/cjs/webhooks.js +39 -0
- package/dist/cjs/webhooks.js.map +1 -0
- package/dist/esm/client.d.ts +84 -0
- package/dist/esm/client.d.ts.map +1 -0
- package/dist/esm/client.js +238 -0
- package/dist/esm/client.js.map +1 -0
- package/dist/esm/crypto-browser.d.ts +7 -0
- package/dist/esm/crypto-browser.d.ts.map +1 -0
- package/dist/esm/crypto-browser.js +34 -0
- package/dist/esm/crypto-browser.js.map +1 -0
- package/dist/esm/crypto-node.d.ts +4 -0
- package/dist/esm/crypto-node.d.ts.map +1 -0
- package/dist/esm/crypto-node.js +27 -0
- package/dist/esm/crypto-node.js.map +1 -0
- package/dist/esm/crypto.d.ts +6 -0
- package/dist/esm/crypto.d.ts.map +1 -0
- package/dist/esm/crypto.js +3 -0
- package/dist/esm/crypto.js.map +1 -0
- package/dist/esm/errors.d.ts +76 -0
- package/dist/esm/errors.d.ts.map +1 -0
- package/dist/esm/errors.js +105 -0
- package/dist/esm/errors.js.map +1 -0
- package/dist/esm/http.d.ts +35 -0
- package/dist/esm/http.d.ts.map +1 -0
- package/dist/esm/http.js +132 -0
- package/dist/esm/http.js.map +1 -0
- package/dist/esm/index.browser.d.ts +31 -0
- package/dist/esm/index.browser.d.ts.map +1 -0
- package/dist/esm/index.browser.js +31 -0
- package/dist/esm/index.browser.js.map +1 -0
- package/dist/esm/index.d.ts +26 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +26 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/models.d.ts +119 -0
- package/dist/esm/models.d.ts.map +1 -0
- package/dist/esm/models.js +132 -0
- package/dist/esm/models.js.map +1 -0
- package/dist/esm/pagination.d.ts +21 -0
- package/dist/esm/pagination.d.ts.map +1 -0
- package/dist/esm/pagination.js +46 -0
- package/dist/esm/pagination.js.map +1 -0
- package/dist/esm/verify.d.ts +47 -0
- package/dist/esm/verify.d.ts.map +1 -0
- package/dist/esm/verify.js +462 -0
- package/dist/esm/verify.js.map +1 -0
- package/dist/esm/webhooks.d.ts +17 -0
- package/dist/esm/webhooks.d.ts.map +1 -0
- package/dist/esm/webhooks.js +36 -0
- package/dist/esm/webhooks.js.map +1 -0
- package/package.json +62 -0
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/** Readonly interfaces and parser functions for all BurnLedger API types.
|
|
2
|
+
*
|
|
3
|
+
* String literal unions for enums (no runtime cost).
|
|
4
|
+
* Parser functions are pure — snake_case JSON to camelCase with Date parsing.
|
|
5
|
+
*/
|
|
6
|
+
export type ProofMode = "count" | "merkle";
|
|
7
|
+
export type AttestationStatus = "PENDING_VERIFICATION" | "VERIFICATION_FAILED" | "CERTIFIED";
|
|
8
|
+
export type CertificateStatus = "ACTIVE" | "REVOKED";
|
|
9
|
+
export type TransparencyStatus = "INCLUDED" | "PENDING" | "FAILED";
|
|
10
|
+
export type HealthStatus = "HEALTHY" | "UNHEALTHY" | "UNKNOWN";
|
|
11
|
+
export type ConnectorType = "postgresql" | "mongodb" | "s3" | "redis" | "elasticsearch" | "custom";
|
|
12
|
+
export type HashScope = "full" | "existence";
|
|
13
|
+
export type LogEntryType = "CERTIFICATE" | "REVOCATION";
|
|
14
|
+
/** Result of offline certificate signature verification. */
|
|
15
|
+
export type VerificationResult = "VALID" | "INVALID";
|
|
16
|
+
/** Result of transparency proof verification. */
|
|
17
|
+
export type TransparencyResult = "INCLUDED" | "INVALID" | "NOT_AVAILABLE";
|
|
18
|
+
export interface System {
|
|
19
|
+
readonly id: string;
|
|
20
|
+
readonly name: string;
|
|
21
|
+
readonly connectorType: ConnectorType;
|
|
22
|
+
readonly subjectQuery: string;
|
|
23
|
+
readonly hashScope: HashScope;
|
|
24
|
+
readonly maxRecords: number;
|
|
25
|
+
readonly maxBytes: number;
|
|
26
|
+
readonly queryTimeout: string;
|
|
27
|
+
readonly createdAt: Date;
|
|
28
|
+
readonly healthStatus: HealthStatus;
|
|
29
|
+
readonly healthCheckedAt: Date | undefined;
|
|
30
|
+
readonly healthError: string | undefined;
|
|
31
|
+
}
|
|
32
|
+
export interface SystemAttestation {
|
|
33
|
+
readonly systemId: string;
|
|
34
|
+
readonly systemName: string;
|
|
35
|
+
readonly recordCount: number;
|
|
36
|
+
readonly hashScope: HashScope;
|
|
37
|
+
readonly observedAt: Date;
|
|
38
|
+
}
|
|
39
|
+
export interface Attestation {
|
|
40
|
+
readonly id: string;
|
|
41
|
+
readonly subjectHash: string;
|
|
42
|
+
readonly proofMode: ProofMode;
|
|
43
|
+
readonly status: AttestationStatus;
|
|
44
|
+
readonly systems: readonly SystemAttestation[];
|
|
45
|
+
readonly attestedAt: Date;
|
|
46
|
+
readonly expiresAt: Date;
|
|
47
|
+
readonly certificateId: string | undefined;
|
|
48
|
+
}
|
|
49
|
+
export interface VerificationSystem {
|
|
50
|
+
readonly systemId: string;
|
|
51
|
+
readonly systemName: string;
|
|
52
|
+
readonly recordCount: number;
|
|
53
|
+
}
|
|
54
|
+
export interface VerifyResult {
|
|
55
|
+
readonly attestationId: string;
|
|
56
|
+
readonly status: AttestationStatus;
|
|
57
|
+
readonly systems: readonly VerificationSystem[];
|
|
58
|
+
readonly certificate: CertificateResponse | undefined;
|
|
59
|
+
}
|
|
60
|
+
export interface CertificateResponse {
|
|
61
|
+
readonly id: string;
|
|
62
|
+
readonly attestationId: string;
|
|
63
|
+
readonly formatVersion: string;
|
|
64
|
+
readonly issuedAt: Date;
|
|
65
|
+
readonly status: CertificateStatus;
|
|
66
|
+
readonly transparencyStatus: TransparencyStatus;
|
|
67
|
+
readonly revokedAt: Date | undefined;
|
|
68
|
+
readonly revocationReason: string | undefined;
|
|
69
|
+
readonly certificate: Record<string, unknown>;
|
|
70
|
+
}
|
|
71
|
+
export interface RevocationStatus {
|
|
72
|
+
readonly certificateId: string;
|
|
73
|
+
readonly status: CertificateStatus;
|
|
74
|
+
readonly revokedAt: Date | undefined;
|
|
75
|
+
readonly reason: string | undefined;
|
|
76
|
+
}
|
|
77
|
+
export interface Webhook {
|
|
78
|
+
readonly id: string;
|
|
79
|
+
readonly url: string;
|
|
80
|
+
readonly secret: string | undefined;
|
|
81
|
+
readonly createdAt: Date;
|
|
82
|
+
}
|
|
83
|
+
export interface SignedTreeHead {
|
|
84
|
+
readonly treeSize: number;
|
|
85
|
+
readonly rootHash: string;
|
|
86
|
+
readonly timestamp: Date;
|
|
87
|
+
readonly signature: string;
|
|
88
|
+
}
|
|
89
|
+
export interface LogEntry {
|
|
90
|
+
readonly index: number;
|
|
91
|
+
readonly entryType: LogEntryType;
|
|
92
|
+
readonly certificateId: string;
|
|
93
|
+
readonly hash: string;
|
|
94
|
+
readonly appendedAt: Date;
|
|
95
|
+
}
|
|
96
|
+
export interface InclusionProof {
|
|
97
|
+
readonly index: number;
|
|
98
|
+
readonly treeSize: number;
|
|
99
|
+
readonly inclusionProof: readonly string[];
|
|
100
|
+
readonly signedTreeHead: SignedTreeHead;
|
|
101
|
+
}
|
|
102
|
+
export interface ConsistencyProof {
|
|
103
|
+
readonly oldSize: number;
|
|
104
|
+
readonly newSize: number;
|
|
105
|
+
readonly proof: readonly string[];
|
|
106
|
+
}
|
|
107
|
+
type Raw = Record<string, any>;
|
|
108
|
+
export declare function parseSystem(d: Raw): System;
|
|
109
|
+
export declare function parseAttestation(d: Raw): Attestation;
|
|
110
|
+
export declare function parseVerifyResult(d: Raw): VerifyResult;
|
|
111
|
+
export declare function parseCertificateResponse(d: Raw): CertificateResponse;
|
|
112
|
+
export declare function parseRevocationStatus(d: Raw): RevocationStatus;
|
|
113
|
+
export declare function parseWebhook(d: Raw): Webhook;
|
|
114
|
+
export declare function parseSignedTreeHead(d: Raw): SignedTreeHead;
|
|
115
|
+
export declare function parseLogEntry(d: Raw): LogEntry;
|
|
116
|
+
export declare function parseInclusionProof(d: Raw): InclusionProof;
|
|
117
|
+
export declare function parseConsistencyProof(d: Raw): ConsistencyProof;
|
|
118
|
+
export {};
|
|
119
|
+
//# sourceMappingURL=models.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/models.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/** Readonly interfaces and parser functions for all BurnLedger API types.
|
|
3
|
+
*
|
|
4
|
+
* String literal unions for enums (no runtime cost).
|
|
5
|
+
* Parser functions are pure — snake_case JSON to camelCase with Date parsing.
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.parseSystem = parseSystem;
|
|
9
|
+
exports.parseAttestation = parseAttestation;
|
|
10
|
+
exports.parseVerifyResult = parseVerifyResult;
|
|
11
|
+
exports.parseCertificateResponse = parseCertificateResponse;
|
|
12
|
+
exports.parseRevocationStatus = parseRevocationStatus;
|
|
13
|
+
exports.parseWebhook = parseWebhook;
|
|
14
|
+
exports.parseSignedTreeHead = parseSignedTreeHead;
|
|
15
|
+
exports.parseLogEntry = parseLogEntry;
|
|
16
|
+
exports.parseInclusionProof = parseInclusionProof;
|
|
17
|
+
exports.parseConsistencyProof = parseConsistencyProof;
|
|
18
|
+
// ---------------------------------------------------------------------------
|
|
19
|
+
// Timestamp parsing
|
|
20
|
+
// ---------------------------------------------------------------------------
|
|
21
|
+
function parseDt(raw) {
|
|
22
|
+
return new Date(raw);
|
|
23
|
+
}
|
|
24
|
+
function parseDtOpt(raw) {
|
|
25
|
+
if (raw == null)
|
|
26
|
+
return undefined;
|
|
27
|
+
return parseDt(raw);
|
|
28
|
+
}
|
|
29
|
+
function parseSystem(d) {
|
|
30
|
+
return {
|
|
31
|
+
id: d.id,
|
|
32
|
+
name: d.name,
|
|
33
|
+
connectorType: d.connector_type,
|
|
34
|
+
subjectQuery: d.subject_query,
|
|
35
|
+
hashScope: d.hash_scope,
|
|
36
|
+
maxRecords: d.max_records,
|
|
37
|
+
maxBytes: d.max_bytes,
|
|
38
|
+
queryTimeout: d.query_timeout,
|
|
39
|
+
createdAt: parseDt(d.created_at),
|
|
40
|
+
healthStatus: (d.health_status ?? "UNKNOWN"),
|
|
41
|
+
healthCheckedAt: parseDtOpt(d.health_checked_at),
|
|
42
|
+
healthError: d.health_error ?? undefined,
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
function parseSystemAttestation(d) {
|
|
46
|
+
return {
|
|
47
|
+
systemId: d.system_id,
|
|
48
|
+
systemName: d.system_name,
|
|
49
|
+
recordCount: d.record_count,
|
|
50
|
+
hashScope: d.hash_scope,
|
|
51
|
+
observedAt: parseDt(d.observed_at),
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
function parseAttestation(d) {
|
|
55
|
+
return {
|
|
56
|
+
id: d.id,
|
|
57
|
+
subjectHash: d.subject_hash,
|
|
58
|
+
proofMode: d.proof_mode,
|
|
59
|
+
status: d.status,
|
|
60
|
+
systems: (d.systems ?? []).map(parseSystemAttestation),
|
|
61
|
+
attestedAt: parseDt(d.attested_at),
|
|
62
|
+
expiresAt: parseDt(d.expires_at),
|
|
63
|
+
certificateId: d.certificate_id ?? undefined,
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
function parseVerificationSystem(d) {
|
|
67
|
+
return {
|
|
68
|
+
systemId: d.system_id,
|
|
69
|
+
systemName: d.system_name,
|
|
70
|
+
recordCount: d.record_count,
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
function parseVerifyResult(d) {
|
|
74
|
+
return {
|
|
75
|
+
attestationId: d.attestation_id,
|
|
76
|
+
status: d.status,
|
|
77
|
+
systems: (d.systems ?? []).map(parseVerificationSystem),
|
|
78
|
+
certificate: d.certificate
|
|
79
|
+
? parseCertificateResponse(d.certificate)
|
|
80
|
+
: undefined,
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
function parseCertificateResponse(d) {
|
|
84
|
+
return {
|
|
85
|
+
id: d.id,
|
|
86
|
+
attestationId: d.attestation_id,
|
|
87
|
+
formatVersion: d.format_version,
|
|
88
|
+
issuedAt: parseDt(d.issued_at),
|
|
89
|
+
status: d.status,
|
|
90
|
+
transparencyStatus: d.transparency_status,
|
|
91
|
+
revokedAt: parseDtOpt(d.revoked_at),
|
|
92
|
+
revocationReason: d.revocation_reason ?? undefined,
|
|
93
|
+
certificate: d.certificate,
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
function parseRevocationStatus(d) {
|
|
97
|
+
return {
|
|
98
|
+
certificateId: d.certificate_id,
|
|
99
|
+
status: d.status,
|
|
100
|
+
revokedAt: parseDtOpt(d.revoked_at),
|
|
101
|
+
reason: d.reason ?? undefined,
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
function parseWebhook(d) {
|
|
105
|
+
return {
|
|
106
|
+
id: d.id,
|
|
107
|
+
url: d.url,
|
|
108
|
+
secret: d.secret ?? undefined,
|
|
109
|
+
createdAt: parseDt(d.created_at),
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
function parseSignedTreeHead(d) {
|
|
113
|
+
return {
|
|
114
|
+
treeSize: d.tree_size,
|
|
115
|
+
rootHash: d.root_hash,
|
|
116
|
+
timestamp: parseDt(d.timestamp),
|
|
117
|
+
signature: d.signature,
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
function parseLogEntry(d) {
|
|
121
|
+
return {
|
|
122
|
+
index: d.index,
|
|
123
|
+
entryType: d.entry_type,
|
|
124
|
+
certificateId: d.certificate_id,
|
|
125
|
+
hash: d.hash,
|
|
126
|
+
appendedAt: parseDt(d.appended_at),
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
function parseInclusionProof(d) {
|
|
130
|
+
return {
|
|
131
|
+
index: d.index,
|
|
132
|
+
treeSize: d.tree_size,
|
|
133
|
+
inclusionProof: d.inclusion_proof ?? [],
|
|
134
|
+
signedTreeHead: parseSignedTreeHead(d.signed_tree_head),
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
function parseConsistencyProof(d) {
|
|
138
|
+
return {
|
|
139
|
+
oldSize: d.old_size,
|
|
140
|
+
newSize: d.new_size,
|
|
141
|
+
proof: d.proof ?? [],
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
//# sourceMappingURL=models.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/models.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type":"commonjs"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/** Cursor-based auto-pagination using AsyncIterable.
|
|
2
|
+
*
|
|
3
|
+
* Lazily fetches pages on first iteration and follows `next_cursor`
|
|
4
|
+
* until the server omits it.
|
|
5
|
+
*/
|
|
6
|
+
import type { Transport } from "./http.js";
|
|
7
|
+
type Raw = Record<string, unknown>;
|
|
8
|
+
export declare class Paginator<T> implements AsyncIterable<T> {
|
|
9
|
+
private readonly transport;
|
|
10
|
+
private readonly path;
|
|
11
|
+
private readonly parser;
|
|
12
|
+
private readonly params;
|
|
13
|
+
private readonly authenticated;
|
|
14
|
+
constructor(transport: Transport, path: string, parser: (d: Raw) => T, opts: {
|
|
15
|
+
params: Record<string, string | number>;
|
|
16
|
+
authenticated?: boolean;
|
|
17
|
+
});
|
|
18
|
+
[Symbol.asyncIterator](): AsyncIterableIterator<T>;
|
|
19
|
+
}
|
|
20
|
+
export {};
|
|
21
|
+
//# sourceMappingURL=pagination.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../src/pagination.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE3C,KAAK,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEnC,qBAAa,SAAS,CAAC,CAAC,CAAE,YAAW,aAAa,CAAC,CAAC,CAAC;IACnD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkC;IACzD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAU;gBAGtC,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,EACrB,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;QACxC,aAAa,CAAC,EAAE,OAAO,CAAC;KACzB;IASI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,qBAAqB,CAAC,CAAC,CAAC;CA8B1D"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/** Cursor-based auto-pagination using AsyncIterable.
|
|
3
|
+
*
|
|
4
|
+
* Lazily fetches pages on first iteration and follows `next_cursor`
|
|
5
|
+
* until the server omits it.
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.Paginator = void 0;
|
|
9
|
+
class Paginator {
|
|
10
|
+
transport;
|
|
11
|
+
path;
|
|
12
|
+
parser;
|
|
13
|
+
params;
|
|
14
|
+
authenticated;
|
|
15
|
+
constructor(transport, path, parser, opts) {
|
|
16
|
+
this.transport = transport;
|
|
17
|
+
this.path = path;
|
|
18
|
+
this.parser = parser;
|
|
19
|
+
this.params = opts.params;
|
|
20
|
+
this.authenticated = opts.authenticated ?? true;
|
|
21
|
+
}
|
|
22
|
+
async *[Symbol.asyncIterator]() {
|
|
23
|
+
let cursor;
|
|
24
|
+
let started = false;
|
|
25
|
+
while (true) {
|
|
26
|
+
const params = { ...this.params };
|
|
27
|
+
if (cursor !== undefined) {
|
|
28
|
+
params["cursor"] = cursor;
|
|
29
|
+
}
|
|
30
|
+
else if (started) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
const envelope = await this.transport.requestRaw("GET", this.path, {
|
|
34
|
+
params,
|
|
35
|
+
authenticated: this.authenticated,
|
|
36
|
+
});
|
|
37
|
+
const items = (envelope.data ?? []);
|
|
38
|
+
for (const item of items) {
|
|
39
|
+
yield this.parser(item);
|
|
40
|
+
}
|
|
41
|
+
cursor = envelope.next_cursor;
|
|
42
|
+
started = true;
|
|
43
|
+
if (cursor == null) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.Paginator = Paginator;
|
|
50
|
+
//# sourceMappingURL=pagination.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../src/pagination.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAMH,MAAa,SAAS;IACH,SAAS,CAAY;IACrB,IAAI,CAAS;IACb,MAAM,CAAgB;IACtB,MAAM,CAAkC;IACxC,aAAa,CAAU;IAExC,YACE,SAAoB,EACpB,IAAY,EACZ,MAAqB,EACrB,IAGC;QAED,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;QAC3B,IAAI,MAA0B,CAAC;QAC/B,IAAI,OAAO,GAAG,KAAK,CAAC;QAEpB,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,MAAM,GAAoC,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACnE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;YAC5B,CAAC;iBAAM,IAAI,OAAO,EAAE,CAAC;gBACnB,OAAO;YACT,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE;gBACjE,MAAM;gBACN,aAAa,EAAE,IAAI,CAAC,aAAa;aAClC,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAU,CAAC;YAC7C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;YAED,MAAM,GAAG,QAAQ,CAAC,WAAiC,CAAC;YACpD,OAAO,GAAG,IAAI,CAAC;YAEf,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;gBACnB,OAAO;YACT,CAAC;QACH,CAAC;IACH,CAAC;CACF;AArDD,8BAqDC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/** Offline certificate and transparency verification.
|
|
2
|
+
*
|
|
3
|
+
* Ports the Go signing payload builders (core/payload.go) and Merkle tree
|
|
4
|
+
* verification (core/merkle.go) to TypeScript. All crypto is delegated to
|
|
5
|
+
* a CryptoOps provider (Node or browser).
|
|
6
|
+
*
|
|
7
|
+
* Critical encoding details:
|
|
8
|
+
* - Go's json.Marshal encodes []byte as base64, [N]byte as number arrays.
|
|
9
|
+
* - The payload builders normalize both formats to lowercase hex strings.
|
|
10
|
+
* - Timestamps in payloads use second-precision UTC: "YYYY-MM-DDTHH:MM:SSZ".
|
|
11
|
+
* - RFC 8785 canonical JSON: sorted keys recursively, no whitespace.
|
|
12
|
+
* - Transparency leaf = SHA-256(0x00 || issuanceBytes(cert)), NOT the
|
|
13
|
+
* certificate signing payload. issuanceBytes reconstructs json.Marshal
|
|
14
|
+
* output at issuance time (transparency_status=PENDING, no transparency).
|
|
15
|
+
*/
|
|
16
|
+
import type { CryptoOps } from "./crypto.js";
|
|
17
|
+
import type { TransparencyResult, VerificationResult } from "./models.js";
|
|
18
|
+
export declare function hexToBytes(hex: string): Uint8Array;
|
|
19
|
+
export declare function bytesToHex(bytes: Uint8Array): string;
|
|
20
|
+
export interface PublicKeyInfo {
|
|
21
|
+
readonly keyBytes: Uint8Array;
|
|
22
|
+
readonly keyId: string;
|
|
23
|
+
readonly revoked: boolean;
|
|
24
|
+
}
|
|
25
|
+
export declare function publicKeyFromHex(crypto: CryptoOps, hexKey: string, opts?: {
|
|
26
|
+
revoked?: boolean;
|
|
27
|
+
}): Promise<PublicKeyInfo>;
|
|
28
|
+
type Cert = Record<string, unknown>;
|
|
29
|
+
/** Verify all signatures on a deletion certificate offline. */
|
|
30
|
+
export declare function verifyCertificate(crypto: CryptoOps, certificate: Cert, publicKeys: Map<string, PublicKeyInfo>): Promise<VerificationResult>;
|
|
31
|
+
/** Verify the transparency proof embedded in a certificate. */
|
|
32
|
+
export declare function verifyTransparency(crypto: CryptoOps, certificate: Cert, publicKeys: Map<string, PublicKeyInfo>): Promise<TransparencyResult>;
|
|
33
|
+
/** Reconstruct the certificate JSON as it existed at issuance time.
|
|
34
|
+
*
|
|
35
|
+
* At issuance: transparency_status = "PENDING", transparency = nil (omitted).
|
|
36
|
+
* Go uses json.Marshal(cert) which preserves struct field order. JSON.parse
|
|
37
|
+
* preserves key insertion order from the Go JSON, so JSON.stringify reproduces
|
|
38
|
+
* the same bytes.
|
|
39
|
+
*/
|
|
40
|
+
export declare function issuanceBytes(certificate: Cert): Uint8Array;
|
|
41
|
+
/** Verify a Merkle consistency proof (RFC 6962 Section 2.1.4).
|
|
42
|
+
*
|
|
43
|
+
* Port of Go's VerifyConsistency / Python's _verify_consistency.
|
|
44
|
+
*/
|
|
45
|
+
export declare function verifyConsistency(crypto: CryptoOps, oldSize: number, newSize: number, oldRoot: Uint8Array, newRoot: Uint8Array, proof: Uint8Array[]): Promise<boolean>;
|
|
46
|
+
export {};
|
|
47
|
+
//# sourceMappingURL=verify.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/verify.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAQ1E,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CASlD;AAYD,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAQpD;AAoCD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAC3B,OAAO,CAAC,aAAa,CAAC,CAKxB;AAMD,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEpC,+DAA+D;AAC/D,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,IAAI,EACjB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,GACrC,OAAO,CAAC,kBAAkB,CAAC,CAsC7B;AAED,+DAA+D;AAC/D,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,IAAI,EACjB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,GACrC,OAAO,CAAC,kBAAkB,CAAC,CAwC7B;AAMD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,IAAI,GAAG,UAAU,CAK3D;AAkSD;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,UAAU,EACnB,KAAK,EAAE,UAAU,EAAE,GAClB,OAAO,CAAC,OAAO,CAAC,CAgDlB"}
|