signet-protocol 1.10.0 → 1.11.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/dist/bonds.d.ts +8 -3
- package/dist/bonds.d.ts.map +1 -1
- package/dist/bonds.js +17 -6
- package/dist/bonds.js.map +1 -1
- package/dist/bot-ownership.d.ts +61 -0
- package/dist/bot-ownership.d.ts.map +1 -0
- package/dist/bot-ownership.js +88 -0
- package/dist/bot-ownership.js.map +1 -0
- package/dist/crypto.d.ts +2 -0
- package/dist/crypto.d.ts.map +1 -1
- package/dist/crypto.js +4 -0
- package/dist/crypto.js.map +1 -1
- package/dist/experimental.d.ts +19 -0
- package/dist/experimental.d.ts.map +1 -0
- package/dist/experimental.js +16 -0
- package/dist/experimental.js.map +1 -0
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +7 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/url-auth.d.ts.map +1 -1
- package/dist/url-auth.js +2 -1
- package/dist/url-auth.js.map +1 -1
- package/dist/utils.d.ts +46 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +127 -0
- package/dist/utils.js.map +1 -1
- package/dist/vault-checkpoint.d.ts +50 -0
- package/dist/vault-checkpoint.d.ts.map +1 -0
- package/dist/vault-checkpoint.js +84 -0
- package/dist/vault-checkpoint.js.map +1 -0
- package/dist/vault-keys.d.ts +19 -0
- package/dist/vault-keys.d.ts.map +1 -0
- package/dist/vault-keys.js +57 -0
- package/dist/vault-keys.js.map +1 -0
- package/dist/vault-recovery.d.ts +99 -0
- package/dist/vault-recovery.d.ts.map +1 -0
- package/dist/vault-recovery.js +305 -0
- package/dist/vault-recovery.js.map +1 -0
- package/dist/vault-relay.d.ts +29 -0
- package/dist/vault-relay.d.ts.map +1 -0
- package/dist/vault-relay.js +131 -0
- package/dist/vault-relay.js.map +1 -0
- package/package.json +10 -5
- package/src/bonds.ts +18 -6
- package/src/bot-ownership.ts +77 -0
- package/src/crypto.ts +5 -0
- package/src/experimental.ts +25 -0
- package/src/index.ts +4 -1
- package/src/types.ts +8 -2
- package/src/url-auth.ts +2 -1
- package/src/utils.ts +122 -0
- package/src/vault-checkpoint.ts +98 -0
- package/src/vault-keys.ts +59 -0
- package/src/vault-recovery.ts +284 -0
- package/src/vault-relay.ts +112 -0
package/dist/bonds.d.ts
CHANGED
|
@@ -16,7 +16,7 @@ export interface VerifyBondProofOptions {
|
|
|
16
16
|
verifier?: BIP322Verifier;
|
|
17
17
|
/** Maximum age in seconds (default: DEFAULT_BOND_MAX_AGE_SECS) */
|
|
18
18
|
maxAgeSecs?: number;
|
|
19
|
-
/** Minimum
|
|
19
|
+
/** Minimum declared amount in satoshis. This does not verify funds. */
|
|
20
20
|
requiredSats?: number;
|
|
21
21
|
/** Override current time (unix seconds, for testing) */
|
|
22
22
|
now?: number;
|
|
@@ -31,8 +31,13 @@ export declare function bondProofToTags(proof: BondProof): string[][];
|
|
|
31
31
|
export declare function parseBondProof(event: NostrEvent | {
|
|
32
32
|
tags: string[][];
|
|
33
33
|
}): BondProof | null;
|
|
34
|
-
/**
|
|
35
|
-
|
|
34
|
+
/**
|
|
35
|
+
* Check policy compliance using independently verified funds evidence.
|
|
36
|
+
* Safe by default: BIP-322 plus a declared amount is never enough on its own.
|
|
37
|
+
*/
|
|
38
|
+
export declare function checkBondCompliance(proof: BondProof | null, requiredSats: number, opts?: {
|
|
39
|
+
fundsVerified?: boolean;
|
|
40
|
+
}): {
|
|
36
41
|
meets: boolean;
|
|
37
42
|
reason?: string;
|
|
38
43
|
};
|
package/dist/bonds.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bonds.d.ts","sourceRoot":"","sources":["../src/bonds.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAc,sBAAsB,EAAE,cAAc,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEhI,2DAA2D;AAC3D,wBAAgB,gBAAgB,CAC9B,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAChB,MAAM,CAER;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,kBAAkB,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,gEAAgE;AAChE,wBAAgB,eAAe,CAAC,MAAM,EAAE,qBAAqB,GAAG,SAAS,CAYxE;AAED,MAAM,WAAW,sBAAsB;IACrC,qGAAqG;IACrG,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,
|
|
1
|
+
{"version":3,"file":"bonds.d.ts","sourceRoot":"","sources":["../src/bonds.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAc,sBAAsB,EAAE,cAAc,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEhI,2DAA2D;AAC3D,wBAAgB,gBAAgB,CAC9B,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAChB,MAAM,CAER;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,kBAAkB,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,gEAAgE;AAChE,wBAAgB,eAAe,CAAC,MAAM,EAAE,qBAAqB,GAAG,SAAS,CAYxE;AAED,MAAM,WAAW,sBAAsB;IACrC,qGAAqG;IACrG,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uEAAuE;IACvE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wDAAwD;IACxD,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wEAAwE;AACxE,wBAAsB,eAAe,CACnC,KAAK,EAAE,SAAS,EAChB,cAAc,EAAE,MAAM,EACtB,IAAI,GAAE,sBAA2B,GAChC,OAAO,CAAC,sBAAsB,CAAC,CA4EjC;AAED,uEAAuE;AACvE,wBAAgB,WAAW,CACzB,KAAK,EAAE,SAAS,EAChB,UAAU,GAAE,MAAkC,EAC9C,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAGT;AAED,2DAA2D;AAC3D,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,EAAE,EAAE,CAS5D;AAED,0FAA0F;AAC1F,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG;IAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAA;CAAE,GAAG,SAAS,GAAG,IAAI,CA6BzF;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,SAAS,GAAG,IAAI,EACvB,YAAY,EAAE,MAAM,EACpB,IAAI,GAAE;IAAE,aAAa,CAAC,EAAE,OAAO,CAAA;CAAO,GACrC;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAiBrC"}
|
package/dist/bonds.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
//
|
|
2
|
-
//
|
|
1
|
+
// Bond declaration with BIP-322 address-control proof.
|
|
2
|
+
// This does not prove funds, lock value, or make a bond slashable.
|
|
3
3
|
import { BOND_DOMAIN_SEPARATOR, DEFAULT_BOND_MAX_AGE_SECS } from './constants.js';
|
|
4
4
|
import { getTagValue } from './validation.js';
|
|
5
5
|
/** Build the canonical BIP-322 message for a bond proof */
|
|
@@ -45,7 +45,7 @@ export async function verifyBondProof(proof, verifierPubkey, opts = {}) {
|
|
|
45
45
|
const ageSecs = now - proof.timestamp;
|
|
46
46
|
const fresh = ageSecs <= maxAgeSecs;
|
|
47
47
|
// Check threshold
|
|
48
|
-
const
|
|
48
|
+
const declaredAmountMeetsThreshold = opts.requiredSats != null
|
|
49
49
|
? proof.amountSats >= opts.requiredSats
|
|
50
50
|
: null;
|
|
51
51
|
// Signature verification
|
|
@@ -86,7 +86,9 @@ export async function verifyBondProof(proof, verifierPubkey, opts = {}) {
|
|
|
86
86
|
signatureValid,
|
|
87
87
|
fresh,
|
|
88
88
|
ageSecs,
|
|
89
|
-
|
|
89
|
+
declaredAmountMeetsThreshold,
|
|
90
|
+
fundsVerified: false,
|
|
91
|
+
meetsThreshold: declaredAmountMeetsThreshold,
|
|
90
92
|
errors,
|
|
91
93
|
};
|
|
92
94
|
}
|
|
@@ -133,8 +135,11 @@ export function parseBondProof(event) {
|
|
|
133
135
|
signature,
|
|
134
136
|
};
|
|
135
137
|
}
|
|
136
|
-
/**
|
|
137
|
-
|
|
138
|
+
/**
|
|
139
|
+
* Check policy compliance using independently verified funds evidence.
|
|
140
|
+
* Safe by default: BIP-322 plus a declared amount is never enough on its own.
|
|
141
|
+
*/
|
|
142
|
+
export function checkBondCompliance(proof, requiredSats, opts = {}) {
|
|
138
143
|
if (!proof) {
|
|
139
144
|
return { meets: false, reason: 'No bond proof provided' };
|
|
140
145
|
}
|
|
@@ -144,6 +149,12 @@ export function checkBondCompliance(proof, requiredSats) {
|
|
|
144
149
|
reason: `Bond amount ${proof.amountSats} sats is below required ${requiredSats} sats`,
|
|
145
150
|
};
|
|
146
151
|
}
|
|
152
|
+
if (opts.fundsVerified !== true) {
|
|
153
|
+
return {
|
|
154
|
+
meets: false,
|
|
155
|
+
reason: 'BIP-322 proves address control only; independent locked-funds verification is required',
|
|
156
|
+
};
|
|
157
|
+
}
|
|
147
158
|
return { meets: true };
|
|
148
159
|
}
|
|
149
160
|
//# sourceMappingURL=bonds.js.map
|
package/dist/bonds.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bonds.js","sourceRoot":"","sources":["../src/bonds.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"bonds.js","sourceRoot":"","sources":["../src/bonds.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import type { NostrEvent, UnsignedEvent } from './types.js';
|
|
2
|
+
export declare const BOT_OWNERSHIP_TYPE = "bot-ownership";
|
|
3
|
+
export declare const BOT_OWNERSHIP_POLICY: Readonly<{
|
|
4
|
+
defaultDays: 30;
|
|
5
|
+
minDays: 1;
|
|
6
|
+
maxDays: 90;
|
|
7
|
+
renewBeforeDays: 10;
|
|
8
|
+
retrySeconds: 86400;
|
|
9
|
+
clockToleranceSeconds: 300;
|
|
10
|
+
}>;
|
|
11
|
+
/** The caller selects a persona, obtains explicit creation consent, and signs
|
|
12
|
+
* this ordinary Nostr event through its existing local or NIP-46 backend. */
|
|
13
|
+
export declare function buildBotOwnership(args: {
|
|
14
|
+
ownerPubkey: string;
|
|
15
|
+
botPubkey: string;
|
|
16
|
+
label: string;
|
|
17
|
+
now: number;
|
|
18
|
+
expiresAt?: number;
|
|
19
|
+
}): UnsignedEvent;
|
|
20
|
+
export declare function buildBotOwnershipRevocation(args: {
|
|
21
|
+
ownerPubkey: string;
|
|
22
|
+
botPubkey: string;
|
|
23
|
+
now: number;
|
|
24
|
+
}): UnsignedEvent;
|
|
25
|
+
export interface BotOwnershipClaim {
|
|
26
|
+
ownerPubkey: string;
|
|
27
|
+
botPubkey: string;
|
|
28
|
+
label: string;
|
|
29
|
+
issuedAt: number;
|
|
30
|
+
expiresAt: number;
|
|
31
|
+
eventId: string;
|
|
32
|
+
}
|
|
33
|
+
export type BotOwnershipResult = {
|
|
34
|
+
status: 'invalid';
|
|
35
|
+
} | {
|
|
36
|
+
status: 'revoked';
|
|
37
|
+
ownerPubkey: string;
|
|
38
|
+
botPubkey: string;
|
|
39
|
+
eventId: string;
|
|
40
|
+
} | {
|
|
41
|
+
status: 'valid' | 'lapsed';
|
|
42
|
+
claim: BotOwnershipClaim;
|
|
43
|
+
};
|
|
44
|
+
/** No ownership trust is inherited by the bot. Callers pin the expected persona
|
|
45
|
+
* and bot and separately establish that they selected the newest event. */
|
|
46
|
+
export declare function readBotOwnership(event: NostrEvent, expected: {
|
|
47
|
+
ownerPubkey: string;
|
|
48
|
+
botPubkey: string;
|
|
49
|
+
now: number;
|
|
50
|
+
maxLifetimeDays?: number;
|
|
51
|
+
}): Promise<BotOwnershipResult>;
|
|
52
|
+
/** Same validation for synchronous transport/storage codecs. */
|
|
53
|
+
export declare function readBotOwnershipSync(event: NostrEvent, expected: {
|
|
54
|
+
ownerPubkey: string;
|
|
55
|
+
botPubkey: string;
|
|
56
|
+
now: number;
|
|
57
|
+
maxLifetimeDays?: number;
|
|
58
|
+
}): BotOwnershipResult;
|
|
59
|
+
/** Scheduling only: hardware signing still needs its normal approval. */
|
|
60
|
+
export declare function botOwnershipRenewalDue(result: BotOwnershipResult, now: number, lastAttemptAt?: number): boolean;
|
|
61
|
+
//# sourceMappingURL=bot-ownership.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bot-ownership.d.ts","sourceRoot":"","sources":["../src/bot-ownership.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC5D,eAAO,MAAM,kBAAkB,kBAAkB,CAAC;AAClD,eAAO,MAAM,oBAAoB;;;;;;;EACwC,CAAC;AAQ1E;6EAC6E;AAC7E,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,aAAa,CAOjJ;AACD,wBAAgB,2BAA2B,CAAC,IAAI,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,aAAa,CAIxH;AACD,MAAM,WAAW,iBAAiB;IAAG,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE;AAClJ,MAAM,MAAM,kBAAkB,GAAG;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACnI;IAAE,MAAM,EAAE,OAAO,GAAG,QAAQ,CAAC;IAAC,KAAK,EAAE,iBAAiB,CAAA;CAAE,CAAC;AAC7D;2EAC2E;AAC3E,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAElL;AACD,gEAAgE;AAChE,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,kBAAkB,CA+BvK;AACD,yEAAyE;AACzE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,kBAAkB,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAI/G"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/** Draft bot ownership profile of nostr-attestations. Builders never publish. */
|
|
2
|
+
import { createAttestation, createRevocation, buildDTag } from 'nostr-attestations';
|
|
3
|
+
import { verifyEventSync } from './crypto.js';
|
|
4
|
+
import { isSafeLabel } from './utils.js';
|
|
5
|
+
export const BOT_OWNERSHIP_TYPE = 'bot-ownership';
|
|
6
|
+
export const BOT_OWNERSHIP_POLICY = Object.freeze({ defaultDays: 30, minDays: 1, maxDays: 90,
|
|
7
|
+
renewBeforeDays: 10, retrySeconds: 86400, clockToleranceSeconds: 300 });
|
|
8
|
+
const DAY = 86400, HEX = /^[0-9a-f]{64}$/;
|
|
9
|
+
const stamp = (value) => Number.isSafeInteger(value) && Number(value) >= 0;
|
|
10
|
+
const labelOk = (label) => typeof label === 'string' && !!label.trim() && label.length <= 100
|
|
11
|
+
&& isSafeLabel(label);
|
|
12
|
+
function validateParties(ownerPubkey, botPubkey, now) {
|
|
13
|
+
if (!HEX.test(ownerPubkey) || !HEX.test(botPubkey) || ownerPubkey === botPubkey || !stamp(now))
|
|
14
|
+
throw new Error('Invalid bot ownership parties or time');
|
|
15
|
+
}
|
|
16
|
+
/** The caller selects a persona, obtains explicit creation consent, and signs
|
|
17
|
+
* this ordinary Nostr event through its existing local or NIP-46 backend. */
|
|
18
|
+
export function buildBotOwnership(args) {
|
|
19
|
+
validateParties(args.ownerPubkey, args.botPubkey, args.now);
|
|
20
|
+
const expiresAt = args.expiresAt ?? args.now + BOT_OWNERSHIP_POLICY.defaultDays * DAY;
|
|
21
|
+
if (!labelOk(args.label) || !stamp(expiresAt) || expiresAt < args.now + DAY || expiresAt > args.now + 90 * DAY)
|
|
22
|
+
throw new Error('Bot ownership requires a label and a lifetime from one to ninety days');
|
|
23
|
+
return { ...createAttestation({ type: BOT_OWNERSHIP_TYPE, subject: args.botPubkey,
|
|
24
|
+
validFrom: args.now, validTo: expiresAt, expiration: expiresAt,
|
|
25
|
+
content: JSON.stringify({ v: 1, label: args.label.trim() }) }), pubkey: args.ownerPubkey, created_at: args.now };
|
|
26
|
+
}
|
|
27
|
+
export function buildBotOwnershipRevocation(args) {
|
|
28
|
+
validateParties(args.ownerPubkey, args.botPubkey, args.now);
|
|
29
|
+
return { ...createRevocation({ type: BOT_OWNERSHIP_TYPE, identifier: args.botPubkey, subject: args.botPubkey,
|
|
30
|
+
effective: args.now }), pubkey: args.ownerPubkey, created_at: args.now };
|
|
31
|
+
}
|
|
32
|
+
/** No ownership trust is inherited by the bot. Callers pin the expected persona
|
|
33
|
+
* and bot and separately establish that they selected the newest event. */
|
|
34
|
+
export async function readBotOwnership(event, expected) {
|
|
35
|
+
return readBotOwnershipSync(event, expected);
|
|
36
|
+
}
|
|
37
|
+
/** Same validation for synchronous transport/storage codecs. */
|
|
38
|
+
export function readBotOwnershipSync(event, expected) {
|
|
39
|
+
const invalid = { status: 'invalid' };
|
|
40
|
+
const maximum = expected.maxLifetimeDays ?? BOT_OWNERSHIP_POLICY.maxDays;
|
|
41
|
+
if (!stamp(expected.now) || !Number.isSafeInteger(maximum) || maximum < 1 || maximum > 90
|
|
42
|
+
|| !event || event.kind !== 31000 || event.pubkey !== expected.ownerPubkey || !HEX.test(expected.ownerPubkey)
|
|
43
|
+
|| !HEX.test(expected.botPubkey) || expected.ownerPubkey === expected.botPubkey
|
|
44
|
+
|| !stamp(event.created_at) || event.created_at > expected.now + BOT_OWNERSHIP_POLICY.clockToleranceSeconds
|
|
45
|
+
|| typeof event.content !== 'string' || event.content.length > 1000 || !Array.isArray(event.tags) || event.tags.length > 16
|
|
46
|
+
|| !event.tags.every(tag => Array.isArray(tag) && tag.length >= 2 && tag.length <= 4 && tag.every(value => typeof value === 'string' && value.length <= 256)))
|
|
47
|
+
return invalid;
|
|
48
|
+
const single = (name) => {
|
|
49
|
+
const values = event.tags.filter(tag => tag[0] === name);
|
|
50
|
+
return values.length === 1 ? values[0][1] : undefined;
|
|
51
|
+
};
|
|
52
|
+
if (single('d') !== buildDTag(BOT_OWNERSHIP_TYPE, expected.botPubkey) || single('type') !== BOT_OWNERSHIP_TYPE
|
|
53
|
+
|| single('p') !== expected.botPubkey || !verifyEventSync(event))
|
|
54
|
+
return invalid;
|
|
55
|
+
const statuses = event.tags.filter(tag => tag[0] === 'status');
|
|
56
|
+
if (statuses.length) {
|
|
57
|
+
if (statuses.length !== 1 || statuses[0][1] !== 'revoked' || event.content !== '')
|
|
58
|
+
return invalid;
|
|
59
|
+
return { status: 'revoked', ownerPubkey: event.pubkey, botPubkey: expected.botPubkey, eventId: event.id };
|
|
60
|
+
}
|
|
61
|
+
const start = single('valid_from'), end = single('valid_to'), expiration = single('expiration');
|
|
62
|
+
if (start !== String(event.created_at) || !end || !/^\d+$/.test(end) || end !== expiration)
|
|
63
|
+
return invalid;
|
|
64
|
+
const declared = Number(end);
|
|
65
|
+
if (!stamp(declared) || declared < event.created_at + DAY)
|
|
66
|
+
return invalid;
|
|
67
|
+
let body;
|
|
68
|
+
try {
|
|
69
|
+
body = JSON.parse(event.content);
|
|
70
|
+
}
|
|
71
|
+
catch {
|
|
72
|
+
return invalid;
|
|
73
|
+
}
|
|
74
|
+
if (!body || body.v !== 1 || !labelOk(body.label))
|
|
75
|
+
return invalid;
|
|
76
|
+
// A user may choose a stricter ceiling. It never extends the signed expiry.
|
|
77
|
+
const expiresAt = Math.min(declared, event.created_at + maximum * DAY, event.created_at + 90 * DAY);
|
|
78
|
+
return { status: expected.now > expiresAt + BOT_OWNERSHIP_POLICY.clockToleranceSeconds ? 'lapsed' : 'valid',
|
|
79
|
+
claim: { ownerPubkey: event.pubkey, botPubkey: expected.botPubkey, label: body.label.trim(), issuedAt: event.created_at, expiresAt, eventId: event.id } };
|
|
80
|
+
}
|
|
81
|
+
/** Scheduling only: hardware signing still needs its normal approval. */
|
|
82
|
+
export function botOwnershipRenewalDue(result, now, lastAttemptAt) {
|
|
83
|
+
if (!stamp(now) || (lastAttemptAt !== undefined && (!stamp(lastAttemptAt) || now - lastAttemptAt < BOT_OWNERSHIP_POLICY.retrySeconds)))
|
|
84
|
+
return false;
|
|
85
|
+
return (result.status === 'valid' || result.status === 'lapsed') && now >= result.claim.issuedAt
|
|
86
|
+
&& result.claim.expiresAt - now <= BOT_OWNERSHIP_POLICY.renewBeforeDays * DAY;
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=bot-ownership.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bot-ownership.js","sourceRoot":"","sources":["../src/bot-ownership.ts"],"names":[],"mappings":"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"}
|
package/dist/crypto.d.ts
CHANGED
|
@@ -20,6 +20,8 @@ export declare function getEventId(event: UnsignedEvent): string;
|
|
|
20
20
|
export declare function signEvent(event: UnsignedEvent, privateKey: string): Promise<NostrEvent>;
|
|
21
21
|
/** Verify a signed Nostr event's signature */
|
|
22
22
|
export declare function verifyEvent(event: NostrEvent): Promise<boolean>;
|
|
23
|
+
/** Synchronous verification for codecs that must reject invalid events inline. */
|
|
24
|
+
export declare function verifyEventSync(event: NostrEvent): boolean;
|
|
23
25
|
/** SHA-256 hash of arbitrary data, returned as hex */
|
|
24
26
|
export declare function hash(data: Uint8Array): string;
|
|
25
27
|
/** SHA-256 hash of a UTF-8 string, returned as hex */
|
package/dist/crypto.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE5D;;;;;;0EAM0E;AAC1E,wBAAgB,eAAe,IAAI;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAU3E;AAED,8DAA8D;AAC9D,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,mDAAmD;AACnD,wBAAgB,cAAc,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAS3D;AAED,6DAA6D;AAC7D,wBAAgB,UAAU,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAGvD;AAED,0DAA0D;AAC1D,wBAAsB,SAAS,CAC7B,KAAK,EAAE,aAAa,EACpB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,UAAU,CAAC,CAQrB;AAED,8CAA8C;AAC9C,wBAAsB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE5D;;;;;;0EAM0E;AAC1E,wBAAgB,eAAe,IAAI;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAU3E;AAED,8DAA8D;AAC9D,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,mDAAmD;AACnD,wBAAgB,cAAc,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAS3D;AAED,6DAA6D;AAC7D,wBAAgB,UAAU,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAGvD;AAED,0DAA0D;AAC1D,wBAAsB,SAAS,CAC7B,KAAK,EAAE,aAAa,EACpB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,UAAU,CAAC,CAQrB;AAED,8CAA8C;AAC9C,wBAAsB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAErE;AAED,kFAAkF;AAClF,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAQ1D;AAED,sDAAsD;AACtD,wBAAgB,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAE7C;AAED,sDAAsD;AACtD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C"}
|
package/dist/crypto.js
CHANGED
|
@@ -54,6 +54,10 @@ export async function signEvent(event, privateKey) {
|
|
|
54
54
|
}
|
|
55
55
|
/** Verify a signed Nostr event's signature */
|
|
56
56
|
export async function verifyEvent(event) {
|
|
57
|
+
return verifyEventSync(event);
|
|
58
|
+
}
|
|
59
|
+
/** Synchronous verification for codecs that must reject invalid events inline. */
|
|
60
|
+
export function verifyEventSync(event) {
|
|
57
61
|
try {
|
|
58
62
|
const expectedId = getEventId(event);
|
|
59
63
|
if (expectedId !== event.id)
|
package/dist/crypto.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,kEAAkE;AAElE,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC;;;;;;0EAM0E;AAC1E,MAAM,UAAU,eAAe;IAC7B,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;IACtD,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;IACtD,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IAC7C,MAAM,YAAY,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;IAC3C,SAAS,CAAC,aAAa,CAAC,CAAC;IACzB,OAAO;QACL,UAAU;QACV,SAAS,EAAE,YAAY;KACxB,CAAC;AACJ,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,YAAY,CAAC,UAAkB;IAC7C,OAAO,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,mDAAmD;AACnD,MAAM,UAAU,cAAc,CAAC,KAAoB;IACjD,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,CAAC;QACD,KAAK,CAAC,MAAM;QACZ,KAAK,CAAC,UAAU;QAChB,KAAK,CAAC,IAAI;QACV,KAAK,CAAC,IAAI;QACV,KAAK,CAAC,OAAO;KACd,CAAC,CAAC;AACL,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,UAAU,CAAC,KAAoB;IAC7C,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACzC,OAAO,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,0DAA0D;AAC1D,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,KAAoB,EACpB,UAAkB;IAElB,MAAM,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAC7B,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;IACjE,OAAO;QACL,GAAG,KAAK;QACR,EAAE;QACF,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC;KACrB,CAAC;AACJ,CAAC;AAED,8CAA8C;AAC9C,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,KAAiB;IACjD,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,UAAU,KAAK,KAAK,CAAC,EAAE;YAAE,OAAO,KAAK,CAAC;QAC1C,OAAO,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/F,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,sDAAsD;AACtD,MAAM,UAAU,IAAI,CAAC,IAAgB;IACnC,OAAO,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AAClC,CAAC;AAED,sDAAsD;AACtD,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;AACjC,CAAC"}
|
|
1
|
+
{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* signet-protocol/experimental — UNSTABLE, UNRELEASED draft contracts.
|
|
3
|
+
*
|
|
4
|
+
* The private vault checkpoint (docs/private-vault-v1.md) and the bot ownership
|
|
5
|
+
* profile (docs/bot-ownership-v1.md) are still under protocol review. Anything
|
|
6
|
+
* exported here may change or be removed in any release, including a minor or
|
|
7
|
+
* patch, without a deprecation period. Do not depend on it for production data.
|
|
8
|
+
* None of these names are exported from the package root.
|
|
9
|
+
*/
|
|
10
|
+
export { vaultPurpose, parseVaultPurpose, vaultKeyContext, deriveVaultIdentity, vaultIdentityFromMnemonic } from './vault-keys.js';
|
|
11
|
+
export type { VaultDataset } from './vault-keys.js';
|
|
12
|
+
export { VAULT_EVENT_KIND, MAX_VAULT_CHUNKS, MAX_VAULT_DEVICES, MAX_VAULT_CONTROL_BYTES, MAX_VAULT_CHUNK_BYTES, vaultCheckpointTag, vaultContentHash, parseVaultCheckpoint, matchesVaultChunk, vaultCheckpointShapedTag } from './vault-checkpoint.js';
|
|
13
|
+
export type { VaultCheckpoint, VaultChunkRef } from './vault-checkpoint.js';
|
|
14
|
+
export { readVaultSnapshot, readVaultRotations, readVaultHeads, readVaultHeadRotations, VAULT_CLOCK_TOLERANCE_SECONDS } from './vault-recovery.js';
|
|
15
|
+
export type { VaultReadResult, VaultReader, VaultHeadsResult } from './vault-recovery.js';
|
|
16
|
+
export { createVaultRelayReader, fetchVaultEvents, MAX_VAULT_EVENTS_PER_RELAY, VaultRelayError } from './vault-relay.js';
|
|
17
|
+
export { BOT_OWNERSHIP_TYPE, BOT_OWNERSHIP_POLICY, buildBotOwnership, buildBotOwnershipRevocation, readBotOwnership, readBotOwnershipSync, botOwnershipRenewalDue } from './bot-ownership.js';
|
|
18
|
+
export type { BotOwnershipClaim, BotOwnershipResult } from './bot-ownership.js';
|
|
19
|
+
//# sourceMappingURL=experimental.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"experimental.d.ts","sourceRoot":"","sources":["../src/experimental.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAA;AAClI,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,uBAAuB,EACrF,qBAAqB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,oBAAoB,EACjF,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AAC5E,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAC3E,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,cAAc,EAAE,sBAAsB,EACpF,6BAA6B,EAAE,MAAM,qBAAqB,CAAA;AAC5D,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAEzF,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAExH,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,2BAA2B,EAC/F,gBAAgB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC7F,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* signet-protocol/experimental — UNSTABLE, UNRELEASED draft contracts.
|
|
3
|
+
*
|
|
4
|
+
* The private vault checkpoint (docs/private-vault-v1.md) and the bot ownership
|
|
5
|
+
* profile (docs/bot-ownership-v1.md) are still under protocol review. Anything
|
|
6
|
+
* exported here may change or be removed in any release, including a minor or
|
|
7
|
+
* patch, without a deprecation period. Do not depend on it for production data.
|
|
8
|
+
* None of these names are exported from the package root.
|
|
9
|
+
*/
|
|
10
|
+
// Private vault: dedicated dataset keys (flat derivation; index means rotation).
|
|
11
|
+
export { vaultPurpose, parseVaultPurpose, vaultKeyContext, deriveVaultIdentity, vaultIdentityFromMnemonic } from './vault-keys.js';
|
|
12
|
+
export { VAULT_EVENT_KIND, MAX_VAULT_CHUNKS, MAX_VAULT_DEVICES, MAX_VAULT_CONTROL_BYTES, MAX_VAULT_CHUNK_BYTES, vaultCheckpointTag, vaultContentHash, parseVaultCheckpoint, matchesVaultChunk, vaultCheckpointShapedTag } from './vault-checkpoint.js';
|
|
13
|
+
export { readVaultSnapshot, readVaultRotations, readVaultHeads, readVaultHeadRotations, VAULT_CLOCK_TOLERANCE_SECONDS } from './vault-recovery.js';
|
|
14
|
+
export { createVaultRelayReader, fetchVaultEvents, MAX_VAULT_EVENTS_PER_RELAY, VaultRelayError } from './vault-relay.js';
|
|
15
|
+
export { BOT_OWNERSHIP_TYPE, BOT_OWNERSHIP_POLICY, buildBotOwnership, buildBotOwnershipRevocation, readBotOwnership, readBotOwnershipSync, botOwnershipRenewalDue } from './bot-ownership.js';
|
|
16
|
+
//# sourceMappingURL=experimental.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"experimental.js","sourceRoot":"","sources":["../src/experimental.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,iFAAiF;AACjF,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAA;AAElI,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,uBAAuB,EACrF,qBAAqB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,oBAAoB,EACjF,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AAE5E,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,cAAc,EAAE,sBAAsB,EACpF,6BAA6B,EAAE,MAAM,qBAAqB,CAAA;AAG5D,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAExH,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,2BAA2B,EAC/F,gBAAgB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -32,7 +32,7 @@ export { buildVouchEvent, createVouch, parseVouch, countQualifyingVouches, hasEn
|
|
|
32
32
|
export { buildPolicyEvent, createPolicy, parsePolicy, checkPolicyCompliance, PolicyChecker, } from './policies.js';
|
|
33
33
|
// Verifiers (attestation type: verifier)
|
|
34
34
|
export { buildVerifierEvent, createVerifierCredential, parseVerifier, checkCrossVerification, isVerifierRevoked, } from './verifiers.js';
|
|
35
|
-
// Bonds (
|
|
35
|
+
// Bonds (BIP-322 address-control declaration; external funds proof required)
|
|
36
36
|
export { buildBondMessage, createBondProof, verifyBondProof, isBondStale, bondProofToTags, parseBondProof, checkBondCompliance, } from './bonds.js';
|
|
37
37
|
// Challenges & Revocations (attestation types: challenge, revocation)
|
|
38
38
|
export { buildChallengeEvent, createChallenge, parseChallenge, buildRevocationEvent, createRevocation, parseRevocation, countChallengeConfirmations, hasReachedRevocationThreshold, } from './challenges.js';
|
|
@@ -103,4 +103,6 @@ export { getSignetMeDisplay, verifySignetMe, SIGNET_ME_ROTATION_SECONDS, SIGNET_
|
|
|
103
103
|
export { buildVenueEntryEventTemplate, VENUE_ENTRY_KIND, } from './venue-entry.js';
|
|
104
104
|
// Migration (kind 31000, type: migration — see spec/protocol.md §21.4.3)
|
|
105
105
|
export { createMigrationEvent, parseMigrationEvent, followMigrationChain, } from './migration.js';
|
|
106
|
+
// Private vault and bot-ownership contracts are unreleased drafts: import them
|
|
107
|
+
// from 'signet-protocol/experimental'. Nothing from them is exported here.
|
|
106
108
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,gDAAgD;AAkDhD,kDAAkD;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAEnD,YAAY;AACZ,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,uBAAuB,EACvB,wBAAwB,EACxB,iCAAiC,EACjC,4BAA4B,EAC5B,mBAAmB,EACnB,aAAa,EACb,UAAU,EACV,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,YAAY,EACZ,sBAAsB,EACtB,aAAa,EACb,wBAAwB;AACxB,iBAAiB;AACjB,qBAAqB,EACrB,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,gBAAgB,CAAC;AAExB,SAAS;AACT,OAAO,EACL,eAAe,EACf,YAAY,EACZ,SAAS,EACT,WAAW,EACX,UAAU,EACV,IAAI,EACJ,UAAU,GACX,MAAM,aAAa,CAAC;AAErB,6CAA6C;AAC7C,OAAO,EACL,oBAAoB,EACpB,4BAA4B,EAC5B,2BAA2B,EAC3B,4BAA4B,EAC5B,2BAA2B,EAC3B,gBAAgB,EAChB,mBAAmB,EACnB,eAAe;AACf,uCAAuC;AACvC,6BAA6B,EAC7B,kCAAkC,EAClC,0BAA0B;AAC1B,qBAAqB;AACrB,eAAe,EACf,YAAY;AACZ,0BAA0B;AAC1B,2BAA2B;AAC3B,kBAAkB;AAClB,UAAU;AACV,oBAAoB;AACpB,mBAAmB,EACnB,sBAAsB,EACtB,YAAY;AACZ,sBAAsB;AACtB,gBAAgB,EAChB,uBAAuB,EACvB,sBAAsB;AACtB,oCAAoC;AACpC,sBAAsB,EACtB,wBAAwB,EACxB,6BAA6B;AAC7B,sBAAsB;AACtB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAI1B,oCAAoC;AACpC,OAAO,EACL,eAAe,EACf,WAAW,EACX,UAAU,EACV,sBAAsB,EACtB,gBAAgB,EAChB,WAAW,GACZ,MAAM,cAAc,CAAC;AAEtB,+BAA+B;AAC/B,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,qBAAqB,EACrB,aAAa,GACd,MAAM,eAAe,CAAC;AAEvB,yCAAyC;AACzC,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,aAAa,EACb,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AAExB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -80,7 +80,7 @@ export interface PolicyCheckResult {
|
|
|
80
80
|
}
|
|
81
81
|
/** Bitcoin address type for bond proofs */
|
|
82
82
|
export type BitcoinAddressType = 'p2wpkh' | 'p2sh' | 'p2tr' | 'p2pkh';
|
|
83
|
-
/** A
|
|
83
|
+
/** A signed bond declaration. This does not by itself prove or lock funds. */
|
|
84
84
|
export interface BondProof {
|
|
85
85
|
address: string;
|
|
86
86
|
addressType: BitcoinAddressType;
|
|
@@ -91,10 +91,16 @@ export interface BondProof {
|
|
|
91
91
|
}
|
|
92
92
|
export type BondStatus = 'valid' | 'stale' | 'invalid' | 'unverified';
|
|
93
93
|
export interface BondVerificationResult {
|
|
94
|
+
/** Validity of the address-control proof, not proof that funds exist or are locked. */
|
|
94
95
|
status: BondStatus;
|
|
95
96
|
signatureValid: boolean | null;
|
|
96
97
|
fresh: boolean;
|
|
97
98
|
ageSecs: number;
|
|
99
|
+
/** Whether the self-declared amount reaches the policy threshold. */
|
|
100
|
+
declaredAmountMeetsThreshold: boolean | null;
|
|
101
|
+
/** Always false in the core library. Funds require an independent verifier. */
|
|
102
|
+
fundsVerified: false;
|
|
103
|
+
/** @deprecated Use declaredAmountMeetsThreshold. This does not prove funds. */
|
|
98
104
|
meetsThreshold: boolean | null;
|
|
99
105
|
errors: string[];
|
|
100
106
|
}
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,iHAAiH;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,iHAAiH;AAoTjH,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/url-auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"url-auth.d.ts","sourceRoot":"","sources":["../src/url-auth.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"url-auth.d.ts","sourceRoot":"","sources":["../src/url-auth.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAoBnD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAoEtE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,GACjB,MAAM,CAcR;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAK9D;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAIzD"}
|
package/dist/url-auth.js
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* a challenge, origin, callback, and site name. The app signs the challenge
|
|
6
6
|
* and redirects back with the signature.
|
|
7
7
|
*/
|
|
8
|
+
import { UNSAFE_TEXT_CHARS } from './utils.js';
|
|
8
9
|
/** Check if a URL is https:// or http://localhost (dev). */
|
|
9
10
|
function isValidAuthUrl(url) {
|
|
10
11
|
try {
|
|
@@ -146,6 +147,6 @@ export function buildAuthDeniedUrl(callbackUrl) {
|
|
|
146
147
|
export function getUrlAuthSiteName(search) {
|
|
147
148
|
const params = new URLSearchParams(search);
|
|
148
149
|
const name = params.get('name') ?? '';
|
|
149
|
-
return name.replace(
|
|
150
|
+
return name.replace(new RegExp(UNSAFE_TEXT_CHARS.source, 'gu'), '').slice(0, 64);
|
|
150
151
|
}
|
|
151
152
|
//# sourceMappingURL=url-auth.js.map
|
package/dist/url-auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"url-auth.js","sourceRoot":"","sources":["../src/url-auth.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"url-auth.js","sourceRoot":"","sources":["../src/url-auth.ts"],"names":[],"mappings":"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"}
|
package/dist/utils.d.ts
CHANGED
|
@@ -8,4 +8,50 @@ export declare function zeroBytes(buf: Uint8Array): void;
|
|
|
8
8
|
* but all callers compare fixed-size buffers (32-byte scalars), so this is safe.
|
|
9
9
|
*/
|
|
10
10
|
export declare function constantTimeEqual(a: Uint8Array, b: Uint8Array): boolean;
|
|
11
|
+
/**
|
|
12
|
+
* One character class for text that is shown to people: C0 controls, DEL, C1
|
|
13
|
+
* controls, Arabic letter mark (U+061C), zero-width and LRM/RLM (U+200B-U+200F),
|
|
14
|
+
* line/paragraph separators and bidi embeddings/overrides (U+2028-U+202E), and
|
|
15
|
+
* bidi isolates (U+2066-U+2069). Not global: build a `g` copy to strip.
|
|
16
|
+
*/
|
|
17
|
+
export declare const UNSAFE_TEXT_CHARS: RegExp;
|
|
18
|
+
/**
|
|
19
|
+
* `UNSAFE_TEXT_CHARS` minus U+200D (zero-width joiner), which is not a bidi
|
|
20
|
+
* control and is needed for emoji sequences, plus other invisible/deprecated-
|
|
21
|
+
* format characters a label has no legitimate use for: soft hyphen (U+00AD),
|
|
22
|
+
* Mongolian vowel separator (U+180E), word joiner and the deprecated invisible
|
|
23
|
+
* math operators (U+2060-U+2064), and the BOM / zero width no-break space
|
|
24
|
+
* (U+FEFF). This is a fixed denylist only; it does not cover every Unicode
|
|
25
|
+
* "format" (Cf) or Default_Ignorable code point (variation selectors, emoji
|
|
26
|
+
* tag characters, Hangul fillers, Arabic number-sign marks, deprecated music
|
|
27
|
+
* format controls, ...). Use `isSafeLabel` to validate labels \u2014 it checks
|
|
28
|
+
* this denylist plus those two Unicode categories, carving out only the
|
|
29
|
+
* narrow, positionally-constrained exceptions emoji sequences require.
|
|
30
|
+
*/
|
|
31
|
+
export declare const UNSAFE_LABEL_CHARS: RegExp;
|
|
32
|
+
/**
|
|
33
|
+
* A label is unsafe if it contains a lone (unpaired) UTF-16 surrogate, any
|
|
34
|
+
* `UNSAFE_LABEL_CHARS` character, or any Unicode format (Cf) or
|
|
35
|
+
* Default_Ignorable_Code_Point code point, EXCEPT the narrow in-context uses
|
|
36
|
+
* emoji sequences need:
|
|
37
|
+
*
|
|
38
|
+
* 1. U+200D (ZWJ) only between two emoji elements: the code point before it
|
|
39
|
+
* ends in an emoji element (see `endsInEmojiElement`) and the code point
|
|
40
|
+
* after it is Extended_Pictographic. A leading, trailing or doubled ZWJ,
|
|
41
|
+
* or one between ordinary letters, is rejected.
|
|
42
|
+
* 2. U+FE0E / U+FE0F (text/emoji variation selectors) only directly after
|
|
43
|
+
* an Extended_Pictographic code point or a keycap base ([#*0-9]). Every
|
|
44
|
+
* other variation selector (U+FE00-FE0D, U+E0100-E01EF) is rejected
|
|
45
|
+
* everywhere.
|
|
46
|
+
* 3. Tag characters U+E0020-E007E only inside one of the three RGI UK
|
|
47
|
+
* subdivision emoji flag sequences: U+1F3F4 (waving black flag) followed
|
|
48
|
+
* by the exact tag-character spelling of "gbeng", "gbsct" or "gbwls"
|
|
49
|
+
* then the cancel tag U+E007F, with nothing else in between. Any other
|
|
50
|
+
* tag run — a different or misspelled subdivision code, extra or missing
|
|
51
|
+
* tag characters, a hidden payload, a missing/extra cancel tag, or tag
|
|
52
|
+
* characters with no U+1F3F4 base — is rejected, as is U+E0001 anywhere.
|
|
53
|
+
*
|
|
54
|
+
* Iterates by code point, not UTF-16 code unit.
|
|
55
|
+
*/
|
|
56
|
+
export declare function isSafeLabel(label: string): boolean;
|
|
11
57
|
//# sourceMappingURL=utils.d.ts.map
|
package/dist/utils.d.ts.map
CHANGED
|
@@ -1 +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"}
|
|
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;AAED;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,QAA+E,CAAC;AAE9G;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,kBAAkB,QAAyH,CAAC;AAmCzJ;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAwClD"}
|