signet-protocol 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/LICENSE +21 -0
- package/README.md +112 -0
- package/dist/anomaly.d.ts +42 -0
- package/dist/anomaly.d.ts.map +1 -0
- package/dist/anomaly.js +209 -0
- package/dist/anomaly.js.map +1 -0
- package/dist/badge.d.ts +56 -0
- package/dist/badge.d.ts.map +1 -0
- package/dist/badge.js +171 -0
- package/dist/badge.js.map +1 -0
- package/dist/bonds.d.ts +39 -0
- package/dist/bonds.d.ts.map +1 -0
- package/dist/bonds.js +149 -0
- package/dist/bonds.js.map +1 -0
- package/dist/challenges.d.ts +18 -0
- package/dist/challenges.d.ts.map +1 -0
- package/dist/challenges.js +145 -0
- package/dist/challenges.js.map +1 -0
- package/dist/cold-call.d.ts +74 -0
- package/dist/cold-call.d.ts.map +1 -0
- package/dist/cold-call.js +176 -0
- package/dist/cold-call.js.map +1 -0
- package/dist/compliance.d.ts +82 -0
- package/dist/compliance.d.ts.map +1 -0
- package/dist/compliance.js +478 -0
- package/dist/compliance.js.map +1 -0
- package/dist/connections.d.ts +63 -0
- package/dist/connections.d.ts.map +1 -0
- package/dist/connections.js +170 -0
- package/dist/connections.js.map +1 -0
- package/dist/constants.d.ts +86 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +124 -0
- package/dist/constants.js.map +1 -0
- package/dist/credentials.d.ts +190 -0
- package/dist/credentials.d.ts.map +1 -0
- package/dist/credentials.js +686 -0
- package/dist/credentials.js.map +1 -0
- package/dist/crypto.d.ts +27 -0
- package/dist/crypto.d.ts.map +1 -0
- package/dist/crypto.js +75 -0
- package/dist/crypto.js.map +1 -0
- package/dist/errors.d.ts +17 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +29 -0
- package/dist/errors.js.map +1 -0
- package/dist/i18n.d.ts +98 -0
- package/dist/i18n.d.ts.map +1 -0
- package/dist/i18n.js +1118 -0
- package/dist/i18n.js.map +1 -0
- package/dist/identity-bridge.d.ts +52 -0
- package/dist/identity-bridge.d.ts.map +1 -0
- package/dist/identity-bridge.js +228 -0
- package/dist/identity-bridge.js.map +1 -0
- package/dist/identity-tree.d.ts +47 -0
- package/dist/identity-tree.d.ts.map +1 -0
- package/dist/identity-tree.js +69 -0
- package/dist/identity-tree.js.map +1 -0
- package/dist/index.d.ts +55 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +86 -0
- package/dist/index.js.map +1 -0
- package/dist/key-derivation.d.ts +43 -0
- package/dist/key-derivation.d.ts.map +1 -0
- package/dist/key-derivation.js +212 -0
- package/dist/key-derivation.js.map +1 -0
- package/dist/lsag.d.ts +23 -0
- package/dist/lsag.d.ts.map +1 -0
- package/dist/lsag.js +35 -0
- package/dist/lsag.js.map +1 -0
- package/dist/merkle.d.ts +19 -0
- package/dist/merkle.d.ts.map +1 -0
- package/dist/merkle.js +155 -0
- package/dist/merkle.js.map +1 -0
- package/dist/policies.d.ts +22 -0
- package/dist/policies.d.ts.map +1 -0
- package/dist/policies.js +123 -0
- package/dist/policies.js.map +1 -0
- package/dist/range-proof.d.ts +6 -0
- package/dist/range-proof.d.ts.map +1 -0
- package/dist/range-proof.js +45 -0
- package/dist/range-proof.js.map +1 -0
- package/dist/relay.d.ts +106 -0
- package/dist/relay.d.ts.map +1 -0
- package/dist/relay.js +336 -0
- package/dist/relay.js.map +1 -0
- package/dist/ring-signature.d.ts +35 -0
- package/dist/ring-signature.d.ts.map +1 -0
- package/dist/ring-signature.js +56 -0
- package/dist/ring-signature.js.map +1 -0
- package/dist/shamir.d.ts +55 -0
- package/dist/shamir.d.ts.map +1 -0
- package/dist/shamir.js +253 -0
- package/dist/shamir.js.map +1 -0
- package/dist/signet-words.d.ts +42 -0
- package/dist/signet-words.d.ts.map +1 -0
- package/dist/signet-words.js +82 -0
- package/dist/signet-words.js.map +1 -0
- package/dist/store.d.ts +65 -0
- package/dist/store.d.ts.map +1 -0
- package/dist/store.js +290 -0
- package/dist/store.js.map +1 -0
- package/dist/trust-score.d.ts +9 -0
- package/dist/trust-score.d.ts.map +1 -0
- package/dist/trust-score.js +186 -0
- package/dist/trust-score.js.map +1 -0
- package/dist/types.d.ts +358 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +15 -0
- package/dist/types.js.map +1 -0
- package/dist/utils.d.ts +11 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +21 -0
- package/dist/utils.js.map +1 -0
- package/dist/validation.d.ts +33 -0
- package/dist/validation.d.ts.map +1 -0
- package/dist/validation.js +312 -0
- package/dist/validation.js.map +1 -0
- package/dist/verifiers.d.ts +18 -0
- package/dist/verifiers.d.ts.map +1 -0
- package/dist/verifiers.js +118 -0
- package/dist/verifiers.js.map +1 -0
- package/dist/vouches.d.ts +14 -0
- package/dist/vouches.d.ts.map +1 -0
- package/dist/vouches.js +103 -0
- package/dist/vouches.js.map +1 -0
- package/package.json +76 -0
- package/src/anomaly.ts +307 -0
- package/src/badge.ts +208 -0
- package/src/bonds.ts +203 -0
- package/src/challenges.ts +187 -0
- package/src/cold-call.ts +238 -0
- package/src/compliance.ts +612 -0
- package/src/connections.ts +216 -0
- package/src/constants.ts +146 -0
- package/src/credentials.ts +908 -0
- package/src/crypto.ts +85 -0
- package/src/errors.ts +31 -0
- package/src/i18n.ts +1347 -0
- package/src/identity-bridge.ts +262 -0
- package/src/identity-tree.ts +90 -0
- package/src/index.ts +452 -0
- package/src/lsag.ts +53 -0
- package/src/merkle.ts +176 -0
- package/src/policies.ts +154 -0
- package/src/range-proof.ts +66 -0
- package/src/relay.ts +433 -0
- package/src/ring-signature.ts +76 -0
- package/src/signet-words.ts +122 -0
- package/src/store.ts +336 -0
- package/src/trust-score.ts +208 -0
- package/src/types.ts +482 -0
- package/src/utils.ts +20 -0
- package/src/validation.ts +391 -0
- package/src/verifiers.ts +156 -0
- package/src/vouches.ts +141 -0
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,358 @@
|
|
|
1
|
+
/** Asymmetric cryptographic algorithm for event signing and key agreement.
|
|
2
|
+
* 'secp256k1' is the current Nostr standard. Additional algorithms
|
|
3
|
+
* (e.g. post-quantum lattice-based schemes) may be added in future versions. */
|
|
4
|
+
export type CryptoAlgorithm = 'secp256k1' | (string & {});
|
|
5
|
+
/** Verification tier levels */
|
|
6
|
+
export type SignetTier = 1 | 2 | 3 | 4;
|
|
7
|
+
/** How the verification was performed */
|
|
8
|
+
export type VerificationType = 'self' | 'peer' | 'professional';
|
|
9
|
+
/** Scope of verification */
|
|
10
|
+
export type VerificationScope = 'adult' | 'adult+child';
|
|
11
|
+
/** Method of verification */
|
|
12
|
+
export type VerificationMethod = 'self-declaration' | 'in-person' | 'online' | 'in-person-id';
|
|
13
|
+
/** Vouch method */
|
|
14
|
+
export type VouchMethod = 'in-person' | 'online';
|
|
15
|
+
/** Policy enforcement level */
|
|
16
|
+
export type EnforcementLevel = 'client' | 'relay' | 'both';
|
|
17
|
+
/** Challenge reasons */
|
|
18
|
+
export type ChallengeReason = 'anomalous-volume' | 'registry-mismatch' | 'fraudulent-attestation' | 'licence-revoked' | 'other';
|
|
19
|
+
/** Bond action on revocation */
|
|
20
|
+
export type BondAction = 'slashed' | 'returned' | 'held';
|
|
21
|
+
/** Revocation scope */
|
|
22
|
+
export type RevocationScope = 'full' | 'partial';
|
|
23
|
+
export interface UnsignedEvent {
|
|
24
|
+
kind: number;
|
|
25
|
+
pubkey: string;
|
|
26
|
+
created_at: number;
|
|
27
|
+
tags: string[][];
|
|
28
|
+
content: string;
|
|
29
|
+
}
|
|
30
|
+
export interface NostrEvent extends UnsignedEvent {
|
|
31
|
+
id: string;
|
|
32
|
+
sig: string;
|
|
33
|
+
}
|
|
34
|
+
export interface CredentialParams {
|
|
35
|
+
subjectPubkey: string;
|
|
36
|
+
tier: SignetTier;
|
|
37
|
+
type: VerificationType;
|
|
38
|
+
scope: VerificationScope;
|
|
39
|
+
method: VerificationMethod;
|
|
40
|
+
expiresAt: number;
|
|
41
|
+
profession?: string;
|
|
42
|
+
jurisdiction?: string;
|
|
43
|
+
ageRange?: string;
|
|
44
|
+
content?: string;
|
|
45
|
+
entityType?: EntityType;
|
|
46
|
+
nullifier?: string;
|
|
47
|
+
merkleRoot?: string;
|
|
48
|
+
guardianPubkeys?: string[];
|
|
49
|
+
supersedes?: string;
|
|
50
|
+
occurredAt?: number;
|
|
51
|
+
assertionEventId?: string;
|
|
52
|
+
assertionRelay?: string;
|
|
53
|
+
}
|
|
54
|
+
export interface VouchParams {
|
|
55
|
+
subjectPubkey: string;
|
|
56
|
+
method: VouchMethod;
|
|
57
|
+
context?: string;
|
|
58
|
+
voucherTier: SignetTier;
|
|
59
|
+
voucherScore: number;
|
|
60
|
+
occurredAt?: number;
|
|
61
|
+
}
|
|
62
|
+
export interface PolicyParams {
|
|
63
|
+
communityId: string;
|
|
64
|
+
adultMinTier: SignetTier;
|
|
65
|
+
childMinTier: SignetTier;
|
|
66
|
+
enforcement: EnforcementLevel;
|
|
67
|
+
minScore?: number;
|
|
68
|
+
modMinTier?: SignetTier;
|
|
69
|
+
verifierBond?: number;
|
|
70
|
+
revocationThreshold?: number;
|
|
71
|
+
description?: string;
|
|
72
|
+
}
|
|
73
|
+
export interface PolicyCheckResult {
|
|
74
|
+
allowed: boolean;
|
|
75
|
+
reason?: string;
|
|
76
|
+
requiredTier: SignetTier;
|
|
77
|
+
actualTier: SignetTier;
|
|
78
|
+
requiredScore?: number;
|
|
79
|
+
actualScore?: number;
|
|
80
|
+
}
|
|
81
|
+
/** Bitcoin address type for bond proofs */
|
|
82
|
+
export type BitcoinAddressType = 'p2wpkh' | 'p2sh' | 'p2tr' | 'p2pkh';
|
|
83
|
+
/** A proof-of-reserve bond attestation */
|
|
84
|
+
export interface BondProof {
|
|
85
|
+
address: string;
|
|
86
|
+
addressType: BitcoinAddressType;
|
|
87
|
+
amountSats: number;
|
|
88
|
+
timestamp: number;
|
|
89
|
+
message: string;
|
|
90
|
+
signature: string;
|
|
91
|
+
}
|
|
92
|
+
export type BondStatus = 'valid' | 'stale' | 'invalid' | 'unverified';
|
|
93
|
+
export interface BondVerificationResult {
|
|
94
|
+
status: BondStatus;
|
|
95
|
+
signatureValid: boolean | null;
|
|
96
|
+
fresh: boolean;
|
|
97
|
+
ageSecs: number;
|
|
98
|
+
meetsThreshold: boolean | null;
|
|
99
|
+
errors: string[];
|
|
100
|
+
}
|
|
101
|
+
export type BIP322Verifier = (address: string, message: string, signature: string) => boolean | Promise<boolean>;
|
|
102
|
+
export interface VerifierParams {
|
|
103
|
+
profession: string;
|
|
104
|
+
jurisdiction: string;
|
|
105
|
+
licenceHash: string;
|
|
106
|
+
professionalBody: string;
|
|
107
|
+
statement?: string;
|
|
108
|
+
bondProof?: BondProof;
|
|
109
|
+
}
|
|
110
|
+
export interface ChallengeParams {
|
|
111
|
+
verifierPubkey: string;
|
|
112
|
+
reason: ChallengeReason;
|
|
113
|
+
evidenceType: string;
|
|
114
|
+
reporterTier: SignetTier;
|
|
115
|
+
evidence: string;
|
|
116
|
+
occurredAt?: number;
|
|
117
|
+
}
|
|
118
|
+
export interface RevocationParams {
|
|
119
|
+
verifierPubkey: string;
|
|
120
|
+
challengeEventId: string;
|
|
121
|
+
confirmations: number;
|
|
122
|
+
bondAction: BondAction;
|
|
123
|
+
scope: RevocationScope;
|
|
124
|
+
effectiveAt: number;
|
|
125
|
+
summary: string;
|
|
126
|
+
}
|
|
127
|
+
export interface TrustSignal {
|
|
128
|
+
type: 'professional-verification' | 'in-person-vouch' | 'online-vouch' | 'account-age' | 'identity-bridge';
|
|
129
|
+
weight: number;
|
|
130
|
+
source?: string;
|
|
131
|
+
score?: number;
|
|
132
|
+
}
|
|
133
|
+
export interface TrustScoreBreakdown {
|
|
134
|
+
score: number;
|
|
135
|
+
tier: SignetTier;
|
|
136
|
+
professionalVerifications: number;
|
|
137
|
+
inPersonVouches: number;
|
|
138
|
+
onlineVouches: number;
|
|
139
|
+
accountAgeDays: number;
|
|
140
|
+
signals: TrustSignal[];
|
|
141
|
+
}
|
|
142
|
+
export interface MerkleProof {
|
|
143
|
+
leaf: string;
|
|
144
|
+
index: number;
|
|
145
|
+
siblings: string[];
|
|
146
|
+
root: string;
|
|
147
|
+
}
|
|
148
|
+
export interface SelectiveDisclosure {
|
|
149
|
+
revealedAttributes: Record<string, string>;
|
|
150
|
+
proofs: MerkleProof[];
|
|
151
|
+
merkleRoot: string;
|
|
152
|
+
}
|
|
153
|
+
export interface ParsedCredential {
|
|
154
|
+
subjectPubkey: string;
|
|
155
|
+
tier: SignetTier;
|
|
156
|
+
type: VerificationType;
|
|
157
|
+
scope: VerificationScope;
|
|
158
|
+
method: VerificationMethod;
|
|
159
|
+
profession?: string;
|
|
160
|
+
jurisdiction?: string;
|
|
161
|
+
ageRange?: string;
|
|
162
|
+
expiresAt?: number;
|
|
163
|
+
entityType?: EntityType;
|
|
164
|
+
nullifier?: string;
|
|
165
|
+
merkleRoot?: string;
|
|
166
|
+
guardianPubkeys?: string[];
|
|
167
|
+
supersedes?: string;
|
|
168
|
+
supersededBy?: string;
|
|
169
|
+
occurredAt?: number;
|
|
170
|
+
algorithm: CryptoAlgorithm;
|
|
171
|
+
}
|
|
172
|
+
export interface ParsedVouch {
|
|
173
|
+
subjectPubkey: string;
|
|
174
|
+
method: VouchMethod;
|
|
175
|
+
context?: string;
|
|
176
|
+
voucherTier: SignetTier;
|
|
177
|
+
voucherScore: number;
|
|
178
|
+
algorithm: CryptoAlgorithm;
|
|
179
|
+
}
|
|
180
|
+
export interface ParsedPolicy {
|
|
181
|
+
communityId: string;
|
|
182
|
+
adultMinTier: SignetTier;
|
|
183
|
+
childMinTier: SignetTier;
|
|
184
|
+
enforcement: EnforcementLevel;
|
|
185
|
+
minScore?: number;
|
|
186
|
+
modMinTier?: SignetTier;
|
|
187
|
+
verifierBond?: number;
|
|
188
|
+
revocationThreshold?: number;
|
|
189
|
+
algorithm: CryptoAlgorithm;
|
|
190
|
+
}
|
|
191
|
+
export interface ParsedVerifier {
|
|
192
|
+
profession: string;
|
|
193
|
+
jurisdiction: string;
|
|
194
|
+
licenceHash: string;
|
|
195
|
+
professionalBody: string;
|
|
196
|
+
algorithm: CryptoAlgorithm;
|
|
197
|
+
bondProof?: BondProof;
|
|
198
|
+
}
|
|
199
|
+
export interface ParsedChallenge {
|
|
200
|
+
verifierPubkey: string;
|
|
201
|
+
reason: ChallengeReason;
|
|
202
|
+
evidenceType: string;
|
|
203
|
+
reporterTier: SignetTier;
|
|
204
|
+
algorithm: CryptoAlgorithm;
|
|
205
|
+
}
|
|
206
|
+
export interface ParsedRevocation {
|
|
207
|
+
verifierPubkey: string;
|
|
208
|
+
challengeEventId: string;
|
|
209
|
+
confirmations: number;
|
|
210
|
+
bondAction: BondAction;
|
|
211
|
+
scope: RevocationScope;
|
|
212
|
+
effectiveAt: number;
|
|
213
|
+
algorithm: CryptoAlgorithm;
|
|
214
|
+
}
|
|
215
|
+
/** Entity type classification (§17 of spec) */
|
|
216
|
+
export type EntityType = 'natural_person' | 'persona' | 'personal_agent' | 'unlinked_personal_agent' | 'juridical_person' | 'juridical_persona' | 'organised_agent' | 'unlinked_organised_agent' | 'unlinked_agent';
|
|
217
|
+
/** Developer-friendly entity type labels */
|
|
218
|
+
export type SimpleEntityType = 'person' | 'persona' | 'organisation' | 'agent';
|
|
219
|
+
/** Maps full entity types to simplified labels */
|
|
220
|
+
export declare const ENTITY_DISPLAY_LABELS: Record<EntityType, SimpleEntityType>;
|
|
221
|
+
/** Dynamic mode signaling for teleoperated/autonomous entities (§17.9) */
|
|
222
|
+
export type EntityMode = 'teleoperated' | 'autonomous' | 'assisted';
|
|
223
|
+
export interface ParsedDelegation {
|
|
224
|
+
agentPubkey: string;
|
|
225
|
+
entityType: 'personal_agent' | 'unlinked_personal_agent' | 'organised_agent' | 'unlinked_organised_agent';
|
|
226
|
+
ownerPubkey: string;
|
|
227
|
+
expiresAt?: number;
|
|
228
|
+
algorithm: CryptoAlgorithm;
|
|
229
|
+
}
|
|
230
|
+
/** Election scale */
|
|
231
|
+
export type ElectionScale = 'organisational' | 'community' | 'national';
|
|
232
|
+
/** Re-vote policy */
|
|
233
|
+
export type ReVotePolicy = 'allowed' | 'denied';
|
|
234
|
+
/** Kind 30482: Election Definition */
|
|
235
|
+
export interface ElectionParams {
|
|
236
|
+
electionId: string;
|
|
237
|
+
title: string;
|
|
238
|
+
description?: string;
|
|
239
|
+
options: string[];
|
|
240
|
+
scale: ElectionScale;
|
|
241
|
+
eligibleEntityTypes: EntityType[];
|
|
242
|
+
eligibleMinTier: SignetTier;
|
|
243
|
+
eligibleCommunity?: string;
|
|
244
|
+
opens: number;
|
|
245
|
+
closes: number;
|
|
246
|
+
reVote: ReVotePolicy;
|
|
247
|
+
tallyPubkeys: string[];
|
|
248
|
+
tallyThreshold?: [m: number, n: number];
|
|
249
|
+
ringSize?: number;
|
|
250
|
+
}
|
|
251
|
+
export interface ParsedElection {
|
|
252
|
+
electionId: string;
|
|
253
|
+
title: string;
|
|
254
|
+
description?: string;
|
|
255
|
+
options: string[];
|
|
256
|
+
scale: ElectionScale;
|
|
257
|
+
eligibleEntityTypes: EntityType[];
|
|
258
|
+
eligibleMinTier: SignetTier;
|
|
259
|
+
eligibleCommunity?: string;
|
|
260
|
+
opens: number;
|
|
261
|
+
closes: number;
|
|
262
|
+
reVote: ReVotePolicy;
|
|
263
|
+
tallyPubkeys: string[];
|
|
264
|
+
tallyThreshold?: [m: number, n: number];
|
|
265
|
+
ringSize?: number;
|
|
266
|
+
authorityPubkey: string;
|
|
267
|
+
algorithm: CryptoAlgorithm;
|
|
268
|
+
}
|
|
269
|
+
/** Kind 30483: Ballot */
|
|
270
|
+
export interface BallotParams {
|
|
271
|
+
electionId: string;
|
|
272
|
+
electionEventId: string;
|
|
273
|
+
keyImage: string;
|
|
274
|
+
ringSig: string;
|
|
275
|
+
encryptedVote: string;
|
|
276
|
+
}
|
|
277
|
+
export interface ParsedBallot {
|
|
278
|
+
electionId: string;
|
|
279
|
+
electionEventId: string;
|
|
280
|
+
keyImage: string;
|
|
281
|
+
ringSig: string;
|
|
282
|
+
encryptedVote: string;
|
|
283
|
+
ephemeralPubkey: string;
|
|
284
|
+
timestamp: number;
|
|
285
|
+
algorithm: CryptoAlgorithm;
|
|
286
|
+
}
|
|
287
|
+
/** Kind 30484: Election Result */
|
|
288
|
+
export interface ElectionResultParams {
|
|
289
|
+
electionId: string;
|
|
290
|
+
electionEventId: string;
|
|
291
|
+
results: Array<{
|
|
292
|
+
option: string;
|
|
293
|
+
count: number;
|
|
294
|
+
}>;
|
|
295
|
+
totalBallots: number;
|
|
296
|
+
totalEligible: number;
|
|
297
|
+
totalInvalid?: number;
|
|
298
|
+
tallyProof?: string;
|
|
299
|
+
}
|
|
300
|
+
export interface ParsedElectionResult {
|
|
301
|
+
electionId: string;
|
|
302
|
+
electionEventId: string;
|
|
303
|
+
results: Array<{
|
|
304
|
+
option: string;
|
|
305
|
+
count: number;
|
|
306
|
+
}>;
|
|
307
|
+
totalBallots: number;
|
|
308
|
+
totalEligible: number;
|
|
309
|
+
totalInvalid: number;
|
|
310
|
+
tallyProof?: string;
|
|
311
|
+
tallierPubkey: string;
|
|
312
|
+
algorithm: CryptoAlgorithm;
|
|
313
|
+
}
|
|
314
|
+
export interface TwoCredentialResult {
|
|
315
|
+
naturalPerson: NostrEvent;
|
|
316
|
+
persona: NostrEvent;
|
|
317
|
+
merkleLeaves: Record<string, string>;
|
|
318
|
+
merkleProofs: MerkleProof[];
|
|
319
|
+
}
|
|
320
|
+
export interface CredentialChain {
|
|
321
|
+
current: NostrEvent;
|
|
322
|
+
history: NostrEvent[];
|
|
323
|
+
}
|
|
324
|
+
export interface GuardianDelegationParams {
|
|
325
|
+
childPubkey: string;
|
|
326
|
+
delegatePubkey: string;
|
|
327
|
+
scope: GuardianDelegationScope;
|
|
328
|
+
expiresAt?: number;
|
|
329
|
+
occurredAt?: number;
|
|
330
|
+
}
|
|
331
|
+
export type GuardianDelegationScope = 'full' | 'activity-approval' | 'content-management' | 'contact-approval';
|
|
332
|
+
/** A single institutional verification pubkey */
|
|
333
|
+
export interface InstitutionPubkey {
|
|
334
|
+
id: string;
|
|
335
|
+
pubkey: string;
|
|
336
|
+
label: string;
|
|
337
|
+
created: string;
|
|
338
|
+
}
|
|
339
|
+
/** .well-known/signet.json response */
|
|
340
|
+
export interface InstitutionKeys {
|
|
341
|
+
version: number;
|
|
342
|
+
name: string;
|
|
343
|
+
pubkeys: InstitutionPubkey[];
|
|
344
|
+
relay?: string;
|
|
345
|
+
policy?: {
|
|
346
|
+
rotation?: string;
|
|
347
|
+
contact?: string;
|
|
348
|
+
};
|
|
349
|
+
}
|
|
350
|
+
export interface ParsedIdentityBridge {
|
|
351
|
+
anonPubkey: string;
|
|
352
|
+
ringMinTier: SignetTier;
|
|
353
|
+
ringSize: number;
|
|
354
|
+
ring: string[];
|
|
355
|
+
timestamp: number;
|
|
356
|
+
algorithm: CryptoAlgorithm;
|
|
357
|
+
}
|
|
358
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// Signet Protocol Types
|
|
2
|
+
// All TypeScript interfaces for the 11 Nostr event kinds (8 core + 3 voting extension) and supporting structures
|
|
3
|
+
/** Maps full entity types to simplified labels */
|
|
4
|
+
export const ENTITY_DISPLAY_LABELS = {
|
|
5
|
+
natural_person: 'person',
|
|
6
|
+
persona: 'persona',
|
|
7
|
+
juridical_person: 'organisation',
|
|
8
|
+
juridical_persona: 'organisation',
|
|
9
|
+
personal_agent: 'agent',
|
|
10
|
+
organised_agent: 'agent',
|
|
11
|
+
unlinked_agent: 'agent',
|
|
12
|
+
unlinked_personal_agent: 'agent',
|
|
13
|
+
unlinked_organised_agent: 'agent',
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,iHAAiH;AA8SjH,kDAAkD;AAClD,MAAM,CAAC,MAAM,qBAAqB,GAAyC;IACzE,cAAc,EAAE,QAAQ;IACxB,OAAO,EAAE,SAAS;IAClB,gBAAgB,EAAE,cAAc;IAChC,iBAAiB,EAAE,cAAc;IACjC,cAAc,EAAE,OAAO;IACvB,eAAe,EAAE,OAAO;IACxB,cAAc,EAAE,OAAO;IACvB,uBAAuB,EAAE,OAAO;IAChC,wBAAwB,EAAE,OAAO;CAClC,CAAC"}
|
package/dist/utils.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** Zero out a Uint8Array buffer (best-effort secure wipe). */
|
|
2
|
+
export declare function zeroBytes(buf: Uint8Array): void;
|
|
3
|
+
/**
|
|
4
|
+
* Constant-time comparison of two equal-length Uint8Arrays.
|
|
5
|
+
* Always compares all bytes; does not short-circuit on content.
|
|
6
|
+
*
|
|
7
|
+
* NOTE: The length check IS an early return (not constant-time w.r.t. length),
|
|
8
|
+
* but all callers compare fixed-size buffers (32-byte scalars), so this is safe.
|
|
9
|
+
*/
|
|
10
|
+
export declare function constantTimeEqual(a: Uint8Array, b: Uint8Array): boolean;
|
|
11
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,wBAAgB,SAAS,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI,CAE/C;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,OAAO,CAOvE"}
|
package/dist/utils.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/** Zero out a Uint8Array buffer (best-effort secure wipe). */
|
|
2
|
+
export function zeroBytes(buf) {
|
|
3
|
+
buf.fill(0);
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Constant-time comparison of two equal-length Uint8Arrays.
|
|
7
|
+
* Always compares all bytes; does not short-circuit on content.
|
|
8
|
+
*
|
|
9
|
+
* NOTE: The length check IS an early return (not constant-time w.r.t. length),
|
|
10
|
+
* but all callers compare fixed-size buffers (32-byte scalars), so this is safe.
|
|
11
|
+
*/
|
|
12
|
+
export function constantTimeEqual(a, b) {
|
|
13
|
+
if (a.length !== b.length)
|
|
14
|
+
return false;
|
|
15
|
+
let diff = 0;
|
|
16
|
+
for (let i = 0; i < a.length; i++) {
|
|
17
|
+
diff |= a[i] ^ b[i];
|
|
18
|
+
}
|
|
19
|
+
return diff === 0;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,MAAM,UAAU,SAAS,CAAC,GAAe;IACvC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,CAAa,EAAE,CAAa;IAC5D,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IACxC,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,IAAI,KAAK,CAAC,CAAC;AACpB,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { NostrEvent } from './types.js';
|
|
2
|
+
export declare const MAX_CONTENT_LENGTH = 65536;
|
|
3
|
+
export declare const MAX_TAG_VALUE_LENGTH = 1024;
|
|
4
|
+
export declare const MAX_TAGS_COUNT = 100;
|
|
5
|
+
export interface ValidationResult {
|
|
6
|
+
valid: boolean;
|
|
7
|
+
errors: string[];
|
|
8
|
+
}
|
|
9
|
+
/** Get a tag value by name from a Nostr event */
|
|
10
|
+
export declare function getTagValue(event: NostrEvent | {
|
|
11
|
+
tags: string[][];
|
|
12
|
+
}, name: string): string | undefined;
|
|
13
|
+
/** Get all tag values by name */
|
|
14
|
+
export declare function getTagValues(event: NostrEvent | {
|
|
15
|
+
tags: string[][];
|
|
16
|
+
}, name: string): string[];
|
|
17
|
+
/** Validate field-size bounds on untrusted event data */
|
|
18
|
+
export declare function validateFieldSizeBounds(event: NostrEvent, errors: string[]): void;
|
|
19
|
+
/** Validate a Verification Credential attestation (kind 31000, type: credential) */
|
|
20
|
+
export declare function validateCredential(event: NostrEvent): ValidationResult;
|
|
21
|
+
/** Validate a Vouch Attestation (kind 31000, type: vouch) */
|
|
22
|
+
export declare function validateVouch(event: NostrEvent): ValidationResult;
|
|
23
|
+
/** Validate a Community Policy (kind 30078, NIP-78) */
|
|
24
|
+
export declare function validatePolicy(event: NostrEvent): ValidationResult;
|
|
25
|
+
/** Validate a Verifier Credential attestation (kind 31000, type: verifier) */
|
|
26
|
+
export declare function validateVerifier(event: NostrEvent): ValidationResult;
|
|
27
|
+
/** Validate a Verifier Challenge attestation (kind 31000, type: challenge) */
|
|
28
|
+
export declare function validateChallenge(event: NostrEvent): ValidationResult;
|
|
29
|
+
/** Validate a Verifier Revocation attestation (kind 31000, type: revocation) */
|
|
30
|
+
export declare function validateRevocation(event: NostrEvent): ValidationResult;
|
|
31
|
+
/** Validate any Signet event by kind + type tag */
|
|
32
|
+
export declare function validateEvent(event: NostrEvent): ValidationResult;
|
|
33
|
+
//# sourceMappingURL=validation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,eAAO,MAAM,kBAAkB,QAAQ,CAAC;AACxC,eAAO,MAAM,oBAAoB,OAAO,CAAC;AACzC,eAAO,MAAM,cAAc,MAAM,CAAC;AAElC,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,iDAAiD;AACjD,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG;IAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAA;CAAE,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGtG;AAED,iCAAiC;AACjC,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG;IAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAA;CAAE,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAE7F;AAED,yDAAyD;AACzD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAcjF;AAWD,oFAAoF;AACpF,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,UAAU,GAAG,gBAAgB,CAgFtE;AAED,6DAA6D;AAC7D,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,gBAAgB,CAwCjE;AAED,uDAAuD;AACvD,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,gBAAgB,CA8BlE;AAED,8EAA8E;AAC9E,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,gBAAgB,CAkEpE;AAED,8EAA8E;AAC9E,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,UAAU,GAAG,gBAAgB,CAoCrE;AAED,gFAAgF;AAChF,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,UAAU,GAAG,gBAAgB,CA0CtE;AAED,mDAAmD;AACnD,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,gBAAgB,CAwBjE"}
|